Search⌘ K
AI Features

Estimations and Limitations of a Many-core System

Understand the power consumption and node requirements of efficient many-core key-value stores compared to standard multi-core systems. Learn about challenges like memory limitations, multi-threading locks, and task allocation in designing scalable, power-efficient Memcached implementations for large-scale distributed systems.

In this lesson, we will estimate how using a key-value server with an efficient processor impacts the system. To do this, we will be comparing the power consumption of two systems:

  1. TilePro64: This system will use a lower-clocked, power-efficient 64-core processor with the Tile 32-bit architecture and has an optimized version of Memcached for higher parallel data access.

  2. Opteron: This system will use a higher-clocked, power-hungry, octa-core processor with an x86 64-bit architecture and has a standard multi-threaded version of Memcached.

Once we understand the relative benefits of the two systems, we can start figuring out the higher-level design.

Opteron vs. TilePro64 (shown with less than 64 cores for illustrative purposes only)
Opteron vs. TilePro64 (shown with less than 64 cores for illustrative purposes only)

Estimations

Let's assume that Facebook receives 2 billion daily active users (DAU). Now, the worst case would be that all of the DAUs have sent requests simultaneously. So, we need a Memcached system that can handle this peak load of 2 billion requests per second.

The following calculator widgets help us change different values to see their effect. The default values (for example, power per transaction per second (power/TPS)) are taken from this ...