System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于数字孪生仿真系统的并行调度方法及系统技术方案_技高网

一种基于数字孪生仿真系统的并行调度方法及系统技术方案

技术编号:41067633 阅读:2 留言:0更新日期:2024-04-24 11:22
本发明专利技术公开了一种基于数字孪生仿真系统的并行调度方法,包括:基于仿真组件间的信息交互关系和时序关系构建有向图;对有向图进行拓扑排序得到拓扑排序队列,筛选入度为0的节点组成待执行队列;对待执行队列中的节点按照处理优先级由高到低进行二次排序;将二次排序后的待执行队列中的节点分配到并行线程中执行任务;节点执行完任务后从拓扑排序队列删除,并返回重新计算入度为0的节点,直到拓扑排序队列为空集。还公开了一种并行调度方法。本发明专利技术通过对仿真系统的有向图的拓扑排序和入度为0节点的二次排序,考虑了每个流程节点的优先程度和并行线程的资源对每个节点进行分配调度,充分利用计算资源提高仿真系统的任务执行速度和效率。

【技术实现步骤摘要】

本专利技术涉及任务调度,尤其是涉及一种基于数字孪生仿真系统的并行调度方法及系统


技术介绍

1、石油、化工流程工艺的仿真过程都可以看作为有向图,每个设备可以看作为有向图的节点,节点包括需要运行计算的公式。传统的串行计算方法是对有向图进行拓扑排序后,按照拓扑排序队列的顺序依次执行相应节点对应设备的任务,从而完成整个流程工艺。这种穿行计算方法可以解决简单流程工艺的仿真过程,但是随着社会的发展以及工艺规模的扩大所带来的数据复杂度、多样性的提升,传统的串行处理器运算能力较弱会导致计算效率较低,这已经无法满足当今社会对大规模复杂应用快速求解从而体现出实时性的需求。并且随着计算机性能的提高,现有的计算机大多采用多核cpu,然而传统的串行计算方法仍然只是单个线程的顺序执行,即使是多核cpu依然只能进行单核流程计算,这就存在多余的空闲线程,使得计算资源没有充分利用。

2、在中国专利文献上公开的“任务调度方法、装置、计算机设备及存储介质”,其公开号为cn116594742a,公开日期为2023-08-15,包括:获取多个待执行任务,其中,每个待执行任务均包含至少一个任务变量;分别获取多个待执行任务的变量关系信息,其中,变量关系信息为待执行任务中任务变量之间的关系信息;根据获取到的变量关系信息生成变量拓扑图,变量拓扑图包含多个待执行任务中的全部任务变量;通过拓扑排序算法确定变量拓扑图中各任务变量间的拓扑排序信息;基于拓扑排序信息,确定多个待执行任务的任务执行顺序,并根据任务执行顺序对多个待执行任务进行调度。该技术虽然是对多个待执行任务的自动编排,通过拓扑排序确定了多个待执行任务的执行顺序,但是也依然只是单一线程的按照任务顺序依次执行的串行方式,对于现有的多核cpu的计算机而言,仍就只能进行单核流程执行,存在多余线程的空闲,不能充分利用计算资源使得任务执行效率低下。


技术实现思路

1、本专利技术是为了克服现有技术中对于进行拓扑排序后的仿真过程依旧采用串行的执行方式时,不能充分利用现有计算机多核cpu的多线程处理优势,无法充分利用计算资源使得任务执行效率低下的问题,提供了一种基于数字孪生仿真系统的并行调度方法及系统,通过对仿真系统的有向图的拓扑排序和入度为0节点的二次排序,考虑了每个流程节点的优先程度和并行线程的资源对每个节点进行分配调度,充分利用计算资源提高仿真系统的任务执行速度和效率。

2、为了实现上述目的,本专利技术采用以下技术方案:

3、一种基于数字孪生仿真系统的并行调度方法,包括:

4、步骤一、基于仿真组件间的信息交互关系和时序关系构建有向图;

5、步骤二、对有向图进行拓扑排序得到拓扑排序队列,筛选入度为0的节点组成待执行队列;

6、步骤三、对待执行队列中的节点按照处理优先级由高到低进行二次排序;

7、步骤四、将二次排序后的待执行队列中的节点分配到并行线程中执行任务;

8、步骤五、节点执行完任务后从拓扑排序队列删除,并返回步骤二重新计算入度为0的节点,直到拓扑排序队列为空集。

9、本专利技术中石油化工流程工艺的仿真过程是对每个流程的设备的工作过程进行仿真,在一整套复杂的流程工艺中,每一个流程步骤可以看做一个仿真组件,其包含该流程所使用的设备的数字孪生体也即设备的模型以及对应的仿真任务;而整套流程工艺是每一个流程步骤根据先后关系和逻辑关系组合起来的,因此可以抽象成有向图来表示整个仿真流程,而在对有向图进行拓扑排序后,首先是执行入度为0的节点对应任务,但是有多个入度为0的节点时则需要再考虑这些节点的处理优先级,选择靠前的节点分配到并行线程中执行任务,对节点执行顺序安排不合理从而导致某些流程无法实时更新的情况进行改进,充分利用计算资源提高执行效率缩短执行时间。

