ADIO: Abstract-Device Interface for I/O
Overview
ADIO is a strategy for implementing any user-level parallel-I/O
interface portably on multiple file systems. ADIO is
an abstract-device interface for parallel I/O.
Any user-level parallel-I/O API can be implemented efficiently on
multiple file systems by implementing the API portably on top of ADIO and
implementing only ADIO separately on each different file system.
Using this approach, we have implemented MPI-IO, Intel PFS, and IBM
PIOFS interfaces on PFS, PIOFS, Unix, and NFS file systems. As a
result, users can run applications (that use these APIs) portably and
efficiently on machines that use any of these file systems.
Note that ADIO itself is not intended to be used directly by
application programmers. It is internal to the implementation of some
other user-level I/O interface.
We are using ADIO to develop a portable implementation of MPI-IO, called ROMIO. ROMIO
is freely available and can be downloaded from the ROMIO web page.
Project Members
Publications
- R. Thakur, W. Gropp, and E. Lusk, "An Abstract-Device
Interface for Implementing Portable Parallel-I/O Interfaces," in
Proc. of the 6th Symposium on the Frontiers of Massively
Parallel Computation, October 1996, pp. 180-187. (ps, pdf, html)
Further Information
For further information, contact Rajeev Thakur.
Mathematics and Computer Science
Division, Argonne
National Laboratory