IO500-运行指南
运行 IO500
可以从 GitHub 仓库下载 IO500。请按照本页面的说明进行安装、配置和运行该基准测试!
准备与构建
最新的 IO500 源代码可从 IO500 GitHub 仓库 获取。运行 prepare.sh 脚本将自动获取额外的源码(例如 IOR),以便构建基准测试。
$ git clone https://github.com/IO500/io500.git -b io500-isc24
$ cd io500
$ ./prepare.sh
安装视频
安装过程的演示视频请见 此处。
运行 IO500 基准测试的步骤
-
修改现有的
io500.sh脚本
根据使用的 MPI 作业调度系统,添加必要的信息。通常一次完整运行需要约 2 小时,请确保分配了足够的时间,并根据需要调整预留资源。- 应根据您的系统和测试用例设置变量
io500_mpirun和io500_mpiargs。 - 可选地,在
setup()部分添加命令,仅在$workdir下为ior-hard/easy和mdtest-hard/easy测试阶段创建顶层测试目录。 - 也可以在脚本中添加特定于系统的相关信息;否则可在上传结果时提供。info-creator 工具 可帮助您生成所需的信息文件。
- 应根据您的系统和测试用例设置变量
-
创建一个新的
.ini配置文件
现有的模板文件config-minimal.ini提供了必须修改的最少选项。-
建议先测试配置。
config-debug-run.ini展示了如何设置一个仅运行 1 秒的测试,以快速验证所有测试阶段是否正常工作(注意:此结果无效,但可用于确认流程正确)。 -
您也可以通过如下命令生成包含所有可用选项的配置文件:
./io500 --list > myconfig.ini -
请根据环境适当编辑参数。特别需要注意以下关键参数:
[global] datadir:测试文件将在此目录中创建。[global] resultdir:结果文件将写入此目录。[global] api:指定要使用的存储接口(若非 POSIX)。
-
-
确保满足有效提交的要求
- 必须执行所有强制性测试阶段:
ior-easy、ior-hard、mdtest-easy、mdtest-hard和find。 - 所有写入阶段的运行时间不得少于 300 秒。
- 如果当前配置无法达到 300 秒的“石墙计时器”(stonewall timer),可调整以下参数:
[ior-easy] blocksize:每个 MPI 进程写入单个文件的最大数据块大小。[ior-hard] segmentCount:每个 MPI 进程写入的最大段数。[mdtest-easy] n:每个 MPI 进程创建的最大文件数。[mdtest-hard] n:每个 MPI 进程创建的最大文件数。
注意:生成的
.ini文件可能包含“扩展”测试阶段(如ior-rnd、mdworkbench、find-easy和find-hard),这些阶段当前不计入正式评分,可忽略。任何对运行时可调参数的修改都必须遵守 IO500 提交规则。
- 必须执行所有强制性测试阶段:
-
执行测试
直接运行或通过批处理作业提交:./io500.sh myconfig.ini -
检查结果
- 查看输出结果,确保
$resultdir/result_summary.txt中没有任何结果被标记为[INVALID](例如因运行时间不足 300 秒或其他错误)。 - 结果末尾必须有一行
SCORE,且不能标记为[INVALID](例如因某个必需测试阶段失败或缺失)。
- 查看输出结果,确保
-
准备系统描述信息
可随时使用 info-creator 工具 创建硬件和软件环境的描述并保存。提交结果时会要求提供此信息,届时可做最后修改。我们正在测试一些脚本,用于自动从您的实时系统中捕获信息并整合到系统描述中。运行
./prepare.sh后,您将在schema-tools目录中找到这些脚本。例如:./schema-tools/cdcl_add_osinfo.py system-information.json此命令会将操作系统信息添加到您打算提交的
system-information.json文件中。您可以随时将 JSON 文件上传/下载到 info-creator 工具中,验证所做的更改。某些脚本还支持为特定文件系统或节点配置信息,尤其适用于具有多种不同节点配置的系统。

浙公网安备 33010602011771号