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
| Parameter | Description |
|---|---|
nodes | Number of compute nodes to benchmark. |
processes_per_node | Number of MPI processes launched on each node. |
ntasks | Total number of MPI processes (computed automatically). |
total_size_gb | Total dataset size used during the benchmark. Should be large enough to avoid cache effects and achieve the desired runtime. |
transfer_size_mb | Size of each I/O transfer. |
block_size_mb | Block size assigned to each MPI task (computed automatically). |
segment_count | Number of segments used by the IO500 hard benchmark. |
ost_count | Number of storage targets (OSTs) participating in the benchmark. |
ost_folder | Directory where benchmark files are created (adapt to BeeGFS, Lustre, GPFS, etc.). |
file_per_proc | Create one file per MPI process. |
unique_dir | Create 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