8,233 research outputs found
Parallel Weighted Random Sampling
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 both for shared-memory and distributed-memory machines. We give efficient, fast, and practicable algorithms for sampling single items, k items with/without replacement, permutations, subsets, and reservoirs. We also give improved sequential algorithms for alias table construction and for sampling with replacement. Experiments on shared-memory parallel machines with up to 158 threads show near linear speedups both for construction and queries
Scalable Generation of Scale-free Graphs
We explain how massive instances of scale-free graphs following the
Barabasi-Albert model can be generated very quickly in an embarrassingly
parallel way. This makes this popular model available for studying big data
graph problems. As a demonstration, we generated a Petaedge graph in less than
an hour
Fast Parallel Operations on Search Trees
Using (a,b)-trees as an example, we show how to perform a parallel split with
logarithmic latency and parallel join, bulk updates, intersection, union (or
merge), and (symmetric) set difference with logarithmic latency and with
information theoretically optimal work. We present both asymptotically optimal
solutions and simplified versions that perform well in practice - they are
several times faster than previous implementations
PReaCH: A Fast Lightweight Reachability Index using Pruning and Contraction Hierarchies
We develop the data structure PReaCH (for Pruned Reachability Contraction
Hierarchies) which supports reachability queries in a directed graph, i.e., it
supports queries that ask whether two nodes in the graph are connected by a
directed path. PReaCH adapts the contraction hierarchy speedup techniques for
shortest path queries to the reachability setting. The resulting approach is
surprisingly simple and guarantees linear space and near linear preprocessing
time. Orthogonally to that, we improve existing pruning techniques for the
search by gathering more information from a single DFS-traversal of the graph.
PReaCH-indices significantly outperform previous data structures with
comparable preprocessing cost. Methods with faster queries need significantly
more preprocessing time in particular for the most difficult instances
(Semi-)External Algorithms for Graph Partitioning and Clustering
In this paper, we develop semi-external and external memory algorithms for
graph partitioning and clustering problems. Graph partitioning and clustering
are key tools for processing and analyzing large complex networks. We address
both problems in the (semi-)external model by adapting the size-constrained
label propagation technique. Our (semi-)external size-constrained label
propagation algorithm can be used to compute graph clusterings and is a
prerequisite for the (semi-)external graph partitioning algorithm. The
algorithm is then used for both the coarsening and the refinement phase of a
multilevel algorithm to compute graph partitions. Our algorithm is able to
partition and cluster huge complex networks with billions of edges on cheap
commodity machines. Experiments demonstrate that the semi-external graph
partitioning algorithm is scalable and can compute high quality partitions in
time that is comparable to the running time of an efficient internal memory
implementation. A parallelization of the algorithm in the semi-external model
further reduces running time
HordeSat: A Massively Parallel Portfolio SAT Solver
A simple yet successful approach to parallel satisfiability (SAT) solving is
to run several different (a portfolio of) SAT solvers on the input problem at
the same time until one solver finds a solution. The SAT solvers in the
portfolio can be instances of a single solver with different configuration
settings. Additionally the solvers can exchange information usually in the form
of clauses. In this paper we investigate whether this approach is applicable in
the case of massively parallel SAT solving. Our solver is intended to run on
clusters with thousands of processors, hence the name HordeSat. HordeSat is a
fully distributed portfolio-based SAT solver with a modular design that allows
it to use any SAT solver that implements a given interface. HordeSat has a
decentralized design and features hierarchical parallelism with interleaved
communication and search. We experimentally evaluated it using all the
benchmark problems from the application tracks of the 2011 and 2014
International SAT Competitions. The experiments demonstrate that HordeSat is
scalable up to hundreds or even thousands of processors achieving significant
speedups especially for hard instances.Comment: Accepted for SAT 201
Parallel Graph Partitioning for Complex Networks
Processing large complex networks like social networks or web graphs has
recently attracted considerable interest. In order to do this in parallel, we
need to partition them into pieces of about equal size. Unfortunately, previous
parallel graph partitioners originally developed for more regular mesh-like
networks do not work well for these networks. This paper addresses this problem
by parallelizing and adapting the label propagation technique originally
developed for graph clustering. By introducing size constraints, label
propagation becomes applicable for both the coarsening and the refinement phase
of multilevel graph partitioning. We obtain very high quality by applying a
highly parallel evolutionary algorithm to the coarsened graph. The resulting
system is both more scalable and achieves higher quality than state-of-the-art
systems like ParMetis or PT-Scotch. For large complex networks the performance
differences are very big. For example, our algorithm can partition a web graph
with 3.3 billion edges in less than sixteen seconds using 512 cores of a high
performance cluster while producing a high quality partition -- none of the
competing systems can handle this graph on our system.Comment: Review article. Parallelization of our previous approach
arXiv:1402.328
- …
