Concept Guide
Performance Characterization
19 Dell EMC Ready Solutions for HPC BeeGFS High Performance Storage | ID 460
4.3 Random writes and reads N-N
To evaluate random IO performance, IOzone was used in the random mode. Tests were conducted on thread
counts starting from 4 threads to up to 1024 threads. Direct IO option (-I) was used to run IOzone so that all
operations bypass the buffer cache and go directly to the devices. BeeGFS stripe count of 3 and chunk size
of 2MB was used. A 4KiB request size is used on IOzone. Performance is measured in I/O operations per
second (IOPS). The OS caches were dropped between the runs on the BeeGFS servers as well as BeeGFS
clients as detailed in section 4.1 to avoid caching effects. The command used for executing the random writes
and reads is as follows:
iozone -i 2 -w -c -O -I -r 4K -s $Size -t $Thread -+n -+m /path/to/threadlist
Random Read and Write Performance using IOzone with 8TB aggregate file size
Three iterations of the random write and read tests were done and the mean value of the results is shown in
Figure 12. The random writes peak at ~3.6 Million IOPS at 512 threads and the random reads peak at ~3.5
Million IOPS at 1024 threads as shown in Figure 11. Both the write and read performance show a higher
performance when there are a higher number of IO requests. This is because NVMe standard supports up to
64K I/O queue and up to 64K commands per queue. This large pool of NVMe queues provide higher levels of
I/O parallelism and hence we observe IOPS exceeding 3 million.
4.4 Metadata performance with MDtest using empty files
Metadata performance was measured with MDtest version 3.3.0, assisted by OpenMPI v1.10.7 to run the
benchmark over the 32 compute nodes. Tests executed varied from single thread up to 2048 threads. The
benchmark was used for files only (no directories metadata), getting the number of creates, stats, reads and
removes the solution can handle.
The following command was used to execute the benchmark, where threads was the variable with the
number of threads used (1 to 2048 incremented in powers of two), and $hostfile is the corresponding file that