Hardware Reference
In-Depth Information
applications. Additionally, the PLFS shared file mode has been used in two
use-cases not originally envisioned when PLFS was first developed: for burst
buffers and for enabling parallel I/O to file systems which do not natively
support parallel I/O.
14.3.1 Burst Buers
As HPC transitions from petascale to exascale, the economics of storage
media dictate a new storage architecture. HPC users have two basic check-
pointing requirements from their storage systems: they require a minimum
bandwidth for checkpointing to enable a sucient utilization of the super-
computer and they require a minimum capacity to store a sucient amount
of checkpoint data. In the petascale, disk-based storage systems provisioned
for the capacity requirement met the bandwidth requirement as well. How-
ever, as the improvements in disk capacity have outpaced the improvements in
disk bandwidth, disk-based storage systems for exascale HPC will need to be
provisioned for bandwidth. Unfortunately, purchasing disks for bandwidth is
extremely economically inecient. Luckily, emerging media such as NVRAM
and flash storage allow an economically ecient way to purchase bandwidth,
but they are not a solution for capacity. Therefore, exascale will require a
new storage architecture which has become known as a burst buffer storage
architecture. This name reflects its intended usage for checkpointing in which
checkpoint data can be quickly saved to a small, fast flash-based tier (i.e.,
the burst buffer); while the computation resumes, the checkpoint data can be
more slowly transferred to the larger, slower disk-based storage system.
The PLFS containers used within the PLFS shared file mode have proven
to be very effective in enabling burst buffer storage systems [2]. By storing
the metadata in the container, PLFS can store (and retrieve) the data itself
very quickly into subfiles in a burst buffer tier. Later, the data is transferred
to the disk tier and the PLFS metadata is correspondingly modified. The
advantage of this approach is that the user only sees a single namespace.
PLFS transparently knows whether the data is available in the flash and/or
disk tier and will retrieve it appropriately. This allows unmodified applications
to benefit from the performance enhancements of the burst buffer architecture.
The architecture of PLFS running in burst buffer mode is shown in Figure 14.3.
14.3.2 Cloud File Systems for HPC
PLFS can also be used to enable HPC parallel workloads using storage that
wasn't designed for parallel I/O. For example, early versions of the Hadoop
file system, HDFS, do not allow multiple writers to a single file nor do they
allow appending data to a previously created file. By layering PLFS above
these file systems, the user can use them for parallel I/O since PLFS trans-
parently transforms the shared file writing into individual processes writing
to individual subfiles within the PLFS container [5].
 
Search WWH ::




Custom Search