ACM Home Page
Please provide us with feedback. Feedback
The influence of caches on the performance of heaps
Full text LatexLatex (922 KB),  PdfPdf (317 KB),  PsPs (399 KB)
Source Journal of Experimental Algorithmics (JEA) archive
Volume 1 ,  (1996) table of contents
Article No. 4  
Year of Publication: 1996
ISSN:1084-6654
Authors
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 61,   Citation Count: 28
Additional Information:

appendices and supplements   abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/235141.235145
What is a DOI?

APPENDICES and SUPPLEMENTS
Tarp4-lamarca.tar (139 KB),
The software suite accompanying the article.


ABSTRACT

As memory access times grow larger relative to processor cycle times, the cache performance of algorithms has an increasingly large impact on overall performance. Unfortunately, most commonly used algorithms were not designed with cache performance in mind. This paper investigates the cache performance of implicit heaps. We present optimizations which significantly reduce the cache misses that heaps incur and improve their overall performance. We present an analytical model called collective analysis that allows cache performance to be predicted as a function of both cache configuration and algorithm configuration. As part of our investigation, we perform an approximate analysis of the cache performance of both traditional heaps and our improved heaps in our model. In addition empirical data is given for five architectures to show the impact our optimizations have on overall performance. We also revisit a priority queue study originally performed by Jones [25]. Due to the increases in cache miss penalties, the relative performance results we obtain on today's machines differ greatly from the machines of only ten years ago. We compare the performance of implicit heaps, skew heaps and splay trees and discuss the difference between our results and Jones's.


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
 
2
3
 
4
 
5
{5} B. Alpern, L. Carter, E. Feig, and T. Selker. The uniform memory hierarchy model of computation. <i>Algorithmica</i>, 12:2-3:72-109, 1994.
6
 
7
8
9
10
 
11
 
12
 
13
 
14
{14} E. Doberkat. Inserting a new element into a heap. <i>BIT</i>, 21:225-269, 1981.
 
15
{15} E. Doberkat. Deleting the root of a heap. <i>Acta Informatica</i>, 17:245-265, 1982.
 
16
17
 
18
 
19
{19} Robert W. Floyd. Treesort 3. <i>Communications of the ACM</i>, 7:12:701, 1964.
 
20
 
21
22
 
23
 
24
{24} D.B. Johnson. Priority queues with update and finding minimum spanning trees. <i>Information Processing Letters</i>, 4, 1975.
25
26
 
27
 
28
 
29
 
30
31
 
32
33
 
34
 
35
36
37
38
39
 
40
41
 
42
{42} J. W. Williams. Heapsort. <i>Communications of the ACM</i>, 7:6:347-348, 1964.
43

CITED BY  28

Collaborative Colleagues:
Anthony LaMarca: colleagues
Richard Ladner: colleagues