本申请涉及计算机,特别是基于遗传算法的进程映射优化方法、装置及存储介质。
背景技术:
1、高性能计算(high performance computing,简称hpc),是指使用超越一般标准计算机的资源来完成大型计算任务,是融合了计算机网络、计算机体系结构以及分布式计算等多种学科背景的应用学科,hpc被广泛的应用于分子模拟、气象预测、人工智能模型训练等领域。
2、在相关技术中,hpc集群展现出了多层、多节点、众核化的特点,同时,随着云计算、边缘计算、联邦学习等应用体系的成熟,位于远端节点上的运算资源也可以被同一个多进程程序使用,因此会产生更高的子进程间通信开销;对于hpc集群而言,当有大规模并行程序的运算需求时,对应的任务需要创建成百上千的并行子进程,由于任务涉及的进程数量和计算资源数量庞大,所以进程映射问题的解空间也非常庞大,进而会造成hpc集群的进程映射方案存在进程分配不均及核承载的进程数不均、不同的核承载的进程数波动大,高性能任务的运行效率低且通信开销大的问题。
3、目前针对相关技术中hpc集群的进程映射方案存在高性能任务的运行效率低且通信开销大的问题,尚未提出有效的解决方案。
技术实现思路
1、本申请实施例提供了一种基于遗传算法的进程映射优化方法、装置及存储介质,以至少解决相关技术中hpc集群的进程映射方案存在高性能任务的运行效率低且通信开销大的问题。
2、第一方面,本申请实施例提供了一种基于遗传算法的进程映射优化方法,包括:获取目标计算程序的多个子进程所对应的通信数据,其中,所述通信数据包括进程通信量和进程通信时延;对所述进程通信量和进程通信时延,进行实数编码,生成第一进程映射编码数组,其中,所述第一进程映射编码数组包括多个与所述子进程对应的第一编码,所述第一编码用于表征执行所述子进程的第一进程核与所述子进程的对应关系;基于预设的遗传算法,对所述第一编码进行遗传进化操作,并对完成所述遗传进化操作的所述第一编码进行冗余调度处理,生成具有多个第二编码的第二进程映射编码数组,其中,所述遗传进化操作至少包括以下其中一种:锦标赛选择、均匀交叉、变异,所述第二编码用于表征执行所述子进程的第二进程核与所述子进程的对应关系;确定所述第二编码对应的适应度,并根据所述适应度,对所述第二进程映射编码数组中的所述第二编码进行遗传进化操作更新,生成目标进程映射编码数组,得到进程映射优化结果,其中,所述适应度是根据所述第二编码所对应的所述进程通信量和所述进程通信时延所确定的,所述适应度用于表征对应的进程核执行所述子进程的通信开销。
3、第二方面,本申请实施例提供一种基于遗传算法的进程映射优化装置,包括:
4、获取模块,用于获取目标计算程序的多个子进程所对应的通信数据,其中,所述通信数据包括进程通信量和进程通信时延;
5、编码模块,用于对所述进程通信量和进程通信时延,进行实数编码,生成第一进程映射编码数组,其中,所述第一进程映射编码数组包括多个与所述子进程对应的第一编码,所述第一编码用于表征执行所述子进程的第一进程核与所述子进程的对应关系;
6、处理模块,用于基于预设的遗传算法,对所述第一编码进行遗传进化操作,并对完成所述遗传进化操作的所述第一编码进行冗余调度处理,生成具有多个第二编码的第二进程映射编码数组,其中,所述遗传进化操作至少包括以下其中一种:锦标赛选择、均匀交叉、变异,所述第二编码用于表征执行所述子进程的第二进程核与所述子进程的对应关系;
7、生成模块,用于确定所述第二编码对应的适应度,并根据所述适应度,对所述第二进程映射编码数组中的所述第二编码进行遗传进化操作更新,生成目标进程映射编码数组,得到进程映射优化结果,其中,所述适应度是根据所述第二编码所对应的所述进程通信量和所述进程通信时延所确定的,所述适应度用于表征对应的进程核执行所述子进程的通信开销。
8、第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的基于遗传算法的进程映射优化方法的步骤。
9、第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于遗传算法的进程映射优化方法的步骤。
10、相比于相关技术,本申请实施例提供的基于遗传算法的进程映射优化方法、装置及存储介质,通过获取目标计算程序的多个子进程所对应的通信数据,其中,所述通信数据包括进程通信量和进程通信时延;对所述进程通信量和进程通信时延,进行实数编码,生成第一进程映射编码数组,其中,所述第一进程映射编码数组包括多个与所述子进程对应的第一编码,所述第一编码用于表征执行所述子进程的第一进程核与所述子进程的对应关系;基于预设的遗传算法,对所述第一编码进行遗传进化操作,并对完成所述遗传进化操作的所述第一编码进行冗余调度处理,生成具有多个第二编码的第二进程映射编码数组,其中,所述遗传进化操作至少包括以下其中一种:锦标赛选择、均匀交叉、变异,所述第二编码用于表征执行所述子进程的第二进程核与所述子进程的对应关系;确定所述第二编码对应的适应度,并根据所述适应度,对所述第二进程映射编码数组中的所述第二编码进行遗传进化操作更新,生成目标进程映射编码数组,得到进程映射优化结果,其中,所述适应度是根据所述第二编码所对应的所述进程通信量和所述进程通信时延所确定的,所述适应度用于表征对应的进程核执行所述子进程的通信开销;通过将通信量较大的进程组映射到通信代价较小的核组上,并平均每个核承载的进程数,降低了任务中的通信开销,提高任务的运行速度,提升高性能任务的运行效率,解决了相关技术中hpc集群的进程映射方案存在高性能任务的运行效率低且通信开销大的问题。
11、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
1.一种基于遗传算法的进程映射优化方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述第一编码包括子进程编码和进程核编码,对完成所述遗传进化操作的所述第一编码进行冗余调度处理,生成具有多个第二编码的第二进程映射编码数组,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第二进程通信对的对数和预设的进程调度规则,对所述第一子进程集进行更新,生成第二子进程集,包括:
4.根据权利要求3所述的方法,其特征在于,根据所述第二子进程集,生成所述第二进程映射编码组,包括:
5.根据权利要求1所述的方法,其特征在于,在根据所述适应度,对所述第二进程映射编码数组中的所述第二编码进行遗传进化操作更新过程中,所述方法还包括:
6.根据权利要求5所述的方法,其特征在于,根据判断结果,按预设的变异激增规则,对变异操作所对应的变异率进行调整,包括:
7.根据权利要求1所述的方法,其特征在于,按如下公式计算所述适应度f:
8.一种基于遗传算法的进程映射优化装置,其特征在于,包括:
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7中任一项所述的基于遗传算法的进程映射优化方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的基于遗传算法的进程映射优化方法的步骤。