CPHash: A Cache-Partitioned Hash Table with LRU Eviction
Zviad Metreveli · 2011
In this thesis we introduce CPHash − a scalable fixed size hash table that supports eviction using an LRU list, and CPServer − a scalable in memory key/value cache server that uses CPHash to implement its hash table. CPHash uses computation migration to avoid transferring data between cores. Experiments on a 48 core machine show that CPHash has 2 to 3 times higher throughput than a hash table implemented using scalable fine-grained locks. CPServer achieves 1.2 to 1.7 times higher throughput than a key/value cache server that uses a hash table with scalable fine-grained locks and 1.5 to 2.6 times higher throughput than Memcached. Thesis Supervisor: M. Frans Kaashoek Title: Professor Thesis Supervisor: Nickolai Zeldovich Title: Assistant Professor