7. IOR

7.1. Purpose

IOR is used for testing performance of parallel file systems using various interfaces and access patterns at the POSIX and MPI-IO level.

7.2. Characteristics

IOR is available:

The github repo also contains mdtest.

7.2.1. Problem

IOR measures parallel I/O performance at the POSIX and MPI-IO levels. It writes and reads files, one per rank or shared between all ranks, on a parallel file system. It should be run in lustre space.

7.2.2. Run Rules

Modifications to the benchmark application code are only permissible to enable correct compilation and execution on the target platform. Any modifications must be fully documented (e.g., as a diff or patch file) and reported with the benchmark results.

7.3. Building

MPI, MPI-IO, and OpenMP are required in order to build and run the code. The source code used for this benchmark is derived from IOR 3.0.1 and it is included here.

Ensure that the MPI compiler wrappers (e.g., mpicc) are in $PATH. Then create a build directory and an (optional) install directory.

${BENCHMARK_PATH}/microbenchmarks/ior/configure --prefix=<INSTALL_DIR>
make
#make install

This will build both IOR with the POSIX and MPI-IO interfaces and create the IOR executable at src/ior.

7.4. Running

The file Xrds_acceptance_script.sh in the IOR source directory, microbenchmarks/ior, will run the read and write IOR benchmarks for a particular compiler, mpi, and number of nodes set beforehand.

7.4.1. Input

Sample production input files in microbenchmarks/ior/inputs.xroads

Running IOR does not require using the input files. All arguments can be given on the command line.

7.5. Example Results

Results for IOR are provided on the following systems:

7.5.1. Crossroads

Full system tests were run with 5000 nodes and 10 tasks per node. Single node tests were run with 112 tasks per node. This test was compiled with cce/16.0.0 and cray-mpich/8.1.26.

Table 7.5 IOR benchmark (MB/s)

Node_Config

MPIIO_task

POSIX_task

MPIIO_shared

POSIX_shared

Single Write

38615.88

38508.96

35964.32

37724.38

Single Read

41830.12

42963.57

41933.79

42000.99

Full System Write

1.66e6

1.698e6

7.21e5

6.95e5

Full System Read

2.133e6

2.62e6

1.142e6

9.95e5