15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Barve and Vitter [37] discuss the design and analysis of EM algorithms that adapt gracefully to changing<br />

memory allocations. In their model, without loss of generality, an algorithm (or program) P is allocated<br />

internal memory in phases: During the ith phase, P is allocated m i blocks of internal memory, and this<br />

memory remains allocated to P until P completes 2m i I/O operations, at which point the next phase<br />

begins. The process continues until P finishes execution. We say that P is dynamically optimal, no other<br />

algorithm can perform more than a constant number of sorts in the worst-case for the same sequence<br />

of memory allocations.<br />

Barve and Vitter [37] define a precise model and give dynamically optimal strategies for sorting, matrix<br />

multiplication, and buffer tree operations. Previous work was done on memory-adaptive algorithms for<br />

merge sort [162,216] and hash join [163], but the algorithms handle only special cases and can be made<br />

to perform nonoptimally for certain patterns of memory allocation.<br />

32.16 Conclusions<br />

In this chapter, several useful paradigms for the design and implementation of efficient external memory<br />

(EM) algorithms and data structures were described. The problem domains we have considered include<br />

sorting, permuting, FFT, scientific computing, computational geometry, graphs, databases, geographic<br />

information systems, and text and string processing. Interesting challenges remain in virtually all these<br />

problem domains. One difficult problem is to prove lower bounds for permuting and sorting without an<br />

item indivisibility assumption. Another promising area is the design and analysis of EM algorithms for<br />

efficient use of multiple disks. Optimal bounds have not yet been determined for several basic EM graph<br />

problems like topological sorting, shortest paths, breadth-first and depth-first search, and connected components.<br />

There is an intriguing connection between problems that have good I/O speedups and problems<br />

that have fast and work-efficient parallel algorithms. Several problems remain open in the dynamic and<br />

kinetic settings, such as range searching, ray shooting, point location, and finding nearest neighbors.<br />

A continuing goal is to develop optimal EM algorithms and to translate theoretical gains into observable<br />

improvements in practice. For some of the problems that can be solved optimally up to a constant<br />

factor, the constant overhead is too large for the algorithm to be of practical use, and simpler approaches<br />

are needed. In practice, algorithms cannot assume a static internal memory allocation; they must adapt<br />

in a robust way when the memory allocation changes.<br />

Many interesting challenges and opportunities in algorithm design and analysis arise from new architectures<br />

being developed, such as networks of workstations and hierarchical storage devices. Active (or<br />

intelligent) disks, in which disk drives have some processing capability and can filter information sent<br />

to the host, have recently been proposed to further reduce the I/O bottleneck, especially in large database<br />

applications [3,167]. MEMS-based nonvolatile storage has the potential to serve as an intermediate level<br />

in the memory hierarchy between DRAM and disks. It could ultimately provide better latency and<br />

bandwidth than disks, at less cost per bit than DRAM [178,198].<br />

Acknowledgments<br />

The author thanks the TPIE group and his colleagues for helpful comments and suggestions. This work<br />

was supported in part by Army Research Office MURI grant DAAH04-96-1-0013 and by National Science<br />

Foundation Research Grants CCR-9522047, EIA-9870734, CCR-9877133, and CCR-0082986.<br />

References<br />

1. D. J. Abel. A B + -tree structure for large quadtrees. Computer Vision, Graphics, and Image Processing,<br />

27(1), 19–31, July 1984.<br />

2. J. Abello, A. Buchsbaum, and J. Westbrook. A functional approach to external graph algorithms. In<br />

Proceedings of the European Symposium on Algorithms, volume 1461 of Lecture Notes in Computer<br />

Science, 332–343, Venice, Italy, Aug. 1998. Springer-Verlag.<br />

© 2002 by CRC Press LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!