收藏 分享(赏)

分级调度实时架构中处理器资源预设值的预借性.doc

上传人:无敌 文档编号:143706 上传时间:2018-03-22 格式:DOC 页数:11 大小:141KB
下载 相关 举报
分级调度实时架构中处理器资源预设值的预借性.doc_第1页
第1页 / 共11页
分级调度实时架构中处理器资源预设值的预借性.doc_第2页
第2页 / 共11页
分级调度实时架构中处理器资源预设值的预借性.doc_第3页
第3页 / 共11页
分级调度实时架构中处理器资源预设值的预借性.doc_第4页
第4页 / 共11页
分级调度实时架构中处理器资源预设值的预借性.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、分级调度实时架构中处理器资源预设值的预借性 王华忠 王文凯 颜秉勇 华东理工大学化工过程先进控制和优化教育部重点实验室 摘 要: 分层多级自适应调度 (AdHierSched) 架构是 Linux 操作系统中的虚拟实时架构, 在系统运行时, 它通过监测各子系统对处理器资源的需求动态调整资源分配。本文在分级调度架构中提出了处理器资源预借机制 (BBM) , 通过服务器间资源的动态分配达到处理器资源在各个实时系统中优化配置的目的, 并针对AdHierSched 架构中资源预设值的预借性进行设计和实现, 通过静态任务和动态任务对该资源预设值预借控制器进行实验评估。实验结果表明:当AdHierSche

2、d 架构伴随着处理器预借机制和资源调整机制同时运行时, 内部运行任务整体的截止期限超出率减小。此外, 资源预借性机制的添加导致的系统额外开销相比系统总的开销很小, 表明该方案适合在实际分级调度实时系统内推广使用。关键词: 虚拟实时架构; 动态任务; 分级调度; 截止期限超出率; 资源预设值预借机制; 作者简介:王华忠 (1965-) , 男, 副教授, 主要研究方向为复杂工业过程建模、控制与故障诊断。E-mail:收稿日期:2016-12-06基金:国家自然科学基金青年基金 (51407078) Resource Borrowing Mechanism Based on Hierarchica

3、l Scheduling Real-Time FrameworkWANG Hua-zhong WANG Wen-kai YAN Bing-yong Key Laboratory of Advanced Control and Optimization for Chemical Processes, Ministry of Education, East China University of Science and Technology; Abstract: Multi-level adaptive hierarchical scheduling (AdHierSched) framework

4、 is a virtualized realtime framework in Linux operating system, which dynamically schedules the CPU partition sizes by monitoring the demand of every subsystem during running process.This paper presents a Budget Borrowing Mechanism (BBM) in hierarchical scheduling framework.The proposed BBM can dyna

5、mically assign the CPU resource between servers in real-time systems.Moreover, in AdHierSched framework, the proposed BBM is designed and implemented for dynamical adaptation the resource parameters.Both static and dynamic tasks are utilized to evaluate the budget borrowing controller.Experiment res

6、ults show that while different tasks execute in the framework with the proposed BBM, the tasks deadline miss ratio is lower than those without using this mechanism.Compared with the total overhead of system, the extra overhead from budget borrowing calculation is very small.Hence, the proposed mecha

7、nism is suitable in actual applications.Keyword: virtualized real-time framework; dynamic task; hierarchical scheduling; deadline miss ratio; resource budget borrowing mechanism; Received: 2016-12-06系统虚拟技术的广泛应用使得实时操作系统 (RTOSs) 能够与 Linux、Windows或者其他系统在同台机器上同时运行。当多个实时系统在虚拟系统中同时运行时, 保持其各自建立时的时序属性不变显得尤为

