论文部分内容阅读
并行计算指在并行计算机上,将一个任务分解成多个子任务,然后将这些子任务分配给不同的处理器,每个处理器之间相互协同并行的执行子任务,从而达到加快任务求解速度,或者提高求解应用问题规模的目的。 目前主流的并行计算编程模型包括基于消息传递的MPI协议和基于编译指导的Open MP标准等,而它们主要专注于挖掘单个计算结点上任务的并行性,旨在充分利用目前主流的多核或多处理器的优势。但是不管基于多处理器或者多核的计算机体系结构如何发展,单一计算结点上的计算能力也是有限的,特别是在云计算技术广泛应用的今天,如何将传统意义上的并行编程模型从单一计算结点扩展到同构或者异构的计算结点集群中,是一项具有挑战性的工作。 本文从实践的角度出发,首先设计出一种基于分布式环境的多线程模型,通过改进ucos操作系统内核的任务调度、内存管理、进程通信模块设计,使之能够适应分布式环境中任务调度的需要,为后续协议提供相应的API支持。 然后对传统的基于MPI的并行编程模型进行了修改和扩充,设计出了一种基于分布式同构网络的并行编程模型,使之能够有效利用整个计算集群中所有计算结点的计算能力,并且具有负载均衡和容错的功能。 最后本文对工作成果进行了性能测试,实验证明,通过使用这种基于分布式同构网络的并行编程模型,能够提高加速比并且获得不错的效率。