论文部分内容阅读
速度是计算机最基本的性能参数,致力于提高计算机性能的所有方法都是为了加快运算速度。多核系统为并行计算的研究及其实验提供了便利条件,已经成为系统架构设计中的主流。双核、四核乃至众核的集成促进了计算机系统性能的提升。然而,不断增加的计算核又带来了新的问题:计算核数目的线性增加能否带来性能的相应提高。在多核环境下,计算核利用率是提升计算机性能的因素之一。如果能考虑到充分利用每个核,将极大加快运算速度,提高系统性能。因此,充分挖掘每个核的潜力对并行计算的发展具有现实意义。鉴于此,本文对多年的TOP500(高性能计算机排名)的数据进行了分析,并从参数入手,围绕如何充分发挥每个核的作用、提高并行性进行了研究。本文的主要工作如下:(1)总结了现有计算机系统性能参数的选取和测试方法,分析了在多核系统环境下已有参数的片面性,定义并描述了反映核贡献率的计算机性能参数。(2)阐述了多核并行编程对于提高核贡献率和计算机程序运行速度的意义,分析了各种并行程序、并行算法的设计模式,在此基础上提出了一种基于模式的多核并行程序开发方法,以模块化的思想来进行多核编程。(3)针对蒙特卡洛概率方法设计了一种并行算法,将任务量分解成规模更小的子任务量,使得并行能够充分进行,对核贡献率及性能提升效果进行记录与分析。(4)对主题爬虫算法进行了研究,设计了一套适合多核并行运行的算法。用流水线的思想将问题转化成一个顺序执行的过程,分析可并行的部分,并用线程对应处理等方法研究充分利用每个核来提升性能的可能。