文摘

对于采用utilization-based调度性测试的关键是获得利用。考虑到计算时间,本文提出了两种利用绑定算法无优先获得interrelease时间周期任务,使用一个新的优先配屋计划,”率单调Algorithm-Shortest工作第一。“获得任务具有单调速率算法的优势和最短工作的首要任务。此外,测试任务集调度性,首先推导一般从“窗口”问题分析和调度性条件,必要且充分的调度性条件要调度的任务,在任何释放时间也派生。技术贡献,成功率和有效的处理器利用率分析我们提出利用绑定使用UML-RT算法在单处理器体系结构建模。

1。介绍

任务在一个实时系统必须执行期限内生产功能及时正确的结果。这意味着任务的时间要求,提交给实时系统,是已知的1]。实时系统中的每个任务将根据调度算法的特点。最广泛使用的处理器的周期性实时任务调度算法是单调速率算法(RMA) Lehoczky等人提出的在2]。让 表示任务的一组” “任务周期系统。为每一个任务 、任务的利用率 计算时间比其interrelease时间: 。然后,系统负载 周期性的任务系统是利用任务的总和 。单调速率算法(RMA)分配priority-smaller,更高的优先级,每个任务都有自己的独特的优先级(3]。根据(4),组” “独立先发制人的周期性任务可调度使用RMA当且仅当系统负载 是由以下几点: 后来,最低利用率的RMA” “单处理器上的先发制人的任务数量被发现在5]给出的以下: 在哪里 是比任何两个时期之间,小于2。

有两种类型的调度策略:无优先调度和抢占式调度。无优先战略、任务开始执行,不会抢占的出现高优先级的任务。一个高优先级的任务将抢占低优先级任务抢占式调度。然而,无优先调度是首选,因为他们更容易实现和运行时开销低于抢占式调度6]。

越来越多的兴趣使用对象范例开发实时软件(7]。软件在实时嵌入式系统设计的主导地位引起兴趣的方法与软件社区广泛接受符号,如统一建模语言(UML)。统一建模语言(UML)是一种建模语言捕捉使用图形符号的规范和实现在软件社区4]。这种方法是以图形化的方式描述规范,促进规范的正确性,并自动生成实现的测试场景。本文提供一个面向对象的基于平台的设计,对使用UML-RT处理器体系结构的调度性分析提出利用约束算法基于一种新的优先配屋计划“Monotonic-Shortest工作速度第一”(RM-SJ)。

2相关的工作,该方法进行了探讨。部分3描述了系统模型使用UML-RT和符号使用。任务的调度性条件和通用调度性测试部分中讨论45,分别。提出优先配屋计划和利用约束算法讨论了部分6。必要且充分的调度性条件要调度的任务,无论释放时间,节中衍生出来的7。部分8处理绩效评估提出的算法。最后,部分9结论与结果分析。

单处理器调度,Jeffay et al。6]给出一个确切的调度性测试pseudopolynomial时间复杂度为一个周期或零星任务设置下无优先EDF调度单处理器上。乔治et al。8)建立确切的调度性测试无优先EDF和无优先几个调度与pseudopolynomial单处理器时间复杂度和处理一般任务模型相对截止日期和时间不一定是相关的。约纳利等。3)解决无优先循环任务的调度性分析,无优先零星任务的一般形式,并显示无优先调度性分析问题可以减少到一个多项式的抢占式调度性分析问题。

