三维多物质弹塑性流体动力学方法的并行算法研(3)
图3展示了4种算例的三维射流图,从图3中可以看出,算例2、算例3及算例4的射流形状明显优于算例1,算例3和算例4射流形状差别不大。图4为4种算例的射流头部速度随时间的变化曲线,从图4中可以看出,随着网格数的增多,射流最大头部速度略有增加,算例2、算例3及算例4比较接近,三者最大头部速度分别为4.4、4.5和 4.7 km/s,比实验结果略小,而算例1最大头部速度仅为4.0 km/s。
图3 32.51 μs时4种算例的三维数值模拟图Fig.3 Three-dimensional simulation graphs at 32.51 μs of four examples
图4 4种算例的射流头部速度随时间变化曲线Fig.4 The jet tip velocity changes with time
5 PMMIC-3D并行性能测试
并行程序除了满足分区方式不影响计算结果的最基本要求外,加速比、并行效率及可扩放性也是衡量并行程序质量的主要性能指标。PMMIC-3D程序并行性能测试在自主定制的八节点集群上进行,每个节点包含两颗Intel四核E5620CPU,主节点24 G内存,其余节点12 G内存。
5.1 加速比及并行效率测试
并行系统的加速比(Speedup)是指对于一个给定的应用,并行程序的执行速度相对于串行程序的执行速度加快了多少倍,也称为“绝对加速”(Absolute Speedup);对于给定问题,同一程序在单CPU的运行时间除以在多个CPU运行的时间,称为“相对加速”(Relative Speedup)。加速比除以处理机个数,称为并行效率。加速比及并行效率测试采用第4节中的射流测试算例中的算例2、算例3作为测试算例,二者的网格数分别为684万和2 473万。
射流测试中的算例2、算例3的加速比及并行效率如图5所示。从图5中可以看出:加速比随着进程数的增加而增加,用64进程时算例2和算例3的加速比可达到16倍和20倍;并行效率随着进程数的增多而降低,用64进程时算例2和算例3的并行效率只有25%和30%,这是由于进程数增多,通信开销所占的比重也会增加;一样的进程数下,加速比及并行效率随着网格数的增多而增大。
图5 加速比及并行效率Fig.5 The speedup and efficiency versus the number of processors
5.2 可扩放性测试
图6 可扩放性折线Fig.6 Scalability
采用射流算例作为测试算例,其结果如图6所示,计算域为10 cm×10 cm×20 cm。对于不同的进程数,每个进程分配的网格数固定为100万。测试的进程数如图6横轴所示,纵轴为计算1 000个时间步的总时间。理想的可扩放性折线应该是一条平行于横轴的直线。由图6可知:随着进程数的增多,平均每个进程处理固定网格数的时间逐渐增加,64进程下处理时间是单进程下处理时间的2.8倍。
5.3 影响并行性能的因素
图7 通信时间在总时间的百分比Fig.7 The percentage of communication time to the total time
影响并行性能的因素主要包括通信所占用的开销以及负载不均衡所造成的同步等待时间等。图7为射流测试算例3在不同进程数下通信时间占总时间的百分比曲线。从图7中可以看出,通信时间在计算总时间的百分比随着进程数的增多而快速增大,64进程时达到48%。这是由于:(1) PMMIC-3D中每一个子模块中都有诸如密度、质量、速度、能量及动量等变量更新,而这些变量的变化会影响下一个子模块的计算,因此需要数据通信;(2) 每个节点采用千兆网络及千兆交换机连接,实测数据通信速度为35~45 M,网络通信延迟及带宽也影响通信。通信开销比重过大是影响并行性能的最重要因素。
6 结 论
(1) Euler数值方法由于需要处理物质在网格间的输运问题,隐含在输运算法中的数据相关性及子区域间的关联性不易发现,因此并行算法设计中潜在的逻辑性错误不易发觉。
(2) 由于PMMIC-3D中通信过多及自主定制的集群通信延迟及带宽的限制,通信开销比重过大,影响了PMMIC-3D的并行性能。优化程序结构、减少通信量是改善PMMIC-3D并行性能的重要手段。
(3) 从射流算例的模拟结果看,随着网格数的增多计算精度越来越高,数值模拟三维图片的分辨率越来越高,表明所采用的并行算法是合理的;PMMIC-3D并行程序增大了计算规模,加快了计算速度,达到了并行程序设计的目的。
文章来源:《爆炸与冲击》 网址: http://www.bzycjzz.cn/qikandaodu/2021/0709/1302.html