@InProceedings{thakur:passion, author = {Rajeev Thakur and Rajesh Bordawekar and Alok Choudhary and Ravi Ponnusamy and Tarvinder Singh}, title = {{PASSION} Runtime Library for Parallel {I/O}}, booktitle = {Proceedings of the Scalable Parallel Libraries Conference}, year = {1994}, month = {October}, pages = {119--128}, later = {thakur:jpassion}, URL = {ftp://erc.cat.syr.edu/ece/choudhary/PASSION/splc94_passion_runtime.ps.Z}, keywords = {parallel I/O, pario-bib}, abstract = {We are developing a compiler and runtime support system called PASSION: Parallel And Scalable Software for Input-Output. PASSION provides software support for I/O intensive out-of-core loosely synchronous problems. This paper gives an overview of the PASSION Runtime Library and describes two of the optimizations incorporated in it, namely Data Prefetching and Data Sieving. Performance improvements provided by these optimizations on the Intel Touchstone Delta are discussed, together with an out-of-core Median Filtering application.}, comment = {See thakur:jpassion. They describe the PASSION library for parallel I/O, though the description is fairly high-level. The main things that this paper adds to earlier papers from this group is a discussion of Data Prefetching (which is really just an asynchronous I/O interface that their compiler uses for prefetching) and Data Sieving, which they use when the application needs to read some array section that is not contiguous in the file; for example, a submatrix of a 2-d matrix from in a file stored row-major. Their solution is to read the complete set of rows (or columns, depending on file layout) in one huge read, into a memory buffer, and then extract the necessary data. Basically, this is another form of the two-phase strategy.} }