Cache-oblivious dynamic dictionaries with update/query tradeoffs

Gerth Stølting Brodal, Erik D. Demaine, Jeremy T. Fineman, John Iacono, Stefan Langerman, J. Ian Munro

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Abstract

    Several existing cache-oblivious dynamic dictionaries achieve O(log B N) (or slightly better O(logB N/M)) memory transfers per operation, where N is the number of items stored, M is the memory size, and B is the block size, which matches the classic B-tree data structure. One recent structure achieves the same query bound and a sometimes-better amortized update bound of O (1/Bθ(1/log log B)2) logB N + 1/B log2 N) memory transfers. This paper presents a new data structure, the xDict, implementing predecessor queries in O(1/ε logB N/M) worst-case memory transfers and insertions and deletions in O (1/εB 1-ε logB N/M) amortized memory transfers, for any constant ε with 0 < ε < 1. For example, the xDict achieves subconstant amortized update cost when N = M B°(B1-ε), whereas the B-tree's Θ(logB N/M) is subconstant only when N = o(MB), and the previously obtained Θ (1/BΘ(1/(log log B)2) logB N + 1/B log2 N) is subconstant only when N = o(2√B). The xDict attains the optimal tradeoff between insertions and queries, even in the broader external-memory model, for the range where inserts cost between Ω(1/B lg1+ε N) and O(1/lg3 N) memory transfers.

    Original languageEnglish (US)
    Title of host publicationProceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms
    Pages1448-1456
    Number of pages9
    StatePublished - 2010
    Event21st Annual ACM-SIAM Symposium on Discrete Algorithms - Austin, TX, United States
    Duration: Jan 17 2010Jan 19 2010

    Other

    Other21st Annual ACM-SIAM Symposium on Discrete Algorithms
    CountryUnited States
    CityAustin, TX
    Period1/17/101/19/10

    Fingerprint

    Glossaries
    Cache
    Trade-offs
    Update
    Query
    Data storage equipment
    B-tree
    Insertion
    Data Structures
    Data structures
    External Memory
    Memory Model
    Costs
    Tree Structure
    Deletion
    Dictionary
    Range of data

    ASJC Scopus subject areas

    • Software
    • Mathematics(all)

    Cite this

    Brodal, G. S., Demaine, E. D., Fineman, J. T., Iacono, J., Langerman, S., & Munro, J. I. (2010). Cache-oblivious dynamic dictionaries with update/query tradeoffs. In Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms (pp. 1448-1456)

    Cache-oblivious dynamic dictionaries with update/query tradeoffs. / Brodal, Gerth Stølting; Demaine, Erik D.; Fineman, Jeremy T.; Iacono, John; Langerman, Stefan; Munro, J. Ian.

    Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms. 2010. p. 1448-1456.

    Research output: Chapter in Book/Report/Conference proceedingConference contribution

    Brodal, GS, Demaine, ED, Fineman, JT, Iacono, J, Langerman, S & Munro, JI 2010, Cache-oblivious dynamic dictionaries with update/query tradeoffs. in Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms. pp. 1448-1456, 21st Annual ACM-SIAM Symposium on Discrete Algorithms, Austin, TX, United States, 1/17/10.
    Brodal GS, Demaine ED, Fineman JT, Iacono J, Langerman S, Munro JI. Cache-oblivious dynamic dictionaries with update/query tradeoffs. In Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms. 2010. p. 1448-1456
    Brodal, Gerth Stølting ; Demaine, Erik D. ; Fineman, Jeremy T. ; Iacono, John ; Langerman, Stefan ; Munro, J. Ian. / Cache-oblivious dynamic dictionaries with update/query tradeoffs. Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms. 2010. pp. 1448-1456
    @inproceedings{8965dcff530749bb8e17c0313a7a7f2a,
    title = "Cache-oblivious dynamic dictionaries with update/query tradeoffs",
    abstract = "Several existing cache-oblivious dynamic dictionaries achieve O(log B N) (or slightly better O(logB N/M)) memory transfers per operation, where N is the number of items stored, M is the memory size, and B is the block size, which matches the classic B-tree data structure. One recent structure achieves the same query bound and a sometimes-better amortized update bound of O (1/Bθ(1/log log B)2) logB N + 1/B log2 N) memory transfers. This paper presents a new data structure, the xDict, implementing predecessor queries in O(1/ε logB N/M) worst-case memory transfers and insertions and deletions in O (1/εB 1-ε logB N/M) amortized memory transfers, for any constant ε with 0 < ε < 1. For example, the xDict achieves subconstant amortized update cost when N = M B°(B1-ε), whereas the B-tree's Θ(logB N/M) is subconstant only when N = o(MB), and the previously obtained Θ (1/BΘ(1/(log log B)2) logB N + 1/B log2 N) is subconstant only when N = o(2√B). The xDict attains the optimal tradeoff between insertions and queries, even in the broader external-memory model, for the range where inserts cost between Ω(1/B lg1+ε N) and O(1/lg3 N) memory transfers.",
    author = "Brodal, {Gerth St{\o}lting} and Demaine, {Erik D.} and Fineman, {Jeremy T.} and John Iacono and Stefan Langerman and Munro, {J. Ian}",
    year = "2010",
    language = "English (US)",
    isbn = "9780898717013",
    pages = "1448--1456",
    booktitle = "Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms",

    }

    TY - GEN

    T1 - Cache-oblivious dynamic dictionaries with update/query tradeoffs

    AU - Brodal, Gerth Stølting

    AU - Demaine, Erik D.

    AU - Fineman, Jeremy T.

    AU - Iacono, John

    AU - Langerman, Stefan

    AU - Munro, J. Ian

    PY - 2010

    Y1 - 2010

    N2 - Several existing cache-oblivious dynamic dictionaries achieve O(log B N) (or slightly better O(logB N/M)) memory transfers per operation, where N is the number of items stored, M is the memory size, and B is the block size, which matches the classic B-tree data structure. One recent structure achieves the same query bound and a sometimes-better amortized update bound of O (1/Bθ(1/log log B)2) logB N + 1/B log2 N) memory transfers. This paper presents a new data structure, the xDict, implementing predecessor queries in O(1/ε logB N/M) worst-case memory transfers and insertions and deletions in O (1/εB 1-ε logB N/M) amortized memory transfers, for any constant ε with 0 < ε < 1. For example, the xDict achieves subconstant amortized update cost when N = M B°(B1-ε), whereas the B-tree's Θ(logB N/M) is subconstant only when N = o(MB), and the previously obtained Θ (1/BΘ(1/(log log B)2) logB N + 1/B log2 N) is subconstant only when N = o(2√B). The xDict attains the optimal tradeoff between insertions and queries, even in the broader external-memory model, for the range where inserts cost between Ω(1/B lg1+ε N) and O(1/lg3 N) memory transfers.

    AB - Several existing cache-oblivious dynamic dictionaries achieve O(log B N) (or slightly better O(logB N/M)) memory transfers per operation, where N is the number of items stored, M is the memory size, and B is the block size, which matches the classic B-tree data structure. One recent structure achieves the same query bound and a sometimes-better amortized update bound of O (1/Bθ(1/log log B)2) logB N + 1/B log2 N) memory transfers. This paper presents a new data structure, the xDict, implementing predecessor queries in O(1/ε logB N/M) worst-case memory transfers and insertions and deletions in O (1/εB 1-ε logB N/M) amortized memory transfers, for any constant ε with 0 < ε < 1. For example, the xDict achieves subconstant amortized update cost when N = M B°(B1-ε), whereas the B-tree's Θ(logB N/M) is subconstant only when N = o(MB), and the previously obtained Θ (1/BΘ(1/(log log B)2) logB N + 1/B log2 N) is subconstant only when N = o(2√B). The xDict attains the optimal tradeoff between insertions and queries, even in the broader external-memory model, for the range where inserts cost between Ω(1/B lg1+ε N) and O(1/lg3 N) memory transfers.

    UR - http://www.scopus.com/inward/record.url?scp=77951676777&partnerID=8YFLogxK

    UR - http://www.scopus.com/inward/citedby.url?scp=77951676777&partnerID=8YFLogxK

    M3 - Conference contribution

    AN - SCOPUS:77951676777

    SN - 9780898717013

    SP - 1448

    EP - 1456

    BT - Proceedings of the 21st Annual ACM-SIAM Symposium on Discrete Algorithms

    ER -