摘要:存储是地球科学类软件的重要组成部分,周期性输出中间态和检查点会带来大量的访存操作,不恰当的访存设计会严重影响软件在大规模计算时的性能表现.本文针对地球科学类软件的存储问题,从软件层面提出一个异步存储优化方法,通过设置额外的I/O进程隐藏输出过程.该异步存储优化主要有三个优势:一是将输出和计算操作重叠在一起,实现了输出的异步化和隐藏化;二是抑制了收集通信的开销,突破了收集操作的通信带宽瓶颈和内存限制;三是能容易的使用各种高级并行输出库函数.利用异步存储优化了天河二号上的WRF,ROMS_Agrif和grapes,并完成了性能测试.结果表明,经过存储优化后,程序的峰值性能都获得了显著的提升.还讨论了在固定总进程数下,计算进程和I/O进程数的最佳比例是多少.优化后的程序与原版相比,模式专家只需要在配置文件额外设置两个新变量即可使用,十分易于学习.