The influence of caches on the performance of heaps
- 1 January 1996
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Journal of Experimental Algorithmics
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.Keywords
This publication has 30 references indexed in Scilit:
- The uniform memory hierarchy model of computationAlgorithmica, 1994
- Design tradeoffs for software-managed TLBsACM Transactions on Computer Systems, 1994
- Expected heights in heapsBIT Numerical Mathematics, 1992
- A model of workloads and its use in miss-rate prediction for fully associative cachesIEEE Transactions on Computers, 1992
- Efficient trace-driven simulation methods for cache performance analysisACM Transactions on Computer Systems, 1991
- Performance of Priority Queue Structures in a Virtual Memory EnvironmentThe Computer Journal, 1991
- An analytical cache modelACM Transactions on Computer Systems, 1989
- Cache Performance in the VAX-11/780ACM Transactions on Computer Systems, 1983
- Inserting a new element into a heapBIT Numerical Mathematics, 1981
- Performance Analysis of Cache MemoriesJournal of the ACM, 1978