51,904 research outputs found
Mapping Unstructured Parallelism to Series-Parallel DAGs
Many parallel programming languages allow programmers to describe parallelism by using constructs such as fork/join. When executed, such programs can be modeled as directed graphs, with nodes representing a computation and edges representing the sequence and dependency. However, because it does not coerce regularity in the computation, the general model is not amenable to efficient execution of the resulting program. Therefore, a more restrictive model called Series-Parallel DAG (Directed Acyclic Graph) has been proposed and adopted by several major parallel languages. As reported by the Cilk developers, many parallel computations can be easily expressed in the series-parallel model, and there are provably efficient scheduling algorithms for the SP DAGs. Nevertheless, it remains open how much inherent parallelism will be lost when conforming to the model, because expressing a computation in the series-parallel model may also induce performance losses. We will show that any general DAG can be converted into an SP DAG without violating the original precedence relations; moreover, the conversion can be carried out in essentially linear time and space, and the resulting DAG exhibits little loss in the parallelism. Since the resulting SP DAG can then be executed with high efficiency, it implies that the languages based on SP DAGs are not as restrictive as they were thought to be.Singapore-MIT Alliance (SMA
Shortest Beer Path Queries based on Graph Decomposition
Given a directed edge-weighted graph with beer vertices
, a beer path between two vertices and is a path between
and that visits at least one beer vertex in , and the beer distance
between two vertices is the shortest length of beer paths. We consider
\emph{indexing problems} on beer paths, that is, a graph is given a priori, and
we construct some data structures (called indexes) for the graph. Then later,
we are given two vertices, and we find the beer distance or beer path between
them using the data structure. For such a scheme, efficient algorithms using
indexes for the beer distance and beer path queries have been proposed for
outerplanar graphs and interval graphs. For example, Bacic et al. (2021)
present indexes with size for outerplanar graphs and an algorithm using
them that answers the beer distance between given two vertices in
time, where is the inverse Ackermann function;
the performance is shown to be optimal. This paper proposes indexing data
structures and algorithms for beer path queries on general graphs based on two
types of graph decomposition: the tree decomposition and the triconnected
component decomposition. We propose indexes with size based on the
triconnected component decomposition, where is the size of the largest
triconnected component. For a given query , our algorithm using the
indexes can output the beer distance in query time . In
particular, our indexing data structures and algorithms achieve the optimal
performance (the space and the query time) for series-parallel graphs, which is
a wider class of outerplanar graphs.Comment: 25 pages, 9 figure
Theoretically Efficient Parallel Graph Algorithms Can Be Fast and Scalable
There has been significant recent interest in parallel graph processing due
to the need to quickly analyze the large graphs available today. Many graph
codes have been designed for distributed memory or external memory. However,
today even the largest publicly-available real-world graph (the Hyperlink Web
graph with over 3.5 billion vertices and 128 billion edges) can fit in the
memory of a single commodity multicore server. Nevertheless, most experimental
work in the literature report results on much smaller graphs, and the ones for
the Hyperlink graph use distributed or external memory. Therefore, it is
natural to ask whether we can efficiently solve a broad class of graph problems
on this graph in memory.
This paper shows that theoretically-efficient parallel graph algorithms can
scale to the largest publicly-available graphs using a single machine with a
terabyte of RAM, processing them in minutes. We give implementations of
theoretically-efficient parallel algorithms for 20 important graph problems. We
also present the optimizations and techniques that we used in our
implementations, which were crucial in enabling us to process these large
graphs quickly. We show that the running times of our implementations
outperform existing state-of-the-art implementations on the largest real-world
graphs. For many of the problems that we consider, this is the first time they
have been solved on graphs at this scale. We have made the implementations
developed in this work publicly-available as the Graph-Based Benchmark Suite
(GBBS).Comment: This is the full version of the paper appearing in the ACM Symposium
on Parallelism in Algorithms and Architectures (SPAA), 201
Route Planning in Transportation Networks
We survey recent advances in algorithms for route planning in transportation
networks. For road networks, we show that one can compute driving directions in
milliseconds or less even at continental scale. A variety of techniques provide
different trade-offs between preprocessing effort, space requirements, and
query time. Some algorithms can answer queries in a fraction of a microsecond,
while others can deal efficiently with real-time traffic. Journey planning on
public transportation systems, although conceptually similar, is a
significantly harder problem due to its inherent time-dependent and
multicriteria nature. Although exact algorithms are fast enough for interactive
queries on metropolitan transit systems, dealing with continent-sized instances
requires simplifications or heavy preprocessing. The multimodal route planning
problem, which seeks journeys combining schedule-based transportation (buses,
trains) with unrestricted modes (walking, driving), is even harder, relying on
approximate solutions even for metropolitan inputs.Comment: This is an updated version of the technical report MSR-TR-2014-4,
previously published by Microsoft Research. This work was mostly done while
the authors Daniel Delling, Andrew Goldberg, and Renato F. Werneck were at
Microsoft Research Silicon Valle
Equivalence Classes and Conditional Hardness in Massively Parallel Computations
The Massively Parallel Computation (MPC) model serves as a common abstraction of many modern large-scale data processing frameworks, and has been receiving increasingly more attention over the past few years, especially in the context of classical graph problems. So far, the only way to argue lower bounds for this model is to condition on conjectures about the hardness of some specific problems, such as graph connectivity on promise graphs that are either one cycle or two cycles, usually called the one cycle vs. two cycles problem. This is unlike the traditional arguments based on conjectures about complexity classes (e.g., P ? NP), which are often more robust in the sense that refuting them would lead to groundbreaking algorithms for a whole bunch of problems.
In this paper we present connections between problems and classes of problems that allow the latter type of arguments. These connections concern the class of problems solvable in a sublogarithmic amount of rounds in the MPC model, denoted by MPC(o(log N)), and some standard classes concerning space complexity, namely L and NL, and suggest conjectures that are robust in the sense that refuting them would lead to many surprisingly fast new algorithms in the MPC model. We also obtain new conditional lower bounds, and prove new reductions and equivalences between problems in the MPC model
Log-space Algorithms for Paths and Matchings in k-trees
Reachability and shortest path problems are NL-complete for general graphs.
They are known to be in L for graphs of tree-width 2 [JT07]. However, for
graphs of tree-width larger than 2, no bound better than NL is known. In this
paper, we improve these bounds for k-trees, where k is a constant. In
particular, the main results of our paper are log-space algorithms for
reachability in directed k-trees, and for computation of shortest and longest
paths in directed acyclic k-trees.
Besides the path problems mentioned above, we also consider the problem of
deciding whether a k-tree has a perfect macthing (decision version), and if so,
finding a perfect match- ing (search version), and prove that these two
problems are L-complete. These problems are known to be in P and in RNC for
general graphs, and in SPL for planar bipartite graphs [DKR08].
Our results settle the complexity of these problems for the class of k-trees.
The results are also applicable for bounded tree-width graphs, when a
tree-decomposition is given as input. The technique central to our algorithms
is a careful implementation of divide-and-conquer approach in log-space, along
with some ideas from [JT07] and [LMR07].Comment: Accepted in STACS 201
- …