CN115309519A - 基于时间触发机制的确定性任务调度编排方法、系统和存储介质 - Google Patents

基于时间触发机制的确定性任务调度编排方法、系统和存储介质 Download PDF

Info

Publication number
CN115309519A
CN115309519A CN202210831772.4A CN202210831772A CN115309519A CN 115309519 A CN115309519 A CN 115309519A CN 202210831772 A CN202210831772 A CN 202210831772A CN 115309519 A CN115309519 A CN 115309519A
Authority
CN
China
Prior art keywords
task
scheduling
execution
time
current
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210831772.4A
Other languages
English (en)
Inventor
柯柱良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lingnian Technology Co ltd
Original Assignee
Shanghai Lingnian Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Lingnian Technology Co ltd filed Critical Shanghai Lingnian Technology Co ltd
Priority to CN202210831772.4A priority Critical patent/CN115309519A/zh
Publication of CN115309519A publication Critical patent/CN115309519A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • G06F9/4831Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种基于时间触发机制的确定性任务调度编排方法、系统和存储介质,该方法包括:接收用户的任务调度需求;基于任务调度需求中各任务执行周期、各任务的最早开始时间和各任务的期望优先级为各个任务分配相对优先级;基于各任务的执行周期计算作为各任务的执行周期的最小公倍数的超周期;在超周期内,基于各个任务的优先级排序和任务调度需求对各任务进行调度信息编排,包括:在按照各个任务的优先级排序对任务进行调度编排时,确定当前任务在超周期内各执行周期的期望调度时间点;以及基于当前任务在超周期内各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排。

Description

