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:
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.
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.
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 ...