接纳控制是一种依赖于调度策略和算法确保只有任务,将满足他们的最后期限被接受到系统9]。因此,通用绑定派生和仅用于入学RMS-based控制系统需要的信息数量的任务系统中承认。如果有更多的信息任务特征进行了分析,可以获得更好的接纳控制。例如,描述的准确表征Lehoczky等人在2)使用计算时间( )和interrelease时间( 允许控制)值。在[10今后,等人使用知识的时期任务来获得更好的录取控制RMS的任务。显然,使用更多的信息允许控制的复杂性增加时,因为有更多的变量来考虑录取控制。在[11派生一个调度性),陆等人前往无优先单调速率调度使用时间比的任务提供一个保证任务会满足他们的最后期限。当处理器优先配屋计划被认为是,刘和Layland [4]表明,速率单调优先级排序(RMPO)是最优的独立同步周期任务。梁和怀特海德(12]显示,截止时间单调优先排序(DMPO)是最佳独立同步任务期限的限制。Audsley [13)发明了一种最优优先分配(OPA)算法,解决了这个问题的优先级分配为异步taskset,和任意的任务期限。

在[1),关等人addresse non-preemptive-fixed优先级调度性测试条件(NP-FP),建立在“问题窗口分析”抢占式调度多处理器。首先,线性时间一般调度性测试条件,不仅在NP-FP,而且其他work-conserving无优先调度算法推导;然后分析是以测试条件的二次NP-FP时间复杂度,这第一个比较显著的性能改进。在[14]Bertogna等人得到多处理器实时系统调度性条件的一种通用方法,在“问题”窗口,然后收紧和分析两个算法,即最早的期限(EDF)和固定优先级(FP)。

这个概念的“窗口”问题分析在多处理器上广义单处理器任务调度性条件和环境在任何释放时间为一个周期任务调度性。进一步提出了两种利用绑定算法使用一种新的优先级分配方案”率Monotonic-Shortest工作”(RM-SJ)和任务调度性进行了分析。

3所示。使用UML-RT和符号系统模型

考虑一个工作无优先保护单处理器实时系统。一个任务集, 在那里,有“ ”任务,每个任务 特点是两个parameters-computation时间吗 和interrelease时间或时期 ,解释任务生成的每个整数倍interrelease时间执行 单位在下一个整数interrelease时间之前 。执行所有任务生成的是独立的,在一个无优先使用UML-RT单处理器体系结构建模。描述在表使用的符号1

3.1。UML-RT

UML-RT实时建模工具,Rational开发的公司。UML-RT使用统一建模语言(UML)来表达原来的房间(实时面向对象模型)的概念和扩展。它包括造型的结构行为和事件驱动的实时系统的结构概念。Rational Rose实时软件开发环境适合实时软件的要求。它是用于创建基于UML模型的软件系统结构,生成代码,编译,然后运行和调试应用程序。可以使用Rational Rose实时通过软件开发生命周期的所有阶段,通过设计,实现,测试,部署。UML-RT概要介绍了一组通用调度注释是相当足够的执行调度性分析(15]。使用Rational Rose实时开发人员可以执行测试和调试模型建模语言层面上使用视觉观察工具。

在UML-RT造型结构的四个原则构造是胶囊,端口,协议,和连接器(5]。

3.1.1。胶囊

的基本造型构造UML-RT胶囊。胶囊是分布式体系结构活动对象,与其他胶囊只通过一个或多个端口。胶囊的行为是模仿的状态转换图,可以处理(发送和接收)消息通过他们的港口,而其胶囊结构(层次)的结构模型图。使用UML-RT提出模型的结构图如图1

3.1.2。港口

通过端口,发送和接收消息,从胶囊实例。端口连接到一个状态机的胶囊(结束端口)可以处理发送的消息。胶囊及其相关的输入和输出端口如表所示2

3.1.3。协议

协议定义一组之间交换的消息的一组胶囊。重要的计时器港口和消息用于胶囊如表所示3

3.1.4。连接器

连接器捕获的关键通信胶囊角色之间的关系。他们互连胶囊通过端口角色也有类似的公共接口。

4所示。任务的调度性条件

期限小姐发生的必要条件 是,最坏的工作负载, 所有其他任务的任务集 除了 不少于 是最新的可行的开始时间 开始执行以满足其期限,如图2

目的是计算最坏的工作负载的个人贡献的其他任务,也就是说, 在问题域, 如图2。的工作负载 可以分为三个部分,如图3

最初的工作。任务的贡献 在问题域 当计算任务 开始之前或在 有期限的问题区域。

中间的工作, 。的计算任务 开始于 早些时候在问题区域和期限

最后的工作。任务的贡献 在问题领域 当计算任务吗 开始于 和最后期限之后或在 。假设所有任务贡献最大的问题区域。这是一个悲观但安全的近似计算任务的工作量问题地区(3]。

计划, 在哪里

5。一般调度性测试

整个任务集可调度的只有当每个任务可调度。计算时间的任务安排,

定理1。最高优先级的任务 可调度的工作保护无优先调度算法如果

证明。的矛盾,如果 ,那么最高优先级的任务 可能会错过最后期限。我们回想一下, 的子集最大计算时间 。无优先体系,任何 不会被抢占,如果它开始执行之前任何更高优先级的任务的释放时间。考虑到 。从图4,它是显示 开始执行 仍在执行 导致了任务 错过最后期限。
因此,如果 ,然后 将可调度。

定理2。一个任务 可调度的工作保护无优先调度算法如果

证明。在[3),一个算法是保护工作,如果没有空闲的处理器,当一个任务等待做好了准备。一个任务调度性条件 是由(3)和(4)。最后工作的贡献是有界的第二个任期RHS (7)。因此,从(4)总体调度性 方程(8)表示悲观,一个任务可调度的充分条件。一个任务才会安排在任务设置如果(8)是满意的。因此, 除以 , 方程(11)是一个任务的条件 可调度的。
充分调度性条件的最低优先级的任务(9), ,忽视了(12),因为调度性条件 执行 进行了分析。

6。提出了利用一定的算法

6.1。率单调Algorithm-Shortest工作第一(RMA-SJF)

在最短的工作(SJF)是优先考虑计算时间最短,独立于interrelease时间的任务,从而减少等待时间和提高吞吐量6]。单调速率算法(RMA)具有十分重要的实际意义,因为与较小的释放时间是优先考虑的任务。本文提出了两种利用绑定算法推导出一组任务既满足RMA-SJF优先配屋计划;更高的优先级,任务会有较小的计算时间和较小的interrelease时间。

