论文部分内容阅读
大规模数值模拟在武器物理、激光聚变、电磁环境、工程力学和材料科学等重大领域发挥着重要的作用,是理论和实验之外的科学研究“第三支柱”。近年来,随着数值模拟应用的日益复杂化和并行规模的不断提升,许多应用软件体现出日益显著的数据通信瓶颈,严重制约其并行扩展性和执行性能。当前,高性能计算已经进入十亿亿次计算时代,并开始向百亿亿次迈进。然而,与十年千倍的浮点计算增速相比,数据通信性能的改进远不成比例,这加剧了大规模数值模拟应用的通信瓶颈。本文主要关注并行科学和工程应用中广泛使用的批量点对点通信。点对点通信在典型的科学和工程应用的通信操作中占据的总数的90%。由于大部分数值模拟应用采用BSP方式实现并行化,其通信常常以批量点对点的方式进行。批量点对点消息需要同时传输大量不同来源和目的、不同长度的消息流,在现代通信网络上将产生显著的网络拥塞,从而显著降低网络性能,影响应用的可扩展性和执行性能。论文以研究批量点对点通信的并行调度方法作为总目标,从定量刻画批量点对点通信拥塞行为的通信拥塞模型、拥塞避免的批量点对点通信调度算法和拥塞避免的批量点对点通信调度算法的并行化方法三个方面开展工作,论文的主要研究内容和结果如下:(1)提出了一种兼顾预测速度和预测精度的批量点对点通信拥塞刻画模型高效且快速的建模批量点对点通信性能对于大规模程序的通信性能分析和优化以及软硬件协同设计有重要意义。现有周期精准的模型通常需要大量计算资源而解析模型通常简化了建模无法准确刻画拥塞。针对这些问题,本文提出了一种基于包模拟的模型,并证明其在理论上等价于基于流模拟的模型,从而得以低复杂度地建模批量点对点通信中的网络拥塞情况。基于该模型,本文设计并实现一个基于动态时间步模拟加速的网络拥塞模拟器。实验表明,该模型能准确并快速地预测批量点对点通信性能,并刻画其网络拥塞状况。(2)提出并验证了一种针对批量点对点通信的拥塞避免通信调度方法通信性能对于大规模并行应用的可扩展性和性能的影响至关重要。针对现代高性能计算机中上的通信竞争导致的拥塞问题,本文提出一种应用层的通信调度方法,从通信的源头降低竞争。该方法通过对消息进行分组和分时调度,使得一次性提交的批量通信请求分组注入网络,以达到降低通信竞争提升性能的目的。实验结果表明该方法能显著提升批量点对点通信性能。(3)针对批量点对点通信的拥塞避免通信调度并行算法拥塞避免通信调度方法需要全局的消息分布和网络拓扑等信息,在多核、多结点并行计算中将成为串行瓶颈。由于批量点对点的通信调度正确传达到目的地,此外没有其他的正确性约束,可考虑使用局部信息的分布式调度方法,以充分利用并行机计算能力降低算法开销。本文探索了基于避免NIC拥塞思想的并行调度算法并研究了其分布式并行的策略,并分析了两种通信调度方法的并行效率或加速比。