Results 1  10
of
13
A new approach to the maximum flow problem
 JOURNAL OF THE ACM
, 1988
"... All previously known efficient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the pre ..."
Abstract

Cited by 642 (31 self)
 Add to MetaCart
(Show Context)
All previously known efficient maximumflow algorithms work by finding augmenting paths, either one path at a time (as in the original Ford and Fulkerson algorithm) or all shortestlength augmenting paths at once (using the layered network approach of Dinic). An alternative method based on the preflow concept of Karzanov is introduced. A preflow is like a flow, except that the total amount flowing into a vertex is allowed to exceed the total amount flowing out. The method maintains a preflow in the original network and pushes local flow excess toward the sink along what are estimated to be shortest paths. The algorithm and its analysis are simple and intuitive, yet the algorithm runs as fast as any other known method on dense. graphs, achieving an O(n³) time bound on an nvertex graph. By incorporating the dynamic tree data structure of Sleator and Tarjan, we obtain a version of the algorithm running in O(nm log(n²/m)) time on an nvertex, medge graph. This is as fast as any known method for any graph density and faster on graphs of moderate density. The algorithm also admits efticient distributed and parallel implementations. A parallel implementation running in O(n²log n) time using n processors and O(m) space is obtained. This time bound matches that of the ShiloachVishkin algorithm, which also uses n processors but requires O(n²) space.
Randomized routing and sorting on fixedconnection networks
 JOURNAL OF ALGORITHMS
, 1994
"... This paper presents a general paradigm for the design of packet routing algorithms for fixedconnection networks. Its basis is a randomized online algorithm for scheduling any set of N packets whose paths have congestion c on any boundeddegree leveled network with depth L in O(c + L + log N) steps ..."
Abstract

Cited by 89 (13 self)
 Add to MetaCart
(Show Context)
This paper presents a general paradigm for the design of packet routing algorithms for fixedconnection networks. Its basis is a randomized online algorithm for scheduling any set of N packets whose paths have congestion c on any boundeddegree leveled network with depth L in O(c + L + log N) steps, using constantsize queues. In this paradigm, the design of a routing algorithm is broken into three parts: (1) showing that the underlying network can emulate a leveled network, (2) designing a path selection strategy for the leveled network, and (3) applying the scheduling algorithm. This strategy yields randomized algorithms for routing and sorting in time proportional to the diameter for meshes, butterflies, shuffleexchange graphs, multidimensional arrays, and hypercubes. It also leads to the construction of an areauniversal network: an Nnode network with area Θ(N) that can simulate any other network of area O(N) with slowdown O(log N).
Parallel SymmetryBreaking in Sparse Graphs
 SIAM J. Disc. Math
, 1987
"... We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use th ..."
Abstract

Cited by 85 (2 self)
 Add to MetaCart
We describe efficient deterministic techniques for breaking symmetry in parallel. These techniques work well on rooted trees and graphs of constant degree or genus. Our primary technique allows us to 3color a rooted tree in O(lg n) time on an EREW PRAM using a linear number of processors. We use these techniques to construct fast linear processor algorithms for several problems, including (\Delta + 1)coloring constantdegree graphs and 5coloring planar graphs. We also prove lower bounds for 2coloring directed lists and for finding maximal independent sets in arbitrary graphs. 1 Introduction Some problems for which trivial sequential algorithms exist appear to be much harder to solve in a parallel framework. When converting a sequential algorithm to a parallel one, at each step of the parallel algorithm we have to choose a set of operations which may be executed in parallel. Often, we have to choose these operations from a large set A preliminary version of this paper appear...
CommunicationEfficient Parallel Algorithms for Distributed RandomAccess Machines
 Algorithmica
, 1988
"... This paper introduces a model for parallel computation, called the distributed randomaccess machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages ..."
Abstract

Cited by 37 (2 self)
 Add to MetaCart
This paper introduces a model for parallel computation, called the distributed randomaccess machine (DRAM), in which the communication requirements of parallel algorithms can be evaluated. A DRAM is an abstraction of a parallel computer in which memory accesses are implemented by routing messages through a communication network. A DRAM explicitly models the congestion of messages across cuts of the network. We introduce the notion of a conservative algorithm as one whose communication requirements at each step can be bounded by the congestion of pointers of the input data structure across cuts of a DRAM. We give a simple lemma that shows how to "shortcut" pointers in a data structure so that remote processors can communicate without causing undue congestion. We give O(lg n)step, linearprocessor, linearspace, conservative algorithms for a variety of problems on n node trees, such as computing treewalk numberings, finding the separator of a tree, and evaluating all subexpressions ...
SublinearTime Parallel Algorithms for Matching and Related Problems
, 1988
"... This paper presents the first sublineartime deterministic parallel algorithms for bipartite matching and several related problems, including maximal nodedisjoint paths, depthfirst search, and flows in zeroone networks. Our results are based on a better understanding of the combinatorial struc ..."
Abstract

Cited by 36 (5 self)
 Add to MetaCart
