diff options
author | MuQun Yang <ymuqun@hdfgroup.org> | 2006-02-16 17:08:34 (GMT) |
---|---|---|
committer | MuQun Yang <ymuqun@hdfgroup.org> | 2006-02-16 17:08:34 (GMT) |
commit | 0fe91bb1a28ccfea8e67e3834155811d27446391 (patch) | |
tree | 766c1ccc8152f06eada9bd6fd875b697db40c38a /release_docs | |
parent | 2a4cd8949e9d7a3a12bacf2bed1e5143a7d03791 (diff) | |
download | hdf5-0fe91bb1a28ccfea8e67e3834155811d27446391.zip hdf5-0fe91bb1a28ccfea8e67e3834155811d27446391.tar.gz hdf5-0fe91bb1a28ccfea8e67e3834155811d27446391.tar.bz2 |
[svn-r11950] Purpose:
Enhanced collective chunk IO supports
Description:
1. When using collective IO with chunking storage without any tuning, performance may become worse under some circumstances.
2. Current HDF5 handles raw-data IO per chunk. So for many small chunks, many small IOs will be passed into MPI-IO. That may cause bad performance.
3. For one IO per chunk case, sometimes performance with collective is worse than performance with independent. An obvious case is when only one process is doing IO and all other process are not doing IO, the collective IO will only add overheads for communication. We want to avoid this case. Some management inside our library needs to be done.
Solution:
- Added managements of collective IO supports for chunking storage
inside parallel HDF5
1) Implemented One IO with collective mode for all chunks in the
application by building one MPI derived datatype accross all
chunks.
2) Implemented the decision-making support to do collective IO inside
MPI-IO per chunk.
3) Added the decision-making support to do one IO accross all chunks
or to do multiple IOs with each IO per chunk.
4) Added the support to handle the case some processes won't do any IOs in
collectively.
5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle
collective IO correctly for the case when some processes have no
contributions to IOs, a special macro is added to change
collective IO mode to independent IO mode inside HDF5 library.
Platforms tested:
Parallel:
IBM AIX 5.2(copper)
Linux (heping) mpich-1.2.6
SDSC Teragrid mpich-1.2.5
Linux(Tungsten) mpich-1.2.6
Altix(NCSA cobalt)
Seq:
Linux(heping)
Misc. update:
Diffstat (limited to 'release_docs')
0 files changed, 0 insertions, 0 deletions