Improved Schedulability Analysis of Real-Time Sporadic Tasks with EDF Preemptive Scheduling

  • cc icon
  • ABSTRACT

    This paper proposes an analysis method to check the schedulability of a set of sporadic tasks under earliest deadline first (EDF) scheduler. The sporadic task model consists of subtasks with precedence constraints, arbitrary arrival times and deadlines. In order to determine the schedulability, we present an approach to find exact worst case response time (WCRT) of subtatsks. With the technique presented in this paper, we exploit the precedence relations between subtasks in an accurate way while taking advantage of the deadline of different subtasks. Another nice feature of our approach is that it avoids calculation time overhead by exploiting the concept of deadline busy period. Experimental results show that this consideration leads to a significant improvement compared with existing work.


  • KEYWORD

    EDF scheduling , Preemptive scheduling , Schedulability , Sporadic tasks

  • I. INTRODUCTION

    There are many industrial embedded systems consisting of millions of lines of code, and containing many tasks, where some tasks may have real-time constraints. Looking closer at these systems, independent tasks may consist of subtasks that exhibit strong dependencies. Subtask dependencies are necessary for realizing some control activities. That is, some subtasks have to respect a processing order due to message exchange between subtasks or usage of various resources. A significant problem in such systems is that missing deadlines can cause disastrous failures. One desirable approach to avoid timing-related errors in such complex systems is to use exact worst case response time (WCRT) analysis to provide a reliable guarantee.

    Spuri [1] derived WCRT for sporadically periodic tasks (independent task instances that arrive within a certain period for a time interval, and then does not rearrive for a longer period) with arbitrary deadlines where tasks are scheduled using a preemptive earliest deadline first (EDF) scheduler. Another approach proposed by Zhang and Burns [2] obtains necessary and sufficient conditions for EDF schedulability of a set of sporadic tasks. Within a sporadic task subtasks inter-arrival time is greater than or equal to the task period. The proposed schedulability conditions reduce the calculation overhead of previous results. Zhang et al. [3] model WCRT under preemptive fixed priority, for another extension of sporadic tasks. The sporadic task model introduces a bound on the number of task arrivals allowed in a specific time window. Further, they allow a different number of task arrivals for different time windows. However, the approaches in [1-3] did not consider the precedence constraints among subtasks.

    A different approach proposed in [4-7] derives WCRT analysis for a sort of sporadic task with precedence-constrained subtasks where task activation results in activation of all subtasks at the same time. That is, all subtasks arrive simultaneously as an external event occurs. To consider the precedence constraints between subtasks, the authors model a sporadic task by a directed acyclic graph (DAG). These approaches adopt a technique for transforming the DAG of the task under analysis to a simple chain by modification of the deadline of the subtasks. This technique is still somehow an approximation of the response times, because in some particular cases, transformation of a graph to a chain, and consequently introducing an artificial deadline for subtasks, is not able to exploit sufficiently the priorities among subtasks.

    This paper extends the aforementioned results to a larger class of sporadic task models. Our proposed sporadic task allows an arbitrary arrival time and arbitrary deadline of subtasks with acyclic precedence constraints, i.e., within a sporadic task, subtasks include acyclic precedence constraints and arrive at arbitrary time instances with arbitrary deadlines. Subtasks are implemented upon a uniprocessor platform and are scheduled under a preemptive EDF scheduler such that subtasks with precedence constraints are scheduled according to their precedence relations, while subtasks with no precedence relations are scheduled according to the EDF algorithm. In contrast to approaches in [4-7], to acquire WCRTs precisely, no deadline modification is allowed and the analysis is performed on the original sporadic graph.

    Since by adopting offset-based techniques, the corresponding analysis of a distributed system or a multiprocessor system can be transformed to an equivalent single processor analysis, our approach can be easily adopted for schedulability analysis of distributed systems or multiprocessors. In this case, task executions and message transmissions are modeled as preemptive/non-preemptive tasks executed in a single processor. In the study of schedulability of a distributed real-time system, compared with the approach proposed by Palencia and Harbour [8], our contribution is shown to have significant improved performance by a factor that grows larger with processor utilization.

    This paper starts by introducing related works in Section II, and the computational model in Section III. The proposed WCRT analysis is described in Section VI. A case study is presented in Section V. Finally, our conclusions are stated in Section VI.

    II. RELATED WORKS

    In the past, periodic and sporadic task scheduling has received considerable attention. A well-known result for periodic tasks is that the preemptive EDF algorithm is optimal in the sense that it will successfully generate a processor schedule for any periodic task system that can be scheduled [9]. In contrast to periodic tasks, a sporadic task is invoked at arbitrary times but with a specified minimum time interval between invocations. Kim and Naghibzadeh [10] showed the optimality of non-preemptive EDF, for the scheduling of a set of sporadic tasks with relative deadlines equal to their periods. The authors proposed the feasibility condition for a set of sporadic tasks with relative deadlines equal to their respective periods. [2] obtains the necessary and sufficient conditions for EDF schedulability of sporadic tasks, where subtasks’ inter-arrival time is greater than or equal to the task period. [3] considered WCRT for a sort of sporadic task model where a bounded number of tasks arrive in a specific time window. Spuri [1] proposed WCRT analysis of sporadically periodic task sets with arbitrary timing requirements scheduled under EDF. In this approach, sporadically periodic tasks are identified by two periods: an inner period and an outer period. The outer period is the worst-case inter-arrival time between bursts and the inner period is the worst-case inter-arrival time between task instances within a burst [1]. However, the computational model in the above-mentioned works does not cover dependency among subtasks of a sporadic task. A common form of dependency arises when one subtask produces the communication data of another consumer subtask to proceed with its computations. Further, even when no explicit data exchanges are involved, subtasks might be required to run in certain orders.

    The approaches proposed by Zhao et al. [4,5], concerns WCRT analysis for a set of independent sporadic tasks, scheduled under non-preemptive EDF scheduling and with fixed priority scheduling, respectively. Each sporadic task is represented by a graph to indicate subtask dependencies. The main idea is to transform the graph to a canonical chain by modification of the deadline of subtasks appropriately so that each subtask in the obtained canonical chain has a deadline larger than its predecessors. The idea of a graph to chain transformation was inspired by the approaches proposed by Harbour et al. [6,7]. This approach uses the graph to chain transformation to provide a theoretical framework for analyzing task sets scheduled through a fixed priority preemptive scheduler. However, [4-7] cover simultaneous arrival of subtasks only.

    In the study of task level precedence constraints, the meaning of a precedence constraint is applicable in practice only to tasks that have the same rate. Mangeruca et al. [11] generalizes the concept of precedence constraints between tasks to allow tasks to have different rates. Moreover, they consider integer linear problem formalization of the problems of optimum priority/ deadline assignment for preemptive EDF scheduling under precedence constraints.

    As for distributed hard real-time systems, Spuri [12] adapted the Holistic analysis technique to the systems that were scheduled under the EDF.

    In this work, the analysys requires global knowledge of the task routes to predict the worst-case end-to-end delay of a task. Later, [8,13-15] improved the estimations of WCRTs by developing the offset-based technique. The fundamental principle behind it is that, given the offset information of the tasks at a communication resource, the authors transform a distributed system to an equivalent uniprocessor. In this case, estimations depend only on the load that the analyzed task encounters. Another extension was proposed by Redell [16], which allows each task to have one or more immediate successors. The main problem with these techniques is that they take into account the precedence relations between tasks only indirectly, causing pessimistic resuls to quickly increase along with the system scale. In Section V, we show the outperformmance of our work compared with the work in [8].

    III. SYSTEM MODEL AND NOTATIONS

    Definition. Sporadic Task (τi): Sporadic task τi consists of ni number of preemptive subtasks τi = {τi,1, …, τi,ni} with precedence constraints and arbitray timing requirements. The inter-arrival time of of each task is separated by a minimum time Ti. Each task activation at time t results in activation of all subtasks, each one at time ti,j = t + Oi,j, where Oi,j denotes the arrival time relative to the activation of the task, Fig. 1 Each subtask has an execution time Ci,j, and relative deadline Di,j. The absolute deadline di,j of subtask τi,j requested at time ti,j equals di,j = ti,j + Di,j. The relative deadline of task τi is denoted by Di, where Di equals Di = maxj(Oi,j + Di,j).

    Definition. Busy Period: the time interval delimited by two successive idle times, during which the CPU is not idle. Let us denote the length of the longest busy period by L and the starting instance of the longest busy period by tB.

    Definition. Deadline-d Busy Period: A processor busy period in which only the subtasks with an absolute deadline smaller than or equal to d execute.

    Definition. Worst-case Response Time (WCRT)(Ri,j): maximum possible delay between arrival time and completion time of subtask τi,j on each activation time of the subtask τi,j inside the longest busy period:

    image

    Procedure 1 determines the order of scheduling of subtasks:

    image

    IV. RESPONSE TIME ANALYSIS

    According to the generalization of an original result described by Liu and Layland [9] we simply need to study the schedule of tasks in the most demanding arrival pattern, the longest busy period. As noted in Section III, the length of the longest busy period in our model is denoted by L and the starting instance of the longest busy period by tB. When the schedulability of periodic tasks under EDF is considered, from [17] we have: the completion time of a task’s instance with absolute deadline d, must be the end of a busy period in which all executed instances have absolute deadlines less than or equal to d (which is defined as deadline ?d busy period). If we are able to examine all such periods, by taking the maximum length we can find the WCRT of a task [17]. Let us consider the validity of the above argument for our proposed task model with precedence constrained subtasks. To do so, using a simple example illustrated in Fig. 2a, we shall demonstrate that it suffices to consider the worst-case scenario of the subtask τa,b with absolute deadline d that was released at r unit times after tB, inside a deadline ?d busy period. Consider a busy period where the coincidence of some subtasks τp,q, with Dp,q > d occurs at tB. Assume that the subtask τp,q with Dp,q > d is executed before starting instance of execution of the analyzed subtask τa,b, as shown in Fig. 2a. Even though τa,b with an earlier absolute deadline is released earlier than τp,q, due to the highest urgency of the predecessors of τa,b and their exposed precedence relations, it is possible that τp,q would be executed earlier. However, we show that it is possible to avoid the conservative analysis of such busy periods by introducing an equivalent deadline ?d busy period. Let us denote the phase between the starting instance of execution of the subtask τp,q with tB, by Sp,q and the phase between the period can be examined that starts at arrival of those subtasks.

    In this case, the subtask τa,b would be released at time r'=rE p,q, see Fig. 2b because in both of the cases, the response time of subtask τa,b is identical. This means that, if execution of subtask τp,q with Dp,q > d occurs before starting the instance of execution of analyzed subtask τa,b, as shown in Fig. 2a, the considered deadline ?d busy period would be finished at time tB + Sp,q.

    Thus we are interested in deadline ?d busy periods with a length greater than or equal to r.

    In a scenario where the model is composed of periodic tasks (as proposed in [1]) or the task model is defined as sporadic tasks with simultaneous arrival time of subtasks (as proposed in [5]) scheduled under EDF, the worst-case busy period occurs in the synchronous busy period, where all tasks arrive simultaneously. However, since in our model each task consists of subtasks with arbitrary release times and timing requirements, we must take into account that the critical instance may not be obtained by the occurrence of all tasks at the starting instance of the busy period. Let us consider the coincidence of which subtasks of tB would result in the critical instance. Consider subtasks of the task τk that possibly delay execution of τa,b. Each such subtask falls in the category SetkH, which is composed of subtasks with Dk,ld. According to the definition of the deadline ?d busy period, only the subtasks of task τk, ka that are included in SetkH are considered to delay the execution of the subtask τa,b by arriving inside a deadline ?d busy period. Thererore, a deadline ?d busy period could be constructed by releasing one subtask of each task with Dk,ld at tB. However, we do not know which subtask coincident to tB corresponds to the critical instant for the analysis of the subtask τa,b. Therefore, in the procedure of considering the critical instance of subtask τa,b, we must study all possible deadline ?d busy period created by choosing one higher priority subtask in each task to occur at time t = tB. Fig. 3 illustrates an example showing that to construct the critical instance of τa,b in a deadline ?d busy period, we must consider all cases, where a higher priority subtask of each task occurs at tB.

    Consider a system consisting of three sporadic tasks. namely τ1, τ2, and τa. The task τa consists of one subtask τa,b with Oa,b = 4 and Da,b = 6 where it tis released at 4 unit times after tB, as shown in Fig. 3. The sporadic graph of tasks τ1, τ2 and the characteristics of corresponding subtasks are shown in Fig. 3a. The timeline of the activation time and deadline of subtask τa,b is shown in Fig. 3b. For simplicity, let us assume that the computation time for each subtask of every task is one unit. In this case, it is easy to show that the longest deadline ?d busy period con be obtained by releasing τ1 and τ2 at tB. Hence, the response time of subtask τa,b equals C1,1 + C1,2 + C1,4 + C2,1 + C2,2 + Ca,b ― 4 = 2. Let us assume another scenario defined in the same way, except that the computation time of subtask τ1,3 equals 7. In this case, releasing the subtask τ1,3 at tB and releasing the task τ2 at time tB would lead to the longest deadline ―d busy period. Hence, the response time of subtask τa,b equals C1,3 + C2,1 + C2,2 +Ca,b ― 4 = 6.

    Theorem 1 helps us to find the worst-case scenario where τa,b is released at time tBr < tB + L:

    Theorem 1: The worst-case response time of subtask τa,b with a release time at tBr < tB + L and absolute deadline d, is found in a deadline ―d busy period of subtask τa,b where the first activation of some subtask τk,l, of task τk, k ≠ a, with Dk,ld coincides with t = tB and task activations of τk occur periodically with their maximum rate inside the busy period.

    Proof: Let t1 > tB be the imstant at which a subtask τk,l, ka with absolute deadline dk,l is activated the first time inside the busy period, and let dk,ld. Suppose that we move t1 to coincide with t = tB in this circumstance; it is possible that an activation of successor subtasks of subtask τk,l, denoted by τk,j, with an absolute deadline after instant d may have been moved earlier to have a deadline before or at d; thus it would possibly increase the response time of the analyzed subtask.

    Based on Theorem 1, in the procedure of finding the critical instance of subtask τa,b released at time tBr < tB + L, we must study all possible deadline ―d busy periods created by choosing one higher priority subtask in each task ot occur at time t = tB. Given all possible deadline ―d busy periods, the largest response time of subtask τa,b accounts for its WCRT, denoted by Ri,j.

    In the rest of this paper, the coincident subtask of task τk to tB is denoted by τk,l. Through the analysis expressed in Eqs. (2)―(10) we shall assume that task τa consists of one subtask, τa,b, only. In the latter part of this section, we will extend the analysis to consider the response time of τa,b where the task τa includes a sporadic graph with precedence constraints.

    Let us first consider a complete activation of task τk that occurs in the time interval [tB, t], where t > tB.

    This activation occurs before t, so that t?'activation time' ≥ Tk and 'activation time' ? tB ≥ 0. We denote the total number of complete activations of task τk that occur in the time interval [tB, t], by Nk,l(t). As has been noted earlier, in our analysis, we assume that the subtask τk,l has been released at tB. From Fig. 4, it is easy to see that Nk,l(t) could be obtained by

    image

    where ρk,l represents the phase between tB and the first activation of task τk inside the busy period. Hence, we have ρk,l = TOk,l if Ok,l > 0, and ρk,l = 0 otherwise. The total time required to schedule activations of task τk that occurred completely in the time interval [tB, t] equals:

    image

    Fig. 5 represents a scenario for the alignment of the task τk arrival pattern after tB. The upper part of this figure corresponds to the activation and deadline of subtask τa,b, and the lower part represints the activation of subtasks of task τk. In Fig. 4, Nk,2(t') = 0, because t't2 < Tk. Further, since t"t2 > Tk, t2tB > 0 and also t"t3 > Tk, t3tB > 0, we have Nk,2(t") = 2.

    It should be noted that in the above discussion, we only find the time required to execute Nkl(t) activations of task τk. However, among those, activations of task τk. released after dDk would not contribute to the response time of analyzed subtask [17]. Thus, at each given time interval [tB, t], only activations of task τk with deadlines before or at d, can contribute to the response time of analyzed subtask. At each given time interval [tB, t], Ck,l(t) is bounded by Gk,l(d), which is given by following equation:

    image

    Therefore, the contribution of Nk,l(t) complete activations of task τk to the response time of the analyzed subtask, at each given time interval [tB, t], is given by:

    image

    To see this, redoing the example in Fig. 5, let us assume that Dk,1=Dk,3=Tk, Dk,2=3?Tk-Ok,2 and hence Dk=3?Tk. In this case, we have Ck,2(t")=2.

    image

    Gk,2(d)= 0 and consequently, Wk,l(t",d)=0.

    Eq. (4) only obtains the contribution of complete activations of task τk that occur inside the time interval [tB, t]. The problem that remains is to obtain the contribution of activations that do not interfere with the response time of the subtask under analysis, completely.

    We shall categorize those contributions of task τk into two sets. Set A: activations included in this set occur completely inside the time interval [tB, t], but they have a deadline greater than d. Thus those activations do not interfere with the response time of τa,b, completely. For example, in Fig. 5, consider Dk,1 = Dk,3 = Tk, Dk,2 = 3 · TkOk,2. In this case, we have Wk,2(t'', d) = 0 , but activations of task τk that occurred at times t2 and t3 consist of some subtasks that would delay the response time of τa,b: subtasks τk,1 2, τk,1 3. We shall define

    image

    to obtain the total computation time of the subtasks of activations of task τk in Set A by

    image

    where max(Ek) represents the summation of computation time of the subtasks of activations in Set A that have an absolute deadline less than or equal to d and activation time before or at t, so that all their predecessors also have an absolute deadline less than or equal to d and activation time before or at t. In Fig. 5, consider Dk,1 = Dk,3 = Tk, Dk,2 = 3 · TkOk,2, we have

    image

    Set B: activations included in this set do not occur completely inside the time interval [tB, t]. This set may consist of two members only. The first one is the first activation that occurs immediately before tB, where Ok,l ≠ 0 , for example, activation of task τk occurred at time t1 , in Fig. 5. The second member of Set B is the last activation, where t?′activation time′ < Tk. Consider time interval [tB, t′] in Fig. 5: activation of task τk occurs at time t2 and corresponds to this element. We shall define

    image

    to account for the total computation time of the subtasks of activations of task τk in Set B by:

    image

    where max(Ek) is defined as for Eq. (5). Finally, we shall define δk,l(t,d) to obtain the total computation time of the subtasks of activations of task τk in Set A and Set B by

    image

    So far, we have studied the contribution of task τk to the response time of τa,b that has been released until time t. In general, the study of response time of a subtask τa,b with deadline d is an iterative procedure. The basic idea is that in each step, the obtained busy period must be the end of the execution of all instances of all tasks with deadlines less than or equal to d that have been released in the previous steps. Toward this, we shall define LNa,b(t,d)(k) to represent the length of the resulting busy period in the k’th iteration of response time analysis of subtask τa,b with deadline d, where t is substituted with the length of the obtained busy period in the previous step. LNa,b(t,d)(k) is ob-tained by the iterative equation, Eq. (9). This equation represents the iterative procedure, where at each step the length of a busy period is given by the summation of execution times obtained in Eqs. (4) and (7). We shall initiate this iterative procedure by Eq. (8). In Eq. (8), ck,l represents the execution time of the subtask coincident to tB. The iteration is halted where the computations converge.

    image
    image

    The response time of subtask τa,b where it occurs at time tBr < tB + L is

    image

    The problem that remains to be solved is to determine the response time of subtask τa,b, where task τa includes a sporadic graph with precedence constraints. Consider a scenario where τa,b is released at r. In this case, the response time of τa,b is influenced by the order of execution of all subtasks of task τa that must be scheduled before τa,b. Further, this sequence of subtasks of task τa may not be the same as the sequence of subtasks in another scenario where τa,b is released at r′. Therefore, it is of great importance to determine the order of subtasks of task τa that must be scheduled before τa,b for each release time of τa,b.

    In order to find the correct response time of subtask τa,b, we shall use Procedure 1 to determine the correct sequence of subtasks of task τa that must be scheduled before τa,b. This procedure would let us to consider the correct sequence of subtasks of task τa that must be scheduled before τa,b and consequently the correct response time of subtask τa,b. To show this, let us denote the current subtask of task τa of which its response time has been considered by τa,q and the next chosen subtask by τa,p. Consider a scenario where τa,b is released at r. In this case, τa,q and all the subtasks of task τa that have been considered by Eqs. (8) or (9) will be dropped from the sporadic graph of task τa, by Procedure 1. When τa,p is chosen as the analyzed subtask by Procedure 1, it must have the minimum deadline among all subtasks of task τa that arrived at or before the completion of execution of τa,q, but they have no predecessors. This fact is in accordance with the definition of scheduling mentioned in Section III.

    V. COMPARISON WITH EXISTING TECHNIQUES

    We have compared the results of our proposed analysis, with the results obtained by Palencia and Harbour [8]. This approach transforms a distributed system schedulability analysis to an equivalent analyzable uniprocessor schedulability test, by using task offsets. Since tasks are preemptive, without loss of generality, we applied the static offset technique on a set of chains of subtasks, where each node in a chain represents a preemptive subtask.

    Fig. 6 shows the obtained average response time by our analysis and obtained average response time by the static offset technique proposed in [8]. We ran our simulation on a task set consisting of 20 tasks, each one including five subtasks. The average response time corresponded to five subtasks of an analyzed task. The x-axis represents the processor utilization which varies with the changing execution time of the subtasks in the task set. The deadline of subtasks in the task set is generated randomly, except the 2nd subtask of each task in the first scenario and 2nd and 4th subtask in the second scenario. In the first scenario, the deadline of the 2nd subtask of each of the 20 tasks is generated so that it is greater than the deadline of the analyzed task. In the second scenario, the deadline of the 2nd and 4th subtask of each of the 20 tasks is generated so that it is greater than the deadline of the analyzed task. For the first scenario, it can be seen that the average response time obtained by the static offset technique is between 3 to 5 times larger than that of our results. The reason is that the static offset technique accounts for the execution time of the 3rd, 4th, and 5th subtasks of the interfering tasks in the task set where they do not contribute to the response time of the analyzed subtasks. In fact, it accounts for the execution time of each interfering subtask assuming that the corresponding predecessors have a deadline less than the analyzed subtask. This is a result that is shown to be flawed by [7] in the case of fixed priority scheduling. As for the second scenario, it can be seen that the difference between the average response times is tighter. However, our simulation same results as the first scenario. The obtained smaller average response times by the static offset method is due to accounting for the execution time of the 3rd and 5th subtasks of the interfering tasks in the task set. However, in our constructed scenario, since the task offsets are set to zero, by the definition of the deadline busy period, they do not contribute to the response time of the analyzed subtasks.

    In order to evaluate the pessimism of the admission controllers of our analysis and the static offset-based method implemented on a uniprocessor, we conducted simulations to identify the lowest utilization at which deadlines are missed. We perform our simulation on a set of 30 tasks with 5 subtasks per task, in one processor, for the case in which the task offsets are zero. Task sets were generated randomly, and the subtask specifications do not represent worst-case scenarios. We add a new task, denoted by τa, with 5 subtasks with randomly generated deadlines, accordingly. We increased the utilization of the task set by increasing the execution time of subtasks uniformly, until deadline misses were observed. Fig. 7 presents the results of our analysis where the y-axis represents the utilization and x-axis represents 5 states. Under state 1 (2, 3, 4, 5) each task has the first (and second, third, fourth, and fifth, respectively) subtask in its corresponding chain with a deadline greater than Da. Each bar in Fig. 7 presents the results from the simulations of the lowest utilization at which the deadline misses were observed for different task states in the system.

    It can be observed that for our analyzed task model, the new task τa can be admitted for all utilizations in the first 4 states. In the 5th state, τa can be admitted for utilizations below 90%. In addition, for the first 4 states, the maximum utilization of the task set at which τa can be admitted, by the static offset based method, fluctuates between 80% in the 4th state and 100% in the 3rd state. As previously mentioned, the drawback of the static offset-based analysis is that it accounts for the execution time of each interfering subtask assuming that the corresponding predecessors have a deadline less than Da. The 2nd, 3rd, and 4th state can be similarly described, indeed. However, in the 5th state, both methods have the same results.

    In another experiment, we consider a scenario where the task sets represent the worst-case scenario. In this case, all the subtasks with a deadline less than or equal to Da have a deadline less than or equal to the minimum deadline of the subtasks of task τa. Fig. 8 presents the results of our analysis where the Y axis represents the utilization and x-axis represents 10 states. The first 5 states are tested as explained for Fig. 7. State 6 represents a scenario where the 1st and 3rd subtask have a deadline strictly greater than Da. State 7 represents a scenario where the 1st and 4th subtask have a deadline strictly greater than Da. State 8 represents a scenario where the 2nd and 4th subtask have a deadline strictly greater than Da in state 9 and 10, subtasks 1st, 4th and 5th and 2nd, 4th and 5th, respectively, have a deadline strictly greater than Da. In this case, due to the drawback pointed out for the last experiments, it can be seen that the maximum task set utilization obtained by the offset based technique degrades significantly.

    VI. CONCLUSIONS

    In this paper, we studied the exact WCRT analysis of sporadic tasks that are modeled by DAG and scheduled under preemptive EDF scheduling. The objective is to obtain precise WCRTs of a generalized sporadic task model with arbitrary timing requirements that have not been considered in previous works. A nice feature of our work is that it exploits the precedence constraints between subtasks in an accurate way while taking advantage of the deadlines of subtasks. We find via simulation results that our methodology provides accurate results comparable with existing works.

  • 1. Spuri M. 2006 “Analysis of deadline scheduled real-time systems” google
  • 2. Zhang F., Burns A. 2009 “Schedulability analysis for real-time systems with EDF scheduling” [IEEE Transactions on Computers] Vol.58 P.1250-1258 google
  • 3. Zhang Y., Krecker D. K., Gill C., Lu C., Thaker G. H. 2008 “Practical schedulability analysis for generalized sporadic tasks in distributed real-time systems” [in Proceedings of the Euromicro Conference on Real-Time Systems] P.223-232 google
  • 4. Zhao H. X., Midonnet S., George L. 2005 “Worst case response time analysis of sporadic graph tasks with fixed priority scheduling on a uniprocessor” [in Proceedings of the 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications] P.23-29 google
  • 5. Zhao H. X., George L., Midonnet S. 2006 “Worst case response time analysis of sporadic graph tasks with EDF scheduling on a uniprocessor” [in Proceedings of the 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications] P.271-278 google
  • 6. Harbour M. G., Klein M. H., Lehoczky J. P. 1994 “Timing analysis for fixed-priority scheduling of hard real-time systems” [IEEE Transactions on Software Engineering] Vol.20 P.13-28 google
  • 7. Harbour M. G., Klein M. H., Lehoczky J. P. 1991 “Fixed priority scheduling periodic tasks with varying execution priority” [in Proceedings of the 12th Real-Time Systems Symposium] P.116-128 google
  • 8. Palencia J. C., Harbour M. G. 2002 “Offset-based response time analysis of distributed systems scheduled under EDF” [in Proceedings of the 5th Euromicro Conference on Real-Time Systems] P.3-12 google
  • 9. Liu C. L., Layland J. W. 1973 “Scheduling algorithms for multiprogramming in a hard-real-time environment” [Journal of the ACM] Vol.20 P.46-61 google
  • 10. Kim K. H., Naghibzadeh M. 1980 “Prevention of task overruns in real-time non-preemptive multiprogramming systems” [in Proceedings of the International Symposium on Computer Performance Modelling, Measurement and Evaluation] P.267-276 google
  • 11. Mangeruca L., Baleani M., Ferrari A., Sangiovanni-Vincentelli A. 2007 “Uniprocessor scheduling under precedence constraints for embedded systems design” [ACM Transactions on Embedded Computing Systems] Vol.7 google
  • 12. Spuri M. 1996 “Holistic analysis for deadline scheduled real-time distributed systems” google
  • 13. Pellizzoni R., Lipari G. 2005 “Improved schedulability analysis of real-time transactions with earliest deadline scheduling” [in Proceedings of the 11th IEEE Real Time on Embedded Technology and Applications Symposium] P.66-75 google
  • 14. Palencia J. C., Harbour M. G. 1999 “Exploiting precedence relations in the schedulability analysis of distributed real-time systems” [in Proceedings of the 20th IEEE Real-Time Systems Symposium] P.328-339 google
  • 15. Palencia J. C., Harbour M. G. 1998 “Schedulability analysis for tasks with static and dynamic offsets” [in Proceedings of the 19th IEEE Real-Time Systems Symposium] P.26-37 google
  • 16. Redell O. 2004 “Analysis of tree-shaped transactions in distributed real time systems” [in Proceedings of the 16th Euromicro Conference on Real-Time Systems] P.239-248 google
  • 17. Tindell K. 1994 “Adding time-offsets to schedulability analysis” google
  • [Fig. 1.] Computational model of a sporadic task. (a) Task τ1 specification, (b) timeline of activation time and deadline of subtasks.
    Computational model of a sporadic task. (a) Task τ1 specification, (b) timeline of activation time and deadline of subtasks.
  • [Fig. 2.] An illustration of the equivalent deadline?d busy period with a regular busy period. (a) Busy period which includes execution of τp,q with a latter absolute deadline the da,b. The rectangle illustrates the execution of τp,q.(b) deadline?d busy period starts with subtasks released at time interval(tB+Sp,q,tB+Ep,q).
    An illustration of the equivalent deadline?d busy period with a regular busy period. (a) Busy period which includes execution of τp,q with a latter absolute deadline the da,b. The rectangle illustrates the execution of τp,q.(b) deadline?d busy period starts with subtasks released at time interval(tB+Sp,q,tB+Ep,q).
  • [Fig. 3.] An example of a critical instance given a deadline ?d busy period with maximum length of 10. (a) Directed acyclic graph of tasks τ1 and τ1 and characteristics of each corresponding subtask, (b) the absolute deadline of subtask τa,b is d = 10, tB is the beginning of the busy period.
    An example of a critical instance given a deadline ?d busy period with maximum length of 10. (a) Directed acyclic graph of tasks τ1 and τ1 and characteristics of each corresponding subtask, (b) the absolute deadline of subtask τa,b is d = 10, tB is the beginning of the busy period.
  • [Fig. 4.] A scenario to obtain complete activations of task τk up to time t.
    A scenario to obtain complete activations of task τk up to time t.
  • [Fig. 5.] An example of calculating the required time to schedule task τk up to t.
    An example of calculating the required time to schedule task τk up to t.
  • [Fig. 6.] Response time comparison of subtasks with offset = 0.
    Response time comparison of subtasks with offset = 0.
  • [Fig. 7.] Our analysis test vs. static offset-based technique with different states of deadlines of subtasks within tasks.
    Our analysis test vs. static offset-based technique with different states of deadlines of subtasks within tasks.
  • [Fig. 8.] Our analysis test vs. static offset-based technique with different states of deadline of subtasks within tasks in the worst case.
    Our analysis test vs. static offset-based technique with different states of deadline of subtasks within tasks in the worst case.