Abstract
Data sets in large applications are often too massive to fit completely inside the computers 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 article we survey the state of the art in the design and analysis of external memory (or EM) algorithms and data structures, where the goal is to exploit locality in order to reduce the I/O costs. We consider a variety of EM paradigms for solving batched and online problems efficiently in external memory. For the batched problem of sorting and related problems such as permuting and fast Fourier transform, the key paradigms include distribution and merging. The paradigm of disk striping offers an elegant way to use multiple disks in parallel. For sorting, however, disk striping can be nonoptimal with respect to I/O, so to gain further improvements we discuss distribution and merging techniques for using the disks independently. We also consider useful techniques for batched EM problems involving matrices (such as matrix multiplication and transposition), geometric data (such as finding intersections and constructing convex hulls), and graphs (such as list ranking, connected components, topological sorting, and shortest paths). In the online domain, canonical EM applications include dictionary lookup and range searching. The two important classes of indexed data structures are based upon extendible hashing and B-trees. The paradigms of filtering and bootstrapping provide a convenient means in online data structures to make effective use of the data accessed from disk. We also reexamine some of the above EM problems in slightly different settings, such as when the data items are moving, when the data items are variable-length (e.g., text strings), or when the allocated amount of internal memory can change dynamically. Programming tools and environments are available for simplifying the EM programming task. During the course of the survey, we report on some experiments in the domain of spatial databases using the TPIE system (transparent parallel I/O programming environment). The newly developed EM algorithms and data structures that incorporate the paradigms we discuss are significantly faster than methods currently used in practice.
- ABEL, D. J. 1984. A B+-tree structure for large quadtrees. Computer Vision, Graphics, and Image Processing 27, 1 (July), 19-31.]]Google ScholarCross Ref
- ABELLO, J., BUCHSBAUM, A., AND WESTBROOK,J. 1998. A functional approach to external graph algorithms. In Proceedings of the European Symposium on Algorithms, Vol. 1461 of Lecture Notes in Computer Science (Venice, August). Springer- Verlag, 332-343.]] Google ScholarDigital Library
- ACHARYA, A., UYSAL, M., AND SALTZ, J. 1998. Active disks: Programming model, algorithms and evaluation. ACMSIGPLAN Notices 33, 11 (Nov), 81-91.]] Google ScholarDigital Library
- ADLER, M. 1996. New coding techniques for improved bandwidth utilization. In Proceedings of the IEEE Symposium on Foundations of Computer Science, Vol. 37 (Burlington, VT, Oct.), 173-182.]] Google ScholarDigital Library
- AGARWAL,P.K.AND ERICKSON, J. 1999. Geometric range searching and its relatives. In B. Chazelle, J. E. Goodman, and R. Pollack, Eds, Advances in Discrete and Computational Geometry, Vol. 23 of Contemporary Mathematics, American Mathematical Society, Providence, RI, 1-56.]]Google Scholar
- AGARWAL,P.K.AND HAR-PELED, S. 2000. Maintaining the approximate extent measures of moving points. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, Vol. 12 (Washington, Jan.), 148-157.]] Google ScholarDigital Library
- AGARWAL, P. K., ARGE, L., AND ERICKSON, J. 2000. Indexing moving points. In Proceedings of the ACM Symposium on Principles of Database Systems, Vol. 19, 175-186.]] Google ScholarDigital Library
- AGARWAL, P. K., ARGE, L., BRODAL,G.S.,AND VITTER, J. S. 1999. I/O-efficient dynamic point location in monotone planar subdivisions. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, Vol. 10, 11-20.]] Google ScholarDigital Library
- AGARWAL, P. K., ARGE, L., ERICKSON, J., FRANCIOSA, P. G. , AND VITTER, J. S. 1998a. Efficient searching with linear constraints. In Proceedings of the ACM Symposium on Principles of Database Systems, Vol. 17, 169-178.]] Google ScholarDigital Library
- AGARWAL, P. K., ARGE, L., MURALI, T. M., VARADARA- JAN, K., AND VITTER, J. S. 1998b. I/O-efficient algorithms for contour line extraction and planar graph blocking. In Proceedings of the ACM- SIAM Symposium on Discrete Algorithms, Vol. 9, 117-126.]] Google ScholarDigital Library
- AGARWAL, P. K., ARGE, L., PROCOPIUC,O.,AND VITTER, J. S. 2001a. A framework for index dynamization. In Proceedings of the International Colloquium on Automata, Languages, and Programming (Crete, Greece, July), Vol. 2076 of Lecture Notes in Computer Science, Springer-Verlag.]] Google ScholarDigital Library
- AGARWAL,P.K.,DE BERG, M., GUDMUNDSSON,J., HAMMAR, M., AND HAVERKORT, H. J. 2001b. Constructing box trees and R-trees with low stabbing number. In Proceedings of the ACM Symposium on Computational Geometry (Medford, MA, June), Vol. 17.]] Google ScholarDigital Library
- AGGARWAL,A.AND PLAXTON, C. G. 1994. Optimal parallel sorting in multi-level storage. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, Vol. 5, 659-668.]] Google ScholarDigital Library
- AGGARWAL,A.AND VITTER, J. S. 1988. The input/output complexity of sorting and related problems. Communications of the ACM 31,9, 1116-1127.]] Google ScholarDigital Library
- AGGARWAL, A., ALPERN, B., CHANDRA,A.K.,AND SNIR, M. 1987a. A model for hierarchical memory. In Proceedings of the ACM Symposium on Theory of Computing, Vol. 19 (New York), 305- 314.]] Google ScholarDigital Library
- AGGARWAL, A., CHANDRA, A., AND SNIR, M. 1987b. Hierarchical memory with block transfer. In Proceedings of the IEEE Symposium on Foundations of Computer Science, Vol. 28 (Los Angeles), 204- 216.]]Google ScholarDigital Library
- AJTAI, M., FREDMAN, M., AND KOMLOS, J. 1984. Hash functions for priority queues. Information and Control, 63, 3, 217-225.]] Google ScholarDigital Library
- ALPERN, B., CARTER, L., FEIG, E., AND SELKER, T. 1994. The uniform memory hierarchy model of computation. Algorithmica 12, 2-3, 72-109.]]Google ScholarDigital Library
- ARGE, L. 1995a. The buffer tree: A new technique for optimal I/O-algorithms. In Proceedings of the Workshop on Algorithms and Data Structures, Vol. 955 of Lecture Notes in Computer Science, Springer-Verlag, 334-345. A complete version appears as BRICS Technical Report RS-96-28, University of Aarhus.]] Google ScholarDigital Library
- ARGE, L. 1995b. The I/O-complexity of ordered binary-decision diagram manipulation. In Proceedings of the International Symposium on Algorithms and Computation, Vol. 1004 of Lecture Notes in Computer Science, Springer-Verlag, 82-91.]] Google ScholarDigital Library
- ARGE, L. 1997. External-memory algorithms with applications in geographic information systems. In M. van Kreveld, J. Nievergelt, T. Roos, and P. Widmayer, eds, Algorithmic Foundations of GIS, Vol. 1340 of Lecture Notes in Computer Science, Springer-Verlag, 213-254.]] Google ScholarDigital Library
- ARGE,L.AND MILTERSEN, P. 1999. On showing lower bounds for external-memory computational geometry problems. In J. Abello and J. S., Vitter, Eds., External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, RI, 139-159.]] Google ScholarDigital Library
- ARGE,L.AND VAHRENHOLD, J. 2000. I/O-efficient dynamic planar point location. In Proceedings of the ACM Symposium on Computational Geometry (June), Vol. 9, 191-200.]] Google ScholarDigital Library
- ARGE,L.AND VITTER, J. S. 1996. Optimal dynamic interval management in external memory. In Proceedings of the IEEE Symposium on Foundations of Computer Science (Burlington, VT, Oct.), Vol. 37, 560-569.]] Google ScholarDigital Library
- ARGE, L., BRODAL,G.S.,AND TOMA, L. 2000a. On external memory MST, SSSP and multi-way planar graph separation. In Proceedings of the Scandinavian Workshop on Algorithmic Theory (July) Vol. 1851 of Lecture Notes in Computer Science, Springer-Verlag.]] Google ScholarDigital Library
- ARGE, L., FERRAGINA, P., GROSSI, R., AND VITTER,J. 1997. On sorting strings in external memory. In Proceedings of the ACM Symposium on Theory of Computing, Vol. 29, 540-548.]] Google ScholarDigital Library
- ARGE, L., HINRICHS, K. H., VAHRENHOLD,J.,AND VITTER, J. S. 1999a. Efficient bulk operations on dynamic R-trees. In Workshop on Algorithm Engineering and Experimentation, Vol. 1619 of Lecture Notes in Computer Science (Baltimore, Jan.) Springer-Verlag, 328-348.]] Google ScholarDigital Library
- ARGE, L., KNUDSEN, M., AND LARSEN, K. 1993. A general lower bound on the I/O-complexity of comparison-based algorithms. In Proceedings of the Workshop on Algorithms and Data Structures, Vol. 709 of Lecture Notes in Computer Science, Springer-Verlag, 83-94.]] Google ScholarDigital Library
- ARGE, L., PROCOPIUC, O., RAMASWAMY, S., SUEL,T., VAHRENHOLD,J.,AND VITTER, J. S. 2000b. A unified approach for indexed and non-indexed spatial joins. In Proceedings of the International Conference on Extending Database Technology (Konstanz, Germany, March), Vol. 7.]] Google ScholarDigital Library
- ARGE, L., PROCOPIUC, O., RAMASWAMY, S., SUEL,T.,AND VITTER, J. S. 1998a. Scalable sweeping-based spatial join. In Proceedings of the International Conference on Very Large Databases (New York, August) Vol. 24, 570-581.]] Google ScholarDigital Library
- ARGE, L., PROCOPIUC, O., RAMASWAMY, S., SUEL,T., AND VITTER, J. S. 1998b. Theory and practice of I/O-efficient algorithms for multidimensional batched searching problems. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, Vol. 9, 685-694.]] Google ScholarDigital Library
- ARGE, L., SAMOLADAS,V.,AND VITTER, J. S. 1999b. Two-dimensional indexability and optimal range search indexing. In Proceedings of the ACMConference Principles of Database Systems (Philadelphia, May-June), Vol. 18, 346-357.]] Google ScholarDigital Library
- ARGE, L., VENGROFF, D. E., AND VITTER, J. S. 1995. External-memory algorithms for processing line segments in geographic information systems. Algorithmica (to appear). Special issue on cartography and geographic information systems. An earlier version appeared in Proceedings of the Third European Symposium on Algorithms, (Sept.), Vol. 979 of Lecture Notes in Computer Science, Springer-Verlag 295-310.]] Google ScholarDigital Library
- ARMEN, C. 1996. Bounds on the separation of two parallel disk models. In Proceedings of the Workshop on Input/Output in Parallel and Distributed Systems (Philadelphia, May), Vol. 4, 122-127.]] Google ScholarDigital Library
- BAEZA-YATES, R. 1996. Bounded disorder: The effect of the index. Theoretical Computer Science 168, 21-38.]] Google ScholarDigital Library
- BAEZA-YATES,R.AND RIBEIRO-NETO, B. Eds. 1999. Modern Information Retrieval. Addison-Wesley Longman: Chapter 8.]] Google ScholarDigital Library
- BAEZA-YATES,R.AND SOZA-POLLMAN, H. 1998. Analysis of linear hashing revisited. Nordic Journal of Computing 5, 70-85.]] Google ScholarDigital Library
- BAEZA-YATES, R. A. 1989. Expected behaviour of BC-trees under random insertions. Acta Informatica 26, 5, 439-472.]] Google ScholarDigital Library
- BAEZA-YATES,R.A.AND LARSON, P.-A. 1989. Performance of BC-trees with partial expansions. IEEE Transactions on Knowledge and Data Engineering 1, 2 (June), 248-257.]] Google ScholarDigital Library
- BARVE,R.D.AND VITTER, J. S. 1999a. A simple and efficient parallel disk mergesort. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (St. Malo, France, June), Vol. 11, 232-241.]] Google ScholarDigital Library
- BARVE,R.D.AND VITTER, J. S. 1999b. A theoretical framework for memory-adaptive algorithms. In Proceedings of the IEEE Symposium on Foundations of Computer Science (New York, Oct.), Vol. 40, 273-284.]] Google ScholarDigital Library
- BARVE,R.D.,GROVE,E.F.,AND VITTER, J. S. 1997. Simple randomized mergesort on parallel disks. Parallel Computing 23, 4, 601-631.]] Google ScholarDigital Library
- BARVE,R.D.,KALLAHALLA, M., VARMAN,P.J.,AND VITTER, J. S. 2000. Competitive analysis of buffer management algorithms. Journal of Algorithms 36 (August).]] Google ScholarDigital Library
- BARVE,R.D.,SHRIVER,E.A.M.,GIBBONS,P.B.,HILLYER, B. K., MATIAS,Y.,AND VITTER, J. S. 1999. Modeling and optimizing I/O throughput of multiple disks on a bus. In Procedings of ACM SIGMET- RICS Joint International Conference on Measurement and Modeling of Computer Systems (Atlanta, GA, May), 83-92.]] Google ScholarDigital Library
- BASCH, J., GUIBAS,L.J.,AND HERSHBERGER, J. 1999. Data structures for mobile data. Journal of Algorithms 31, 1-28.]] Google ScholarDigital Library
- BAYER,R.AND MCCREIGHT, E. 1972. Organization of large ordered indexes. Acta Informatica 1, 173- 189.]]Google ScholarDigital Library
- BAYER,R.AND UNTERAUER, K. 1977. Prefix B-trees. ACM Transactions on Database Systems 2,1 (March), 11-26.]] Google ScholarDigital Library
- BECKER, B., GSCHWIND, S., OHLER, T., SEEGER,B., AND WIDMAYER, P. 1996. An asymptotically optimal multiversion B-tree. VLDB Journal 5,4 (Dec.), 264-275.]] Google ScholarDigital Library
- BECKMANN, N., KRIEGEL, H.-P., SCHNEIDER, R., AND SEEGER, B. 1990. The R*-tree: An efficient and robust access method for points and rectangles. In Proceedings of the ACM SIGMOD International Conference on Management of Data, 322- 331.]] Google ScholarDigital Library
- BENDER, M. A., DEMAINE,E.D.,AND FARACH-COLTON, M. 2000. Cache-oblivious B-trees. In Proceedings of the IEEE Symposium on Foundations of Computer Science (Redondo Beach, Cal., Nov.), Vol. 41, 12-14.]] Google ScholarDigital Library
- BENTLEY, J. L. 1980. Multidimensional divide and conquer. Communications of the ACM23, 6, 214- 229.]] Google ScholarDigital Library
- BENTLEY,J.L.AND SAXE, J. B. 1980. Decomposable searching problems I: Static-to-dynamic transformations. Journal of Algorithms 1, 4 (Dec.), 301-358.]]Google ScholarCross Ref
- BERCHTOLD, S., BOHM,C.,AND KRIEGEL, H.-P. 1998. Improving the query performance of high-dimensional index structures by bulk load operations. In Proceedings of the International Conference on Extending Database Technology, Vol. 1377 of Lecture Notes in Computer Science, Springer-Verlag, 216-230.]] Google ScholarDigital Library
- BLUM,N.AND MEHLHORN, K. 1980. On the average number of rebalancing operations in weightbalanced trees. Theoretical Computer Science 11, 3 (July), 303-320.]]Google ScholarCross Ref
- BOYER,R.S.AND MOORE, J. S. 1977. A fast string searching algorithm. Communications of the ACM 20, 10 (Oct.), 762-772.]] Google ScholarDigital Library
- BRENGEL, K., CRAUSER, A., FERRAGINA,P.,AND MEYER, U. 1999. An experimental study of priority queues. In J. S. Vitter and C. Zaroliagis, Ed., Proceedings of the Workshop on Algorithm Engineering, Vol. 1668 of Lecture Notes in Computer Science (London, July), Springer-Verlag, 345-359.]] Google ScholarDigital Library
- BRODAL,G.S.AND KATAJAINEN, J. 1998. Worstcase efficient external-memory priority queues. In Proceedings of the Scandinavian Workshop on Algorithmic Theory, Vol. 1432 of Lecture Notes in Computer Science (Stockholm, July), Springer- Verlag, 107-118.]] Google ScholarDigital Library
- BUCHSBAUM, A. L., GOLDWASSER, M., VENKATASUBRAMA- NIAN, S.,AND WESTBROOK, J. R. 2000. On external memory graph traversal. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Jan.), Vol. 11.]] Google ScholarDigital Library
- CALLAHAN, P., GOODRICH,M.T.,AND RAMAIYER,K. 1995. Topology B-trees and their applications. In Proceedings of the Workshop on Algorithms and Data Structures, Vol. 955 of Lecture Notes in Computer Science, Springer-Verlag, 381-392.]] Google ScholarDigital Library
- CARTER,L.AND GATLIN, K. S. 1998. Towards an optimal bit-reversal permutation program. In Proceedings of the IEEE Symposium on Foundations of Computer Science (Palo Alto, Nov.), Vol. 39, 544-553.]] Google ScholarDigital Library
- CHAZELLE, B. 1986. Filtering search: A new approach to query-answering. SIAM Journal on Computing 15, 703-724.]] Google ScholarDigital Library
- CHAZELLE, B. 1990. Lower bounds for orthogonal range searching: I. The reporting case. Journal of the ACM 37, 2 (April), 200-212.]] Google ScholarDigital Library
- CHAZELLE,B.AND EDELSBRUNNER, H. 1987. Linear space data structures for two types of range search. Discrete and Computational Geometry 2, 113-126.]]Google ScholarDigital Library
- CHEN, P. M., LEE, E. K., GIBSON, G. A., KATZ, R. H., AND PATTERSON, D. A. 1994. RAID: Highperformance, reliable secondary storage. ACM Computing Surveys 26, 2 (June), 145-185.]] Google ScholarDigital Library
- CHIANG, Y.-J. 1998. Experiments on the practical I/O efficiency of geometric algorithms: Distribution sweep vs. plane sweep. Computational Geometry: Theory and Applications 8, 4, 211- 236.]] Google ScholarDigital Library
- CHIANG, Y.-J., GOODRICH,M.T.,GROVE,E.F., TAMASSIA, R., VENGROFF,D.E.,AND VITTER,J.S. 1995. External-memory graph algorithms. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Jan.), Vol. 6, 139-149.]] Google ScholarDigital Library
- CHIANG, Y.-J. AND SILVA, C. T. 1999. External memory techniques for isosurface extraction in scientific visualization. In J. Abello and J. S. Vitter, Eds., External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, RI. 247-277.]] Google ScholarDigital Library
- CLARK,D.R.AND MUNRO, J. I. 1996. Efficient suffix trees on secondary storage. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Atlanta, June), Vol. 7, 383-391.]] Google ScholarDigital Library
- CLARKSON,K.L.AND SHOR, P. W. 1989. Applications of random sampling in computational geometry, II. Discrete and Computational Geometry 4, 387- 421.]]Google ScholarDigital Library
- COLVIN,A.AND CORMEN, T. H. 1998. ViC*: A compiler for virtual-memory c*. In Proceedings of the International Workshop on High-Level Programming Models and Supportive Environments, Vol. 3.]] Google ScholarDigital Library
- COMER, D. 1979. The ubiquitous B-tree. ACM Computing Surveys 11, 2, 121-137.]] Google ScholarDigital Library
- CORBETT, P., FEITELSON, D., FINEBERG, S., HSU,Y., NITZBERG, B., PROST, J.-P., SNIR, M., TRAVERSAT, B., AND WONG, P. 1996. Overview of the MPI- IO parallel I/O interface. In R., Jain, J., Werth, and J. C. Browne, Eds., Input/Output in Parallel and Distributed Computer Systems, Vol. 362 of The Kluwer International Series in Engineering and Computer Science, Kluwer Academic, Chapter 5, 127-146.]]Google Scholar
- CORBETT,P.F.AND FEITELSON, D. G. 1996. The Vesta parallel file system. ACM Transactions on Computer Systems 14, 3 (August), 225-264.]] Google ScholarDigital Library
- CORMEN,T.H.AND NICOL, D. M. 1998. Performing out-of-core FFTs on parallel disk systems. Parallel Computing 24, 1 (Jan.), 5-20.]] Google ScholarDigital Library
- CORMEN, T. H., LEISERSON,C.E.,AND RIVEST,R.L. 1990. Introduction to Algorithms. MIT Press, Cambridge, MA.]] Google ScholarDigital Library
- CORMEN, T. H., SUNDQUIST,T.,AND WISNIEWSKI,L.F. 1999. Asymptotically tight bounds for performing BMMC permutations on parallel disk systems. SIAM Journal on Computing 28, 1, 105- 136.]] Google ScholarDigital Library
- CRAUSER,A.AND FERRAGINA, P. 1999. On constructing suffix arrays in external memory. In Proceedings of the European Symposium on Algorithms, Vol. 1643 of Lecture Notes in Computer Science, Springer-Verlag.]] Google ScholarDigital Library
- CRAUSER,A.AND MEHLHORN, K. 1999. LEDA-SM: Extending LEDA to secondary memory. In J. S., Vitter, and C., Zaroliagis, Eds., Proceedings of the European Symposium on Algorithms, Vol. 1643 of Lecture Notes in Computer Science (London, July), Springer-Verlag, 228-242.]] Google ScholarDigital Library
- CRAUSER, A., FERRAGINA, P., MEHLHORN, K., MEYER,U., AND RAMOS, E. A. 1998. Randomized externalmemory algorithms for geometric problems. In Proceedings of the ACM Symposium on Computational Geometry (June), Vol. 14, 259-268.]] Google ScholarDigital Library
- CRAUSER, A., FERRAGINA, P., MEHLHORN, K., MEYER,U., AND RAMOS, E. A. 1999. I/O-optimal computation of segment intersections. In J., Abello, and J. S. Vitter, Eds., External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, RI, 131-138.]] Google ScholarDigital Library
- CYPHER,R.AND PLAXTON, G. 1993. Deterministic sorting in nearly logarithmic time on the hypercube and related computers. Journal of Computer and System Sciences 47, 3, 501-548.]] Google ScholarDigital Library
- DE BERG, M., GUDMUNDSSON, J., HAMMAR, M., AND OVERMARS, M. 2000. On R-trees with low stabbing number. In Proceedings of the European Symposium on Algorithms, Vol. 1879 of Lecture Notes in Computer Science (Saarbrucken, Germany, Sept.), Springer-Verlag, 167-178.]] Google ScholarDigital Library
- DE BERG, M., VAN KREVELD, M., OVERMARS, M., AND SCHWARZKOPF, O. 1997. Computational Geometry Algorithms and Applications. Springer- Verlag, Berlin.]] Google ScholarDigital Library
- DEHNE, F., DITTRICH,W.,AND HUTCHINSON, D. 1997. Efficient external memory algorithms by simulating coarse-grained parallel algorithms. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (June), Vol. 9, 106-115.]] Google ScholarDigital Library
- DEHNE, F., HUTCHINSON,D.,AND MAHESHWARI, A. 1999. Reducing I/O complexity by simulating coarse grained parallel algorithms. In Proceedings of the International Parallel Processing Symmposium (April), Vol. 13, 14-20.]] Google ScholarDigital Library
- DEMUTH, H. B. 1956. Electronic data sorting. Ph.D., Stanford University. A shortened version appears in IEEE Transactions on Computing C-34, 4, (April), 296-310, 1985, Special Issue on Sorting, E. E. Lindstrom, C. K. Wong, and J. S. Vitter, Eds.]]Google Scholar
- DENNING, P. J. 1980. Working sets past and present. IEEE Transactions on Software Engineering SE-6, 64-84.]]Google ScholarDigital Library
- DEWITT,D.J.,NAUGHTON,J.F.,AND SCHNEIDER,D.A. 1991. Parallel sorting on a shared-nothing architecture using probabilistic splitting. In Proceedings of the International Conference on Parallel and Distributed Information Systems (Dec.), Vol. 1, 280-291.]] Google ScholarDigital Library
- DITTRICH, W., HUTCHINSON,D.,AND MAHESHWARI,A. 1998. Blocking in parallel multisearch problems. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures, Vol. 10, 98-107.]] Google ScholarDigital Library
- DRISCOLL, J. R., SARNAK, N., SLEATOR,D.D.,AND TARJAN, R. E. 1989. Making data structures persistent. Journal of Computer and System Sciences 38, 86-124.]] Google ScholarDigital Library
- EASTON, M. C. 1986. Key-sequence data sets on indelible storage. IBM Journal of Research and Development 30, 230-241.]] Google ScholarDigital Library
- EDELSBRUNNER, H. 1983a. A new approach to rectangle intersections, part I. International Journal of Computer Mathematics 13, 209-219.]]Google ScholarCross Ref
- EDELSBRUNNER, H. 1983b. A new approach to rectangle intersections, part II. International Journal of Computer Mathematics 13, 221-229.]]Google ScholarCross Ref
- ENBODY,R.J.AND DU, H. C. 1988. Dynamic hashing schemes. ACM Computing Surveys 20, 2 (June), 85-113.]] Google ScholarDigital Library
- EPPSTEIN, D., GALIL, Z., ITALIANO,G.F.,AND NISSENZWEIG, A. 1997. Sparsification-A technique for speeding up dynamic graph algorithms. Journal of the ACM 44, 5, 669-96.]] Google ScholarDigital Library
- EVANGELIDIS, G., LOMET,D.B.,AND SALZBERG, B. 1997. The hB5-tree: A multi-attribute index supporting concurrency, recovery and node consolidation. VLDB Journal 6, 1-25.]] Google ScholarDigital Library
- FAGIN, R., NIEVERGELT, J., PIPPINGER,N.,AND STRONG, H. R. 1979. Extendible hashing-A fast access method for dynamic files. ACMTransactions on Database Systems 4, 3, 315-344.]] Google ScholarDigital Library
- FARACH, M., FERRAGINA,P.,AND MUTHUKRISHNAN,S. 1998. Overcoming the memory bottleneck in suffix tree construction. In Proceedings of the IEEE Symposium on Foundations of Computer Science (Palo Alto, Nov.), Vol. 39, 174-183.]] Google ScholarDigital Library
- FEIGENBAUM, J., KANNAN, S., STRAUSS, M., AND VISWANATHAN, M. 1999. An approximate l1- difference algorithm for massive data streams. In Proceedings of the IEEE Symposium on Foundations of Computer Science (New York, Oct.), Vol. 40, 501-511.]] Google ScholarDigital Library
- FELLER, W. 1968. An Introduction to Probability Theory and its Applications, Vol. 1, 3rd edition. John Wiley, New York.]]Google Scholar
- FERRAGINA,P.AND GROSSI, R. 1996. Fast string searching in secondary storage: Theoretical developments and experimental results. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Atlanta, June), Vol. 7, 373- 382.]] Google ScholarDigital Library
- FERRAGINA,P.AND GROSSI, R. 1999. The string B- tree: A new data structure for string search in external memory and its applications. Journal of the ACM 46, 2 (March), 236-280.]] Google ScholarDigital Library
- FERRAGINA,P.AND LUCCIO, F. 1998. Dynamic dictionary matching in external memory. Information and Computation 146, 2 (Nov.), 85-99.]] Google ScholarDigital Library
- FLAJOLET, P. 1983. On the performance evaluation of extendible hashing and trie searching. Acta Informatica 20, 4, 345-369.]]Google ScholarDigital Library
- FLOYD, R. W. 1972. Permuting information in idealized two-level storage. In R. Miller and J. Thatcher, Eds., Complexity of Computer Computations. Plenum, New York, 105-109.]]Google Scholar
- FRAKES,W.AND BAEZA-YATES, R. Eds. 1992. Information Retrieval: Data Structures and Algorithms. Prentice-Hall.]] Google ScholarDigital Library
- FRIGO, M., LEISERSON, C. E., PROKOP, H., AND RAMACHANDRAN, S. 1999. Cache-oblivious algorithms. In Proceedings of the IEEE Symposium on Foundations of Computer Science, Vol. 40.]] Google ScholarDigital Library
- FUNKHOUSER, T. A., SEQUIN,C.H.,AND TELLER,S.J. 1992. Management of large amounts of data in interactive building walkthroughs. In Proceedings of the ACMSIGGRAPH Conference on Computer Graphics (Boston, March), 11-20.]] Google ScholarDigital Library
- GAEDE,V.AND GUNTHER, O. 1998. Multidimensional access methods. ACMComputing Surveys 30, 2 (June), 170-231.]] Google ScholarDigital Library
- GANGER, G. R. 1995. Generating representative synthetic workloads: An unsolved problem. In Proceedings of the Computer Measurement Group Conference (Dec.), Vol. 21, 1263-1269.]]Google Scholar
- GARDNER, M. 1977. Magic Show. Knopf, New York, Chapter 7.]]Google Scholar
- GARGANTINI, I. 1982. An effective way to represent quadtrees. Communications of the ACM 25,12 (Dec.), 905-910.]] Google ScholarDigital Library
- GIBSON, G. A., VITTER,J.S.,AND WILKES, J. 1996. Report of the working group on storage I/O issues in large-scale computing. ACM Computing Surveys 28, 4 (Dec.), 779-793.]] Google ScholarDigital Library
- GIONIS, A., INDYK,P.,AND MOTWANI, R. 1999. Similarity search in high dimensions via hashing. In Proceedings of the International Conference on Very Large Databases (Edinburgh), Vol. 25, Morgan Kaufmann, San Mateo, CA, 78-89.]] Google ScholarDigital Library
- GOLDMAN, R., SHIVAKUMAR, N., VENKATASUBRAMANIAN, S., AND GARCIA-MOLINA, H. 1998. Proximity search in databases. In Proceedings of the International Conference on Very Large Databases (August), Vol. 24, 26-37.]] Google ScholarDigital Library
- GOODRICH,M.T.,TSAY, J.-J., VENGROFF,D.E.,AND VITTER, J. S. 1993. External-memory computational geometry. In Proceedings of the IEEE Symposium on Foundations of Computer Science Palo Alto (Nov.), Vol. 34, 714-723.]]Google ScholarDigital Library
- GOVINDARAJAN, S., LUKOVSZKI, T., MAHESHARI, A., AND ZEH, N. 2000. I/O-efficient well-separated pair decomposition and its applications. In Proceedings of the European Symposium on Algorithms (Saarbrucken, Germany, Sept.), Vol. 1879 of Lecture Notes in Computer Science, Springer- Verlag.]] Google ScholarDigital Library
- GREENE, D. 1989. An implementation and performance analysis of spatial data access methods. In Proceedings of IEEE International Conference on Data Engineering, Vol. 5, 606-615.]] Google ScholarDigital Library
- GRIFFIN, J. L., SCHLOSSER,S.W.,GANGER,G.R.,AND NAGLE, D. F. 2000. Modeling and performance of MEMS-based storage devices. In Procedings of ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems (Santa Clara, CA, June).]] Google ScholarDigital Library
- GROSSI,R.AND ITALIANO, G. F. 1999. Efficient crosstrees for external memory. In J. Abello and J. S. Vitter, Eds., External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society, Providence, RI, 87-106.]] Google ScholarDigital Library
- GROSSI,R.AND ITALIANO, G. F. 1997. Efficient splitting and merging algorithms for order decomposable problems. Information and Computation (in press). An earlier version appears in Proceedings of the International Colloquium on Automata, Languages and Programming, Vol. 1256 of Lecture Notes in Computer Science, Springer-Verlag, 605-615.]] Google ScholarDigital Library
- GUPTA,S.K.S.,LI, Z., AND REIF, J. H. 1995. Generating efficient programs for two-level memories from tensor-products. In Proceedings of the IASTED/ISMM International Conference on Parallel and Distributed Computing and Systems (Washington, DC, Oct.), Vol. 7, 510- 513.]]Google Scholar
- GUSFIELD, D. 1997. Algorithms on Strings, Trees, and Sequences. Cambridge University Press, Cambridge, UK.]] Google ScholarDigital Library
- GUTTMAN, A. 1984. R-trees: Adynamic index structure for spatial searching. In Proceedings of the ACM SIGMOD International Conference on Management of Data, 47-57.]] Google ScholarDigital Library
- HELLERSTEIN, J. M., KOUTSOUPIAS, E., AND PAPADIMITRIOU, C. H. 1997. On the analysis of indexing schemes. In Proceedings of the ACM Symposium on Principles of Database Systems (Tucson, AZ, May), Vol. 16, 249-256.]] Google ScholarDigital Library
- HELLERSTEIN, L., GIBSON, G., KARP, R. M., KATZ,R.H., AND PATTERSON, D. A. 1994. Coding techniques for handling failures in large disk arrays. Algorithmica 12, 2-3, 182-208.]]Google ScholarDigital Library
- HENZINGER, M. R., RAGHAVAN,P.,AND RAJAGOPALAN,S. 1999. Computing on data streams. In J. Abello and J. S. Vitter, Eds., External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, RI, 107-118.]] Google ScholarDigital Library
- HINRICHS, K. H. 1985. The grid file system: Implementation and case studies of applications. PhD Thesis, Dept. Information Science, ETH, Zurich.]]Google Scholar
- HONG,J.W.AND KUNG, H. T. 1981. I/O complexity: The red-blue pebble game. In Proceedings of the ACMSymposium on Theory of Computing (May), Vol. 13, 326-333.]] Google ScholarDigital Library
- HUTCHINSON, D., MAHESHWARI, A., SACK, J.-R., AND VELICESCU, R. 1997. Early experiences in implementing the buffer tree. In Proceedings of the Workshop on Algorithm Engineering, Vol. 1.]]Google Scholar
- HUTCHINSON, D., MAHESHWARI, A., AND ZEH, N. 1999. An external memory data structure for shortest path queries. In Proceedings of the International Conference on Computing and Combinatorics (July), Vol. 1627 of Lecture Notes in Computer Science, Springer-Verlag, 51-60.]]Google ScholarCross Ref
- HUTCHINSON, D. A., SANDERS,P.,AND VITTER,J.S. 2001a. Duality between prefetching and queued writing with applications to integrated caching and prefetching and to external sorting. In Proceedings of the European Symposium on Algorithms (Arhus, Denmark, August), Vol. 2161 of Lecture Notes in Computer Science, Springer-Verlag.]] Google ScholarDigital Library
- HUTCHINSON, D. A., SANDERS,P.,AND VITTER,J.S. 2001b. The power of duality for prefetching and sorting with parallel disks. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (Crete, Greece, July), Vol. 2076 of Lecture Notes in Computer Science, Springer- Verlag.]] Google ScholarDigital Library
- HUTCHINSON, D. A., SANDERS,P.,AND VITTER,J.S. 2001c. Notes.]]Google Scholar
- INDYK, P., MOTWANI, P. R., RAGHAVAN,P.,AND VEMPALA, S. 1997. Locality-preserving hashing in multidimensional spaces. In Proceedings of the ACM Symposium on Theory of Computing (El Paso, TX, May), Vol. 29, 618-625.]] Google ScholarDigital Library
- JENSEN,D.P.C.S.AND THEODORIDIS, Y. 2000. Novel approaches to the indexing of moving object trajectories. In Proceedings of the International Conference on Very Large Databases (Cairo), Vol. 26, 395-406.]] Google ScholarDigital Library
- KALLAHALLA,M.AND VARMAN, P. J. 1999. Optimal read-once parallel disk scheduling. In Proceedings of the Workshop on Input/Output in Parallel and Distributed Systems (Atlanta, GA, May), Vol. 6, 68-77, ACM Press, New York.]] Google ScholarDigital Library
- KALLAHALLA,M.AND VARMAN, P. J. 2001. Optimal prefetching and caching for parallel i/o systems. In Proceedings of the ACM Symposium on Parallel Algorithms and Architectures (Crete, July), Vol. 13.]] Google ScholarDigital Library
- KAMEL,I.AND FALOUTSOS, C. 1993. On packing R- trees. In Proceedings of the International ACM Conference on Information and Knowledge Management, Vol. 2, 490-499.]] Google ScholarDigital Library
- KAMEL, I., AND FALOUTSOS, C. 1994. Hilbert R-tree: An improved R-tree using fractals. In Proceedings of the International Conference on Very Large Databases, Vol. 20, 500-509.]] Google ScholarDigital Library
- KAMEL, I., KHALIL, M., AND KOURAMAJIAN, V. 1996. Bulk insertion in dynamic R-trees. In Proceedings of the International Symposium on Spatial Data Handling, Vol. 4, 3B, 31-42.]]Google Scholar
- KANELLAKIS,P.C.,KUPER,G.M.,AND REVESZ,P.Z. 1990. Constraint query languages. In Proceedings of the ACM Conference Principles of Database Systems, Vol. 9, 299-313.]] Google ScholarDigital Library
- KANELLAKIS,P.C.,RAMASWAMY, S., VENGROFF,D.E.,AND VITTER, J. S. 1996. Indexing for data models with constraints and classes. Journal of Computer and System Sciences 52, 3, 589-612.]] Google ScholarDigital Library
- KANTH,K.V.R.AND SINGH, A. K. 1999. Optimal dynamic range searching in non-replicating index structures. In Proceedings of the International Conference on Database Theory (Jan.), Vol. 1540 of Lecture Notes in Computer Science, Springer- Verlag, 257-276.]] Google ScholarDigital Library
- KIM, M. Y. 1986. Synchronized disk interleaving. IEEE Transactions on Computers 35, 11 (Nov.), 978-988.]] Google ScholarDigital Library
- KIRKPATRICK,D.G.AND SEIDEL, R. 1986. The ultimate planar convex hull algorithm? SIAM Journal on Computing 15, 287-299.]] Google ScholarDigital Library
- KNUTH, D. E. 1998. Sorting and Searching, Vol. 3 of The Art of Computer Programming. 2nd ed., Addison-Wesley, Reading, MA.]] Google ScholarDigital Library
- KNUTH, D. E. 1999. MMIXware. Springer, Berlin.]]Google Scholar
- KNUTH, D. E., MORRIS,J.H.,AND PRATT, V. R. 1977. Fast pattern matching in strings. SIAM Journal on Computing 6, 323-350.]]Google ScholarDigital Library
- KOLLIOS, G., GUNOPULOS,D.,AND TSOTRAS, V. J. 1999. On indexing mobile objects. In Proceedings of the ACM Symposium on Principles of Database Systems, Vol. 18, 261-272.]] Google ScholarDigital Library
- KOUTSOUPIAS,E.AND TAYLOR, D. S. 1998. Tight bounds for 2-dimensional indexing schemes. In Proceedings of the ACM Symposium on Principles of Database Systems (Seattle, June), Vol. 17, 52-58.]] Google ScholarDigital Library
- KRISHNAMURTHY,R.AND WANG, K.-Y. 1985. Multilevel grid files. Technical Report, IBM T. J. Watson Center, Yorktown Heights, NY, November.]]Google Scholar
- KUMAR,V.AND SCHWABE, E. 1996. Improved algorithms and data structures for solving graph problems in external memory. In Proceedings of the IEEE Symposium on Parallel and Distributed Processing (Oct.), Vol. 8, 169- 176.]] Google ScholarDigital Library
- KUSPERT, K. 1983. Storage utilization in B*-trees with a generalized overflow technique. Acta Informatica, 19, 35-55.]]Google ScholarDigital Library
- LARSON, P.-A. 1982. Performance analysis of linear hashing with partial expansions. ACM Transactions on Database Systems 7, 4 (Dec.), 566- 587.]] Google ScholarDigital Library
- LAURINI,R.AND THOMPSON, D. 1992. Fundamentals of Spatial Information Systems. Academic Press.]]Google Scholar
- LEHMAN,P.L.AND YAO, S. B. 1981. Efficient locking for concurrent operations on B-Trees. ACM Transactions on Database Systems 6, 4 (Dec.), 650-570.]] Google ScholarDigital Library
- LEIGHTON, F. T. 1985. Tight bounds on the complexity of parallel sorting. IEEE Transactions on Computers C-34, 4 (April), 344-354. Special issue on sorting, E. E. Lindstrom, C. K. Wong, and J. S. Vitter, Eds.]] Google ScholarDigital Library
- LEISERSON, C. E., RAO,S.,AND TOLEDO, S. 1993. Efficient out-of-core algorithms for linear relaxation using blocking covers. In Proceedings of the IEEE Symposium on Foundations of Computer Science, Vol. 34, 704-713.]]Google ScholarDigital Library
- LI, Z., MILLS,P.H.,AND REIF, J. H. 1996. Models and resource metrics for parallel and distributed computation. Parallel Algorithms and Applications 8, 35-59.]]Google ScholarCross Ref
- LITWIN, W. 1980. Linear hashing: A new tool for files and tables addressing. In Proceedings of the International Conference on Very Large Databases (Montreal, Oct.), Vol. 6, 212-223.]]Google Scholar
- LITWIN,W.AND LOMET, D. 1987. A new method for fast data searches with keys. IEEE Software 4, 2 (March), 16-24.]]Google ScholarDigital Library
- LOMET, D. 1988. A simple bounded disorder file organization with good performance. ACM Transactions on Database Systems 13, 4, 525-551.]] Google ScholarDigital Library
- LOMET,D.B.AND SALZBERG, B. 1990. The hB-tree: A multiattribute indexing method with good guaranteed performance. ACM Transactions on Database Systems 15, 4, 625-658.]] Google ScholarDigital Library
- LOMET,D.B.AND SALZBERG, B. 1997. Concurrency and recovery for index trees. VLDB Journal 6,3, 224-240.]] Google ScholarDigital Library
- MAHESHWARI,A.AND ZEH, N. External memory algorithms for outerplanar graphs. In Proceedings of the International Conference on Computing and Combinatorics (July), Vol. 1627 of Lecture Notes in Computer Science, Springer-Verlag, 51-60.]]Google Scholar
- MAHESHWARI,A.AND ZEH, N. 2001. I/O-efficient algorithms for bounded treewidth graphs. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Washington, DC, Jan.), Vol. 12.]] Google ScholarDigital Library
- MANBER,U.AND MYERS, G. 1993. Suffix arrays: A new method for on-line string searches. SIAM Journal on Computing 22, 5 (Oct.), 935-948.]] Google ScholarDigital Library
- MANBER,U.AND WU, S. 1994. GLIMPSE: A tool to search through entire file systems. In USENIX Association, Ed., Proceedings of the Winter USENIX Conference (San Francisco, Jan.), 23- 32.]] Google ScholarDigital Library
- MARTIN, G. N. N. 1979. Spiral storage: Incrementally augmentable hash addressed storage. Technical Report CS-RR-027, University of Warwick, March.]] Google ScholarDigital Library
- MATIAS, Y., SEGAL, E., AND VITTER, J. S. 2000. Efficient bundle sorting. In Proceedings of the ACM- SIAM Symposium on Discrete Algorithms (San Francisco, Jan.), Vol. 11, 839-848.]] Google ScholarDigital Library
- MCCREIGHT, E. M. 1976. A space-economical suffix tree construction algorithm. Journal of the ACM 23, 2, 262-272.]] Google ScholarDigital Library
- MCCREIGHT, E. M. 1985. Priority search trees. SIAM Journal on Computing 14, 2 (May), 257- 276.]]Google ScholarCross Ref
- MENDELSON, H. 1982. Analysis of extendible hashing. IEEE Transactions on Software Engineering SE-8 (Nov.), 611-619.]]Google ScholarDigital Library
- MEYER, U. 2001. External memory BFS on undirected graphs with bounded degree. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Washington, DC, Jan), Vol. 12.]] Google ScholarDigital Library
- Microsoft 1998. TerraServer online database of satellite images, available on the World-Wide Web at http://terraserver.microsoft.com/.]]Google Scholar
- MOHAN, C. 1990 ARIES/KVL: A key-value locking method for concurrency control of multiaction transactions on B-tree indices. In Proceedings of the International Conference on Very Large Databases (Brisbane, August), Vol. 16, 392.]] Google ScholarDigital Library
- MORRISON, D. R. 1968. Patricia: Practical algorithm to retrieve information coded in alphanumeric. Journal of the ACM 15, 514-534.]] Google ScholarDigital Library
- MOYER,S.A.AND SUNDERAM, V. 1996. Characterizing concurrency control performance for the PIOUS parallel file system. Journal of Parallel and Distributed Computing 38, 1 (Oct.), 81-91.]] Google ScholarDigital Library
- MULLIN, J. K. 1985. Spiral storage: Efficient dynamic hashing with constant performance. The Computer Journal 28, 3 (July), 330-334.]]Google ScholarCross Ref
- MUNAGALA,K.AND RANADE, A. 1999. I/O- complexity of graph algorithms. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Baltimore, Jan.), Vol. 10, 687-694.]] Google ScholarDigital Library
- NASA 1999. Earth Observing System (EOS) web page, NASA Goddard Space Flight Center, http://eospso.gsfc.nasa.gov/.]]Google Scholar
- NIEVERGELT,J.AND REINGOLD, E. M. 1973. Binary search tree of bounded balance. SIAM Journal on Computing 2,1.]]Google ScholarCross Ref
- NIEVERGELT,J.AND WIDMAYER, P. 1997. Spatial data structures: Concepts and design choices. In M. van Kreveld, J. Nievergelt, T. Roos, and P. Widmayer, Eds. Algorithmic Foundations of GIS, Vol. 1340 of Lecture Notes in Computer Science, Springer-Verlag, 153 ff.]] Google ScholarDigital Library
- NIEVERGELT, J., HINTERBERGER, H., AND SEVCIK,K.C. 1984. The grid file: An adaptable, symmetric multi-key file structure. ACM Transactions on Database Systems 9, 38-71.]] Google ScholarDigital Library
- NODINE,M.H.AND VITTER, J. S. 1993. Deterministic distribution sort in shared and distributed memory multiprocessors. In Proceedings of the ACMSymposium on Parallel Algorithms and Architectures (Velen, Germany, June-July), Vol. 5, 120-129.]] Google ScholarDigital Library
- NODINE,M.H.AND VITTER, J. S. 1995. Greed Sort: An optimal sorting algorithm for multiple disks. Journal of the ACM 42, 4 (July), 919-933.]] Google ScholarDigital Library
- NODINE, M. H., GOODRICH,M.T.,AND VITTER,J.S. 1996. Blocking for external graph searching. Algorithmica 16, 2 (August), 181-214.]]Google ScholarCross Ref
- NODINE, M. H., LOPRESTI,D.P.,AND VITTER,J.S. 1991. I/O overhead and parallel VLSI architectures for lattice computations. IEEE Transactions on Communications 40, 7 (July), 843- 852.]] Google ScholarDigital Library
- O'NEIL, P. E. 1992. The SB-tree. An indexsequential structure for high-performance sequential access. Acta Informatica 29, 3 (June), 241-265.]] Google ScholarDigital Library
- ORENSTEIN, J. A. 1989. Redundancy in spatial databases. In Proceedings of the ACM SIG- MOD International Conference on Management of Data (Portland, OR, June), 294-305.]] Google ScholarDigital Library
- ORENSTEIN,J.A.AND MERRETT, T. H. 1984. A class of data structures for associative searching. In Proceedings of the ACM Conference Principles of Database Systems, Vol. 3, 181-190.]] Google ScholarDigital Library
- OVERMARS, M. H. 1983. The Design of Dynamic Data Structures. Lecture Notes in Computer Science. Springer-Verlag.]] Google ScholarDigital Library
- PANG, H., CAREY, M., AND LIVNY, M. 1993a. Memoryadaptive external sorts. In Proceedings of the International Conference on Very Large Databases (Dublin), Vol. 19, 618-629.]] Google ScholarDigital Library
- PANG, H., CAREY,M.J.,AND LIVNY, M. 1993b. Partially preemptive hash joins. In P. Buneman and S. Jajodia, Eds. Proceedings of the ACM SIGMOD International Conference on Manage-ment of Data (Washington, DC, May), 59-68.]] Google ScholarDigital Library
- PARSONS, I., UNRAU, R., SCHAEFFER,J.,AND SZAFRON,D. 1997. PI/OT: Parallel I/O templates. Parallel Computing 23, 4 (June), 543-570.]] Google ScholarDigital Library
- PATEL,J.M.AND DEWITT, D. J. 1996. Partition based spatial-merge join. In Proceedings of the ACM SIGMOD International Conference on Management of Data (June), 259-270.]] Google ScholarDigital Library
- PREPARATA,F.P.AND SHAMOS, M. I. 1985. Computa-tional Geometry. Springer-Verlag.]] Google ScholarDigital Library
- RAHMAN,N.,AND RAMAN, R. 2000. Adapting radix sort to the memory hierarchy. In Workshop on Algorithm Engineering and Experimentation (Jan.), Vol. 1982 of Lecture Notes in Computer Science. Springer-Verlag.]]Google Scholar
- RAMASWAMY,S.AND SUBRAMANIAN, S. 1994. Path caching: A technique for optimal external searching. In Proceedings of the ACM Conference Principles of Database Systems (Minneapolis, MN), Vol. 13, 25-35.]] Google ScholarDigital Library
- RAO,J.AND ROSS, K. 1999. Cache conscious indexing for decision-support in main memory. In M. Atkinson et al., Eds. Proceedings of the International Conference on Very Large Databases (Los Altos, CA), Vol. 25, 78-89. Morgan Kaufmann san Mateor, CA.]] Google ScholarDigital Library
- RAO,J.AND ROSS, K. A. 2000. Making BC-trees cache conscious in main memory. In W. Chen, J. Naughton, and P. A. Bernstein, Eds, Proceedings of the ACM SIGMOD International Conference on Management of Data (Dallas). 475- 486.]] Google ScholarDigital Library
- RIEDEL, E., GIBSON,G.A.,AND FALOUTSOS, C. 1998. Active storage for large-scale data mining and multimedia. In Proceedings of the International Conference on Very Large Databases (August), Vol. 22, 62-73.]] Google ScholarDigital Library
- ROBINSON, J. T. 1981. The k-d-b-tree: A search structure for large multidimensional dynamic indexes. In Proceedings of the ACM Conference Principles of Database Systems, Vol. 1, 10-18.]] Google ScholarDigital Library
- ROSENBLUM, M., BUGNION, E., DEVINE,S.,AND HERROD, S. A. 1997. Using the SimOS machine simulator to study complex computer systems. ACM Transactions on Modeling and Computer Simulation 7, 1 (Jan.), 78-103.]] Google ScholarDigital Library
- RUEMMLER,C.AND WILKES, J. 1994. An introduction to disk drive modeling. IEEE Computer (March), 17-28.]] Google ScholarDigital Library
- SALEM,K.AND GARCIA-MOLINA, H. 1986. Disk striping. In Proceedings of IEEE International Conference on Data Engineering (Los Angeles), Vol. 2, 336-242.]] Google ScholarDigital Library
- SALTENIS, S., JENSEN, C. S., LEUTENEGGER,S.T.,AND LOPEZ, M. A. 2000. Indexing the positions of continuously moving objects. In W. Chen, J. Naughton, and P. A. Bernstein, Eds. Proceedings of the ACM SIGMOD International Conference on Management of Data (Dallas), 331-342.]] Google ScholarDigital Library
- SALZBERG,B.AND TSOTRAS, V. J. 1999. Comparison of access methods for time-evolving data. ACM Computing Surveys 31 (June), 158-221.]] Google ScholarDigital Library
- SAMET, H. 1989a. Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison-Wesley.]] Google ScholarDigital Library
- SAMET, H. 1989b. The Design and Analysis of Spatial Data Structures. Addison-Wesley.]] Google ScholarDigital Library
- SAMOLADAS,V.AND MIRANKER, D. 1998. A lower bound theorem for indexing schemes and its application to multidimensional range queries. In Proceedings of the ACM Symposium on Principles of Database Systems (Seattle, June), Vol. 17, 44-51.]] Google ScholarDigital Library
- SANDERS, P. 1999. Fast priority queues for cached memory. In Workshop on Algorithm Engineering and Experimentation, Vol. 1619 of Lecture Notes in Computer Science, Springer-Verlag (Jan.), 312-327.]] Google ScholarDigital Library
- SANDERS, P. 2000. Personal communication.]]Google Scholar
- SANDERS, P. 2001. Reconciling simplicity and realism in parallel disk models. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Washington, Jan), Vol. 12.]] Google ScholarDigital Library
- SANDERS, P., EGNER,S.,AND KORST, J. 2000. Fast concurrent access to parallel disks. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (San Francisco, Jan.), Vol. 11, 849- 858.]] Google ScholarDigital Library
- SAVAGE, J. E. 1995. Extending the Hong-Kung model to memory hierarchies. In Proceedings of the International Conference on Computing and Combinatorics (August), Vol. 959 of Lecture Notes in Computer Science, Springer-Verlag, 270-281.]] Google ScholarDigital Library
- SAVAGE,J.E.AND Vitter, J. S. 1987. Parallelism in space-time tradeoffs. In F. P. Preparata, Ed., Advances in Computing Research, Vol. 4, JAI Press, Grreenwich, CT, 117-146.]]Google Scholar
- SCHLOSSER,S.W.,GRIFFIN, J. L., NAGLE,D.F.,AND GANGER, G. R. 2000. Designing computer systems with MEMS-based storage. In Proceedings of the International Conference on Architectural Support for Programming Languages and Operating Systems (Nov.), Vol. 9.]] Google ScholarDigital Library
- SEAMONS,K.E.AND WINSLETT, M. 1996. Multidimensional array I/O in Panda 1.0. Journal of Supercomputing 10, 2, 191-211.]] Google ScholarDigital Library
- SEEGER,B.AND KRIEGEL, H.-P. 1990 The buddytree: An efficient and robust access method for spatial data base systems. In Proceedings of the International Conference on Very Large Databases, Vol. 16, 590-601.]] Google ScholarDigital Library
- SELTZER, M., SMITH, K. A., BALAKRISHNAN, H., CHANG, J., MCMAINS,S.,AND PADMANABHAN, V. 1995. File system logging versus clustering: A performance comparison. In Proceedings of the Annual USENIX Technical Conference (New Orleans), 249-264.]] Google ScholarDigital Library
- SEN,S.AND CHATTERJEE, S. 2000. Towards a theory of cache-efficient algorithms. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (San Francisco, Jan.), Vol. 11.]] Google ScholarDigital Library
- SHRIVER, E., MERCHANT, A., AND WILKES, J. 1998. An analytic behavior model for disk drives with readahead caches and request reordering. In Proceedings of ACM SIGMETRICS Joint International Conference on Measurement and Modeling of Computer Systems (June), 182-191.]] Google ScholarDigital Library
- SHRIVER,E.A.M.AND NODINE, M. H. 1996. An introduction to parallel I/O models and algorithms. In R. Jain, J. Werth, and J. C. Browne, Eds. Input/Output in Parallel and Distributed Computer Systems, Kluwer Academic, Chapter 2, 31-68.]]Google Scholar
- SHRIVER,E.A.M.AND WISNIEWSKI, L. F. 1995. An API for choreographing data accesses. Technical Report PCS-TR95-267, Dept. of Computer Science, Dartmouth College, November.]] Google ScholarDigital Library
- SIBEYN, J. F. 1997. From parallel to external list ranking. Technical Report MPI-I-97-1-021, Max-Planck-Institut, September.]]Google Scholar
- SIBEYN, J. F. 1999. External selection. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, Vol. 1563 of Lecture Notes in Computer Science, Springer-Verlag, 291-301.]]Google ScholarCross Ref
- SIBEYN,J.F.AND KAUFMANN, M. 1997. BSP-like external-memory computation. In Proceedings of the Italian Conference on Algorithms and Complexity, Vol. 3, 229-240.]] Google ScholarDigital Library
- SRINIVASAN, B. 1991. An adaptive overflow technique to defer splitting in b-trees. The Computer Journal 34, 5, 397-405.]] Google ScholarDigital Library
- SRIVASTAVA,A.AND EUSTACE, A. 1994. ATOM: A system for building customized program analysis tools. ACM SIGPLAN Notices 29, 6 (June), 196- 205.]] Google ScholarDigital Library
- SUBRAMANIAN,S.AND RAMASWAMY, S. 1995. The P-range tree: A new data structure for range searching in secondary memory. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms, Vol. 6, 378-387.]] Google ScholarDigital Library
- TAMASSIA,R.AND VITTER, J. S. 1996. Optimal cooperative search in fractional cascaded data structures. Algorithmica 15, 2 (Feb.), 154-171.]]Google ScholarDigital Library
- THAKUR, R., CHOUDHARY, A., BORDAWEKAR, R., MORE,S., AND KUDITIPUDI, S. 1996. Passion: Optimized I/O for parallel applications. IEEE Computer 29, 6 (June), 70-78.]] Google ScholarDigital Library
- TIGER/Line (tm). 1992. Technical documentation. Technical Report, USBureau of the Census.]]Google Scholar
- TOLEDO, S. 1999. A survey of out-of-core algorithms in numerical linear algebra. In J. Abello and J. S. Vitter, Eds. External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, Providence, RI, 161-179.]] Google ScholarDigital Library
- TPIE. 1999. User manual and reference, The manual and software distribution are available on the web at http://www.cs.duke.edu/TPIE/.]]Google Scholar
- ULLMAN,J.D.AND YANNAKAKIS, M. 1991. The input/output complexity of transitive closure. Annals of Mathematics and Artificial Intelligence 3, 331-360.]]Google ScholarCross Ref
- VAN DEN BERCKEN, J., SEEGER,B.,AND WIDMAYER,P. 1997. A generic approach to bulk loading multidimensional index structures. In Proceedings of the International Conference on Very Large Databases, Vol. 23, 406-415.]] Google ScholarDigital Library
- VAN KREVELD, M., NIEVERGELT, J., ROOS, T., AND WINDMAYER, P. Eds. 1997. Algorithmic Foundations of GIS, Vol. 1340 of Lecture Notes in Computer Science, Springer-Verlag.]]Google Scholar
- VARMAN,P.J.AND VERMA, R. M. 1997. An efficient multiversion access structure. IEEE Transactions on Knowledge and Data Engineering 9,3 (May-June), 391-409.]] Google ScholarDigital Library
- VENGROFF,D.E.AND VITTER, J. S. 1996a. Efficient 3-d range searching in external memory. In Proceedings of the ACM Symposium on Theory of Computing (Philadelphia, May), Vol. 28, 192- 201.]] Google ScholarDigital Library
- VENGROFF,D.E.AND VITTER, J. S. 1996b. I/O- efficient scientific computation using TPIE. In Proceedings of NASA Goddard Conference on Mass Storage Systems (Sept.), Vol. 5, II, 553- 570.]]Google Scholar
- VETTIGER, P., DESPONT, M., DRECHSLER, U., DURIG,U., HABERLE, W., LUTWYCHE, M. I., ROTHUIZEN, E., STUTZ, R., WIDMER, R., AND BINNIG, G. K. 2000. The "Millipede"-More than one thousand tips for future AFM data storage. IBM Journal of Research and Development 44, 3, 323-340.]]Google ScholarDigital Library
- VITTER, J. S. 1991. Efficient memory access in large-scale computation. In Proceedings of the Symposium on Theoretical Aspects of Computer Science, invited paper, Vol. 480 of Lecture Notes in Computer Science, Invited Paper, Springer- Verlag, 26-41.]] Google ScholarDigital Library
- VITTER, J. S. 1998. External memory algorithms. In Proceedings of the European Symposium on Algorithms (Venice, Italy, August), Vol. 1461 of Lecture Notes in Computer Science, invited paper, Springer-Verlag.]] Google ScholarDigital Library
- VITTER, J. S. 1999a. External memory algorithms and data structures. In J. Abello and J. S. Vitter, Eds. External Memory Algorithms and Visualization, DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society, Providence, RI.]] Google ScholarDigital Library
- VITTER, J. S. 1999b. Online data structures in external memory. In Proceedings of the International Colloquium on Automata, Languages, and Programming (Prague, August). Vol. 1644 of Lecture Notes in Computer Science, invited paper, Springer-Verlag, 119-133.]] Google ScholarDigital Library
- VITTER, J. S. 1999c. Online data structures in external memory. In Proceedings of the Workshop on Algorithms and Data Structures (Vancouver, August), Vol. 1668 of Lecture Notes in Computer Science, Invited paper. Springer-Verlag.]] Google ScholarDigital Library
- VITTER,J.S.AND FLAJOLET, P. 1990. Average-case analysis of algorithms and data structures. In J. van Leeuwen, Ed., Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity, North-Holland, Chapter 9, 431-524.]] Google ScholarDigital Library
- VITTER,J.S.AND HUTCHINSON, D. A. 2001. Distribution sort with randomized cycling. In Proceedings of the ACM-SIAM Symposium on Discrete Algorithms (Washington, January), Vol. 12.]] Google ScholarDigital Library
- VITTER,J.S.,AND NODINE, M. H. 1993. Large-scale sorting in uniform memory hierarchies. Journal of Parallel and Distributed Computing 17, 107- 114.]] Google ScholarDigital Library
- VITTER,J.S.AND SHRIVER, E. A. M. 1994a. Algorithms for parallel memory I: Two-level memories. Algorithmica 12, 2-3, 110-147.]]Google Scholar
- VITTER,J.S.AND SHRIVER, E. A. M. 1994b. Algorithms for parallel memory II: Hierarchical multilevel memories. Algorithmica 12, 2-3, 148- 169.]]Google Scholar
- VITTER,J.S.AND VENGROFF, D. E. 1999. Notes.]]Google Scholar
- VITTER,J.S.AND WANG, M. 1999. Approximate computation of multidimensional aggregates of sparse data using wavelets. In Proceedings of the ACM SIGMOD International Conference on Management of Data (Philadelphia, June), 193- 204.]] Google ScholarDigital Library
- VITTER,J.S.,WANG, M., AND IYER, B. 1998. Data cube approximation and histograms via wavelets. In Proceedings of the International ACM Conference on Information and Knowledge Management (Washington, Nov.), Vol. 7, 96-104.]] Google ScholarDigital Library
- WANG, M., IYER,B.,AND VITTER, J. S. 1998. Scalable mining for classification rules in relational databases. In Proceedings of the International Database Engineering & Application Symposium (Cardiff, July), 58-67.]] Google ScholarDigital Library
- WANG, M., VITTER,J.S.,LIM, L., AND PADMANABHAN,S. 2001. Wavelet-based cost estimation for spatial queries, July.]]Google Scholar
- WATSON,R.W.AND COYNE, R. A. 1995. The parallel I/Oarchitecture of the high-performance storage system (HPSS). In Proceedings of the IEEE Symposium on Mass Storage Systems (Sept.), Vol. 14, 27-44.]] Google ScholarDigital Library
- WEINER, P. 1973. Linear pattern matching algorithm. In Proceedings of the IEEE Symposium on Switching and Automata Theory (Washington, DC), Vol. 14, 1-11.]]Google ScholarDigital Library
- WILLARD,D.AND LUEKER, G. 1985. Adding range restriction capability to dynamic data structures. Journal of the ACM, 32, 3, 597-617.]] Google ScholarDigital Library
- WOLFSON, O., SISTLA, P., XU, B., ZHOU, J., AND CHAMBERLAIN, S. 1999. DOMINO: Databases fOr MovINg Objects tracking. In A. Delis, C. Faloutsos, and S. Ghandeharizadeh, Eds., Proceedings of the ACM SIGMOD International Conference on Management of Data May, 547- 549.]] Google ScholarDigital Library
- WOMBLE, D., GREENBERG, D., WHEAT,S.,AND RIESEN,R. 1993. Beyond core: Making parallel computer I/O practical. In Proceedings of the DAGS Symposium on Parallel Computation (Hanover, NH, June), 56-63. Vol. 2, Dartmouth Institute for Advanced Graduate Studies.]]Google Scholar
- WU,C.,AND FENG, T. 1981. The universality of the shuffle-exchange network. IEEE Transactions on Computers C-30 (May), 324-332.]]Google Scholar
- YAO, A. C. 1978. On random 2-3 trees. Acta Informatica 9, 159-170.]]Google ScholarDigital Library
- ZDONIK,S.B.AND MAIER, D. Eds. 1990. Readings in Object-Oriented Database Systems. Morgan Kauffman, San Mateo, CA.]] Google ScholarDigital Library
- ZHANG,W.AND LARSON, P.-A. Dynamic memory adjustment for external mergesort. In Proceedings of the International Conference on Very Large Databases (Athens), Vol. 23, 376-385.]] Google ScholarDigital Library
- ZHU, B. 1994. Further computational geometry in secondary memory. In Proceedings of the International Symposium on Algorithms and Computation, Vol. 834 of Lecture Notes in Computer Science, Springer-Verlag, 514 ff.]] Google ScholarDigital Library
Index Terms
- External memory algorithms and data structures: dealing with massive data
Recommendations
External memory algorithms
Handbook of massive data setsData 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 ...
Induced Sorting Suffixes in External Memory
We present in this article an external memory algorithm, called disk SA-IS (DSA-IS), to exactly emulate the induced sorting algorithm SA-IS previously proposed for sorting suffixes in RAM. DSA-IS is a new disk-friendly method for sequentially retrieving ...
Algorithms for parallel memory, I: Two-level memories
We provide the first optimal algorithms in terms of the number of input/outputs (I/Os) required between internal memory and multiple secondary storage devices for the problems of sorting, FFT, matrix transposition, standard matrix multiplication, and ...
Comments