8、重要。通过运用分级调度 (Hierarchical scheduling) 技术可使组合后的各个系统相对安全地按照实时系统的时序要求进行运行1。同一硬件平台上 CPU 资源的分配方式严重影响着各系统性能的发挥, 将 CPU 资源分为一系列分区并分配给各个实时系统是分级调度技术中资源分配的主要方式, 通过将单个系统获得的 CPU 资源和其实际的需求进行比较和调整, 可达到 CPU 资源在各个系统中的最优配置2。而单个系统实际资源需求是通过其内部任务的最坏情况执行时间 (WCET) 获得的, 但在实际应用中有些实时任务的 WCET 不是先验已知的, 例如视频解码器应用程序, 其执行时间主要决定于输

9、入视频包含的内容, 因视频的不同会有显著的改变;依靠传感器来控制物理环境变化的控制任务, 其对 CPU 需求也因环境的改变而改变。即使 WCET 是已知的, 其值通常比平均执行时间大, 若按照 WCET 对每个实时系统进行资源分配, 必将导致处理器资源的浪费, 而且任务偶尔超出截止期限的情况在大多数软实时系统中是可以接受的, 所以在资源有限的嵌入式系统中过多分配 CPU 资源是极不可取的。AdHierSched3架构具有在线监测任务资源需求的能力, 从而解决了上述问题。该架构是一个将硬实时系统和软实时系统组合在一起的虚拟嵌入式实时系统, 运用分级调度技术和基于服务器调度算法4, 不但能够为硬实

10、时系统分配静态的 CPU 资源, 而且可根据软实时系统运行时的实际需求而动态调整其获得的CPU 资源5。分级调度架构 (HSF) 6-8运用 CPU 分区技术, 将 CPU 资源分割成一定数量的区域, 并将每个区域分配给架构中的子系统。架构内的全局调度器调度其内部所有子系统, 每个子系统内包含一个调度其内部任务或其子系统的本地调度器。分级调度系统中采用何种方式分配处理器资源至关重要, 目前虽有文献对分级调度架构中处理器资源分配领域做了研究, 但对处理器资源借用机制的研究鲜有报道。本文针对该问题, 提出了处理器资源预借适应机制, 并将该机制运用于 Linux 内核可加载模块 AdHierSche

11、d 架构中, 通过动态任务和静态任务对该机制进行评估, 并对引入该机制而增加的额外开销进行分析。1 分层多级调度架构图 1 为 AdHierSched 架构框架图, 包含服务器、资源控制器、调度器、硬实时应用程序和软实时应用程序。其中每个子应用程序又可以包含 mi个子程序和 nj个任务。AdHierSched 架构采用文献9中的周期性服务器, 服务器在每个周期会获得预定数量的 CPU 资源, 若本周期中没有应用程序或者任务需要运行, 服务器会废弃该部分 CPU 时间。一个包含应用 Ai的服务器 Sj通常含有 4 个参数:服务器周期 Tj、服务器预设值 B、优先级 Prj和服务器重要性值 j。重

12、要性值表示在同一系统内且具有相同父应用的服务器间的重要程度, 该值仅应用于系统过载时。若系统过载, 为使重要性值较高, 服务器中的应用具有相对低的截止期限超出率, 系统需要以牺牲重要性值相对较低的服务器为代价。AdHierSched 架构中运行两种类型的周期性任务: (1) 具有固定执行时间的任务 (静态任务) ; (2) 具有动态执行时间的任务 (动态任务) 。属于应用程序Ai的周期任务 j表述如下: j= (Pj, Cj, Prj, Dj) , 其中 Pj, Cj, Prj, Dj分别代表任务周期、最坏情况执行时间、任务优先级和任务截止期限。本文中, 任务的截止期限等于任务的周期, 在硬实

13、时任务中 Cj是可用的, 但软实时任务的 WCET 在其执行完之前是未知的。本文采用最早期限优先算法 (Early Deadline First, EDF) 10来调度每一个子系统中的所有任务。硬实时应用和软实时应用是运行在 AdHierSched 架构中的两类应用, 通常应用Ai由 ai个实时任务 j和 bi个子应用程序 Am组成, i 代表第 i 个应用程序, j和 m 分别代表第 j 个任务和 Ai的第 m 个子应用程序。此类应用具有继承特性, 即若一个应用程序为软实时应用程序, 则其内部组件也为软应用程序或软实时任务。在系统运行的整个生命周期中, 硬实时应用程序会获得一份固定的 CPU

