大规模并行计算通信可扩展性—分析、优化与模拟随着系统规模的扩大和结点计算能力的提高,通信已经成为制约并行计算可扩展性的重要瓶颈。通信可扩展性问题,即分析通信受何种因素影响并且该影响增大到何种程度会限制系统的可扩展性,是并行计算领域最具挑战性的理论问题之一。本文针对通信可扩展性问题,首次从性能加速比的角度量化了并行计算的通信墙,并建立了通信可扩展性模型。基于通信可扩展性模型的分析结论,本文分别针对程序优化和任务分配优化,提出了消息独立性指导下的程序优化技术和面对多作业的分配优化技术。最后,设计和实现了一款针对大规模并行计算的性能预测模拟器,该模拟器可用于验证通信可扩展性模型的正确性以及并行系统的各种相关优化技术的可扩展性。具体而言,本文的主要工作和创新点体现在:1.建立了通信可扩展性模型(第二章)目前,国际上对于通信可扩展性问题大多是感性上的认识,并未对其进行系统的定量讨论。本文首次提出了通信墙的定量化描述,给出了通信墙存在性定理。由此,本文建立了通信可扩展性模型,提出了系统度量方法及基于通信可扩展性模型的并行系统分类方法,量化了系统的通信可扩展性强弱和广义通信可扩展性强弱。最后结合具体案例,分析了程序、并行机拓扑以及常见优化方法对通信可扩展性的影响,比较了常见的巨型机拓扑的广义通信可扩展性强弱,指出优化系统通信可扩展性和广义通信可扩展性的方向。2.提出了消息独立性指导下的程序优化技术(第三章)基于指令重排的通信隐藏技术是优化程序性能的主要手段之一,然而除去该技术自身面临的问题,它还会导致消息间产生严重的网络资源竞争。本文通过分析网络资源竞争的产生原因,首次提出了消息独立性的概念并讨论了其具体涵义;然后针对 MPI(Message Passing Interface)程序,建立了基于指令重排的消息独立性指导下的程序优化模型;基于上述优化模型,设计并实现了基于指令重排的消息独立性指导下的程序优化方法,该方法可以在保证通信隐藏最大化的前提下减少消息间的网络资源竞争;针对并行CFD(Computational Fluid Dynamics)应用的实验表明,该方法能够很好的减少程序的通信开销并提升程序的性能。3.提出了面对多作业的分配优化技术(第四章)合理地为多个作业分配计算资源以满足作业的性能需求,对于那些使用大规模并行计算系统的用户来说十分重要。本文首次提出将多作业分配优化问题分解为多作业分布优化和单作业任务映射优化两个子问题。...