买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】用于将任务安排成循环的进度表的方法和装置_罗伯特·博世有限公司_201810413946.9 

申请/专利权人:罗伯特·博世有限公司

申请日:2018-05-03

公开(公告)日:2024-04-12

公开(公告)号:CN108804212B

主分类号:G06F9/48

分类号:G06F9/48;G06F9/455

优先权:["20170504 EP 17169414.4"]

专利状态码:有效-授权

法律状态:2024.04.12#授权;2020.06.02#实质审查的生效;2018.11.13#公开

摘要:将任务安排成循环的进度表(11)的方法(10),包括:保持请求队列(12)、被初始化到给定界限的计数、以及在进度表(11)中的当前时间位置的索引(13),其特征在于,周期地,‑如果请求队列包括对在任务中的紧急的任务的引用(14,Y),该引用被从请求队列(12)中移除,并且所述紧急任务被迅速处理(15)并且‑如果请求队列是空的(14,N),所述索引(13)前进(16)到进度表(11)中的下一个时间位置,i.如果下一个时间位置被静态地分配给任务中的一个任务(17,Y),该任务被快速处理(18),并且ii.如果下一个时间位置没有被分配(17,N)并且计数在界限以下(19,N),所述计数被增加,并且索引(13)进一步前进到再下一个时间位置。

主权项:1.用于将任务安排成循环的进度表11的方法10,包括:保持请求队列12;计数,该计数被初始化为一给定的界限;以及在进度表11内的当前时间位置的索引13,其特征在于,周期性地,-如果请求队列12包括对在任务中的紧急的任务的引用14,Y,那么所述引用被从请求队列12中移除并且所述紧急任务被迅速处理15并且-如果所述请求队列12是空的14,N,那么所述索引13前进16到进度表11内的下一时间位置,-在由管理软件提出请求时,当计数大于零时,所述计数被减少并且对任务中的特定任务的引用增加到任务队列12,i.如果下一个时间位置被静态地分配给任务中的一任务17,Y,那么该任务被迅速处理18,并且ii如果下一个时间位置没有被分配17,N并且计数在所述界限之下19,N,那么计数被增加,并且所述索引13进一步地前进20到再下一个时间位置。

