Communications of the ACM · 1976 · 120 citations · 7 references
ComputingComputer EngineeringComputer ScienceComputer ArchitectureOperating SystemsProgramming LanguagesData LocalityData-flow AnalysisMemory HierarchyMemory ManagementVirtual MemoryLocality Of ReferenceMemory Access LocalityMemory Access PatternsMemory LocalityProgram ModelsSpatial LocalityVirtual Memory ManagementVirtual Memory Systems
The term “locality” has been used to denote that subset of a program's segments which are referenced during a particular phase of its execution. A program's behavior can be characterized in terms of its residence in localities of various sizes and lifetimes, and the transitions between these localities. In this paper the concept of a locality is made more explicit through a formal definition of what constitutes a phase of localized reference behavior, and by a corresponding mechanism for the detection of localities in actual reference strings. This definition provides for the existence of a hierarchy of localities at any given time, and the reasonableness of the definition is supported by examples taken from actual programs. Empirical data from a sample of production Algol 60 programs is used to display distributions of locality sizes and lifetimes, and these results are discussed in terms of their implications for the modeling of program behavior and memory management in virtual memory systems.
7
A study of replacement algorithms for a virtual-storage computer
L. A. Belady · IBM Systems Journal · 1966 · 1.7K citations
An empirical study of FORTRAN programs
Donald E. Knuth · Software Practice and Experience · 1971 · 682 citations
Program restructuring for virtual memory
D. J. Hatfield, J. Gerald · IBM Systems Journal · 1971 · 167 citations
Improving locality by critical working sets
Domenico Ferrari · Communications of the ACM · 1974 · 117 citations · Full text
Experiments with program locality
Jeffrey R. Spirn, Peter J. Denning · 1972 · 90 citations · Full text