Abstract
As GIS systems frequently handle huge amounts of data it is getting increasingly important to design algorithms with good I/O performance for problems arising in such systems. Many important computational geometry problems are abstractions of important GIS operations, and in recent years a number of basic techniques for designing I/O-efficient algorithms for such problems have been developed. In this chapter we have surveyed these techniques and the algorithms developed using them. However, the young field of I/O-efficient computation is to a large extend still wide open. Even though the experimental results reported so far are encouraging, a major future goal is to investigate the practical merits of the developed I/O algorithms.
Preview
Unable to display preview. Download preview PDF.
References
P. K. Agarwal, L. Arge, T. M. Murali, K. Varadarajan, and J. S. Vitter. 1/0efficient algorithms for contour line extraction and planar graph blocking. In Proc. ACM-SIAM Symp. on Discrete Algorithms, 1998.
A. Aggarwal, B. Alpern, A. K. Chandra, and M. Snir. A model for hierarchical memory. In Proc. ACM Symp. on Theory of Computation, pages 305–314, 1987.
A. Aggarwal and A. K. Chandra. Virtual memory algorithms. In Proc. ACM Symp. on Theory of Computation, pages 173–185, 1988.
A. Aggarwal, A. K. Chandra, and M. Suir. Hierarchical memory with block transfer. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 204–216, 1987.
A. Aggarwal and G. Plaxton. Optimal parallel sorting in multi-level storage. Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 659–668, 1994.
A. Aggarwal and J. S. Vitter. The Input/Output complexity of sorting and related problems. Communications of the ACM, 31(9):1116–1127, 1988.
A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, Reading, MA, 1974.
B. Alpern, L. Carter, and E. Feig. Uniform memory hierarchies. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 600–608, 1990.
R. J. Anderson and G. L. Miller. A simple randomized parallel algorithm for list-ranking. Information Processing Letters, 33:269–273, 1990.
D. S. Andrews, J. Snoeyink, J. Boritz, T. Chan, G. Denham, J. Harrison, and C. Zhu. Further comparisons of algorithms for geometric intersection problems. In Proc. 6th Int'l. Symp. on Spatial Data Handling, 1994.
ARC/INFO. Understanding GIS-the ARC/INFO method. ARC/INFO, 1993. Rev. 6 for workstations.
L. Arge. The buffer tree: A new technique for optimal I/O-algorithms. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 334–345, 1995. A complete version appears as BRIGS technical report RS-96-28, University of Aarhus.
L. Arge. The I/O-complexity of ordered binary-decision diagram manipulation. In Proc. Int. Symp. on Algorithms and Computation, LNCS 1004, pages 82–91, 1995. A complete version appears as BRIGS technical report RS-96-29, University of Aarhus.
L. Arge. Efficient External-Memory Data Structures and Applications. PhD thesis, University of Aarhus, February/August 1996.
L. Arge, P. Ferragina, R. Grossi, and J. Vitter. On sorting strings in external memory. In Proc. ACM Symp. on Theory of Computation, pages 540–548, 1997.
L. Arge, M. Knudsen, and K. Larsen. A general lower bound on the I/O-complexity of comparison-based algorithms. In Proc. Workshop on Algorithms and Data Structures, LNCS 709, pages 83–94, 1993.
L. Arge and P. B, Miltersen. On showing lower bounds for external-memory computational geometry. In preparation.
L. Arge, O. Procopiuc, S. Ramaswamy, T. Suel, and J. S. Vitter. Theory and practice of I/O-efficient algorithms for multidimensional batched searching problems. In Proc. ACM-SIAM Symp. on Discrete Algorithms, 1998.
L. Arge, D. E. Vengroff, and J. S. Vitter. External-memory algorithms for processing line segments in geographic information systems. In Proc. Annual European Symposium on Algorithms, LNCS 979, pages 295–310, 1995. A complete version (to appear in special issue of Algorithmica) appears as BRIGS technical report RS-96-12, University of Aarhus.
L. Arge and J. S. Vitter. Optimal dynamic interval management in external memory. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 560–569, 1996.
R. D. Barve, E. F. Grove, and J. S. Vitter. Simple randomized mergesort on parallel disks. In Proc. ACM Symp. on Parallel Algorithms and Architectures, 1996.
R. Bayer and E. McCreight. Organization and maintenance of large ordered indizes. Acta Informatioa, 1:173–189, 1972.
J. L. Bentley. Algorithms for klee's rectangle problems. Dept. of Computer Science, Carnegie Mellon Univ., unpublished notes, 1977.
J. L. Bentley and D. Wood. An optimal worst case algorithm for reporting intersections of rectangles. IEEE Transactions on Computers, 29:571–577, 1980.
G. Blankenagel and R. H. Güting. XP-trees-External priority search trees. Technical report, FernUniversitiit Hagen, Informatik-Bericht Nr. 92, 1990.
M. Blum, R. W. Floyd, V. Pratt, R. L. Rievest, and R. E. Tarjan. Time bounds for selection. Journal of Computer and System Sciences, 7:448–461, 1973.
P. Callahan, M. T. Goodrich, and K. Ramaiyer. Topology B-trees and their applications. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 381–392, 1995.
T. M. Chan. A simple trapezoid sweep algorithm for reporting red/blue segment intersections. In Proc. of 6th Canadian Conference on Computational Geometry, 1994.
B. Chazelle and H. Edelsbrunner. An optimal algorithm for intersecting line segments in the plane. Journal of the ACM, 39:1–54, 1992.
B. Chazelle, H. Edelsbrunner, L. J. Guibas, and M. Sharir. Algorithms for bichromatic line-segment problems and polyhedral terrains. Algorithmica, 11:116–132, 1994.
B. Chazelle and L. J. Guibas. Fractional cascading: I. A data structuring technique. Algorithmica, 1:133–162, 1986.
Y.-J. Chiang. Experiments on the practical I/O efficiency of geometric algorithms: Distribution sweep vs. plane sweep. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 346–357, 1995.
Y.-J. Chiang, M. T. Goodrich, E. F. Grove, R. Tamassia, D. E. Vengroff, and J. S. Vitter. External-memory graph algorithms. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 139–149, 1995.
Yi-Jen Chiang. Dynamic and I/O-Efficient Algorithms for Computational Geometry and Graph Problems: Theoretical and Experimental Results. PhD thesis, Brown University, August 1995.
D. R. Clark and J. I. Munro. Efficient suffix trees on secondary storage. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 383–391, 1996.
A. Cockcroft. Sun Performance and Tuning. SPARC & Solaris. Sun Microsystems Inc., 1995.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. The MIT Press, Cambridge, Mass., 1990.
Thomas H. Cormen. Virtual Memory for Data Parallel Computing. PhD thesis, Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, 1992.
Thomas H. Cormen. Fast permuting in disk arrays. Journal of Parallel and Distributed Computing, 17(1-2):41–57, 1993.
Thomas H. Cormen and Leonard F. Wisniewski. Asymptotically tight bounds for performing BMMC permutations on parallel disk systems. In Proc. ACM Symp. on Parallel Algorithms and Architectures, pages 130–139, 1993.
D. Cormer. The ubiquitous B-tree. ACM Computing Surveys, 11(2):121–137, 1979.
R. F. Cromp. An intellegent information fusion system for handling the archiving and querying of terabyte-sized spatial databases. In S. R. Tate ed., Report on the Workshop on Data and Image Compression Needs and Uses in the Scientific Community, CESDIS Technical Report Series, TR-93–99, pages 75–84, 1993.
M. de Berg, M. van Kreveld, M. Overmars, and O. Schwarzkopf. Computational Geometry-Algorithms and Applications. Springer Verlag, Berlin, 1997.
H. Edelsbrunner and M. Overmars. Batched dynamic solutions to decomposable searching problems. Journal of Algorithms, 6:515–542, 1985.
P. Ferragina and R. Grossi. A fully-dynamic data structure for external substring search. In Proc. ACM Symp. on Theory of Computation, pages 693–702, 1995.
P. Ferragina and R. Grossi. Fast string searching in secondary storage: Theoretical developments and experimental results. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 373–382, 1996.
R. W. Floyd. Permuting information in idealized two-level storage. In Complexity of Computer Calculations, pages 105–109, 1972. R. Miller and J. Thatcher, Eds. Plenum, New York.
A. Fournier and D. Y. Montuno. Triangulating simple polygons and equivalent problems. ACM Trans. on Graphics, 3(2):153–174, 1984.
P. G. Franciosa and M. Talamo. Orders, implicit k-sets representation and fast halfplane searching. In Proc. Workshop on Orders, Algorithms and Applications (ORDAL'9/4), pages 117–127, 1994.
G. R. Ganger, B. L. Worthington, R. Y. Hou, and Y. N. Patt. Disk arrays. Highperformance, high-reliability storage subsystems. IEEE Computer, 27(3):30–46, 1994.
D. Gifford and A. Spector. The TWA reservation system. Communications of the ACM 27:650–665, 1984.
M. T. Goodrich, J.-J. Tsay, D. E. Vengroff, and J. S. Vitter. External-memory computational geometry. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 714–723, 1993.
R. L. Graham. An efficient algorithm for determining the convex hull of a finite planar set. Information Processing Letters, 1:132–133, 1972.
L. J. Guibas and J. Stolfi. Primitives for the manipulation of general subdivisions and the computation of voronoi diagrams. ACM Trans. on Graphics, 4:74–123, 1985.
Laura M. Haas and William F. Cody. Exploiting extensible dbms in integrated geographic information systems. In Proc. of Advances in Spatial Databases, LNCS 525, 1991.
J. W. Hong and H. T. Kung. I/'O complexity: The red-blue pebble game. In Proc. ACM Symp. on Theory of Computation, pages 326–333, 1981.
S. Huddleston and K. Mehlhorn. A. new data structure for representing sorted lists. Acta Informatica, 17:157–184, 1982.
Ch. Icking, R. Klein, and Th. Ottmann. Priority search trees in secondary memory. In Proc. Graph-Theoretic Concepts in Computer Science, LNCS 314, pages 84–93, 1987.
B. H. H. Juurlink and H. A. G. Wijshoff. The parallel hierarchical memory model. In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 824, pages 240–251, 1993.
P. C. Kanellakis, S. Ramaswamy, D. E. Vengroff, and J. S. Vitter. Indexing for data models with constraints and classes, In Proc. ACM Symp. Principles of Database Systems, 1993. A complete version (to appear in special issue of JCSS on principles of database systems) appears as technical report 90–31, Brown University.
D. G. Kirkpatrick and R. Seidel. The ultimate planar convex hull algorithm? SIAM Journal of Computing, 15:287–299, 1986.
M. Knudsen and K, Larsen. I/O-complexity of comparison and permutation problems. Master's thesis, University of Aarhus, November 1992.
M. Knudsen and K. Larsen. Simulating I/O-algorithms. Master student project, University of Aarhus, August 1993.
D. Knuth. The Art of Computer Programming, Vol. 3 Sorting and Searching. Addison-Wesley, 1973.
V. Kumar and E. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In Proc. IEEE Symp. on Parallel and Distributed Processing, 1996.
R. Laurini and A. D. Thompson. Fundamentals of Spatial Information Systems. A.P.I.C. Series, Academic Press; New York, NY, 1992.
H. G. Mairson and J. Stolfi. Reporting and counting intersections between two sets of line segments. In R. Earnshaw (ed.), Theoretical Foundation of Computer Graphics and CAD, NATO ASI Series, Vol. F40, pages 307–326, 1988.
K. Mulmuley. Computational Geometry. An introduction through randomized algorithms. Prentice-Hall, 1994.
M. H. Nodine, M. T. Goodrich, and J. S. Vitter. Blocking for external graph searching. Algorithmica, 16(2):181–214, 1996.
M. H. Nodine and J. S. Vitter. Deterministic distribution sort in shared and distributed memory multiprocessors. In Proc. ACM Symp. on Parallel Algorithms and Architectures, pages 120–129, 1993.
M. H. Nodine and J. S. Vitter. Paradigms for optimal sorting with multiple disks. In Proc. of the 26th Hawaii Int. Conf. on Systems Sciences, 1993.
M. H. Nodine and J. S. Vitter. Greed sort: An optimal sorting algorithm for multiple disks. Journal of the ACM, pages 919–933, 1995.
M. Overmars, M. Smid, M. de Berg, and M. van Kreveld. Maintaining range trees in secundary memory. Part I: Partitions. Acta Informatica, 27:423–452, 1990.
L. Palazzi and J. Snoeyink. Counting and reporting red/blue segment intersections. In Proc. Workshop on Algorithms and Data Structures, LNCS 709, pages 530–540, 1993.
Yale N. Patt. The I/O subsystem-a candidate for improvement. Guest Editor's Introduction in IEEE Computer, 27(3):15–16, 1994.
F. P. Preparata and M. I. Shamos. Computational Geometry: An Introduction. Springer-Verlag, 1985.
S. Ramaswamy and S. Subramanian. Path caching: A technique for optimal external searching. In Proc. ACM Symp. Principles of Database Systems, 1994.
Chris Ruemmler and John Wilkes. An introduction to disk drive modeling. IEEE Computer, 27(3):17–28, 1994.
H. Samet. Applications of Spatial Data Structures: Computer Graphics, Image Processing, and GIS. Addison Wesley, MA, 1989.
J. E. Savage. Space-time tradeoffs in memory hierarchies. Technical Report CS93-08, Brown University, 1993.
M. Smid. Dynamic Data Structures on Multiple Storage Media. PhD thesis, University of Amsterdam, 1989.
M. Smid and M. Overmars. Maintaining range trees in secundary memory. Part II: Lower bounds. Acta Informatica, 27:453–480, 1990.
S. Subramanian and S. Ramaswamy. The p-range tree: A new data structure for range searching in secondary memory. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 378–387, 1995.
R. E. Tarjan. Amortized computational complexity. SIAM J. Alg. Disc. Meth., 6(2):306–318, 1985.
V. K. Vaishnavi and D. Wood. Rectilinear line segment intersection, layered segment trees, and dynamization. Journal of Algorithms, 3:160–176, 1982.
M. van Kreveld. Geographic information systems. Utrecht University, INF/DOC95-01, 1995.
J. van Leeuwen. Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity. Elsevier, 1990.
D. E. Vengroff. A transparent parallel I/O environment. In Proc. 1994 DAGS Symposium on Parallel Computation, 1994.
D. E. Vengroff. Private communication, 1995.
D. E. Vengroff. TPIE User Manual and Reference. Duke University, 1995. Available via WWW at http://www.cs.duke.edu/~dev.
D. E. Vengroff and J. S. Vitter. Supporting I/O-efficient scientific computation in TPIE. In Proc. IEEE Symp. on Parallel and Distributed Computing, 1995. Appears also as Duke University Dept. of Computer Science technical report CS-1995-18.
D. E. Vengroff and J. S. Vitter. Efficient 3-d range searching in external memory. In Proc. ACM Symp. on Theory of Computation, pages 192–201, 1996.
D. E. Vengroff and J. S. Vitter. I/O-efficient computation: The TPIE approach. In Proceedings of the Goddard Conference on Mass Storage Systems and Technologies, NASA Conference Publication 3340, Volume II, pages 553–570, College Park, MD, September 1996.
J. S. Vitter. Efficient memory access in large-scale computation (invited paper). In Symposium on Theoretical Aspects of Computer Science, LNCS 480, pages 26–41, 1991.
J. S. Vitter and M. H. Nodine. Large-scale sorting in uniform memory hierarchies. Journal of Parallel and Distributed Computing, 17:107–114, 1993.
J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory, I: Two-level memories. Algorithmica, 12(2-3):110–147, 1994.
J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory, II: Hierarchical multilevel memories. Algorithmica, 12(2-3):148–169, 1994.
B. Zhu. Further computational geometry in secondary memory. In Proc. Int. Symp. on Algorithms and Computation, pages 514–522, 994.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Arge, L. (1997). External-memory algorithms with applications in GIS. In: van Kreveld, M., Nievergelt, J., Roos, T., Widmayer, P. (eds) Algorithmic Foundations of Geographic Information Systems. CISM School 1996. Lecture Notes in Computer Science, vol 1340. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63818-0_8
Download citation
DOI: https://doi.org/10.1007/3-540-63818-0_8
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63818-6
Online ISBN: 978-3-540-69653-7
eBook Packages: Springer Book Archive