IO500安装
IO500 由一系列 Benchmark 和工具组成:
Benchmarks | 说明 | 下载地址 |
---|---|---|
mdtest | 测试元数据的并行读写性能 | https://github.com/hpc/ior |
IOR | 测试数据的并行读写性能 | https://github.com/hpc/ior |
pfind | parallel find,find命令的并行版本 | https://github.com/VI4IO/pfind |
shema-tools | https://github.com/VI4IO/cdcl-schema-tools |
下载 IO500
也可以使用源码包:
由于需要使用 openmpi,因此安装 openmpi,最新版本可查询:https://www.open-mpi.org/software/ 或者 https://github.com/open-mpi/ompi,Rocky9 源中已自带
修改 /etc/profile
或者 ${USER}/.bash_profile
,追加如下内容:
if [ -z "$OPENMPI_ADDED" ]; then
export PATH=/usr/lib64/openmpi/bin${PATH:+:${PATH}}
export OPENMPI_ADDED=yes
export LD_LIBRARY_PATH=/usr/lib64/openmpi/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export MPI_CC=mpicc
fi
安装准备
会在 build 目录中下载依赖的包
> ls build
cdcl-schema-tools pfind phase_ior_easy.o phase_ior_rnd1MB.o phase_mdtest.o phase_mdtest_hard_delete.o phase_mdworkbench_create.o
ini-parse.o phase_dbg.o phase_ior_easy_read.o phase_ior_rnd4K.o phase_mdtest_easy.o phase_mdtest_hard_read.o phase_mdworkbench_delete.o
ini-test.exe phase_find.o phase_ior_easy_write.o phase_ior_rnd_read1MB.o phase_mdtest_easy_delete.o phase_mdtest_hard_stat.o phase_opt.o
io500.a phase_find_easy.o phase_ior_hard.o phase_ior_rnd_read4K.o phase_mdtest_easy_stat.o phase_mdtest_hard_write.o phase_timestamp.o
ior phase_find_hard.o phase_ior_hard_read.o phase_ior_rnd_write1MB.o phase_mdtest_easy_write.o phase_mdworkbench.o util.o
main.o phase_ior.o phase_ior_hard_write.o phase_ior_rnd_write4K.o phase_mdtest_hard.o phase_mdworkbench_bench.o verifier.o
运行 io500
测试结果如下
--------------------------------------------------------------------------
WARNING: There was an error initializing an OpenFabrics device.
Local host: devmaster
Local device: mlx4_0
--------------------------------------------------------------------------
IO500 version io500-sc21-scc_v1 (standard)
[devmaster:162973] 1 more process has sent help message help-mpi-btl-openib.txt / error in device init
[devmaster:162973] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help / error messages
[RESULT] ior-easy-write 0.389289 GiB/s : time 333.302 seconds
ERROR INVALID (src/main.c:403) Runtime of phase (189.365385) is below stonewall time. This shouldn't happen!
ERROR INVALID (src/main.c:409) Runtime is smaller than expected minimum runtime
[RESULT] mdtest-easy-write 10.617934 kIOPS : time 189.365 seconds [INVALID]
[ ] timestamp 0.000000 kIOPS : time 0.000 seconds
[RESULT] ior-hard-write 0.172364 GiB/s : time 396.569 seconds
[RESULT] mdtest-hard-write 5.995354 kIOPS : time 303.955 seconds
[RESULT] find 148.721174 kIOPS : time 25.660 seconds
[RESULT] ior-easy-read 0.387569 GiB/s : time 334.780 seconds
[RESULT] mdtest-easy-stat 38.624554 kIOPS : time 52.781 seconds
[RESULT] ior-hard-read 0.121433 GiB/s : time 562.893 seconds
[RESULT] mdtest-hard-stat 53.299805 kIOPS : time 35.076 seconds
[RESULT] mdtest-easy-delete 17.859243 kIOPS : time 115.229 seconds
[RESULT] mdtest-hard-read 2.952076 kIOPS : time 616.235 seconds
[RESULT] mdtest-hard-delete 9.121340 kIOPS : time 202.016 seconds
[SCORE ] Bandwidth 0.237056 GiB/s : IOPS 17.639377 kiops : TOTAL 2.044876 [INVALID]
The result files are stored in the directory: ./results/2023.02.16-14.35.23
[1676532491.165669] [devmaster:162977:0] tag_match.c:62 UCX WARN unexpected tag-receive descriptor 0x1df2400 was not matched
多节点测试方式: