Results 1 
5 of
5
External Memory Algorithms and Data Structures
, 1998
"... Data sets in large applications are often too massive to fit completely inside the computer's internal memory. The resulting input/output communication (or I/O) between fast internal memory and slower external memory (such as disks) can be a major performance bottleneck. In this paper, we surve ..."
Abstract

Cited by 360 (23 self)
 Add to MetaCart
(Show Context)
Data sets in large applications are often too massive to fit completely inside the computer's internal memory. The resulting input/output communication (or I/O) between fast internal memory and slower external memory (such as disks) can be a major performance bottleneck. In this paper, we survey the state of the art in the design and analysis of external memory algorithms and data structures (which are sometimes referred to as "EM" or "I/O" or "outofcore" algorithms and data structures). EM algorithms and data structures are often designed and analyzed using the parallel disk model (PDM). The three machineindependent measures of performance in PDM are the number of I/O operations, the CPU time, and the amount of disk space. PDM allows for multiple disks (or disk arrays) and parallel CPUs, and it can be generalized to handle tertiary storage and hierarchical memory. We discuss several important paradigms for how to solve batched and online problems efficiently in external memory. Programming tools and environments are available for simplifying the programming task. The TPIE system (Transparent Parallel I/O programming Environment) is both easy to use and efficient in terms of execution speed. We report on some experiments using TPIE in the domain of spatial databases. The newly developed EM algorithms and data structures that incorporate the paradigms we discuss are significantly faster than methods currently used in practice.
I/Oefficient planar separators
 SIAM Journal on Computing
"... Abstract. We present I/Oefficient algorithms for computing optimal separator partitions of planar graphs. Our main result shows that, given a planar graph G with N vertices and an integer r> 0, a vertex separator of size O(N / √ r) that partitions G into O(N/r) subgraphs of size at most r and b ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We present I/Oefficient algorithms for computing optimal separator partitions of planar graphs. Our main result shows that, given a planar graph G with N vertices and an integer r> 0, a vertex separator of size O(N / √ r) that partitions G into O(N/r) subgraphs of size at most r and boundary size O ( √ r) can be computed in O(sort(N)) I/Os. This bound holds provided that M ≥ 56rlog 2 B. Together with an I/Oefficient planar embedding algorithm presented in [33], this result is the basis for I/Oefficient solutions to many other fundamental problems on planar graphs, including breadthfirst search and shortest paths [5,8], depthfirst search [6,9], strong connectivity [9], and topological sorting [7,8]. Our second result shows that, given I/Oefficient solutions to these problems, a general separator algorithm for graphs with costs and weights on their vertices [3] can be made I/Oefficient. Many classical separator theorems are special cases of this result. In particular, our I/Oefficient version allows the computation of a separator as produced by our first separator algorithm, but without placing any constraints on r in relation to the memory size. Key words. I/Oefficient algorithms, memory hierarchies, graph algorithms, planar graphs, graph separators AMS subject classifications. 49M27, 68Q25, 90C06, 90C35
Cacheoblivious planar shortest paths
 In Proc. 32nd International Colloquium on Automata, Languages, and Programming. LNCS
, 2005
"... Abstract. We present an efficient cacheoblivious implementation of the shortestpath algorithm for planar graphs by Klein et al., and prove that it incurs no more than O ` N B1/2−ɛ + N B log N ´ block transfers on a graph with N vertices. This is the first cacheoblivious algorithm for this problem ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. We present an efficient cacheoblivious implementation of the shortestpath algorithm for planar graphs by Klein et al., and prove that it incurs no more than O ` N B1/2−ɛ + N B log N ´ block transfers on a graph with N vertices. This is the first cacheoblivious algorithm for this problem that incurs o(N) block transfers. 1
Engineering a Topological Sorting Algorithm for Massive Graphs
"... We present an I/Oefficient algorithm for topologically sorting directed acyclic graphs (DAGs). No provably I/Oefficient algorithm for this problem is known. Similarly, the performance of our algorithm, which we call IterTS, may be poor in the worst case. However, our experiments show that IterTS a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We present an I/Oefficient algorithm for topologically sorting directed acyclic graphs (DAGs). No provably I/Oefficient algorithm for this problem is known. Similarly, the performance of our algorithm, which we call IterTS, may be poor in the worst case. However, our experiments show that IterTS achieves good performance in practise. The strategy of IterTS can be summarized as follows. We call an edge satisfied if its tail has a smaller number than its head. A numbering satisfying at least half the edges in the DAG is easy to find: a random numbering is expected to have this property. IterTS starts with such a numbering and then iteratively corrects the numbering to satisfy more and more edges until all edges are satisfied. To evaluate IterTS, we compared its running time to those of three competitors: PeelTS, an I/Oefficient implementation of the standard strategy of iteratively removing sources and sinks; ReachTS, an I/Oefficient implementation of a recent parallel divideandconquer algorithm based on reachability queries; and SeTS, standard DFSbased topological sorting built on top of a semiexternal DFS algorithm. In our evaluation on various types of input graphs, IterTS consistently outperformed PeelTS and ReachTS, by at least an order of magnitude in most cases. SeTS outperformed IterTS on most graphs whose vertex sets fit in memory. However, IterTS often came close to the running time of SeTS on these inputs and, more importantly, SeTS was not able to process graphs whose vertex sets were beyond the size of main memory, while IterTS was able to process such inputs efficiently.
I/Oefficient algorithms for planar graphs I: Separators
"... We present I/Oefficient algorithms for computing optimal separator partitions of planar graphs. Our main result shows that, given a planar graph G with N vertices and an integer r> 0, a vertex separator of size O (N / √ r) that partitions G into O(N/r) subgraphs of size at most r and boundary s ..."
Abstract
 Add to MetaCart
We present I/Oefficient algorithms for computing optimal separator partitions of planar graphs. Our main result shows that, given a planar graph G with N vertices and an integer r> 0, a vertex separator of size O (N / √ r) that partitions G into O(N/r) subgraphs of size at most r and boundary size O ( √ r) can be computed in O(sort(N)) I/Os, provided that M ≥ 56r log 2 B. Together with the planar embedding algorithm presented in the companion paper [27], this result is the basis for I/Oefficient solutions to many other fundamental problems on planar graphs, including breadthfirst search and shortest paths [5, 8], depthfirst search [6, 9], strong connectivity [9], and topological sorting [8]. Our second result shows that, given I/Oefficient solutions to these problems, a general separator algorithm for graphs with costs and weights on their vertices [3] can be made I/Oefficient. Many classical separator theorems are special cases of this result. In particular, our I/Oefficient version allows the computation of a separator as produced by our first separator algorithm, but without placing any constraints on r.