一种支持多核处理器的星载确定性分区调度方法技术

技术编号:35851413 阅读:17 留言:0更新日期:2022-12-07 10:35
本发明专利技术公开了一种支持多核处理器的星载确定性分区调度方法,通过分区划分、两级调度,将星载计算机多个复杂无序的任务整理成确定的执行序列,按照时间窗口规划分区,每个分区的执行时间是确定的,支持用户按优先级配置任务的处理器核,对于时序和实时性要求高的任务,可以绑定到指定的处理器核上运行,对于时序和实时性要求不高的任务,可以由系统分配空闲的处理器核运行,一方面可以确保任务的时序确定性和执行时间的确定性,解决了多核竞争执行多任务导致的调度序列不确定的问题,另一方面,可以降低处理器核的空闲率,提高多核的调度效率。同时具备分区异常状态检测和动态管理功能,提高了系统的可靠性和扩展性。提高了系统的可靠性和扩展性。提高了系统的可靠性和扩展性。

【技术实现步骤摘要】
一种支持多核处理器的星载确定性分区调度方法


[0001]本项专利技术涉及一种支持多核处理器的星载确定性分区调度方法,属于航天计算机


技术介绍

[0002]日趋复杂的星上任务需求促使星载计算机从单核处理器向多核处理器发展。多核处理器给星载计算机系统多任务的确定性和实时性带来了挑战,因此需要对星载计算机任务分配、多核任务调度进行优化以保证整个系统工作的确定性和实时性。
[0003]现有的地面计算机多核调度方法和星载计算机单核调度方法主要存在以下问题,不能直接应用于星载计算机多核处理器调度:
[0004](1)确定性问题。现有的多核调度技术可以获得更好的性能,但是也为星载软件带来了调度和运行状态的不确定性,多个并发任务运行在多个处理器核上,竞争共享资源,全局数据的访问状态和读写操作执行时间不确定等问题,造成了星上事件执行顺序和执行时间的不确定,同时也容易导致软件运行出错。
[0005](2)实时性问题。星载计算机系统是典型的实时系统,如时间校准、星箭分离信号、对接触点信号等,如果因多核调度导致任务运行时序不确定,特定事件无法在确定的时间内完成,将导致整个卫星任务的执行受到较大影响。
[0006](3)未针对多核处理器对星载任务进行合理划分和分配,一方面,任务运行时长占比不均衡导致部分处理器核多数时间处于空闲状态,多核处理器的性能无法发挥,另一方面,任务分配过碎,任务间信息交互复杂,每次任务运行时序与上一次均不相同,导致星上事件执行序列不确定,星上任务执行时序和时间难以复现。
>[0007](4)星载计算机系统要求安全可靠运行,现有调度方法无法检测分区运行的异常状态,当出现异常后,无法将异常分区切除,容易扩散,进而影响其他软件功能的正常运行。
[0008](5)不支持分区动态管理,新的应用程序难以动态加载到系统中,也难以从系统中动态卸载应用程序,星载应用的扩展性不足。

技术实现思路

