移动粒子法并行计算等效粒子负载均衡加速方法技术

技术编号:23605202 阅读:32 留言:0更新日期:2020-03-28 06:09
移动粒子法并行计算等效粒子负载均衡加速方法,1、根据计算域内粒子的初始分布,生成对应的背景网格;2、根据节点数进行计算区域划分,根据粒子数和计算域决定划分方式;3、采用等效粒子均衡分布方法进行粒子计算域的划分;4、采用内存共享式OpenMP并行模型实现计算节点内的并行计算;5、采用消息传递式MPI并行模型实现节点间的并行计算;6、采用等效粒子均衡分布实现各节点的负载均衡,大大提高并行效率;本发明专利技术可以大规模并行加速基于拉格朗日方法的移动粒子法,根据不同类型粒子的计算量差异展开更均衡的划分方式,提高计算节点的使用效率,并行方式适用于目前主流的集群式计算硬件。

Parallel computation of equivalent particle load balancing acceleration method by moving particle method

【技术实现步骤摘要】
移动粒子法并行计算等效粒子负载均衡加速方法
本专利技术涉及计算流体动力学
,具体涉及一种移动粒子法并行计算等效粒子负载均衡加速方法。
技术介绍
计算流体动力学(CFD)是通过计算机求解流动方程来模拟复杂的流动运动,随着高性能计算机技术的高速发展及相关CFD算法的提出和改进,计算流体力学已经发展成一门独立的学科,对解决工程问题及复杂流动现象有重大现实意义。传统的基于网格的数值方法是应用最广泛的CFD方法,开发有众多成熟的商用软件。但传统的网格法在计算工程中的形变、相变、流固耦合、流体自由界面运动等问题上存在困难和不足。由于无网格法在以上计算领域中存在独特的优势,引发众多学者的关注,并在近年得以快速发展。基于拉格朗日描述法以配点式粒子离散格式的粒子类计算方法是目前应用最广泛、发展最迅速的无网格方法之一,主要包括光滑粒子流体动力学方法和移动粒子半隐式方法。粒子类方法相较于网格法具备前期建模简便、精确捕捉运动界面运动、精确捕捉相变过程、适合模拟流固耦合等优势。粒子类计算方法的计算精度受粒子大小影响且收敛条件较为严苛,通常在工程尺度计算中具有很大的计算量,因此发展移动粒子法并行计算等效粒子负载均衡加速方法具有重大的现实意义。目前常用的高性能计算系统为集群通讯系统,它通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地写作完成计算工作。集群系统中的单个计算机通常称为节点,节点间通常通过局域网连接。集群系统是目前最主流的高速计算机系统之一,广泛应用于各大高校、企业和科研院所的高性能计算工作中。针对集群系统的特点,充分利用硬件特点,采用OpenMP/MPI混合并行方法,发展能够实现最高效率的移动粒子法并行计算等效粒子负载均衡加速方法。
技术实现思路
基于拉格朗日描述法以配点式粒子离散格式来描述计算对象的粒子类计算方法与传统的网格法有着明显的差异,网格法中适用的并行加速方法无法很好地适用于移动粒子法中,因此本专利技术针对移动粒子法固有的特点提出一种移动粒子法并行计算等效粒子负载均衡加速方法,该方法能够很好地适配集群地硬件特点,通过计算量的负载均衡,达到最高的并行效率。为了达到上述目的,本专利技术采用了以下技术方案:一种移动粒子法并行计算等效粒子负载均衡加速方法,具体步骤如下:步骤1:根据计算域内粒子的初始分布,生成对应的背景网格,背景网格指的是在粒子计算区域上建立规则的背景网格,每个背景网格内包含一定数量的粒子,每个背景网格内的网格点不参与实际的计算,只应用于粒子检索和区域划分,背景网格的形状为正方形,背景网格的边长等于粒子作用半径,统计每个背景网格内粒子的数量;步骤2:采用等效粒子均衡分布方法进行粒子计算域的划分,等效粒子均衡分布方法为根据不同类型粒子计算量的不同,将所有类型的粒子等效为某一计算量确定的参照粒子,再根据等效后的参照粒子数量进行区域划分,保证每个区域内参照粒子数量基本相同,从而实现负载均衡的效果;根据计算对象确定划分维度和划分顺序,划分维度根据计算对象确定或根据计算节点数确定,当节点数小于或等于5时采用一维划分方式,当节点数大于5并小于等于20时采用二维划分方式,当节点数大于20时采用三维划分方式;划分方向的选择根据X、Y、Z方向上计算域的长度决定,优先选择计算域最长的方向进行划分,确定划分方向后按照计算域越长越晚划分的原则决定划分顺序,每个方向的划分次数根据每个方向上计算域的长度分配,计算域越长划分次数越多,最终的划分区域数和计算节点数相同,划分对象为背景网格;划分原则为每个划分区域内等效的参照粒子数目相同;步骤3:每个划分区域内所有粒子的计算由各自节点负责,节点内采用内存共享式OpenMP并行模型展开并行计算,以保证各个线程的负载均衡,实现节点内最高的并行效率;步骤4:节点间采用消息传递式MPI并行模型展开并行计算,每个划分区域边界处的背景网格称为边界区,边界区内的粒子计算需要其邻近划分区域边界处背景网格内的粒子信息,采用MPI并行模型的通讯函数,实现边界处粒子信息的传递;每个节点提供存储区域,用以接收邻近划分区域发送的粒子信息,该存储区域称为缓冲区;若在一次中计算使用了两个节点,分别为节点1和节点2,斜线阴影部分为缓冲区,深色部分为节点计算域,边界区在计算域内,节点1边界区内的粒子信息传递到节点2内的缓存区,节点2边界区内的粒子信息传递到节点1内的缓存区,信息传递前在当前节点的缓存区Buff-local进行信息打包处理,减少通讯函数的调用次数,从而减少计算资源的耗费;节点1边界区内的粒子计算需要节点1缓存区内的粒子信息,节点2边界区内的粒子计算需要节点2缓存区内的粒子信息,从而满足节点1和节点2边界处粒子的计算条件,以此通讯方式类推,实现各个方向上边界粒子信息的通讯;步骤5:由于移动粒子法的粒子位置时时发生变化,这个时刻下属于本划分区域的粒子在下一时刻可能属于另一个划分区域,因此必须将该跨越粒子(前后时刻粒子所属划分区域发生改变的粒子)的所有信息由原来的划分区域传递到之后的划分区域所负责的节点;对于跨越粒子的通讯,首先每个节点统计下个时刻将离开其划分区域的所有粒子,将所有粒子ID、粒子下一时刻的进入划分区域对应的节点号信息传递到共享区,共享区内的信息所有节点都能够获得,由此每个节点获得所有粒子的通讯信息,随后,每个节点通过消息传递式MPI并行模型的通讯模型完成发送和接受对应粒子信息;步骤6:由于移动粒子法的粒子位置时时发生变化,随着计算时间的进行,初始划分区域内的等效参照粒子数量可能发生变化,可能导致每个节点的计算负载量分配不均衡,因此在一定计算时间后,重新进行区域划分,即重复步骤2中粒子计算域划分的操作,从而实现负载均衡,以保证计算节点间的并行效率。所述的移动粒子法指的是基于拉格朗日描述法以配点式粒子离散格式来描述计算对象的粒子类计算方法。所述的粒子类计算方法包括移动粒子半隐式算法、光滑粒子流体动力学方法和粒子网格混合方法。和现有技术相比较,本专利技术具备如下优点:基于拉格朗日描述法以配点式粒子离散格式的粒子类计算方法是目前应用最广泛、发展最迅速的无网格方法之一,粒子类计算方法的计算精度受粒子大小影响且收敛条件较为严苛,通常在工程尺度计算中具有很大的计算量,因此本专利技术移动粒子法并行计算等效粒子负载均衡加速方法具有重大的现实意义;本专利技术针对目前主流的集群式计算机硬件框架,采用OpenMP/MPI并行模型,能够更高效率地利用硬件设备,提高计算效率;本专利技术针对粒子法的计算特点,针对不同的节点数和计算域设置了对应最优的计算域划分方式,方式判定方法合理有效,适用于粒子法中涉及到的所有情况;本专利技术针对不同种类粒子计算量的差异,采用等效粒子负载均衡方法实现最终负载均衡的区域划分,最大限度上提高了每个线程的并行效率;本专利技术充分利用MPI并行模型的优势,通过MPI并行模型中的打包功能,规避了大量MPI并行模型的通讯函数的调用,大大减少MPI并行模型使用过程中带来的计算耗费。附图说明图1是先Y后X的二维划分方式示意本文档来自技高网
...

