《Future Generation Computer Systems》:Performance Enhancement of CICE Dynamics via Data Reconstruction and Heterogeneous Parallelization
编辑推荐:
CICE海冰模型通过CSR压缩存储和函数融合优化,结合SW26010-Pro异构并行算法设计,在gx3和gx1网格上实现10.45-12.84倍加速,并展现优异可扩展性。
Jing Xiong|Jianzhi Yu|Yan Yao|Xingyu Zhang|Junyong Cao|Jianguo Liang
曲阜师范大学计算机科学学院,中国日照市,276800
摘要
社区海冰模型(CICE)是社区地球系统模型(CESM)的重要组成部分。通过数值模拟海冰的形成和消散过程及其与大气、海洋等其他系统的相互作用,CICE为气候变化研究提供了关键支持。然而,由于海冰分布的独特性,CICE的动力学面临内存访问瓶颈。为了解决这一瓶颈,已经开发了优化策略。对于重建算法,由于输入数据的稀疏性导致内存访问效率低下,采用了CSR(压缩稀疏行)压缩存储格式来提高内存访问的局部性和连续性。对于积分场算法,由于算术强度(AI)较低,采用了函数融合优化技术来增加计算强度和数据重用,从而降低内存带宽需求。此外,为了进一步提高动态计算的性能,设计并实现了针对SW26010-Pro处理器的定制异构并行算法。在Sunway OceanLight超级计算平台上的实验结果表明,使用gx3(100×116)精度网格时,优化后的重建算法和积分场算法分别比在主核心上执行时加速了10.45倍和12.84倍。进一步使用gx1(320×384)精度网格时,它们分别加速了11.25倍和10.95倍。此外,优化后的程序表现出出色的可扩展性。
引言
加速的全球变暖正在导致北极海冰范围和多年冰厚度的急剧下降,对全球气候变化、北极资源开发以及北极航运路线的可行性产生了重大影响。因此,北极海冰预测研究对地球科学和极地科学探索至关重要。社区海冰模型(CICE)是由洛斯阿拉莫斯国家实验室主要开发的数值海冰模型,通过耦合热力学和动力学过程来量化海冰厚度分布在空间和时间上的变化。研究表明,CICE在季节性北极海冰融化预测和冰-空气-海耦合反馈机制研究中表现出良好的数值稳定性。因此,它现在被广泛用于国际气候模型对比项目,例如第六阶段耦合模型对比项目(CMIP6)[1]。Duan等人[2]使用CICE模拟了喀拉海南部的海冰状况,分析了冰厚度的时空分布,提出了浮动平台冰级标准,并评估了极端冰厚场景,为北极石油和天然气开发的风险分析提供了有价值的参考。Yu等人[3]使用CICE比较研究了两种冰-海洋边界条件处理对北极海冰的影响。他们的发现表明,三方程方法减少了海洋湍流热通量,减弱了冰底融化,增加了冰厚度,降低了海表温度,并可能促进冰底堆积。
为了提高CICE模型模拟的准确性和稳定性,Taylor和Feltham[4]开发了一个融池连续模型来量化相变动力学。Hunke等人[5]通过将融池水循环模块(包括积水、排水和雪冰转化)与动态反照率方案相结合来减少模拟误差。Wang等人[6]基于最大熵原理重建了一个湍流热通量模型以减少参数依赖性。Lu等人[7]通过使用伴随模型参数估计来提高融池覆盖率的预测稳定性。Hunke等人[8]提出了一个弹性-粘性-塑性(EVP)模型,并通过包含弹性项来解耦非线性本构方程,从而实现了计算加速。Dukowicz等人[9]通过实施他们的增量重映射算法克服了对流守恒挑战,并将长期积分质量误差减少了三个数量级。Olason等人[10]的脆性Bingham-Maxwell模型进一步推进了海冰断裂模拟,提高了模拟断裂过程的准确性和稳定性。Li等人[11]致力于提高海冰粘性-塑性公式的数值精度。虽然精细的物理过程(如融池模型和断裂模型)可以提高模拟精度,但它们也增加了计算复杂性和负载,未能显著缓解效率限制。为了提高CICE海冰模型的计算效率,Craig等人[12]通过采用域分解通信重建策略将全局通信开销减少了60%。Li等人[13]在Sunway TaihuLight超级计算机上实现了一个紧密耦合的数据-计算框架,通过动态负载平衡将资源利用率提高到了92%。Yu等人[14]在SW39000异构处理器上优化了CICE海冰动力学模型。现有的并行优化研究主要集中在系统级通信和负载平衡问题上,缺乏对CICE核心计算内核的深入分析,特别是它们的内存访问特性。在海冰的AI领域,Akila Sampath等人[15]引入了一种新颖的物理信息机器学习模型(PhySIT),结合了长短期记忆(LSTM)、门控循环单元(GRU)和Kolmogorov-Arnold网络(KAN)来预测北极海冰厚度,并使用修改后的分层相关性传播(LRP)方法分析特征贡献。Zaatar T等人[16]提出了一种使用LSTM网络的北极海冰厚度预测模型,旨在作为海上导航的决策支持工具。
在高性能计算领域,大气和海洋模型[17]、[18]、[19]、[20]受到了相当多的关注,而海冰模型的并行加速则相对较少受到关注。作为社区地球系统模型(CESM)的关键组成部分,海冰模型的计算效率将成为限制整体CESM性能的关键瓶颈,因为其他模型组件的进步。通过对CICE模型内部核心计算的详细分析,我们发现了其动力学模块中的显著模板访问模式。这些模式导致了频繁的内存访问操作和大量的带宽需求。此外,极地地区物理场的高度稀疏分布加剧了这些内存访问限制。因此,CICE模型是一个内存密集型应用,其主要性能瓶颈源于内存访问效率。
为了解决这些挑战,我们对程序热点和性能瓶颈进行了全面分析。基于此分析,我们对CICE动力学模块中的热点函数实施了内存访问优化。这些优化旨在减少内存访问延迟并提高数据局部性,从而缓解内存访问瓶颈。此外,为了进一步提高计算性能,我们为Sunway OceanLight超级计算机上的SW26010-Pro处理器的异构多核架构[21]、[22]、[23]、[24]专门设计了一种并行算法。该设计旨在充分利用系统的计算能力,实现CICE动力学的有效加速。
SW26010-Pro处理器简介
SW26010-Pro处理器由六个核心组(CGs)组成,这些核心组通过片上网络(NoC)相互连接。这些CGs共享一个物理统一的地址空间,并支持CGs之间的缓存一致性。每个CG包含一个管理处理元素(MPE)和64个计算处理元素(CPE),它们都使用64位申威指令集,并通过内存控制器(MC)共享16 GB的DDR4内存。
MPE负责任务调度,运行频率为2.1 GHz。
使用CSR压缩优化重建算法
重建算法的计算分为两个不同的领域:开阔水域计算和冰厚度类别计算,后者包括相关的示踪计算。开阔水域计算的计算成本显著较低,因为它们不需要冰厚度类别数据和示踪计算。
重建算法具有以下特点:
(1)稀疏输入数据: 在gx3网格中,网格单元的分布
CICE水平传输模块的异构并行算法设计
为了进一步提高海冰水平传输方案的计算性能,我们利用了SW26010-Pro异构多核处理器进行加速。考虑到重建和积分场算法的计算特性以及Sunway OceanLight平台的异构架构,我们提出了一个三级并行化方案,包括核心组间并行性、MPE-CPE并行性和CPE内部并行性。
实验设置
实验中使用的硬件和软件环境如表1所示。
在模型配置方面,采用了gx3(100×116)和gx1(320×384)网格数据。在所有实验中,优化的重建和积分场算法作为完整CICE集成的一部分执行,而不是作为独立的微基准测试。模型的内置计时例程累积了这些组件在整个30天集成期间的运行时间。
结论
我们通过研究和实施关键算法的优化策略,解决了CICE水平传输模块在Sunway多核和x86平台上的性能瓶颈。对于重建算法,采用了CSR压缩来提高内存访问效率。对于积分场算法,采用了函数融合来实现数据重用,从而降低内存带宽需求。为了利用Sunway多核平台的并行计算能力,
CRediT作者贡献声明
Jing Xiong:写作——审稿与编辑,监督,资金获取。Jianzhi Yu:资源,方法论。Yan Yao:可视化,验证。Xingyu Zhang:可视化,验证,软件。Junyong Cao:形式分析,数据管理。Jianguo Liang:写作——审稿与编辑,撰写——原始草稿,调查,资金获取。
利益冲突声明
我们声明我们与其他人或组织没有财务和个人关系,这些关系可能不恰当地影响我们的工作,我们对任何产品、服务和/或公司没有专业或其他个人利益,这些利益可能会影响手稿中呈现的观点或评审。