@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.}
}

