Estimations and Limitations of a Many-core System
Let's compare the power consumption of different processors and how it impacts the design requirements of our key-value store.
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 ...
TilePro64 vs. Opteron: Power Consumption
| A | B | C | D | |
| 1 | Architecture | Transactions Per Second (TPS) | Power / TPS | Power (Watt) |
| 2 | TilePro64 | 2000000000 | 0.00002 | f40000 |
| 3 | Opteron | 2000000000 | 0.0001 | f200000 |
Based on the ...