2015Unpublished venueRequires access

Analysis of recursive cache-adaptive algorithms

Andrea Lincoln

Open publisher page 0 citations

Abstract

The performance and behavior of caches is becoming increasingly important to the overall performance of systems. As a result, there has been extensive study of caching in theoretical computer science. The traditionally studied model was the external-memory model [AV88]. In this model cache misses cost O(1) and operations on the CPU are free [AV88]. In 1999 Frigo, Leiserson, Prokop and Ramachandran proposed the cache-oblivious model [FLPR99]. In this model algorithms don’t have access to cache information, like the size of the cache. However, neither model captures the fact that an algorithm’s available cache can change over time, which can effect its efficiency. In 2014, the cache-adaptive model was proposed [BEF14]. The cache-adaptive model is a model where the cache can change in size when a cache miss occurs [BEF14]. In more recent work, to be published, methods for analysis in the cache-adaptive context are proposed [MABM]. In this thesis we analyze the efficiency of recursive algorithms in the cache-adaptive model. Specifically, we present lower bounds on progress per cache miss and upper bounds on the total number of cache misses in an execution. The algorithms we analyze are divide and conquer algorithms that follow the recurrence T (N) = aT (N/b) + N . For divide and conquer algorithms of this form, there is a method for calculating within a constant factor the number of cache misses incurred. This provides a theorem analogues to the Master Theorem, but applicable to the cache-adaptive model.

About this research paper

What this paper is about

The performance and behavior of caches is becoming increasingly important to the overall performance of systems. As a result, there has been extensive study of caching in theoretical computer science. The traditionally studied model was the external-memory model [AV88]. In this model cache misses cost O(1) and operations on the CPU are free [AV88]. In 1999 Frigo, Leiserson, Prokop and Ramachandran proposed the cache-oblivious model [FLPR99]. In this model algorithms don’t have access to cache information, like the size of the cache. However, neither model captures the fact that an algorithm’s available cache can change over time, which can effect its efficiency. In 2014, the cache-adaptive model was proposed [BEF14]. The cache-adaptive model is a model where the cache can change in size when a cache miss occurs [BEF14]. In more recent work, to be published, methods for analysis in the cache-adaptive context are proposed [MABM]. In this thesis we analyze the efficiency of recursive algorithms in the cache-adaptive model. Specifically, we present lower bounds on progress per cache miss and upper bounds on the total number of cache misses in an execution. The algorithms we analyze are divide and conquer algorithms that follow the recurrence T (N) = aT (N/b) + N . For divide and conquer algorithms of this form, there is a method for calculating within a constant factor the number of cache misses incurred. This provides a theorem analogues to the Master Theorem, but applicable to the cache-adaptive model.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available abstract

The performance and behavior of caches is becoming increasingly important to the overall performance of systems. As a result, there has been extensive study of caching in theoretical computer science. The traditionally studied model was the external-memory model [AV88]. In this model cache misses cost O(1) and operations on the CPU are free [AV88]. In 1999 Frigo, Leiserson, Prokop and Ramachandran proposed the cache-oblivious model [FLPR99]. In this model algorithms don’t have access to cache information, like the size of the cache. However, neither model captures the fact that an algorithm’s available cache can change over time, which can effect its efficiency. In 2014, the cache-adaptive model was proposed [BEF14]. The cache-adaptive model is a model where the cache can change in size when a cache miss occurs [BEF14]. In more recent work, to be published, methods for analysis in the cache-adaptive context are proposed [MABM]. In this thesis we analyze the efficiency of recursive algorithms in the cache-adaptive model. Specifically, we present lower bounds on progress per cache miss and upper bounds on the total number of cache misses in an execution. The algorithms we analyze are divide and conquer algorithms that follow the recurrence T (N) = aT (N/b) + N . For divide and conquer algorithms of this form, there is a method for calculating within a constant factor the number of cache misses incurred. This provides a theorem analogues to the Master Theorem, but applicable to the cache-adaptive model.

Key concepts: Cache, Cache algorithms, Computer science, Cache invalidation, Cache coloring, Cache-oblivious algorithm, Cache pollution, Smart Cache

Related papers

Back to paper searchBrowse research topicsOriginal source
Analysis of recursive cache-adaptive algorithms — Research Paper | ScholarLens