稀疏算法的并行优化研究

来源 :中国科学院研究生院 中国科学院大学 | 被引量 : 0次 | 上传用户:liongliong442
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
稀疏算法是一类广泛存在于各类应用中的核心算法。在目前的高性能计算机系统上,稀疏算法的浮点效率经常不到10%,影响了高性能计算机计算能力的发挥。本文在传统应用领域和新兴应用领域分别选择一个典型的稀疏算法一稀疏矩阵向量乘法(SpMV)和介度中心算法(BC算法),通过这两个算法来研究稀疏算法的并行优化问题。本文的主要工作包括以下几个方面:   本文设计了一种精确的细粒度性能分析工具,通过这个工具可以实时读取处理器内部的性能计数器的值,精确获得核心算法导致的处理器事件,如Cache Miss、分支预测、硬件预取等各类事件发生的精确次数。弥补了基于统计的性能分析工具(如:Oprofile)的不足之处。本文详细深入研究了稀疏矩阵向量乘和介度中心算法的性能特征,分析了影响稀疏算法性能的主要因素。通过分析发现,稀疏矩阵向量乘的性能瓶颈主要是由于硬件和算法不匹配导致,介度中心算法的锁同步是影响性能的主要开销。   本文在汇编语言层次对稀疏矩阵向量乘法做了细粒度的性能优化研究。通过对指令序列的调整,改变指令序列之间的控制相关和数据依赖关系,优化后的算法在Intel平台和AMD平台分别有20%和5%的性能提高。本文提出了一种具有可变分块结构的稀疏矩阵向量乘算法。在很多应用中,稀疏矩阵具有多个分块模式,传统的分块方法很难为这种稀疏矩阵选择合适的分块大小。本文提出了一种基于矩阵分解的方法,针对这类矩阵做性能优化,优化后的算法在Intel平台和AMD平台分别有35%和45%的性能提高。通过在任务划分和负载平衡上的优化,稀疏矩阵向量乘法的多线程并行优化在主流多核平台上有接近线性的加速比,相对于基于多进程的实现平均有21%的性能提高。   本文提出了一种消除锁同步的并行介度中心算法,相对于基于锁同步的最优并行实现,新算法有2~3倍的性能提高。这种消除锁同步的优化方法,可以推广到其他与图相关算法的并行实现中,用来消除锁同步带来的时间开销。本文提出了一种基于稀疏矩阵向量乘的并行介度中心算法,对更大规模网络的分布式并行求解做了初步的探索。
其他文献
云计算是近年来广泛使用的一种能够将动态伸展的虚拟化资源通过互联网以服务的方式提供给用户的计算模式。在云计算中,业务运行在远程的分布式系统上,这个分布式系统由互联网
现代社会竞争激烈,人们对知识的更新与获取有了更高的要求,同时,计算机网络及信息科技的蓬勃发展带动了在线学习的浪潮。而作为一项非盈利性事业,为了能够持续开展大规模的在
随着移动通信业的发展以及计算机网络的成熟,融合通信的概念开始被人们提及,并逐渐成为了一种新的通信模式。融合通信,即融合计算机网络与传统通信网络于一个网络平台上,以实
软件公司控制软件成本和追求利润的本质,软件开发从业人员的疏忽,以及软件测试的不可穷举性等,都造成了程序漏洞的不可避免性。其中最常见的是与非法篡改内存相关的程序漏洞,包括
程序插装是联系静态分析与动态测试的关键桥梁,是实现软件自动化测试必不可少的关键步骤。通过程序插装进行动态测试,可获得程序的执行路径、覆概率、运行时间等动态信息,在软件
游戏的核心是游戏引擎,游戏引擎是一个处理游戏底层技术的平台,用于控制游戏中所有的功能,包括游戏的系统架构、内存管理、图形图像渲染、物理引擎、网络、输入输出等。可以说,游
近年来,随着新的数据采集方法的使用,产生了一种新的密集型数据集——数据流。由于数据流是连续、无限、随时间变化的数据序列,所以通常不便采用传统的数据库管理系统管理数据流
探地雷达技术是近些年来迅速发展起来的一门技术,它通过向地下发射高频电磁波来探测地下目标或地层结构。探地雷达属于一种较新的地球物理方法,在近10年的时间内逐渐的成熟起
随着嵌入式Linux操作系统数据处理能力、存储能力的进一步增强,嵌入式平台上的数据备份系统越来越受到人们的重视。目前在嵌入式Linux操作系统中提供备份和还原功能的都是软
增值业务计费系统是增值业务平台重要的组成部分之一,它负责收集用户使用增值业务资源和服务的相关数据,并利用这些数据完成用户使用增值业务应缴纳费用的计算,然后按照增值