论文部分内容阅读
随着科学技术的进步和移动互联网的迅猛发展,高性能计算技术在工业界和科学计算等领域发挥着越来越重要的作用。鉴于这些应用领域中数据规模的爆发式增长,为了能够高效处理超大规模数据,亟需研究面向领域应用的高性能并行基础算法。
当前我国超算系统的研制能力己居世界前列,研制的“天河”系列和“神威,太湖之光”异构并行超级计算机的峰值运算速度己数次位居世界第一。但现有的加速基础算法多为面向同构系统或单节点加速器而设计,缺乏能扩展到大规模异构并行计算系统、充分发挥异构系统计算效率的基础算法,难以为实际应用需求提供高性能计算支撑。一方面,各类大规模应用领域中的信息安全问题越来越严峻,不仅要求保护数据的安全性,还对海量数据加、解密的效率提出了更高的要求,大规模异构并行系统对数据的安全、高效保护提供了重要的机遇和挑战;另一方面,稀疏线性代数运算作为各类高性能工程应用的核心算法,其运算速度决定了应用的运行效率,但计算中存在冗余的内存占用、计算和负载不均衡、不规律的访存模式及低计算/访存比等问题,使其难以在大规模异构系统上实现并行加速与优化。
鉴此,本文基于国产自主100P大规模多/众核超算系统研究面向领域应用的加密算法和稀疏线性代数运算,提出快速异构并行方案及优化策略,主要工作如下:
(1)面向申威26010特殊的无缓存、异构多核的处理器构架设计了一种大规模的异构并行AES密码算法,保证大规模应用中的数据安全保护的高效性。结合AES算法和“神威,太湖之光”构架的特点,为大规模异构并行AES算法选择了一种合适的异构并行化方案;基于该异构并行模式,在“神威,太湖之光”系统上对AES算法的加、解密运算设计并行算法;在此基础上,提出两种性能优化策略,进一步开发申威26010处理器的计算资源,提高大规模异构并行AES算法的计算和通信性能。
(2)基于“神威,太湖之光”超级计算机,结合并行AES算法和SHA-3算法设计了一种快速、安全的高性能数据安全保护系统,不仅实现了大规模应用中对数据的高效加/解密,而且保证了数据存储和操作过程中的安全性和完整性;针对“神威·太湖之光”的计算结构和内存层次,对高性能数据安全保护系统提出了一种细粒度的异构并行化设计,以充分发挥平台的多级并行性,更好地控制平台多级内存层级构架中的数据管理;进一步对所提出的安全保护系统中的并行算法部分设计一系列优化策略,使其在“神威.太湖之光”上获得更好的数据加/解密性能。
(3)针对大规模SpMV运算扩展到“神威·太湖之光”异构并行构架所面临的局部存储器限制、高访存延时和负载不均等问题,本文提出了一种TPSpMV加速计算框架。为解决CPE上局部数据内存LDM对计算规模的限制,设计了一种两阶段并行执行方案,将基于CSR格式的SpMV运算分为两个阶段执行,即并行PartialCSR-SpMV阶段和并行累加阶段;为了减少并行SpMV中不规则数据访问所造成的访存延迟,并缓解并行工作负载分配不均衡的问题,利用LDM缓存技术设计了一种自适应数据划分策略和并行化机制;为了进一步利用平台的硬件优势,提出了几种优化技术,提高TPSpMV对“神威”计算资源的利用率。
(4)针对SpMSpV扩展到大规模异构多/众核系统所面临的大量冗余数据和不规律访存问题,提出了一种高效的细粒度并行SpMSpV计算框架(fgSpMSpV)。为减少不必要的内存占用和计算操作、优化数据局部性,提出一种SpMSpV数据重集方法,将输入稀疏矩阵、稀疏向量、稀疏结果向量中计算所必须的非零元素进行重新收集;为了缓解SpMSpV运算中带宽利用率低、可能的并行写冲突和负载不均等问题,对重集后的稀疏矩阵数据设计了一种适配的列向压缩存储格式,并提出一种基于“神威”架构的优化并行SpMSpV算法。理论分析和实验证明了所提出算法的有效性和良好的并行可扩展性。
当前我国超算系统的研制能力己居世界前列,研制的“天河”系列和“神威,太湖之光”异构并行超级计算机的峰值运算速度己数次位居世界第一。但现有的加速基础算法多为面向同构系统或单节点加速器而设计,缺乏能扩展到大规模异构并行计算系统、充分发挥异构系统计算效率的基础算法,难以为实际应用需求提供高性能计算支撑。一方面,各类大规模应用领域中的信息安全问题越来越严峻,不仅要求保护数据的安全性,还对海量数据加、解密的效率提出了更高的要求,大规模异构并行系统对数据的安全、高效保护提供了重要的机遇和挑战;另一方面,稀疏线性代数运算作为各类高性能工程应用的核心算法,其运算速度决定了应用的运行效率,但计算中存在冗余的内存占用、计算和负载不均衡、不规律的访存模式及低计算/访存比等问题,使其难以在大规模异构系统上实现并行加速与优化。
鉴此,本文基于国产自主100P大规模多/众核超算系统研究面向领域应用的加密算法和稀疏线性代数运算,提出快速异构并行方案及优化策略,主要工作如下:
(1)面向申威26010特殊的无缓存、异构多核的处理器构架设计了一种大规模的异构并行AES密码算法,保证大规模应用中的数据安全保护的高效性。结合AES算法和“神威,太湖之光”构架的特点,为大规模异构并行AES算法选择了一种合适的异构并行化方案;基于该异构并行模式,在“神威,太湖之光”系统上对AES算法的加、解密运算设计并行算法;在此基础上,提出两种性能优化策略,进一步开发申威26010处理器的计算资源,提高大规模异构并行AES算法的计算和通信性能。
(2)基于“神威,太湖之光”超级计算机,结合并行AES算法和SHA-3算法设计了一种快速、安全的高性能数据安全保护系统,不仅实现了大规模应用中对数据的高效加/解密,而且保证了数据存储和操作过程中的安全性和完整性;针对“神威·太湖之光”的计算结构和内存层次,对高性能数据安全保护系统提出了一种细粒度的异构并行化设计,以充分发挥平台的多级并行性,更好地控制平台多级内存层级构架中的数据管理;进一步对所提出的安全保护系统中的并行算法部分设计一系列优化策略,使其在“神威.太湖之光”上获得更好的数据加/解密性能。
(3)针对大规模SpMV运算扩展到“神威·太湖之光”异构并行构架所面临的局部存储器限制、高访存延时和负载不均等问题,本文提出了一种TPSpMV加速计算框架。为解决CPE上局部数据内存LDM对计算规模的限制,设计了一种两阶段并行执行方案,将基于CSR格式的SpMV运算分为两个阶段执行,即并行PartialCSR-SpMV阶段和并行累加阶段;为了减少并行SpMV中不规则数据访问所造成的访存延迟,并缓解并行工作负载分配不均衡的问题,利用LDM缓存技术设计了一种自适应数据划分策略和并行化机制;为了进一步利用平台的硬件优势,提出了几种优化技术,提高TPSpMV对“神威”计算资源的利用率。
(4)针对SpMSpV扩展到大规模异构多/众核系统所面临的大量冗余数据和不规律访存问题,提出了一种高效的细粒度并行SpMSpV计算框架(fgSpMSpV)。为减少不必要的内存占用和计算操作、优化数据局部性,提出一种SpMSpV数据重集方法,将输入稀疏矩阵、稀疏向量、稀疏结果向量中计算所必须的非零元素进行重新收集;为了缓解SpMSpV运算中带宽利用率低、可能的并行写冲突和负载不均等问题,对重集后的稀疏矩阵数据设计了一种适配的列向压缩存储格式,并提出一种基于“神威”架构的优化并行SpMSpV算法。理论分析和实验证明了所提出算法的有效性和良好的并行可扩展性。