Application Interfaces to BPFS: a Basic Parallel File System

Robert D. Russell · HAL (Le Centre pour la Communication Scientifique Directe) · 1998

This report describes three application program interfaces to BPFS, a distributed, modular parallel file system designed for use on clusters of workstations. These interfaces are called API0, CLI, and MPI-IO. API0 is the first of an anticipated series of low-level, experimental client interfaces to BPFS. It is an «unconventional» interface in many respects: it is not particularly «UNIX-like», it is block-oriented rather than byte-oriented, it reads and writes system buffers as well as user-defined data areas, and it is asynchronous. It also provides time-regulated «data streaming» operations and user-level control of both server-side caching and per-file striping onto disks. Although API0 can be used directly from a user application program, it can also be used «under» a more conventional interface, as has been done for the next two interfaces. CLI is a «C Library Interface» implemented on top of API0 that exactly mimics the Standard C I/O library interface, but accesses parallel files stored by BPFS rather than sequential files stored by the host file system. The third interface is the ROMIO version of the standard MPI-IO interface which has been implemented on top of API0 to support access to BPFS files from parallel programs that use the Message Passing Interface (MPI).

Read the paper · More papers on PaperTik