[cig-commits] r5338 - mc/3D/CitcomS/trunk/doc/manual
luis at geodynamics.org
luis at geodynamics.org
Tue Nov 21 15:03:39 PST 2006
Author: luis
Date: 2006-11-21 15:03:38 -0800 (Tue, 21 Nov 2006)
New Revision: 5338
Modified:
mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
Log:
Expanded section on optimizing parallel I/O.
Modified: mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx
===================================================================
--- mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx 2006-11-21 22:20:41 UTC (rev 5337)
+++ mc/3D/CitcomS/trunk/doc/manual/citcoms.lyx 2006-11-21 23:03:38 UTC (rev 5338)
@@ -1,4 +1,4 @@
-#LyX 1.4.2 created this file. For more info see http://www.lyx.org/
+#LyX 1.4.1 created this file. For more info see http://www.lyx.org/
\lyxformat 245
\begin_document
\begin_header
@@ -1405,7 +1405,7 @@
\end_layout
\begin_layout Standard
-On Unix or Linux systems, there is a high likelyhood that a useable C compiler
+On Unix or Linux systems, there is a high likelihood that a useable C compiler
is already installed.
To check, type
\family typewriter
@@ -5046,65 +5046,176 @@
\end_layout
\begin_layout Standard
-There are several platform-dependent parameters that are used by the HDF5
- library and the underlying MPI-IO routines to optimize the performance
- of parallel I/O.
+There are several platform-dependent parameters used by the HDF5 library
+ and the underlying MPI-IO routines to optimize the performance of parallel
+ I/O.
The optimal values for these parameters may vary from file system to file
- system, and ideally you would hardcode these values for your installation
- of CitComS on a particular parallel file system.
- For illustration purposes we have exposed a relevant subset of these parameters
- to the input file.
- You can use these to tune the performance of the parallel I/O on your system,
- although to change any parameters not specified here, you will have to
- modify parts of the CitComS source code.
- Example values are given below:
+ system.
+ Ideally, before compiling CitComS, the build procedure would configure
+ these parameters based on your platform.
+
\end_layout
-\begin_layout LyX-Code
+\begin_layout Standard
+In order to facilitate the process of gathering I/O performance data from
+ a variety of parallel file systems such as GPFS, PVFS, IBRIX FusionFS,
+ you can specify the following parameters in the CitComS input file.
+ You may use these to tune the performance of the parallel I/O on your system,
+ although in future versions of CitComS this might become unnecessary for
+ supported file systems.
+\end_layout
+\begin_layout Standard
+All values are assumed to be specified in bytes, unless otherwise indicated.
\end_layout
+\begin_layout Enumerate
+MPI file hints for collective buffering file access.
+\end_layout
+
\begin_deeper
-\begin_layout Standard
+\begin_layout Enumerate
-\family roman
-To control the size of the buffer used in collective I/O
+\family typewriter
+\size small
+cb_block_size
+\family default
+\size default
+: Target nodes will access data in chunks of this size.
\end_layout
-\begin_layout LyX-Code
+\begin_layout Enumerate
\family typewriter
-[CitcomS.solver.output]
+\size small
+cb_buffer_size
+\family default
+\size default
+: Specifies the total buffer space on each target node.
+ Set this parameter to a multiple of
+\family typewriter
+\size small
+cb_block_size
+\family default
+\size default
+.
\end_layout
-\begin_layout LyX-Code
-cb_block_size=1048576
+\end_deeper
+\begin_layout Enumerate
+HDF5 file access properties.
\end_layout
-\begin_layout LyX-Code
-cb_buffer_size=4194304
+\begin_deeper
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+sieve_buf_size
+\family default
+\size default
+: Maximum size of data sieve buffer.
\end_layout
-\begin_layout Standard
+\begin_layout Enumerate
-\family roman
-To change the size of the buffer used by the sieve algorithm
+\family typewriter
+\size small
+output_alignment
+\family default
+\size default
+: Alignment interval size in bytes.
\end_layout
-\begin_layout LyX-Code
+\begin_layout Enumerate
\family typewriter
-[CitcomS.solver.output]
+\size small
+output_alignment_threshold
+\family default
+\size default
+: Allocation requests above this size will be aligned on a memory address
+ that is a multiple of
+\family typewriter
+\size small
+output_alignment
+\family default
+\size default
+.
\end_layout
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cache_rdcc_nelmts
+\family default
+\size default
+: Maximum number of chunks that can be stored in the raw data chunk cache.
+\end_layout
+
+\begin_layout Enumerate
+
+\family typewriter
+\size small
+cache_rdcc_nbytes
+\family default
+\size default
+: Size of raw data chunk cache in bytes.
+\newline
+
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+For more details, you can refer to the following references: The list of
+ MPI-IO reserved file hints is available on Section 7.2.8 in the MPI-2 reference
+ book, which can also be accessed online from
+\begin_inset LatexCommand \url{http://www-unix.mcs.anl.gov/mpi/mpi-standard/mpi-report-2.0/node182.htm}
+
+\end_inset
+
+.
+ For a list of HDF5 file access properties, refer to Chapter 2, Section
+ 7.3, in the
+\begin_inset LatexCommand \url[HDF5 documentation]{http://hdf.ncsa.uiuc.edu/HDF5/doc/UG/08_TheFile.html}
+
+\end_inset
+
+.
+ Finally, for a short explanation of raw data chunk caching, you can refer
+ to
+\begin_inset LatexCommand \url{http://hdf.ncsa.uiuc.edu/HDF5/doc/Caching.html}
+
+\end_inset
+
+.
+\end_layout
+
+\begin_layout Standard
+You should also refer to the documentation for your particular parallel
+ file system and check if there are any other MPI or HDF5 hints that could
+ improve your parallel I/O performance.
+\end_layout
+
+\begin_layout Standard
+(
+\series bold
+TODO: clean up references
+\series default
+)
+\end_layout
+
\begin_layout LyX-Code
-sieve_buf_size=1048576
+
\end_layout
+\begin_deeper
\begin_layout Standard
\family roman
-To change the data alignment parameters
+Finally, here is an example section that would appear in a CitComS input
+ file:
\end_layout
\begin_layout LyX-Code
@@ -5114,23 +5225,23 @@
\end_layout
\begin_layout LyX-Code
-output_alignment=262144
+cb_block_size=1048576 # 1 MiB
\end_layout
\begin_layout LyX-Code
-output_alignment_threshold=524288
+cb_buffer_size=4194304 # 4 MiB
\end_layout
-\begin_layout Standard
+\begin_layout LyX-Code
+sieve_buf_size=1048576 # 1 MiB
+\end_layout
-\family roman
-To change the size of the raw data chunk cache
+\begin_layout LyX-Code
+output_alignment=262144 # 256 KiB
\end_layout
\begin_layout LyX-Code
-
-\family typewriter
-[CitcomS.solver.output]
+output_alignment_threshold=524288 # 512 KiB
\end_layout
\begin_layout LyX-Code
@@ -5146,19 +5257,6 @@
\end_layout
-\begin_layout Standard
-For more details, refer to
-\series bold
- (TODO: insert reference to chapter)
-\series default
- in the HDF5 documentation, the
-\series bold
-(TODO: insert reference to chapter)
-\series default
- in the MPI-2 reference book, and the documentation for your parallel file
- system.
-\end_layout
-
\begin_layout Section
Accessing Data
\end_layout
@@ -5172,7 +5270,7 @@
\family typewriter
h5ls
\family default
- from the HDF5 library
+ which is included with the HDF5 software:
\end_layout
\begin_layout LyX-Code
More information about the cig-commits
mailing list