@TechReport{bordawekar:compcomm-tr, author = {Rajesh Bordawekar and Alok Choudhary and J. Ramanujam}, title = {Compilation and Communication Strategies for Out-of-core programs on Distributed Memory Machines}, year = {1995}, month = {November}, number = {CACR-113}, institution = {Scalable I/O Initiative, Center of Advanced Computing Research, California Insititute of Technology}, later = {bordawekar:compcomm}, URL = {http://www.cat.syr.edu/~rajesh/cacr113.ps}, keywords = {out-of-core, compiler, communication, distributed memory, parallel I/O, pario-bib}, abstract = {It is widely acknowledged that improving parallel I/O performance is critical for widespread adoption of high performance computing. In this paper, we show that communication in out-of-core distributed memory problems may require both inter-processor communication and file I/O. Thus, in order to improve I/O performance, it is necessary to minimize the I/O costs associated with a communication step. We present three methods for performing communication in out-of-core distributed memory problems. The first method called the generalized collective communication method follows a loosely synchronous model; computation and communication phases are clearly separated, and communication requires permutation of data in files. The second method called the receiver-driven in-core communication considers only communication required of each in-core data slab individually. The third method called the owner-driven in-core communication goes even one step further and tries to identify the potential future use of data (by the recipients) while it is in the sender's memory. We describe these methods in detail and present a simple heuristic to choose a communication method from among the three methods. We then provide performance results for two out-of-core applications, the two-dimensional FFT code and the two-dimensional elliptic Jacobi solver. Finally, we discuss how the out-of-core and in-core communication methods can be used in virtual memory environments on distributed memory machines.}, comment = {See also bordawekar:comm, at ICS'95.} }