@InProceedings{thakur:out-of-core, author = {Rajeev Thakur and Rajesh Bordawekar and Alok Choudhary}, title = {Compilation of Out-Of-Core Data Parallel Programs for Distributed Memory Machines}, booktitle = {Proceedings of the IPPS~'94 Workshop on Input/Output in Parallel Computer Systems}, year = {1994}, month = {April}, pages = {54--72}, organization = {Syracuse University}, note = {Also appeared in Computer Architecture News 22(4)}, later = {thakur:out-of-core-book}, keywords = {parallel I/O, pario-bib}, comment = {Earlier version available as NPAC/Syracuse tech report. They describe the design of an HPF compiler that can translate out-of-core programs into plain programs with explicit I/O. For the most part, they discuss many of the issues involved in manipulating the arrys, and some of the alternatives for run-time support. The out-of-core array is broken into pieces, one per processor. Each processor keeps its local array piece in a file on its own logical disk, and reads and writes pieces of that file as needed. Some of the tradeoffs appear to contrast the amount of I/O with the ability to optimize communication: they choose a method called ``out-of-core communication'' because it simplifies the analysis of communication patterns, although it requires more I/O. The compiler depends on run-time routines for support; the run-time routines hide a lot of the architectural details, simplifying the job of the compiler and making the resulting program more portable. There are some preliminary performance numbers.} }