来自中国科学院计算所的李琨博士论文,入选2022年度“CCF优秀博士学位论文奖”! https://www.ccf.org.cn/Focus/2022-12-08/781244.shtml 高性能计算是计算机科学的重要分支,主要指从体系结构、并行算法和并行 软件等多个方面研究和利用高性能计算机的技术。数十年来,高性能计算被广泛 地应用在大规模科学和工程计算、人工智能、工业仿真等关键领域,对基础科学 发现、国民经济发展和国防工业建设具有极高的应用价值,已成为国家科技综合 实力的重要体现。图灵奖得主 Jim Gray 指出,可扩展性问题是高性能计算中的核心问题,也 是未来信息技术领域十二项研究目标中排在首位的重要挑战。针对高性能计算 中的并行软件设计和并行系统结构一软一硬两个层次,可扩展性挑战也表现在 架构移植难、算法设计难、应用优化难等诸多方面。本文对大规模并行多层次不 连续非线性可扩展理论开展研究,深入分析可扩展性发展规律,提出物理模型、 并行算法以及性能优化多层次协同设计方法,在多种硬件并行规模、不同软件并 行粒度、各级交叉并行应用上开展可扩展性优化设计,具体贡献包括:
- 提出了大规模并行多层次不连续非线性可扩展理论。基于高性能计算中 的不连续非线性可扩展现象,通过对并行软件在同构多核到异构众核系统上可 扩展性的分析,首次系统地对多个层次上的两种现象进行了深入的理论分析与 内涵丰富,并提出了可扩展性的物理模型-并行算法-性能优化多层次协同设计理 论。该可扩展理论考虑了从底层物理方法建模到上层应用性能优化完整的高性 能计算研究链,为高性能计算领域可扩展性的研究,特别是大规模并行计算中的 可扩展问题,提供了系统化、体系化的方法论层面指导。2. 提出了百核量级的 Stencil 并行数值算法,利用新型向量化和分块技术设 计并实现高可扩展单机多核 Stencil 计算。在并行算法层次,提出了转置布局计 算和时空计算折叠两种 Stencil 向量化策略,提高数据在 CPU 内的并行度;同时 在性能优化层次,提出了高效寄存器数据重用算法和缓存分块优化算法,提高 数据的访存效率。实验结果表明,通过并行算法-性能优化的双层协同设计思想, 最高超过 state-of-the-art 方法的绝对性能 4.39 倍,有效地提升了 Stencil 并行数值 算法的多核可扩展性能。3. 提出了万核量级的分布式机器学习框架,利用新型聚类和回归技术设计并实现高可扩展的多机众核机器学习预测模型。本文在物理模型层次,提出了 新型 Best Friend Graph 图数据结构及层次化的最小生成树网络模型,并设计了基 于聚类的回归预测方法;在并行算法层次,提出了基于回溯的负载均衡算法和 高效的并行通信算法,降低分布式系统的计算和通信开销。实验结果表明,通 过物理模型-并行算法的双层协同设计思想,在保证聚类和回归方法准确性的同 时,还能有效地将分布式机器学习框架的多机众核扩展性由已有工作的 1,536 核 提升至 12,288 核。4. 针对科学计算软件应用优化,提出了百万核量级的大规模扩展方法并设 计实现一套大规模高可扩展国产核材料辐照损伤模拟的软件应用 OpenKMC。在 物理模型层次,设计优化了高可扩展的新型势函数模型和分组反应策略,支撑应 用高效动力学蒙特卡罗模型建立;在并行算法层次,提出了适应于大规模应用的 并行同步象限算法和高效自适应通信算法,提高应用的负载均衡和通信效率;在 性能优化层次,提出了访存优化技术、高效局部性算法、Athread 线程级异构并 行和从核向量化加速方法,通过主存级-缓存级-寄存器级多层次化访存特征提取 优化和轻量级的进程级-线程级-数据级多层次并行性挖掘对异构众核体系结构 算力进行充分利用。实验结果表明,通过物理模型-并行算法-性能优化的多层次 可扩展性协同设计思想,实现神威·太湖之光千亿原子的 520 万核大规模模拟, 并行效率高达 80%,成为核材料模拟新的里程碑。
大规模并行多层次不连续非线性可扩展理论研究及应用