全文数据:用于将任务安排成循环的进度表的方法和装置技术领域[0001]本发明涉及用于将计算机任务安排成循环进度表的方法。本发明还涉及相应的装置、相应的计算机程序以及相应的存储介质。现有技术[0002]在计算中,“任务”意味着任何执行或者工作的单元。根据环境,任务可以表现为进程process、执行的线程thread、或者被管理程序hypervisor运行的整个虚拟机。这样的方法以“安排”的形式被认识:在该方法中这样的任务被分配给计算资源。在实时环境中,例如用于在汽车或者机器人工业中进行自动控制的嵌入式系统,所述安排方法必须保证被安排的任务满足确定的截止期限,这对于保持系统稳定是至关重要的。[0003]US20170024247A1公开了用于在主机系统上托管host多任务客户(guest的方法,其中所述客户被分配了周期的执行服务器以及结合了系统的分区partition的、可以延期的执行服务器,客户的事件驱动的任务被分派给可以延期的执行服务器,客户的时间驱动的任务被分派给周期的执行服务器,执行服务器的管理程序被分派给系统的第一优先级群组,周期的执行服务器被分派给系统的第二优先级群组,可以延期的执行服务器被分派给系统的第三优先级群组,并且优先的任务调度器保持在优先权群组中的、降低优先权的命令,而执行服务器同时地执行任务。发明内容[0004]本发明提供根据独立权利要求的、用于将任务安排成循环的(round-robin或者别的周期性进度表的方法、相应的装置、相应的计算机程序以及相应的存储介质。[0005]本发明的实施例基于以下见解:现有技术的管理程序通常限制于每个核心P〇re一个虚拟机VM。先进的管理程序如此地提高了这个限制:通过准许每个核心多于一个虚拟机,同时仍然允许虚拟机的实时的行为以简单的方式被推导。[0006]所建议的方法承认:在很多有关的系统中,不要求虚拟机应当能够处理在其被分配的位置之外的中断。循环式或者周期的调度器很好地适用于这种类型的系统。这种安排任务、进程或者虚拟机的、循环的调度器方法已经被使用了很多年并且很好地被理解。存在一套虚拟机并且每个都被分派了固定量的运行时间。一个循环包括一个接着一个地以固定量的运行时间运行每个虚拟机。[0007]虚拟机不需要释放对处理器的控制。管理程序或者操作系统0S使用时钟节拍clock-tick中断来从一个虚拟机接管控制,并且分配处理器给下一个。在一个虚拟机中,客户系统自由地执行它要求的、它之内的实体的任意安排。[0008]这个安排模型意味着:在构建时,执行周期和运行时间分配被所有的虚拟机所知道,以至于例如中央处理单元CPU时间和延迟时间(latency的数量能够容易地被计算。另外,在虚拟机之间的暂时的(temporal分离被保持,这种暂时的分离在实时的并且安全关键的系统中是非常重要的。[0009]这个系统是非常灵活的。因为一般的循环调度器不允许虚拟机在动态的基础上被给予额外的CPU时间,当需要满足嵌入式系统的延迟时间的要求时,虚拟机只在分配给它的安排位置上运行。但是可能存在这样的环境:在那里,非常高要求的延迟时间需求意味着一虚拟机必须优先于一般的安排地立即被运行——例如在电子控制单元ECU启动期间。以下所描述的机制允许这被实现,同时保持推导出分配给虚拟机的时间量的能力,并且避免损害暂时的分离。[0010]本发明的实施例具有以下优点:它允许软件来管理一管理程序的操作,以从静态地声明的——例如在构建时被限制的—空闲时间的池中给虚拟机贡献额外的运行时间。这种改进可以与分区调度partitionscheduling的方法相结合,其中,虚拟机自己可以从这个空闲时间的池中请求时间。[0011]从属权利要求列举了对于权利要求1的基本的原则的有利的改进和改善。附图说明[0012]发明的实施例在附图中被说明并且在以下描述中更详细地解释,其中:图1示出了根据第一实施例的方法的流程图。[0013]图2示出了根据第二实施例的电子控制单元的示意性的示图。[0014]相似的附图标记一致地贯穿附图地表示对应的特征。具体实施方式[0015]图1描绘了根据本发明的实施例的方法10。当前的实施例应用其中的系统包括托管host数个虚拟机的管理程序一一或者托管数个任务的0S—一以及一些管理软件,所述管理软件控制包括所述管理程序的整个系统。所述管理软件比所述虚拟机权限高,并且在有关安全的汽车系统中,必须在系统的最高汽车安全完整性等级ASIL上。[0016]所述管理程序具有进度表11,该进度表包括有序的、位置的集合。一个位置可能静态地分配给一个虚拟机或者可能是动态的一一也就是说还未指定。在一般的操作下,所述管理程序从进度表(11中的第一位置开始,并且运行特定的虚拟机,直到一个时钟节拍中断出现。当出现所述时钟节拍中断时,所述管理程序暂停所述虚拟机的运行,前进到进度表(11中的下一个位置,并且运行指定的虚拟机进程18。这种如描述的那样按照进度表11运行虚拟机在每个后续的时钟节拍中断时都被重复。如果一个位置是动态的(决定17,分支N,所述管理程序闲置延迟21,而不是运行一个虚拟机。当所述管理程序到达进度表11的末尾时,它返回到开头处。[0017]除了这些传统的特征之外,所建议的管理程序与现有技术不同,在现有技术中存在由管理软件作出的、对于虚拟机额外时间的请求的先进先出(FIFO的队列(12。这种队列(12具有自由空间计数free-space-count,该自由空间计数初始化到在管理程序配置中指定的界限值。[0018]所述管理程序还提供了能被管理软件使用、但是不能被虚拟机使用的API来为虚拟机请求额外时间。如果这个API被调用,并且自由空间计数为〇,那么所述API调用被忽略。如果这个API被调用,并且自由空间计数不为〇,那么特定的虚拟机被加入到队列12的末尾并且自由空间计数被减去1。[0019]假设这种环境:当一个时钟节拍中断出现,并且队列12不是空的(决定14,分支Y时,管理程序移去在队列12之前的请求,并且运行进程15被请求所指定的虚拟机,直到下一个时钟节拍中断出现。但是,所述管理程序不增加自由空间计数,也不使它在进度表11中的位置提前。[0020]如果一个时钟节拍中断出现并且队列12是空的(决定14,分支N,像正常一样安排进程proceed,除非如果下一个进度表11位置是动态的(决定17,分支N,并且自由空间计数小于它的经配置的界限值决定19,分支N,那么所述管理程序给自由空间计数增加1,并且跳过动态位置进程20—一也即是说,它没有闲置延迟21地前进到再下一个位置。[0021]这种扩展意味着:一出现下一个时钟节拍,管理软件就可以命令管理程序优先于正常的安排地去运行确定的虚拟机。[0022]但是,自由空间计数机制保证了管理软件只是从未来“借用”动态的位置。因此,经过一些静态地可以确定的时间段,虚拟机总是会运行如己经在进度表11中被分配的那样多的时间。[0023]这个清除(scavenging空余运行时间的方法(10有两个显著的优点:第一,不必修改客户软件一一即运行在虚拟机上的软件一一来指示什么时候能够转换另一个虚拟机。第二,当以这种方式清除运行时间时,客户系统的时序特性timingproperties更容易建模。[0024]本方法(10可以例如在软件或者硬件中或者在软件和硬件的混合中来实施,例如在图2的示意性的示图中说明的那样的E⑶30中实施。

权利要求:1.用于将任务安排成循环的进度表11的方法(10,包括:保持请求队列(12;计数’该计数被初始化为一给定的界限;以及在进度表(11内的当前时间位置的索引(13,其特征在于,周期性地,、-如果请求队列(12包括对在任务中的紧急的任务的引用(14,Y,那么所述引用被从请求队列(12中移除并且所述紧急任务被迅速处理(15并且-如果所述请求队列(丨2是空的(14,N,那么所述索引(I3前进(I6到进度表(11内的下一时间位置,1.如果下一个时间位置被静态地分配给任务中的一任务(1?,Y,那么该任务被迅速处理(18,并且ii.如果下一个时间位置没有被分配(17,N并且计数在所述界限之下(19,N,那么计数被增加,并且所述索引(13进一步地前进20到再下一个时间位置。2.根据权利要求1所述的方法1〇,其特征在于,-在由管理软件提出请求时,当计数大于零时,所述计数被减少并且对任务中的特定任务的引用增加到任务队列(12。3.根据权利要求2所述的方法10,其特征在于-所述请求通过应用编程接口提交。4.根据权利要求3所述的方法10,其特征在于-请求队列(12、计数以及索引(13通过提供应用编程接口的管理程序来保持。5.根据权利要求4所述的方法10,其特征在于-所述管理程序采取类型-1管理程序的形式。6.根据权利要求4或5所述的方法10,其特征在于-所述管理软件控制管理程序和任务。7.根据权利要求4到6中任一项所述的方法10,其特征在于-对所述应用编程接口的访问被限制于所述管理软件。8.适应于执行根据权利要求1到7中任一项所述的方法10的计算机程序。9.存储根据权利要求8所述的计算机程序的、机器能够读取的存储介质。10.适应于执行根据权利要求1到7中任一项所述的方法10的装置30。

百度查询: 罗伯特·博世有限公司 用于将任务安排成循环的进度表的方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。