ELTE logo ELTE Eötvös Loránd University
ANNALES Universitatis Scientiarum Budapestinensis de Rolando Eötvös Nominatae
Sectio Computatorica

Volumes » Volume 36 (2012)

https://doi.org/10.71352/ac.36.063

Performance analysis of multi-threaded locking in bucket hash tables

Ákos Dudás, Sándor Kolumbán and Sándor Juhász

Abstract. Data structures, such as hash tables, are often accessed from within critical sections in multi-threaded environments in order to preserve data integrity. The extent of mutual exclusion greatly affects the performance by limiting the level of achievable parallelism. Increasing the resolution of locking allows higher throughput at the cost of increased memory use with all its side effects. Highly concurrent bucket hash tables use fine-grained locking where each lock protects one or a few buckets. In this paper we analyze the behavior or large hash tables with respect to their performance when the granularity of locking changes. We offer a simplified queuing model for estimating the number of locks that the hash table should use for maximum efficiency. The model and its suggestions are evaluated under real-life circumstances by testing a concurrent custom bucket hash table.

Full text PDF
Journal cover