Hybrid Approaches (Joseph and Grunwald)
Parallel Prefetching
- all prefetchers have access to hardware resources (e.g. miss addresses, data on memory reference instructions)
- all prefetchers are allowed to prefetch
Serial Prefetching
- most accurate prefetcher is allowed to prefetch first
- static ordering: stride, Markov, consecutive
Notes:
Their idea is to run multiple prefetching techniques together. Two methods of combining prefetchers are evaluated.
When combining them in parallel, all prefetchers get access to on-chip resources and are allowed to issue prefetches in parallel. In terms of coverage, this approach works really well. Results obtained by Joseph and Grunwald, however, show that accuracy is, not surprisingly, very poor.
The serial method allows only one prefetcher to issue a prefetch at a time. Prefetchers are statically ordered in terms of their expected accuracy. The most accurate prefetcher can issue a prefetch first. If it cannot, then the next one is allowed to prefetch. Joseph and Grunwald found that this method has significantly better accuracy, while still achieving a good coverage.
Joseph and Grunwald evaluate these techniques using stride, Markov, and consecutive prefetching. An interesting research direction might be to evaluate the combination of a stride prefetcher and recursive prefetcher.