This paper presents the first sublineartime deterministic parallel algorithms for bipartite matching and several related problems, including maximal nodedisjoint paths, depthfirst search, and flows in zeroone networks. Our results are based on a better understanding of the combinatorial structure of the above problems, which leads to new algorithmic techniques. In particular, we show how to use maximal matching to extend, in parallel, a current set of nodedisjoint paths and how to take advantage of the parallelism that arises when a large number of nodes are "active" during an execution of a pushrelabel network flow algorithm. We also show how to apply our techniques to design parallel algorithms for the weighted versions of the above problems. In particular, we present sublineartime deterministic parallel algorithms for finding a minimumweight bipartite matching and for finding a minimumcost flow in a network with zeroone capacities, if the weights are polynomially ...
Using Interior Point Methods for Fast Parallel Algorithms for Bipartite Matching and Related Problems
 SIAM J. Comput
, 1992
"... In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Our algorithm finds a maximum cardinality matching in a bipartite graph with n nodes and m edges in O( p m l ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
(Show Context)
In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Our algorithm finds a maximum cardinality matching in a bipartite graph with n nodes and m edges in O( p m log 3 n) time on a CRCW PRAM. Our results extend to the weighted bipartite matching problem and to the zeroone minimumcost flow problem, yielding O( p m log 2 n log nC) algorithms, where C ? 1 is an upper bound on the absolute value of the integral weights or costs in the two problems, respectively. Our results improve previous bounds on these problems and introduce interiorpoint methods to the context of parallel algorithm design. 1 Introduction In this paper we use interiorpoint methods for linear programming, developed in the context of sequential computation, to obtain a parallel algorithm for the bipartite matching problem. Although Karp, Upfal, and Wigderson [6] have sho...
A Note on Improving the Running Time of a Class of Parallel Algorithms Using Randomization
, 1996
"... A natural method to avoid memory access conflicts in EREWPRAM graph algorithms is to compute a large independent set in a constantdegreebounded conflict graph. Many EREWPRAM algorithms use results from [CV 86], [GPS 87], which can be used to compute such a set in O(log n) parallel time. This p ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
A natural method to avoid memory access conflicts in EREWPRAM graph algorithms is to compute a large independent set in a constantdegreebounded conflict graph. Many EREWPRAM algorithms use results from [CV 86], [GPS 87], which can be used to compute such a set in O(log n) parallel time. This paper gives an O(1) time randomized algorithm using O(n) processors for that problem. Our algorithm improves with high probability the running time of many EREWPRAM algorithms. Institut fur Informatik V, Universitat Bonn, Romerstr. 164, D53117 Bonn, Germany, email: carsten@cs.unibonn.de y Institut fur Informatik V, Universitat Bonn, Romerstr. 164, D53117 Bonn, Germany, email: wirtgen@cs.unibonn.de 1 Introduction We consider the problem of computing an independent set of size\Omega\Gamma n) in a graph where the maximum degree is bounded by a constant on a randomized EREWPRAM. We present an O(1) time algorithm for this task which returns an independent set of size\Omega\Gamma n)...
Faster Finding of Simple Cycles in Planar Graphs on a randomized EREWPRAM
 Proc. 2 nd Workshop on Randomized Parallel Computing
, 1997
"... We show that if a planar graph has a simple cycle of length k, where k is a fixed integer, such a cycle may be computed in O(log n) time by a randomized EREWPRAM with O(n) processors with high probability. This improves a previous result of [8]. The improvement relies on an efficient parallel algor ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
(Show Context)
We show that if a planar graph has a simple cycle of length k, where k is a fixed integer, such a cycle may be computed in O(log n) time by a randomized EREWPRAM with O(n) processors with high probability. This improves a previous result of [8]. The improvement relies on an efficient parallel algorithm for computing a large independent set in a constantdegreebounded conflict graph, which is a natural method to avoid memory access conflicts in EREWPRAM graph algorithms. Many EREWPRAM algorithms use results from [6], [11], which can be used to compute such a set in O(log n) parallel time. This paper gives an O(1) time randomized algorithm using O(n) processors for that problem. This method can also be used to improve the randomized running time of many other EREWPRAM algorithms. 1 Introduction It is well known that finding the longest cycle in a graph is a hard problem, since finding a hamiltonian cycle is NPcomplete [10]. Hence finding a simple cycle of lenght k, for an arbi...
ProgramCentric Cost Models for Locality and Parallelism
, 2013
"... Good locality is critical for the scalability of parallel computations. Many cost models that quantify locality and parallelism of a computation with respect to specific machine models have been proposed. A significant drawback of these machinecentric cost models is their lack of portability. Sinc ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
(Show Context)
Good locality is critical for the scalability of parallel computations. Many cost models that quantify locality and parallelism of a computation with respect to specific machine models have been proposed. A significant drawback of these machinecentric cost models is their lack of portability. Since the design and analysis of good algorithms in most machinecentric cost models is a nontrivial task, lack of portability can lead to a significant wastage of design effort. Therefore, a machineindependent portable cost model for locality and parallelism that is relevant to a broad class of machines can be a valuable guide for the design of portable and scalable algorithms as well as for understanding the complexity of problems. This thesis addresses the problem of portable analysis by presenting programcentric metrics for measuring the locality and parallelism of nestedparallel programs written for shared memory machines – metrics based solely on the program structure without reference to machine parameters such as processors, caches and connections. The metrics we present for this purpose are the parallel cache com