一种基于脚本的星载分布式软件任务动态调配方法组成比例

技术编号:36127089 阅读:17 留言:0更新日期:2022-12-28 14:34
本发明专利技术公开了一种基于脚本的星载分布式软件任务动态调配方法,其特征在于,包括以下步骤:S1.设计基于脚本多任务计算架构,实现多任务异构并行计算;S2.对基于脚本的软件任务进行多个计算节点间迁移,衍生出基于脚本的细粒度备份策略;S3.将脚本动态绑定C语言计算库。本发明专利技术中,通过实现脚本及脚本虚拟机技术,在各个阶段节点安装固定脚本虚拟机及算法库的基础下,基于脚本实现跨节点异构计算;通过脚本序列化技术,实现多虚拟机之间的脚本任务的传输,实现异构节点脚本动态部署;通过对多任务和多节点基于任务有向无环图进行建模,基于遗传算法,以最短完成时间为目标函数,计算获得多节点任务计算时间最优化策略。获得多节点任务计算时间最优化策略。获得多节点任务计算时间最优化策略。

【技术实现步骤摘要】
一种基于脚本的星载分布式软件任务动态调配方法


[0001]本专利技术涉及星载航天系统
,尤其涉及一种基于脚本的星载分布式软件任务动态调配方法。

技术介绍

[0002]随着星载电子技术的发展,单个单机或单个单板采用单个计算核心的传统硬件搭配方式已经无法满足日益增长的星载计算需求,高速总线互连的异构计算架构星载计算机正在逐步迈上历史舞台,星载计算能力和数据传输速率都得到了较大的提升,传统的每个计算核心运行单个软件配置项的星载软件设计模式已经无法满足当前的硬件发展需求,分布式化、异构化、智能化的软件框架将是未来星载软件架构发展的趋势。为了实现新一代的软件架构设计,我们面临如下问题:1、解决异构计算问题;2、如何在多个结算节点之间动态的部署任务和传输数据;3、如何能够通过一套算法,在考虑任务依赖关系、节点计算能力、节点间传输能力的前提下,最快的完成计算任务,达到最大的计算性能。

技术实现思路

[0003]本专利技术的目的在于:为了解决上述问题,而提出的一种基于脚本的星载分布式软件任务动态调配方法。
[0004]为了实现上述目的,本专利技术采用了如下技术方案:
[0005]一种基于脚本的星载分布式软件任务动态调配方法,包括以下步骤:
[0006]S1.设计基于脚本多任务计算架构,实现多任务异构并行计算;
[0007]S2.对基于脚本的软件任务进行多个计算节点间迁移,衍生出基于脚本的细粒度备份策略;
[0008]S3.将脚本动态绑定C语言计算库,基于C语言实现虚拟机的运行,实现脚本程序的稳定运行;
[0009]S4.对多节点计算任务进行数学建模,基于遗传算法,得到优化后的资源配置方案,完成计算任务,达到最大的优化计算性能。
[0010]优选地,所述步骤S1中实现多任务异构并行计算的方法具体包括以下步骤:
[0011]S11.将脚本语言在虚拟机上进行运行,脚本运行采用多个虚拟机版本一致,使脚本可以在多个虚拟机无缝迁移;
[0012]S12.步骤S11中的虚拟机是基于标准C代码进行编写,根据不同的异构硬件平台编译不同版本的虚拟机进行部署,脚本程序编译之后的中间层程序能在不同的异构平台上动态迁移,即可实现多任务异构并行计算。
[0013]优选地,实现所述步骤S2的方法具体包括以下步骤:
[0014]S21.脚本程序定期把虚拟机运行状态信息发送给主计算节点,主计算节点存储计算数据并监控脚本程序运行状态;
[0015]S22.当计算节点出错时,主计算节点无法获取计算节点信息,并开始把备份的状
态信息恢复到备份计算节点,由于基于虚拟机状态进行恢复,能够恢复脚本的运行堆栈,实现恢复状态达到指令级的一致。
[0016]优选地,所述步骤S3中实现脚本程序稳定运行的方法具体包括以下步骤:
[0017]S31.通过解析脚本程序,获取词语形成语义表达式树,根据语义表达式树进行编译,生成中间层语言,进而实现脚本程序能够在虚拟机上稳定运行。
[0018]优选地,所述步骤S4中实现优化计算性能的方法具体包括以下步骤:
[0019]S41.考虑多节点计算能力、任务运行时间、任务运行数据、节点传输速率、任务依赖关系的因素,建立多任务的有向无环图,明确任务计算的约束和多任务并行计算时间最短的目标函数;
[0020]S42.基于多任务计算数学模型,以任务安排的对应关系为基因,以目标函数倒数为适应率,基于遗传算法,每一代都进行排序,选出皇帝节点和公爵节点,皇帝节点能够被直接保留到下一代,公爵节点和皇帝节点具备交配权利,建立交配,变异过程后,把适应率高的个体替换上一代中适应率低的个体,直到全部替换完成,经过20代后,收敛到优化解。
[0021]综上所述,由于采用了上述技术方案,本专利技术的有益效果是:
[0022]1、本申请中,通过实现脚本及脚本虚拟机技术,在各个阶段节点安装固定脚本虚拟机及算法库的基础下,基于脚本实现跨节点异构计算。
[0023]2、本申请中,通过脚本序列化技术,实现多虚拟机之间的脚本任务的传输,实现异构节点脚本动态部署。
[0024]3、本申请中,通过对多任务和多节点基于任务有向无环图进行建模,基于遗传算法,以最短完成时间为目标函数,计算获得多节点任务计算时间最优化策略。
附图说明
[0025]图1示出了根据本专利技术实施例提供的基于脚本多节点异构计算架构图;
[0026]图2示出了根据本专利技术实施例提供的任务故障恢复逻辑示意图;
[0027]图3示出了根据本专利技术实施例提供的脚本编译过程示例图;
[0028]图4示出了根据本专利技术实施例提供的虚拟机执行过程示例图;
[0029]图5示出了根据本专利技术实施例提供的任务DSG示例图;
[0030]图6示出了根据本专利技术实施例提供的目标函数优化结果的示意图;
[0031]图7示出了根据本专利技术实施例提供的优化后任务配置示意图。
具体实施方式
[0032]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。
[0033]请参阅图1

