当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于RTLinux的被控对象模型模拟仿真实时调度方法技术

技术编号:17202312 阅读:49 留言:0更新日期:2018-02-07 16:53
本发明专利技术公开了一种基于RTLinux的被控对象模型模拟仿真实时调度方法,利用周期性计算密集型任务在周期到来时,并不是直接抢占突发性交互任务,而是以低优先级的形式参与全局调度。从而提高了交互任务响应时间,减少其任务丢失率,而计算密集型任务在经过提升时间后,进入与特定处理器进行绑定的高优先级队列中参与局部调度,减少了其在不同处理器之间切换所造成的处理器缺页,降低了调度延迟,从而有效提升计算密集型任务的响应实时性,交互任务能够和计算密集型任务并行执行,充分利用了多核处理器的性能。

A real-time scheduling method for simulated object model simulation based on RTLinux

The invention discloses a real-time scheduling method based on RTLinux for simulating and simulating the controlled object model. The periodic computation intensive task is not directly preempting the sudden sexual intercourse task when the cycle comes, but takes part in the global scheduling in the form of low priority. In order to improve the response time of interactive tasks, reduce the task loss rate, and computation intensive tasks after the promotion time, local scheduling into participating in the high priority queue is bound with a specific processor, reducing the switching between the different processors are caused by processor pages missing, reduces scheduling delay, so as to effectively enhance the real time the response of computing intensive tasks, interactive tasks can execute in parallel and computation intensive tasks, make full use of the performance of multi-core processor.

