Skip to content

MAPL IO Benchmarks

Ben Auer edited this page Sep 23, 2024 · 22 revisions

Introduction

The MAPL library includes several low level IO benchmarks to measure read/write speeds and MPI performance. This will detail the various tests

Raw IO Benchmark

Checkpoint and Restart Simulators

MAPL has two executables that simulate writing (checkpoint_simulator.x) and reading (restart_simulator.x) GEOS cubed-sphere restarts. These simulate MPI and IO strategy employed for GEOS checkpoints. Note that the restart_simulator.x requires an input file so it makes sense to run both, the checkpoint_simulator.x first. The checkpoint_simulator.x can be configured to write at any cubed-sphere resolution, with any of levels, and with any number of individual 3D fields in the file. In addition the user can tweak other parameters with regards to the IO strategy such as change the number of processes that write or read the file, or even write to multiple files. Finally you can have it perform multiple trials.

Example Input Files

For checkpoint_simulator.x the input file must be named checkpoint_benchmark.rc

NX: 4
NY: 4
IM_WORLD: 90
LM: 137
NUM_WRITERS: 1
NUM_ARRAYS: 5
SPLIT_FILE: .false.
GATHER_3D: .false.
WRITE_BARRIER: .false.
NTRIALS: 2
RANDOM_DATA: .true.
DO_WRITES: .true.

For restart_simulator.x the input file must be named restart_benchmark.rc

NX: 4
NY: 4
IM_WORLD: 90
LM: 137
NUM_READERS: 1
NUM_ARRAYS: 5
SPLIT_FILE: .false.
SCATTER_3D: .false.
read_BARRIER: .false.
NTRIALS: 2
DO_READS: .true.

Example Output

For checkpoint_simulator.x

 Summary of run:
Total data volume in megabytes:    126.99509
Num writers:    1
Total cores:      96
Cube size:      90   137
Split file, 3D_gather, chunk, extra, netcdf output, write barrier, do writes:  FFTFTFT
Number of trial:       2
Application  time:    4.1891060
Real throughput MB/s, Std Real throughput MB/s, file system MB/S, std file system MB/s
   902.47152       9.4040515       2244.2126       26.151517

For restart_simulator.x

 Summary of run:
Total data volume in megabytes:    126.99509
Num readers:    1
Total cores:      96
Cube size/LM:      90   137
Split file, 3D_scatter, extra, netcdf output, write barrier, do writes:  FFFTFT
Number of trial:       2
Application  time:    3.6086680
Real throughput MB/s, Std Real throughput MB/s, file system MB/S, std file system MB/s
   725.60777       94.535516       1864.8030       85.786595

Benchmarking Using ExtDataDriver.x

Clone this wiki locally