10、作为优选,步骤一中基于仿真组件间的信息交互关系确定各个仿真组件之间的关联关系;根据仿真组件之间的关联关系和时序关系,构建以仿真组件为节点、仿真组件之间的连接为有向边的有向图,仿真组件时序的先后确定有向边的方向。

11、本专利技术中每一个仿真组件对应一个仿真步骤,以仿真组件为节点则说明每个有向图的节点都代表了一个仿真步骤以及其对应的设备和任务,存在相应的运行时间;两个仿真组件之间的有向边则表明了两个仿真步骤执行任务时的先后关系;可以通过有向边按同一方向连通的两个节点存在先后关系不能并行处理,不能通过有向边按同一方向连通的两个节点可以并行处理。

12、作为优选,所述对有向图进行拓扑排序得到拓扑排序队列的过程包括:

13、计算有向图中每个节点的入度,选取入度为0的节点加入拓扑排序队列;

14、更新剩余节点的入度,并筛选出入度为0的节点继续加入拓扑排序队列;

15、重复上述过程直到所有节点都加入拓扑排序队列或不存在入度为0的节点。

16、本专利技术中对有向图的拓扑排序是按照有向无环图dag中节点的依赖关系进行排序的过程,在同一批次的入度计算过程中会存在多个入度为0的节点,因此在没有进行二次排序前,即使同一个有向图其拓扑排序队列也不是唯一的,多个入度为0的节点可以随机排列到队列中;节点的入度是指指向该节点的有向边的数量,节点的出度是指由该节点指出的有向边的数量。

17、作为优选,所述返回步骤二重新计算入度为0的节点的过程包括:

18、对于从拓扑排序队列中删除的节点,同步删除有向图中的该节点和与该节点连接的有向边;对于更新后的有向图重新计算剩余节点的入度,并筛选出入度为0的节点组成待执行队列。

19、本专利技术中有向图代表的是一个完整的仿真过程,每个节点对应一个仿真步骤;当完成一个仿真步骤后,剩余的仿真步骤对应的节点组成了一个新的有向图,对这个更新后的有向图重新计算入度为0的节点得到新的待执行队列,完成前一仿真步骤后空闲的线程从待执行队列中选择一个节点进行执行。

20、作为优选,对待执行队列中的节点按照处理优先级由高到低进行二次排序的过程包括:采用时间序列分析算法预测每个节点的运行时间;

21、遍历待执行队列中的节点,计算以所述节点为起始到有向图中出度为0的节点的最长运行时间,作为该节点的优先级数值;

22、将待执行队列中的节点按照优先级数值由大到小进行排序。

23、本专利技术中由于数字孪生仿真系统中数据量众多而计算资源有限不足以同时对待执行队列中所有入度为0的节点并行执行,因此需要对待执行队列中的节点按照处理优先级进行排序,先处理优先级较高的节点任务;而对于优先级的高低判断则按照待执行队列中的节点到有向图中所有出度为0的节点里的最长运行时间的长度来决定,认为节点的最长运行时间的长度最大的应该最优先处理。

24、作为优选,所述采用时间序列分析算法预测每个节点的运行时间的过程包括:

25、获取每个节点所对应的仿真组件的历史运行时间数据并对数据进行预处理;

26、选择时间序列模型,并利用预处理后的历史运行时本文档来自技高网...

【技术保护点】

1.一种基于数字孪生仿真系统的并行调度方法,其特征在于,包括:

2.根据权利要求1所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述步骤一中基于仿真组件间的信息交互关系确定各个仿真组件之间的关联关系;

3.根据权利要求1或2所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述对有向图进行拓扑排序得到拓扑排序队列的过程包括:

4.根据权利要求3所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述返回步骤二重新计算入度为0的节点的过程包括:

5.根据权利要求1或4所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述对待执行队列中的节点按照处理优先级由高到低进行二次排序的过程包括:

6.根据权利要求5所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述采用时间序列分析算法预测每个节点的运行时间的过程包括:

7.根据权利要求5所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,节点执行完任务后从拓扑排序队列删除,对于更新后的有向图重新计算剩余节点的入度,并筛选出入度为0的节点组成待执行队列;

8.一种基于数字孪生仿真系统的并行调度系统,适用于如权利要求1-7任一项所述的并行调度方法,其特征在于,包括:

...

【技术特征摘要】

1.一种基于数字孪生仿真系统的并行调度方法,其特征在于,包括:

2.根据权利要求1所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述步骤一中基于仿真组件间的信息交互关系确定各个仿真组件之间的关联关系;

3.根据权利要求1或2所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述对有向图进行拓扑排序得到拓扑排序队列的过程包括:

4.根据权利要求3所述的一种基于数字孪生仿真系统的并行调度方法,其特征在于,所述返回步骤二重新计算入度为0的节点的过程包括:

5.根据权利要求1或4所述的一种基于数字孪生仿真系统的...

【专利技术属性】
技术研发人员:崔伟灿冯志伟王吉王涛
申请(专利权)人:中控技术股份有限公司
类型:发明
国别省市:

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

1