English

Parallel Adaptive Sampling with almost no Synchronization

Distributed, Parallel, and Cluster Computing 2019-03-25 v1

Abstract

Approximation via sampling is a widespread technique whenever exact solutions are too expensive. In this paper, we present techniques for an efficient parallelization of adaptive (a. k. a. progressive) sampling algorithms on multi-threaded shared-memory machines. Our basic algorithmic technique requires no synchronization except for atomic load-acquire and store-release operations. It does, however, require O(n) memory per thread, where n is the size of the sampling state. We present variants of the algorithm that either reduce this memory consumption to O(1) or ensure that deterministic results are obtained. Using the KADABRA algorithm for betweenness centrality (a popular measure in network analysis) approximation as a case study, we demonstrate the empirical performance of our techniques. In particular, on a 32-core machine, our best algorithm is 2.9x faster than what we could achieve using a straightforward OpenMP-based parallelization and 65.3x faster than the existing implementation of KADABRA.

Keywords

Cite

@article{arxiv.1903.09422,
  title  = {Parallel Adaptive Sampling with almost no Synchronization},
  author = {Alexander van der Grinten and Eugenio Angriman and Henning Meyerhenke},
  journal= {arXiv preprint arXiv:1903.09422},
  year   = {2019}
}