IO500 完整测试配置示例

发布时间:2026/6/13 2:23:47

IO500 完整测试配置示例 # # IO500 完整测试配置示例基于官方 ini 文档内容 # 包括 IOR Easy/Hard、MDTest Easy/Hard、Find、Rnd4K/Rnd1MB、MDWorkbench 等 # 所有 phase 默认设为 run TRUE可按需关闭 # [global] # IO500 数据存储的根目录 datadir ./datafiles # 是否在数据目录后附加时间戳方便并发运行多次测试 timestamp-datadir TRUE # 结果输出目录 resultdir ./results # 是否在结果目录后附加时间戳 timestamp-resultdir TRUE # 使用的通用 API比如 POSIX、MPIIO、LUSTRE 等 api POSIX # 是否在每次 I/O 前清除系统缓存单节点建议 TRUE集群环境慎用 drop-caches FALSE # 清除缓存的命令通常为 Linux 系统调用 drop-caches-cmd sudo -n bash -c echo 3 /proc/sys/vm/drop_caches # 是否将 I/O 缓冲区分配在 GPU 上如支持 GPU Direct Storage io-buffers-on-gpu FALSE # 日志输出详细程度范围 1~10 verbosity 1 # 是否使用学生集群竞赛SCC规则一般设为 FALSE scc FALSE # 数据包类型timestamp / offset / incompressible / random dataPacketType timestamp # # [debug]调试相关配置正式结果中某些选项会导致 run 无效 # [debug] # Stonewall 计时器单位秒必须符合 IO500 规则否则 run 无效 stonewall-time 300 # 用于调试的暂停功能目录中存在某 phase 名称文件时暂停INVALIDATES RUN pause-dir # # IOR Easy 相关配置小文件/高带宽测试 # [ior-easy] # 每次传输的数据大小例如 2 MiB transferSize 2m # 每个块/文件的大小必须是 transferSize 的倍数这里设为一个较大的值以模拟大块写入 blockSize 9920000m # 每个进程创建一个独立文件 filePerProc TRUE # 每个文件是否使用独立目录一般设为 FALSE uniqueDir FALSE # 是否运行此阶段 run TRUE # 该阶段的日志详细程度 verbosity [ior-easy-write] # 仅运行 write 阶段 run TRUE [ior-rnd4K] # 随机 4K 测试的块大小如无特殊允许不要修改 blockSize 1073741824 # 是否运行此阶段 run TRUE # 该阶段的日志详细程度 verbosity # 预填充文件的块大小单位字节例如 2097152 randomPrefill 0 [ior-rnd4K-write] # 仅运行随机 4K 写入阶段 run TRUE # # MDTest Easy 相关配置小文件元数据性能测试 # [mdtest-easy] # 每个进程创建的文件数例如 100 万 n 1000000 # 是否运行此阶段 run TRUE [mdtest-easy-write] # 仅运行 mdtest 的写创建文件阶段 run TRUE [ior-rnd1MB] # 随机 1MB 块的测试如无特别允许不要修改块大小 blockSize 1073741824 # 是否运行此阶段 run TRUE # 该阶段的日志详细程度 verbosity # 预填充文件的大小单位字节例如 2097152 randomPrefill 0 [ior-rnd1MB-write] # 仅运行 1MB 随机写入阶段 run TRUE [mdworkbench] # 等待时间占运行时间的比例1.0 表示 100% 时间都在等待 waitingTime 0.0 # 每组预创建的文件数固定为 10 组通常自动确定 precreatePerSet # 每轮迭代每组运行的文件数通常自动确定 filesPerProc # 是否运行此工作负载测试阶段 run TRUE # 该阶段的日志详细程度 verbosity [mdworkbench-create] # 仅运行 mdworkbench 的创建阶段 run TRUE [timestamp] [find-easy] # 用于执行 find 操作的外部脚本 external-script # 外部脚本的启动参数部分 MPI 可能不支持 external-mpi-args # 外部脚本的额外参数 external-extra-args # 用于执行 find 的进程数 nproc # 是否运行此 find 阶段 run TRUE # pfind并行 find队列长度 pfind-queue-length 10000 # 是否允许从下一个任务“窃取”工作负载均衡 pfind-steal-next FALSE # 是否对单个目录的 readdir 操作使用哈希并行化需要系统支持 pfind-parallelize-single-dir-access-using-hashing FALSE [ior-hard] # I/O 段数量控制总 I/O 负载 segmentCount 10000000 # 是否使用集合 I/O支持 MPI-IO 的后端 collective # 是否运行 hard IOR 测试 run TRUE # 该阶段的日志详细程度 verbosity [ior-hard-write] # 仅运行 hard IOR 的写阶段 run TRUE [ior-hard-read] # 仅运行 hard IOR 的读阶段 collective # 是否运行 run TRUE # # MDTest Hard 相关配置高元数据压力测试 # [mdtest-hard] # 每个进程创建的文件数 n 1000000 # 每个目录下的文件数上限用于绕过文件系统限制调试用榜单可能不允许 files-per-dir # 是否运行 hard mdtest run TRUE [mdtest-hard-write] # 仅运行 hard mdtest 的写创建阶段 run TRUE [mdtest-hard-stat] # 仅运行 hard mdtest 的 stat查看阶段 run TRUE [mdtest-hard-read] # 仅运行 hard mdtest 的读访问阶段 run TRUE [mdtest-hard-delete] # 仅运行 hard mdtest 的删除阶段 run TRUE # # Find 相关配置文件系统遍历测试元数据查找能力 # [find] # 用于执行 find 操作的外部脚本 external-script # 外部脚本的 MPI 启动参数 external-mpi-args # 外部脚本的额外参数 external-extra-args # 执行 find 的进程数 nproc # 是否运行此 find 阶段 run TRUE # pfind 队列长度 pfind-queue-length 10000 # 是否允许任务窃取负载均衡 pfind-steal-next FALSE # 是否对单目录的 readdir 操作使用哈希并行需系统支持 pfind-parallelize-single-dir-access-using-hashing FALSE [ior-rnd4K-read] # 仅运行 4K 随机读取阶段 run TRUE [ior-rnd1MB-read] # 仅运行 1MB 随机读取阶段 run TRUE [find-hard] # 用于执行高压力 find 操作的外部脚本 external-script # 外部脚本的 MPI 启动参数 external-mpi-args # 外部脚本的额外参数 external-extra-args # 执行 find 的进程数 nproc # 是否运行 run TRUE # pfind 队列长度 pfind-queue-length 10000 # 是否允许任务窃取 pfind-steal-next FALSE # 是否对单目录的 readdir 操作使用哈希并行 pfind-parallelize-single-dir-access-using-hashing FALSE [mdworkbench-bench] # 是否运行 mdworkbench 的基准测试阶段 run TRUE [ior-easy-read] # 仅运行 ior easy 的读取阶段 run TRUE [mdtest-easy-stat] # 仅运行 easy mdtest 的 stat元数据读取阶段 run TRUE [ior-hard-read] # 仅运行 hard ior 的读取阶段 collective # 是否运行 run TRUE [mdtest-hard-stat] # 仅运行 hard mdtest 的 stat 阶段 run TRUE [mdworkbench-delete] # 仅运行 mdworkbench 的删除阶段 run TRUE [mdtest-easy-delete] # 仅运行 easy mdtest 的删除阶段 run TRUE [mdtest-hard-read] # 仅运行 hard mdtest 的读阶段 run TRUE [mdtest-hard-delete] # 仅运行 hard mdtest 的删除阶段 run TRUE [ior-rnd4K-easy-read] # 仅运行 easy 模式下的 4K 随机读取阶段 run TRUE

相关新闻