本发明涉及大气科学与计算机科学的学科交叉领域,尤其涉及一种全球大气数值模式的短波辐射参数化负载均衡算法。
背景技术:
1、随着高性能计算机和大气科学的发展,全球大气模式的准确性不断提高以满足社会对天气预报和气候预测的日益需求。准确性的提高来源于模式的更细致的动力物理过程描述和更高的分辨率,从而模式的计算量越来越大,其中辐射参数化方案的计算时间可以超过模式的总计算时间的40%。大气模式中的辐射参数化方案包括长波和短波两个辐射参数化方案。其中短波辐射参数化方案计算太阳辐射对大气的加热作用,显然地球对着太阳的白天半球才有太阳辐射。但是,全球大气模式普遍上采用区域分解的并行计算方案,也就是将全球区域划分成多个子区域,每个cpu只负责某一个子区域的计算。这样,在任何一个时刻,全球区域的格点有一半是白天而另一半是夜间。因为夜间的格点是不需要计算短波辐射,所以有些子区域所有格点都需要计算短波辐射,有些子区域所有格点都不需要计算短波辐射,有些子区域只有部分格点需要计算短波辐射。所有格点都需要计算短波辐射的子区域的cpu满负荷运行,所有格点都不需要计算短波辐射的子区域的cpu零负荷空转,部分格点需要计算短波辐射的子区域的cpu不满负荷运行。短波辐射计算的总时间是由用时最长的cpu的计算时间决定,不满负荷尤其零负荷的cpu空转而浪费了其计算能力。
2、随着超级计算机的节点数和cpu核数的指数增加,高性能领域近年来涌现很多负载均衡算法,现有的负载均衡算法主要分成两类:程序级的负载均衡算法和工具级的负载均衡算法。
3、程序级的负载均衡算法假定所有cpu核的计算能力是一样的,根据程序的计算特性将计算量均衡地分配给所有参与计算的cpu核。这一类负载均衡算法是依据特定程序的计算特性来实现,因此其负载均衡算法不具备普遍适用性,尤其不能考虑特定程序的独有特性。因此其他程序级的负载均衡算法都没有考虑短波辐射的昼夜分布具有规律性的特征,如果直接将其应用到短波辐射,效果不明显,甚至用非常多cpu核时性能反而下降。
4、工具级的负载均衡算法根据不同cpu的计算能力差异以及cpu核的负载状态来动态把可独立运行的多个作业均衡分配给不同的cpu核,其级别比程序级的负载均衡高,因此具有较高的通用型但是延迟比较大。短波辐射计算是一个作业,工具级的负载均衡把多个作业均衡到cpu核,而不能拆分一个作业,因此不适用于短波辐射计算的负载均衡。
5、目前绝大多数的全球大气模式的短波辐射是没有负载均衡的。最近随着高性能计算机高速增长,并行程序的负载不均衡问题更突出,负载均衡算法在很多领域得到很好的应用,但是目前尚未检索到负载均衡在大气短波辐射计算的应用,更没有结合地球大气的太阳辐射的昼夜分布特性来实现负载均衡的研究。
技术实现思路
1、发明目的:本发明的目的是提供一种全球大气数值模式的短波辐射参数化负载均衡算法,解决了计算机在进行大气短波辐射计算的过程中出现的并行程序的负载不均衡问题。
2、技术方案:
3、一种全球大气数值模式的短波辐射参数化负载均衡算法,包括以下步骤:
4、s1,计算太阳天顶角的余弦值,将全球划分为白天半球和夜晚半球;
5、s2,将全球均分成n个子区域,每个子区域分配一个cpu核进行短波辐射计算,每个子区域内有m个格点;给每一个cpu核标号,记为c0、c1、c2…cn-1;
6、s3,将白天半球经向翻折180°,然后再沿纬向移动,直到白天半球与原夜晚半球重合,使得原夜晚半球被白天半球完全覆盖;
7、s4,将经过步骤s3变换后,原夜晚半球的cpu核与白天半球的cpu核一一对应,相对应的每两个cpu核配对为一组;
8、s5,通过cpu核配对方法实现负载均衡。
9、进一步,步骤s1中,当计算得到太阳天顶角的余弦值大于0时,为白天时间,属于白天半球;当太阳天顶角的余弦值等于0时是白天和夜晚的分界线;当太阳天顶角的余弦值小于0时,为夜晚时间,属于夜晚半球。
10、进一步,步骤s3中,覆盖夜晚半球的白天半球子区域中,负责各个子区域的cpu核的编号也跟着白天半球一起移动位置。
11、进一步,步骤s5的具体实现步骤如下:
12、s5-1,比较每组中的两个cpu核,将需要计算短波辐射的格点数多的cpu核记为a,将需要计算短波辐射的格点数少的cpu核记为b;设a比b需要多计算的部分为p=a-(a+b)/2;
13、a调用mpi_send函数,将计算p部分所需的大气廓线和地表量发送给配对的b;
14、b通过调用mpi_recv函数来接收配对cpu核传递的信息;
15、s5-2,每个cpu核调用所有大气模式中自带的短波辐射计算模块;
16、s5-3,每个cpu核完成分配给它的短波辐射计算后,b调用mpi_send函数,将计算得到各层短波辐射通量和加热率结果发送给与之配对的a。
17、进一步,所述大气廓线包括温湿度廓线、气压、云量、云中水、云中冰、云中雪、云中雹;所述地表量包括地表反照率、地表温度。
18、本发明与现有技术相比,其显著效果如下:
19、本发明根据短波辐射昼夜分布的规律性,通过cpu核配对的方法,将需要计算短波辐射的格点数均匀地分配到各个cpu核,使得所有cpu核的计算量相当,提高了短波辐射计算的总效率,实现了负载均衡。
1.一种全球大气数值模式的短波辐射参数化负载均衡算法,其特征在于,包括以下步骤:
2.如权利要求1所述的全球大气数值模式的短波辐射参数化负载均衡算法,其特征在于,步骤s1中,当计算得到太阳天顶角的余弦值大于0时,为白天时间,属于白天半球;当太阳天顶角的余弦值等于0时,为白天和夜晚的分界线;当太阳天顶角的余弦值小于0时,为夜晚时间,属于夜晚半球。
3.如权利要求1所述的全球大气数值模式的短波辐射参数化负载均衡算法,其特征在于,步骤s3中,覆盖夜晚半球的白天半球子区域中,负责各个子区域的cpu核的编号也跟着白天半球一起移动位置。
4.如权利要求1所述的全球大气数值模式的短波辐射参数化负载均衡算法,其特征在于,步骤s5的具体实现步骤如下:
5.如权利要求4所述的全球大气数值模式的短波辐射参数化负载均衡算法,其特征在于,所述大气廓线包括温湿度廓线、气压、云量、云中水、云中冰、云中雪、云中雹;所述地表量包括地表反照率、地表温度。