Hardware Reference
In-Depth Information
FIGURE 21.2 (See color insert): Example silo-based MIF-IO. There are 6
MPI tasks. Tasks 0{3 have 3 domains. Tasks 4 and 5 have 2 domains. Tasks
are divided into 3 I/O groups. Task 0 creates file 0 and writes its 3 domains
in 3 sub-directories in the file. Simultaneously, tasks 1 and 2 create files 1
and 2 and write their domains. There are 3 parallel streams of data from the
application.
During this same period of time, R&D efforts in scalable, parallel I/O
largely focused on the case of concurrent I/O to a single, shared file. There
has long been the belief that concurrent I/O to a single shared file is the best
way to achieve truly scalable I/O. By contrast, these approaches are sometimes
called \Rich Man's Parallel I/O" because the underlying software subsystems
support parallel I/O to a single shared file, natively.
The key distinction between the Poor Man's and Rich Man's approaches is
the need for applications to manage distribution of data among multiple files.
For this reason, it is technically appropriate to refer to these two approaches
as Multiple Independent File (MIF) and Single Shared File (SSF) parallel I/O.
There are a large number of advantages to MIF-IO over SSF-IO.
1. MIF-IO is a much simpler programming model because it frees develop-
ers from having to think in terms of collective I/O operations. The code
to write data from one MPI task doesn't depend on or involve other
tasks. For large multi-physics applications where the size, shape, and
 
Search WWH ::




Custom Search