Skip to main navigation Skip to search Skip to main content

Cache-adaptive analysis

  • Michael A. Bender
  • , Erik D. Demaine
  • , Roozbeh Ebrahimi
  • , Jeremy T. Fineman
  • , Rob Johnson
  • , Andrea Lincoln
  • , Jayson Lynch
  • , Samuel McCauley
  • Massachusetts Institute of Technology
  • Alphabet Inc.
  • Georgetown University
  • Stony Brook University
  • Stanford University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

13 Scopus citations

Abstract

Memory efficiency and locality have substantial impact on the performance of programs, particularly when operating on large data sets. Thus, memory-or I/O-efficient algorithms have received significant attention both in theory and practice. The widespread deployment of multicore machines, however, brings new challenges. Specifically, since the memory (RAM) is shared across multiple processes, the effective memory-size allocated to each process fluctuates over time. This paper presents techniques for designing and analyzing algorithms in a cache-adaptive setting, where the RAM available to the algorithm changes over time. These techniques make analyzing algorithms in the cache-adaptive model almost as easy as in the external memory, or DAM model. Our techniques enable us to analyze a wide variety of algorithms - Master-Method-style algorithms, Akra-Bazzi-style algorithms, collections of mutually recursive algorithms, and algorithms, such as FFT, that break problems of size N into subproblems of size θ(Nc). We demonstrate the effectiveness of these techniques by deriving several results: • We give a simple recipe for determining whether common divide-and-conquer cache-oblivious algorithms are optimally cache adaptive. • We show how to bound an algorithm's non-optimality. We give a tight analysis showing that a class of cacheoblivious algorithms is a logarithmic factor worse than optimal. • We show the generality of our techniques by analyzing the cache-oblivious FFT algorithm, which is not covered by the above theorems. Nonetheless, the same general techniques can show that it is at most O(log log N) away from optimal in the cache adaptive setting, and that this bound is tight. These general theorems give concrete results about several algorithms that could not be analyzed using earlier techniques. For example, our results apply to Fast Fourier Transform, matrix multiplication, Jacobi Multipass Filter, and cache-oblivious dynamic-programming algorithms, such as Longest Common Subsequence and Edit Distance. Our results also give algorithm designers clear guidelines for creating optimally cache-adaptive algorithms.

Original languageEnglish
Title of host publicationSPAA 2016 - Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures
PublisherAssociation for Computing Machinery
Pages135-144
Number of pages10
ISBN (Electronic)9781450342100
DOIs
StatePublished - Jul 11 2016
Event28th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2016 - Pacific Grove, United States
Duration: Jul 11 2016Jul 13 2016

Publication series

NameAnnual ACM Symposium on Parallelism in Algorithms and Architectures
Volume11-13-July-2016

Conference

Conference28th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2016
Country/TerritoryUnited States
CityPacific Grove
Period07/11/1607/13/16

Fingerprint

Dive into the research topics of 'Cache-adaptive analysis'. Together they form a unique fingerprint.

Cite this