【技术实现步骤摘要】
一种基于RTLinux的被控对象模型模拟仿真实时调度方法
基于RTLinux的被控对象模型模拟仿真实时调度方法的研究是属于实时操作系统的调度性能领域,特别涉及模型模拟仿真计算以及仿真信号监控任务的响应实时性的关键问题,尤其涉及一种基于RTLinux的被控对象模型模拟仿真实时调度方法。
技术介绍
RTLinux(Real-TimeLinux)是由美国新墨西哥科技大学数据挖掘技术学院的VictorYodaiken为了提高系统实时性,在Linux内核基础上研发的一套实时操作系统。其将系统内核划分为实时内核和原有的Linux内核。实时内核上运行实时任务,原有Linux内核则作为实时内核的一个优先级最低的作业运行普通的作业。原有Linux内核通过实时内核访问硬件或进行其他操作,即系统的调度和管理都是由RTLinux内核负责。当系统中出现实时任务请求时,系统会以抢占方式优先调用该实时任务,从而保障实时任务的响应时间。RTLinux允许用户针对具体的应用场景改造实时调度方法,从而更有效的提高系统实时性能。随着计算机软件和硬件的快速发展,越来越多的动态仿真模型运行在多处理器通用机上,而目前RTLinux系统中提出的各种成熟的实时调度方法大多都是基于单处理器系统,无法充分发挥多核处理器强大的并行能力。同时,大多数的仿真模型系统中除了存在可预测的周期性实时计算任务以外,还存在大量的不可预测的非周期性交互任务。需要提出一种基于多处理器的混合任务实时调度机制来合理的分配模型中的任务到各个处理器中进行处理,在提高模型周期性任务实时性能的同时,减少突发交互任务的丢失率。
技术实现思路
对上述技术问题,本专利技术提出一种基于RTLinux的被控对象模型模拟仿真实时调度方法。为了解决上述技术问题,本专利技术的技术方案如下:一种基于RTLinux的被控对象模型模拟仿真实时调度方法,包括如下步骤:11)根据被控对象模型的仿真任务特点,将其划分为计算密集型任务和交互性任务,所述计算密集型任务负责不断的计算模型的仿真参数,是周期性的硬实时任务,假设有n个;所述交互性任务负责模型的I/O通信,是突发性的非周期性软实时任务;12)根据仿真系统处理器核心个数m,将实时任务队列划分为m-1个高优先级局部任务队列以及2个低优先级全局任务队列A、B,且A队列的优先级大于B列队,同时将仿真系统中存在n个周期性硬实时任务{τ1,τ2,…,τn},依次绑定到m-1个局部队列中;13)系统进行初始化,当不存在交互性任务时,各个计算密集型任务第一个周期的提升时间阈值为Li1,随后,对于每个计算密集型任务,根据上一个周期的响应时间,不断的更新下一个周期的提升时间阈值;14)对于模型的每个计算密集型任务τi,所述i大于等于1,且小于等于n,规定其在初始状态下,处于全局队列B中,与全局队列A中的交互性任务一起参与全局调度,当全局队列B中的密集型任务经过提升时间阈值后,会切换到对应的局部队列中,参与到特定处理器的调度,具体步骤包括:14-1):周期性的硬实时任务在每个周期到来时,首先加入到全局队列B中,使用非抢占式速率单调调度方法来参与调度;14-2):非周期性软实时任务出现时,加入到全局队列A中,使用非抢占式时限调度方法来参与调度;14-3):全局调度器遍历处理器列表,获取一个空闲的处理器,并从全局队列中按照优先级选择任务进行执行;14-4):全局队列B中的计算密集型任务经过提升时间阈值后,从全局队列中转移到原先绑定的局部队列中,使用抢占式最早时限优先调度方法参与特定处理器的调度。进一步的,步骤13)中更新提升时间阈值的方法包括如下步骤:21)当系统处于初始状态时,通过模拟理想状态下的实时任务调度,能够得到每个计算密集型任务的响应时间Ri,并通过公式得到每个任务第一个周期的提升时间阈值Li1;所述Di为每个任务的截止时间;22)当第i个计算密集型任务第k次周期结束后,获得当前周期的响应时间Rik,并通过公式得到第k+1次周期的提升时间阈值Lik+1。进一步的,步骤14)中当交互性任务出现时,需要通过调度模拟,计算检测该任务的执行是否会响应到周期性的硬实时任务响应情况,具体包括如下步骤:31)首先对当前出现的所有交互性任务按照非抢占式速率单调调度方法进行排序,对于第u个交互性任务Pu=<Du,Au,Eu>,通过计算公式来判断是否可接受,其中αj为第j个交互性任务已经完成的时间部分,T指周期性服务器的周期,L是指将这个周期平均分为L个单位,D和A都作为时间单位,若δu>0,则进一步判断当此任务加入到全局队列A后,所有截止时间在Du之后的突发任务的相应δ,若δ>0,则可以接受该作业,并将该任务放入全局队列A对应的位置,否则丢弃。本专利技术的有益效果在于:与现有技术相比,(1)周期性计算密集型任务在周期到来时,并不是直接抢占突发性交互任务,而是以低优先级的形式参与全局调度。从而提高了交互任务响应时间,减少其任务丢失率。(2)计算密集型任务在经过提升时间后,进入与特定处理器进行绑定的高优先级队列中参与局部调度,减少了其在不同处理器之间切换所造成的处理器缺页,降低了调度延迟,从而有效提升计算密集型任务的响应实时性。(3)交互任务能够和计算密集型任务并行执行,充分利用了多核处理器的性能。附图说明图1为基于RTLinux的被控对象模型模拟仿真实时调度方法示意图;图2为周期性计算密集型任务调度流程示意图;图3为处理器调度过程。具体实施方式下面将结合附图和具体实施例对本专利技术做进一步的说明。步骤1:根据被控对象模型的仿真任务特点,将其划分为计算密集型任务和交互性任务,主要是完成simulink模型自带的计算程序的任务作为计算密集型任务,而完成与外部交互的程序的任务作为突发性交互性任务。前者是计算密集型任务负责不断的计算模型的仿真参数,是周期性的硬实时任务,必须保证其实时性;而后者是交互性任务负责模型的I/O通信,是突发性的非周期性软实时任务,尽可能保证在截至时间之前完成,如果完成不了,则丢弃。步骤2:根据仿真系统处理器核心个数m,将硬实时任务队列划分为m-1个高优先级局部任务队列以及2个低优先级全局任务队列A、B,局部列队和全局列队两者相互独立,全局是指在全局队列中的任务可以选择任何处理器进行调度,而局部则指当前局部队列只能在原先绑定过的处理器上进行调度。其中按照优先级高低分局部队列>全局队列A>全局队列B。同时设仿真系统中存在n个周期性实时任务{τ1,τ2,…,τn},依次绑定到m-1个局部队列中,具体例如可以采取在Linux内核的cpu数据结构上加上一个队列模块,标识当前处理器所绑定的局部队列的方式进行绑定。步骤3:系统在初始状态时,模拟、计算理想状态下(不存在突发性交互任务),各个周期性计算密集型任务第一个周期的提升时间阈值L1。随后,对于每个周期性任务,根据上一个周期的响应时间,不断的更新下一个周期的提升时间阈值。步骤4:对于模型的每个计密集型任务τi,规定其在初始状态下,处于全局队列B中,以更低的优先级与全局队列A中的交互性任务一起参与全局调度。当全局队列B中的密集型任务经过提升时间后,会切换到对本文档来自技高网...
一种基于RTLinux的被控对象模型模拟仿真实时调度方法

