Advertisement

Priority queues on parallel machines

  • Gerth Stølting Brodal
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1097)

Abstract

We present time and work optimal priority queues for the CREW PRAM, supporting FindMin in constant time with one processor and MakeQueue, Insert, Meld, Findmin, Extractmin, Delete and DecreaseKey in constant time with O(log n) processors. A priority queue can be build in time O(log n) with O(n/log n) processors and k elements can be inserted into a priority queue in time O(log k) with O((log n + k)/log k) processors. With a slowdown of O(log log n) in time the priority queues adopt to the EREW PRAM by only increasing the required work by a constant factor. A pipelined version of the priority queues adopt to a processor array of size O(log n), supporting the operations MakeQueue, Insert, Meld, FindMin, Extractmin, Delete and DecreaseKey in constant time.

Keywords

Minimum Element Priority Queue Processor Array Rank Zero Information Processing Letter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Gerth Stølting Brodal. Fast meldable priority queues. In Proc. 4th Workshop on Algorithms and Data Structures (WADS), volume 955 of Lecture Notes in Computer Science, pages 282–290. Springer Verlag, Berlin, 1995.Google Scholar
  2. 2.
    Gerth Stølting Brodal. Worst-case efficient priority queues. In Proc. 7th ACM-SIAM Symposium on Discrete Algorithms (SODA), pages 52–58, 1996.Google Scholar
  3. 3.
    Danny Z. Chen and Xiaobo Hu. Fast and efficient operations on parallel priority queues (preliminary version). In Algorithms and Computation: 5th International Symposium, ISAAC '93, volume 834 of Lecture Notes in Computer Science, pages 279–287. Springer Verlag, Berlin, 1994.Google Scholar
  4. 4.
    Paul F. Dietz. Heap construction in the parallel comparison tree model. In Proc. 3rd Scandinavian Workshop on Algorithm Theory (SWAT), volume 621 of Lecture Notes in Computer Science, pages 140–150. Springer Verlag, Berlin, 1992.Google Scholar
  5. 5.
    Paul F. Dietz and Rajeev Raman. Very fast optimal parallel algorithms for heap construction. In Proc. 6th Symposium on Parallel and Distributed Processing, pages 514–521, 1994.Google Scholar
  6. 6.
    James R. Driscoll, Harold N. Gabow, Ruth Shrairman, and Robert E. Tarjan. Relaxed heaps: An alternative to fibonacci heaps with applications to parallel computation. Communications of the ACM, 31(11):1343–1354, 1988.CrossRefGoogle Scholar
  7. 7.
    Robert W. Floyd. Algorithm 245: Treesort3. Communications of the ACM, 7(12):701, 1964.Google Scholar
  8. 8.
    Michael L. Fredman, Robert Sedgewick, Daniel D. Sleator, and Robert E. Tarjan. The pairing heap: A new form of self-adjusting heap. Algorithmica, 1:111–129, 1986.Google Scholar
  9. 9.
    Michael L. Fredman and Robert Endre Tarjan. Fibonacci heaps and their uses in improved network optimization algorithms. In Proc. 25rd Ann. Symp. on Foundations of Computer Science (FOCS), pages 338–346, 1984.Google Scholar
  10. 10.
    Joseph JáJá. An Introduction to Parallel Algorithms. Addison-Wesley, 1992.Google Scholar
  11. 11.
    C. M. Khoong. Optimal parallel construction of heaps. Information Processing Letters, 48:159–161, 1993.Google Scholar
  12. 12.
    F. Thomson Leighton. Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes. Morgan Kaufmann, 1992.Google Scholar
  13. 13.
    Kurt Mehlhorn and Athanasios K. Tsakalidis. Data structures. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity. MIT Press/Elsevier, 1990.Google Scholar
  14. 14.
    Maria Cristina Pinotti, Sajal K. Das, and Vincenzo A. Crupi. Parallel and distributed meldable priority queues based on binomial heaps. In Int. Conference on Parallel Processing, 1996.Google Scholar
  15. 15.
    Maria Cristina Pinotti and Geppino Pucci. Parallel priority queues. Information Processing Letters, 40:33–40, 1991.Google Scholar
  16. 16.
    Maria Cristina Pinotti and Geppino Pucci. Parallel algorithms for priority queue operations. In Proc. 3rd Scandinavian Workshop on Algorithm Theory (SWAT), volume 621 of Lecture Notes in Computer Science, pages 130–139. Springer Verlag, Berlin, 1992.Google Scholar
  17. 17.
    A. Ranade, S. Cheng, E. Deprit, J. Jones, and S. Shih. Parallelism and locality in priority queues. In Proc. 6th Symposium on Parallel and Distributed Processing, pages 490–496, 1994.Google Scholar
  18. 18.
    Nageswara S. V. Rao and Weixiong Zhang. Building heaps in parallel. Information Processing Letters, 37:355–358, 1991.CrossRefGoogle Scholar
  19. 19.
    Jean Vuillemin. A data structure for manipulating priority queues. Communications of the ACM, 21(4):309–315, 1978.CrossRefGoogle Scholar
  20. 20.
    J. W. J. Williams. Algorithm 232: Heapsort. Communications of the ACM, 7(6):347–348, 1964.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Gerth Stølting Brodal
    • 1
  1. 1.BRICS, Computer Science DepartmentAarhus UniversityNy MunkegadeDenmark

Personalised recommendations