A locality-preserving cache-oblivious dynamic dictionary

Michael A. Bender, Ziyang Duan, John Iacono, Jing Wu

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

    Abstract

    This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.

    Original languageEnglish (US)
    Title of host publicationProceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002
    PublisherAssociation for Computing Machinery
    Pages29-38
    Number of pages10
    Volume06-08-January-2002
    ISBN (Print)089871513X
    StatePublished - 2002
    Event13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002 - San Francisco, United States
    Duration: Jan 6 2002Jan 8 2002

    Other

    Other13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002
    CountryUnited States
    CitySan Francisco
    Period1/6/021/8/02

    Fingerprint

    Glossaries
    Memory Hierarchy
    Locality
    Cache
    Data Structures
    Data storage equipment
    Data structures
    B-tree
    Parameterization
    Range of data
    Simplification
    Deletion
    Insertion
    Consecutive
    Dictionary
    Simulation

    ASJC Scopus subject areas

    • Software
    • Mathematics(all)

    Cite this

    Bender, M. A., Duan, Z., Iacono, J., & Wu, J. (2002). A locality-preserving cache-oblivious dynamic dictionary. In Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002 (Vol. 06-08-January-2002, pp. 29-38). Association for Computing Machinery.

    A locality-preserving cache-oblivious dynamic dictionary. / Bender, Michael A.; Duan, Ziyang; Iacono, John; Wu, Jing.

    Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002. Vol. 06-08-January-2002 Association for Computing Machinery, 2002. p. 29-38.

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

    Bender, MA, Duan, Z, Iacono, J & Wu, J 2002, A locality-preserving cache-oblivious dynamic dictionary. in Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002. vol. 06-08-January-2002, Association for Computing Machinery, pp. 29-38, 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002, San Francisco, United States, 1/6/02.
    Bender MA, Duan Z, Iacono J, Wu J. A locality-preserving cache-oblivious dynamic dictionary. In Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002. Vol. 06-08-January-2002. Association for Computing Machinery. 2002. p. 29-38
    Bender, Michael A. ; Duan, Ziyang ; Iacono, John ; Wu, Jing. / A locality-preserving cache-oblivious dynamic dictionary. Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002. Vol. 06-08-January-2002 Association for Computing Machinery, 2002. pp. 29-38
    @inproceedings{3185e23308584124996110ac5c9bbc04,
    title = "A locality-preserving cache-oblivious dynamic dictionary",
    abstract = "This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.",
    author = "Bender, {Michael A.} and Ziyang Duan and John Iacono and Jing Wu",
    year = "2002",
    language = "English (US)",
    isbn = "089871513X",
    volume = "06-08-January-2002",
    pages = "29--38",
    booktitle = "Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002",
    publisher = "Association for Computing Machinery",

    }

    TY - GEN

    T1 - A locality-preserving cache-oblivious dynamic dictionary

    AU - Bender, Michael A.

    AU - Duan, Ziyang

    AU - Iacono, John

    AU - Wu, Jing

    PY - 2002

    Y1 - 2002

    N2 - This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.

    AB - This paper presents a simple dictionary structure designed for a hierarchical memory. The proposed data structure is cache oblivious and locality preserving. A cache-oblivious data structure has memory performance optimized for all levels of the memory hierarchy even though it has no memory-hierarchy-specific parameterization. A locality-preserving dictionary maintains elements of similar key values stored close together for fast access to ranges of data with consecutive keys. The data structure presented here is a simplification of the cache-oblivious B-tree of Bender, Demaine, and Farach-Colton. Like the cache-oblivious B-tree, this structure supports search operations using only O(logB N) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logB N + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logB JV + k/B) block operations. This data structure was implemented and its performance was evaluated on a simulated memory hierarchy. This paper presents the results of this simulation for various combinations of block and memory sizes.

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

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

    M3 - Conference contribution

    SN - 089871513X

    VL - 06-08-January-2002

    SP - 29

    EP - 38

    BT - Proceedings of the 13th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA 2002

    PB - Association for Computing Machinery

    ER -