[0009]有鉴于此,本专利技术提供了一种支持多核处理器的星载确定性分区调度方法,解决多个任务在多核上无序竞争导致的执行顺序和执行时间不确定的问题,同时支持分区运行状态检测和切除故障分区、分区动态管理的功能。
[0010]一种支持多核处理器的星载确定性分区调度方法,
[0011]步骤一、根据任务特点,将任务分区;
[0012]步骤二、定义分区配置表,用于查看各分区对应的分区ID、时间窗口、任务及分区连续异常计数;
[0013]步骤三、将分区配置表内,有时序和实时性要求的任务绑定到指定的处理器核上;
[0014]步骤四、上星运行后,将分区配置表内第一个分区到最后一个分区按从前向后的
顺序构建成尾首相连的分区链表;之后按下述方法执行操作:
[0015]根据分区配置表中的时间窗口进行分配,之后执行分区中的任务,若任务已绑定指定的处理器核上,则由绑定的处理器核执行,未绑定处理器核的任务,则根据优先分配任务链表中任务数量少的处理器核的原则,自动分配处理器核,并执行任务;同时,实时检测分区运行状态,若分区运行状态异常,则当前分区的连续异常计数加1,一旦超过阈值,则将该分区从分区链表中删除,切除出错的分区;
[0016]当前分区的时间窗口执行完成后,按照所述方法,对分区链表的下一个分区执行操作。
[0017]较佳地,当需要增加分区时,待当前分区链表最后一个分区执行完成后,将新的分区插入到分区链表尾部,并尾首相连,之后按照步骤四中的方法执行操作。
[0018]较佳地,当需要删除分区时,查找待删除分区对应的分区ID,若该分区不在运行,则从分区链表中删除该分区;如果该分区正在运行,则在运行完成后,从分区链表中删除该分区,并将该分区的前一个分区和后一个分区相连;如果未找到该分区,则不执行操作。
[0019]较佳地,分区配置表包含的属性包括:分区ID、时间窗口数量、时间窗口剩余数量、任务数量、任务列表、当前执行的任务、分区运行状态、分区连续异常计数和下一个分区。
[0020]较佳地,所述分区运行状态包括分区运行正常、分区运行超时和分区异常退出;
[0021]当分区运行正常,任务正常执行,设置分区连续异常计数为0;当分区运行超时,提示运行超时,进行重新分配时间窗口;当分区异常退出时,设置分区连续异常计数加1。
[0022]较佳地,各处理器核按照该核任务链表中任务的先后顺序执行。
[0023]有益效果
[0024]1、本专利技术设计了一种支持多核处理器的星载确定性分区调度方法,通过分区划分、两级调度,将星载计算机多个复杂无序的任务整理成确定的执行序列,按照时间窗口规划分区,每个分区的执行时间是确定的,支持用户按优先级配置任务的处理器核,对于时序和实时性要求高的任务,可以绑定到指定的处理器核上运行,对于时序和实时性要求不高的任务,可以由系统分配空闲的处理器核运行,一方面可以确保任务的时序确定性和执行时间的确定性,解决了多核竞争执行多任务导致的调度序列不确定的问题,另一方面,可以降低处理器核的空闲率,提高多核的调度效率。
[0025]2、本专利技术优化了分区管理功能,支持动态增加分区,实现灵活加载新的应用程序,大幅提高了星载应用的扩展性和灵活性。
[0026]3、本专利技术优化了分区管理功能,支持动态删除分区,实现动态卸载应用程序,大幅提高了星载应用的扩展性和灵活性。
[0027]4、通过配置分区配置表,能够通过分区ID快速找到分区;通过设置时间窗口和任务数量、任务列表等,能够了解当前任务情况并加以分析,为后续新增和删除分区提供支持。通过配置分区运行状态,能够快速找到异常状态并处理,解决了现有技术无法将异常分区切除的问题。
[0028]5、本专利技术优化了异常检测功能,动态检测分区的运行状态,当某分区出现异常且异常次数达到阈值时,切除出现异常的分区,避免故障扩散,提高了系统的可靠性。
[0029]6、各处理器核按照任务链表中任务的先后顺序执行保证了任务的公平性,不会导致长期得不到响应。
附图说明
[0030]图1为本专利技术方法过程图。
[0031]图2为各分区任务配置处理器核示意图。
[0032]图3为各分区配置时间窗口示意图。
[0033]图4为各删除异常状态分区后的分区链表示意图。
具体实施方式
[0034]下面结合附图和实施例对本专利技术方法的实施方式做以说明。
[0035]本专利技术提供了一种支持多核处理器的星载确定性分区调度方法,通过对星载计算机的任务合理划分并分组,形成多个分区,分区内的任务根据时序和实时性要求可以绑定处理器核或者由系统分配空闲的处理器核执行,将处理器资源按时间窗口进行划分,解决多个任务在多核上无序竞争导致的执行顺序和执行时间不确定的问题,同时支持分区运行状态检测和切除故障分区、分区动态管理的功能。如图1所示,其具体方法如下:
[0036]步骤一、设计星载计算机中的任务,并划分分区。将相关联或交互比较多的任务本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种支持多核处理器的星载确定性分区调度方法,其特征在于:步骤一、根据任务特点,将任务分区;步骤二、定义分区配置表,用于查看各分区对应的分区ID、时间窗口、任务及分区连续异常计数;步骤三、将分区配置表内,有时序和实时性要求的任务绑定到指定的处理器核上;步骤四、上星运行后,将分区配置表内第一个分区到最后一个分区按从前向后的顺序构建成尾首相连的分区链表;之后按下述方法执行操作:根据分区配置表中的时间窗口进行分配,之后执行分区中的任务,若任务已绑定指定的处理器核上,则由绑定的处理器核执行,未绑定处理器核的任务,则根据优先分配任务链表中任务数量少的处理器核的原则,自动分配处理器核,并执行任务;同时,实时检测分区运行状态,若分区运行状态异常,则当前分区的连续异常计数加1,一旦超过阈值,则将该分区从分区链表中删除,切除出错的分区;当前分区的时间窗口执行完成后,按照所述方法,对分区链表的下一个分区执行操作。2.如权利要求1所述的分区调度方法,其特征在于:当需要增加分区时,待当前分区链表最后一个分区执行完成后,将...

【专利技术属性】
技术研发人员:詹盼盼何熊文齐征孙勇汪路元刘欣韦涌泉张文萱
申请(专利权)人:北京空间飞行器总体设计部
类型:发明
国别省市:

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

1