# Evaluate and Compare Two Utilization-Based Schedulability-Test Frameworks for Real-Time Systems

This report summarizes two general frameworks, namely k2Q and k2U, that have been recently developed by us. The purpose of this report is to provide detailed evaluations and comparisons of these two frameworks. These two frameworks share some similar characteristics, but they are useful for different application cases. These two frameworks together provide comprehensive means for the users to automatically convert the pseudo polynomial-time tests (or even exponential-time tests) into polynomial-time tests with closed mathematical forms. With the quadratic and hyperbolic forms, k2Q and k2U frameworks can be used to provide many quantitive features to be measured and evaluated, like the total utilization bounds, speed-up factors, etc., not only for uniprocessor scheduling but also for multiprocessor scheduling. These frameworks can be viewed as "blackbox" interfaces for providing polynomial-time schedulability tests and response time analysis for real-time applications. We have already presented their advantages for being applied in some models in the previous papers. However, it was not possible to present a more comprehensive comparison between these two frameworks. We hope this report can help the readers and users clearly understand the difference of these two frameworks, their unique characteristics, and their advantages. We demonstrate their differences and properties by using the traditional sporadic realtime task models in uniprocessor scheduling and multiprocessor global scheduling.

## Authors

• 17 publications
• 2 publications
• 23 publications
• ### k2U: A General Framework from k-Point Effective Schedulability Analysis to Utilization-Based Tests

To deal with a large variety of workloads in different application domai...
01/28/2015 ∙ by Jian-Jia Chen, et al. ∙ 0

• ### HeRTA: Heaviside Real-Time Analysis

We investigate the mathematical properties of event bound functions as t...
07/23/2020 ∙ by Frank Slomka, et al. ∙ 0

• ### Schedulability Bounds for Parallel Real-Time Tasks under Global Rate-Monotonic Scheduling

Schedulability bounds not only serve as efficient tests to decide schedu...
11/13/2020 ∙ by Xu Jiang, et al. ∙ 0

• ### Sharp utilization thresholds for some real-time scheduling problems

Scheduling policies for real-time systems exhibit threshold behavior tha...
12/19/2009 ∙ by Sathish Gopalakrishnan, et al. ∙ 0

• ### Comments on "Gang EDF Schedulability Analysis"

This short report raises a correctness issue in the schedulability test ...
05/16/2017 ∙ by Pascal Richard, et al. ∙ 0

• ### New Analysis Techniques for Supporting Hard Real-Time Sporadic DAG Task Systems on Multiprocessors

The scheduling and schedulability analysis of real-time directed acyclic...
07/31/2018 ∙ by Zheng Dong, et al. ∙ 0

• ### A Comprehensive Feature Comparison Study of Open-Source Container Orchestration Frameworks

(1) Background: Container orchestration frameworks provide support for m...
02/07/2020 ∙ by Eddy Truyen, et al. ∙ 0

##### 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

To analyze the worst-case response time or to ensure the timeliness of the system, for each of individual task models, researchers tend to develop dedicated techniques that result in schedulability tests with different computation complexity and accuracy of the analysis. Although many successful results have been developed, after many real-time systems researchers devoted themselves for many years, there does not exist a general framework that can provide efficient and effective analysis for different task models.

under fixed-priority scheduling in uniprocessor systems, in which the time-demand analysis (TDA) developed in

[21] can be adopted. That is, if

 ∃t with 0

then task is schedulable under the fixed-priority scheduling algorithm, where is the set of tasks with higher priority than , , , and represent ’s relative deadline, worst-case execution time, and period, respectively. TDA requires pseudo-polynomial-time complexity to check the time points that lie in for Eq. (1).

However, it is not always necessary to test all possible time points to derive a safe worst-case response time or to provide sufficient schedulability tests. The general and key concept to obtain sufficient schedulability tests in in [10, 11] and in [9, 12] is to test only a subset of such points for verifying the schedulability. Traditional fixed-priority schedulability tests often have pseudo-polynomial-time (or even higher) complexity. The idea implemented in the and frameworks is to provide a general -point schedulability test, which only needs to test points under any fixed-priority scheduling when checking schedulability of the task with the highest priority in the system. Moreover, this concept is further extended in to provide a safe upper bound of the worst-case response time. The response time analysis and the schedulability analysis provided by the frameworks can be viewed as “blackbox” interfaces that can result in sufficient utilization-based analysis, in which the utilization of a task is its execution time divided by its period.

