@InProceedings{gotwals:streams, author = {Jacob Gotwals and Suresh Srinivas and Dennis Gannon}, title = {{pC++}/streams: a Library for {I/O} on Complex Distributed Data Structures}, booktitle = {Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming}, year = {1995}, month = {July}, pages = {11--19}, publisher = {ACM Press}, address = {Santa Barbara, CA}, URL = {ftp://ftp.cs.indiana.edu/pub/techreports/TR422a.ps.Z}, keywords = {parallel I/O, object-oriented, distributed data structures, runtime library, pario-bib}, comment = {URL is for tech report version. They have a language called pC++ that allows object-parallel programming. They have a library called d/streams for I/O of distributed arrays. pC++/streams is a combination. You open a file, specify the in-memory distribution, read from the stream, and then extract some variables. Likewise, you insert some variables (into the stream buffer), then write it. They manage the distribution, and they store necessary metadata to reassemble the data structure when reading. Variables can be arbitrary classes, with $>>$ and $<<$ overloaded as the insert and extract operators. Performance is reasonable on Intel Paragon and SGI Challenge.} }