On Schedulability Analysis of EDF Scheduling by Considering Suspension as Blocking

01/16/2020 ∙ by Mario Günzel, et al. ∙ 0

During the execution of a job, it may suspend itself, i.e., its computation ceases to process until certain activities are complete to be resumed. This paper provides a counterexample of the schedulability analysis by Devi in Euromicro Conference on Real-Time Systems (ECRTS) in 2003, which is the only existing suspension-aware analysis specialized for uniprocessor systems when preemptive earliest-deadline-first (EDF) is applied for scheduling dynamic selfsuspending tasks.

READ FULL TEXT VIEW PDF
POST COMMENT

Comments

There are no comments yet.

Authors

page 1

page 2

page 3

This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Self-suspension behavior has been demonstrated to appear in complex cyber-physical real-time systems, e.g., multiprocessor locking protocols, computation offloading, and multicore resource sharing, as demonstrated in [3, Section 2]. Although the impact of self-suspension behavior has been investigated since 1990, the literature of this research topic has been flawed as reported in the review by Chen et al. [3].

Although the review by Chen et al. [3] provides a comprehensive survey of the literature, two unresolved issues are listed in the concluding remark. One of them is regarding the “correctness of Theorem 8 in [4, Section 4.5] supported with a rigorous proof, since self-suspension behavior has induced several non-trivial phenomena”. This paper provides a counterexample of Theorem 8 in [4, Section 4.5] and disproves the schedulability test.

We consider a set of implicit-deadline periodic tasks, in which each task has its period , worst-case self-suspension time , and worst-case execution time . The relative deadline is set to . There are two main models of self-suspending tasks: the dynamic self-suspension and segmented (or multi-segment) self-suspension models. Devi’s analysis in [4] considers the dynamic self-suspension model. That is, a task instance (job) released by a task can suspend arbitrarily as long as the total amount of suspension time of the job is not more than .

The analysis by Devi in Theorem 8 in [4, Section 4.5] extended the analysis proposed by Jane W.S. Liu in her book [6, Page 164-165] for uniprocessor preemptive fixed-priority scheduling to uniprocessor preemptive EDF scheduling. Under preemptive EDF scheduling, the job that has the earliest absolute deadline has the highest priority. Despite the non-optimality of EDF for scheduling self-suspending task systems as shown in [7, 1], EDF remains one of the most adopted scheduling strategies.

Devi’s analysis quantifies the additional interference due to self-suspensions from the higher-priority jobs by setting up the blocking time induced by self-suspensions. The correctness of the analysis by Liu in [6, Page 164-165] has been proved by Chen et al. [2] in 2016 for fixed-priority scheduling. The authors in [2] noted that “Even though the authors in this paper are able to provide a proof to support the correctness, the authors are not able to provide any rationale behind this method which treats suspension time as blocking time.

Devi’s analysis for implicit-deadline task systems is rephrased as follows:

Theorem 1.1 (Devi [4])

Let be a system of implicit-deadline periodic tasks, arranged in order of non-decreasing periods. The task set T is schedulable using preemptive EDF if

where

(1)
(2)

Note that the notation follows the survey paper by Chen et al. [3] instead of the original paper by Devi [4]. Moreover, Devi considered arbitrary-deadline task systems with asynchronous arrival times. Our counterexample is valid by considering two implicit-deadline periodic tasks released at the same time.

2 Counterexample for Devi’s Analysis

The following task set with two tasks provides a counterexample for Devi’s analysis:

  • and

  • , for any .

The test of Theorem 1.1 is as follows:

  • When , we have and . Therefore, when , .

  • When , we have and . Therefore, when , , since .

Therefore, Devi’s schedulability test concludes that the task set is feasibly scheduled by preemptive EDF. But, a concrete schedule as demonstrated in Figure 1 shows that one of the jobs of task misses its deadline even when both tasks release their first jobs at the same time.

The example in Figure 1 shows that a job of task may be blocked by a job of task , which results in a deadline miss of the job of task . However, in Devi’s schedulability analysis, such blocking is never considered since and do not have any term related to .

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

deadline miss

Figure 1: A concrete EDF schedule with a deadline miss.

3 Conclusion and Discussions

The counterexample in Section 2 only requires task to suspend once. The counterexample shows that applying Devi’s analysis in [4] is unsafe for the segmented self-suspension model under EDF scheduling.

Although there have been many different analyses for preemptive fixed-priority scheduling, Devi’s analysis was the only existing suspension-aware analysis for hard real-time task systems under preemptive EDF scheduling for long time until 2016, where Dong and Liu [5] developed a utilization-based schedulability test for global EDF in multiprocessor systems. The special case when there is only one processor, i.e., in [5], can be applied for testing the schedulability of preemptive EDF in uniprocessor systems. We note that the analysis in [5] is limited to implicit-deadline task systems. For task systems that are not with implicit deadlines, the invalidation of Devi’s analysis implies that there is no suspension-aware schedulability analysis for preemptive EDF. The only safe schedulability test is the trivial suspension-oblivious analysis, which considers suspension time of the self-suspending tasks as if they are usual execution time. (Detailed discussions can be found in [3, Section 4].

Suspension-aware timing analysis for preemptive EDF hence remains as an open problem. We note that the above counterexample is only for Theorem 8 in [4]. We do not examine any other schedulability tests in [4].

References

  • [1] J.-J. Chen. Computational complexity and speedup factors analyses for self-suspending tasks. In Real-Time Systems Symposium (RTSS), pages 327–338, 2016.
  • [2] J.-J. Chen, G. Nelissen, and W.-H. Huang. A unifying response time analysis framework for dynamic self-suspending tasks. In Euromicro Conference on Real-Time Systems (ECRTS), pages 61–71, 2016.
  • [3] J.-J. Chen, G. Nelissen, W.-H. Huang, M. Yang, B. Brandenburg, K. Bletsas, C. Liu, P. Richard, F. Ridouard, N. Audsley, R. Rajkumar, D. de Niz, and G. von der Brüggen. Many suspensions, many problems: a review of self-suspending tasks in real-time systems. Real-Time Systems, 55(1):144–207, 2019.
  • [4] U. C. Devi. An improved schedulability test for uniprocessor periodic task systems. In 15th Euromicro Conference on Real-Time Systems (ECRTS), pages 23–32, 2003.
  • [5] Z. Dong, Y. Gu, J. Chen, S. Tang, T. He, and C. Liu. Enabling predictable wireless data collection in severe energy harvesting environments. In Real-Time Systems Symposium, (RTSS), pages 157–166, 2016.
  • [6] J. W. S. Liu. Real-Time Systems. Prentice Hall PTR, 1st edition, 2000.
  • [7] F. Ridouard, P. Richard, and F. Cottet. Negative results for scheduling independent hard real-time tasks with self-suspensions. In RTSS, pages 47–56, 2004.