skip to main content
article
Free Access

An experimental study of priority queues in external memory

Published:31 December 2000Publication History
Skip Abstract Section

Abstract

In this paper we compare the performance of eight different priority queue implementations: four of them are explicitly designed to work in an external-memory setting, the others are standard internal-memory queues available in the LEDA library [Mehlhorn and Näher 1999]. Two of the external-memory priority queues are obtained by engineering known internal-memory priority queues with the aim of achieving effective performance on external storage devices (i.e., Radix heaps [Ahuja et al. 1990] and array heaps [Thorup 1996]). Our experimental framework includes some simple tests, like random sequences of insert or delete-minimum operations, as well as more advanced tests consisting of intermixed sequences of update operations and "application driven" update sequences originated by simulations of Dijkstra's algorithm on large graph instances. Our variegate spectrum of experimental results gives a good picture of the features of these priority queues, thus being helpful to anyone interested in the use of such data structures on very large data sets.

Skip Supplemental Material Section

Supplemental Material

References

  1. AHUJA, R., MEHLHORN, K., ORLIN, J., AND TARJAN, R. 1990. Faster algorithms for the shortest path problem. Journal of the ACM 37, 213-223.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. ARGE, L. 1995. The buffer tree: A new technique for optimal I/O-algorithms. In Proceedings of the 4th International Workshop on Algorithms and Data Structures, Lecture Notes in Computer Science 955 (1995), pp. 334-345.]] Google ScholarGoogle ScholarCross RefCross Ref
  3. BARVE, R. D., GROVE, E. F., AND VITTER, J. S. 1997. Simple randomized mergesort on parallel disks. Parallel Computing 23, 4, 601-631.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. BAYER, R. AND MCCREIGHT, E. 1972. Organization and maintenance of large ordered indices. Acta Informatica 1, 173-189.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BRODAL, G. S. AND KATAJAINEN, J. 1998. Worst-case efficient external-memory priority queues. In Proceedings of the 6th Scandinavian Workshop on Algorithmic Theory, Lecture Notes in Computer Science 1432 (1998), pp. 107-118.]] Google ScholarGoogle ScholarCross RefCross Ref
  6. CHERKASSKY, B. V., GOLDBERG, A. V., AND SILVERSTEIN, C. 1999. Buckets, heaps, lists, and monotone priority queues. SIAM Journal on Computing 28, 4, 1326-1346.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CHIANG, Y., GOODRICH, M. T., GROVE, E. F., TAMASSIA, R., VENGROFF, D. E., AND VITTER, J. S. 1995. External-memory graph algorithms. In Proceedings of the 6th Annual ACM-SIAM Symposium on Discrete Algorithms (1995), pp. 139-149.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CRAUSER, A. 1998. On the performance of LEDA-SM. Technical report, Max-Planck Institut für Informatik.]]Google ScholarGoogle Scholar
  9. CRAUSER, A. AND FERRAGINA, P. 2000. A theoretical and experimental study on the construction of suffix arrays in external memory. Algorithmica, to appear. Also Proceedings of the European Symposium on Algorithms, LNCS 1643, pp. 224-235.]] Google ScholarGoogle Scholar
  10. CRAUSER, A. AND MEHLHORN, K. 1999. LEDA-SM, extending LEDA to secondary memory. In Proceedings of the 3rd International Workshop on Algorithmic Engineering, Lecture Notes in Computer Science 1668 (1999), pp. 228-242.]] Google ScholarGoogle ScholarCross RefCross Ref
  11. CRAUSER, A., MEHLHORN, K., MEYER, U., AND SANDERS, P. 1998. A parallelization of dijkstra's shortest path algorithm. In Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science, Lecture Notes in Computer Science 1450 (1998), pp. 722-731.]] Google ScholarGoogle ScholarCross RefCross Ref
  12. DIJKSTRA, E. 1959. A note on two problems in connection with graphs. Num. Math. 1, 269-271.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. FADEL, R., JAKOBSEN, K. V., KATAJAINEN, J., AND TEUHOLA, J. 1999. Heaps and heapsort on secondary storage. Theoretical Computer Science 220, 2, 345-362.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. FARACH, M., FERRAGINA, P., AND MUTHUKRISHNAN, S. 1998. Overcoming the memory bottleneck in suffix tree construction. In Proceedings of the 39th IEEE Symposium on Foundations of Computer Science (1998), pp. 174-185.]] Google ScholarGoogle ScholarCross RefCross Ref
  15. FREDMAN, M. AND TARJAN, R. 1987. Fibonacci heaps and their use in improved network optimization algorithms. Journal of the ACM 34, 596-615.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. HUTCHINSON, D., MAHESHWARI, A., SACK, J., AND VELICESCU, R. 1997. Early experiences in implementing buffer trees. In Proceedings of the 2nd International Workshop on Algorithmic Engineering (1997), pp. 92-103.]]Google ScholarGoogle Scholar
  17. IEEE. 1987. IEEE standard 754-1985 for binary floating-point arithmetic, reprinted in SIGPLAN 22.]]Google ScholarGoogle Scholar
  18. KUMAR, V. AND SCHWABE, E. J. 1996. Improved algorithms and data structures for solving graph problems in external memory. In Proceedings of the 8th IEEE Symposium on Parallel and Distributed Processing (1996), pp. 169-177.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. LAMARCA, A. AND LADNER, R. 1997. The influence of caches on the performance of heaps. ACM Journal of Experimental Algorithmics 1, article 4.]] Google ScholarGoogle Scholar
  20. MANBER, U. AND MYERS, C. 1993. Suffix arrays: a new method for on-line string searches. SIAM Journal on Computing 22, 5, 935-948.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. MEHLHORN, K. AND NÄHER, S. 1999. LEDA: A Platform of Combinatorial and Geometric Computing. Cambridge University Press, Cambridge, England.]] Google ScholarGoogle Scholar
  22. NAOR, D., MARTEL, C., AND MATLOFF, N. 1991. Performance of priority queues in a virtual memory environment. The Computer Journal 34, 5, 428-437.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. RUEMMLER, C. AND WILKES, J. 1994. An introduction to disk drive modeling. IEEE Computer 27, 3, 17-29.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. SHRIVER, E. AND VITTER, J. 1994. Optimal algorithms for parallel memory i: Two-level memories. Algorithmica 12, 2-3, 110-147.]]Google ScholarGoogle Scholar
  25. THORUP, M. 1996. On RAM priority queues. In Proceedings of the Seventh Annual ACM-SIAM Symposium on Discrete Algorithms (1996), pp. 59-67.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. VENGROFF, D. E. AND VITTER, J. S. 1995. Supporting I/O-efficient scientific computation in TPIE. In Proceedings of the IEEE Symposium on Parallel and Distributed Processing (1995), pp. 74-77.]] Google ScholarGoogle ScholarCross RefCross Ref
  27. VITTER, J. 1998. External memory algorithms. In ACM Symposium on Principles of Database Systems (1998). Also invited paper in European Symposium on Algorithms, 1998.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. WILLIAM, J. 1964. Algoritm 232 (heapsort). Communication of the ACM 7, 347-348.]]Google ScholarGoogle Scholar

Index Terms

  1. An experimental study of priority queues in external memory

        Recommendations

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Journal of Experimental Algorithmics
          ACM Journal of Experimental Algorithmics  Volume 5, Issue
          2000
          418 pages
          ISSN:1084-6654
          EISSN:1084-6654
          DOI:10.1145/351827
          Issue’s Table of Contents

          Copyright © 2000 ACM

          Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 31 December 2000
          Published in jea Volume 5, Issue

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader