Low-level Interfaces for High-level Parallel I/O

Nils Nieuwejaar, Dartmouth College
David Kotz, Dartmouth College

This TR supercedes PCS-TR94-230. A result of the CHARISMA project. Appeared in IOPADS '95 at IPPS '95.


As the I/O needs of parallel scientific applications increase, file systems for multiprocessors are being designed to provide applications with parallel access to multiple disks. Many parallel file systems present applications with a conventional Unix-like interface that allows the application to access multiple disks transparently. By tracing all the activity of a parallel file system in a production, scientific computing environment, we show that many applications exhibit highly regular, but non-consecutive I/O access patterns. Since the conventional interface does not provide an efficient method of describing these patterns, we present three extensions to the interface that support strided, nested-strided, and nested-batched I/O requests. We show how these extensions can be used to express common access patterns.