Fast concurrent hash tables are an increasingly important building block as we scale systems to greater numbers of cores and threads. This paper presents the design, implementation, and evaluation of a high-throughput and memory-efficient concurrent hash table that supports multiple readers and writers. The design arises from careful attention to systems-level optimizations such as minimizing critical section length and reducing interprocessor coherence traffic through algorithm re-engineering. As part of the architectural basis for this engineering, we include a discussion of our experience and results adopting Intel’s recent hardware transactional memory (HTM) support to this critical building block. We find that naively allowing concurre...
FPGA-based data processing is becoming increasingly relevant in data centers, as the transformation ...
This paper focuses on data structures for multi-core reachability, which is a key component in model...
As core counts increase and as heterogeneity becomes more common in parallel computing, we face the ...
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Com...
We present algorithms for shrinking and expanding a hash table while allowing concurrent, wait-free,...
Abstract—High-performance analytical data processing sys-tems often run on servers with large amount...
Software applications need to change and adapt as modern architectures evolve. Nowadays advancement ...
Various mechanisms providing mutual exclusion and thread synchronization can be used to support para...
CPHash is a concurrent hash table for multicore processors. CPHash partitions its table across the c...
Hash tables have been used frequently to implement organized data table storage. However, there is a...
Hashing has yet to be widely accepted as a component of hard real-time systems and hardware implemen...
Transactional Memory (TM) is an important programming paradigm that can help alleviate difficulties ...
Hashing is one of the fundamental techniques used to implement query processing operators such as gr...
High-performance analytical data processing systems often run on servers with large amounts of memor...
CPHash is a concurrent hash table for multicore processors. CPHash partitions its table across the c...
FPGA-based data processing is becoming increasingly relevant in data centers, as the transformation ...
This paper focuses on data structures for multi-core reachability, which is a key component in model...
As core counts increase and as heterogeneity becomes more common in parallel computing, we face the ...
Thesis: M. Eng., Massachusetts Institute of Technology, Department of Electrical Engineering and Com...
We present algorithms for shrinking and expanding a hash table while allowing concurrent, wait-free,...
Abstract—High-performance analytical data processing sys-tems often run on servers with large amount...
Software applications need to change and adapt as modern architectures evolve. Nowadays advancement ...
Various mechanisms providing mutual exclusion and thread synchronization can be used to support para...
CPHash is a concurrent hash table for multicore processors. CPHash partitions its table across the c...
Hash tables have been used frequently to implement organized data table storage. However, there is a...
Hashing has yet to be widely accepted as a component of hard real-time systems and hardware implemen...
Transactional Memory (TM) is an important programming paradigm that can help alleviate difficulties ...
Hashing is one of the fundamental techniques used to implement query processing operators such as gr...
High-performance analytical data processing systems often run on servers with large amounts of memor...
CPHash is a concurrent hash table for multicore processors. CPHash partitions its table across the c...
FPGA-based data processing is becoming increasingly relevant in data centers, as the transformation ...
This paper focuses on data structures for multi-core reachability, which is a key component in model...
As core counts increase and as heterogeneity becomes more common in parallel computing, we face the ...