ADIO: Abstract-Device Interface for I/O


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


Latest Definition of the ADIO Interface

Further Information

For further information, contact Rajeev Thakur.

Mathematics and Computer Science Division, Argonne National Laboratory