TL;DR
This paper compares various synchronization techniques for maintaining collection sizes in concurrent data structures, showing that the optimal method depends on contention levels, with no single best approach for all scenarios.
Contribution
It provides a comprehensive evaluation of synchronization methods for concurrent size operations, highlighting their performance trade-offs under different contention conditions.
Findings
Optimistic and lock-based methods excel under low contention.
Handshake and wait-free approaches perform better under high contention.
No single synchronization method is optimal for all scenarios.
Abstract
The size of collections, maps, and data structures in general, constitutes a fundamental property. An implementation of the size method is required in most programming environments. Nevertheless, in a concurrent environment, integrating a linearizable concurrent size introduces a noticeable overhead on all operations of the data structure, even when the size method is not invoked during the execution. In this work we present a study of synchronization methods in an attempt to improve the performance of the data structure. In particular, we study a handshake technique that is commonly used with concurrent garbage collection, an optimistic technique, and a lock-based technique. Evaluation against the state-of-the-art size methodology demonstrates that the overhead can be significantly reduced by selecting the appropriate synchronization approach, but there is no one-size-fits-all method.…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