The and frameworks are in fact two different important components for building efficient and effective schedulability tests and response time analysis. Even though they come from the same observations by testing only effective points, they are in fact fundamentally different from mathematical formulations and have different properties. In , all the testings and formulations are based on the task utilizations. In , the testings are based not only on the task utilizations, but also on the task execution times. The different formulations of testings result in different types of solutions. The natural form of is a hyperbolic form for testing the schedulability of a task, whereas the natural form of is a quadratic form for testing the schedulability or the response time. In general, if the points can be effectively defined, has more precise results. However, if these points cannot be easily defined or there is some ambiguity to fine the effective points, then may be more suitable for such models.

There have been several results in the literature with respect to utilization-based, e.g., [23, 17, 19, 24, 18] for the sporadic real-time task model and its generalizations in uniprocessor systems. The novelty of and comes from a different perspective from these approaches [23, 17, 19, 24, 18]. We do not specifically seek for the total utilization bound. Instead, we look for the critical value in the specified sufficient schedulability test while verifying the schedulability of task . The natural condition to test the schedulability of task is a hyperbolic bound when is adopted, whereas the nature condition to test task is a quadratic bound when is adopted (to be shown in Section 3). The corresponding total utilization bound can be obtained.

The generality of the and frameworks has been demonstrated in [10, 11, 9, 12]. We believe that these two frameworks, to be used for different cases, have great potential in analyzing many other complex real-time task models, where the existing analysis approaches are insufficient or cumbersome. We have already presented their advantages for being applied in some models in [10, 11, 9, 12]. However, it was not possible to present a more comprehensive comparison between these two frameworks in [10, 11, 9, 12]. We hope this report can help the readers and users clearly understand the difference of these two frameworks, their unique characteristics, and their advantages. Since our focus in this report is only to demonstrate the similarity, the difference and the characteristics of these two frameworks, we will use the simplest setting, i.e., the traditional sporadic real-time task models in uniprocessor scheduling and multiprocessor global scheduling.

For the and frameworks, their characteristics and advantages over other approaches have been already discussed in [10, 11, 9, 12]. However, between these two frameworks, we only gave short sketches and high-level descriptions of their differences and importance. These explanations may seem incomplete in [10, 11, 9, 12] to explain whether both are needed or only one of them is important. Therefore, we would like to present in this report to explain why both frameworks are needed and have to be applied for different cases. Moreover, we would like to emphasize that both frameworks are important. In general, the framework is more precise by using only the utilization values of the higher-priority tasks. If we can formulate the schedulability tests into the framework, it is also usually possible to model it into the framework. In such cases, the same pseudo-polynomial-time test is used. When we consider the worst-case quantitive metrics like utilization bounds, resource augmentation bounds, or speedup factors, the result derived from the framework is better for such cases. However, there are also cases, in which formulating the test by using the framework is not possible. These cases may even start from schedulability tests with exponential-time complexity. We have successfully demonstrated three examples in [9] by using the framework to derive polynomial-time tests. In those demonstrated cases, either the framework cannot be applied or with worse results (since different exponential-time or pseudo-polynomial-time schedulability tests are applied).

Organizations. The rest of this report is organized as follows:

• The basic terminologies and models are presented in Section 2.

• The two frameworks from[10, 11, 9, 12] are summarized and presented in Section 3.

• We demonstrate two different comparisons between the frameworks by using sporadic task systems in uniprocessor systems and multiprocessor systems.

Note that this report does not intend to provide new theoretical results. All the omitted proofs are already provided in [10, 11, 9, 12]. For some simple properties derived from the results in [10, 11, 9, 12], we will explain how such results are derived.

## 2 Basic Task and Scheduling Models

