Results 1  10
of
16
Simplified Distributed LTL Model Checking by Localizing Cycles
, 2002
"... Distributed Model Checking avoids the state explosion problem by using the computational resources of parallel environments LTL model checking mainly entails detecting accepting cycles in a state transition graph. The nested depthfirst search algorithm used for this purpose is difficult to parallel ..."
Abstract

Cited by 12 (0 self)
 Add to MetaCart
Distributed Model Checking avoids the state explosion problem by using the computational resources of parallel environments LTL model checking mainly entails detecting accepting cycles in a state transition graph. The nested depthfirst search algorithm used for this purpose is difficult to parallelize since it is based on the depthfirst search traversal order which is inherently sequential. Proposed solutions make use of data structures and synchronization mechanisms in order to preserve the depthfirst order. We propose a simple distributed algorithm that assumes cycles to be localized by the partition function. Cycles can then be checked without requiring particular synchronization mechanisms. Methods for constructing such kind of partition functions are also proposed.
A HighLevel Framework for Distributed Processing of LargeScale Graphs
"... Abstract. Distributed processing of realworld graphs is challenging due to their size and the inherent irregular structure of graph computations. We present HIPG, a distributed framework that facilitates highlevel programming of parallel graph algorithms by expressing them as a hierarchy of distri ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Abstract. Distributed processing of realworld graphs is challenging due to their size and the inherent irregular structure of graph computations. We present HIPG, a distributed framework that facilitates highlevel programming of parallel graph algorithms by expressing them as a hierarchy of distributed computations executed independently and managed by the user. HIPG programs are in general short and elegant; they achieve good portability, memory utilization and performance. 1
A DivideAndConquer Algorithm For Identifying Strongly Connected Components
"... . The standard serial algorithm for strongly connected components has linear complexity and is based on depth first search. Unfortunately, depth first search is difficult to parallelize. We describe a divideandconquer algorithm for this problem which has significantly greater potential for paral ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
. The standard serial algorithm for strongly connected components has linear complexity and is based on depth first search. Unfortunately, depth first search is difficult to parallelize. We describe a divideandconquer algorithm for this problem which has significantly greater potential for parallelization. We show the expected serial running time of our algorithm to be O(jEj log jV j). We also present a variant of our algorithm that has O(jEj log jV j) worstcase complexity. Key words. Strongly connected components, divideandconquer, parallel algorithm, discrete ordinates method AMS subject classifications. 05C85, 05C38, 68W10, 68W20 1. Introduction. A strongly connected component of a directed graph is a maximal subset of vertices containing a directed path from each vertex to all others in the subset. The vertices of any directed graph can be partitioned into a set of disjoint strongly connected components. This decomposition is a fundamental tool in graph theory with app...
SingleSource Shortest Paths with the Parallel Boost Graph Library
"... The Parallel Boost Graph Library (Parallel BGL) is a library of graph algorithms and data structures for distributedmemory computation on large graphs. Developed with the Generic Programming paradigm, the Parallel BGL is highly customizable, supporting various graph data structures, arbitrary verte ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
The Parallel Boost Graph Library (Parallel BGL) is a library of graph algorithms and data structures for distributedmemory computation on large graphs. Developed with the Generic Programming paradigm, the Parallel BGL is highly customizable, supporting various graph data structures, arbitrary vertex and edge properties, and different communication media. In this paper, we describe the implementation of two parallel variants of Dijkstra’s singlesource shortest paths algorithm in the Parallel BGL. We also provide an experimental evaluation of these implementations using synthetic and realworld benchmark graphs from the 9 th DIMACS Implementation Challenge. 1
Finding strongly connected components in distributed graphs
 J. Parallel Distrib. Comput
"... The traditional, serial, algorithm for finding the strongly connected components in a graph is based on depth first search and has complexity which is linear in the size of the graph. Depth first search is difficult to parallelize, which creates a need for a different parallel algorithm for this pro ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
The traditional, serial, algorithm for finding the strongly connected components in a graph is based on depth first search and has complexity which is linear in the size of the graph. Depth first search is difficult to parallelize, which creates a need for a different parallel algorithm for this problem. We describe the implementation of a recently proposed parallel algorithm that finds strongly connected components in distributed graphs, and discuss how it is used in a radiation transport solver. 1
Finding Strongly Connected Components in Parallel in Particle Transport Sweeps
, 2001
"... Discrete ordinates methods are commonly used to simulate radiation transport for fire or weapons modeling. The computation proceeds by sweeping the flux across a grid. A particular cell can't be computed until all the cells immediately upwind of it are finished. If the directed dependence graph for ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Discrete ordinates methods are commonly used to simulate radiation transport for fire or weapons modeling. The computation proceeds by sweeping the flux across a grid. A particular cell can't be computed until all the cells immediately upwind of it are finished. If the directed dependence graph for the grid cells contains a cycle then sweeping methods will deadlock. This can happen in unstructured grids and time stepped problems where the grid is allowed to deform.
HipG: Parallel Processing of LargeScale Graphs
"... Distributed processing of realworld graphs is challenging duetotheirsizeandtheinherentirregularstructureofgraph computations. We present HipG, a distributed framework that facilitates programming parallel graph algorithms by composing the parallel application automatically from the userdefined pie ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Distributed processing of realworld graphs is challenging duetotheirsizeandtheinherentirregularstructureofgraph computations. We present HipG, a distributed framework that facilitates programming parallel graph algorithms by composing the parallel application automatically from the userdefined pieces of sequential work on graph nodes. To make the user code highlevel, the framework provides a unified interface to executing methods on local and nonlocal graph nodes and an abstraction of exclusive execution. The graph computations are managed by logical objects called synchronizers, which we used, for example, to implement distributed divideandconquer decomposition into strongly connected components. The code written in HipG is independent of a particular graph representation, to the point that the graph can be created onthefly, i.e. by the algorithm that computes on this graph, which we used to implement a distributed model checker. HipG programs are in general short and elegant; they achieve good portability, memory utilization, and performance. 1.
Finding Strongly Connected Components in Parallel using O(log 2 n) Reachability Queries
, 2007
"... We give a randomized (LasVegas) parallel algorithm for computing strongly connected components of a graph with n vertices and m edges. The runtime is dominated by O(log 2 n) parallel reachability queries; i.e. O(log 2 n) calls to a subroutine that computes the descendants of a given vertex in a giv ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We give a randomized (LasVegas) parallel algorithm for computing strongly connected components of a graph with n vertices and m edges. The runtime is dominated by O(log 2 n) parallel reachability queries; i.e. O(log 2 n) calls to a subroutine that computes the descendants of a given vertex in a given digraph. Our algorithm also topologically sorts the strongly connected components. Using Ullman and Yannakakis’s [21] techniques for the reachability subroutine gives our algorithm runtime Õ(t) using mn/t2 processors for any (n 2 /m) 1/3 ≤ t ≤ n. On sparse graphs, this improves the number of processors needed to compute strongly connected components and topological sort within time n 1/3 ≤ t ≤ n from the previously best known (n/t) 3 [19] to (n/t) 2. 1 Introduction and main results Breadthfirst and depthfirst search have many applications in the analysis of directed graphs. Breadthfirst search can be used to compute the vertices that are reachable from a given vertex and directed spanning trees. Depthfirst search can: solve these problems, determine if a graph is acyclic, topologically sort an acyclic graph and compute strongly connected components (SCCs) [20]. Efforts