Show simple item record

dc.contributor.authorBender, Michael A.
dc.contributor.authorEbrahimi, Roozbeh
dc.contributor.authorFineman, Jeremy T.
dc.contributor.authorJohnson, Rob
dc.contributor.authorLincoln, Andrea
dc.contributor.authorMcCauley, Samuel
dc.contributor.authorDemaine, Erik D
dc.contributor.authorLynch, Jayson R.
dc.date.accessioned2017-07-26T17:46:41Z
dc.date.available2017-07-26T17:46:41Z
dc.date.issued2013-07
dc.identifier.isbn9781450342100
dc.identifier.urihttp://hdl.handle.net/1721.1/110857
dc.description.abstractMemory 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 Theta(Nc). We demonstrate the effectiveness of these techniques by deriving several results: 1. We give a simple recipe for determining whether common divide-and-conquer cache-oblivious algorithms are optimally cache adaptive. 2. We show how to bound an algorithm's non-optimality. We give a tight analysis showing that a class of cache-oblivious algorithms is a logarithmic factor worse than optimal. 3. 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(loglog 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.en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF 1114809)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF 1217708)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF 1218188)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF 1314633)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CCF 1439084)en_US
dc.description.sponsorshipCenter for Massive Data Algorithmics (MADALGO)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant IIS 1247726)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant IIS 1251137)en_US
dc.description.sponsorshipNational Science Foundation (U.S.) (NSF grant CNS 1408695)en_US
dc.language.isoen_US
dc.publisherAssociation for Computing Machinery (ACM)en_US
dc.relation.isversionofhttp://dx.doi.org/10.1145/2935764.2935798en_US
dc.rightsCreative Commons Attribution-Noncommercial-Share Alikeen_US
dc.rights.urihttp://creativecommons.org/licenses/by-nc-sa/4.0/en_US
dc.sourceOther univ. web domainen_US
dc.titleCache-Adaptive Analysisen_US
dc.typeArticleen_US
dc.identifier.citationBender, Michael A., Erik D. Demaine, Roozbeh Ebrahimi, Jeremy T. Fineman, Rob Johnson, Andrea Lincoln, Jayson Lynch, and Samuel McCauley. “Cache-Adaptive Analysis.” Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures - SPAA ’16 (2016), Pacific Grove, California, USA, July 11-13, 2016, pp.135-144.en_US
dc.contributor.departmentMassachusetts Institute of Technology. Department of Electrical Engineering and Computer Scienceen_US
dc.contributor.mitauthorDemaine, Erik D
dc.contributor.mitauthorLynch, Jayson R.
dc.relation.journalProceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures - SPAA '16en_US
dc.eprint.versionAuthor's final manuscripten_US
dc.type.urihttp://purl.org/eprint/type/ConferencePaperen_US
eprint.statushttp://purl.org/eprint/status/NonPeerRevieweden_US
dspace.orderedauthorsBender, Michael A.; Demaine, Erik D.; Ebrahimi, Roozbeh; Fineman, Jeremy T.; Johnson, Rob; Lincoln, Andrea; Lynch, Jayson; McCauley, Samuelen_US
dspace.embargo.termsNen_US
dc.identifier.orcidhttps://orcid.org/0000-0003-3803-5703
mit.licenseOPEN_ACCESS_POLICYen_US
mit.metadata.statusComplete


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record