A task is said schedulable by a scheduling policy if all of its jobs can finish before their absolute deadlines, i.e., the worst-case response time of the task is no more than its relative deadline. A task system is said schedulable by a scheduling policy if all the tasks in the task system are schedulable. A schedulability test is to provide sufficient conditions to ensure the feasibility of the resulting schedule by a scheduling policy.

Throughout the report, we will focus on fixed-priority preemptive scheduling. That is, each task is associated with a priority level. More specifically, we will only use rate monotonic (RM, i.e., tasks with smaller periods are with higher priority levels) and deadline monotonic (DM, i.e., tasks with smaller relative deadlines are with higher priority levels) in this report. For a uniprocessor system, the scheduler always dispatches the job with the highest priority in the ready queue to be executed. For a multiprocessor system, we consider multiprocessor global scheduling on identical processors, in which each of them has the same computation power. For global multiprocessor scheduling, there is a global queue and a global scheduler to dispatch the jobs. We consider only global fixed-priority scheduling. At any time, the -highest-priority jobs in the ready queue are dispatched and executed on these processors.

Note that the above definitions are just for simplifying the presentation flow in this report. The frameworks can still work for non-preemptive scheduling and different types of fixed-priority scheduling.

We will only present the schedulability test of a certain task , that is being analyzed, under the above assumption. For notational brevity, in the framework presentation, we will implicitly assume that there are tasks, says with higher-priority than task . These higher-priority tasks are assumed to schedulable before we move on to test task . We will use to denote the set of these higher priority tasks, when their orderings do not matter. Moreover, we only consider the cases when , since is pretty trivial.

## 3 k2U and k2Q Frameworks

This section presents the definitions and properties of the and frameworks for testing the schedulability of task in a given set of real-time task. The construction of the frameworks requires the following definitions:

###### Definition 1.

A -point effective schedulability test is a sufficient schedulability test of a fixed-priority scheduling policy, that verifies the existence of with such that

 Ck+k−1∑i=1αitiUi+j−1∑i=1βitiUi≤tj, (2)

where , , , and are dependent upon the setting of the task models and task .

###### Definition 2 (Last Release Time Ordering).

Let be the last release time ordering assignment as a bijective function to define the last release time ordering of task in the window of interest. Last release time orderings are numbered from to , i.e., , where 1 is the earliest and the latest.

###### Definition 3.

A -point last-release schedulability test under a given ordering of the higher priority tasks is a sufficient schedulability test of a fixed-priority scheduling policy, that verifies the existence of such that

 Ck+k−1∑i=1αitiUi+j−1∑i=1βiCi≤tj, (3)

where , for , , , , and are dependent upon the setting of the task models and task .

###### Definition 4.

A -point last-release response time analysis is a safe response time analysis of a fixed-priority scheduling policy under a given ordering of the higher-priority tasks by finding the maximum

 tk=Ck+k−1∑i=1αitiUi+k−1∑i=1βiCi, (4)

with and

 Ck+k−1∑i=1αitiUi+j−1∑i=1βiCi>tj, ∀j=1,2,…,k−1, (5)

where , , , , and are dependent upon the setting of the task models and task .

Throughout the report, we implicitly assume that when Definition 1 and Definition 3 are used, as is usually related to the given relative deadline requirement. Note that may still become when Definition 4 for response time analysis is used. Moreover, we only consider non-trivial cases, in which , and , , , and for .

### 3.1 Comparison of Definition 1 and Definition 3

The definition of the -point last-release schedulability test in Definition 3 only slightly differs from the -point effective schedulability test in Definition 1. However, since the tests are different, they are used for different situations and the resulting bounds and properties are also different.

In Definition 1, the -point effective schedulability test is a sufficient schedulability test by testing only time points, defined by the higher-priority tasks and task . These points defined by the higher-priority tasks can be arbitrary as long as the corresponding and can be defined. In Definition 3, the points defined by the higher-priority tasks have to be the last release times of the highest-priority tasks, and the higher-priority tasks have to be indexed according to their last release time before . In Definition 3, the last release time ordering is assumed to be given. In some cases, this ordering can be easily obtained. However, in some of the cases in our demonstrated task models in [9], the last release ordering cannot be defined. It may seem that we have to test all possible last release time orderings and take the worst case. Fortunately, finding the worst-case ordering is not a difficult problem, which requires to sort the higher-priority tasks under a simple criteria. Therefore, before adopting the framework, we have to know whether we can obtain the last release time ordering or we have to consider a pessimistic ordering for the higher priority tasks.

