由 HPC 和 AI 创新实验室的 Mario Gallegos 于 2020 年 4 月创作
解决方案组件 |
发布时 |
测试台 |
|
内部连接 |
Dell Networking S3048-ON 千兆位以太网 |
||
数据存储子系统 |
1 到 4 个 Dell EMC PowerVault ME4084 1 到 4 个 Dell EMC PowerVault ME484(每个 ME4084 一个) |
||
可选的高要求元数据存储子系统 |
1 到 2 个 Dell EMC PowerVault ME4024(4 个 ME4024(如果需要,仅限大型配置) |
||
RAID 存储控制器 |
12 Gbps SAS |
||
已配置的容量 |
原始:8064 TB(7334 TiB 或 7.16 PiB)格式化 ~ 6144 GB(5588 TiB 或 5.46 PiB) |
||
处理器 |
Gateway |
2 个英特尔至强 Gold 6230 2.1G、20C/40T、10.4 GT/s、275M 高速缓存、睿频、HT (125 W) DDR4-2933 |
N/A |
高需求元数据 |
2 个英特尔至强 Gold 6136 ,3.0 GHz,12 个核心 |
||
存储节点 |
2 个英特尔至强 Gold 6136 ,3.0 GHz,12 个核心 |
||
管理节点 |
2 个英特尔至强 Gold 5220 2.2 G、18C/36T、10.4 GT/s、24.75M 高速缓存、睿频、HT (125 W) DDR4-2666 |
2 个英特尔至强 Gold 5118 ,2.30 GHz,12 个核心 |
|
内存 |
Gateway |
12 个 16 GiB 2933 MT/s RDIMM (192 GiB) |
N/A |
高需求元数据 |
24 个 16 GiB 2666 MT/s RDIMM (384 GiB) |
||
存储节点 |
24 个 16 GiB 2666 MT/s RDIMM (384 GiB) |
||
管理节点 |
12 个 16 GB DIMM,2666 MT/s (192 GiB) |
12 个 8 GiB 2666 MT/s RDIMM (96 GiB) |
|
操作系统 |
Red Hat Enterprise Linux 7.6 |
Red Hat Enterprise Linux 7.7 |
|
内核版本 |
3.10.0-957.12.2.el7.x86_64 |
3.10.0-1062.9.1.el7.x86_64 |
|
PixStor 软件 |
5.1.0.0 |
5.1.1.4 |
|
频谱扩展 (GPFS) |
5.0.3 |
5.0.4-2 |
|
高性能网络连接 |
Mellanox ConnectX-5 双端口 InfiniBand EDR/100 GbE 和 10 GbE |
Mellanox ConnectX-5 InfiniBand EDR |
|
高性能交换机 |
2 个 Mellanox SB7800(高可用性 — 冗余) |
1 个 Mellanox SB7700 |
|
OFED 版本 |
Mellanox OFED-4.6-1.0.1.0 |
Mellanox OFED-4.7-3.2.9 |
|
本地磁盘(操作系统和分析/监视) |
除管理节点以外的所有服务器 3 个 480 GB SSD SAS3 (RAID1 + HS),用于操作系统 PERC H730P RAID 控制器 管理节点 3 个 480 GB SSD SAS3 (RAID1 + HS),用于操作系统 PERC H740P RAID 控制器 |
除管理节点以外的所有服务器 2 个 300 GB 15K SAS3 (RAID 1),用于操作系统 PERC H330 RAID 控制器 管理节点 5 个 300 GB 15K SAS3 (RAID 5),用于操作系统和 PERC H740P RAID 控制器 |
|
系统管理 |
iDRAC 9 Enterprise + DellEMC OpenManage |
iDRAC 9 Enterprise + DellEMC OpenManage |
客户端节点数 |
16 |
客户端节点 |
C6320 |
每个客户端节点的处理器数 |
2 个英特尔至强(R) 黄金级 E5-2697v4 18 核,2.30 GHz |
每个客户端节点的内存 |
12 个 16GiB 2400 MT/s RDIMM |
(BIOS) |
2.8.0 |
操作系统内核 |
3.10.0-957.10.1 |
GPFS 版本 |
5.0.3 |
./iozone -i0 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
./iozone -i1 -c -e -w -r 8M -s 128G -t $Threads -+n -+m ./threadlist
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -w -s 1 -t 8m -b 128G
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --mca btl_openib_allow_ib 1 --mca pml ^ucx --oversubscribe --prefix /mmfs1/perftest/ompi /mmfs1/perftest/lanl_ior/bin/ior -a POSIX -v -i 1 -d 3 -e -k -o /mmfs1/perftest/tst.file -r -s 1 -t 8m -b 128G
由于性能结果可能会受到 IOPS 总数、每个目录的文件数和线程数的影响,因此决定将文件总数固定为 2 个 MiB 文件(2^21 = 2097152)、每个目录固定的文件数(1024),并且目录数量因表 3 中所示的线程数而异。mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1 /perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F
线程数 |
每个线程的目录数 |
文件总数 |
1 |
2048 |
2,097,152 |
2 |
1024 |
2,097,152 |
4 |
512 |
2,097,152 |
8 |
256 |
2,097,152 |
16 |
128 |
2,097,152 |
32 |
64 |
2,097,152 |
64 |
32 |
2,097,152 |
128 |
16 |
2,097,152 |
256 |
8 |
2,097,152 |
512 |
4 |
2,097,152 |
1024 |
2 |
2,097,152 |
mpirun --allow-run-as-root -np $Threads --hostfile my_hosts.$Threads --prefix /mmfs1/perftest/ompi --mca btl_openib_allow_ib 1 /mmfs1/perftest/lanl_ior/bin/mdtest -v -d /mmfs1/perftest/ -i 1 -b $Directories -z 1 -L -I 1024 -y -u -t -F -w 4K -e 4K
图 6: 元数据性能 — 小文件 (4K)
对于统计和删除操作,系统将获得非常好的结果,分别达到 256 个线程的峰值,分别为 8.2M op/s 和 400K op/s。读取操作达到最大 44.8K op/s,创建操作以 68.1K op/s 达到峰值,两者均为 512 线程。统计和删除操作具有更多的可变性,但一旦达到峰值,Stats 和 280K op/s 的性能不会低于统计信息的 3M op/s。创建和读取的可变性较低,并且随着线程数量的增加而不断增加。可以观察到,容量扩展的额外驱动器仅提供元数据性能的欠佳更改。
由于这些数字适用于具有单个 ME4024 的元数据模块,因此每个附加 ME4024 阵列的性能将会提高,但是我们不能只假设每个操作的线性增加。除非整个文件适合此类文件的索引节点内,否则 ME4084s 上的数据目标将用于存储 4K 文件,从而在一定程度上限制性能。由于信息节点大小为 4KiB,并且仍然需要存储元数据,因此只有大约 3 KiB 的文件适合在内部,任何大于该文件的文件都将使用数据目标。
具有扩展容量的解决方案不仅能够提高性能,不仅适用于随机访问,甚至还能提高顺序性能。这是预期的,因为分散模式的行为是随机访问,并且拥有更多磁盘可以改进。该性能可在表 4 上概述,从空文件系统到几乎已满,预计性能将保持稳定。此外,随着添加更多存储节点模块,该解决方案的容量和性能也会线性扩展,并且可选的高需求元数据模块可以实现类似的性能提升。此解决方案为 HPC 客户提供了一个非常可靠的并行文件系统,由许多排名前 500 的 HPC 群集使用。此外,它还提供卓越的搜索功能、高级监视和管理,以及添加可选网关,允许通过无处不在的标准协议(如 NFS、SMB 等)向尽可能多的客户端共享文件。
表 4 峰值和持续性能
|
峰值性能 |
持续性能 |
||
写 |
读取 |
写 |
读取 |
|
大型顺序 N 客户端到 N 文件 |
20.4 GB/s |
24.2 GB/s |
20.3 GB/s |
24 GB/s |
大型顺序 N 客户端到单个共享文件 |
19.3 GB/s |
24.8 GB/s |
19.3 GB/s |
23.8 GB/s |
随机小块 N 客户端到 N 文件 |
40KIOps |
25.6KIOps |
40.0KIOps |
19.3KIOps |
元数据 创建空文件 |
169.4K IOps |
123.5K IOps |
||
元数据统计信息空文件 |
1100 万 IOps |
320 万 IOps |
||
元数据读取空文件 |
470 万 IOps |
240 万 IOps |
||
元数据 删除空文件 |
170.6K IOps |
156.5K IOps |
||
元数据创建 4KiB 文件 |
68.1K IOps |
68.1K IOps |
||
元数据统计信息 4KiB 文件 |
820 万 IOps |
300 万 IOps |
||
元数据读取 4KiB 文件 |
44.8K IOps |
44.8K IOps |
||
元数据删除 4KiB 文件 |
40 万 IOps |
280K IOps |
由于该解决方案旨在随 Cascade Lake CPU 和更快的 RAM 一起发布,因此一旦系统具有最终配置,将执行一些性能点检查。测试具有至少 2 个 ME4024s 和 4KiB 文件的可选高要求元数据模块,以便更好地记录涉及数据目标时元数据性能如何扩展。此外,网关节点的性能将与新博客或白皮书中的即时检查相关结果一起衡量和报告。最后,计划测试和发布更多解决方案组件,以提供更多功能。