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.
Original language | English (US) |
---|---|
Pages | 358-365 |
Number of pages | 8 |
DOIs | |
State | Published - 1996 |
Event | Proceedings of the 1996 International Conference on Supercomputing - Philadelphia, PA, USA Duration: May 25 1996 → May 28 1996 |
Conference
Conference | Proceedings of the 1996 International Conference on Supercomputing |
---|---|
City | Philadelphia, PA, USA |
Period | 5/25/96 → 5/28/96 |
ASJC Scopus subject areas
- Computer Science(all)