14、资源, 本文采用文献11中的算法计算该资源大小。而每个软实时应用程序会获得一块动态的 CPU 资源, 该资源值为关于时间 t 的函数 Bi (t) 3, 系统虽可通过在线监测其内部组件在每个时间节点的需求而调整服务器资源预设值, 但各系统内部运行任务的截止期限超出率仍不理想, 而本文提出的处理器资源预借机制可以较好地解决该问题。图 1 AdHierSched 架构框架图 Fig.1 AdHierSched framework 下载原图2 分级调度实时架构中处理器资源预设值预借机制2.1 服务器资源预借机制为使任务 j能在截止期限前完成执行, 服务器 Sj需要向即将到来的下一个服务器周期 Sj+

15、1借用资源。例如架构中有任务 1, 其周期与其截止期限相等, P1=D1=10ms, 任务执行时间 C1=6ms。 1在服务器 S1下运行, 服务器周期T1=10ms, 资源的预设值 B1=4ms。图 2 所示为服务器资源以及任务执行时间在运行时的追踪图。因任务 1的执行时间是 6ms, 而服务器预设资源仅为 4ms, 若不采取任何措施, 该任务将会错过其截止期限。为尽可能避免其发生, S 1在其第 1 个服务器周期 T1资源耗尽后向即将到来的第 2 个服务器周期 T2借用 2 个单位的资源。由图 2 可以看出, 因服务器周期 T2中的资源被借用, 其值比正常情况小, 此时系统运用预设值控制器

16、来调整服务器的资源, 以此减少因资源外借而导致的影响。本例中任务的执行时间被认为是已知的, 但实际情况下大多软实时任务的执行时间是不确定的, 为了能够在 AdHierSched 架构中运用预设资源预借机制, 本文设计一个用来计算预设资源的估计器。2.2 资源预借机制触发时机的设计因不明确任务的执行时间, 服务器很难确定触发资源预借机制的时机, 针对此问题, 本文提出了一种新方法来告知服务器何时需要借用资源。动态任务 j的执行时间 Cj未知, 其截止期限与任务周期相等, 当服务器没有系统资源时, 其下面运行的任务因资源问题而暂停, 直到该服务器资源得到补充才可以继续执行。任务截止期限与其停止时间

17、 tk之间的时间间隔为 t, 通过比较 t 与服务器周期的大小并检查该任务是否完成执行就可决定其是否会错过截止期限。如果 t 小于服务器周期, 而且该任务还没有执行完, 那么将不能在截止时间以前执行完。因为在服务器的资源没有得到补充前, 该任务只能处于等待状态, 当等待状态结束时, 其已经超出截止期限。为确保任务能够在 t 时间内继续执行, 服务器需要在结束当前周期前触发资源预借机制, 从即将到来的下一个服务器周期中借一定数量的资源, 进而维持任务能够继续执行。图 2 服务器预设资源以及任务执行时间在运行时的追踪图 Fig.2 Example of server borrow budget a

18、nd task execution tine 下载原图如图 3 所示, 任务 j和服务器 Sj在 AdHierSched 架构中运行, 由于服务器资源耗尽, j必须在 t1时刻停止执行, 直到服务器资源在 T2周期内得到补充后, j才可以继续执行。因 t 1大于服务器周期 T1, 此时无需启动资源借用机制;当时间为 t2时, 因 t 2小于服务器周期 T2, 如果 j不能执行完, 那么会错过它的截止期限。为避免该现象发生, 服务器会运用资源预借机制从服务器周期T3借用一定数量的资源, 这样任务 j才有可能在其截止期限以前完成运行。图 3 触发资源预借机制时机实例图 Fig.3 Example

