1993 · 72 citations · 14 references
ComputingComputer ScienceComputer ArchitectureParallel ComputingProgramming LanguagesConcurrent ProgrammingData LocalityData Locality OptimizationMemory HierarchyParallel Runtime SystemsShared-memory MultiprocessingCache LocalityLocality Of ReferenceLocality-aware SchedulingMemory Access LocalityMemory LocalityParallel SchedulingShared MemoryShared Memory Multiprocessors
Large-scale shared memory multiprocessors typically support a multilevel memory hierarchy consisting of per-processor caches, a local portion of shared memory, and remote shared memory. On such machines, the performance of parallel programs is often limited by the high latency of remote memory references. In this paper we explore how knowledge of the underlying memory hierarchy can be used to schedule computation and distribute data structures, and thereby improve data locality. Our study is done in the context of COOL, a concurrent object-oriented language developed at Stanford. We develop abstractions for the programmer to supply optional information about the data reference patterns of the program. This information is used by the runtime system to distribute tasks and objects so that the tasks execute close (in the memory hierarchy) to the objects they reference.
14
C. A. R. Hoare · Communications of the ACM · 1974 · 1.5K citations · Full text
A data locality optimizing algorithm
Michael E. Wolf, Monica S. Lam · 1991 · 1.3K citations · Full text
The Stanford Dash multiprocessor
Daniel Lenoski, James Laudon, Kourosh Gharachorloo et al. · Computer · 1992 · 972 citations
Jaswinder Singh, Wolf-Dietrich Weber, Anoop Gupta · ACM SIGARCH Computer Architecture News · 1992 · 927 citations · Full text
Anant Agarwal, Beng-Hong Lim, David Kranz et al. · ACM SIGARCH Computer Architecture News · 1990 · 293 citations