【技术保护点】
1.一种移动粒子法并行计算等效粒子负载均衡加速方法,其特征在于:具体步骤如下:/n步骤1:根据计算域内粒子的初始分布,生成对应的背景网格,背景网格指的是在粒子计算区域上建立规则的背景网格,每个背景网格内包含一定数量的粒子,每个背景网格内的网格点不参与实际的计算,只应用于粒子检索和区域划分,背景网格的形状为正方形,背景网格的边长等于粒子作用半径,统计每个背景网格内粒子的数量;/n步骤2:采用等效粒子均衡分布方法进行粒子计算域的划分,等效粒子均衡分布方法为根据不同类型粒子计算量的不同,将所有类型的粒子等效为某一计算量确定的参照粒子,再根据等效后的参照粒子数量进行区域划分,保证每个区域内参照粒子数量基本相同,从而实现负载均衡的效果;根据计算对象确定划分维度和划分顺序,划分维度根据计算对象确定或根据计算节点数确定,当节点数小于或等于5时采用一维划分方式,当节点数大于5并小于等于20时采用二维划分方式,当节点数大于20时采用三维划分方式;划分方向的选择根据X、Y、Z方向上计算域的长度决定,优先选择计算域最长的方向进行划分,确定划分方向后按照计算域越长越晚划分的原则决定划分顺序,每个方向的划分次数根据每个方向上计算域的长度分配,计算域越长划分次数越多,最终的划分区域数和计算节点数相同,划分对象为背景网格;划分原则为每个划分区域内等效的参照粒子数目相同;/n步骤3:每个划分区域内所有粒子的计算由各自节点负责,节点内采用内存共享式OpenMP并行模型展开并行计算,以保证各个线程的负载均衡,实现节点内最高的并行效率;/n步骤4:节点间采用消息传递式MPI并行模型展开并行计算,每个划分区域边界处的背景网格称为边界区,边界区内的粒子计算需要其邻近划分区域边界处背景网格内的粒子信息,采用MPI并行模型的通讯函数,实现边界处粒子信息的传递;每个节点提供存储区域,用以接收邻近划分区域发送的粒子信息,该存储区域称为缓冲区;若在一次中计算使用了两个节点,分别为节点1和节点2,节点1内边界区内的粒子信息传递到节点2内的缓存区,节点2内边界区内的粒子信息传递到节点1内的缓存区,信息传递前在当前节点的缓存区内进行信息打包处理,减少通讯函数的调用次数,从而减少计算资源的耗费,节点1边界区内的粒子计算需要缓存区内的从节点2发送来的粒子信息,节点2边界区内的粒子计算需要缓存区内从节点1发送来的粒子信息,从而满足节点1和节点2边界区内粒子的计算条件,以此通讯方式类推,实现各个方向上边界粒子信息的通讯;/n步骤5:由于移动粒子法的粒子位置时时发生变化,这个时刻下属于本划分区域的粒子在下一时刻可能属于另一个划分区域,因此必须将该跨越粒子即前后时刻粒子所属划分区域发生改变的粒子的所有信息由原来的划分区域传递到之后的划分区域所负责的节点;对于跨越粒子的通讯,首先每个节点统计下个时刻将离开其划分区域的所有粒子,将所有粒子ID、粒子下一时刻的进入划分区域对应的节点号信息传递到共享区,共享区内的信息所有节点都能够获得,由此每个节点获得所有粒子的通讯信息,随后,每个节点通过消息传递式MPI并行模型的通讯模型完成发送和接受对应粒子信息;/n步骤6:由于移动粒子法的粒子位置时时发生变化,随着计算时间的进行,初始划分区域内的等效参照粒子数量可能发生变化,可能导致每个节点的计算负载量分配不均衡,因此在一定计算时间后,重新进行区域划分,即重复步骤2中粒子计算域划分的操作,从而实现负载均衡,以保证计算节点间的并行效率。/n...

