Results 1  10
of
40
The MultiTree Approach to Reliability in Distributed Networks
 Information and Computation
, 1984
"... Consider a network of asynchronous processors communicating by sending messages over unreliable lines. There are many advantages to restricting all communications to a spanning tree. To overcome the possible failure of k
Abstract

Cited by 60 (1 self)
 Add to MetaCart
Consider a network of asynchronous processors communicating by sending messages over unreliable lines. There are many advantages to restricting all communications to a spanning tree. To overcome the possible failure of k <k edges, we describe a communication protocol which uses k rooted spanning trees having the property that for every vertex v the paths from v to the root are edgedisjoint. An algorithm to find two such trees in a 2 edgeconnected graph is described that runs in time proportional to the number of edges in the graph. This algorithm has a distributed version which finds the two trees even when a single edge fails during their construction. The two trees them may be used to transform certain centralized algorithms to distributed, reliable and efficient ones.  1  1. INTRODUCTION Consider a network G=(V ,E ) of n = V asynchronous processors (or vertices) connected by e = E edges. The network may be used to conduct a computation which cannot be done in a single pr...
A Fast, Parallel Spanning Tree Algorithm for Symmetric Multiprocessors (SMPs) (Extended Abstract)
, 2004
"... Our study in this paper focuses on implementing parallel spanning tree algorithms on SMPs. Spanning tree is an important problem in the sense that it is the building block for many other parallel graph algorithms and also because it is representative of a large class of irregular combinatorial probl ..."
Abstract

Cited by 31 (11 self)
 Add to MetaCart
Our study in this paper focuses on implementing parallel spanning tree algorithms on SMPs. Spanning tree is an important problem in the sense that it is the building block for many other parallel graph algorithms and also because it is representative of a large class of irregular combinatorial problems that have simple and efficient sequential implementations and fast PRAM algorithms, but often have no known efficient parallel implementations. In this paper we present a new randomized algorithm and implementation with superior performance that for the firsttime achieves parallel speedup on arbitrary graphs (both regular and irregular topologies) when compared with the best sequential implementation for finding a spanning tree. This new algorithm uses several techniques to give an expected running time that scales linearly with the number p of processors for suitably large inputs (n> p 2). As the spanning tree problem is notoriously hard for any parallel implementation to achieve reasonable speedup, our study may shed new light on implementing PRAM algorithms for sharedmemory parallel computers. The main results of this paper are 1. A new and practical spanning tree algorithm for symmetric multiprocessors that exhibits parallel speedups on graphs with regular and irregular topologies; and 2. An experimental study of parallel spanning tree algorithms that reveals the superior performance of our new approach compared with the previous algorithms. The source code for these algorithms is freelyavailable from our web site hpc.ece.unm.edu.
Structuring DepthFirst Search Algorithms in Haskell
, 1995
"... Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct alg ..."
Abstract

Cited by 26 (0 self)
 Add to MetaCart
Depthfirst search is the key to a wide variety of graph algorithms. In this paper we express depthfirst search in a lazy functional language, obtaining a lineartime implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct algorithms from individual reusable components. This style of algorithm construction turns out to be quite amenable to formal proof, which we exemplify through a calculationalstyle proof of a far from obvious stronglyconnected components algorithm. Classifications: Computing Paradigms (functional programming) ; Environments, Implementations, and Experience (programming, graph algorithms). 1 Introduction The importance of depthfirst search (DFS) for graph algorithms was established twenty years ago by Tarjan (1972) and Hopcroft and Tarjan (1973) in their seminal work. They demonstrated how depthfirst search could be used to construct a variety of efficient graph algorithms. In practice, this...
On Identifying Strongly Connected Components in Parallel
, 2000
"... . The standard serial algorithm for strongly connected components is based on depth first search, which is difficult to parallelize. We describe a divideandconquer algorithm for this problem which has significantly greater potential for parallelization. For a graph with n vertices in which deg ..."
Abstract

Cited by 23 (4 self)
 Add to MetaCart
. The standard serial algorithm for strongly connected components is based on depth first search, which is difficult to parallelize. We describe a divideandconquer algorithm for this problem which has significantly greater potential for parallelization. For a graph with n vertices in which degrees are bounded by a constant, we show the expected serial running time of our algorithm to be O(n log n). 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 applications in compiler analysis, data mining, scientific computing and other areas. The definitive serial algorithm for identifying strongly connected components is due to Tarjan [15] and is built on a depth first search of the graph. For a grap...
Largescale directed model checking LTL
 In Model Checking Software (SPIN
, 2006
"... Abstract. To analyze larger models for explicitstate model checking, directed model checking applies errorguided search, external model checking uses secondary storage media, and distributed model checking exploits parallel exploration on multiple processors. In this paper we propose an external, ..."
Abstract

Cited by 22 (8 self)
 Add to MetaCart
Abstract. To analyze larger models for explicitstate model checking, directed model checking applies errorguided search, external model checking uses secondary storage media, and distributed model checking exploits parallel exploration on multiple processors. In this paper we propose an external, distributed and directed onthefly model checking algorithm to check general LTL properties in the model checker SPIN. Previous attempts restricted to checking safety properties. The worstcase I/O complexity is bounded by O(sort(FR)/p + l · scan(FS)), where S and R are the sets of visited states and transitions in the synchronized product of the Büchi automata for the model and the property specification, F is the number of accepting states, l is the length of the shortest counterexample, and p is the number of processors. The algorithm we propose returns minimal lassoshaped counterexamples and includes refinements for propertydriven exploration. 1
Parallel External Directed Model Checking with Linear I/O
 In VMCAI
, 2006
"... In this paper we present Parallel External A*, a parallel variant of external memory directed model checking. As a model scales up, its successors generation becomes complex and, in turn, starts to impact the running time of the model checker. Probings of our external memory model checker IOHSF ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
In this paper we present Parallel External A*, a parallel variant of external memory directed model checking. As a model scales up, its successors generation becomes complex and, in turn, starts to impact the running time of the model checker. Probings of our external memory model checker IOHSFSPIN revealed that in some of the cases about 70% of the whole running time was consumed in the internal processing.
Connected Components in O(log 3/2 n) Parallel Time for the CREW PRAM
"... Finding the connected components of an undirected graph G = (V; E) on n = jV j vertices and m = jEj edges is a fundamental computational problem. The best known parallel algorithm for the CREW PRAM model runs in O(log 2 n) time using n 2 = log 2 n processors [6, 15]. For the CRCW PRAM model, ..."
Abstract

Cited by 15 (2 self)
 Add to MetaCart
Finding the connected components of an undirected graph G = (V; E) on n = jV j vertices and m = jEj edges is a fundamental computational problem. The best known parallel algorithm for the CREW PRAM model runs in O(log 2 n) time using n 2 = log 2 n processors [6, 15]. For the CRCW PRAM model, in which concurrent writing is permitted, the best known algorithm runs in O(log n) time using slightly more than (n +m)= log n processors [26, 9, 5]. Simulating this algorithm on the weaker CREW model increases its running time to O(log 2 n) [10, 19, 29]. We present here a simple algorithm that runs in O(log 3=2 n) time using n +m CREW processors. Finding an o(log 2 n) parallel connectivity algorithm for this model was an open problem for many years. 1 Introduction Let G = (V; E) be an undirected graph on n = jV j vertices and m = jEj edges. A path p of length k is a sequence of edges (e 1 ; \Delta \Delta \Delta ; e i ; \Delta \Delta \Delta ; e k ) such that e i 2 E for i = 1; \...
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.