19、diagram of resource BBM 下载原图2.3 资源借用量的设计在运行资源预借机制之前, 通过计算系统总的可用带宽, 可以获得系统内总的可用资源。因系统总的 CPU 带宽为 1, 所以总的 CPU 带宽减去系统应用占用的带宽即为可借用带宽, 计算公式如下:其中:U free为可借用带宽;U i为服务器 i 所占用带宽。由系统 CPU 可借用带宽可计算出服务器在当前周期中最大可借资源值 BMax, 其计算公式如下:为了估计实际需要借用资源的量, 本文运用自回归模型 (Autoregressive (AR) model) 12估计每个服务器周期中所需分配资源的量。自回归是变量对自身

20、的回归, 根据历史数据估计出相对准确的估计值, 通过 AR 模型获得的估计值可用式 (3) 表述。其中:c 为一个常量;e k为白噪声; k为自回归系数;B k为变量的历史数值;B k+1为新估计值。在适配模块中, 系统会在每一个服务器周期的开始为其分配一定数量的资源, 但当需要运用资源预借控制器时, 通过 AR 模块给出 bk (最佳估计预算值) 和 bk (悲观估计预算值) 两个预估计值, 计算公式如下:其中:w k为第 k 次观察值的自回归系数; j (k-1) 为第 (k-1) 次的服务器预设值;e k和 ek分别为两次估算的白噪声。服务器在周期开始时获得 bk数量的资源, 但当服务器

21、因分配资源不足而需要触发资源预借机制时, 其可借用的处理器资源量为 。2.4 系统过载的处理服务器获得系统分配的资源后, 计算所得的借用资源 有可能大于最大可借资源 BMax, 导致系统出现过载现象。为了避免该情形的发生, 借用资源 需要与最大可借资源 BMax进行比较, 当 B Max时, B Max数量的借用资源会被分配给服务器;但当过载不可避免时, 重要性值较高的应用程序会从重要性值较低的应用程序那里获取资源, 以此来维持其内部任务的运行。3 实验设计与验证3.1 实验环境配置实验采用内核版本为 3.8.2、系统版本为 Ubuntu 14.04.02 的 Linux 操作系统, 且内核调

22、度器分辨率为 1ms。处理器采用时钟为 2.13GHz 的 Intel (R) Core (TM) i3-M330, 内存容量为 1GB。在整个实验过程中, 自回归系数 k为1/。高斯白噪声 ek和 ek分别为 (1/2) std ( j (k) , ) 和 (2/3) std ( j (k) , ) , 其中 std 为其前 次资源 j (k) 的标准偏差。3.2 实验任务的选择和实验设计运用动态任务和静态任务对 AdHierSched 架构进行评估, 其中动态任务由两部分组成, 一部分动态任务的执行时间由泊松分布随机产生, 剩下的任务来自Mplayer 音乐播放器程序。当播放音乐时, 为了

23、使 AdHierSched 架构能够收到Mplayer 音乐播放器中的任务, Mplayer 的源代码被稍微改动。在 3 种不同条件下进行实验: (1) 架构仅伴随资源预借控制器运行; (2) 架构仅伴随资源调节器运行; (3) 架构同时伴随资源预借控制器和资源调节器运行。3.3 实验结果3.3.1 单服务器和单静态任务实验任务 j和服务器 Sj的详细参数见表 1。服务器初始化预设值依据系统平均负载而定, 本实验中设为 80 ms。任务 j在 3 种情况下各连续执行 100 次, DMR (Deadline Miss Ratio) 记录如下:在条件 1 下运行时, 其 DMR 值为 99%;在

24、条件 2 和条件 3 下运行时, DMR 值分别为 1%和 0。在条件 1 下, 由于服务器在第2 个周期中借用第 3 个周期的资源, 任务 j可以在截止期限前完成执行。由于第 3 个服务器周期的资源被借用了, 虽然其能够借用第 4 个服务器周期的资源, 但是借用的资源量仍然不够此任务的第 2 次运行, 因此将错过截止期限。由此导致多米诺效应, 使剩下的任务都不能在截止期限以前完成执行。在条件 2 下, 资源调节器通过调节服务器资源以确保在下一个服务器周期中资源能够增加, 虽然第 2 个服务器周期内的任务错过了截止期限, 但剩下的所有任务因资源的调整而都能够及时完成执行。在条件 3 下, 两控

