2002 · 165 citations · 12 references
Cluster ComputingEngineeringMemory DesignComputer ArchitectureCentral Processor SpeedsHardware SystemsConservative Garbage CollectionComputer MemoryShared MemoryHigh-performance ArchitectureComputing SystemsParallel ComputingCompilersData ManagementMemory ManagementWeb CacheComputer EngineeringCachingBuffer ManagementComputer ScienceVirtual MemoryMemory ArchitectureMemory LatencyOperating SystemsProgram AnalysisParallel ProgrammingSystem Software
Although central processor speeds continues to improve, improvements in overall system performance are increasingly hampered by memory latency, especially for pointer-intensive applications. To counter this loss of performance, numerous data and instruction prefetch mechanisms have been proposed. Recently, several proposals have posited a memory-side prefetcher; typically, these prefetchers involve a distinct processor that executes a program slice that would effectively prefetch data needed by the primary program. Alternative designs embody large state tables that learn the miss reference behavior of the processor and attempt to prefetch likely misses.This paper proposes Content-Directed Data Prefetching, a data prefetching architecture that exploits the memory allocation used by operating systems and runtime systems to improve the performance of pointer-intensive applications constructed using modern language systems. This technique is modeled after conservative garbage collection, and prefetches "likely" virtual addresses observed in memory references. This prefetching mechanism uses the underlying data of the application, and provides an 11.3% speedup using no additional processor state. By adding less than ½% space overhead to the second level cache, performance can be further increased to 12.6% across a range of "real world" applications.
12
Computer architecture: a quantitative approach
Martin Shute · Microelectronics Journal · 1993 · 3.4K citations
Design and evaluation of a compiler algorithm for prefetching
Todd C. Mowry, Monica S. Lam, Anoop Gupta · 1992 · 763 citations · Full text
Prefetching using Markov predictors
Doug Joseph, Dirk Grunwald · 1997 · 498 citations · Full text
Compiler-based prefetching for recursive data structures
Chi-Keung Luk, Todd C. Mowry · 1996 · 397 citations · Full text