7,本专利技术提供一种技术方案:
[0034]一种基于脚本的星载分布式软件任务动态调配方法,包括以下步骤:
[0035]S1.设计基于脚本多任务计算架构,实现多任务异构并行计算;
[0036]S2.对基于脚本的软件任务进行多个计算节点间迁移,衍生出基于脚本的细粒度
备份策略;
[0037]S3.将脚本动态绑定C语言计算库,基于C语言实现虚拟机的运行,实现脚本程序的稳定运行;
[0038]S4.对多节点计算任务进行数学建模,基于遗传算法,得到优化后的资源配置方案,完成计算任务,达到最大的优化计算性能;
[0039]具体的,如图1所示,S11.将脚本语言在虚拟机上进行运行,脚本运行采用多个虚拟机版本一致,使脚本可以在多个虚拟机无缝迁移;
[0040]S12.步骤S11中的虚拟机是基于标准C代码进行编写,根据不同的异构硬件平台编译不同版本的虚拟机进行部署,脚本程序编译之后的中间层程序能在不同的异构平台上动态迁移,即可实现多任务异构并行计算;
[0041]基于脚本的多任务计算架构包括主计算节点和从计算节点两部分,主计算节点负责调度算法运行、脚本程序存储、从计算节点运行状态监控、备份策略实施;从计算节点包括脚本虚拟机、C语言计算库;
[0042]脚本程序在地面进行编译,存储在硬件中的数据为中间层程序,基于第3点编译策略,中间层语言不与虚拟机进行绑定,主计算节点完成分配算法计算之后,根据各个计算任务的评估,传输编译后的脚本程序到从计算节点,从计算节点接收到脚本程序后,等待从计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于脚本的星载分布式软件任务动态调配方法,其特征在于,包括以下步骤:S1.设计基于脚本多任务计算架构,实现多任务异构并行计算;S2.对基于脚本的软件任务进行多个计算节点间迁移,衍生出基于脚本的细粒度备份策略;S3.将脚本动态绑定C语言计算库,基于C语言实现虚拟机的运行,实现脚本程序的稳定运行;S4.对多节点计算任务进行数学建模,基于遗传算法,得到优化后的资源配置方案,完成计算任务,达到最大的优化计算性能。2.根据权利要求1所述的一种基于脚本的星载分布式软件任务动态调配方法,其特征在于,所述步骤S1中实现多任务异构并行计算的方法具体包括以下步骤:S11.将脚本语言在虚拟机上进行运行,脚本运行采用多个虚拟机版本一致,使脚本可以在多个虚拟机无缝迁移;S12.步骤S11中的虚拟机是基于标准C代码进行编写,根据不同的异构硬件平台编译不同版本的虚拟机进行部署,脚本程序编译之后的中间层程序能在不同的异构平台上动态迁移,即可实现多任务异构并行计算。3.根据权利要求1所述的一种基于脚本的星载分布式软件任务动态调配方法,其特征在于,实现所述步骤S2的方法具体包括以下步骤:S21.脚本程序定期把虚拟机运行状态信息发送给主计算节点,主计算节点存储计算数据并监控脚本程序运行状态;S22...

【专利技术属性】
技术研发人员:邓兵徐楠王超邢川郭兵勇
申请(专利权)人:中国空间技术研究院
类型:发明
国别省市:

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

1