[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/509907.509950acmconferencesArticle/Chapter ViewAbstractPublication PagesstocConference Proceedingsconference-collections
Article

Cache-oblivious priority queue and graph algorithm applications

Published: 19 May 2002 Publication History

Abstract

(MATH) In this paper we develop an optimal cache-oblivious priority queue data structure, supporting insertion, deletion, and deletemin operations in O(1 \over B logM/BN \over B) amortized memory transfers, where M and B are the memory and block transfer sizes of any two consecutive levels of a multilevel memory hierarchy. In a cache-oblivious data structure, M and B are not used in the description of the structure. The bounds match the bounds of several previously developed external-memory (cache-aware) priority queue data structures, which all rely crucially on knowledge about M and B. Priority queues are a critical component in many of the best known external- memory graph algorithms, and using our cache-oblivious priority queue we develop several cache- oblivious graph algorithms.

References

[1]
J. Abello, A. L. Buchsbaum, and J. R. Westbrook. A functional approach to external graph algorithms. In Proc. Annual European Symposium on Algorithms, LNCS 1461, pages 332--343, 1998.
[2]
A. Aggarwal, B. Alpern, A. K. Chandra, and M. Snir. A model for hierarchical memory. In Proc. ACM Symp. on Theory of Computation, pages 305--314,1987.
[3]
A. Aggarwal and A. K. Chandra. Virtual memory algorithms. In Proc. ACM Symp. on Theory of Computation, pages 173--185, 1988.
[4]
A. Aggarwal, A. K. Chandra, and M. Snir. Hierarchical memory with block transfer. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 204--216, 1987.
[5]
A. Aggarwal and J. S. Vitter. The Input/Output complexity of sorting and related problems. Communications of the ACM, 31(9):1116--1127, 1988.
[6]
B. Alpern, L. Carter, E. Feig, and T. Selker. The uniform memory hierarchy model of computation. Algorithmica, 12(2--3),1994.
[7]
R. J. Anderson and G. L. Miller. A simple randomized parallel algorithm for list-ranking. Information Processing Letters, 33:269--273, 1990.
[8]
L. Arge. The buffer tree: A new technique for optimal I/O-algorithms. In Proc. Workshop on Algorithms and Data Structures, LNCS 955, pages 334--345, 1995.
[9]
L. Arge. The I/O-Complexity of ordered binary-decision diagram manipulation. In Proc. Int. Symp. on Algorithms and Computation, LNCS 1004, pages 82--91, 1995.
[10]
L. Arge. External memory data structures. In J. Abello, P. M. Pardalos, and M. G. C. Resende, editors, Handbook of Massive Data Sets. Kluwer Academic Publishers, 2002. (To appear)
[11]
L. Arge, G. S. Brodal, and L. Toma. On external memory MST, SSSP and multi-way planar graph separation. In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 1851, pages 433--447, 2000.
[12]
R. Bayer and E. McCreight. Organization and maintenance of large ordered indexes. Acta Informica, 1:173--189, 1972.
[13]
M. A. Bender, E. D. Demaine, and M. Farach-Colton. Cache-oblivious B-trees. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 339--409, 2000.
[14]
M. A. Bender, Z. Duan, J. Iacono, and J. Wu. A locality-preserving cache-oblivious dynamic dictionary. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 29--38, 2002.
[15]
R. D. Blumofe, M. Frigo, C. F. Joerg, C. E. Leiserson, and K. H. Randall. An analysis of dag-consistent distributed shared-memory algorithms. In Proc. ACM Symp. on Parallel Algorithms and Architectures, pages 297--308, 1996.
[16]
G. S. Brodal, R. Fagerberg, and R. Jacob. Cache oblivious search trees via binary trees of small heights. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 39--48, 2002.
[17]
G. S. Brodal and J. Katajainen. Worst-case efficient external-memory priority queues. In Proc. Scandinavian Workshop on Algorithms Theory, LNCS 1432, pages 107--118, 1998.
[18]
A. L. Buchsbaum, M. Goldwasser, S. Venkatasubramanian, and J. R. Westbrook. On external memory graph traversal. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 859--860, 2000.
[19]
Y.-J. Chiang, M. T. Goodrich, E. F. Grove, R. Tamasia, D. E. Vengroff, and J. S. Vitter. External-memory graph algorithms. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 139--149, 1995.
[20]
F. Chin, J. Lam, and I. Chen. Efficient parallel algorithms for some graph problems. Communications of ACM, 1982.
[21]
R. Cole and U. Vishkin. Deterministic coin tossing with applications to optimal list-ranking. Information and Control, 70(1):32--53, 1986.
[22]
R. Cole amd U. Vishkin. Approximate parallel scheduling. II. Applications to logarithmic-time optimal parallel graph algorithms. Information and Computation, 92(1):1--47, 1991.
[23]
D. Comer. The ubiquitous B-tree. ACM Computing Surveys, 11(2): 121--137, 1979.
[24]
R. Fadel, K. V. Jakobsen, J. Katajainen, and J. Teuhola. Heaps and heapsort on secondary storage. Theoretical Computer Science, 220(2): 345--362, 1999.
[25]
M. Frigo, C. E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proc. IEEE Symp. on Foundations of Comp. Sci., pages 285--298, 1999.
[26]
S. Huddleston and K. Mehlhorn. A new data structure for representing sorted lists. Acta Informica, 17:157--184, 1982.
[27]
D. E. Knuth. Sorting and Searching, volume 3 of The Art of Computer Programming. Addison-Wesley, Reading MA, second edition, 1998.
[28]
V. Kumar and E. Schwabe. Improved algorithms and data structures for solving graph problems in external memory. In Proc. IEEE Symp. on Parallel and Distributed Processing, pages 169--177, 1996.
[29]
A. LaMarca and R. E. Ladner. The influence of caches on the performance of heaps. Journal of Experimental Algorithmics, 1, 1996.
[30]
K. Munagala and A. Ranade. I/O-complexity of graph algorithms. In Proc. ACM-SIAM Symp. on Discrete Algorithms, pages 687--694, 1999.
[31]
R. C. Prim. Shortest connection networks and some generalizations. Bell Syst. Tech. J., 36:1389--1401, 1957.
[32]
N. Rahman, R. Cole, and R. Raman. Optimized predecessor data structures for internal memory. In Proc. Workshop on Algorithm Engineering, LNCS 2141, pages 67--78, 2001.
[33]
J. E. Savage. Extending the Hong-Kung model to memory hierarchies. In Proceedings of the 1st Annual International Conference on Computing and Combinatorics, volume 959 of LNCS, pages 270--281, 1995.
[34]
R. E. Tarjan and U. Vishkin. An efficient parallel biconnectivity algorithm. SIAM Journal of Computing, 14(4):862--874, 1985.
[35]
S. Toledo. Locality of reference in LU decomposition with partial pivoting. SIAM Journal on Matrix Analysis and Applications, 18(4):1065--1081, 1997.
[36]
U. Vishkin. On efficient parallel strong orientation. Information Processing Letters, 20:235--240, 1985.
[37]
J. S. Vitter. External memory algorithms and data structures: Dealing with MASSIVE data. ACM Computing Surveys, 33(2):209--271, 2001.
[38]
J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory, II: Hierarchical multilevel memories. Algorithmica, 12(2--3):148--169, 1994.

Cited By

View all
  • (2023)Provably Fast and Space-Efficient Parallel BiconnectivityProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577483(52-65)Online publication date: 25-Feb-2023
  • (2023)Engineering Massively Parallel MST Algorithms2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00075(691-701)Online publication date: May-2023
  • (2019)A faster external memory priority queue with DecreaseKeysProceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3310435.3310516(1331-1343)Online publication date: 6-Jan-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
STOC '02: Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
May 2002
840 pages
ISBN:1581134959
DOI:10.1145/509907
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 May 2002

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

STOC02
Sponsor:
STOC02: Symposium on the Theory of Computing
May 19 - 21, 2002
Quebec, Montreal, Canada

Acceptance Rates

STOC '02 Paper Acceptance Rate 91 of 287 submissions, 32%;
Overall Acceptance Rate 1,469 of 4,586 submissions, 32%

Upcoming Conference

STOC '25
57th Annual ACM Symposium on Theory of Computing (STOC 2025)
June 23 - 27, 2025
Prague , Czech Republic

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)17
  • Downloads (Last 6 weeks)1
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2023)Provably Fast and Space-Efficient Parallel BiconnectivityProceedings of the 28th ACM SIGPLAN Annual Symposium on Principles and Practice of Parallel Programming10.1145/3572848.3577483(52-65)Online publication date: 25-Feb-2023
  • (2023)Engineering Massively Parallel MST Algorithms2023 IEEE International Parallel and Distributed Processing Symposium (IPDPS)10.1109/IPDPS54959.2023.00075(691-701)Online publication date: May-2023
  • (2019)A faster external memory priority queue with DecreaseKeysProceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms10.5555/3310435.3310516(1331-1343)Online publication date: 6-Jan-2019
  • (2019)Fully-Asynchronous Cache-Efficient Simulation of Detailed Neural NetworksComputational Science – ICCS 201910.1007/978-3-030-22744-9_33(421-434)Online publication date: 12-Jun-2019
  • (2016)The I/O Complexity of Computing Prime TablesLATIN 2016: Theoretical Informatics10.1007/978-3-662-49529-2_15(192-206)Online publication date: 22-Mar-2016
  • (2015)Cache oblivious sparse polynomial factoring using the funnel heapProceedings of the 2015 International Workshop on Parallel Symbolic Computation10.1145/2790282.2790283(7-15)Online publication date: 10-Jul-2015
  • (2015)Cache-Oblivious SortingEncyclopedia of Algorithms10.1007/978-3-642-27848-8_63-2(1-5)Online publication date: 25-Jun-2015
  • (2015)Cache-Oblivious Iterated Predecessor Queries via Range CoalescingAlgorithms and Data Structures10.1007/978-3-319-21840-3_21(249-262)Online publication date: 28-Jul-2015
  • (2014)Cache-conscious graph collaborative filtering on multi-socket multicore systemsProceedings of the 11th ACM Conference on Computing Frontiers10.1145/2597917.2597935(1-10)Online publication date: 20-May-2014
  • (2014)Fast Parallel Connected Components Algorithms on GPUsRevised Selected Papers, Part I, of the Euro-Par 2014 International Workshops on Parallel Processing - Volume 880510.1007/978-3-319-14325-5_14(153-164)Online publication date: 25-Aug-2014
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media