The frameworks assume that the corresponding coefficients and in Definitions 13, and 4 are given. How to derive them depends on the task models and the scheduling policies. Provided that these coefficients , , , for every higher priority task are given, we can find the worst-case assignments of the values for the higher-priority tasks . Therefore, in case Definition 1 is adopted, changing affects the values and ; in case Definitions 3 and 4 are adopted, changing only affects the value . By using the above approach, we can analyze (1) the response time by finding the extreme case for a given (under Definition 4), or (2) the schedulability by finding the extreme case for a given and (under Definitions 1 and Definition 3).

In Section 4, we will give a comparison about the difference of Definition 1 and Definition 3 based on uniprocessor schedulability tests for sporadic tasks.

### 3.2 Properties of k2U

By using the property defined in Definition 1, we can have the following lemmas in the framework [10, 11]. All the proofs of the following lemmas are in [10, 11].

###### Lemma 1.

For a given -point effective schedulability test of a scheduling algorithm, defined in Definition 1, in which and , and for any , task is schedulable by the scheduling algorithm if the following condition holds

 Cktk≤αβ+1∏k−1j=1(βUj+1)−αβ. (6)
###### Lemma 2.

For a given -point effective schedulability test of a scheduling algorithm, defined in Definition 1, in which and and for any , task is schedulable by the scheduling algorithm if

 Cktk+k−1∑i=1Ui≤(k−1)((α+β)1k−1)+((α+β)1k−α)β. (7)
###### Lemma 3.

For a given -point effective schedulability test of a scheduling algorithm, defined in Definition 1, in which and and for any , task is schedulable by the scheduling algorithm if

 βk−1∑i=1Ui≤ln(αβ+1Cktk+αβ). (8)
###### Lemma 4.

For a given -point effective schedulability test of a fixed-priority scheduling algorithm, defined in Definition 1, task is schedulable by the scheduling algorithm, in which and and for any , if the following condition holds

 0

### 3.3 Properties of k2Q

By using the property defined in Definition 3, we can have the following lemmas in the framework [9, 12]. All the proofs of the following lemmas are in [9, 12].

###### Lemma 5.

For a given -point last-release schedulability test, defined in Definition 3, of a scheduling algorithm, in which , and for any , , , and , task is schedulable by the fixed-priority scheduling algorithm if the following condition holds

 Cktk≤1−k−1∑i=1αiUi−∑k−1i=1(βiCi−αiUi(∑k−1ℓ=iβℓCℓ))tk. (10)

It may seem at first glance that we need to test all the possible orderings. Fortunately, with the following lemma, we can safely consider only one specific ordering of the higher priority tasks.

###### Lemma 6.

The worst-case ordering of the higher-priority tasks under the schedulability condition in Eq. (10) in Lemma 5 is to order the tasks in a non-increasing order of , in which and for any , and .

The analysis in Lemma 5 uses the execution time and the utilization of the tasks in to build an upper bound of for schedulability tests. It is also very convenient in real-time systems to build schedulability tests only based on utilization of the tasks. We explain how to achieve that in the following lemmas under the assumptions that , and for any . These lemmas are useful when we are interested to derive utilization bounds, speed-up factors, resource augmentation factors, etc., for a given scheduling policy by defining the coefficients and according to the scheduling policies independently from the detailed parameters of the tasks. Since the property repeats in all the statements, we make a formal definition before presenting the lemmas.

###### Definition 5.

Lemmas 7 to 9 are based on the following -point last-release schedulability test of a scheduling algorithm, defined in Definition 3, in which , and for any , , , and .

###### Lemma 7.