【技术特征摘要】
1.一种移动粒子法并行计算等效粒子负载均衡加速方法,其特征在于:具体步骤如下:
步骤1:根据计算域内粒子的初始分布,生成对应的背景网格,背景网格指的是在粒子计算区域上建立规则的背景网格,每个背景网格内包含一定数量的粒子,每个背景网格内的网格点不参与实际的计算,只应用于粒子检索和区域划分,背景网格的形状为正方形,背景网格的边长等于粒子作用半径,统计每个背景网格内粒子的数量;
步骤2:采用等效粒子均衡分布方法进行粒子计算域的划分,等效粒子均衡分布方法为根据不同类型粒子计算量的不同,将所有类型的粒子等效为某一计算量确定的参照粒子,再根据等效后的参照粒子数量进行区域划分,保证每个区域内参照粒子数量基本相同,从而实现负载均衡的效果;根据计算对象确定划分维度和划分顺序,划分维度根据计算对象确定或根据计算节点数确定,当节点数小于或等于5时采用一维划分方式,当节点数大于5并小于等于20时采用二维划分方式,当节点数大于20时采用三维划分方式;划分方向的选择根据X、Y、Z方向上计算域的长度决定,优先选择计算域最长的方向进行划分,确定划分方向后按照计算域越长越晚划分的原则决定划分顺序,每个方向的划分次数根据每个方向上计算域的长度分配,计算域越长划分次数越多,最终的划分区域数和计算节点数相同,划分对象为背景网格;划分原则为每个划分区域内等效的参照粒子数目相同;
步骤3:每个划分区域内所有粒子的计算由各自节点负责,节点内采用内存共享式OpenMP并行模型展开并行计算,以保证各个线程的负载均衡,实现节点内最高的并行效率;
步骤4:节点间采用消息传递式MPI并行模型展开并行计算,每个划分区域边界处的背景网格称为边界区,边界区内的粒子计算需要其邻近划分区域边界处背景网格内的粒子信息,采用MPI并行模型的通讯函数,实现边界处粒子信息的传递;每个节点提供存储区域,用以接收邻近划分区域发送的粒子信息,该存储区域称为缓冲区;若在一次中计算使用了...

【专利技术属性】
技术研发人员:陈荣华蔡庆航董春辉李勇霖郭凯伦田文喜秋穗正苏光辉
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1