TY - GEN
T1 - Snapshot-Based Synchronization
T2 - 24th International European Conference on Parallel and Distributed Computing, Euro-Par 2018
AU - Gilad, Eran
AU - Brown, Trevor
AU - Oskin, Mark
AU - Etsion, Yoav
N1 - Publisher Copyright: © 2018, Springer International Publishing AG, part of Springer Nature.
PY - 2018
Y1 - 2018
N2 - Concurrent accesses to shared data structures must be synchronized to avoid data races. Coarse-grained synchronization, which locks the entire data structure, is easy to implement but does not scale. Fine-grained synchronization can scale well, but can be hard to reason about. Hand-over-hand locking, in which operations are pipelined as they traverse the data structure, combines fine-grained synchronization with ease of use. However, the traditional implementation suffers from inherent overheads. This paper introduces snapshot-based synchronization (SBS), a novel hand-over-hand locking mechanism. SBS decouples the synchronization state from the data, significantly improving cache utilization. Further, it relies on guarantees provided by pipelining to minimize synchronization that requires cross-thread communication. Snapshot-based synchronization thus scales much better than traditional hand-over-hand locking, while maintaining the same ease of use.
AB - Concurrent accesses to shared data structures must be synchronized to avoid data races. Coarse-grained synchronization, which locks the entire data structure, is easy to implement but does not scale. Fine-grained synchronization can scale well, but can be hard to reason about. Hand-over-hand locking, in which operations are pipelined as they traverse the data structure, combines fine-grained synchronization with ease of use. However, the traditional implementation suffers from inherent overheads. This paper introduces snapshot-based synchronization (SBS), a novel hand-over-hand locking mechanism. SBS decouples the synchronization state from the data, significantly improving cache utilization. Further, it relies on guarantees provided by pipelining to minimize synchronization that requires cross-thread communication. Snapshot-based synchronization thus scales much better than traditional hand-over-hand locking, while maintaining the same ease of use.
UR - http://www.scopus.com/inward/record.url?scp=85052935507&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-96983-1_33
DO - 10.1007/978-3-319-96983-1_33
M3 - منشور من مؤتمر
SN - 9783319969824
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 465
EP - 479
BT - Euro-Par 2018
A2 - Torquati, Massimo
A2 - Aldinucci, Marco
A2 - Padovani, Luca
Y2 - 27 August 2018 through 31 August 2018
ER -