当一组计算时间,我们的目标是设计一个工作保护任务系统,利用可用的处理能力。为了实现最大处理能力,系统负载必须等于团结单处理器系统(8]。在[3),一个算法是保护工作,如果没有空闲的处理器,当准备任务是等待。因此,系统的行为是强烈依赖于组成任务的任务集的时间(16]。

6.2。方法1:保护利用绑定工作

最初的算法旨在计划” “任务,通过推导最高优先级的任务发布时间 。每个任务的调度性是使用通用调度性测试分析。晚些时候 的任务是多种多样的,找到一个优化的利用绑定 安排” “任务有效地利用处理器(参见算法1)。

步骤1。计算时间是随机生成的,首先根据最短的工作安排
优先级计划。
初始化 ;
步骤2
步骤3。 
步骤4。分配 ;
结束了
步骤5。找到 在哪里
步骤6。如果 ;
步骤6.1。不同 处理器,这样有效地利用计划” “任务
因此 工作保护利用。
步骤6.2。退出;
步骤7。如果 ; ;步骤4。
步骤8。如果 ; ;步骤4。

6.3。方法2:最坏的利用率

方法2,每个任务的最坏延迟是计算其interrelease时间。最坏的响应时间( )的每个任务在关键时刻,所有任务在哪里发布瞬间(参见算法2)。

步骤1。安排计算最短时间根据工作第一,
步骤2。坏的情况下的响应时间的任务进行了分析。这是任务的最大时间流逝
开始执行。众所周知,,
˚
+
˚
步骤3 ;
步骤4。为
结束了
步骤5。坏的情况下利用绑定, 在哪里
步骤6。检查调度性” “任务由调度性测试,找到成功
率和有效的处理器利用率。
步骤7。退出。

7所示。在任何释放时间充分调度性条件

充分调度性条件 在它的释放时间 是派生的。让 的问题域 如图5, 是最新的可行的执行开始时间 ,因为 可调度的。

考虑最坏延迟分析部分6.3。的贡献最糟糕的工作负载两种情况下的其他任务进行了分析。

一个案例。 , 前公布

案例B。 , 在[发布 , ]。

7.1。案例一: , 前公布
安装7.1.1。 前公布

5显示 发布在 之前 :

引理3。任务 前公布 将初始工作或中间的工作,如果

证明。证明了矛盾,如果 ,那么这个任务 不提供任何工作负载在工作区域;因此,对于这种情况没有初始或中间工作。因此, 最初的工作或中间的工作。(1)最初的工作将出现, (我) ,然后将初始工作 ;(2) ,然后 ;因此,最初的工作 (2)中间工作将出现,如果
上述条件下, 召回所有任务贡献最大的问题, 假设开始执行 ,并在问题域的最后期限。所以, 将中间的工作,

7.1.2。 前公布

6显示 发布在 之前 。最大的贡献 将任务有最大计算时间发布在初始工作 并开始执行 。因此,最初的工作=

7.2。例B: , 发布的 ,
7.2.1。 发布

引理4。如果 发布 将中间工作,如果吗 ,而 是等待。

证明。回忆,任务开始执行的贡献问题区域和之前完成 是中间的工作。
上述方程表明,有 中间的工作了, 在问题区域 是等待。

引理5。如果 发布 将最后的工作,如果吗

