TY - GEN
T1 - Parallel combining
T2 - 22nd International Conference on Principles of Distributed Systems, OPODIS 2018
AU - Aksenov, Vitaly
AU - Kuznetsov, Petr
AU - Shalyto, Anatoly
N1 - Publisher Copyright:
© Vitaly Aksenov, Petr Kuznetsov, and Anatoly Shalyto.
PY - 2019/1/1
Y1 - 2019/1/1
N2 - A parallel batched data structure is designed to process synchronized batches of operations on the data structure using a parallel program. 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. First, we use parallel combining 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 batched priority queue to build a concurrent one. In both cases, we obtain performance gains with respect to the state-of-the-art algorithms.
AB - A parallel batched data structure is designed to process synchronized batches of operations on the data structure using a parallel program. 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. First, we use parallel combining 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 batched priority queue to build a concurrent one. In both cases, we obtain performance gains with respect to the state-of-the-art algorithms.
KW - Combining
KW - Concurrent data structure
KW - Parallel batched data structure
UR - https://www.scopus.com/pages/publications/85068089312
U2 - 10.4230/LIPIcs.OPODIS.2018.11
DO - 10.4230/LIPIcs.OPODIS.2018.11
M3 - Conference contribution
AN - SCOPUS:85068089312
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 22nd International Conference on Principles of Distributed Systems, OPODIS 2018
A2 - Cao, Jiannong
A2 - Ellen, Faith
A2 - Rodrigues, Luis
A2 - Ferreira, Bernardo
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Y2 - 17 December 2018 through 19 December 2018
ER -