SPAID: Software Prefetching In Pointer and Call-Intensive Environments
Mikko H. Lipasti, William J. Schmidt, Steven R. Kunkel, Robert R. Roediger
Abstract
Software prefetching, typically in the context of numeric- or
loop-intensive benchmarks, has been proposed as one remedy for the
performance bottleneck imposed on computer systems by the cost of
servicing cache misses. This paper proposes a new heuristic--SPAID--for
utilizing prefetch instructions in pointer- and call-intensive
environments. We use trace-driven cache simulation of a number of
pointer- and call-intensive benchmarks to evaluate the benefits and
implementation trade-offs of SPAID. Our results indicate that a
significant proportion of the cost of data cache misses can be
eliminated or reduced with SPAID without unduly increasing memory
traffic.
Keywords
compiler, heuristic, prefetch, cache, pointer
Talk
Overheads (174464 bytes)