IO500-运行指南

运行 IO500

可以从 GitHub 仓库下载 IO500。请按照本页面的说明进行安装、配置和运行该基准测试!

获取 IO500


准备与构建

最新的 IO500 源代码可从 IO500 GitHub 仓库 获取。运行 prepare.sh 脚本将自动获取额外的源码(例如 IOR),以便构建基准测试。

$ git clone https://github.com/IO500/io500.git -b io500-isc24
$ cd io500
$ ./prepare.sh

安装视频

安装过程的演示视频请见 此处


运行 IO500 基准测试的步骤

  1. 修改现有的 io500.sh 脚本
    根据使用的 MPI 作业调度系统,添加必要的信息。通常一次完整运行需要约 2 小时,请确保分配了足够的时间,并根据需要调整预留资源。

    • 应根据您的系统和测试用例设置变量 io500_mpirunio500_mpiargs
    • 可选地,在 setup() 部分添加命令,仅在 $workdir 下为 ior-hard/easymdtest-hard/easy 测试阶段创建顶层测试目录。
    • 也可以在脚本中添加特定于系统的相关信息;否则可在上传结果时提供。info-creator 工具 可帮助您生成所需的信息文件。
  2. 创建一个新的 .ini 配置文件
    现有的模板文件 config-minimal.ini 提供了必须修改的最少选项。

    • 建议先测试配置。config-debug-run.ini 展示了如何设置一个仅运行 1 秒的测试,以快速验证所有测试阶段是否正常工作(注意:此结果无效,但可用于确认流程正确)。

    • 您也可以通过如下命令生成包含所有可用选项的配置文件:

      ./io500 --list > myconfig.ini
      
    • 请根据环境适当编辑参数。特别需要注意以下关键参数:

      • [global] datadir:测试文件将在此目录中创建。
      • [global] resultdir:结果文件将写入此目录。
      • [global] api:指定要使用的存储接口(若非 POSIX)。
  3. 确保满足有效提交的要求

    • 必须执行所有强制性测试阶段:ior-easyior-hardmdtest-easymdtest-hardfind
    • 所有写入阶段的运行时间不得少于 300 秒。
    • 如果当前配置无法达到 300 秒的“石墙计时器”(stonewall timer),可调整以下参数:
      • [ior-easy] blocksize:每个 MPI 进程写入单个文件的最大数据块大小。
      • [ior-hard] segmentCount:每个 MPI 进程写入的最大段数。
      • [mdtest-easy] n:每个 MPI 进程创建的最大文件数。
      • [mdtest-hard] n:每个 MPI 进程创建的最大文件数。

    注意:生成的 .ini 文件可能包含“扩展”测试阶段(如 ior-rndmdworkbenchfind-easyfind-hard),这些阶段当前不计入正式评分,可忽略。

    任何对运行时可调参数的修改都必须遵守 IO500 提交规则

  4. 执行测试
    直接运行或通过批处理作业提交:

    ./io500.sh myconfig.ini
    
  5. 检查结果

    • 查看输出结果,确保 $resultdir/result_summary.txt 中没有任何结果被标记为 [INVALID](例如因运行时间不足 300 秒或其他错误)。
    • 结果末尾必须有一行 SCORE,且不能标记为 [INVALID](例如因某个必需测试阶段失败或缺失)。
  6. 准备系统描述信息
    可随时使用 info-creator 工具 创建硬件和软件环境的描述并保存。提交结果时会要求提供此信息,届时可做最后修改。

    我们正在测试一些脚本,用于自动从您的实时系统中捕获信息并整合到系统描述中。运行 ./prepare.sh 后,您将在 schema-tools 目录中找到这些脚本。例如:

    ./schema-tools/cdcl_add_osinfo.py system-information.json
    

    此命令会将操作系统信息添加到您打算提交的 system-information.json 文件中。您可以随时将 JSON 文件上传/下载到 info-creator 工具中,验证所做的更改。某些脚本还支持为特定文件系统或节点配置信息,尤其适用于具有多种不同节点配置的系统。

posted @ 2026-01-07 16:23  LoftyAmbition  阅读(2)  评论(0)    收藏  举报