dc.contributor.author | Metreveli, Zviad | |
dc.contributor.author | Zeldovich, Nickolai | |
dc.contributor.author | Kaashoek, M. Frans | |
dc.date.accessioned | 2012-09-11T15:15:28Z | |
dc.date.available | 2012-09-11T15:15:28Z | |
dc.date.issued | 2012-02 | |
dc.identifier.issn | 978-1-4503-1160-1 | |
dc.identifier.uri | http://hdl.handle.net/1721.1/72613 | |
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. The throughput of CPHash and CPServer also scale near-linearly with the number of cores. | en_US |
dc.description.sponsorship | Quanta Computer (Firm) | en_US |
dc.description.sponsorship | National Science Foundation (U.S.). (Award 915164) | en_US |
dc.language.iso | en_US | |
dc.publisher | Association for Computing Machinery (ACM) | en_US |
dc.relation.isversionof | http://dx.doi.org/10.1145/2145816.2145874 | en_US |
dc.rights | Creative Commons Attribution-Noncommercial-Share Alike 3.0 | en_US |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/3.0/ | en_US |
dc.source | MIT web domain | en_US |
dc.title | CPHASH: A cache-partitioned hash table | en_US |
dc.type | Article | en_US |
dc.identifier.citation | Zviad Metreveli, Nickolai Zeldovich, and M. Frans Kaashoek. 2012. CPHASH: a cache-partitioned hash table. In Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP '12). ACM, New York, NY, USA, 319-320. | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory | en_US |
dc.contributor.department | Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science | en_US |
dc.contributor.approver | Kaashoek, M. Frans | |
dc.contributor.mitauthor | Metreveli, Zviad | |
dc.contributor.mitauthor | Zeldovich, Nickolai | |
dc.contributor.mitauthor | Kaashoek, M. Frans | |
dc.relation.journal | Proceedings of the 17th ACM SIGPLAN symposium on Principles and Practice of Parallel Programming (PPoPP '12) | en_US |
dc.eprint.version | Author's final manuscript | en_US |
dc.type.uri | http://purl.org/eprint/type/ConferencePaper | en_US |
dspace.orderedauthors | Metreveli, Zviad; Zeldovich, Nickolai; Kaashoek, M. Frans | en |
dc.identifier.orcid | https://orcid.org/0000-0003-0238-2703 | |
dc.identifier.orcid | https://orcid.org/0000-0001-7098-586X | |
mit.license | OPEN_ACCESS_POLICY | en_US |
mit.metadata.status | Complete | |