Achieving scalable locality with time skewing
International Journal of Parallel Programming
In this paper, I first define scalable locality," a property of programs that indicates that we can use microprocessors whose speed exceeds that of their memory systems by an arbitrarily large factor. (This is somewhat analogous to the parallel computing concept of "scalable parallelism," which describes a property allowing the use of arbitrarily large numbers of microprocessors working together.) I then investigate the problem of producing scalable locality in certain scientific simulation programs. I demonstrate that this may require the rewriting of the program at the level of the "time step" loop--a level at which many existing automatic program transformation systems cannot operate. Finally, I describe a new automatic program transformation, which I call "Time Skewing," and give experimental results showing its value for several applications and for several relative processor/memory speeds." --author-supplied description
David Wonnacott. Achieving Scalable Locality with Time Ske wing. International Journal of Parallel Pro- gramming , June 2002.