本文引自
Pazzaglia, P (Pazzaglia, Paolo)[ 1 ] ; Biondi, A (Biondi, Alessandro)[ 1 ] ; Di Natale, M (Di Natale, Marco)[ 1 ].Simple and General Methods for Fixed-Priority Schedulability in Optimization
本文仅供自学和交流使用,未经允许请勿转载~谢谢
Abstract
本文为固定优先级调度提供了一组充分但准确的可调度性测试。这些测试适用于具有约束期限的调度的一般情况,其中任务可能在阻塞时间内发生,受释放抖动影响,使用固定偏移激活或涉及与其他任务的事务。所提出的测试以线性闭合形式出现,在任务数量上具有多个条件多项式。所有测试都针对在混合整数线性编程中编码可调度性约束时使用,以便优化实时系统(例如,解决多核系统中的任务划分)。通过基于合成工作量的大规模实验研究评估测试,揭示失败率(相对于最先进的参考测试)平均低于1%,并且最多为2%。极少数极限情况配置。
I. INTRODUCTION
定时和可调度性分析通常被视为验证和分析工具,用于证明给定的系统配置在时序约束方面是安全可行的。但是,特别是在功能丰富且考虑到具有多个内核和多个处理节点的平台的可用性的系统环境中,设计人员经常承担负担,他必须定义执行平台和软件配置,包括任务的设计和分配。在这种情况下,时序分析的结果应该用于定义设计优化过程中的约束,帮助选择具有最佳性能的可行配置。
需要这样一个公式的问题的例子是需要将应用程序从单核移动到多核甚至许多核心,划分软件任务或设计逻辑执行时间帧,以恢复多核系统中任务之间通信的确定性[1] ,[2]。
已编码可行性约束以用于先前工作中的设计优化。然而,大多数配方的共同缺点是它们的复杂性,这可能妨碍有效地用于优化工业规模的问题。这就是为什么具有良好准确性的近似(仅足够的)公式可以非常有助于允许数学形式化和解决实际相关的若干问题。
This paper.
在这项工作中,我们为可调度性公式提供了几个扩展,这些扩展被发现在Rate Monotonic固定优先级调度[3]的情况下是有效的,并且只需要在任务数量方面具有二次约束的许多约束。我们展示了如何扩展概念以处理大量实际感兴趣的案例,包括:具有抖动,偏移,阻塞时间甚至事务调度的调度,其中任务必须在优先约束链中执行。最重要的是,我们提供了大量实验,显示拟议的公式如何对于随机生成的任务集(研究文献中使用最多的基准)非常紧张,悲观情绪总是低于2%,仅适用于负载很重的系统。此外,当从一组伪谐波选项中选择周期时,误差降至1%以下。
本文的其余部分安排如下:对有关该主题的现有文献的分析后面是第二部分中系统模型的定义;可用的分析方法在第III节中介绍,建议的扩展在第IV节中介绍。第五部分讨论了测试用例的实验评估,第六部分结束了论文。
A. Related Work
实时任务的最坏情况响应时间
[12]中提出的测试是许多其他解决方案的来源,精确和近似。在这项工作中,要检查以确保可调度性的条件数是有限的,并由一组可调度点定义。然后可以将每个检查点的条件编码为约束,以与来自其他点的约束分离地组合。在[12]中首先发现[12]中的点集是多余的,其中定义了必要和充分条件的点的子集。最后,在[5]中,甚至[13]中的集合被发现是冗余的,并且可能通过解决一组优化问题而进一步简化。然而,即使这些点现在是原始集合的相对较小的子集,编码仍然可能非常大,特别是考虑到可调度点集合的计算需要预先解决一组附加的优化问题。
鉴于可行性可以定义为约束的OR组合,[13]的作者建议通过减少要检查的点集可以很容易地得出足够的测试,但是如何选择要保留的点是没有讨论过。这种选择在[3]中被利用,其中作者对Rate Monotonic任务集的可调度性提供了足够的分析,将测试限制在非常小的调度点子集中。所提出的测试明显不如现有的测试那么悲观,它是线性的,并且表现出非常接近精确测试的性能。
在本文中,我们展示了类似于[3]中提出的直觉如何适用于广泛的不同任务集(包括约束期限,偏移,抖动和阻塞时间)和固定优先级调度程序。在大多数情况下,得到的测试是多项式时间,保持低悲观,良好的缩放特性,并且直接适合在优化算法中用作一组线性约束。
II. SYSTEM MODEL
我们考虑在单处理器上运行的任务集
每个任务
在以下部分中说明可调度性测试时,分析中的任务集的复杂性逐渐增加。我们将假设任务
此外,这项工作还考虑了事务任务模型[14],其中一个系统由一组NT事务
III. ANALYSIS OF FIXED-PRIORITY SCHEDULING
在单个处理器上执行的固定优先级任务的经典分析可以通过计算每个任务的响应时间
解决这个等式是Eisenbrand和Rothvob [15]证明的NP-HARD问题。尽管计算复杂,但该方程也不适合用于数学编程框架中以优化或设计实时系统。实际上,在MILP中对此等式进行编码需要引入整数变量来对上限项进行建模,这可能会随着任务数量的增加而显着限制可扩展性。在固定优先级调度下用于精确可调度性测试的替代公式包括为每个任务
Lehoczky等。[12]证明方程(1)的检验不需要处理不切实际的连续统,即,范围
无论如何,固定优先级调度的精确分析的复杂性仍然是最近由Ekberg和Yi [16]证明的NP-HARD。此外,在MILP公式中使用该测试需要对集合
在许多情况下,更简单但更紧密的充分条件可能是有用的。这种情况可以通过利用[13]中最初提供的观察来计算。鉴于可行性是作为一组条件的OR组合计算的,丢弃它们中的一些(因此,一些可调度点)导致仅足够的测试。因此,可以通过找到
对于具有Rate Monotonic优先级分配的任务,Park和Park [3]表明采用一组具有二次大小的任务数量的检查点会导致近乎精确的可调度性测试。该集合,在下文中表示为
直观地,该集合包含时间间隔
尽管这种方法具有实际用途,但遗憾的是,据我们所知,在限制较少的假设下没有提出类似的结果,
例如
(i)具有任意优先级分配的任务,
(ii)具有释放抖动或偏移的任务,
(iii) 可能导致阻塞时间的任务,
以及(iv)任务事务。下一部分旨在填补这一空白,为基于线性公式的固定优先级可调度性提供更通用的高效分析平台。
IV. EFFICIENT SCHEDULABILITY TESTS
本节介绍了一组针对不同任务模型的可调度性测试,其复杂性逐渐增加。
在精神上,遵循Park和Park [3]的工作,我们的目标在于找到关于要分析的调度窗口的最后激活高优先级任务的等式,其按模型改变模型。然后将这些点用于建立近似的可调度性测试。正如在以下部分中出现的那样,这些检查点的推导通常不是直截了当的,因为它需要明确考虑任务集的特征,例如释放抖动和偏移。尽管如此,该方法足以应用于任何固定优先级排序。
A. Tasks with constrained deadline
首先,考虑具有任意偏移和约束期限的任务集
然后通过以下方式给出相应的可调度性测试:
与[3]类似,要检查整个任务集
B. Task sets with release jitter
考虑每个周期性任务
考虑到
Theorem 1.
考虑分析中的任务
Proof.
在
用于分析
由此产生的可调度性测试[17]在于验证每个任务的以下条件
对应于
C. Task sets with offsets
在一些应用中,某些任务的周期性激活是用固定的起始偏移定义的;例如,当需要确保事件的隐式同步时。在这些情况下,计算同步释放假设下的最坏情况响应时间可能过于悲观。
Pellizzoni和Lipari([18]中的定理2)提供了分析此类任务集的有效方法。为了分析通用任务
任何释放
其中
每当新的任务
对于
Theorem 2.
考虑在问题窗口中分析的一组
如果
Proof.
可能存在两种情况:
i)
ii)否则。在情况(i)中,根据定义,在
研究任务
利用集合
如果没有违反这些条件,则原始任务集
D. Task sets with blocking
当考虑其中某些任务可能遭受来自较低优先级的任务的任务集(例如,由于锁定协议)时,可以通过简单地用阻塞项
E. Transactional task model
在处理在多核系统上分区的并行化计算时,事务性任务(可能还安排了偏移和释放抖动)特别有趣。例如,最近关于LET模型的工作以保证多核调度中的因果关系需要将任务划分为由同步障碍分隔的周期性子任务(或LET帧),其中共享数据在核心之间传递[1],[19] 。该体系结构可以表示为事务模型。
根据[14]中的定理2,可以通过研究在以下情况下出现的关键时刻来分析交易中的任务
•
•因此,和相对于
•在所有其他事务
设
我们的方法旨在计算在相对于正在分析的任务
首先,我们计算第一次激活属于任意事务
然后通过分解
其中
接下来,我们计算感兴趣的检查点。在模式
显然,只有当任务
用于验证调度模式
总之,所提出的分析包括针对要分析的每个调度模式利用干扰界限
其中,
V. EXPERIMENTAL EVALUATION
已经进行了大规模的实验来评估所提出的测试的性能,该测试针对本文所涉及的模型的状态分析方法,即响应时间分析对具有和不具有阻塞的任务的精确测试; [17],[18]和[14]中的分析分别用于具有抖动,偏移和参与交易的任务。
我们测试了具有
对于事务任务集的情况,我们测试了具有
A. Experimental results
在Rate Monotonic,隐含期限任务集的情况下,图1显示了作为任务数n的函数的故障率。非常有趣的是,最大失败率从未超过2%。图2显示了具有约束期限,偏移和抖动的任务集的故障率,分别作为参数
总之,所提出的测试表明,对于难以调度的任务集(具有阻塞,高抖动,紧迫的期限和任意优先级)以及易于调度的集合(具有伪谐波任务)以及失败的高可调度性能通常与确定任务参数(例如最坏情况的执行时间)相关的不确定性的速率。最后,对于所有事务任务集,我们的实验显示所选范围内所有抖动和期限值的故障率极低。表I报告了最相关测试的结果选择。
VI. CONCLUSION
本文介绍了在任务模型的广泛假设下的固定优先级调度的近似可调度性测试。这些测试可以使用有限数量的线性闭合方程来实现,并且适用于混合整数线性程序,以优化实时系统。大规模实验揭示了非常低的故障率,在最先进的可调度性测试(包括精确测试)中仅在不到1%的建议测试案例中显示出悲观结果。
REFERENCES
[1] M. Lowinski, D. Ziegenbein, and S. Glesner, “Splitting tasks for migrating real-time automotive applications to multi-core ecus,” in Industrial Embedded Systems (SIES), 2016 11th IEEE Symposium on. IEEE, 2016, pp. 1–8.
[2] A. Biondi, P. Pazzaglia, A. Balsini, and M. Di Natale, “Logical execution time implementation and memory optimization issues in autosar applications for multicores,” in International Workshop on Analysis Tools and Methodologies for Embedded and Real-time Systems (WATERS), 2017.
[3] M. Park and H. Park, “An efficient test method for rate monotonic schedulability,” IEEE Transactions on Computers, vol. 63, no. 5, pp. 1309–1315, 2014. [4] M. Joseph and P. Pandya, “Finding response times in a real-time system,” The Computer Journal, vol. 29, no. 5, pp. 390–395, 1986.
[5] H. Zeng and M. Di Natale, “An efficient formulation of the realtime feasibility region for design optimization,” IEEE Transactions on Computers, vol. 62, no. 4, pp. 644–661, 2013.
[6] C. L. Liu and J. W. Layland, “Scheduling algorithms for multiprogramming in a hard-real-time environment,” Journal of the ACM (JACM), vol. 20, no. 1, pp. 46–61, 1973.
[7] E. Bini, G. C. Buttazzo, and G. M. Buttazzo, “Rate monotonic analysis: the hyperbolic bound,” IEEE Transactions on Computers, vol. 52, no. 7, pp. 933–942, 2003.
[8] R. I. Davis and A. Burns, “Response time upper bounds for fixed priority real-time systems,” in Real-Time Systems Symposium, 2008. IEEE, 2008, pp. 407–418.
[9] R. I. Davis, A. Zabos, and A. Burns, “Efficient exact schedulability tests for fixed priority real-time systems,” IEEE Transactions on Computers, vol. 57, no. 9, pp. 1261–1276, 2008.
[10] E. Bini, A. Parri, and G. Dossena, “A quadratic-time response time upper bound with a tightness property,” in Real-Time Systems Symposium, 2015 IEEE. IEEE, 2015, pp. 13–22.
[11] J.-J. Chen, W.-H. Huang, and C. Liu, “k2q: A quadratic-form response time and schedulability analysis framework for utilization-based analysis,” in Real-Time Systems Symposium (RTSS), 2016 IEEE. IEEE, 2016, pp. 351–362.
[12] J. Lehoczky, L. Sha, and Y. Ding, “The rate monotonic scheduling algorithm: Exact characterization and average case behavior,” in Real Time Systems Symposium, 1989., Proceedings. IEEE, 1989, pp. 166– 171.
[13] E. Bini and G. C. Buttazzo, “Schedulability analysis of periodic fixed priority systems,” IEEE Transactions on Computers, vol. 53, no. 11, pp. 1462–1473, 2004.
[14] J. C. Palencia and M. G. Harbour, “Schedulability analysis for tasks with static and dynamic offsets,” in Real-Time Systems Symposium, 1998. Proceedings. The 19th IEEE. IEEE, 1998, pp. 26–37.
[15] F. Eisenbrand and T. Rothvoß, “Static-priority real-time scheduling: Response time computation is np-hard,” in Real-Time Systems Symposium, 2008. IEEE, 2008, pp. 397–406.
[16] P. Ekberg and W. Yi, “Fixed-priority schedulability of sporadic tasks on uniprocessors is np-hard,” in Real-Time Systems Symposium (RTSS), 2017 IEEE. IEEE, 2017, pp. 139–146.
[17] N. Audsley, A. Burns, M. Richardson, K. Tindell, and A. J. Wellings, “Applying new scheduling theory to static priority pre-emptive scheduling,” Software Engineering Journal, vol. 8, no. 5, pp. 284–292, 1993.
[18] R. Pellizzoni and G. Lipari, “Feasibility analysis of real-time periodic tasks with offsets,” Real-Time Systems, vol. 30, no. 1-2, pp. 105–128, 2005.
[19] A. Biondi and M. D. Natale, “Achieving predictable multicore execution of automotive applications using the LET paradigm,” in In Proc. of the 24th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2018). IEEE, 2018.
[20] E. Bini and G. C. Buttazzo, “Measuring the performance of schedulability tests,” Real-Time Systems, vol. 30, no. 1-2, pp. 129–154, 2005.