论文部分内容阅读
随着对处理器主频以及设计复杂度的进一步要求,单核处理器作为计算和控制的核心已经不能满足处理器的快速发展。为了满足复杂应用的需求,处理器的设计引入了新的架构——CMP (Chip on MultiProcessor)。CMP多核技术已经成为当今处理器的主流应用,因此通过将CMP集群化的方式来构建远胜于单一处理器架构的并行系统的研究也得到很大的发展。CMP集群系统的各方面性能虽有所提高,但是适用于这种集群架构的并行编程模型的研究却相对滞后,因而导致多核架构的性能优势未能充分体现。为了找到一种适合于多核集群系统的编程模型,往往要做大量试验,进行对比、分析以及修正。本文针对这一问题,做了如下研究工作:首先简要介绍多核技术的发展及并行编程模型的研究等基本理论知识。介绍了多核处理器硬件相关的主要实现技术,包括同时多线程(Simultaneous MultiThreading, SMT)、对称多处理器(Symmetrical Multi-Processing)和片上多处理器(Chip-on-MultiProcessor, CMP),详细介绍了CMP多核技术在体系结构方面的知识以及CMP相对单核处理器的优势所在。通过实验验证单机下多核处理器的性能提升与SMP系统相比更具有优势。还介绍了几种常见的并行编程模型的使用范围和优缺点,并通过比较选择出最适合多核集群系统的模型。其次以TBBMPI为主要模型详细描述了适用于CMP集群的并行编程模型,它更加贴近于多核集群体系结构,具有更好的性能体现。在这个基础上,重点研究了这个模型的实现机制,并行化粒度,线程数的确定,以及如何优化编程措施等。通过试验进行性能分析比较,得出在一定条件下,TBBMPI编程模型是最适合于CMP集群的选择。最后描述了一个实际的应用问题并行压缩算法——EZW,并详细介绍了并行应用实现的设计过程和实验比较,以及实验环境的安装配置等。通过对结果的分析,能充分展示上述研究工作的有效性,体现了新型编程模型对性能的提高。多核体系架构的出现促成了多核集群的应用。不论是对于大规模的科研应用还是大型的企业级服务器,多核集群系统都已经成为性价比最高的解决方案,针对这方面的研究也是层出不穷,本文最后对基于CMP集群的编程模型进行了展望,并对下一步要进行的工作做了描述,充分发挥编程模型的并行应用。