Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Free access

Concurrent operations on priority queues

Published: 01 January 1989 Publication History

Abstract

Among the fastest priority queue implementations, skew heaps have properties that make them particularly suited to concurrent manipulation of shared queues. A concurrent version of the top down implementation of skew heaps can be produced from previously published sequential versions using almost mechanical transformations. This implementation requires O(log n) time to enqueue or dequeue an item, but it allows new operations to begin after only O(1) time on a MIMD machine. Thus, there is potential for significant concurrency when multiple processes share a queue. Applications to problems in graph theory and simulation are discussed in this article.

References

[1]
Bayer, R. and Schkolnick, M. Concurrency of operations on B-trees. Acta Informatica 9, I (1977), 1-21.
[2]
BenAri, M. Principles of Concurrent Programming. Prentice Hall, Englewood Cliffs, N.J., 1982.
[3]
Biswas, J. and Browne, J.C. Simultaneous update of priority structures. In Proceedings of the 1987 International Conference on Parallel Processing. S.K. Sahni, Ed. (University Park, Pa., Aug. 17-21, 1987), pp. 124-131.
[4]
Brown, M.R. The Analysis of a Practical and Nearly Optimal Priority Queue. Tech. Rep. STAN-CS-77-600, Computer Science Dept., Stanford Univ., 1977. (An abridged version appears as Implementation and analysis of bionomial queue algorithms. SIAM J. Computing 7, 3 (Aug. 1978) 298-319.)
[5]
Ford, R.F. and Calhoun, J. Concurrency control mechanisms and the serializability of concurrent tree algorithms. In Proceedings of the 3rd ACM SIGACT-SIGMOD Symposium on Principles of Database Systems (Waterloo, Ontario, Apr. 1984).
[6]
Jones, D.W. An empirical comparison of priority-queue and eventset implementations. Commun. ACM 29, 4 (Apr. 1986), 300-311.
[7]
Jones, D.W. Concurrent simulation: An alternative to distributed simulation. In Proceedings of the 1986 Winter Simulation Conference. J. Wilson, J. Henriksen, S. Roberts, Eds. (Washington, D.C., Dec. 8-10, 1986). pp. 417-423.
[8]
Kingston, J.H. Analysis of tree algorithms for the simulation event list. Acta Informatica 22, I (Apr. 1985), 15-33.
[9]
Knuth, D.E. The Art of Computer Programming. Volume III, Sorting and Searching. Addison-Wesiey, Reading, Mass., 1973, 150-153.
[10]
Lehman, P. and Yao, S. Efficient locking for concurrent operations on B-trees. ACM Trans. Database Syst. 6, 4 (Dec. 1981), 650-670.
[11]
Nix, R. An Evaluation of Pagodas. Tech. Rep. 164, Computer Science Dept., Yale Univ., Conn. (no date).
[12]
Quinn, M.J. and Deo, N. Parallel Graph Algorithms. Comp. Surv. 16, 3 (Sept. 1984) 319-348.
[13]
Sleator, D.D. and Tarjan. R.E. Self adjusting binary trees. In Proceedings of the 15th ACM Symposium on Theory of Computing (Boston, Mass., April 25-27, 1983}. ACM, New York, 235-246.
[14]
Sleator, D.D. and Tarjan, R.E. Self adjusting heaps. SIAM J. Comput. 15, 1 (Feb. 1986), 52-59.
[15]
Vuillemin. J. A data structure for manipulating priority queues. Commun. ACM 21, 4 (Apr. 1978), 309-315.

Cited By

View all

Recommendations

Reviews

Frank Lawrence Friedman

Jones discusses the use of skew heaps for the concurrent manipulation of shared queues. He produces a concurrent version of the top-down algorithm for a skew heap from the Sleator-Tarjan recursive version, using previously published transformations. He also discusses the correctness and serializability of the algorithm and shows how new operations on the queue are possible after O(1) time. Jones discusses applications to problems in graph theory and simulation. He presents a brief discussion of other possible algorithms for use in an MIMD environment with fine-grained concurrency control and gives reasons for the rejection of these algorithms. He makes the transformations from the recursive skew-heap algorithm to the concurrent version by noting that (1) the recursive call is the last operation in the recursive procedure (this allows a mechanical transformation to an iterative version) and (2) the iterative version never holds references to more than three items of the tree at any time. The author gives a Concurrent Pascal-S version of the algorithm and presents the results of testing this algorithm using repeated hold operations. The results of these tests suggest that significant speedup is possible for large queues and simple applications, but only in cases where the priority queue operations are more expensive than the operations in the main process.

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

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: 01 January 1989
Published in CACM Volume 32, Issue 1

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)86
  • Downloads (Last 6 weeks)14
Reflects downloads up to 26 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2013)Mining pure high-order word associations via information geometry for information retrievalACM Transactions on Information Systems10.1145/2493175.249317731:3(1-32)Online publication date: 5-Aug-2013
  • (2013)About learning models with multiple query-dependent featuresACM Transactions on Information Systems10.1145/2493175.249317631:3(1-39)Online publication date: 5-Aug-2013
  • (2013)Quantitative relaxation of concurrent data structuresACM SIGPLAN Notices10.1145/2480359.242910948:1(317-328)Online publication date: 23-Jan-2013
  • (2013)CopatternsACM SIGPLAN Notices10.1145/2480359.242907548:1(27-38)Online publication date: 23-Jan-2013
  • (2012)Randomized Instruction Injection to Counter Power Analysis AttacksACM Transactions on Embedded Computing Systems10.1145/2345770.234578211:3(1-28)Online publication date: 1-Sep-2012
  • (2012)INVISIOSACM Transactions on Embedded Computing Systems10.1145/2345770.234577211:3(1-20)Online publication date: 1-Sep-2012
  • (2010)A GPU-Based Application Framework Supporting Fast Discrete-Event SimulationSimulation10.1177/003754970934078186:10(613-628)Online publication date: 1-Oct-2010
  • (2007)Simulation of dynamic priority calculation for multilevel priority queueProceedings of the 2007 international conference on Computer systems and technologies10.1145/1330598.1330613(1-6)Online publication date: 14-Jun-2007
  • (2006) Experiments with Program unification on the Cray Y‐MP Concurrency: Practice and Experience10.1002/cpe.43300601036:1(33-53)Online publication date: 25-Oct-2006
  • (2005)Fast and lock-free concurrent priority queues for multi-thread systemsJournal of Parallel and Distributed Computing10.1016/j.jpdc.2004.12.00565:5(609-627)Online publication date: 1-May-2005
  • 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