For a given -point last-release schedulability test of a scheduling algorithm, with the properties in Definition 5, task is schedulable by the scheduling algorithm if the following condition holds

 Cktk≤ 1−(α+β)k−1∑i=1Ui+αβk−1∑i=1Ui(k−1∑ℓ=iUℓ) (11) = 1−(α+β)k−1∑i=1Ui+0.5αβ((k−1∑i=1Ui)2+(k−1∑i=1U2i)) (12)
###### Lemma 8.

For a given -point last-release schedulability test of a scheduling algorithm, with the properties in Definition 5, task is schedulable by the scheduling algorithm if

 k−1∑i=1Ui≤(k−1k)⎛⎜ ⎜ ⎜ ⎜⎝α+β−√(α+β)2−2αβ(1−Cktk)kk−1αβ⎞⎟ ⎟ ⎟ ⎟⎠. (13)
###### Lemma 9.

For a given -point last-release schedulability test of a scheduling algorithm, with the properties in Definition 5, provided that , then task is schedulable by the scheduling algorithm if

 Cktk+k−1∑i=1Ui≤ ⎧⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎨⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎩(k−1k)⎛⎜ ⎜⎝α+β−√(α+β)2−2αβkk−1αβ⎞⎟ ⎟⎠, if k>(α+β)2−1α2+β2−1 and α2+β2>11+(k−1)((α+β−1)−12(α+β)2+0.5)kαβ otherwise (14)

The right-hand side of Eq. (14) (when ) decreases with respect to . Similarly, the right-hand side of Eq. (13) also decreases with respect to . Therefore, for evaluating the utilization bounds, it is alway safe to take as a safe upper bound. The right-hand side of Eq. (13) converges to when . The right-hand side of Eq. (14) (when ) converges to when .

The following two lemmas are from the -point last-release response time analysis, defined in Definition 4.

###### Lemma 10.

For a given -point last-release response time analysis of a scheduling algorithm, defined in Definition 4, in which , for any , and , the response time to execute for task is at most

 Ck+∑k−1i=1βiCi−∑k−1i=1αiUi(∑k−1ℓ=iβℓCℓ)1−∑k−1i=1αiUi. (15)
###### Lemma 11.

The worst-case ordering of the higher-priority tasks under the response bound in Eq. (15) in Lemma 10 is to order the tasks in a non-increasing order of , in which and for any , .

## 4 How to Use the Frameworks

The and frameworks can be used by a wide range of applications, as long as the users can properly specify the corresponding task properties (in case of ) and and the constant coefficients and of every higher priority task . The choice of the parameters and affects the quality of the resulting schedulability bounds. However, deriving the good settings of and is not the focus of the frameworks. The frameworks do not care how the parameters and are obtained. It simply derives the bounds according to the given parameters and , regardless of the settings of and . The correctness of the settings of and is not verified by the frameworks. Figure 1 provides an overview of the procedures.

The ignorance of the settings of and actually leads to the elegance and the generality of the frameworks, which work as long as Definitions 1, 3, or 4 can be successfully constructed for the sufficient schedulability test or the response time analysis. The other approaches in [19, 8, 17] also have similar observations by testing only several time points in the TDA schedulability analysis based on Eq. (1) in their problem formulations. However, as these approaches in [19, 8, 17] seek for the total utilization bounds, they have limited applications and are less flexible. For example, they are typically not applicable directly when considering sporadic real-time tasks with arbitrary deadlines or multiprocessor systems.

The and frameworks provide comprehensive means for the users to almost automatically convert the pseudo polynomial-time tests (or even exponential-time tests) into polynomial-time tests with closed mathematical forms. With the availability of the and frameworks, the hyperbolic bounds, quadratic bounds, or speedup factors can be almost automatically derived by adopting the provided lemmas in Section 3 as long as the safe upper bounds and to cover all the possible settings of and for the schedulability test or the response-time analysis can be derived, regardless of the task model or the platforms.

The above characteristics and advantages over other approaches have been already discussed in [10, 11, 9, 12]. However, between these two frameworks, it is unclear whether both are needed or only one of them is important.

