An Interprocedural Framework for Placement of Asynchronous I/O
Operations
Gagan Agrawal,
Anurag Acharya,
Joel Saltz
To appear in ICS'96
Abstract:
Overlapping memory accesses with computations is a standard technique
for improving performance on modern architectures, which have deep
memory hierarchies. In this paper, we present a compiler technique
for overlapping accesses to secondary memory (disks) with computation.
We have developed an Interprocedural Balanced Code Placement (IBCP)
framework, which performs analysis on arbitrary recursive procedures
and arbitrary control flow and replaces synchronous I/O operations
with a balanced pair of asynchronous operations. We demonstrate how
this analysis is useful for the applications which perform frequent
and large accesses to secondary memory, including the applications
which snapshot or checkpoint their computations or the out-of-core
applications.
Postscript
(compressed 71K)
A more complete version is available as
CS-TR-3563.