Results 11 - 20
of
29
A Theory Of Strict P-Completeness
- STACS 1992, in Lecture Notes in Computer Science 577
, 1992
"... . A serious limitation of the theory of P-completeness is that it fails to distinguish between those P-complete problems that do have polynomial speedup on parallel machines from those that don't. We introduce the notion of strict P-completeness and develop tools to prove precise limits on the possi ..."
Abstract
-
Cited by 9 (0 self)
- Add to MetaCart
. A serious limitation of the theory of P-completeness is that it fails to distinguish between those P-complete problems that do have polynomial speedup on parallel machines from those that don't. We introduce the notion of strict P-completeness and develop tools to prove precise limits on the possible speedups obtainable for a number of Pcomplete problems. Key words. Parallel computation; P-completeness. Subject classifications. 68Q15, 68Q22. 1. Introduction A major goal of the theory of parallel computation is to understand how much speedup is obtainable in solving a problem on parallel machines over sequential machines. The theory of P-completeness has successfully classified many problems as unlikely to have polylog time algorithms on a parallel machine with a polynomial number of processors. However, the theory fails to distinguish between those P-complete problems that do have significant, polynomial speedup on parallel machines from those that don't. Yet this distinction is e...
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 depth-first search algorithm used for this purpose is difficult to parallel ..."
Abstract
-
Cited by 6 (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 depth-first search algorithm used for this purpose is difficult to parallelize since it is based on the depth-first search traversal order which is inherently sequential. Proposed solutions make use of data structures and synchronization mechanisms in order to preserve the depth-first 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.
Lazy Depth-First Search and Linear Graph Algorithms in Haskell
- Glasgow Workshop on Functional Programming
, 1994
"... Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the implementation of depth first search in a lazy functional language. For the first time in such languages we obtain a linear-time implementation. But we go further. Unlike traditional imperative presenta ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
Depth-first search is the key to a wide variety of graph algorithms. In this paper we explore the implementation of depth first search in a lazy functional language. For the first time in such languages we obtain a linear-time implementation. But we go further. Unlike traditional imperative presentations, algorithms are constructed from individual components, which may be reused to create new algorithms. Furthermore, the style of program is quite amenable to formal proof, which we exemplify through a calculational-style proof of a strongly-connected components algorithm. 1 Introduction Graph algorithms have long been a challenge to programmers of lazy functional languages. It has not been at all clear how to express such algorithms without using side effects to achieve efficiency. For example, many texts provide implementations of search algorithms which are quadratic in the size of the graph (see Paulson (1991), Holyer (1991), or Harrison (1993)), compared with the standard linear im...
A Model Classifying Algorithms as Inherently Sequential with Applications to Graph Searching
, 1992
"... A model is proposed that can be used to classify algorithms as inherently sequential. The model captures the internal computations of algorithms. Previous work in complexity theory has focused on the solutions algorithms compute. Direct comparison of algorithms within the framework of the model is ..."
Abstract
-
Cited by 5 (3 self)
- Add to MetaCart
A model is proposed that can be used to classify algorithms as inherently sequential. The model captures the internal computations of algorithms. Previous work in complexity theory has focused on the solutions algorithms compute. Direct comparison of algorithms within the framework of the model is possible. The model is useful for identifying hard to parallelize constructs that should be avoided by parallel programmers. The model's utility is demonstrated via applications to graph searching. A stack breadth-first search (BFS) algorithm is analyzed and proved inherently sequential. The proof technique used in the reduction is a new one. The result for stack BFS sharply contrasts a result showing that a queue based BFS algorithm is in NC. An NC algorithm to compute greedy depth-first search numbers in a dag is presented, and a result proving that a combination search strategy called breadth-depth search is inherently sequential is also given.
A Divide-And-Conquer 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 divide--and--conquer 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 divide--and--conquer 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) worst--case complexity. Key words. Strongly connected components, divide--and--conquer, 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...
Generating Counter-examples through Randomized Guided Search
"... Abstract. Computational resources are increasing rapidly with the explosion of multi-core processors readily available from major vendors. Model checking needs to harness these resources to help make it more effective in practical verification. Directed model checking uses heuristics in a guided sea ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Abstract. Computational resources are increasing rapidly with the explosion of multi-core processors readily available from major vendors. Model checking needs to harness these resources to help make it more effective in practical verification. Directed model checking uses heuristics in a guided search to rank states in a order of interest. Randomizing guided search makes it possible to harness computation nodes by running independent searches in parallel in a effort to discover counter-examples to correctness. Initial attempts at adding randomization to guided search have achieved very limited success. In this work, we present a new lowcost randomized guided search technique that shuffles states in the priority queue with equivalent heuristic ties. We show in an empirical study that randomized guided search, overall, decreases the number of states generated before error discovery when compared to a guided search using the same heuristic. To further evaluate the performance gains of randomized guided search using a particular heuristic, we compare it with randomized depth-first search. Randomized depth-first search shuffles transitions and generally improves error discovery over the default transition order implemented by the model checker. In the context of evaluating randomized guided search, a randomized depth-first search provides a lower bound for establishing performance gains in directed model checking. In the empirical study, we show that with the correct heuristic, randomized guided search outperforms randomized depth-first search both in effectively finding counter-examples and generating shorter counterexamples. 1
Planar Strong Connectivity Helps in Parallel Depth-First Search
- SIAM Journal on Computing
, 1992
"... . This paper shows that for a strongly connected planar directed graph of size n, a depth-first search tree rooted a specified vertex can be computed in O(log 5 n) time using n= log n processors. Previously, for planar directed graphs that may not be strongly connected, the best depth-first searc ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
. This paper shows that for a strongly connected planar directed graph of size n, a depth-first search tree rooted a specified vertex can be computed in O(log 5 n) time using n= log n processors. Previously, for planar directed graphs that may not be strongly connected, the best depth-first search algorithm runs in O(log 10 n) time using n processors. Both algorithms run on a parallel random access machine that allows concurrent reads and concurrent writes in its shared memory, and in case of a write conflict, permits an arbitrary processor to succeed. Key words. linear-processor NC algorithms, graph separators, depth-first search, planar directed graphs, strong connectivity, bubble graphs, s-t graphs AMS(MOS) subject classification. 68Q10, 05C99 1. Introduction. Depth-first search is one of the most useful tools in graph theory [32], [4]. The depth-first search problem is the following: given a graph and a distinguished vertex, construct a tree that corresponds to performing de...
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.