【技术保护点】
一种基于RTLinux的被控对象模型模拟仿真实时调度方法,其特征在于,包括如下步骤:11)根据被控对象模型的仿真任务特点,将其划分为计算密集型任务和交互性任务,所述计算密集型任务负责不断的计算模型的仿真参数,是周期性的硬实时任务,假设有n个;所述交互性任务负责模型的I/O通信,是突发性的非周期性软实时任务;12)根据仿真系统处理器核心个数m,将实时任务队列划分为m‑1个高优先级局部任务队列以及2个低优先级全局任务队列A、B,且A队列的优先级大于B列队,同时将仿真系统中存在n个周期性硬实时任务{τ1,τ2,…,τn},依次绑定到m‑1个局部队列中;13)系统进行初始化,当不存在交互性任务时,各个计算密集型任务第一个周期的提升时间阈值为Li

【技术特征摘要】
1.一种基于RTLinux的被控对象模型模拟仿真实时调度方法,其特征在于,包括如下步骤:11)根据被控对象模型的仿真任务特点,将其划分为计算密集型任务和交互性任务,所述计算密集型任务负责不断的计算模型的仿真参数,是周期性的硬实时任务,假设有n个;所述交互性任务负责模型的I/O通信,是突发性的非周期性软实时任务;12)根据仿真系统处理器核心个数m,将实时任务队列划分为m-1个高优先级局部任务队列以及2个低优先级全局任务队列A、B,且A队列的优先级大于B列队,同时将仿真系统中存在n个周期性硬实时任务{τ1,τ2,…,τn},依次绑定到m-1个局部队列中;13)系统进行初始化,当不存在交互性任务时,各个计算密集型任务第一个周期的提升时间阈值为Li1,随后,对于每个计算密集型任务,根据上一个周期的响应时间,不断的更新下一个周期的提升时间阈值;14)对于模型的每个计算密集型任务τi,所述i大于等于1,且小于等于n,规定其在初始状态下,处于全局队列B中,与全局队列A中的交互性任务一起参与全局调度,当全局队列B中的密集型任务经过提升时间阈值后,会切换到对应的局部队列中,参与到特定处理器的调度,具体步骤包括:14-1):周期性的硬实时任务在每个周期到来时,首先加入到全局队列B中,使用非抢占式速率单调调度方法来参与调度;14-2):非周期性软实时任务出现时,加入到全局队列A中,使用非抢占式时限调度方法来参与调度;14-3):全局调度器遍历处理器列表,获取一个空闲的处理器,并从全局队列中按照优先级选择任务进行执行;14-4)...

【专利技术属性】
技术研发人员:杨国青李红季乔卡吴朝晖
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1