Running IO500 with IOPS


Running the IO500 Benchmark with IOPS

The configuration generated by:

iops generate --io500

[!NOTE] This is a ready-to-use template, but it should not be used as-is. Before running any benchmark, make sure to review and adjust the configuration to match your HPC system, storage setup, and testing goals.

The generated YAML file includes comments that explain each parameter and how to customize it. It is strongly recommended to read them before starting the benchmark.


Parameters to Customize

ParameterDescription
nodesNumber of compute nodes to benchmark.
processes_per_nodeNumber of MPI processes launched on each node.
ntasksTotal number of MPI processes (computed automatically).
total_size_gbTotal dataset size used during the benchmark. Should be large enough to avoid cache effects and achieve the desired runtime.
transfer_size_mbSize of each I/O transfer.
block_size_mbBlock size assigned to each MPI task (computed automatically).
segment_countNumber of segments used by the IO500 hard benchmark.
ost_countNumber of storage targets (OSTs) participating in the benchmark.
ost_folderDirectory where benchmark files are created (adapt to BeeGFS, Lustre, GPFS, etc.).
file_per_procCreate one file per MPI process.
unique_dirCreate a separate directory for each process.

Cluster-Specific Settings

The generated SLURM script also contains values that should be adapted to your cluster.

Typical settings to review include:

  • Hardware constraints (#SBATCH --constraint)
  • MPI implementation and module version
  • Additional environment modules

Once the configuration has been updated, validate it with:

iops check io500.yaml

and launch the benchmark with:

iops run io500.yaml