ACM Home Page
Please provide us with feedback. Feedback
A locality-preserving cache-oblivious dynamic dictionary
Full text PdfPdf (1.06 MB)
Source Symposium on Discrete Algorithms archive
Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms table of contents
San Francisco, California
Pages: 29 - 38  
Year of Publication: 2002
ISBN:0-89871-513-X
Authors
Michael A. Bender  State University of New York, Stony Brook, NY
Ziyang Duan  State University of New York, Stony Brook, NY
John Iacono  Polyechnic University, Brooklyn NY
Jing Wu  State University of New York, Stony Brook, NY
Sponsor
SIGACT: ACM Special Interest Group on Algorithms and Computation Theory
Publisher
Society for Industrial and Applied Mathematics  Philadelphia, PA, USA
Bibliometrics
Downloads (6 Weeks): 7,   Downloads (12 Months): 37,   Citation Count: 16
Additional Information:

abstract   references   cited by   collaborative colleagues  

Tools and Actions: Review this Article  

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(logBN) block operations at a level of the memory hierarchy with block size B. Insertion and deletion operations use O(logBN + log2 N/B) amortized block transfers. Finally, the data structure returns all k data items in a given search range using O(logBN + 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.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
G. M. Adel'son-Vel'skiǐ and E. M. Landis. An algorithm for organization of information (in Russian). Doklady Akademii Nauk SSSR, 146:263-266, 1962.
2
3
 
4
A. Aggarwal, A. K. Chandra, and M. Snir. Hierarchical memory with block transfer. In Proc. IEEE Symp. on Foundations of Computer Science, pages 204-216, 1987.
5
 
6
B. Alpern, L. Carter, E. Feig, and T. Selker. The uniform memory hierarchy model of computation. Algorithmica, 12(2-3):72-109, 1994.
 
7
8
 
9
 
10
R. Bayer and E. M. McCreight. Organization and maintenance of large ordered indexes. Acta Informatica, 1(3):173-189, 1972.
 
11
 
12
13
 
14
 
15
M. R. Brown and R. E. Tarjan. Design and analysis of a data structure for representing sorted lists. SIAM J. Comput., 9:594-614, 1980.
 
16
D. Carlson. Software design using c++. http://cis.stvincent.edu/carlsond/swdesign/swd.html, 2001.
17
 
18
 
19
20
 
21
L. J. Guibas and R. Sedgewick. A dichromatic framework for balanced trees. In Proc. Symp. on Foundations of Computer Science, pages 8-21, 1978.
 
22
S. Huddleston and K. Mehlhorn. A new data structure for representing sorted lists. Acta Informatica, 17:157-184, 1982.
 
23
 
24
25
26
 
27
 
28
 
29
R. Meville and D. Gries. Controlled density sorting. Infor. Process. Lett., 10:169-172, 1980.
 
30
J. Nievergelt and E. M. Reingold. Binary search trees of bounded balance. SIAM Journal on Computing, 2:33-43, 1973.
 
31
H. Prokop. Cache-oblivious algorithms. Master's thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999.
 
32
H. Prokop. Cache-oblivious algorithms. Master's thesis, Massachusetts Institute of Technology, Cambridge, MA, June 1999.
 
33
 
34
35
 
36
 
37
R. Seidel and C. R. Aragon. Randomized search trees. Algorithmica, 16(4-5):464-497, 1996.
38
 
39
 
40
 
41
P. van Emde Boas. Preserving order in a forest in less than logarithmic time. In Proc. Symp. on Foundations of Computer Science, pages 75-84, 1975.
 
42
P. van Emde Boas, R. Kaas, and E. Zijlstra. Design and implementation of an efficient priority queue. Mathematical Systems Theory, 10(2):99-127, 1977.
 
43
 
44
J. S. Vitter and E. A. M. Shriver. Algorithms for parallel memory II: Hierarchical multilevel memories. Algorithmica, 12(2-3):148-169, 1994.
 
45
D. E. Willard. Inserting and deleting records in blocked sequential files. Technical Report TM81-45193-5, Bell Laboratories, 1981.
46
47
 
48
49

CITED BY  16
Collaborative Colleagues:
Michael A. Bender: colleagues
Ziyang Duan: colleagues
John Iacono: colleagues
Jing Wu: colleagues