论文部分内容阅读
近年来,高性能计算技术蓬勃发展,越来越多的科学计算问题能够通过并行程序设计得到解决。但在基础理论研究等众多领域,问题规模越来越大,需要更多的计算资源,所以并行计算系统必须随之扩展,以提高计算能力。然而系统的效率并不是随节点数目的增加而呈线性增长,当系统到达一定规模时会出现效率降低、执行时间难以预测等问题,在异构系统中这些问题更为严重。因此,深入了解可扩展性将有助于对大型应用问题的并行计算系统的性能做出合适的评价,也有益于并行算法与并行系统的设计与改进。基于消息传递通信的Beowulf并行计算系统作为高性能计算的一个分支或流派,具有廉价、易管理、性价比高等众多优点,应用越来越广泛。本文主要从效率方面分析异构Beowulf并行系统的可扩展性,研究当处理机节点增加时,问题规模应如何变化才能使扩展前后的效率保持不变,并以此来预测系统的可扩展性。由于异构系统各节点处理能力的差异,任务分配策略的好坏将严重影响系统的可扩展性。因此,本文从研究任务分配、负载均衡出发,改进了MPICH任务分配上的缺点,构建了一个基于OpenPBS和MPICH的负载均衡模型。模型使用相对处理速度的概念,把每个节点的处理能力进行量化,调度节点根据每台节点处理能力的权重值来分配任务,以达到整个系统的负载均衡。实验表明本文构建的模型可以把任务较为合理的分配到各节点去执行,为分析系统的可扩展性以及可扩展性实验提供了良好基础。目前可扩展性研究主要集中在并行算法与并行系统相结合的可扩展性上,即研究如何随节点数目的增加而扩展问题规模,使得执行时间较合理且效率较高。等效率模型揭示了由并行算法和并行系统共同影响下的计算性能,但它主要针对同构系统,没有考虑各处理节点的差异。虽然异构系统已经越来越普遍,但在效率和可扩展性的概念方面一直没有合适的定义来研究它的特性。本文改进了同构系统下的等效率模型,提出了一个效率的定义,使它能够同时应用到同构系统和异构系统,并构建了一个适合同构系统和异构系统的等效率模型,找到了使扩展前后系统保持相同效率的充分必要条件。由此可以分析系统规模和工作负载应如何变化,才能使得扩展前后的效率保持一致。最后,本文做了一系列实验用来验证以上理论,结果证明此方法具备有用性和有效性,较好的分析了同构系统和异构系统的可扩展性,能够定量度量由物理扩展和能力扩展带来的效率变化,并能够对系统的可扩展性进行预测。