As the simplest example, consider the test of task with in an implicit-deadline sporadic task set in uniprocessor RM scheduling. Suppose that task has utilization . If we only use the utilization of the higher-priority tasks as the means of testing, modeling the schedulability test in Definition 3 is less precise since we may have to inflate and set properly according to the given priority assignment. Using Definition 1 with leads to , but using Definition 3 with any can only be feasible if we set to . Therefore, for such cases, we can only be safe by putting , and, therefore, using is more pessimistic than using .

In the above example, it may seem at first glance that the test in the framework is better than the test in the framework. However, this observation can only hold if a schedulability test can be applicable to satisfy Definition 1 and Definition 3.

We test the above case with different settings of with when is . Figure 2 illustrates the maximum utilization of task by using different tests from the two frameworks. In such a case, we can clearly define as . Therefore, is and is set to when adopting Lemma 1 from . Moreover, is and is set to when adopting Lemma 7 from .

As shown in Figure 2, when we adopt only utilizations of the higher-priority task, i.e., Lemma 1 from and Lemma 7 from , the results from are always better. However, the results of Lemma 1 from and Lemma 5 from are not comparable.

Therefore, there is no clear dominator between these two frameworks. Moreover, there are also cases, in which formulating the test by using the framework is not possible (c.f. the results in Theorems 5 and 11). These cases may even start from schedulability tests with exponential-time complexity. We have successfully demonstrated three examples in [9] by using the framework to derive polynomial-time tests with approximation guarantees. In those demonstrated cases, either the framework cannot be applied or with worse results (since different exponential-time or pseudo-polynomial-time schedulability tests are applied).

This section examines the applicability of the and frameworks to derive utilization-based schedulability analysis and response-time analysis for sporadic task systems in uniprocessor systems. We will consider constrained-deadline systems in Section 5.1 and arbitrary-deadline systems in Section 5.2. For a specified fixed-priority scheduling algorithm, let be the set of tasks with higher priority than

. We now classify the task set

into two subsets:

• consists of the higher-priority tasks with periods smaller than .

• consists of the higher-priority tasks with periods larger than or equal to .

For the rest of this section, we will implicitly assume .

For a constrained-deadline task , the schedulability test in Eq. (1) is equivalent to the verification of the existence of such that

 Ck+∑τi∈hp2(τk)Ci+∑τi∈hp1(τk)⌈tTi⌉Ci≤t. (16)

We can then create a virtual sporadic task with execution time , relative deadline , and period . It is clear that the schedulability test to verify the schedulability of task under the interference of the higher-priority tasks is the same as that of task under the interference of the higher-priority tasks . For notational brevity, suppose that there are tasks, indexed as , in .

Adopting :           Setting for every task in , and indexing the tasks in a non-decreasing order of lead to the satisfaction of Definition 1 with and . Therefore, we can apply Lemmas 1 and 2 to obtain the following theorem.

###### Theorem 1.

 (C′kDk+1)∏τj∈hp1(τk)(Uj+1)≤2 (17)

or

 C′kDk+∑τj∈hp1(τk)Uj≤k∗(21k∗−1). (18)
###### Corollary 1.

Task in a sporadic task system with implicit deadlines is schedulable by the RM scheduling algorithm if Lemmas 2 and 3 holds by setting as , , and .

The above result in Corollary 1 leads to the utilization bound (by using Lemma 2 with and ) for RM scheduling, which is the same as the Liu and Layland bound [23]. It also leads to the hyperbolic bound for RM scheduling by Bini and Buttazzo [6] when adopting Theorem 1 directly.

Adopting :           Setting for every task in , and indexing the tasks in a non-decreasing order of leads to the satisfaction of Definition 3 with and . For such a case, the last release ordering is well-defined by the sorting of the tasks above. Therefore, we can use Lemma 5 to derive the following theorem.

###### Theorem 2.

 C′kDk≤1−k∗−1∑i=1Ui−k∗−1∑i=1CiDk+∑k∗−1i=1Ui(∑k∗−1ℓ=iCℓ)Dk, (19)

in which the higher priority tasks in are indexed in a non-decreasing order of .

###### Corollary 2.

Task in a sporadic task system with implicit deadlines is schedulable by the RM scheduling algorithm if Lemmas 57, 8, or 9 holds by setting as , , and .

