MLPerf Storage 基准测试
MLPerf Storage 基准测试概览
MLPerf Storage是专门针对机器学习任务的存储系统性能基准测试套件。
本文档介绍如何通过 MLPerf Storage 来对 Alluxio 进行端到端测试。
测试结果摘要
bert
1
1.3TB
99%
0.1
49.3
unet3d
1
719 GB
99%
409.5
2.9
bert
128
2.4 TB
98%
14.8
6217
unet3d
20
3.8 TB
97%-99%
7911.4
56.59
测试结果基于如下配置的 Alluxio 集群,所有服务器实例均在 AWS 上可用:
Alluxio 集群: 一个 Alluxio Fuse 节点和两个 Alluxio Worker 节点。
Alluxio Worker 实例: i3en.metal: 96内核 + 768GB 内存+ 100Gb网络 + 8 nvme固态硬盘
Alluxio Fuse 实例 c6in.metal: 128内核 + 256GB 内存 + 200Gb网络
准备测试环境
操作系统镜像:Ubuntu 22.02
准备 MLPerf Storage 测试工具
生成数据集
我们建议在本地生成数据集,然后上传到远端存储。 确定要生成的数据大小:
**工作负载:**选项为 unet3d 和 bert。
num-accelerators: 模拟的 GPU 数量。数量越多,单台机器上运行的进程就越多。对于相同大小的数据集,训练时间更短。不过,这会增加对存储 I/O 的需求。
host-memory-in-gb: 模拟的内存大小,可以自由指定,甚至可以超过机器的实际内存大小。内存越大,生成的数据集也就越大,需要的训练时间也就越长。
执行此命令后,您将得到如下结果:
接下来,您可以使用以下命令生成相应的数据集:
在本地生成数据集后,将其上传到 UFS。
配置 Alluxio
我们推荐使用 Alluxio 3.1 或更高版本进行 MLPerf 测试。 此外,建议在 alluxio-site.properties 中进行以下配置,以获得最佳读取性能:
有关其他 Alluxio 相关配置,请参阅 Fio Tests 部分。
可将一个或多个 Alluxio Worker 配置为缓存集群。
此外,在每个 MLPerf 测试节点上都需要启动 Alluxio Fuse 进程来读取数据。
确保数据集已从 UFS 完全加载到 Alluxio 缓存中。
运行测试
完成测试后,您可在 results-dir 中找到如下的summary.json 文件:
train_au_percentage 属性代表 GPU 利用率。
此外,您还可以多次运行测试,将运行结果按以下格式保存:
然后,使用以下命令汇总多个测试结果:
最终的汇总结果如下所示:
Last updated