Database Reference
In-Depth Information
5.2 High-Performance Data Capture
A key prerequisite to high-throughput data movement is the ability to cap-
ture data from high-performance codes with low overheads such that data
movement actions do not unnecessarily perturb or slow down the application
execution. More succinctly, data capture must be flexible in the overheads and
perturbation acceptable to end-user applications. This section first describes
the ADIOS API and design philosophy and then describes two specific exam-
ples of data capture mechanisms, the performance attained by them, and the
overheads implied by their use.
5.2.1 Asynchronous Capture of Typed Data
Even with as few as about 10,000 cores, substantial performance degradation
has been seen due to inappropriately performed I/O. Key issues include I/O
systems diculties in dealing with large numbers of writers into the same file
system, poor usage of I/O formats causing metadata-based contention effects
in I/O subsystems, and synchronous I/O actions unable to exploit communica-
tion/computation overlap. For example, when a simulation attempts to open,
and then write one file per processor, the first step is to contact the metadata
service of the parallel file system, issuing tens of thousands of requests at once.
This greatly impacts the speed of I/O. Furthermore, scientific data is gener-
ally written out in large bursts. Using synchronous I/O techniques makes the
raw speed to write this data the limiting factor. Therefore, if a simulation
demands that the I/O rate take less than 5 percent of the calculation cost,
then the file system must be able to write out, for example, 10 TB of data
every 3600 seconds (generated in burst mode at a rate of 56 GB/sec). Using
asynchronous techniques instead would only require a sustained 2.8 GB/sec
write in the same case.
A first step to addressing these problems is to devise I/O interfaces for
high-performance codes that can exploit modern I/O techniques while pro-
viding levels of support to end users that do not require them to have intimate
knowledge of underlying machine architectures, I/O, and communication sys-
tem configurations.
The Adaptable I/O System, ADIOS, is a componentization of the I/O layer.
It provides the application scientist with easy-to-use APIs, which are almost
as simple as standard FORTRAN write statements. ADIOS separates the
metadata “pollution” away from the API, and allows the application scien-
tist to specify the variables in their output in terms of groups. For example,
let us suppose that a user has a variable, zion, which is associated with the
ion particles of the plasma. The variable has the units of m/s (meters/sec-
ond), and has the long name of ion parameters. Conventionally, all of this
metadata must be written in the code, which involves placing these state-
ments inside the Fortran/C code. In the ADIOS framework, the application
Search WWH ::




Custom Search