For the complete documentation index, see llms.txt. This page is also available as Markdown.

MLPerf Storage 基准测试

MLPerf Storage 基准测试概览

MLPerf Storage是专门针对机器学习任务的存储系统性能基准测试套件。

本文档介绍如何通过 MLPerf Storage 来对 Alluxio 进行端到端测试。

测试结果摘要

模型
加速器 (GPUs)
数据集
加速器利用
吞吐量 (兆字节/秒)
吞吐量 (样本数/秒)

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