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