基于遗传算法的流体机械并行仿真程序进程映射方法技术

技术编号:20160808 阅读:24 留言:0更新日期:2019-01-19 00:13
本发明专利技术公开了基于遗传算法的流体机械并行仿真程序进程映射方法,包括以下步骤:在流体机械并行仿真程序编译时链接进程通信插桩库,捕获程序运行过程中MPI通信的通信信息,得到记录有进程间传输消息大小和通信频次的日志文件;根据通信日志文件构建进程通信模式矩阵;对用户申请到的计算资源测试通信代价,建立计算单元通信距离矩阵;定义流体机械并行仿真程序的通信开销模型;使用混合并行遗传算法求解最优的进程映射策略;根据混合并行遗传算法中得到的最优进程映射策略,静态绑定MPI进程到指定计算节点,重新运行流体机械并行仿真程序。

【技术实现步骤摘要】
基于遗传算法的流体机械并行仿真程序进程映射方法
本专利技术属于计算流体力学与计算机交叉领域,特别涉及基于遗传算法的流体机械并行仿真程序进程映射方法。
技术介绍
计算流体力学(CFD,ComputationalFluidDynamics)是一门采用数值计算方法直接求解流动主控方程来解释各种流动现象的学科,是典型的高性能数值计算应用领域。随着CFD技术的不断进步以及超级计算机计节点规模的不断扩大,需要模拟的流体机械应用领域的物理过程和几何模型越来越复杂,涉及的网格规模也更庞大,已有流体机械并行仿真程序使用十万核进行模拟计算。在流体机械并行仿真程序中,计算区域被划分为很多网格,这些计算网格被分配到位于不同的计算核心上的进程进行计算,而位于不同计算核心之间的进程通过消息传递接口MPI(MessagePassingInterface)进行通信。为了满足高性能互连网络大规模,低延迟,高吞吐率的要求,超级计算机多采用胖树(Fattree)网络拓扑结构,在这种网络拓扑结构中,计算节点位于树的叶子节点上,路由节点位于树的中间节点上,负责链接不同层次的节点,进行节点之间消息的传输和发送。这种多层次的网络本文档来自技高网...

【技术保护点】
1.基于遗传算法的流体机械并行仿真程序进程映射方法,其特征在于,包括以下步骤:步骤1,在流体机械并行仿真程序中,不同进程之间使用消息传递接口MPI进行通信;收集流体机械并行仿真程序各个MPI进程间的通信亲和度信息,并记录到日志文件中;步骤2,从步骤1得到的日志文件中整理各个MPI进程间的通信亲和度,建立一个进程通信模式矩阵G∈Rn×n,n表示流体机械并行仿真程序中MPI进程个数,其中的元素gi,gj,i∈n,j∈n表示进程i和进程j的通信亲和度;步骤3,通过Pingpong测试对用户申请到的计算单元间的通信带宽和通信延迟数据进行收集,对收集到的数据进行正规化整合,得到不同计算单元间的通信距离;...

【技术特征摘要】
1.基于遗传算法的流体机械并行仿真程序进程映射方法,其特征在于,包括以下步骤:步骤1,在流体机械并行仿真程序中,不同进程之间使用消息传递接口MPI进行通信;收集流体机械并行仿真程序各个MPI进程间的通信亲和度信息,并记录到日志文件中;步骤2,从步骤1得到的日志文件中整理各个MPI进程间的通信亲和度,建立一个进程通信模式矩阵G∈Rn×n,n表示流体机械并行仿真程序中MPI进程个数,其中的元素gi,gj,i∈n,j∈n表示进程i和进程j的通信亲和度;步骤3,通过Pingpong测试对用户申请到的计算单元间的通信带宽和通信延迟数据进行收集,对收集到的数据进行正规化整合,得到不同计算单元间的通信距离;Pingpong是测试任意两个计算单元之间进行发送Ping并接收消息Pong来回所需时间的程序;步骤4,定义流体机械并行仿真程序的通信开销模型Z;如公式1所示,G为步骤2提到的进程通信模式矩阵,H为步骤3提到的计算单元通信距离矩阵,π为MPI进程和计算单元间的一对一映射,g(i,j)为进程i和进程j的通信亲和度,h(π(i),π(j))表示进程i和进程j所在计算单元之间的通信距离,通过计算得到流体机械并行仿真程序在进程映射π下的通信总开销Z;步骤5,将步骤2得到的进程通信模式矩阵G和步骤3得到的计算单元通信距离矩阵H整理到一个文件中,使用混合并行遗传算法根据该文件中的数据求解最优的进程映射策略;将流体机械并行仿真程序的进程映射方案定义为个体,利用迭代的方式对种群中的个体进行选择、交叉、变异、模拟退火操作,生成使得通信开销Z最小的进程映射方案;步骤6,根据步骤5中得到的进程映射策略,静态绑定MPI进程到指定计算节点,重新运行流体机械并行仿真程序。2.根据权利要求1所述的基于遗传算法的流体机械并行仿真程序进程映射方法,其特征在于,步骤3中,建立一个计算单元通信距离矩阵H∈Rn×n,n表示计算单元的个数,与流体机械并行仿真程序中的MPI进程个数相同,其中的元素hp,hq,p∈n,q∈n为计算单元p和计算单元q的通信距离。3.根据权利要求1所述的基于遗传算法的流体机械并行仿真程序进程映射方法,其特征在于,步骤1中,对MPI进程间传输消息的大小和通信的频次进行正规化整合,得到MPI进程间通信亲和度;通过在流体机械并行仿真程序编译时链接进程通信插桩库,将程序中MPI函数的调用过程引导到进程通信插桩库中,从而利用进程通信插桩库中的相应函数捕获程序运行过程中MPI进程的通信亲和度,并记录到日志文件中。4.根据权利要求1所述的基于遗传算法的流体机械并行仿真程序进程映射方法,其特征在于,步骤5具体包括以下步骤:1)编码;对混合并行遗传算法中的个体采用实数编码,定义一个长度为n的实数编码序列TP,n表示进程数目和计算单元的数目;序列TP中,进程号所在的位置表示该进程所对应的计算单元;TP(k)=pi表示将流体机械并行仿真程序中的进程pi(i∈n)映射到计算单元k上,其中k为计算单元的编号,pi表示进程编号,k∈[0,n-1],pi∈[0,n-1];在混合并行遗传算法中,一个个体表示一种进程编号序列,对应一种进程映射方案;实数编码表示流体机械模拟程序中进程号和计算单元的映射关系;2)建立适应度函数;选择步骤4提到的公式1作为适应度函数;适应度函数越小的个体表示其对应的进程映射...

【专利技术属性】
技术研发人员:张兴军安伟华魏恒义赵俊芳张强龙董小社李靖波伍卫国邹年俊何峰
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

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

1