论文部分内容阅读
现代计算机技术极大地促进了计算科学的发展。在实践中,由于受到物理器件极限速度和技术水平的限制,使得单处理机远远满足不了现代许多领域中具有挑战性的大规模计算课题对计算资源的需求,因此并行计算成为研究热点。 设计高效的并行程序是实现并行计算的关键。目前最重要的并行编程工具之一是MPI(Message Passing Interface),然而,MPI 编程和其它并行编程一样,必须处理比串行程序更复杂的情况,比如任务的划分,进程间的通信和同步等烦琐细节。这使得MPI 并行程序设计极其复杂,而且开发出来的程序难以调试、维护和移植。在这样的背景下,本论文将目前在软件工程领域广泛研究和应用的、基于对象技术的模式理论引入 MPI 并行程序设计领域,以改善这种困境。因为,基于对象技术的模式理论可以进一步增强面向对象技术的优势,比如:封装性和复用性等,为并行程序的设计和实现提供了一个更有力的智力工具。 在本论文的研究中,首先对 MPI 的并行程序设计技术进行了研究,初步总结了其中的一些困难和特点;而后,应用基于对象技术的软件模式对 MPI 并行程序设计中的编程元素进行重新整合,并在此基础上,针对 MPI 并行程序设计中某些固有的困难和特性给出了应用软件模式的解决方案。包括对 MPI 中非面向对象接口的面向对象封装、用 Strategy 模式实现 SPMD 和 MPMD 模型,以及用 MVC 模式解决并行程序设计中的交互问题,等等。 在研究的实验中,对几个应用软件模式实现的计算实例在集群系统上进行了测试,并统计了测试数据,其结果证实了软件模式在 MPI 并行程序设计中的可行性和有效性。 另外,本文的研究是建立在自行组建的 PC 集群实验环境之上的。其理论和实践对日后在更大规模、更复杂的集群系统上进行应用研究也具有一定的指导意义。