模拟方法、模拟装置、电子设备和计算机可读存储介质制造方法及图纸

技术编号:38330366 阅读:17 留言:0更新日期:2023-07-29 09:13
一种模拟方法、模拟装置、电子设备和计算机可读存储介质。该模拟方法包括:确定并行的多个进程的模拟操作过程,其中,模拟操作过程包括进程间通信过程;根据模拟操作过程,汇总多个进程在模拟操作过程的每个时间片内的进程间通信消息,其中,在模拟操作过程中每经过预定时长为一个时间片;根据传输带宽,确定进程间通信消息在每个时间片的传输进度,以根据传输进度得到进程间通信过程所需的时间片数。该模拟方法降低了对模拟环境的要求并简化了模拟过程。模拟过程。模拟过程。

【技术实现步骤摘要】
模拟方法、模拟装置、电子设备和计算机可读存储介质


[0001]本公开的实施例涉及一种模拟方法、模拟装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着处理器、高性能网络的发展,运行在各种大规模并行处理(Massively Parallel Processing,缩写MPP)环境下的高性能计算(High Performance Computing,缩写HPC)应用的规模也迅速增长。这类应用通常涉及超大规模进程间通过高速互连网络通信,协作完成一个大型课题的求解。

技术实现思路

[0003]本公开至少一个实施例提供一种模拟方法,包括:确定并行的多个进程的模拟操作过程,其中,所述模拟操作过程包括进程间通信过程;根据所述模拟操作过程,汇总所述多个进程在所述模拟操作过程的每个时间片内的进程间通信消息,其中,在所述模拟操作过程中每经过预定时长为一个所述时间片;根据传输带宽,确定所述进程间通信消息在所述每个时间片的传输进度,以根据所述传输进度得到所述进程间通信过程所需的时间片数。
[0004]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述模拟操作过程包括第一时间片,在所述第一时间片内具有多个进程间通信消息;根据传输带宽,确定所述进程间通信消息在所述每个时间片的传输进度,包括:针对所述第一时间片,将所述传输带宽分配给所述多个进程间通信消息,以得到每个所述进程间通信消息在所述第一时间片内对应的带宽;基于每个所述进程间通信消息在所述第一时间片内对应的带宽,确定每个所述进程间通信消息在所述第一时间片内的传输数据量;根据每个所述进程间通信消息在所述第一时间片内的传输数据量,确定每个所述进程间通信消息在所述第一时间片的传输进度。
[0005]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述多个进程间通信消息包括第一进程间通信消息;基于每个所述进程间通信消息在所述第一时间片内对应的带宽,确定每个所述进程间通信消息在所述第一时间片内的传输数据量,包括:计算所述第一进程间通信消息在所述第一时间片内对应的带宽与所述第一时间片的乘积,将所述乘积作为所述第一进程间通信消息在所述第一时间片内的传输数据量。根据每个所述进程间通信消息在所述第一时间片内的传输数据量,确定每个所述进程间通信消息在所述第一时间片的传输进度,包括:根据所述第一进程间通信消息在所述第一时间片内的传输数据量以及所述第一进程间通信消息在所述第一时间片之前的传输数据量,确定所述第一进程间通信消息的总传输数据量;根据第一进程间通信消息的总传输数据量以及所述第一进程间通信消息的消息数据量,确定所述第一进程间通信消息在所述第一时间片内的传输进度。
[0006]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,将所述传输带宽
分配给所述多个进程间通信消息,包括:将所述传输带宽均分给所述多个进程间通信消息。
[0007]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述模拟操作过程还包括计算过程;所述模拟方法还包括:获取所述计算过程的时长,并将所述计算过程的时长换算为时间片数。基于所述进程间通信过程所需的时间片数和所述计算过程换算的时间片数,确定所述模拟操作过程所需的时间片数。
[0008]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,确定并行的多个进程的模拟操作过程,包括:根据预定测试流程,确定并行的多个进程的模拟操作过程;其中,所述预定测试流程包括:将所述多个进程排列为MP*NP矩阵,其中,MP和NP均为正整数;位于所述MP*NP矩阵的同一行的多个进程进行行方向通信;位于所述MP*NP矩阵的同一列的多个进程进行列方向通信;其中,所述进程间通信过程包括该行方向通信和列方向通信。
[0009]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述预定测试流程还包括:选取所述MP*NP矩阵中的一列作为主列;在执行所述行方向通信和所述列方向通信前,对位于所述主列的多个进程执行第一计算操作,得到计算结果;在执行所述行方向通信和所述列方向通信后,接收所述进程间通信消息的进程利用接收的所述进程间通信消息执行第二计算操作,其中,所述计算过程包括所述第一计算操作和所述第二计算操作;其中,位于所述MP*NP矩阵的同一行的多个进程进行行方向通信,包括:位于所述主列的多个进程向同行的其他进程广播进程间通信消息,其中,所述进程间消息包括所述计算结果。
[0010]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述多个进程分布在多个节点运行;所述多个进程间通信消息包括至少一个跨节点的进程间通信消息;所述传输带宽包括节点间的传输带宽。将所述传输带宽分配给所述多个进程间通信消息,以得到每个所述进程间通信消息在所述第一时间片内对应的带宽,包括:将所述节点间的传输带宽分配给所述至少一个跨节点的进程间通信消息,以得到每个所述跨节点的进程间通信消息在所述第一时间片内对应的带宽。
[0011]例如,在本公开上述实施例的至少一个示例提供的模拟方法中,所述多个进程间通信消息包括至少一个节点内的进程间通信消息;所述传输带宽包括节点内的传输带宽。将所述传输带宽分配给所述多个进程间通信消息,以得到每个所述进程间通信消息在所述第一时间片内对应的带宽,包括:将所述节点内的传输带宽分配给所述至少一个节点内的进程间通信消息,以得到每个所述节点内的进程间通信消息在所述第一时间片内对应的带宽。
[0012]本公开至少一个实施例提供一种模拟装置,包括确定单元、汇总单元和进度单元,确定单元配置为确定并行的多个进程的模拟操作过程,其中,所述模拟操作过程包括进程间通信过程;汇总单元配置为根据所述模拟操作过程,汇总所述多个进程在所述模拟操作过程的每个时间片内的进程间通信消息,其中,在所述模拟操作过程中每经过预定时长为一个所述时间片;进度单元配置为根据传输带宽,确定所述进程间通信消息在所述每个时间片的传输进度,以根据所述传输进度得到所述进程间通信过程所需的时间片数。
[0013]本公开至少一个实施例提供一种电子设备,包括处理器;存储器,存储有一个或多个计算机程序模块;其中,所述一个或多个计算机程序模块被配置为由所述处理器执行,用于实现本公开任一实施例提供的模拟方法。
[0014]本公开至少一个实施例提供一种计算机可读存储介质,存储有非暂时性计算机可
读指令,当所述非暂时性计算机可读指令由计算机执行时可以实现本公开任一实施例提供的模拟方法。
附图说明
[0015]为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
[0016]图1示出了一种高性能计算应用的处理流程示意图;
[0017]图2示出了本公开至少一实施例提供的一种模拟方法的流程图;
[0018]图3示出了本公开至少一实施例提供的一种预定测试流程的示意图;
[0019]图4示出了本公开至少一实施例提供的基于预本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模拟方法,包括:确定并行的多个进程的模拟操作过程,其中,所述模拟操作过程包括进程间通信过程;根据所述模拟操作过程,汇总所述多个进程在所述模拟操作过程的每个时间片内的进程间通信消息,其中,在所述模拟操作过程中每经过预定时长为一个所述时间片;根据传输带宽,确定所述进程间通信消息在所述每个时间片的传输进度,以根据所述传输进度得到所述进程间通信过程所需的时间片数。2.根据权利要求1所述的模拟方法,其中,所述模拟操作过程包括第一时间片,在所述第一时间片内具有多个进程间通信消息;根据传输带宽,确定所述进程间通信消息在所述每个时间片的传输进度,包括:针对所述第一时间片,将所述传输带宽分配给所述多个进程间通信消息,以得到每个所述进程间通信消息在所述第一时间片内对应的带宽;基于每个所述进程间通信消息在所述第一时间片内对应的带宽,确定每个所述进程间通信消息在所述第一时间片内的传输数据量;根据每个所述进程间通信消息在所述第一时间片内的传输数据量,确定每个所述进程间通信消息在所述第一时间片的传输进度。3.根据权利要求2所述的模拟方法,其中,所述多个进程间通信消息包括第一进程间通信消息;基于每个所述进程间通信消息在所述第一时间片内对应的带宽,确定每个所述进程间通信消息在所述第一时间片内的传输数据量,包括:计算所述第一进程间通信消息在所述第一时间片内对应的带宽与所述第一时间片的乘积,将所述乘积作为所述第一进程间通信消息在所述第一时间片内的传输数据量;根据每个所述进程间通信消息在所述第一时间片内的传输数据量,确定每个所述进程间通信消息在所述第一时间片的传输进度,包括:根据所述第一进程间通信消息在所述第一时间片内的传输数据量以及所述第一进程间通信消息在所述第一时间片之前的传输数据量,确定所述第一进程间通信消息的总传输数据量;根据第一进程间通信消息的总传输数据量以及所述第一进程间通信消息的消息数据量,确定所述第一进程间通信消息在所述第一时间片内的传输进度。4.根据权利要求2所述的模拟方法,其中,将所述传输带宽分配给所述多个进程间通信消息,包括:将所述传输带宽均分给所述多个进程间通信消息。5.根据权利要求1至4任一项所述的模拟方法,其中,所述模拟操作过程还包括计算过程;所述模拟方法还包括:获取所述计算过程的时长,并将所述计算过程的时长换算为时间片数。基于所述进程间通信过程所需的时间片数和所述计算过程换算的时间片数,确定所述模拟操作过程所需的时间片数。6.根据权利要求1至4任一项所述的模拟方法,其中,确定并行的多个进程的模拟操作
过程,包括:根据预定测试流程,确定并行的多个进程的模拟操作过程;其中,所述预定测试流程包括:将所述多个进程排列为MP*NP矩阵,其中,MP和NP均为正整数;位于所述MP*NP矩阵的同一行的多个进程进行行方向通信;位于所述MP*NP矩阵的同一列的多个进程进行列方向通信;其中,所述进程间通信过程包括该行方向通信和列方向通信。7.根据权利要求6所述的模拟方法,其中,所述预定测试流程还包括:选取所述MP*NP矩阵中的一列作为主列;在执行所述行方向通信和所述列方向通信前,对位于所述主列的多个进程执行第一计算操作,得到计算结果;在执行所述行方向通信和所述列方向通信后,接收所述进程间通信消息的进程利用接收的所述进程间通信消息执行第二计算操作,其中,所述计算过程包括所述第一计算操作和所述第二计算操作;其中,位于所述MP*NP矩阵的同一行的多个进程进行行方向通信,包括:位于所述主列的多个...

【专利技术属性】
技术研发人员:潘治
申请(专利权)人:海光信息技术股份有限公司
类型:发明
国别省市:

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

1