证明。考虑图7。矛盾,如果 由引理,然后4,这个条件具有中间工作。因此, 将最终的工作(参见算法3)。

根据最终的定义(i)工作,
如果 ,然后
因此最后的工作
其他的 ,然后
;
如果 然后,最后的工作
最后一份工作是

7.2.2。 发布的

引理6。如果 发布 没有贡献吗 为调度

证明。任何 在[发布 ),如图7将没有贡献 因为任何 是执行。所以, 在[发布 )没有工作负载

8。绩效评估

例1。考虑到计算时间 =(6、5、7、3、4、2)的目的是找到最佳interrelease时间为每个任务成功率达到100%有效地利用处理器的工作保护利用约束算法。
首先计算时间是安排在不减少的顺序: 通过改变不同的系统负载值 如表所示4。所有时间都在几秒钟内。

最大负荷0.9969绑定被发现任务设置下面: 。当调度性 进行了分析, ; ; = 36−7 = 29; = 0.9964。最低优先级的任务 将可调度的如果12)满足: 虽然条件很满意, unschedulable实际上是因为算法的运行时。算法的运行时间为六个任务是发现是0.37599秒。为了补偿运行时,增加和分析实际问题。

任务组, 、利用绑定 ,任务设置 发现可调度的有效使用处理器如图8(我) ,所有的任务都是可调度的,用更少的处理器能力。(2) 任务集是发现unschedulable因为运行时的算法。 任务集可调度的有效使用处理器容量97.5%,显示在表5。系统的负载 有效的处理器利用率是发现97.5。

UML-RT广泛进行模拟,为最坏的利用率束缚和保护工作统一利用率及其性能比较。任务参数设置如下:每个任务计算时间是随机分布的 ;Ti根据提出的两种算法计算。最多14生成任务,比较成功率和有效的处理器利用率。图9显示了利用绑定派生的比较提出的两种算法。从图10,保护统一利用工作的成功率高相比,最坏的利用率。使用任务的最坏的工作负载利用率绑定或负载很高的系统负载派生坏利用约束算法。有效的利用处理器的算法如图11

利用保护利用工作(我)处理器可以有效地利用调度任务集。

例2。发现是否 对任务集可调度的拥有 如表所示4由调度性测试。

解决方案。 是可调度的,(8)是充分条件: 因此, 是由一般可调度的调度性测试。

当调度性 进行了分析, ; ; ; = 0.9827。最低优先级的任务 将可调度的如果12)满足: 同样,几乎所有的任务进行调度性检测和发现使用UML-RT可调度。

(2)找到是否 在任务设置 是可调度的第54释放。

在这里 ,5日任务 计划,

案例1。第54释放时间的任务 , = 1134, = 1155。
= 4;因此, = 1155−4 = 1151 = 17。图12显示区域的问题 (一)找到最初的工作或中间工作的贡献 ;因此, 4所示。由引理3、任务 前公布 将初始工作或中间的工作,如果 在这里,
如果将初始工作, ,因此, ,条件是不满意;因此,它只具有中间工作。
如果将中间工作
在这里, + + = 3 > 0。因此,计算任务 开始于 有期限的问题域,将提供一个中间工作。
由引理4、任务 发布 将中间工作,如果吗 = 1151, = 1144,释放时间的问题区域。
+ + 是满意的,因为 + + = 1150, = 1151。因此 贡献一个中间的工作吗
由引理4,如果 发布 将最后的工作,如果吗 = 1144,发布时间是在问题区域;因此, 不提供最终的工作吗 因为 + +
因此,最终的工作= 0。
所以,总坏的工作负载的贡献 = 2(中间工作)= 4。
同样,其他任务的贡献 是类似的发现。一个人 ;因此, 将会安排。图13显示了仿真的结果 在UML-RT。

9。结论

两个算法提出了一种新的优先级分配方案(RMA-SJF)具有优势率单调和最短工作第一,无优先周期性任务集,在一个单处理器体系结构使用UML-RT模仿。此外,通用调度性测试是派生的使用“窗口”问题的分析,来检查任务调度性。充分调度性来验证是否一个周期任务可调度的条件在任何释放时间也提出了。任务设置生成上述调度性测试和分析条件的典型例子。提出的算法的性能分析与成功率和有效使用UML-RT处理器利用率。在未来的非周期依赖无优先任务的方案在多处理器体系结构建模使用UML-RT将进行分析。

利益冲突

作者宣称没有利益冲突有关的出版。