Thread scheduling for cache locality

  • Authors:
  • James Philbin;Jan Edler;Otto J. Anshus;Craig C. Douglas;Kai Li

  • Affiliations:
  • NEC Research Institute, 4 Independence Way, Princeton, NJ;NEC Research Institute, 4 Independence Way, Princeton, NJ;Department of Computer Science, Institute of Mathematical and Physical Sciences, University of Tromso, N-9037 Tromso, Norway;IBM T.J. Watson Research Center, P.O. Box 218, Yorktown Heights, NY and Department of Computer Science, Yale University, P.O. Box 208285, New Haven, CT;Department of Computer Science, Princeton University, Princeton, NJ

  • Venue:
  • Proceedings of the seventh international conference on Architectural support for programming languages and operating systems
  • Year:
  • 1996

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes a method to improve the cache locality of sequential programs by scheduling fine-grained threads. The algorithm relies upon hints provided at the time of thread creation to determine a thread execution order likely to reduce cache misses. This technique may be particularly valuable when compiler-directed tiling is not feasible. Experiments with several application programs, on two systems with different cache structures, show that our thread scheduling method can improve program performance by reducing second-level cache misses.