基于时间触发机制的确定性任务调度编排方法、系统和存储 介质
技术领域
本发明涉及属于工业操作系统技术领域,尤其涉及一种基于时间触发机制的确定性任务调度编排方法、系统和存储介质。
背景技术
在现在的工业领域范畴内,确定性和实时性系统是保证其安全性、高可靠性的基本需求。随着现代智能汽车的发展,大量的高复杂度的任务需要部署在硬件资源有限的嵌入式系统中,如何保证车载操作系统的实时性、安全性和可靠性已经成为了制约智能驾驶技术发展的主要瓶颈。
传统的嵌入式操作系统(OS)对任务的调度通常基于优先级,其中根据任务是否可被高优先级抢占可细分为可抢占式任务(高优先级的任务)和非抢占式任务(低优先级的任务)。基于优先级调度任务通用的缺点为高优先级的任务在频发的情况下会抢占处理器的绝大部分处理时间,事实造成低优先级的任务无法获得计算资源,造成“饿死”现象。
在较为现代的操作系统如Linux系统中,为了改进这种“饿死”的现象,提出了任务基于时间切片(Time Slicing)的公平调度策略,操作系统在进行任务调度时动态分配高优先级任务较多的时间片段,兼照顾到低优先级任务的部分需求。
但是,目前这两种操作系统的任务调度均未从根本上解决确定性的问题,这是因为应用程序所分配的计算资源的多少对当时的运行环境,对当前高优先级任务的处理状态有强烈的依赖关系,无法妥善的处理任务在同一个时间片的计算资源冲突,确保任务在实际执行过程中严格按照调度编排进行执行,不能从根本上解决确定性调度的要求。
发明内容
本发明针对现有技术中存在的问题,提出了一种基于时间触发机制的确定性任务调度编排方法和系统,以妥善的处理任务在同一个时间片的计算资源冲突,确保任务在实际执行过程中严格按照调度编排进行执行,达到确定性调度的安全需求。
本发明的一个方面提供了一种基于时间触发机制的确定性任务调度编排方法,该方法包括以下步骤:
接收用户的任务调度需求,所述任务调度需求包括:各任务执行周期、各任务的最早开始时间、各任务的期望优先级和各任务的最坏执行时间;
基于用户任务调度需求中的各任务执行周期、各任务的最早开始时间和各任务的期望优先级确定各个任务的相对优先级,获得各个任务的相对优先级排序;
基于各任务的执行周期计算作为各任务的执行周期的最小公倍数的超周期;以及
在所述超周期内,基于各个任务的优先级排序和任务调度需求对各任务进行调度信息编排,所述对各任务进行调度信息编排的步骤包括:基于各个任务的优先级排序对各个任务进行初步编排,获得初步编排结果,所述初步编排结果包含当前任务在各执行周期的期望调度时间点;以及基于当前任务在各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排。
在本发明一些实施例中,所述基于用户任务调度需求中的各任务执行周期、各任务的最早开始时间和各任务的期望优先级确定各个任务的相对优先级,包括:
针对执行周期不同的任务,基于执行周期大小确定任务彼此间的相对优先级;针对执行周期相同但最早开始时间不同的任务,基于最早开始时间确定任务彼此间的相对优先级;针对执行周期相同且最早开始时间相同的任务,基于各任务的期望优先级来确定相对优先级;
为确定的各个任务的优先级分配优先级编号。
在本发明一些实施例中,所述基于当前任务在各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排,包括:
确定当前任务在一个超周期内的各个执行周期的期望调度时间点对应的时间片段是否存在更高优先级任务的占用,在存在占用的情况下,将当前执行周期的期望任务调度时间点对应的时间片段顺延至下一空闲时间片段;在不存在占用的情况下,确定当前执行周期的期望任务调度时间点对应的时间片段为当前空闲时间片段;
基于当前任务对应的最坏执行时间进行当前任务在空闲时间片段内的编排,得到更新后的任务的调度信息编排结果。
在本发明一些实施例中,所述基于当前任务对应的最坏执行时间进行当前任务在空闲时间片段内的编排,得到更新后的任务的调度信息编排结果,包括:
确认当前任务的当前执行周期对应的空闲时间片段是否大于当前任务的最坏执行时间;
在当前任务的当前执行周期对应的空闲时间片段大于当前任务的最坏执行时间的情况下,将当前任务编排至所述当前执行周期对应的空闲时间片段;
在当前任务的当前执行周期对应的空闲时间片段不大于当前任务的最坏执行时间的情况下,将当前任务的部分内容编排至所述当前执行周期对应的空闲时间片段,当前任务的其余部分内容进行空闲时间片段的顺延。
在本发明一些实施例中,所述方法还包括:基于更新的各任务的调度信息编排结果,生成可视化任务调度表。
在本发明一些实施例中,所述方法应用于部署汽车安全完整性等级D。
在本发明一些实施例中,所述方法还包括:更新安全边界条件,基于更新的边界条件来调整确定性任务调度信息编排。
在本发明一些实施例中,所述方法还包括:在任务执行期间,基于生成的任务调度表监控任务的周期执行时间,在任务的周期执行时间异常的情况下,基于任务调度表进行任务定位来触发异常处理,并生成报警信息。
本发明的另一方面,还提供了一种基于时间触发机制的确定性任务调度编排系统,该系统包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明的另一方面,还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如前所述方法的步骤。
本发明的基于时间触发机制的确定性任务调度编排方法和系统,可以对当前系统下的任务在满足功能安全的基础上进行编排,妥善的处理任务在同一个时间片的计算资源冲突,确保任务在实际执行过程中严格按照调度编排表进行执行,达到确定性调度的安全需求。
本发明的附加优点、目的,以及特征将在下面的描述中将部分地加以阐述,且将对于本领域普通技术人员在研究下文后部分地变得明显,或者可以根据本发明的实践而获知。本发明的目的和其它优点可以通过在说明书以及附图中具体指出的结构实现到并获得。
本领域技术人员将会理解的是,能够用本发明实现的目的和优点不限于以上具体所述,并且根据以下详细说明将更清楚地理解本发明能够实现的上述和其他目的。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1为本发明一实施例中基于时间触发机制的确定性任务调度编排方法的流程示意图。
图2为本发明一实施例中针对所有任务分配固定的相对优先级的流程示例。
图3为本发明一实施例中对各任务进行调度信息编排的流程示例。
图4为本发明一实施例中生成的任务静态调度表示例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施方式和附图,对本发明做进一步详细说明。在此,本发明的示意性实施方式及其说明用于解释本发明,但并不作为对本发明的限定。
需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。且在附图中,以简化或是方便标示。再者,附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是在可接受的误差容限或设计约束内近似于相应的值。
在此,还需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
针对现有技术中难以从根本上解决任务确定性调度的要求的问题,本发明提供了一种基于时间触发机制的确定性任务调度方法。图1为本发明一实施例中基于时间触发机制的确定性任务调度编排方法的流程示意图,如图1所示,该确定性任务调度编排方法包括以下步骤:
步骤S110,接收用户的任务调度需求。
可以由用户输入任务调度需求,该任务调度需求可包括:各任务执行周期(Period)、各任务的最早开始时间(Earliest Starting Time,EST)、各任务的期望优先级(Priority)和各任务的最坏执行时间(Worst Case Execution Time,WCET)。其中:
执行周期表示该任务多长时间调用一次;
任务的最坏执行时间表示在考虑各种环境因素情况下,该任务运行一次所占用的最长时间;
任务的最早开始时间表示该任务的首次调用时间将不早于设定时间值;
各任务的期望优先级表示在运行上有冲突的情况下,各任务的优先级别,即用户期望哪个任务优先执行,哪个任务就具有更高的优先级别。
在本发明一些实施例中,用户的任务调度需求除了包括各任务执行周期、EST、WCET和优先级之外,还可以包括其他保证任务执行的安全边界和安全需求,本发明并不限于此。
步骤S120,基于用户任务调度需求中的各任务执行周期、各任务的最早开始时间和各任务的期望优先级确定各个任务的相对优先级,由此获得各个任务的相对优先级排序。
更具体地,可根据用户输入的任务调度需求信息,可针对所有任务确定并分配固定的相对优先级。确定过程如下:
步骤S121,针对执行周期不同的任务,基于执行周期大小确定任务彼此间的相对优先级;针对执行周期相同但最早开始时间不同的任务,基于最早开始时间确定任务彼此间的相对优先级;针对执行周期相同且最早开始时间相同的任务,基于各任务的期望优先级来确定相对优先级;
步骤S122,为确定的各个任务的优先级分配固定的优先级编号。
根据上述流程可以确认任意两个任务的相对优先级。当所有任务的相对优先级确认完毕后,可给每个任务分配一个固定的表示相对优先级的优先级号码。优先级越高,优先级号码越小。例如,如果共有50个任务,则分别分配P1-P50,P1任务优先级最高,P50任务优先级最低。
步骤S130,基于各任务的执行周期计算作为各任务的执行周期的最小公倍数的超周期(Hyperperiod)。
本步骤中,根据用户输入的各个任务的执行周期,通过对所有任务的执行周期取最小公倍数,可以得到超周期Thp。
步骤S140,在超周期内,基于各个任务的优先级排序和任务调度需求对各任务进行调度信息编排。
本步骤中,根据优先级号码,在超周期内对高优先级的任务优先进行调度信息编排,然后按照优先级号码依次进行更低优先级任务的调度信息编排,直至所有的任务都完成调度信息编排。
在本发明一些实施例中,对各任务进行调度信息编排的步骤包括:
步骤S141,在按照各个任务的优先级排序对任务进行调度编排时,确定当前任务在超周期内各执行周期的期望调度时间点。
例如,基于要调度编排的当前任务的执行周期计算一个超周期内含有的当前任务执行周期的数量,记为P。
基于先前已编排任务的调度信息以及当前任务的执行周期计算当前任务在超周期内各执行周期的期望调度时间点。例如,假设超周期为90ms,优先级编号为P1的任务的执行周期为10ms,最早开始时间为0ms,最坏执行时间为2ms;优先级编号为P2的任务的执行周期为30ms,最早开始时间为10ms,最坏执行时间为2ms。在对P1任务进行调度编排时,可将P1任务编排为在超周期内执行9次,从第0秒开始执行,执行所需的时间为2ms(按最坏执行时间),即P1任务各执行周期的期望调度时间点分别为:0ms,10ms,20ms,……。在编排完P1任务后对P2任务进行调度编排时,可以初步确定P2任务各执行周期的期望调度时间点分别为:10ms,40ms,70ms,该期望调度时间点满足最早开始时间要求。
步骤S142,基于当前任务在超周期内各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排。
更具体地,本步骤S142可包括:
(1)确定当前任务在一个超周期内的各个执行周期的期望调度时间点对应的时间片段是否存在更高优先级任务的占用,在存在占用的情况下,将当前执行周期的期望任务调度时间点对应的时间片段顺延至下一空闲时间片段;在不存在占用的情况下,确定当前执行周期的期望任务调度时间点对应的时间片段为当前空闲时间片段。
在本发明实施例中,一个执行周期被划分为很多个时间片段(或称时间切片),从而可以基于时间片段进行任务的精准分配。
例如,对于P2任务,第1个执行周期的期望调度时间点对应的时间片段存在更高优先级任务的占用,即被P1任务占用,或者说与P1任务第2个执行周期的执行时间向冲突,则将P2任务第1个执行周期的期望调度时间点对应的时间片段顺延至下一空闲时间片段,即顺延至第12ms,从第12ms处开始执行任务P2,由此可以妥善的处理任务在同一个时间片的计算资源冲突,确保任务在实际执行过程中严格按照调度编排结果进行执行。
(2)基于当前任务对应的最坏执行时间进行当前任务在空闲时间片段内的编排,得到更新后的任务的调度信息编排结果。
本发明的如上方法既考虑了任务的优先级信息,又考虑了时间触发机制下的任务执行周期、任务的最早开始时间和任务的最坏执行时间,本发明可以对当前操作系统下的任务在满足功能安全的基础上进行编排,妥善的处理任务在同一个时间片的计算资源冲突,确保任务在实际执行过程中严格按照调度编排结果进行执行,达到确定性调度的安全需求。
下面将列举具体的示例来进行说明。
图2为本发明一实施例中针对所有任务分配固定的相对优先级的流程示例,如图2所示,该流程包括:
步骤S21,获得任务运行周期、任务最早执行时间和任务的期望优先级;
步骤S22,确认任务的执行周期是否相同。
在本发明实施例中,可以将接收的任务调度需求中的多个任务两两进行比较,也可以基于任务执行周期先对任务进行分组,将具有相同执行周期的分为同一组。
步骤S23,若不同任务的执行周期不同,则基于任务执行周期大小来确定任务的相对优先级。例如,比较任务的执行周期,执行周期较小的任务相对优先级较高,执行周期较大的任务相对优先级较低。
步骤S24,若不同任务的执行周期相同,则进一步判断不同任务的最早开始时间(又称为最早执行周期)EST是否相同。
步骤S25,如果执行周期相同的不同任务的最早开始时间不同,则根据任务的最早开始时间EST的大小来确定任务的相对优先级。例如,最早开始时间早的任务具有更高的相对优先级,最早开始时间晚的任务具有更低的相对优先级。
步骤S26,如果执行周期相同的不同任务的最早开始时间也相同,则进一步判断用户输入的对应任务的期望优先级是否相同。
步骤S27,在用户输入的对应任务的期望优先级不同的情况下,基于任务的期望优先级来确定任务的相对优先级。例如,任务的期望优先级越高,其相对优先级越高。
此外,在本发明一些实施例中,可能还存在用户输入的对应任务的期望优先级相同的情况,此时可以进一步借助一些其他属性判断来确定任务的相对优先级,例如,可以预先设定进一步基于任务的最坏执行时间来确定任务的相对优先级,任务的最坏执行时间越短,相对优先级越高。另外,在用户输入的任务调度需求中还包括其他任务调度需求信息的情况下,还可以借助其他任务调度需求信息来确定任务的相对优先级。作为示例,还可以预先设定任务类型,不同任务类型可以对应不同的权重,可以基于任务对应的权重来确定任务的相对优先级,例如,权重越大,相对优先级越高。
在本发明一些实施例中,还可以针对不同任务设置不同的期望优先级,这样可以防止出现期望优先级相同而难以进一步确认相对优先级的情况。
步骤S28,确定了所有任务的相对优先级后,便可以为所有任务分配表征其相对优先级的优先级编号。如此,便可针对所有任务,生成与任务一一对应的相对优先级编号。例如,如果共有50个任务,则分别分配P1-P50,P1任务优先级最高,P50任务优先级最低。
图3所示为本发明一实施例中对各任务进行调度信息编排的流程示例。如图3所示,该对各任务进行调度信息编排的流程包括:
步骤S31,从相对优先级最高的第一个任务开始,逐个进行任务调度信息的编排。
例如,对于第k个任务(k=1,2,3,…,N,其中N为任务总数),可以基于其执行周期Tk计算一个超周期内含有的当前任务执行周期的数量P,并基于前面已编排任务的调度信息以及当前任务的执行周期、最早执行时间ESTk等信息计算当前任务在超周期内各执行周期的期望调度时间点。例如,假设超周期为90ms,优先级编号为P1的任务的执行周期为10ms,最早开始时间为0ms,最坏执行时间为2ms;优先级编号为P2的任务的执行周期为30ms,最早开始时间为10ms,最坏执行时间为2ms;可将P1任务编排为在超周期内执行10次,从第0秒开始执行,执行所需的时间为2ms(按最坏执行时间),即P1任务各执行周期的期望调度时间点分别为:0ms,10ms,20ms,……。在编排完P1任务后对P2任务进行调度编排时,可以确定P2任务各执行周期的期望调度时间点分别为:10ms,40ms,70ms,该期望调度时间点满足最早开始时间要求。
步骤S32,确认当前编排的任务的各执行周期的期望调度时间点是否存在被高优先级任务的占用。
例如,从第一个执行周期开始,即从执行周期q=1开始,逐个查看当前任务(第k个任务)的各执行周期的调度时间点是都被高优先级时间点占用。
步骤S33,如果执行周期q的调用时间点被高优先级任务占用,则将该执行周期调度时间点顺延至下一个空闲时间片段。
在本发明实施例中,一个执行周期被划分为很多个时间片段(或称时间切片),从而可以基于时间片段进行任务的精准分配。在一个执行周期q的调用时间点被高优先级任务占用的情况下(例如,在k=2,q=1时,执行周期q的调用时间点被高优先级任务占用),将该执行周期调度时间点顺延至下一个空闲的时间片段。
步骤S34,查看当前空闲时间片段是否大于当前任务的最差执行时间WCETk
步骤S35,在当前空闲时间片段大于或等于当前任务的最差执行时间WCETk的情况下,直接将按照确定的执行周期调度时间点编排当前任务。
步骤S36,在当前空闲时间片段小于当前任务的最差执行时间WCETk的情况下,将该任务的一部分内容编排至当前空闲时间片段,并将其余部分任务顺延至下一个空闲时间段,从而完成该任务在当前执行周期的编排。
步骤S37,在编排完一个执行周期的任务后,更新所有的空闲时间片段,并继续进行任务的后续执行周期的编排,直至完成当前任务编排。
步骤S38,在完成当前任务编排后,按照相对优先级进行下一任务的调度编排,直至完成所有任务的调度编排。
所有任务调度编排完毕后,可获得静态的可视化任务调度表,上面可直观得显示任务调度排布,图4为一生成的可视化任务调度表示例。
下面将以智能汽车自动驾驶系统中常见的自驾场景为具体实施例子,来说明本发明的确定性任务调度编排方法。
步骤1,用户输入当前各个任务的具体参数(任务调度需求)。如表1所示。
表1.任务调度需求示例:
Figure BDA0003748719170000091
Figure BDA0003748719170000101
对于其他任务,可遵照此方式输入需求。表1仅为任务调度需求的示例,在本发明其他实施例中,还可以包含其他调度需求信息,如任务权重。
用户通过将时间敏感的应用(任务)如CAN通信任务(如CAN_COM_10ms)等设定为高优先级,可以保证这些应用按周期固定执行,满足功能安全需求,减少安全风险。
步骤2,任务调度表的编排。
依据图3所示的调度表编排策略,系统进行多次尝试性编排后可以得到如图4所示的调度表编排结果,图4中横坐标代表CPU的运行时间,纵坐标为不同的应用程序。
步骤3,输出任务调度表。
任务调度表的图形化(可视化)输出可以给用户直观的显示,便于从系统总体设计上去判断当前的调度表编排是否合理。
步骤4,优化调度表。
在本发明可选实施例中,确定性任务调度编排方法还包括:更新作为安全边界条件的任务调度需求,基于更新的边界条件来调整确定性任务调度信息编排。用户可以进一步根据当前的调度表进行分析,如果有更多的安全边界和安全需求引入,可以在当前的基础上重新输入新的任务调度需求,从而不断优化调度表以达到整体系统的实时要求。比如将当前的调度表部署在车辆上,经过大数据的统计发现某些任务的执行对确定性的要求更高,如果这些任务出现了延时,可能造成更大的影响,则可通过给这些任务增加权重的方式优化当前调度表。
此外,在本发明实施例中,在任务执行期间,可基于生成的任务调度表监控任务的周期执行时间,在任务的周期执行时间异常的情况下,基于任务调度表进行任务定位来触发异常处理,并生成报警信息。
在本发明实施例中,可以通过任务调度编排减少应用层对CPU资源的无序争夺,平衡系统负载,提高CPU资源的利用率。可以通过监控任务的周期执行时间,来确保系统的安全性可控性;在任务处理异常的情况下可以快速定位问题触发异常处理。
在本发明实施例中,提供的高安全性特性任务调度编排尤其适合部署ASIL-D(汽车安全完整性等级D)应用,可以实现ASIL-D和QM(质量管理)应用在不同的时间片隔离,使得最终系统可以满足ISO-26262ASIL-D的高功能安全要求。
本发明不仅可以应用于汽车领域,还可广泛用于航空,工业制造等多种应用场景和领域。
与上述方法相应地,本发明还提供了一种基于时间触发机制下的确定性任务调度编排系统,该系统包括计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如前所述方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现前述边缘计算服务器部署方法的步骤。该计算机可读存储介质可以是有形存储介质,诸如随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、软盘、硬盘、可移动存储盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本领域普通技术人员应该可以明白,结合本文中所公开的实施方式描述的各示例性的组成部分、系统和方法,能够以硬件、软件或者二者的结合来实现。具体究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
本发明中,针对一个实施方式描述和/或例示的特征,可以在一个或更多个其它实施方式中以相同方式或以类似方式使用,和/或与其他实施方式的特征相结合或代替其他实施方式的特征。
以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于时间触发机制的确定性任务调度编排方法,其特征在于,该方法包括以下步骤:
接收用户的任务调度需求,所述任务调度需求包括:各任务执行周期、各任务的最早开始时间、各任务的期望优先级和各任务的最坏执行时间;
基于用户任务调度需求中的各任务执行周期、各任务的最早开始时间和各任务的期望优先级确定各个任务的相对优先级,获得各个任务的相对优先级排序;
基于各任务的执行周期计算作为各任务的执行周期的最小公倍数的超周期;以及
在所述超周期内,基于各个任务的优先级排序和任务调度需求对各任务进行调度信息编排,所述对各任务进行调度信息编排的步骤包括:在按照各个任务的优先级排序对任务进行调度编排时,确定当前任务在超周期内各执行周期的期望调度时间点;以及基于当前任务在超周期内各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排。
2.根据权利要求1所述的方法,其特征在于,所述基于用户任务调度需求中的各任务执行周期、各任务的最早开始时间和各任务的期望优先级确定各个任务的相对优先级,包括:
针对执行周期不同的任务,基于执行周期大小确定任务彼此间的相对优先级;针对执行周期相同但最早开始时间不同的任务,基于最早开始时间确定任务彼此间的相对优先级;针对执行周期相同且最早开始时间相同的任务,基于各任务的期望优先级来确定相对优先级;
为确定的各个任务的优先级分配优先级编号。
3.根据权利要求1所述的方法,其特征在于,所述基于当前任务在各执行周期的期望调度时间点是否存在更高优先级任务的占用、当前任务的最坏执行时间来更新各任务的调度信息编排,包括:
确定当前任务在一个超周期内的各个执行周期的期望调度时间点对应的时间片段是否存在更高优先级任务的占用,在存在占用的情况下,将当前执行周期的期望任务调度时间点对应的时间片段顺延至下一空闲时间片段;在不存在占用的情况下,确定当前执行周期的期望任务调度时间点对应的时间片段为当前空闲时间片段;
基于当前任务对应的最坏执行时间进行当前任务在空闲时间片段内的编排,得到更新后的任务的调度信息编排结果。
4.根据权利要求3所述的方法,其特征在于,所述基于当前任务对应的最坏执行时间进行当前任务在空闲时间片段内的编排,得到更新后的任务的调度信息编排结果,包括:
确认当前任务的当前执行周期对应的空闲时间片段是否大于当前任务的最坏执行时间;
在当前任务的当前执行周期对应的空闲时间片段大于当前任务的最坏执行时间的情况下,将当前任务编排至所述当前执行周期对应的空闲时间片段;
在当前任务的当前执行周期对应的空闲时间片段不大于当前任务的最坏执行时间的情况下,将当前任务的部分内容编排至所述当前执行周期对应的空闲时间片段,当前任务的其余部分内容进行空闲时间片段的顺延。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:基于更新的各任务的调度信息编排结果,生成可视化任务调度表。
6.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法应用于部署汽车安全完整性等级D。
7.根据权利要求1-5中任意一项所述的方法,其特征在于,所述方法还包括:更新安全边界条件,基于更新的边界条件来调整确定性任务调度信息编排。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:在任务执行期间,基于生成的任务调度表监控任务的周期执行时间,在任务的周期执行时间异常的情况下,基于任务调度表进行任务定位来触发异常处理,并生成报警信息。
9.一种基于时间触发机制的确定性任务调度编排系统,该系统包括处理器和存储器,其特征在于,所述存储器中存储有计算机指令,所述处理器用于执行所述存储器中存储的计算机指令,当所述计算机指令被处理器执行时该系统实现如权利要求1至8中任一项所述方法的步骤。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
CN202210831772.4A 2022-07-15 2022-07-15 基于时间触发机制的确定性任务调度编排方法、系统和存储介质 Pending CN115309519A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210831772.4A CN115309519A (zh) 2022-07-15 2022-07-15 基于时间触发机制的确定性任务调度编排方法、系统和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210831772.4A CN115309519A (zh) 2022-07-15 2022-07-15 基于时间触发机制的确定性任务调度编排方法、系统和存储介质

