随机生成稀疏矩阵_面向异构众核超级计算机的大规模稀疏计算性能优化研究

本文探讨了在异构众核超级计算机中进行大规模稀疏计算的性能优化,针对高分辨率大气模拟和非线性地震模拟等应用场景,提出优化实践策略,包括隐式求解和显式求解等。同时,介绍了‘神图’图计算框架在该领域的应用。
摘要由CSDN通过智能技术生成
4ecff9d7daa35a66212fa12a7b56ee6f.png

点击上方蓝字关注我们

4ecff9d7daa35a66212fa12a7b56ee6f.png

面向异构众核超级计算机的大规模稀疏计算性能优化研究

胡正丁, 薛巍

清华大学计算机科学与技术系,北京 100084

e7cc9e6e7f25d5e0eafe216883f27333.png

论文引用格式:

胡正丁, 薛巍.面向异构众核超级计算机的大规模稀疏计算性能优化研究[J].大数据, 2020, 6(4):40-55.

HE X B, JIANG J H.Research on performance optimization for large-scale sparse computation over many-core heterogenous supercomputer[J].Big Data Research, 2020, 6(4):40-55.

e7cc9e6e7f25d5e0eafe216883f27333.png

1 引言

近年来,随着计算机系统和大数据技术的发展,大规模数值计算、科学计算等在大型异构并行系统上的应用逐渐深入。从对自然现象的模拟和预测到工程学设计和产品研发,超级计算(以下简称超算)在这些领域发挥着不可或缺的作用。与此同时,应用的需求反过来也促进了超级计算机的发展,更大型超级计算系统的构建使得更多富有挑战性的任务的解决成为可能。 大规模计算往往与大数据,特别是大规模稀疏数值问题紧密相连。数值天气预报通过数值计算求解描述天气演变过程的流体力学和热力学的方程组,以预测未来的大气运动状态和天气现象。若在全球采取千米级分辨率,会产生百亿规模的计算网格,相应的联立方程组规模会达到千亿级别。7天左右的天气预报需要约6万步迭代,而涉及气候预测的时间跨度甚至多达数年,其中的计算规模和数据规模是难以想象的。在线网络欺诈分析结合大数据和人工智能技术检测网络欺诈行为,需要保证预测结果的准确性和实时性。全球的中文网页约有2 700亿个,链接数量达12万亿个,相应网页图存储规模达到137 TB,这无疑对数据存取和算法运行效率提出了很高的要求。 稀疏问题的计算核心(如稀疏矩阵运算和图遍历等)在大规模计算中广泛存在。天气预报、地震分析等自然现象模拟过程需要对大规模偏微分方程进行求解,其中涉及频繁的稀疏矩阵运算操作。而蛋白质交互、基因工程和脑科学等科学研究工作需要对大规模稀疏图进行生成、遍历和处理。 超级计算机系统由于具有强大的存储和计算能力,成为解决大规模稀疏问题的有效选择。而由于其访存和计算模式的特殊性质,稀疏问题在并行和分布式计算机系统上的求解成为一个难题,具体体现在任务划分、计算调度、存储管理和功耗管理等多个方面。超级计算机给稀疏问题求解带来了全新的机遇和挑战。 因此,本文针对基于异构众核的超级计算机——“神威·太湖之光”的大数据稀疏问题解决和优化方案进行阐述,探讨异构众核计算机架构下大规模稀疏计算性能优化的一般性方法,为在新一代异构众核系统上开展大规模稀疏计算问题求解提供借鉴。

2 稀疏问题的计算挑战

因为稀疏问题具有非规则的计算与访存特征,所以其在大规模超级计算机中的求解面临严峻的挑战,主要包括以下几点。 (1)不规则的主存储器访问 随着CPU主频的提高和处理器计算能力的不断增强,CPU运算速度与主存带宽不匹配的问题越来越严重。与计算密集型应用不同,稀疏计算核心的计算访存比往往较低。典型的稀疏计算问题(如稀疏矩阵向量乘法、基础向量矩阵运算、模板计算等)只有常数级别的计算访存比,而其余典型算术核心(如涡格法、快速傅里叶变换、粒子法)的计算访存比会达到O(logN)甚至O(N)的级别。因此对于稀疏计算型应用而言,存储器访问的开销可能远远超过计算本身带来的开销,使得访存问题成为应用开发过程中需要重点关注的部分。 计算机系统的存储器架构往往是多级的。靠近处理器的存储层级一般存取速度快,但容量较小;反过来,远离处理器的存储层级容量大、速度慢。对于大规模计算机系统而言,这种容量和计算速度的对比往往更加夸张。因此,要解决应用的访存问题,需要解决大规模稀疏数据的存储管理策略问题,尽量将频繁使用的数据放在高层级,减少低层存储器的访问次数,同时做好数据的分块和搬运策略,增强访存的连续性和一致性。 稀疏型计算问题的访存模式是不规则的。稀疏计算问题的数据局部性较差,可能存在离散化、随机化、不规则访存的问题,随机化访存对数据分块和局部化并不友好,而细粒度访存会导致不同节点的竞争,增大存储总线的压力。稀疏计算问题的这种特性给开发者的存储管理策略带来了许多困难。 此外,传统的动态随机存取存储器(dynamic random access memory, DRAM)价格昂贵、能耗高、性能不稳定,给许多大数据稀疏问题的解决带来了限制。近年来出现了大量的新型非易失性存储器(non-volatile memory,NVM),它们具有价格和能耗较低、容量大、性能高的特点,给内存存储与计算模式带来了巨大的变革,新型内存计算技术正在蓬勃发展。为了充分利用NVM容量大和DRAM读写性能好的优势,并且最大限度地避免各种存储介质的缺陷,DRAM-NVM异构内存系统的设计与优化成为研究的热点。这种异构系统的实现面临体系结构、系统软件、编程模型等多个层面的挑战,相关研究工作已经提出了具有针对性的解决方案。例如,相变存储器(phase change memory,PCM)就是非易失性存储器的一种,其存储密度较高、持久性强,有学者通过将PCM与DRAM结合来构建优势互补的混合存储架构。 (2)可并行化与负载均衡 部分稀疏计算核心可能存在非规则的计算模式。比如,在求解线性方程组用到稀疏矩阵LU分解(LU factorization)与稀疏三角矩阵方程求解(sparse triangular solver,SpTRSV)的过程中,不同位置的数据具有计算依赖关系,存在求解的先后顺序。在模板计算中,每个进程需要等待halo区,也就是由其部分邻居进程负责计算的数据区域完成后才可开始下一步计算。这种基于数据依赖的非规则计算模式使得传统分块并行方法不再适用,开发者需要最大限度地挖掘应用中可并行化的部分。 同时,多核计算机系统中每个处理器的负载也是需要考虑的问题。稀疏矩阵中的非零元排布如图1所示,其中b和x分别表示矩阵的行和列两个维度。在一个稀疏矩阵中,不同行/列间的非零元分布密度可能存在巨大差别。如果采用静态分块方法,会导致不同处理器负责计算的非零元数目不均衡。这种不均衡不仅会大大降低应用的性能,还可能造成部分处理器资源的浪费,增大应用运行的功耗和成本。这对大规模稀疏问题的问题划分和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值