Hardware Reference
In-Depth Information
Other extensions include functionality to retrieve both directory contents
and associated file metadata, as well as the ability to retrieve only a subset of
the file metadata. The latter avoids forcing the file system to compute updated
values for all file attributes, some of which (e.g., file size) can be very costly
to obtain.
Adoption and support for the POSIX HPC extensions has been mini-
mal. However, a number of calls similar to the openg and sutoc functions
proposed in the POSIX I/O extensions have made it into the Linux kernel:
nametohandleat and openbyhandleat . These functions were added in
May 2011 in Linux kernel version 2.6.39.
30.2.2 MPI-IO
The MPI standard is widely used to program HPC systems. In version 2
of this standard, support for file I/O (MPI-IO) was added. Being designed
for distributed computing environments, the MPI-IO model provides a more
suitable API for HPC applications. For example, non-contiguous accesses are
directly supported (through the use of MPI datatypes), and default data con-
sistency is more relaxed, and formally defined. MPI-IO also defines collective
I/O operations, enabling many optimizations such as group open, which offers
similar functionality to the openg POSIX HPC extension call.
However, since MPI-IO is frequently built on top of POSIX I/O func-
tionality, many of the issues described in Section 30.1 resurface. Whenever
possible, MPI-IO uses file system specific calls (for example, through the use
of ioctl ) to work around some of the POSIX limitations, but these calls are
non-standard and often vary even between versions of the same file system.
Widespread adoption of the POSIX HPC extensions would provide MPI-IO
with a portable method to obtain the same effect. When specialized support
is not available for the underlying file system, MPI-IO is limited to POSIX
functionality, including the inability to communicate relaxed data consistency
requirements. Consequently, MPI-IO performance is highly variable from sys-
tem to system [12], causing some application and library developers to avoid
MPI-IO all together.
30.2.3 Object Storage Model
In 1998, Gibson et al. [10] proposed a new storage interface, called Network
Attached Secure Disk (NASD), proposing to replace the low-level sector access
by an object-based access API allowing a client to access an object (typically
by numerical identifier) and offset within that object, while the device itself
controls the mapping of the object data to the disk platters. The NASD work
influenced the design of the ANSI T10 Object-based Storage Device (OSD)
standard. This work does not aim to replace the POSIX-I/O functionality;
instead it is intended to offer a basic building block on which other, high-
level I/O functionality can be built. In a sense, these form a replacement for
 
Search WWH ::




Custom Search