Publications (1)

Publication Number Publication Date
CN115309519A true CN115309519A (zh) 2022-11-08

Family

ID=83856892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210831772.4A Pending CN115309519A (zh) 2022-07-15 2022-07-15 基于时间触发机制的确定性任务调度编排方法、系统和存储介质

Country Status (1)

Country Link
CN (1) CN115309519A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116661977A (zh) * 2023-07-26 2023-08-29 上海任意门科技有限公司 任务管理方法、装置、计算设备和存储介质
EP4372558A1 (en) * 2022-11-17 2024-05-22 Nanjing Horizon Robotics Integrated Circuit Co., Ltd. Task scheduling processing method, apparatus, electronic device, and storage medium

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4372558A1 (en) * 2022-11-17 2024-05-22 Nanjing Horizon Robotics Integrated Circuit Co., Ltd. Task scheduling processing method, apparatus, electronic device, and storage medium
CN116661977A (zh) * 2023-07-26 2023-08-29 上海任意门科技有限公司 任务管理方法、装置、计算设备和存储介质
CN116661977B (zh) * 2023-07-26 2023-10-24 上海任意门科技有限公司 任务管理方法、装置、计算设备和存储介质

Similar Documents

Publication Publication Date Title
CN115309519A (zh) 基于时间触发机制的确定性任务调度编排方法、系统和存储介质
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
EP1538497B1 (en) Distributed real time operating system
Ramos-Thuel et al. On-line scheduling of hard deadline aperiodic tasks in fixed-priority systems
Sprunt et al. Aperiodic task scheduling for hard-real-time systems
CN110096353B (zh) 任务调度方法及装置
CN109408215B (zh) 一种计算节点的任务调度方法和装置
US20060206887A1 (en) Adaptive partitioning for operating system
CN110489217A (zh) 一种任务调度方法及系统
US7920282B2 (en) Job preempt set generation for resource management
US9361156B2 (en) Adaptive partitioning for operating system
CN111897637B (zh) 作业调度方法、装置、主机及存储介质
CN113282381A (zh) 任务调度方法、装置、计算机设备和存储介质
CN112579271A (zh) 用于非实时操作系统的实时任务调度方法、模块、终端和存储介质
US8555285B2 (en) Executing a general-purpose operating system as a task under the control of a real-time operating system
CN108845870B (zh) 一种基于pWCET整形的概率性实时任务调度方法
Hansson et al. Dynamic transaction scheduling and reallocation in overloaded real-time database systems
CN111143210A (zh) 一种测试任务调度方法和系统
CN113986484B (zh) 社交软件的任务处理全局调度方法
CN114489970A (zh) Kubernetes中利用Coscheduling插件实现队列排序的方法及系统
US8694999B2 (en) Cooperative scheduling of multiple partitions in a single time window
CN111258757A (zh) 任务自动编排方法、装置、计算机设备以及存储介质
US11799598B2 (en) Vehicle control device and control method thereof
CN117234740B (zh) 一种gpu硬件资源的调度方法、装置、设备及介质
CN110348818B (zh) 一种流程引擎的流程智能处理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20221108

Assignee: Taicang Lingnian Technology Co.,Ltd.

Assignor: Shanghai Lingnian Technology Co.,Ltd.

Contract record no.: X2022980016649

Denomination of invention: Deterministic task scheduling and scheduling method, system and storage medium based on time-triggered mechanism

License type: Common License

Record date: 20220930