Page 334 - 《软件学报》2021年第9期
P. 334
2958 Journal of Software 软件学报 Vol.32, No.9, September 2021
Table 2 Single SW26010 processor performance
表 2 单 SW26010 处理器的性能
原子数 Steps/s GFlops/s
64 120K 152
512 52K 264
2K 15K 305
98K 2.2K 450
程序的弱可扩展性测试是基于相同的数据规模,节点个数不同时,考察系统的性能.强可扩展性的测试是基
于不同的粒子数,扩展系统的节点数,节点数目随着粒子数的增加而增长.我们的测试是针对典型的细粒度分
布,来考察典型计算模式下,系统的速率及强可扩展性.
我们的测试利用了 SW26010 处理器的所有 4 个核组,每个处理器运行 4 个进程,但负责通信的进程只有 0
号主进程.为了验证程序的强可扩展性,我们考察了不同规模的节点个数,从 8 个节点到 32 768 个节点.
每个节点 4 个进程,最多可达到 131K 个进程.不同的系统规模下,每个进程上负责处理的原子个数固定不
变,为 512 个原子.我们考察这种典型计算模式下系统的运算速率.
我们的实验为考察程序的强可扩展性,随着进程数的增加,粒子数同比例增长,即每个进程上所负责计算的
粒子数目保持不变.在上述细粒度分布的条件下,我们得到这种典型计算模式下的速率,即每秒迭代的步数,见
表 3 第 4 列.
Table 3 Comparison of software solution on Sunway
表 3 神威上不同系统规模下的对比
节点数 进程数 粒子数 Steps/s us/step Time
8 32 4 096 20 732 48.23 0.98
64 256 32 768 19 289 51.84 1.04
512 2 048 262 144 17 708 56.47 1.13
1 728 6 912 884 736 15 325 65.25 1.31
4 096 16 384 2 097 152 11 253 88.87 1.78
8 000 32 000 4 096 000 10 015 99.85 1.99
13 824 55 296 7 077 888 9 089 110.02 2.21
21 952 87 808 11 239 424 6 710 149.03 3.74
32 768 131 072 16 777 216 5 106 195.85 3.97
我们的测试通过改变系统规模,即进程数来观察系统性能的变化,如图 26 所示.纵坐标是每个迭代步所消
耗的时间,横坐标表示了进程数的不同,在每个点上的数据,对应了不同的粒子数.
us/step
200
16777216
11239424
150
us/step 100 2097152 4096000 7077888
884736
50 262144
32768
0
4096
0 20000 40000 60000 80000 100000 120000 140000
进程数
Fig.26 Time spent on each iteration step at different system sizes
图 26 不同系统规模下每个迭代步的耗时