Parallel Combining: Benefits of Explicit Synchronization
Vitaly Aksenov, Petr Kuznetsov, Anatoly Shalyto

TL;DR
This paper introduces parallel combining, a technique that explicitly synchronizes concurrent operations into batches to efficiently implement concurrent data structures, demonstrated through dynamic graph and priority queue examples.
Contribution
The paper presents a novel parallel combining method that leverages explicit synchronization to improve concurrent data structure performance.
Findings
Performance gains over state-of-the-art algorithms
Effective for read-dominated workloads
Applicable to dynamic graphs and priority queues
Abstract
Parallel batched data structures are designed to process synchronized batches of operations in a parallel computing model. In this paper, we propose parallel combining, a technique that implements a concurrent data structure from a parallel batched one. The idea is that we explicitly synchronize concurrent operations into batches: one of the processes becomes a combiner which collects concurrent requests and initiates a parallel batched algorithm involving the owners (clients) of the collected requests. Intuitively, the cost of synchronizing the concurrent calls can be compensated by running the parallel batched algorithm. We validate the intuition via two applications of parallel combining. First, we use our technique to design a concurrent data structure optimized for read-dominated workloads, taking a dynamic graph data structure as an example. Second, we use a novel parallel…
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.