25、制器共同调节服务器资源, 表现性能最好, 具有最低 DMR 值。表 1 任务 j 和服务器 Sj 参数表 Table 1 Specification ofjand Sj 下载原表 3.3.2 多服务器多静态任务实验本实验采用 4 个静态任务和 3 个服务器, 详细参数见表 2, 服务器的重要性值与服务器的编号一致, 即 0 1 2。图 4 示出了实验结果。实验表明, 当AdHierSched 在条件 2 下工作时, 所有任务具有最低的 DMR 值;当任务在条件 3下运行时, 由于有过载发生, 因服务器 S 重要性值最高, 系统为使其下面任务具有相对较低的 DMR 值, 导致分配到服务器 S 内

26、的资源有所减少, 造成任务DMR 值在此实验中有所增加。表 2 静态任务和服务器参数表 Table 2 Parameter specification of servers and tasks 下载原表 图 4 多静态任务多服务器实验结果 Fig.4 Multiple static tasks and severs experiment 下载原图3.3.3 单服务器单动态任务实验本实验中, 动态任务的执行时间在 4090ms 之间变化。任务和服务器的详细参数见表 3。图 5 示出了本实验中任务执行时间的正态分布图。本实验共有 20 组, 每组包含 100 个不同的执行时间。因动态任务的执行时间

27、不同导致每组的 DMR输出有所变化。图 6 所示为本次实验中服务器在不同运行条件下的最高、最低和平均截止期限超出率。实验结果表明, 该架构在条件 3 下工作的表现性能最好, 其平均 DMR 值仅为 13%, 运行在条件 1 和条件 2 下的平均 DMR 值分别为 51%和 19%。表 3 单服务器单动态任务实验 Table 3 Specification of the server and dynamic task 下载原表 图 5 动态任务的工作执行时间正态分布图 Fig.5 Normal distribution of all the dynamic tasks 下载原图图 6 单动态任务

28、实验结果 Fig.6 Single dynamic task deadline miss ratio experiment results 下载原图3.3.4 多服务器多动态任务实验本实验采用 5 个动态任务和 3 个服务器, 其详细参数见表 4, 实验结果见图 7。由图 7 可知, 当架构在条件 1 下运行时, 每个服务器下面的任务都有错过截止期限的情况发生。然而当架构在条件 2 下运行时, 其表现性能好于前者, 各个任务的平均 DMR 值都有所下降;当架构在条件 3 下运行时, 任务 、 和 的平均 DMR 值比在条件 2 时更低, 但是任务 和 的 DMR 值反而有所增加, 造成此情况是

29、因有过载发生, 所以系统根据各服务器的重要性值进行分配资源。因 S 具有最高的重要性值, 因此该架构以减少对服务器 S、S 资源分配为代价来提高 和 的 DMR 值, 因此任务 和 的 DMR 值才会增加。表 4 多动态任务多服务器实验参数表 Table 4 Specification of multiple dynamic tasks and servers 下载原表 图 7 多动态任务多服务器实验结果 Fig.7 Multiple dynamic tasks and severs experiment 下载原图3.3.5 系统开销分析去除 Linux 系统调度开销外, 实验运行时系统内共有

30、 3 种开销: (1) 用来计算调度任务的分级调度开销; (2) 资源预借控制器中用来计算和借用服务器资源的开销; (3) 资源调控器中用来计算和调节服务器资源的开销。本文通过程序运行时的时间戳来测量开销。针对多服务器多动态任务的实验, 当架构在条件3 下运行时, 3 种开销所占的比例见图 8。用来计算资源预借控制器和资源调控器的额外开销都很小, 几乎相同, 且 3 种开销的总和约为 0.224%CPU 时间, 故因添加资源预借控制器而添加的额外开销在实际应用中是可以接受的。3.3.6 与分级调动架构中其他资源调节机制的比较文献13通过采用反馈控制理论实现分级调度架构中处理器资源在子系统中的动

