skip to main content
article
Free access

A comparative study of parallel and sequential priority queue algorithms

Published: 01 April 1997 Publication History

Abstract

Priority queues are used in many applications including real-time systems, operating systems, and simulations. Their implementation may have a profound effect on the performance of such applications. In this article, we study the performance of well-known sequential priority queue implementations and the recently proposed parallel access priority queues. To accurately assess the performance of a priority queue, the performance measurement methodology must be appropriate. We use the Classic Hold, the Markov Model, and an Up/Down access pattern to measure performance and look at both the average access time and the worst-case time that are of vital interest to real-tiem applicatons. Our results suggest that the best choice for priority queue algorithms depends heavily on the application. For queue sizes smaller than 1,000 elements, the Splay Tree, the Skew Heap, and Henriksen's algorithm show good average access times. For large queue sized of 5,000 elements or more, the Calendar Queue and the Lazy Queue offer good average access times but have very long worst-case access times. The Skew Heap and the splay Tree exhibit the best worst-case access times. Among the parallel access priority queues tested, the Parallel Access Skew Heap provides the best performance on small shares memory multiprocessors.

References

[1]
AHMED, H., RONNGREN, R., AND AYANI, R. 1994. Impact of event scheduling in time warp parallel simulations. In Proceedings of the 27th Annual Hawaii International Conference on System Sciences, Vol II, 455-463.
[2]
AYANI, R. 1990. LR-algorithm: Concurrent operations on priority queues. In Proceedings of the Second IEEE Symposium on Parallel and Distributed Systems, 22-25.
[3]
BAYER, R. AND SCHKOLNIK, M. 1977. Concurrency of operations on B-trees. Acta Inf. 9, 1-22.
[4]
BENTLEY, J. 1985. Thanks, heaps. Commun. ACM 28, 3 (March), 245-250.
[5]
BISWAS, B. AND BROWNE, g.C. 1987. Simultaneous update of priority structures. In Proceedings of the 1987 International Conference on Parallel Processing, 17-21.
[6]
BROWN, R. 1988. Calendar queues: A fast O(1) priority queue implementation for the simulation event set problem. Commun. ACM 31, 10 (Oct.), 1220-1227.
[7]
BLACKSTONE, J. H. HOGG, G. L., AND PHILIPS, D. T. 1981. A two list synchronization procedure for discrete event simulation. Commun. ACM 24, 12 (Dec.), 825-829.
[8]
CAROTHERS, C. D., FUJIMOTO, R. M., LIN, Y.-B., AND ENGLAND, P. 1994. Distributed simulation of large-scale PCS networks. In Proceedings of the 1994 MASCOTS Conference.
[9]
CHUNG, Z., SANG, g., AND REGO, V. 1993. A performance comparison of event calendar algorithms: An empirical approach. Softw. Pract. Exper. 23, 10 (Oct.), 1107-1138.
[10]
COMFORT, J.C. 1984. The simulation of a master-slave event set processor. Simulation 42, 3 (March), 117-124.
[11]
DAVISON, G.A. 1989. Calendar p's and queues. Commun. ACM 32, 10 (Oct.), 1241-1243.
[12]
DAS, S., FUJIMOTO, R., PANESAR, K., ALLISON, D., AND HYBINETTE, M. 1994. GTW: A time warp system for shared memory multiprocessors. In Proceedings of the 1994 Winter Simulation Conference, 1332-1339.
[13]
ELLIS, C. S. 1980. Concurrent search and insertion in AVL trees. IEEE Trans. Comput. C-29, 9 (Sept.), 811-817.
[14]
FUJIMOTO, R. 1990. Parallel discrete event simulation. Commun. ACM 33, 10 (Oct.), 31-53.
[15]
GORDON, G. 1981. The development of the general purpose simulation system (GPSS). In History of Programming Languages, ACM Monograph Series, ACM, New York, 403-426.
[16]
HENRIKSEN, J. O. 1977. An improved events list algorithm. In Proceedings of the 1977 Winter Simulation Conference, 547-557.
[17]
JEFFERSSON, D. 1985. Virtual time. ACM Trans. Program. Lang. Syst. 7, 3 (July), 404-425.
[18]
JONES, D.W. 1986. An empirical comparison of priority-queue and event-set implementations. Commun. ACM 29, 4 (April), 300-311.
[19]
JONES, D.W. 1989. Concurrent operations on priority queues. Commun. ACM 32, 1 (Jan.), 132-137.
[20]
JONES, D. W., HENRIKSEN, J. O., PEGDEN, C. D., SARGENT, R. G., O'KEEFE, R. M., AND UNGER, B. W. 1986. Implementations of time (panel). In Proceedings of the 1986 Winter Simulation Conference, 409-416.
[21]
KESIDIS, G. AND WALRAND, J. 1993. Quick simulation of ATM buffers with on-off multiclass Markov fluid sources. ACM Trans. Model. Comput. Simul. 3, 3 (July), 269-276.
[22]
KINGSTON, J. 1985. Analysis of tree algorithms for the simulation event set. Acta Inf. 22, 1 (April), 15-33.
[23]
KINGSTON, J. 1986. Analysis of Henriksen's algorithm for the simulation event set. SIAM J. Comput. 15, 3 (Aug.), 887-902.
[24]
LAMPORT, L. 1978. Concurrent operations on priority queues. Commun. ACM 32, 1 (Jan.), 132-137.
[25]
MCCORMACK, W. M. AND SARGENT, R.G. 1981. Analysis of future event set algorithms for discrete event simulation. Commun. ACM 24, 12 (Dec.), 801-812.
[26]
MEHL, H. AND HAMMES, S. 1993. Shared variables in distributed simulation. In Proceedings of the Seventh Workshop on Parallel and Distributed Simulation (PADS'93), 68-75.
[27]
MISRA, J. 1986. Distributed discrete-event simulation. Comput. Surv. 18, 1 (March), 39-65.
[28]
OBAL, W. D. AND SANDERS, W. H.1994. Importance sampling simulation in UltraSAN. Simulation 62, 2 (Feb.), 98-111.
[29]
PARK, S. K. AND MILLER, K.W. 1988. Random number generators: Good ones are hard to find. Commun. ACM 31, 10, 1192-1201.
[30]
PUGH, W. 1990. Skip lists: A probabilistic alternative to balanced trees. Commun. ACM 33, 6 (June), 668-676.
[31]
RAO, V. N. AND KUMAR, V. 1988. Concurrent access of priority queues. IEEE Trans. Comput. 37, 12 (Dec.), 1657-1665.
[32]
RIBOE, J. 1991. The camel distribution. Tech. Rep. TRITA-TCS-9104, Dept. of Teleinformatics, The Royal Institute of Technology, Stockholm.
[33]
RONNGREN, R., AYANI, R., FUJIMOTO, R. M., AND DAS, S.R. 1993b. Efficient implementation of event sets in time warp. In Proceedings of the Seventh Workshop on Parallel and Distributed Simulation (PADS'93), 101-108.
[34]
RONNGREN, R., RIBOE, J., AND AYANI, R. 1993a. Lazy queue: New approach to implementing the pending event set. Int. J. Comput. Simul. 3, 303-332.
[35]
SEQUENT 1989. Guide to Parallel Programming on Sequent Computer Systems. Prentice- Hall, Englewood Cliffs, NJ.
[36]
SLEATOR, D. D. AND TARJAN, R.E. 1985. Self-adjusting binary search trees. J. ACM 32, 3 (July), 652-686.
[37]
SLEATOR, D. D. AND TARJAN, R.E. 1986. Self-adjusting heaps. SIAM J. Comput. 15, 1 (Feb.), 52-69.
[38]
STEINMAN, J.S. 1992. SPEEDES: A unified approach to parallel simulation. In Proceedings of the Sixth Workshop on Parallel and Distributed Simulation, Vol. 24, No. 3, 75-84.
[39]
STEINMAN, J.S. 1994. Discrete-event simulation and the event horizon. In Proceedings of the Eighth Workshop on Parallel and Distributed Simulation (PADS'94), 39-49.
[40]
TARJAN, R.E. 1985. Amortized computational complexity. SIAM J. Algebraic Discrete Meth. 6, 2 (April), 306-318.
[41]
UNGER, B. W., GOETZ, D. J., AND MARYKA, S.W. 1994. Simulation of SS7 common channel signaling. IEEE Commun. Mag. 32, 3 (March), 52-62.
[42]
VAUCHER, J. G. 1977. On the distribution of event times for the notices in a simulation event list. INFOR 15, 2 (June), 171-182.
[43]
VAUCHER, J. G. AND DUVAL, P. 1975. A comparison of simulation event lists. Commun. ACM 18, 4 (June), 223-230.

Cited By

View all

Recommendations

Reviews

Pradip K. Srimani

The priority queue is an important data structure that is essential to the design of many system programs, such as operating systems, as well as to the design of many applications, such as simulations. In fact, priority queues must be used whenever events are to be scheduled according to objective criteria. Consequently, the implementation details of a priority queue play an important role in determining the performance of the system where it is used. There are many sequential and parallel implementations of algorithms for building and accessing priority queues. The purpose of this paper is to present an exhaustive study of the different performance measuring methodologies and then to apply those measures in order to evaluate different implementation schemes. The authors look at both the average access times and the worst-case access times (the latter are useful for real-time applications). Their conclusions lead to guidelines for how to choose an implementation for a given application. They use different access patterns and a large number of distributions, and they present extensive experimental results. The paper is extremely well written. It is mostly self-contained and easy to read, and it provides all of the important results in one place. A fairly exhaustive bibliography enhances its usefulness. It is a must read for anybody who wants to use a priority queue in any application.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Modeling and Computer Simulation
ACM Transactions on Modeling and Computer Simulation  Volume 7, Issue 2
April 1997
130 pages
ISSN:1049-3301
EISSN:1558-1195
DOI:10.1145/249204
  • Editor:
  • Philip Heidelberger
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 April 1997
Published in TOMACS Volume 7, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. parallel access priority queue
  2. pending event set implementations
  3. priority queue

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)322
  • Downloads (Last 6 weeks)36
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Conflict-Resilient Lock-Free Linearizable Calendar QueueACM Transactions on Parallel Computing10.1145/363516311:1(1-32)Online publication date: 11-Mar-2024
  • (2024)HydroComputeEnvironmental Modelling & Software10.1016/j.envsoft.2024.106005175:COnline publication date: 1-Apr-2024
  • (2023)Intermediate Value Linearizability: A Quantitative Correctness CriterionJournal of the ACM10.1145/358469970:2(1-21)Online publication date: 18-Apr-2023
  • (2023)A Fast Alpha-Tree Algorithm for Extreme Dynamic Range Pixel DissimilaritiesIEEE Transactions on Pattern Analysis and Machine Intelligence10.1109/TPAMI.2023.334172146:5(3199-3212)Online publication date: 12-Dec-2023
  • (2022)Better Together? An Evaluation of AI-Supported Code TranslationProceedings of the 27th International Conference on Intelligent User Interfaces10.1145/3490099.3511157(369-391)Online publication date: 22-Mar-2022
  • (2022)Top-k Socio-Spatial Co-Engaged Location Selection for Social UsersIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2022.315109535:5(5325-5340)Online publication date: 14-Feb-2022
  • (2020)NUMA-aware non-blocking calendar queueProceedings of the IEEE/ACM 24th International Symposium on Distributed Simulation and Real Time Applications10.5555/3451906.3451915(59-67)Online publication date: 14-Sep-2020
  • (2020)NUMA-Aware Non-Blocking Calendar Queue2020 IEEE/ACM 24th International Symposium on Distributed Simulation and Real Time Applications (DS-RT)10.1109/DS-RT50469.2020.9213639(1-9)Online publication date: Sep-2020
  • (2020)Solving the multi-objective flexible job shop scheduling problem with a novel parallel branch and bound algorithmSwarm and Evolutionary Computation10.1016/j.swevo.2019.10063253(100632)Online publication date: Mar-2020
  • (2019)PDES-AACM Transactions on Modeling and Computer Simulation10.1145/330225929:2(1-25)Online publication date: 18-Apr-2019
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media