The many software and hardware layers of parallel I/O systems and the terminology used to describe them can be very confusing. Underlying this complexity, however, are simple concepts: methods of describing accesses, consistency semantics, distributing data across many resources, and surviving component failures. Armed with knowledge of these concepts, one can both qualitatively assess the appropriateness of a particular system to a given problem and devise tests to measure quantitatively the effectiveness of the system. Many of these I/O systems share common traits, so the example systems presented here can be used as a frame of reference when examining new systems as well.
Parallel I/O continues to grow in importance as a component of clusters. While existing parallel file systems such as PVFS1, GPFS, and GFS are filling existing needs, new systems such as Lustre and PVFS2 are already being built to meet the needs of upcoming systems. These systems build on the successes of the past but also address issues germane to upcoming systems, in particular parallel I/O system portability and increased scale. Even so, additional effort will be necessary to see exciting concepts such as autonomous storage become reality.
As parallel I/O researchers and developers, we definitely have our work cut out for us!