Time Skewing for Parallel Computers
Time skewing [Won99a] is a compile-time optimization that can achieve scalable locality for a class of iterative stencil calculations, given a sufficient number of time steps and sufficient cache memory. That is, the cache hit rate can be made to grow with the problem size, and we can eliminate (for large problems) idle time due to high machine balance (the ratio of processor speed to memory bandwidth [CCK88,McC95]). Scalable locality lets us apply processors with increasing machine balance to increasingly large problems, just as scalable parallelism lets us apply higher levels of parallelism to larger problems. The cache required for time skewing grows with the machine balance, but not with the problem size.
Unable to display preview. Download preview PDF.
- [CCK88]D. Callahan, J. Cocke, and K. Kennedy. Estimating interlock and improving balance for pipelined machines. Journal of Parallel and Distributed Computing, 5(4):334–358, August 1988.Google Scholar
- [HCF99]Karin Högstedt, Larry Carter, and Jeanne Ferrante. Selecting tile shape for minimal execution time. In roceedings of the eleventh annual ACM symposium on Parallel algorithms and architectures, pages 201–211, June 1999.Google Scholar
- [McC95]John D. McCalpin. Memory bandwidth and machine balance in current high performance computers. IEEE Technical Committee on Computer Architecture Newsletter, Dec 1995.Google Scholar
- [Ros98]Evan J. Rosser. Fine-Grained Analysis of Array Computations. PhD thesis, Dept. of Computer Science, The University of Maryland, September 1998.Google Scholar
- [SL99]Yonghong Song and Zhiyuan Li. New tiling techniques to improve cache temporal locality. In ACM SIGPLAN’ 99 Conference on Programming Language Design and Implementation, pages 215–228, May 1999.Google Scholar
- [Won99a]David Wonnacott. Achieving Scalable Locality With Time Skewing. In preparation. Includes material from Rutgers University CS Technical Reports 379 and 378. A preprint is available as http://www.haverford.edu/cmsc/davew/cache-opt/tskew.ps.
- [Won99b]David Wonnacott. Time skewing for parallel computers. Technical Report DCS-TR-388, Dept. of Computer Science, Rutgers U., February 1999.Google Scholar