@InProceedings{seamons:panda, author = {K. E. Seamons and Y. Chen and P. Jones and J. Jozwiak and M. Winslett}, title = {Server-Directed Collective {I/O} in {Panda}}, booktitle = {Proceedings of Supercomputing '95}, year = {1995}, month = {December}, publisher = {IEEE Computer Society Press}, address = {San Diego, CA}, URL = {http://www.supercomp.org/sc95/proceedings/520_SEAM/SC95.HTM}, keywords = {collective I/O, parallel I/O, pario-bib}, abstract = {We present the architecture and implementation results for Panda 2.0, a library for input and output of multidimensional arrays on parallel and sequential platforms. Panda achieves remarkable performance levels on the IBM SP2, showing excellent scalability as data size increases and as the number of nodes increases, and provides throughputs close to the full capacity of the AIX file system on the SP2 we used. We argue that this good performance can be traced to Panda's use of server-directed i/o (a logical-level version of disk-directed i/o [Kotz94b]) to perform array i/o using sequential disk reads and writes, a very high level interface for collective i/o requests, and built-in facilities for arbitrary rearrangements of arrays during i/o. Other advantages of Panda's approach are ease of use, easy application portability, and a reliance on commodity system software.}, comment = {This rewrite of Panda (see seamons:interface) is in C++ and runs on the SP2. They provide simple ways to declare the distribution of your array in memory and on disk, to form a list of arrays to be output at each timestep or at each checkpoint, and then to call for a timestep or checkpoint. Then they use something like disk-directed I/O (kotz:jdiskdir) internally to accomplish the rearrangement and transfer of data from compute nodes to I/O nodes. Note proceedings only on CD-ROM and WWW.} }