dc.contributor.advisor | Nickolai Zeldovich | |
dc.contributor.author | Metreveli, Zviad | en_US |
dc.contributor.author | Zeldovich, Nickolai | en_US |
dc.contributor.author | Kaashoek, M. Frans | en_US |
dc.contributor.other | Parallel and Distributed Operating Systems | en |
dc.date.accessioned | 2011-11-28T18:30:04Z | |
dc.date.available | 2011-11-28T18:30:04Z | |
dc.date.issued | 2011-11-26 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/67296 | |
dc.description.abstract | CPHash is a concurrent hash table for multicore processors. CPHash partitions its table across the caches of cores and uses message passing to transfer lookups/inserts to a partition. CPHash's message passing avoids the need for locks, pipelines batches of asynchronous messages, and packs multiple messages into a single cache line transfer. Experiments on a 80-core machine with 2 hardware threads per core show that CPHash has ~1.6x higher throughput than a hash table implemented using fine-grained locks. An analysis shows that CPHash wins because it experiences fewer cache misses and its cache misses are less expensive, because of less contention for the on-chip interconnect and DRAM. CPServer, a key/value cache server using CPHash, achieves ~5% higher throughput than a key/value cache server that uses a hash table with fine-grained locks, but both achieve better throughput and scalability than memcached. Finally, the throughput of CPHash and CPServer scales near-linearly with the number of cores. | en_US |
dc.description.sponsorship | This work was partially supported by Quanta Computer and by NSF award 915164. | en |
dc.format.extent | 10 p. | en_US |
dc.relation.ispartofseries | MIT-CSAIL-TR-2011-051 | |
dc.title | CPHash: A Cache-Partitioned Hash Table | en_US |
dc.language.rfc3066 | en-US | |