用于使用滑动时间窗口调度任务的系统和方法技术方案

技术编号:14239476 阅读:63 留言:0更新日期:2016-12-21 14:58
提供了用于使用滑动时间窗口调度任务的系统和方法。在某些实施例中,用于调度任务执行的系统包括被配置成执行多个任务的至少一个处理单元,其中该多个任务中的每个任务被调度成在多个调度器实例中的一个调度器实例内执行,该多个调度器实例中的每个调度器实例被与多个时间窗口中的一组时间窗口相关联并在每个时间窗口中被与至少一个处理单元中的一组处理单元相关联,该多个时间窗口中的时间窗口具有开始时间和所分配的持续时间并且与该时间窗口相关联的调度器实例不早于该开始时间开始执行相关联的任务并且执行不长于所分配的持续时间,并且其中该开始时间可滑动至时间上较早的时刻。

System and method for scheduling tasks using sliding time windows

A system and method for scheduling tasks using a sliding time window. In some embodiments, the system for scheduling tasks including at least one processing unit configured to perform multiple tasks, each task of the plurality of tasks is scheduled to execute a scheduler instance in multiple instance scheduler in a set time window associated with each of the plurality of the scheduler instance in the scheduler instance with multiple time windows in combination in each time window with a group of processing units at least one processing unit associated, the multiple time window in the time window with the start time and the distribution of the duration and the time window associated with the scheduler instance as early as the start time of the execution of tasks associated with and execution duration no longer than the allocated, and the start time of early time on the slide to the moment.

【技术实现步骤摘要】

