Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
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
  • Get Citation Alerts
  • 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

    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%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)22
    • Downloads (Last 6 weeks)2
    Reflects downloads up to 12 Aug 2024

    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

    Get Access

    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