Document Type
Article
Publication Date
1-1-1998
Abstract
The difficulty of handling out-of-core data limits the performance of supercomputers as well as the potential of the parallel machines. Since writing an efficient out-of-core version of a program is a difficult task and virtual memory systems do not perform well on scientific computations, we believe that there is a clear need for compiler directed explicit I/O approach for out-of-core computations. In this paper, we first present an out-of-core compilation strategy based on a disk storage abstraction. Then, we offer a compiler algorithm to optimize locality of disk accesses in out-of-core codes by choosing a good combination of file layouts on disks and loop transformations. We introduce memory coefficient and processor coefficient concepts to characterize the behavior of out-of-core programs under different memory constraints. We also enhance our algorithm to handle data-parallel programs which contain multiple loop nest. Our initial experimental results obtained on IBM SP-2 and Intel Paragon provide encouraging evidence that our approach is successful at optimizing programs which depend on disk-resident data in distributed-memory machines. © 1998 Elsevier Science B.V. All rights reserved.
Publication Source (Journal or Book title)
Parallel Computing
First Page
597
Last Page
628
Recommended Citation
Kandemir, M., Choudhary, A., Ramanujam, J., & Bordawekar, R. (1998). Compilation techniques for out-of-core parallel computations. Parallel Computing, 24 (3-4), 597-628. https://doi.org/10.1016/s0167-8191(98)00027-1