Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. Computer Science and Artificial Intelligence Lab (CSAIL)
  3. CSAIL Digital Archive
  4. CSAIL Technical Reports (July 1, 2003 - present)
  5. CPHash: A Cache-Partitioned Hash Table

CPHash: A Cache-Partitioned Hash Table

Thumbnail Image
Download
Name

MIT-CSAIL-TR-2011-051.pdf

Size

428.83 KB

Format

Adobe PDF

Checksum (MD5)

aa735bb66a63d24d49718074f65e2a1a

Author(s)
Metreveli, Zviad
•
Zeldovich, Nickolai
•
Kaashoek, M. Frans
Advisor(s)
Nickolai Zeldovich
Date Issued
November 26, 2011
Series/Report no.
MIT-CSAIL-TR-2011-051
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.
Persistent DSpace Link
http://hdl.handle.net/1721.1/67296
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.