Speaker: Fay Chang, Carnegie Mellon University
Date: October 29, 1998
Automatic I/O Hint Generation through Speculative Execution
Aggressive I/O prefetching is an effective technique for improving the performance of disk-bound applications. However, its use is limited by the difficulty of determining what to prefetch when. Manually modifying applications to perform prefetching can require formidable programming effort, both in order to understand how an application currently generates file requests, and to determine how the application could be modified to benefit from prefetching. Existing automatic prefetching approaches are only appropriate for certain types of applications; for example, static compiler-based approaches are currently able to optimize only looping array-based codes.
We propose a new automatic approach which may be appropriate for a wide range of applications. Our approach is based on having applications speculatively pre-execute their code in order to discover and issue prefetching hints about their future data needs. We have developed a binary modification tool called SpecHint which tranforms Alpha application binaries to use this approach. In this talk, I will describe our design and the promising results we have obtained on three applications from the TIP benchmark suite.