@inproceedings{f03ca073ec604f0dbf8ba345f81e2888,
title = "Parallel combining: Benefits of explicit synchronization",
abstract = "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.",
keywords = "Combining, Concurrent data structure, Parallel batched data structure",
author = "Vitaly Aksenov and Petr Kuznetsov and Anatoly Shalyto",
note = "Publisher Copyright: {\textcopyright} Vitaly Aksenov, Petr Kuznetsov, and Anatoly Shalyto.; 22nd International Conference on Principles of Distributed Systems, OPODIS 2018 ; Conference date: 17-12-2018 Through 19-12-2018",
year = "2019",
month = jan,
day = "1",
doi = "10.4230/LIPIcs.OPODIS.2018.11",
language = "English",
series = "Leibniz International Proceedings in Informatics, LIPIcs",
publisher = "Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing",
editor = "Jiannong Cao and Faith Ellen and Luis Rodrigues and Bernardo Ferreira",
booktitle = "22nd International Conference on Principles of Distributed Systems, OPODIS 2018",
}