Affiliation:
1. Karlsruhe Institute of Technology, Karlsruhe, Germany
Abstract
Data structures for efficient sampling from a set of weighted items are an important building block of many applications. However, few parallel solutions are known. We close many of these gaps. We give efficient, fast, and practicable parallel and distributed algorithms for building data structures that support sampling single items (alias tables, compressed data structures). This also yields a simplified and more space-efficient sequential algorithm for alias table construction. Our approaches to sampling
k
out of
n
items with/without replacement and to subset (Poisson) sampling are
output-sensitive
, i.e., the sampling algorithms use work linear in the number of
different
samples. This is also interesting in the sequential case. Weighted random permutation can be done by sorting appropriate random deviates. We show that this is possible with linear work. Finally, we give a communication-efficient, highly scalable approach to (weighted and unweighted) reservoir sampling. This algorithm is based on a fully distributed model of streaming algorithms that might be of independent interest. Experiments for alias tables and sampling with replacement show near linear speedups using up to 158 threads of shared-memory machines. An experimental evaluation of distributed weighted reservoir sampling on up to 5,120 cores also shows good speedups.
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Reference76 articles.
1. Sequential random sampling
2. Fast Parallel Operations on Search Trees
3. On the amount of dependence in the prime factorization of a uniform random integer;Arratia Richard;Contemporary Combinatorics,2002
4. Sorting networks and their applications
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献