@InProceedings{seamons:interface,
  author = {K. E. Seamons and M. Winslett},
  title = {An Efficient Abstract Interface for Multidimensional Array {I/O}},
  booktitle = {Proceedings of Supercomputing '94},
  year = {1994},
  month = {November},
  pages = {650--659},
  publisher = {IEEE Computer Society Press},
  address = {Washington, DC},
  later = {seamons:jpanda},
  URL = {http://bunny.cs.uiuc.edu/CADR/pubs/super94.ps},
  keywords = {parallel I/O, multiprocessor file system interface, pario-bib},
  comment = {``This paper shows what large performance gains can be made for
  parallel i/o of large arrays by using a carefully implemented library
  interface for i/o that makes use of array chunking. For example, the authors
  obtained a factor of 10 speedup in output of time step data by using the
  natural array chunks of the problem decomposition as the units of i/o on an
  Intel iPSC/860. The paper also presents results from experiments with the use
  of chunking in checkpointing and restarts on parallel architectures, and the
  use of chunking with memory-mapped data files in visualization on sequential
  architectures.'' They describe a library that supports chunked
  representations of matrices. That is, ways to checkpoint, output, or input
  multidimensional matrices to files in a blocked rather than row-major or
  column-major layout. This helps the file be more versatile for reading in a
  variety of dimensions. Their experiments show good performance improvements,
  although they only tried it for an application whose data set in memory was
  already in a blocked distribution -- I would guess that smaller improvements
  might come from column- or row-oriented memory distributions. Also, some of
  their performance improvement came from characteristics specific to the Intel
  CFS file system, having to do with its IOP-cache management policies. See
  also seamons:schemas and seamons:compressed.}
}