31、态调整, 反馈控制虽有很多优点, 但当多个任务同时执行时, 反馈控制器上的时滞问题严重, 系统资源不能及时分配到相应的子系统中, 因此执行任务的截止期限超出率虽略有下降, 但依然不是很理想;文献14在分级调度架构内采用模糊控制来调整 CPU 资源在子系统中的分配。模糊控制虽具有较强的鲁棒性和容错能力, 但是由于分级架构内仅对资源信息进行模糊处理, 导致架构内动态调整资源分配的能力不是很强。分级调度架构内 CPU 资源不同调节机制对比参见表 5。图 8 条件 3 下系统开销实验 Fig.8 Overhead experiment when the framework runs under con

32、dition 3 下载原图表 5 分级调度架构内 CPU 资源不同调节机制对比 Table 5 Different CPU resource adjust mechanisms in HSF 下载原表 4 结论本文对分级调度实时系统内部的资源配置进行研究, 提出了处理器资源预借机制, 并在 AdHierSched 架构内对该机制进行研究、设计和实验验证。首先运用自回归模型为即将运行的服务器估计新的预设资源, 然后通过运用实时系统中动态任务和静态任务来对该机制进行评估, 实验结果表明:当 AdHierSched 架构伴随着处理器预借机制和资源调整机制同时运行时, 内部运行任务整体的截止期限超出率

33、减小, 实时系统中资源的分配得到优化。此外, 资源预借性机制的添加没有明显增加系统额外开销, 因而本文提出的方案在分级调度实时应用系统中具有较高的实用价值。参考文献1Chris Grujon.Gnu operating systemEB/OL.2016-07-08.http:/embedded- 2YAMAGUCHI A, NAKAMOTO Y, SATO K, et al.EDFPStream:Earliest deadline first scheduling of preemptable data streams:Issues related to automotive applicat

34、ionsC/2015IEEE 21st International Conference on Embedded and Real-Time Computing Systems and Applications.Hong Kong, China, IEEE, 2015:257-267. 3KHALILZAD N, BEHNAM M, NOLTE T.Multi-level adaptive hierarchical scheduling framework for composing real-time systemsC/2013 IEEE 19th International Confere

35、nce on Embedded and Real-Time Computing Systems and Applications.Taipei, China:IEEE, 2013:320-329. 4LUCA M, GIUSEPPE L, PATRICIA B, et al.Iris:A new reclaiming algorithm for server-based real-time systemsC/10th IEEE Real-Time and Embedded Technology and Applications Symposium.USA:IEEE, 2004, 211-218

36、. 5KHALILZAD N, BEHNAM M, NOLTE T.Implementation of the multi-level adaptive hierarchical scheduling frameworkC/9th Annual Workshop on Operating Systems Platforms for Embedded Real-Time Appllication.Paris, France:ACM, 2013:11-19. 6BIONDI A, GIORGIO C B, MARKO B.Schedulability analysis of hierarchica

37、l real-time systems under shared resourcesJ.IEEE Transactions on Computers, 2016, 65 (5) :1593-1605. 7VAN DEN H, MARTIJN M H P, REINDER J.Budget allocations for hierarchical fixed-priority scheduling of sporadic tasks with deferred preemptions upon EDP resourcesJ.ACM SIGBED Review, 2015, 12 (1) :19-

38、27. 8LUNNISS W, SEBASTIAN A, ROBERT I D.Accounting for cache related pre-emption delays in hierarchical scheduling with local EDF schedulerJ.Real-Time Systems, 2014, 52 (2) :13-16. 9INSIK S, LEE I.Periodic resource model for compositional real-time guaranteesC/RTSS03Proceedings of the 24th IEEE International Real-Time Systems Symposium.USA:IEEE, 2003:2-13.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报