Title
Concurrent Multi-Level Arrays: Wait-Free Extensible Hash Maps
Abstract
In this work we present the first design and implementation of a wait-free hash map. Our multiprocessor data structure allows a large number of threads to concurrently put, get, and remove information. Wait-freedom means that all threads make progress in a finite amount of time - an attribute that can be critical in real-time environments. This is opposed to the traditional blocking implementations of shared data structures which suffer from the negative impact of deadlock and related correctness and performance issues. Our design is portable because we only use atomic operations that are provided by the hardware; therefore, our hash map can be utilized by a variety of data-intensive applications including those within the domains of embedded systems and supercomputers. The challenges of providing this guarantee make the design and implementation of wait-free objects difficult. As such, there are few wait-free data structures described in the literature; in particular, there are no wait-free hash maps. It often becomes necessary to sacrifice performance in order to achieve wait-freedom. However, our experimental evaluation shows that our hash map design is, on average, 5 times faster than a traditional blocking design. Our solution outperforms the best available alternative non-blocking designs in a large majority of cases, typically by a factor of 8 or higher. © 2013 IEEE.
Publication Date
1-1-2013
Publication Title
Proceedings - 2013 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation, IC-SAMOS 2013
Number of Pages
155-163
Document Type
Article; Proceedings Paper
Personal Identifier
scopus
DOI Link
https://doi.org/10.1109/SAMOS.2013.6621118
Copyright Status
Unknown
Socpus ID
84888858955 (Scopus)
Source API URL
https://api.elsevier.com/content/abstract/scopus_id/84888858955
STARS Citation
Feldman, Steven; LaBorde, Pierre; and Dechev, Damian, "Concurrent Multi-Level Arrays: Wait-Free Extensible Hash Maps" (2013). Scopus Export 2010-2014. 7678.
https://stars.library.ucf.edu/scopus2010/7678