IOR

Overview

  • IOR is a parallel IO benchmark that can be used to test the performance of parallel storage systems using various interfaces and access patterns. The IOR repository also includes the mdtest benchmark which specifically tests the peak metadata rates of storage systems under different directory structures. Both benchmarks use a common parallel I/O abstraction backend and rely on MPI for synchronization.

Using

Use the module name ior to discover versions available and to load the application.

Multicore

The ior application is MPI enabled and thus requires to be called with srun from the command line.

When called, ior will spawn as many clients as mpi tasks requested by the job: e.g. nodes x tasks-per-cpu or ntasks.

Using the -N=<tasks> option you can limit the number of clients that are actual run to the value of <tasks>. See ior --help for more information.

For example:

# Total of 6 tasks #SBATCH --nodes=2 #SBATCH --tasks-per-node=3 # Default behavor: Spawn and run 6 ior clients: srun ior # Spawn 6 ior clients, but only run 2: srun ior -N 2 # The ior application decides on which nodes/tasks the clients run from.

If you define --cpus-per-task=x as a job option, then each ior client will run with x number of threads.