论文部分内容阅读
随着并行计算技术和多核处理器的快速发展,应用程序的性能由单纯依赖于处理器频率的提升已经转向多核并行执行,而传统串行编程方式已经无法充分利用多核处理器计算资源获得性能提升。计算机软件都将面临并行程序设计与实现的挑战,掌握并行编程技术迫在眉睫,如此才能充分挖掘并利用多核处理器硬件发展的成果。因此,本文主要针对多核平台的并行编程关键技术进行研究。论文的研究工作主要包括以下几点: (1)结合国内外的研究现状,对多核处理器体系结构、并行程序性能评测指标以及当前流行的多种并行编程模型进行分析。 (2)针对Microsoft.NET Framework 4.0中基于任务的并行编程框架,重点研究任务并行库TPL(Task Parallelism Library)的任务并行模型、数据并行模型和PLINQ(Parallel Language Integrated Query)模型,并总结基于.NET框架的若干并行编程关键技术。 (3)通过对并行模型和关键技术的进一步分析,提出与应用程序特点相结合的并行程序设计的总体方案,以及深入研究.NET默认数据分区策略和任务调度机制、默认流水线机制,并分析其中的不足。 (4)提出一种基于数据并行模型的用户自定义的数据分区策略优化方法,以及探索基于数据和任务混合并行模型的平衡流水线的优化方法。 (5)分别设计与实现数据并行与数据和任务混合模型的两个并行应用程序,对本文研究的优化方法进行验证。 实验结果表明本文所研究的优化方法能充分利用多核处理器计算资源,明显缩短问题求解的时间,提高执行效率和程序运行加速比。本文提出的并行程序设计方案和优化方法对.NET编程人员实现并行程序提供了一定的借鉴和参考意义,能够有效地指导.NET用户实现任务的高效并行处理,从而充分提高多核资源利用率,最终使应用程序能够得到高效、快速的执行。