@Misc{seamons:msio, author = {K. E. Seamons and Y. Chen and M. Winslett and Y. Cho and S. Kuo and P. Jones and J. Jozwiak and M. Subramanian}, title = {Fast and Easy {I/O} for Arrays in Large-scale Applications}, booktitle = {Workshop on Modeling and Specification of I/O}, year = {1995}, month = {October}, note = {At SPDP'95}, URL = {http://bunny.cs.uiuc.edu/CDR/pubs/msio95.html}, keywords = {parallel I/O, scientific computing, pario-bib}, abstract = {This four-page paper, written for an audience from the supercomputing/parallel i/o community, is a nice succinct introduction to Panda. Abstract and summary: \par Scientists with high-performance computing needs are plagued by applications suffering poor i/o performance and are burdened with the need to consider low-level physical storage details of persistent arrays in order to reach acceptable i/o performance levels, especially with existing parallel i/o facilities. The Panda i/o library (URL http://bunny.cs.uiuc.edu/CADR/panda.html) serves as a concrete example of a methodology for freeing application developers from unnecessary storage details through high-level abstract interfaces and providing them with increased performance and greater portability. \par Panda addresses these problems by introducing high-level application program interfaces for array i/o on both parallel and sequential machines, and by developing an efficient commodity-parts-based implementation of those interfaces across a variety of computer architectures. It is costly to build a file system from scratch and we designed Panda to run on top of existing commodity file systems such as AIX; excellent performance using this approach implies immediate and broad applicability. High-level interfaces provide ease of use, application portability, and, most importantly, allow plenty of flexibility for an efficient underlying implementation. A high-level view of an entire i/o operation, made possible with Panda's high level interfaces, allows Panda to optimize reading and writing arrays to the host file system on the i/o nodes using Panda's server-directed i/o architecture. \par Panda focuses specifically on multidimensional arrays, the data type at the root of i/o performance problems in scientific computing. The Panda i/o library exhibits excellent performance on the NASA Ames NAS IBM SP2, attaining 83--98\% of peak AIX performance on each i/o node in the experiments described in this paper. We expect high-level interfaces such as Panda's to become the interfaces of choice for scientific applications in the future. As Panda can be easily added on top of existing parallel file systems and ordinary file systems without changing them, Panda illustrates a way to obtain cheap, fast, and easy-to-use i/o for high-performance scientific applications.}, comment = {Just a short 4-page summary of the Panda I/O library, including some brief performance results.} }