
TL;DR
This paper introduces a novel flat parallelization technique combining flat combining with parallel bulk updates to improve performance of concurrency-ambivalent data structures, demonstrated on heap-based priority queues.
Contribution
It proposes a new synchronization method that unites flat combining with parallel batching, enhancing efficiency for data structures with mixed concurrent operation characteristics.
Findings
The flat parallelization algorithm outperforms existing priority queue implementations.
Parallel batching improves performance for insert operations.
Sequential combining benefits remove operations with high conflict potential.
Abstract
There are two intertwined factors that affect performance of concurrent data structures: the ability of processes to access the data in parallel and the cost of synchronization. It has been observed that for a large class of "concurrency-unfriendly" data structures, fine-grained parallelization does not pay off: an implementation based on a single global lock outperforms fine-grained solutions. The flat combining paradigm exploits this by ensuring that a thread holding the global lock sequentially combines requests and then executes the combined requests on behalf of concurrent threads. In this paper, we propose a synchronization technique that unites flat combining and parallel bulk updates borrowed from parallel algorithms designed for the PRAM model. The idea is that the combiner thread assigns waiting threads to perform concurrent requests in parallel. We foresee the technique…
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.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Parallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems
