Hardware Reference
In-Depth Information
4000
3000
2000
1000
0
10
100
1000
10000
Processors
FIGURE 22.3: Metadata operation cost scaling with increasing number of
writers. As applications cross 10,000 cores, the time spent in metadata oper-
ation becomes untenable.
read approach, i.e., reading the minimum metadata that is required and the
rest only when necessary. The downside is that accessing a single dataset in
a le is \two-pass" operation with suboptimal performance. Another option
is to make only a subset of processors load in metadata so that for systems
such multi-core cluster where memory is shared among several cores, it reduces
total memory consumption for metadata. More importantly, by calling open/-
close only at aggregators, it also reduces the number of metadata operations,
which is very beneficial to both users and file system.
22.2.8 Chunking
To avoid excessive small read requests, chunking is used here to achieve
bulk reads. This is done by merging read requests into larger ones at the ag-
gregator side. For a non-contiguous file format, chunking is particularly useful
to speed up reading as data is not contiguously stored on disk and disk seeks
are otherwise needed to jump from one position to another. An aggregator
first collects all read requests issued from its group members. The read re-
quest message includes information such as data address and size. Namely,
for a non-aggregator processor, the adios read var() call simply saves read
parameters such as the adios group handler, start, count, and buffer address,
without doing any actual I/O access. In the adios fclose() call, the proces-
sor then packs all parameters into a read request and sends to its aggregator
 
Search WWH ::




Custom Search