The above result in Corollary 2 leads to the utilization bound (by using Lemma 9 with and ) for RM scheduling, which is worse than the existing Liu and Layland bound [23].

Moreover, the above utilization bound has been also provided by Abdelzaher et al. [1] for uniprocessor deadline-monotonic scheduling when an aperiodic task may generate different task instances (jobs) with different combinations of execution times and minimum inter-arrival times. Such a model is a more general model than the sporadic task model. Under such a setting, the framework cannot be used, whereas the framework is very suitable.

The schedulability analysis for arbitrary-deadline sporadic task sets is to use a busy-window concept to evaluate the worst-case response time [20]. That is, we release all the higher-priority tasks together with task at time and all the subsequent jobs are released as early as possible by respecting to the minimum inter-arrival time. The busy window finishes when a job of task finishes before the next release of a job of task . It has been shown in [20] that the worst-case response time of task can be found in one of the jobs of task in the busy window. For the -th job of task in the busy window, let the finishing time is the minimum such that

 hCk+k−1∑i=1⌈tTi⌉Ci≤t,

and, hence, its response time is . The busy window of task finishes on the -th job if .

A simpler sufficient schedulability test for a task is to test whether the length of the busy window is within . If so, all invocations of task released in the busy window can finish before their relative deadline. Such an observation has also been adopted in [13]. Therefore, a sufficient test is to verify whether

 ∃t with 0

If the condition in Eq. (20) holds, it implies that the busy window (when considering task ) is no more than , and, hence, task has worst-case response time no more than .

Similarly, we can use and , as in Section 5.1, and, then create a virtual sporadic task with execution time , relative deadline , and period . For notational brevity, suppose that there are tasks, indexed as , in .

Adopting :           Setting , and indexing the tasks in a non-decreasing order of leads to the satisfaction of Definition 1 with and . Therefore, we can apply Lemmas 1 and 2 to obtain the following theorem.

###### Theorem 3.

 (C′kDk+1)∏τj∈hp1(τk)(Uj+1)≤2 (21)

or

 C′kDk+∑τj∈hp1(τk)Uj≤k∗(21k∗−1). (22)

Adopting :           If we use the busy-window concept to analyze the schedulability of task by using Eq. (20), we can reach the following theorem directly by Lemma 5.

###### Theorem 4.

 C′kDk≤1−k∗−1∑i=1Ui−k∗−1∑i=1CiDk+∑k∗−1i=1Ui(∑k∗−1ℓ=iCℓ)Dk, (23)

in which , and the higher priority tasks in are indexed in a non-decreasing order of .

Analyzing the schedulability by using Theorem 4 can be good if is small. However, as the busy window may be stretched when is large, it may be too pessimistic. Suppose that for a higher priority task . We index the tasks such that the last release ordering of the higher priority tasks is with for . Therefore, we know that is upper bounded by finding the maximum

 tk=hCk+k−1∑i=1tiUi+k−1∑i=1Ci, (24)

with and

 hCk+k−1∑i=1tiUi+j−1∑i=1Ci>tj, ∀j=1,2,…,k−1. (25)

Therefore, the above derivation of satisfies Definition 4 with , and for any higher priority task . However, it should be noted that the last release time ordering is actually unknown since is unknown. Therefore, we have to apply Lemma 11 for such cases to obtain the worst-case ordering.

###### Lemma 12.

Suppose that . Then, for any and , we have

 Rk,h≤hCk+∑k−1i=1Ci−∑k−1i=1Ui(∑k−1ℓ=iCℓ)1−∑k−1i=1Ui, (26)

where the higher-priority tasks are ordered in a non-increasing order of their periods.

The worst-case response time for such cases can be set to , in which the detailed proof is in [9, 12].

###### Theorem 5.

Suppose that . The worst-case response time of task is at most

 Rk≤Ck+∑k−1i=1Ci−∑k−1i=1Ui(∑k−1ℓ=iCℓ)1−∑k−1i=1Ui, (27)

where the higher-priority tasks are ordered in a non-increasing order of their periods.