本专利技术涉及用于使用滑动时间窗口调度任务的系统和方法
技术介绍
航空航天应用中的实时操作系统(RTOS)可以依靠时间划分的概念以便保证该RTOS在识别的最坏情况的执行时间内执行任务。例如,一种RTOS使用静态固定的时间窗口调度。一种替换方法使用速率单调的(RM)调度和空闲时间调度以向动态任务执行提供更高的灵活性同时仍维持时间确定性。在多核平台中,表征并限制跨内核干扰在确定该最坏情况执行时间以及由此的预算方面是关键的,其中预算形成时间划分的基础。然而,在多核平台中,并不总能保证多线程的可调度性。因此,在多核RTOS中,提供在不同内核上执行的任务集合借此被限制为满足时间确定性然而也允许灵活性和动态性的多核RTOS机制并不总是可以的。
技术实现思路
提供了用于使用滑动时间窗口调度任务的系统和方法。在某些实施例中,用于调度任务执行的系统包括被配置成执行多个任务的至少一个处理单元,其中该多个任务中的每个任务被调度成在多个调度器实例中的一个调度器实例内执行,该多个调度器实例中的每个调度器实例被与多个时间窗口中的一组时间窗口相关联并在每个时间窗口中被与至少一个处理单元中的一组处理单元相关联,该多个时间窗口中的一个或多个时间窗口具有开始时间和所分配的持续时间并且与该一个或多个时间窗口相关联的调度器实例不早于该开始时间开始执行相关联的任务并且执行不长于所分配的持续时间,并且其中该开始时间可滑动至时间上较早的时刻。附图说明要理解的是,附图仅描绘示例性实施例并因此不应被视为对范围进行限制,将通过使用附图采用额外的特异性和细节来描述示例性实施例,其中:图1是在本公开中描述的一个实施例中用于在至少一个处理单元上执行任务的系统的框图;图2是在本公开中描述的一个实施例中所调度的任务的时间线的图;图3A是在本公开中描述的一个实施例中在单个处理单元上的滑动时间窗口内调度的任务的时间线的一部分的图;图3B是在本公开中描述的一个实施例中在多核处理单元上的滑动时间窗口内调度的任务的时间线的一部分的图;图4是图解在本公开中描述的一个实施例中滑动时间窗口和固定时间窗口的组合的时间线的图;图5A是图解在本公开中描述的一个实施例中在单个处理单元上的中断服务例程时间窗口的调度的时间线的图;图5B是图解在本公开中描述的一个实施例中在多个处理单元上的中断服务例程时间窗口的调度的时间线的图;图6A-6C是图解针对由中断服务抢占时间窗口的不同实施例的时间线的一部分的图;图7是图解在本公开中描述的一个实施例中用于多个时间窗口的最早开始时间的定义的时间线的图;图8是图解在本公开中描述的一个实施例中时间窗口空闲时间的累积的时间线的图;图9A-9D是图解在本公开中描述的一个实施例中在滑动时间窗口的情况下识别和使用空闲时间的时间线的图;图10是图解在本公开中描述的一个实施例中不同时间窗口使用时间窗口空闲时间的时间线的图;以及图11是在本公开中描述的一个实施例中用于实现滑动时间窗口的方法的流程图。依据惯例,各种描述的特征并不按比例绘制而是绘制以强调与示例性实施例相关的具体特征。具体实施方式在以下详细描述中,参考形成本文一部分的附图,并且其中借助图解的方式示出了具体的例证性实施例。然而,要理解的是,可以利用其它实施例并且可以进行逻辑、机械、和电的改变。此外,附图和说明书中介绍的方法不应被解释为限制其中可以执行单独的步骤的顺序。因此,以下详细描述不应被视为限制性意义。为了提供灵活性以容纳期望的动态性同时仍保持时间保证,提供了用于使用滑动时间窗口调度任务的系统和方法。为了实现滑动时间窗口,使用时间划分将任务调度到时间窗口中。时间划分有助于满足任务级别以及时间窗口级别的时间保证。另外,如本文所描述的,时间窗口是滑动时间窗口。滑动时间窗口能够调整时间窗口的开始时间使得任务在时间上较早的时刻处执行同时仍维持时间确定性。当实施例实现滑动时间窗口时,系统还可以为中断服务例程的执行保留时间。另外,还可以执行空闲时间调度以允许所有内核上的充分的CPU利用。根据某些实施例,图1图解能够实现滑动时间窗口的系统100,滑动时间窗口在上文被简要地提及并在下文被更详细地描述。系统100一般地可以被实现在嵌入式系统、标准计算系统、以及本领域技术人员已知的其它实现中。在至少一个实施例中,系统100使用操作系统(诸如实时操作系统),其中该操作系统具有调度需求。如图所示,系统100包括被耦合至调度器104、存储器106、和其它资源108的处理实体102。处理实体102可以被通信地耦合至调度器104、存储器106、以及其它资源108。处理实体102可以是单个处理单元或多个处理单元。如本文所使用的,术语“处理单元”一般是指能够如程序指令所指示的那样接受数据并执行数学和逻辑运算的计算设备。在实施例中,其中处理实体102包括多个处理单元,该多个处理单元可以为多CPU系统的一部分、多核CPU中的一组内核、或者超线程处理单元内的一组超线程。在一个另外的示例中,多个处理单元可以是多CPU系统,其中该多CPU系统中的不同CPU具有多个内核。另外,每个内核可以操作为超线程处理单元。如本文所使用的,术语“多核”在下文将被用于指如上文所述的具有多个处理单元的实现。在图1中示出的示例性实施例中,程序指令被存储(或以其它方式被收录)在适当的非暂时性存储媒体或存储器106(诸如闪存或其它非易失性存储器、磁盘驱动器、和/或光盘驱动器)上或中。程序指令的至少一部分由处理实体102从存储器106读出以在处理实体102上执行。程序指令在本文还被称为“软件”。其上或其中收录有程序指令的存储器106这里还可以被称为“程序产品”。虽然图1中将存储器106示出为对于各处理实体102来说本地的,但要理解也可以使用远程存储器106(例如,通过网络或通过云可访问的存储媒体)和/或可移除媒体。在由处理实体102执行期间,存储器106还可以存储程序指令(和任何相关数据)。在一个实现中,存储器106包括目前已知或后来开发的任何适当形式的随机存取存储器(RAM),诸如动态随机存取存储器(DRAM)。在其它实施例中,使用其它类型的存储器。另外,在某些示例性实现中,其中处理实体102包括多个处理单元,每个处理单元具有专用于在相关联的处理单元上的执行期间存储程序指令的分离的存储器106。在图1中示出的另外的示例性实施例中,系统100包括促进与外部系统进行信息的发射和接收的其它设备。例如,如图1所示,系统100包括传感器130,其感测外部参数(以其它方式产生指示某些物理现象的信号或信息)并将它们发射至处理实体102以供处理实体102(更具体地,在其上执行的程序指令)使用。另外,系统100包括控制接口132。在该实施例中,当处理实体102执行程序指令时,处理实体102将发射电信号至控制接口132以控制被连接至系统100的外部系统。而且,在至少一个示例性实施例中,系统100与用户交互。为了促进与用户的交互,系统100可以包括至少一个用户输入设备134和显示器136。每个用户输入设备134从用户接收输入并将该输入发射至处理实体102以供处理实体102(更具体地,在其上执行的程序指令)使用。而且,在该实施例中,处理集群102将供用户观看的信息输出至显示器136,其本文档来自技高网...
用于使用滑动时间窗口调度任务的系统和方法

【技术保护点】
一种用于调度任务的执行的系统,所述系统包括:至少一个处理单元(102),被配置成执行多个任务,其中所述多个任务中的每个任务被调度成在多个调度器实例中的一个调度器实例内执行,所述多个调度器实例中的每个调度器实例被与多个时间窗口中的一组时间窗口相关联并在每个时间窗口中被与所述至少一个处理单元中的一组处理单元相关联,所述多个时间窗口中的一个或多个时间窗口具有开始时间和所分配的持续时间并且与所述一个或多个时间窗口相关联的调度器实例不早于所述开始时间开始执行相关联的任务并且执行不长于所述所分配的持续时间,以及其中所述开始时间可滑动至时间上较早的时刻。

【技术特征摘要】
2015.06.11 US 14/7370101.一种用于调度任务的执行的系统,所述系统包括:至少一个处理单元(102),被配置成执行多个任务,其中所述多个任务中的每个任务被调度成在多个调度器实例中的一个调度器实例内执行,所述多个调度器实例中的每个调度器实例被与多个时间窗口中的一组时间窗口相关联并在每个时间窗口中被与所述至少一个处理单元中的一组处理单元相关联,所述多个时间窗口中的一个或多个时间窗口具有开始时间和所...

【专利技术属性】
技术研发人员:S·瓦拉达拉简L·J·米勒A·K·麦克克里迪A·R·拉森R·弗罗斯特R·L·罗菲尔森
申请(专利权)人:霍尼韦尔国际公司
类型:发明
国别省市:美国;US

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

1