Publication | Closed Access
An experimental comparison of cache-oblivious and cache-conscious programs
87
Citations
22
References
2007
Year
Unknown Venue
EngineeringComputer ArchitectureComputational ComplexityMemory Model (Programming)Software AnalysisHardware SecurityArray ComputingHigh-performance ArchitectureMemory HierarchyParallel ComputingConcurrent ProgrammingComputer EngineeringCachingDivision StepComputer ScienceCache-conscious ProgramsCache-oblivious AlgorithmsMemory ArchitectureExternal-memory AlgorithmProgram AnalysisParallel ProgrammingSystem Software
Cache-oblivious algorithms have been advanced as a way of circumventing some of the difficulties of optimizing applications to take advantage of the memory hierarchy of modern microprocessors. These algorithms are based on the divide-and-conquer paradigm -- each division step creates sub-problems of smaller size, and when the working set of a sub-problem fits in some level of the memory hierarchy, the computations in that sub-problem can be executed without suffering capacity misses at that level. In this way, divide-and-conquer algorithms adapt automatically to all levels of the memory hierarchy; in fact, for problems like matrix multiplication, matrix transpose, and FFT, these recursive algorithms are optimal to within constant factors for some theoretical models of the memory hierarchy.
| Year | Citations | |
|---|---|---|
Page 1
Page 1