Skip to main content

Fast Priority Queues for Cached Memory

  • Chapter
  • First Online:
Algorithm Engineering and Experimentation (ALENEX 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1619))

Included in the following conference series:

Abstract

The cache hierarchy prevalent in todays high performance processors has to be taken into account in order to design algorithms which perform well in practice. We advocates the approach to adapt external memory algorithms to this purpose. We exemplify this approach and the practical issues involved by engineering a fast priority queue suited to external memory and cached memory which is based on k-way merging. It improves previous external memory algorithms by constant factors crucial for transferring it to cached memory. Running in the cache hierarchy of a workstation the algorithm is at least two times faster than an optimized implementation of binary heaps and 4-ary heaps for large inputs.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Arge. The buffer tree: A new technique for optimal I/O-algorithms. In 4th Workshop on Algorithms and Data Structures, number 955 in LNCS, pages 334–345. Springer, 1995.

    Google Scholar 

  2. R. D. Barve, E. F. Grove, and J. S. Vitter. Simple randomized mergesort on parallel disks. Parallel Computing, 23(4):601–631, 1997.

    Article  MATH  MathSciNet  Google Scholar 

  3. Gerth Stølting Brodal and Jyrki Katajainen. Worst-case efficient external-memory priority queues. In 6th Scandinavian Workshop on Algorithm Theory, number 1432 in LNCS, page 107ff. Springer Verlag, Berlin, 1998.

    Google Scholar 

  4. R. Brown. Calendar queues: A fast O(1) priority queue implementation for the simulation event set problem. Communications of the ACM, 31(10):1220–1227, 1988.

    Article  Google Scholar 

  5. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. McGraw-Hill, 1990.

    Google Scholar 

  6. A. Crauser and K. Mehlhorn et. al. On the performance of LEDA-SM. Technical Report MPI-I-98-1-028, Max Planck Institute for Computer Science, 1998.

    Google Scholar 

  7. A. Crauser, P. Ferragina, and U. Meyer. Efficient priority queues in external memory. working paper, October 1997.

    Google Scholar 

  8. R. Fadel, K. V. Jakobsen, J. Katajainen, and J. Teuhola. External heaps combined with effective buffering. In 4th Australasian Theory Symposium, volume 19-2 of Australian Computer Science Communications, pages 72–78. Springer, 1997.

    Google Scholar 

  9. M. J. Fischer and M. S. Paterson. Fishspear: A priority queue algorithm. Journal of the ACM, 41(1):3–30, 1994.

    Article  MATH  Google Scholar 

  10. J. L. Hennessy and D. A. Patterson. Computer Architecture a Quantitative Approach. Morgan Kaufmann, 1996.

    Google Scholar 

  11. Intel Corporation, P.O. Box 5937, Denver, CO, 80217-9808, http://www.intel.com. Intel Archtecture Software Developer’s Manual. Volume I: Basic Architecture, 1997. Ordering Number 243190.

  12. D. Jones. An empirical comparison of priority-queue and event set implementations. Communications of the ACM, 29(4):300–311, 1986.

    Article  Google Scholar 

  13. J. Keller. The 21264: A superscalar alpha processor with out-of-order execution. In Microprocessor Forum, October 1996.

    Google Scholar 

  14. D. E. Knuth. The Art of Computer Programming — Sorting and Searching, volume 3. Addison Wesley, 1973.

    Google Scholar 

  15. A. LaMarca and R. E. Ladner. The influence of caches on the performance of heaps. ACM Journal of Experimental Algorithmics, 1(4), 1996.

    Google Scholar 

  16. A. LaMarca and R. E. Ladner. The influence of caches on the performance of sorting. In 8th ACM-SIAM Symposium on Discrete Algorithm, pages 370–379, 1997.

    Google Scholar 

  17. MIPS Technologies, Inc. R10000 Microprocessor User’s Manual, 2.0 edition, 1998. http://www.mips.com.

  18. J. von Neumann. First draft of a report on the EDVAC. Technical report, University of Pennsylvania, 1945.

    Google Scholar 

  19. Sun Microsystems. UltraSPARC-IIi User’s Manual, 1997.

    Google Scholar 

  20. D. E. Vengroff. TPIE User Manual and Reference, 1995. http://www.cs.duke.edu/~dev/tpie_home_page.html.

  21. J. S. Vitter. External memory algorithms. In 6th European Symposium on Algorithms, number 1461 in LNCS, pages 1–25. Springer, 1998.

    Google Scholar 

  22. J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory I: Two level memories. Algorithmica, 12(2–3):110–147, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  23. L. M. Wegner and J. I. Teuhola. The external heapsort. IEEE Transactions on Software Engineering, 15(7):9–925, July 1989.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Sanders, P. (1999). Fast Priority Queues for Cached Memory. In: Goodrich, M.T., McGeoch, C.C. (eds) Algorithm Engineering and Experimentation. ALENEX 1999. Lecture Notes in Computer Science, vol 1619. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48518-X_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-48518-X_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66227-3

  • Online ISBN: 978-3-540-48518-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics