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.