Achieving Scalable Locality with Time Skewing

  • Authors:
  • David Wonnacott

  • Affiliations:
  • Department of Computer Science, Haverford College, Haverford, Pennsylvania. davew@cs.haverford.edu

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Microprocessor speed has been growing exponentially faster than memory system speed in the recent past. This paper explores the long term implications of this trend. We define scalable locality, which measures our ability to apply ever faster processors to increasingly large problems (just as scalable parallelism measures our ability to apply more numerous processors to larger problems). We provide an algorithm called time skewing that derives an execution order and storage mapping to produce any desired degree of locality, for certain programs that can be made to exhibit scalable locality. Our approach is unusual in that it derives the transformation from the algorithm's dataflow (a fundamental characteristic of the algorithm) instead of searching a space of transformations of the execution order and array layout used by the programmer (artifacts of the expression of the algorithm). We provide empirical results for data sets using L2 cache, main memory, and virtual memory.