Energy Efficient Scheduling for Real-Time Systems on Variable Voltage Processors æ

Size: px
Start display at page:

Download "Energy Efficient Scheduling for Real-Time Systems on Variable Voltage Processors æ"

Transcription

1 Energy Efficient Scheduling for Real-Time Systems on Variable Voltage Processors æ Gang Quan Xiaobo (Sharon) Hu Department of Computer Science & Engineering University of Notre Dame Notre Dame, IN Abstract Energy consumption has become an increasingly important consideration in designing many realtime embedded systems. Variable voltage processors, if used properly, can dramatically reduce such system energy consumption. In this paper, we present a technique to determine voltage settings for a variable voltage processor that utilizes a fixed priority assignment to schedule jobs. Our approach also produces the minimum constant voltage needed to feasibly schedule the entire job set. Our algorithms lead to significant energy saving compared with previously presented approaches. 1 Introduction Energy consumption is one of the critical factors in designing battery-operated systems, such as portable personal computing and communication devices. To reduce system energy consumption, supply voltage reduction is the most powerful technique since power is a quadratic function of the voltage. However, if a single supply voltage is used, the amount of voltage reduction allowed may be severely limited due to the requirement of satisfying few tight timing constraints, which is often the case for real-time embedded systems. Recent advances in power supply circuits [2, 9] have enabled systems to operate under dynamically varying supply voltages. In such an environment, both power consumption and the speed of the system can be dynamically controlled. Judicious exploitation of this feature can dramatically improve the energy consumption of a real-time system. In this paper, we are interested in studying the following type of a real-time system implemented on a variable voltage processor. The real-time system consists of jobs with predefined release times, deadlines and required number of CPU cycles. Such jobs may either be aperiodic or be instances of periodic tasks. These jobs are scheduled by a preemptive scheduler based on some statically defined priorities, e.g., according to the rate-monotonic policy [7]. Such a fixed-priority assignment approach is used in most real-time scheduling algorithms [8]. If the jobs are executed by a variable voltage processor, the execution time of each job can vary depending on the speed determined by different voltage levels at different times. By setting the supply voltage to different values at different times, we can essentially build a voltage schedule. æ This research was supported in part by the National Science Foundation under Grant MIP

2 The challenge is to determine the voltage (or equivalently speed) schedule which lead to the minimal energy consumption. A number of papers have been published on similar topics. Off-line scheduling algorithm for nonpreemptive hard real-time tasks are discussed in [3, 6]. In [5, 6], more general variable voltage processor models are used assuming that processor voltage cannot change instantaneously or continuously. The more practical processor models make the problem much harder to solve. A heuristic approach is described in [5], and a linear programming formulation is introduced in [6]. Yao, Demers and Shenker [13] presented an OèN 2 è (or OèN log N è for a more sophisticated implementation), where N is the number of jobs to be scheduled, time off-line algorithm for finding the optimal voltage schedule. They assume that jobs are scheduled according to the earliest-deadline-first (EDF) scheduling policy [7]. Hong, Potkonjak and Srivastava described an on-line scheduling algorithm for real-time tasks on variable voltage processor, where it is assumed that the release times of jobs are not known apriori[4]. All of the above approaches employ the dynamic EDF priority assignment scheme for scheduling the jobs. Though the EDF policy is used in some real-time systems, fixed-priority assignments are adopted in most real-time scheduling algorithms of practical interest due to its low overhead and predictability [8]. Shin and Choi [11] presented a power conscious fixed priority scheduling scheme for hard real-time systems on a variable voltage processor. The approach makes use of a simple run-time checking mechanism. The processor can either be shut down (if there is no current active job) or adopt the speed such that the current active job finishes exactly at the release time of the next job. The advantage of the technique is its simplicity and hence can be readily incorporated into an operating system (OS) kernel. However, the on-line approach determines the processor speed based solely on the release time of the closest job to be executed. It cannot exploit the fact that the release times and deadlines of most real-time jobs, particularly the jobs corresponding to the instances of periodic tasks, are known off-line. Hence, it may not be able to fully utilize the benefit provided by a variable voltage processor. In [12], Shin, Choi, and Takayasu proposed an off-line algorithm to determine the lowest maximum processor speed to execute a periodic real-time task set on a variable speed processor. It is assumed that all the tasks start at the same time, and consequently the first job of each task would have the longest response time [7]. The algorithm finds the minimum processor speed that guarantees the schedulability of the first job for each task. Note that this approach can only be applied to the periodic tasks having the same starting time. Moreover, it is not difficult to see that the minimum processor speed can be further reduced after the completion of the first job. Though the algorithm in [12] can be combined with the approach in [11], it still fails to maximally explore the flexibility of a variable speed processor. In this paper, we present a technique to determine voltage schedules that result in more energy saving. Similar to that in [13], our technique is based on the assumption that the timing parameters of each job is known off-line. (For jobs whose timing parameters are not known, our technique can be readily combined with an on-line algorithm such as the one in [11].) Though we simply change the priority assignment from dynamic EDF in [13] to a fixed assignment, the problem becomes much harder to solve. We will provide some examples later to illustrate this. Two algorithms are given in the paper. The first one takes OèN 2 è time, where N is number of jobs to be scheduled, and finds the minimum constant speed needed to complete each job since constant voltage 2

3 tends to result in lower power consumption. The second algorithm, with OèN 3 è time complexity, builds on the first one and gives two results. First, the minimum constant voltage (or speed) needed to complete a set of jobs is obtained. This is an important parameter when designing systems with no sophisticated power management hardware but only simple on/off modes or where peak power consumption is a concern. Secondly, a voltage schedule is produced. We prove that this voltage schedule always results in lower energy consumption compared to using the minimum constant voltage and shutting down the system when it is idle. we show through experiments that the energy saving achieved by applying our algorithm is quite significant, especially compared to the algorithms presented in [11]. Note that our algorithm can be readily combined with on-line scheduling techniques such as the one in [11] to further improve energy consumption during run-time. The rest of the paper is organized as follows. Section 2 formulates the problem and gives some motivational examples. Two novel algorithms are presented in Section 3 and 4. Experimental results are discussed in Section 5 and Section 6 concludes the paper. 2 Preliminaries In this section, we first introduce the necessary notation and formulate the problem. Then, we review some known results and provide several motivational examples. 2.1 Problem formulation The system we are studying consists of N independent jobs, J = fj 1 ;J 2 ; æææ;j N g, arranged in the decreasing order of their statically assigned priorities. The following timing parameters are defined for each job J n : æ R n : the time at which job J n is ready to be executed, referred to as release time. æ D n : the time by which J n must be completed, referred to as deadline. æ C n : the maximum number of CPU cycles needed to complete job J n without any interruption, referred to as workload. Without loss of generality, we assume no special relationships among release times and deadlines of different jobs. It is not difficult to see that the above system model can be readily used to model task instances in periodic real-time systems, where R m and R n differ by some integer multiple of the task period if J m and J n belong to the same task. A single processor is used to execute the jobs in the system, and the processor can work at different voltage levels which can be continuously varied from ë0;v max ë. When the supply voltage v changes, the processor speed s changes proportionally. For simplicity, we will use processor speed and supply voltage interchangeably whenever applicable. The power consumption (P ) is a convex function of the processor speed, i.e., P = f èsè; where f 00 èsè ç 0; (1) 3

4 and s è v; 0 ç v ç V max : (2) Given a set of real-time jobs and a variable voltage processor introduced, different voltage values (or processor speeds) can be set at different times. We refer to a set of voltage values or speeds during the entire time interval when the job set J being executed as a voltage schedule. Our problem is then to determine a voltage schedule with which the lowest amount of energy is consumed and the jobs are all completed at or before their deadlines. Several observations are helpful in formulating our problem more formally. The authors of [13] presented a theorem regarding the best speed for a given set of jobs that must be completed within an interval. We restate the theorem in the following. Theorem 1 Assume that the power consumption of a variable voltage processor is a convex function of the processor speed. Given a set of jobs starting at t 0 and to be completed by t 1, the voltage schedule that employs a constant voltage in ët 0 ;t 1 ë is necessarily an optimal schedule in the sense that no other schedule consumes less energy to complete the jobs in time. Based on the above theorem, we can easily prove the following lemma which describes an important feature for any optimal voltage schedule. Lemma 1 An optimal voltage schedule for a job set J is defined on a set of time intervals in which the processor maintains a constant speed, and each of these intervals must start and end at either the release times or deadlines of the jobs. Proof: Suppose the curve Sètè in Figure 1 is the optimal voltage schedule for a given job set, and t 0 ;t 1 ; æææ;t m are the release times or deadlines of the jobs. Let s 1 ;s 2 ; æææ;s m be the constant speeds such that s i æ èt i, t i,1 è= Z ti t i,1 Sètèdt; i.e., the speeds that result in the same work load as Sètè within each interval. It follows that no job will violate its deadline while the processor running at the speeds s 1 ;s 2 ; æææs m : According to Theorem 1, the processor will consume less energy running at the speeds designated by s 1 ;s 2 ; æææ;s m than that running at the speed defined by Sètè. Thus an optimal schedule can only change its speed either at the release times or deadlines of some jobs. 2 According to Lemma 1, our voltage scheduling problem can be formally defined as follows: Definition 1 Given a job set J, find a set of intervals, ët k s;t k f ë, and a set of speeds, S = fsètk s;t k f è;k = 1; 2; æææ;kg, wheret k s and tk f are among the job release times and deadlines, and Sètk s ;tk f è is a constant speed, such that if the processor operates accordingly, all the jobs can be completed by their deadlines and no other voltage schedules can consume less energy. 2.2 Motivational examples Consider a simple real-time system with 3 jobs as shown in Figure2(a). The fixed priority assignment for the jobs are different from the EDF priority assignment where J 2 would have a higher priority than J 1. 4

5 Speed s 1 s 2 s 3 s 4 s m 1 s m S(t) t 3 t m 1 t 0 t 1 t 2 t 4 t m 2 t m Time Figure 1: Optimal energy saving scheduling for fixed-priority task set. Under the EDF policy, the best voltage schedule is Sè0; 8è = 13=8. However, it is not difficult to check that this voltage schedule would result J 2 missing its deadline if the jobs are scheduled according to the given priority. Thus, whenever the fixed priority assignment disagrees with the EDF assignment, the voltage schedule obtained based on the EDF priority assignment may not be applicable any more. For the same example, the off-line approach in [12] cannot be readily applied because the jobs do not start at the same time. If the on-line voltage scheduling algorithm proposed in [11] is used, we can obtain the voltage schedule as shown in Figure 2(b). This is a greedy approach as it only checks the release time of the next job to determine the current speed. A better voltage schedule is given in Figure 2(c). It is not difficult to verify that the voltage schedule in Figure 2(c) consumes less energy than that in Figure 2(b). If we assume P = s 2, the energy in Figure 2(c) is 22:5=27 = 83è of that in Figure 2b. From the above examples, it is clear that existing approaches are not able to determine the optimal voltage schedule for a given job set when a fixed-priority assignment is used. However, we find the rational behind the technique used in [13] is enlightening. The key to the algorithm in [13] is to find the minimum constant speed needed to finish certain subsets of all jobs. In the EDF priority assignment, this can be easily computed by P J SèR m ;D i 2J j C i n è= (3) D n, R m where D n é R m,andj j is the subset of jobs whose release times and deadline are both in ër m ;D n ë. In computing SèR m ;D n è, there is no need to include any jobs that are released in ër m ;D n ë, and have deadlines after D n, since there always have lower priorities than J n. In the fixed-priority assignment case, (3) is no longer valid due to the fact that a job J k released in ër m ;D n ë with deadline larger than D n may have a higher priority than J n. If J k does have a higher priority, it may preempt J n in ër m ;D n ë (depending on if J n is finished before or after J k 's release time). In Figure 2(a), J 2 and J 1 exhibit such a relationship. This uncertainty in the preemption relationship greatly increases the difficulty in finding the voltage schedules under the fixed-priority assignment scheme. In the 5

6 s J J J (a) C =2 1 C =6 2 C =5 3 t s R =2 1 1 D =6 R 2=0 D =4 R =3 2 2 D = / t (b) (c) Figure 2: An example real-time system with different voltage schedules. t following section, we present new observations and techniques to tackle such a problem. 3 Determining the Minimum Constant Speed for Each Job In this section, we present our approach to find the minimum constant speed needed to complete each job by each deadline. Finding such speeds is beneficial in two aspects. First, it can help us to determine the minimum overall constant speed for the entire job set J such that if the supply voltage is set for this speed, it will result in the minimum energy consumption compared to any other constant speed for J. Secondly, we can use it to derive a voltage schedule that leads to even lower energy consumption. Recall that the authors in [12] proposed a technique to compute the minimum constant speed to guarantee the schedulability for a periodic task system. Since all the tasks start at the same time, the problem reduces to finding the minimum constant speed for the first job of each task. This is a rather special case. We are dealing with a more general case where jobs can be released at any time. Let us denote the minimum constant speed needed to complete job J n by S n. We first use an example (see Figure3) to illustrate several critical properties that S n must possess. Suppose we want to find S 3 for J 3 in Figure3. If we use interval ë0; 10ë to compute S 3,thenS 3 = Së0; 10ë = 1. However, applying Së0; 10ë = 1 will cause an idle interval ë1; 2ë and J 3 to miss its deadline. On the other hand, if we set S 3 = Së3; 10ë = 5=7, J 3 can be completed by D 3. But in order for J 3 to start at t =3, the processor speed must be set to at least Së2; 3ë = 4. Otherwise,J 2 will prevent J 3 from finishing on time. Hence, Së3; 10ë is not the valid minimum constant speed for J 3. For this example, S 3 = Së2; 10ë = 9=8. If we let the processor speed during ë0; 2ë be 1=2, andp = s 2, it is easy to verify that the power consumption for this schedule is 10:6=20:1 = 52:7è of the one using S 3 = Së3; 10ë. To summarize, the minimum constant speed S n is computed based on some intervals which must have the following properties: 6

7 J J C 1=1 R 1 =0 D 1 =9 C 2=4 R 2 =2 D 2 =8 C 3=5 R 3=3 D 3 =10 J Figure 3: An example real-time system with three jobs. æ There is no idle time within the interval that S n corresponds to. æ Applying S n do not force other intervals to take higher speeds. æ The interval must begin and end at the release times or deadlines of some jobs. These properties play a key role in determining the interval to compute S n. When deriving the minimum speed of J n, we do not need to consider every job in J but only certain higher priority jobs whose execution may interfere with J n 's execution. The following definitions help us to limit the number of jobs to be considered. Definition 2 Time t is called a J n -scheduling point if t = R i ; 1 ç i ç n or t = D n. For the rest of the paper, when we refer to a time t, we always mean a scheduling point. According to Lemma 1, if the processor speed varies between two consecutive scheduling points, we can always find a constant speed in the corresponding interval which is more energy efficient. Definition 3 A J n -scheduling point t is called the earliest scheduling point of J n and denoted by T E ènè if it is the largest J n -scheduling point in ë0;r n ë that satisfies t ç D i if tér i ; 1 ç i ç n: ThelatesttimeofJ n by which J n must be completed is called the latest scheduling point of J n and is denoted by T L ènè. Based on the above definitions, T L ènè can be simply set to D n, while T E ènè can be obtained by checking each J n -scheduling point in the decreasing order starting from R n. It is not difficult to see that any higher priority jobs released prior to T E ènè or after T L ènè do not have any impact on the speed needed to complete J n provided that these jobs are finished by their deadlines. Thus, when computing S n, we only need to focus on the jobs released within ët E ènè;t L ènèë. Since speed is closely related with average workload, we introduce the definition of J n -intensity to capture the concept of average workload for job J n. 7

8 Definition 4 Let t a ;t b be two J n -scheduling points, J n -intensity in the interval ët a ;t b ë, denoted by I n èt a ;t b è, is defined to be P ni=1 æèj i è æ C i I n èt a ;t b è= ; (4) t b, t a where è 1 t æèj a ç R i ét b i è= (5) 0 otherwise J n -intensity has a very useful property which is summarized below. Lemma 2 Let t a ;t b, and t c be three J n -scheduling points, and t a ét b ét c.theni n èt a ;t b è, I n èt b ;t c è, and I n èt a ;t c è always satisfy one of the following two inequalities: I n èt a ;t b è ç I n èt a ;t c è ç I n èt b ;t c è; (6) or I n èt a ;t b è ç I n èt a ;t c è ç I n èt b ;t c è: (7) Proof: Let the workload in ët a ;t c ë, ët a ;t b ë,andët b ;t c ë be W, W 1,andW 2, respectively. Then W = W 1 + W 2 I n èt a ;t c è= W 1 + W 2 t a, t c I n èt a ;t b è= W 1 t b, t a I n èt b ;t c è= W 2 t c, t b : Without loss of generality, let I n èt a ;t b è ç I n èt a ;t c è, i.e., After some simple transformations, we have W 1 t b, t a ç W 1 + W 2 t c, t a : W 2 t c, t b ç W 1 + W 2 t c, t a : Thus (6) is true. Similarly, (7) can be proved to be correct. 2 Since having no idle time is one of the key properties required for S n, we give the following definition to precisely capture the idle time related concepts. Definition 5 Interval ët a ;t b ë is a J n -busy interval, if æ t a ;t b are J n scheduling points, and T E ènè ç t a ç R n ét b ç T L ènè. æ There is no idle time before the release time of any job within ët a ;t b ë if the constant speed I n èt a ;t b è is applied within the interval. For a J n -busy interval, we have the following lemma. 8

9 Lemma 3 An interval ët a ;t b ë is a J n -busy interval if and only if for every J n -scheduling point t 2 èt a ;t b ë. I n èt a ;tè ç I n èt a ;t b è (8) Proof: Let t 2 èt a ;t b ë.sincei n èt a ;tè ç I n èt a ;t b è,andi n èt a ;tè æ èt, t a è ç I n èt a ;t b è æ èt, t a è,the workload in ët a ;të is either not finished or finished at t if the processor speed is I n èt a ;t b è. Since this is true for any t 2 èt a ;t b ë, the processor is not idle within interval ët a ;t b ë. On the other hand, let the processor with constant speed I n èt a ;t b è be always busy during ët a ;të;t 2 èt a ;t b ë. Then, according to Definition 4, we have I n èt a ;tè æ èt, t a è ç I n èt a ;t b è æ èt, t a è, and thus I n èt a ;tè ç I n èt a ;t b è. 2 For job J n, it is not difficult to see that there may exist a number of J n -busy intervals. The largest one among them is particularly interesting and we give a definition for it below. Definition 6 A J n -busy interval ët s ;t f ë is called the J n -essential interval if for any J n -busy interval ët a ;t b ë, we have t s ç t a and t b ç t f : (9) The J n -intensity corresponding to the J n -essential interval possesses the properties of S n stated earlier in this section. This is summarized in the following important lemma. Lemma 4 The J n -essential interval, ët s ;t f ë, and the corresponding J n -intensity, I n èt s ;t f è, satisfy I n èt; t s è éi n èt s ;t f è; T E ènè ç tét s ; (10) I n èt s ;t f è éi n èt f ;tè; t f étç T L ènè; (11) and I n èt s ;t f è= min I n èt a ;t b è; (12) ët a;t b ë where ët a ;t b ë is any J n -busy interval satisfying (10) and (11). Furthermore, if I n èt s ;t f è is adopted as the processor speed during ët s ;t f ë, J n is completed by its deadline. Proof: We prove (10) by contradiction. Assume there exists t 2 ët E ènè;t s è, such that I n èt; t s è ç I n èt s ;t f è: Let So, I n èt m ;t s è = max I n èt i ;t s è; t m ;t i 2 ët E ènè;t s è: i I n èt m ;t s è ç I n èt s ;t f è: According to Lemma 2, for any t m étç t s,wehave, I n èt m ;tè ç I n èt m ;t s è ç I n èt s ;t f è: 9

10 and it is easy to show I n èt m ;tè ç I n èt m ;t f è: Similarly, for any t s étç t f, we can show that I n èt m ;tè ç I n èt m ;t f è: Thus for any t m étç t f,wehave I n èt m ;tè ç I n èt m ;t f è; andbylemma3,ët m ;t f ë is a J n -busy interval. Since t m é t s, this violates Definition 6. Inequality (11) can be proved similarly. Again, we prove (12) by contradiction. Suppose there exists another busy interval ët 0 a;t 0 bë such that I n èt 0 a;t 0 b è éi nèt s ;t f è; (13) where and I n èt; t 0 a è éi nèt 0 a;t 0 b è; t 2 ët Eènè;t 0 aè; (14) I n èt 0 a ;t0 b è éi nèt 0 b ;tè; t 2 èt0 b ;T Lènèë: (15) According to Definition 6, we have t s ç t 0 a ç R i ét 0 b ç t f: There are two cases needed to be considered. æ Case 1: t s ét 0 a ç R i ét 0 b ç t f: From Lemma 2 and (13), we have which contradicts (14). I n èt s ;t 0 a è ç I nèt s ;t f è ç I n èt 0 a;t 0 b è; æ Case 2: t s = t 0 a and t0 b ç t f. From Lemma 2, we have which contradicts (13). I n èt 0 a ;t0 b è=i nèt s ;t 0 b è ç I nèt s ;t f è; To show that J n is completed by its deadline, we only need to note that J n is finished by t f if I n èt s ;t f è is used as the processor speed within ët s ;t f ë,andt f ç D n. 2 According to Lemma 4, I n èt s ;t f è is the valid minimum constant speed S n. Thus, determining the minimum constant speed for each job now becomes determining the essential interval and corresponding intensity associated with each job. In the following, we present our algorithm, Algorithm 1, to search for J n -essential interval and compute S n. Our algorithm follows the basic principle laid down in Definition 6 but employs a little different search mechanism which on average takes less time than a straightforward implementation of Definition 6. 10

11 Algorithm 1 Construct the essential interval for a job 1: Input: Job set J = fj 1 ; :::; J N g,andt E ènè and T L ènè for job J n 2: Output: J n -essential interval ët s ;t f ë and S n 3: t 0 a = t b = R n ; 4: t a = T E ènè; 5: t 0 b = T Lènè; 6: while t a 6= t 0 a or t 0 b 6= t b do 7: t a = t 0 a; 8: t 0 b = t b; 9: for every J n -scheduling point in ët a ;T L ènèë do 10: Find t b such that Ièt a ;t b è is the minimum; 11: end for 12: for every J n -scheduling point in ët E ènè;t a ë do 13: Find t 0 a such that Ièt0 a ;t bè is the maximum; 14: end for 15: end while 16: t s = t a ;t f = t b ;S n = Ièt a ;t b è; For ease of understanding, the execution steps of Algorithm 1 are depicted in Figure 4. Algorithm 1 starts from R n and looks to the right of R n to find the scheduling point t 1 such that I n èr n ;t 1 è ç I n èr n ;tè for any scheduling point t in ër n ;T L ènèë (If a tie occurs, take the right most one). Then the algorithm searches the left hand side of R n to find t 2 such that I n èt 2 ;t 1 è ç I n èt; t 1 è for any scheduling point t in ët E ènè;r n ë (If a tie occurs, take the left most one). The algorithm continues in this fashion until the scheduling points on both sides of R n no longer change. To show that Algorithm 1 indeed produces the correct J n -essential t 4 T E(n) t t t s 2 R n t 1 t 3 t f T L (n) Figure 4: This illustration shows the sequence of steps taken to construct J n -essential interval according to Algorithm 1. interval, we only need to prove that t s and t f obtained from Algorithm 1 satisfies (9). The following lemmas and theorem are sufficient for this purpose. Lemma 5 At the end of each iteration of the while loop in Algorithm 1, ët a ;t b ë is a busy interval of J n. Proof: Refer to Figure 4. At the end of each iteration of the while loop in Algorithm 1, we get interval ët2;t1ë, ët 4 ;t 3 ë, and so on. Consider ët 2 ;t 1 ë. for t 2 èt 2 ;R n ë,sincei n èt 2 ;t 1 è ç I n èt; t 1 è, by Lemma 2, we have I n èt 2 ;tè ç I n èt 2 ;t 1 è. Similarly, for t 2 èr n ;t 1 ë,sincei n èt; t 1 è ç I n èr n ;t 1 è ç I n èt 2 ;t 1 è,so 11

12 I n èt 2 ;t 1 è ç I n èt 2 ;t 1 è. According to Lemma 3, ët 2 ;t 1 ë is a busy interval. Other intervals can be proved similarly. 2 Lemma 6 The final interval produced by Algorithm 1 satisfies I n èt; t s è éi n èt s ;t f è; T E ènè ç tét s ; (16) and I n èt f ;tè éi n èt s ;t f è; t f étç T L ènè: (17) Proof: Let T E ènè ç t é t s as shown in Figure 4. If I n èt; t s è ç I n èt s ;t f è, by Lemma 2, we have I n èt; t f è ç I n èt s ;t f è. This cannot be true since in Algorithm 1, I n èt s ;t f è is the maximum. Similarly, we can prove that I n èt f ;tè ç I n èt s ;t f è; t f étçt L ènè is not possible either. 2 Theorem 2 Algorithm 1 produces, in OèN 2 è time, the J n -essential interval. Proof: According to Lemma 4 and Lemma 5, we only need to prove that after the completion of Algorithm 1, there is no J n -busy interval ët a ;t b ë such that t a ét s or t b ét f : We use contradiction to prove the theorem. There are several cases needed to be considered. æ Case 1: t a ét s ç R n ét b ç t f.sinceët a ;t b ë and ët s ;t f ë are both busy intervals, I n èt a ;t s è ç I n èt s ;t b è ç I n èt s ;t f è; which is contradicted to (16). æ Case 2: t a ét s ç R n ét f ét b.sinceët a ;t b ë and ët s ;t f ë are both busy intervals, by Lemma 2,we have I n èt a ;t s è ç I n èt s ;t b è ç I n èt f ;t b è; and according to Lemma 6, we have I n èt f ;t b è éi n èt s ;t f è: So, I n èt a ;t s è éi n èt s ;t f è; which violates (16). æ Case 3: t s ç t a ç R n ét f ét b.sinceët a ;t b ë and ët s ;t f ë are both busy intervals, and according to Lemma 2, we have I n èt s ;t f è ç I n èt a ;t f è ç I n èt f ;t b è; which contradicts (17). 12

13 The worst case time complexity of Algorithm is OèN 2 è since the maximum number of scheduling points for J n is OèN è. 2 From the proof of Theorem 2, one may observe that Algorithm 1 only searches a subset of busy intervals whose starting points are the scheduling points in ët E ènè;r n ë. This is achieved by judiciously selecting only those scheduling points that may lead to the maximum speed. By repeatedly applying Algorithm 1, one can find the minimum speed for each job. 4 Determining the Global Voltage Schedule Based on the algorithm for searching the minimum constant speed of each job, we can find both the minimum constant speed needed to satisfy all job deadlines and a better voltage schedule to further improve the system energy consumption. In the following, we present the algorithm and prove some lemmas, which tackle the two problems simultaneously. We first introduce the concept of critical interval. Definition 7 The essential interval ët s ;t f ë with the largest J n -intensity is called the critical interval of job set J. The critical interval of J indicates the minimum constant speed, S = max n S n, needed for J to be feasible. If S n = I n èt s ;t f è is used in ët s ;t f ë, which guarantees to finish J n by its deadline, what happens to other jobs in this interval and the jobs elsewhere? Suppose that the critical interval of J corresponds to J n -essential interval ët s ;t f ë. We would like to investigate the impact of removing ët s ;t f ë from the overall execution time interval on the rest of the jobs. By removing the critical interval of J, we mean the following: 1. Remove from J the jobs associated with ët s ;t f ë,thatis,jobj n and all other jobs that have higher priorities than J n and are released within ët s ;t f ë. 2. Shrink the interval ët s ;t f ë into a single time point, i.e., reduce every time instant greater than t f by the amount of èt f, t s è.ifr i, T E èiè or T L èiè for any job J i is inside ët s ;t f ë before the reduction, it will be changed to the value of t s. For the remaining jobs, we can again find the critical interval. Repeatedly performing the above steps, we obtain a set of critical intervals as well as the corresponding speeds. We will show that these critical intervals form a valid, low-energy voltage schedule. We first summarize the above procedure in Algorithm 2. By applying Algorithm 2, we obtain a set of intervals T and their corresponding constant speeds S. In the following, we present two theorems describing the important characteristics of T and S. Theorem 3 GivenajobsetJ,letët k s ;tk f ë and Sètk s ;tk f è for 1 ç k ç K be the critical intervals and corresponding speeds output from Algorithm 2. Every job in J is guaranteed to be completed by its deadline if Sèt k s;t k f è is used in the corresponding interval ëtk s;t k f ë. The proof of Theorem3 is rather long and given in the Appendix. From Theorem 3, we conclude that the set of critical intervals and their associated speeds obtained by Algorithm 2 form a valid voltage schedule. Furthermore, the speed for each critical interval is the lowest constant speed possible for that interval. 13

14 Algorithm 2 Construct the set of critical intervals for J. 1: Input: Job set J = fj 1 ; :::; J n g 2: Output: A set of critical intervals T = fët 1 s ;t1 f ë; æææ; ëtk s ;tk f ë g, and a set of speeds S = fsèt k s;t k f èg for 1 ç k ç K 3: for every job J i 2J do 4: A; S 0 = ;; 5: Find T E èiè and T L èiè according to Definition 3; 6: Determine J i -essential interval ët s ;t f ë and minimum speed S i by Algorithm 1; 7: Add ët s ;t f ë to A and S i to S 0 ; 8: end for 9: k =1; 10: while A is not empty do 11: Select S j = S i ;i =1; æææ;nfrom S 0 and corresponding ët s ;t f ë from A; 12: Add ët s ;t f ë as ët k s ;tk f ë to T and S j as Sèt k s ;tk f è to S; 13: Remove ët s ;t f ë from A and S j from S 0 ; 14: for J m 2J do 15: 16: if m ç j and t k s ç R m ét k f then Remove J m from J ; 17: Remove S m from S and corresponding ët s ;t f ë from A; 18: else 19: if t k s ér m ç t k f ; then 20: R m = t k s ; 21: end if 22: if t k s ét E èmè ç t k f ; then 23: T E èmè =t k s; 24: end if 25: if t k s ét L èmè ç t k f ; then 26: T L èmè =t k s ; 27: end if 28: end if 29: end for 30: for every scheduling point tét k f do 31: t = t, èt k f, tk s è; 32: end for 33: for every J m 2J whose R m ;T E èmè or T L èmè has changed do 34: Re-construct and modify J m -essential interval ët s ;t f ë in A; 35: Re-compute and modify S m in S 0 ; 36: end for 37: k++; 38: end while 39: Output T and S; 14

15 However, we still do not know if any of the speeds from Algorithm 2 can be used as the overall minimum constant speed for the entire job set J. The following theorem helps answer this question. Theorem 4 Given a job set J, speeds Sèt k s;t k f è 2 S obtained by Algorithm 2 satisfy the following: Sèt 1 s;t 1 f è ç Sèt2 s;t 2 f è ç æææ çsètk s ;t K f è. The proof for this theorem is also given in the Appendix. Based on Theorem 3 and 4, we have the the following corollaries. Corollary 1 The first speed in the speed set produced by Algorithm 2 is the minimum constant speed that can be applied throughout the execution of all jobs such that no jobs violate their deadlines. Proof: According to Theorem 4, the first speed is the highest necessary processor speed among all the critical intervals. Note that each job is associated with one critical interval and is schedulable as long as the processor speed is no less than the minimum speed for the critical interval, so all the jobs are schedulable if the first speed in the speed set produced by Algorithm 2 is applied throughout the entire execution period. 2 Corollary 2 The voltage schedule obtained by Algorithm 2 always saves more energy than the one that applies the minimum constant speed when the processor is busy while shuts down the processor when it is idle. Proof: Let the minimum constant processor speed be S H, and the speed when it is shut down be S L.From Lemma 4, the processor speed by Algorithm 2 can be represented as Sètè =æètès L +è1, æètèès H ; 0 ç æètè ç 1: (18) Also, let the total execution time of the job set be T, and the the total time when processor running at the minimum constant speed be t 1. We want to prove that Z T 0 f èsètèèdt Z t1 Z T ç f ès H èdt + f ès L èdt (19) 0 t 1 = f ès H èt +èfès L è, f ès H èèèt, t 1 è: Since f èxè is a convex function as shown in (1), from (18), we have and thus, f èsètèè ç æètèf ès L è+è1, æètèèf ès H è; Moreover, since Z T Z T f èsètè ç 0 0 æètèf ès L èdt + Z T = f ès H èt +èf ès L è, f ès H èè Z T 0 Sètèdt = Z t1 0 S H dt + 0 Z T è1, æètèèf ès H èdt (20) Z T 0 æètèdt: t 1 S L dt; (21) 15

16 by (18) and (21), after several transformations, we have Z T 0 æètè =T, t 1 : (22) With (20) and (22), it is easy to see that (19) is correct. 2 Our approach to constructing a low-energy voltage schedule is a greedy approach since we strive to find the minimum constant speed during any critical interval. It guarantees to result the minimum peak power consumption. However, our algorithm may not always produce the minimum-energy voltage schedule. We will show in the following experimental section that the energy saving achieved by applying our algorithm is quite significant. 5 Experimental Results In this section, we apply our approach to several job sets and compare the performance of our research with the work proposed in [11] and [12]. For brevity, we use VSLP,LPFS, andlpps in the following to represent Algorithm 2, the algorithm in [11], and the one in [12], respectively. We assume that the power consumption of a processor is a quadratic function of the processor speed. The approaches in [11] and [12] are intended to apply to periodic tasks, therefore, we also construct our job sets from periodic tasks to ensure a fair comparison. Since different voltage scheduling approaches may benefit from the task timing parameters differently, a fair comparison needs to study a large spectrum of utilization factor values. In our experiments, we first randomly generate a set of periodic task sets, each of which contains five tasks. The period of each task is randomly selected from a uniform distribution between 10 to 50, the deadline of each task is assumed to equal its period, and the worst case execution time (WCET) is less than its period and is also randomly generated. According to Liu and Layland [7], the utilization bound for 5 tasks is approximately Hence, in our experiment, we partition the utilization factor values from 0.1 to 0.7 into intervals of length 0.1. To reduce statistical errors, the number of task sets with utilization values within each interval is no less than 20, and the average results are collected in Table 1. Next, we apply our approach to two real-world applications: CNC (Computerized Numerical Control) machine controller [10] and INS (Inertial Navigation System) [1], and the results are shown in Table 2. We have also investigated the scenario when the execution time of each job varies but is upper bounded by its WCET. We use the same algorithm as discussed in [11], i.e., extending the execution of the current job till its deadline or the arrival of the next job when there is no job in the ready queue. In our experiments, we assume that the best case execution time (BCET) for each task is half of its WCET. Similar to that in [11], the execution time for a task is assumed to be normally distributed within its best and worst case execution time. In Table 1 and Table 2, columns E LPFS, E LPPS,andE VSLP represent the power consumption by algorithms LPFS, LPPS, andvslp, respectively. To better present our results, in Table 1, we let E LPFS be 100 and normalize the other two correspondingly. Column Worst. Exec represents the cases when task execution times equal their WCETs, and column Norm. Exec represents the cases when the task execution times are normally distributed. 16

17 Table 1: Experimental results comparing the three voltage scaling approaches for tasks with fixed priorities. Worst. Exec Norm. Exec Utilization E LPFS E LPPS E VSLP E LPFS E LPPS E VSLP Worst. Exec Norm. Exec Systems Utilization E LPFS E LPPS E VSLP E LPFS E LPPS E VSLP CNC INS Table 2: Experimental results for two real-world real-time systems From the statistical data shown in Table 1, one can readily conclude that our voltage scheduling strategy always leads to more energy saving than the other two approaches, regardless if the job execution times equal to or less than their WCETs. The reason for this is that: when the ready queue is not empty, LPFS always uses the full speed to execute the jobs; LPPS is more efficient and uses the lowest maximum constant speed; in our approach, even lower speed is possible according to the voltage schedule obtained by Algorithm 2. Moreover, note that in Table 1, our algorithm can save more energy when the utilization of a task set is lower. The reason for this is that when the task utilization is low, our algorithm tends to find a constant speed which can be applied to relatively long intervals while still meet the deadline requirements for the jobs. When the task utilization is higher, the interval with constant speed becomes relatively shorter and saving becomes somewhat less. The results applying our approach to two real world systems, as shown in Table 2, also conform to our analysis above. Finally, we would like to point out that, even though LPPS can produce relative good results in these examples, it cannot be readily applied in non-periodic task systems, while VSLP and LPFS can easily work on any such systems. One way to apply LPPS in a non-periodic task system is to calculate the lowest maximum speed assuming all the jobs starting at the same time, which is rather pessimistic and thus will greatly reduce its efficiency in saving the power consumption. 6 Summary In this paper, we study the problem of determining the optimal voltage schedule for a real-time embedded system which is implemented on a variable voltage processor and employs a fixed priority scheme to schedule jobs. Two algorithms are presented in the paper. The first one takes OèN 2 è time, where N is the number of jobs to be scheduled, and finds the minimum constant speed needed to complete each job. The second algorithm, with OèN 3 è time complexity, builds on the first one and produces the following: æ the minimum constant voltage (or speed) needed to complete a set of jobs, and 17

18 æ a voltage schedule which always results in lower energy consumption compared to using the minimum constant voltage and shutting down the system when it is idle. The minimum constant voltage is an important parameter when designing systems with no sophisticated power management hardware but only simple on/off modes or where peak power consumption is a concern. The experimental results obtained from both a number of randomly generated and real-world real-time systems have shown the efficiency by applying our voltage schedule in saving energy. As we have point out earlier, the voltage schedule derived by our algorithm may not be optimal for some cases. Our future work is to improve the algorithms presented and strive to find an optimal voltage schedule. References [1] A.Burns, K. Tindell, and A. Wellings. Effective analysis for engineering real-time fixed priority schedulers. IEEE Transactions on Software Engineering, 21: , May [2] V. Gutnik and A. Chandrakasan. An efficient controller for variable supply-voltage low power processing. Symposium on VLSI Circuits, pages , [3] I. Hong, D. Kirovski, G. Qu, M. Potkonjak, and M. B. Srivastava. Power optimization of variable voltage core-based systems. Proceedings of Design Automation Conference, pages , [4] I. Hong, M. Potkonjak, and M. B. Srivastava. On-line scheduling of hard real-time tasks on variable voltage processor. International Conference on Computer-Aided Design, pages , [5] I. Hong, G. Qu, M. Potkonjak, and M. B. Srivastava. Synthesis techniques for low-power hard real-time systems on variable voltage processors. Proceedings of Real-Time Systems Symposium, pages , [6] T. Ishihara and H. Yasuura. Voltage scheduling problem for dynamically variable voltage processors. International Symposium on Low Power Electronics and Design, pages , Aug [7] C. L. Liu and J. W. Layland. Scheduling algorithms for multiprogramming in a hard real-time environment. Journal of the ACM, 17(2):46 61, [8] J. Liu. Real-Time Systems. Prentice Hall, NJ, [9] W. Namgoong, M. Yu, and T. Meng. A high-efficiency variable-voltage cmos dynamic dc-dc switching regulator. IEEE Internation Solid-State Circuits Conference, pages , [10] N.Kim, M. Ryu, S. Hong, M. Saksena, C. Choi, and H. Shin. Visual assessment of a real-time system design: a case study on a cnc controller. IEEE Real-Time Systems Sumposium, Dec [11] Y. Shin and K. Choi. Power conscious fixed priority scheduling for hard real-time systems. Design Automation Conference, pages , [12] Y. Shin, K. Choi, and T. Sakurai. Power optimization of real-time embedded systems on variable speed processors. International Conference on Computer-Aided Design, pages , [13] F. Yao, A. Demers, and S. Shenker. A scheduling model for reduced cpu energy. IEEE Annual Foundations of Computer Science, pages , Appendix We present the detailed proofs for Theorem 3 and 4 in this section. 7.1 Proof for Theorem 3 The following lemma is needed in proving Theorem 3. Lemma 7 Let T E ènè ç TE 0 ènè and T Lènè =TL 0 ènè in Algorithm 1, and let the two resultant J n-essential intervals be ët s ;t f ë and ët 0 s ;t0 f ë, respectively. Then I n èt s ;t f è ç I n èt 0 s;t 0 f è; 18

19 and t s ç t 0 s ét0 f ç t f. Proof: SinceT E ènè ç TE 0 ènè,andt Lènè =TL 0 ènè, from Algorithm 1, it is not difficult to see that t s ç t 0 s ét 0 f ç t f: If t s ç t 0 s ét 0 f = t f, by Lemma 2 and Lemma 3, we have I n èt s ;t 0 s è ç I nèt s ;t f è ç I n èt 0 s;t 0 f è: If t s ç t 0 s ét f ét 0 f, according to Lemma 6, we have I nèt f ;t 0 f è éi nèt 0 s;t 0 f è. By Lemma 2 and Lemma 3, it is easy to show that I n èt 0 s;t 0 f è éi nèt f ;t 0 f è ç I nèt s ;t f è: 2 To prove Theorem3, we concentrate on demonstrating that every job removed while removing the critical interval is fully executed within the interval and meets its deadline. Without loss of generality, consider a critical interval associated with job J n, i.e., ët k s;t k f ë = ët s;t f ë. From Theorem 2, we know that J n is schedulable. Consider the rest of the jobs that are removed when removing ët s ;t f ë. Note that only the jobs with priorities higher than that of J n and release time in ët s ;t f è are removed. For a removed job J i other than J n,ift s ç T E èiè ét L èiè ç t f,thej i -essential interval must be within ët s ;t f ë and have a lower speed requirement than I n èt s ;t f è,sojobj i must be schedulable. Otherwise, we only need to prove that if the original earliest and/or latest scheduling points T E èiè and T L èiè are moved to t s and/or t f, respectively, the constant speed for the resultant new J i -essential interval is still less than I n èt s ;t f è. Several cases need to be considered as shown in Figure 5. In each sub-figure of Figure 5, ët s ;t f ë is the critical interval, ët a ;t b ë is the original essential interval for J i,andët 0 a ;t0 b ë is the new essential interval for J i after the change of T E èiè and/or T L èiè. The dotted line represents the release time for job J i. æ t a ét s ét b ç t f : This case is shown in Figure 5(a). Since ët s ;t f ë is the critical interval, and earliest starting point of job J i have to be moved to t s. Note that moving T L èiè to t b will not change the original essential interval ët a ;t b ë. Therefore, according to Lemma 7, we have and thus J i is schedulable. I i èt 0 a ;t0 b è ç I ièt a ;t b è ç I n èt s ;t f è; æ t s ç t a é t b ç t f : This case is shown in Figure 5(b). Note that moving T E èiè to t s if T E èiè é t s and moving T L èiè to t f if T L èiè é t f do not change the initial J k -essential interval. Hence, J i is schedulable since I i èt a ;t b è=i i èt 0 a ;t0 b è ç I nèt s ;t f è. æ t a ç t s é t f ç t b : This case is shown in Figure 5(c). In this case, T E èiè is moved to t s and T L èiè is moved to t f. Suppose I i èt 0 a ;t0 b è é I nèt s ;t f è. According to Lemma 6, I i èt 0 b ;t f è é I i èt 0 a ;t0 b è. According to Definition 4, since ién,wehave I n èt 0 b ;t f è ç I i èt 0 b ;t f è éi i èt 0 a ;t0 b è éi nèt s ;t f è which contradicts I n èt s ;t f è ç I n èt 0 b ;t f è. Therefore, I i èt 0 a;t 0 b è ç I nèt s ;t f è,andj i is schedulable. 19

20 t a r t b ta ts tb t f (a) t s t a ta r (b) t b tb t f ta t a r t b tb t s (c) t f ta r t a t b tb t s t f (d) Figure 5: Original and new essential intervals for the jobs having arrive time within the critical interval 20

21 æ t s ç t a é t f é t b This case is shown in Figure 5(d). In this case, T L èiè is moved to t f and T E èiè is moved to t s if T E èiè é t s. With a similar proof as the previous case, we can show that I i èt 0 a;t 0 b è ç I nèt s ;t f è,andj i is schedulable. 7.2 Proof for Theorem 4 To prove Theorem 4, we only need to show that after removing a critical interval, the minimum speeds for jobs whose essential intervals have changed are never bigger than that of the removed critical interval. Let the critical interval ët s ;t f ë be a J n -essential interval, and J i be a job that R i, T E èiè or T L èiè need to be changed due to this removal. The corresponding J i -essential interval will be re-constructed. The priority of J i can be either higher or lower than that of J n. We deal with them separately as shown in Figure 6 and Figure 8. In both figures, ët s ;t f ë is the critical interval, ët 0 a;t 0 bë and ët00 a;t 00 b ë represent possible locations of the J i -essential before removing ët s ;t f ë, ët a ;t b ë is the J i -essential interval after removing ët s ;t f ë, and the dotted line represents the release time of J i. Note that after removing the critical interval, t s and t f become a single point. For the ease of reference, we still keep them apart. We will denote the intensity of an interval before (resp., after) removing the critical interval by I 0 (resp. I). For the critical interval, I and I 0 are always the same. 2 t a t a R i t b t b t" a t s (a) t f t" b t" a t a t a R i t b t b t" b t s (b) t f Figure 6: J i -essential intervals before and after the removal of critical interval ët s ;t f ë,wherej i has a higher priority than that of J n. Case 1: Job J i has a higher priority than J n (ién). This case is shown in Figure 6. In this case, R i must be outside the critical interval and either T E èiè or T L èiè is changed after removing ët s ;t f ë (see Algorithm 2). If R i é t s, T L èiè is moved to t s,asshownin Figure6(a). Similarly if R i ét f, T L èiè is moved to t f, as shown in Figure 6(b). In either case, according to Definition 6, it is easy to show that ët a ;t b ë is a busy interval contained in the original J i -essential interval 21

22 ët 0 a ;t0 bë (or (ët00 a ;t00 b ë). According to Lemma 4, I ièt a ;t b è = Ii 0 èt a;t b è ç Ii 0 èt0 a ;t0 b è. Since I nèt s ;t f è is the critical interval, we conclude I i èt a ;t b è ç I n èt s ;t f è. Case 2: Job J i has a lower priority than J n (ién). Let us first analyze the possible locations of the original J i -essential interval with respect to the critical interval. First, we show that ët 0 a;t 0 b ë can neither be totally contained in ët s;t f ë nor partially overlap with ët s ;t f ë.lett s ç t 0 a ét 0 b ç t f (as shown in Figure 7(a)) or t s ét 0 a ét f ét 0 b (as shown in Figure 7(c)). t s t f t a r t b (a) t a t s r t b (b) t f t s (c) t a t f r t b Figure 7: The essential interval ët 0 a ;t0 bë for lower priority jobs cannot be contained in or partially overlapped with the critical interval ët s ;t f ë. According to Definition 4 and Lemma 4, we have Ii 0 èt s;t 0 a è ç I nèt s ;t 0 a è ç I nèt s ;t f è ç Ii 0 èt0 a ;t0 b è,this contradicts Lemma 4. Let t 0 a ét s ét 0 b ét f (as shown in Figure 7(b)). Similarly, Ii 0 èt0 a ;t0 b è ç I i 0 èt s;t 0 b è ç I n èt s ;t 0 b è ç I nèt s ;t f è, this contradicts I n èt s ;t f è é Ii 0 èt0 a ;t0 bè. Therefore, to prove the theorem, we only need to consider the scenario where ët 0 a;t 0 bë contains the critical interval. Depending on the location of the J i -essential interval after the removal of the critical interval, the following cases exist. æ t a ét 0 a : According to Lemma 2 and Lemma 3, I ièt a ;t b è ç I i èt a ;t 0 a è=i i 0 èt a;t 0 aè. From Lemma 4, Ii 0 èt a;t 0 a è éi0 i èt0 a;t 0 b è ç I nèt s ;t f è. Thus, we have I i èt a ;t b è éi n èt s ;t f è. æ t b ét 0 b : Similar to the above proof, we have I ièt a ;t b è éi n èt s ;t f è. æ t 0 a ç t f ç t a and t f ç t 0 b ç t b: (Note that t s and t f become the same after removing the critical interval.) Refer to Figure 8(a). By Lemma 2 and Lemma 3, we have Ii 0 èt0 a;t 0 b è ç I i 0 èt a;t 0 b è=i ièt a ;t b è ç I i èt a ;t b è.sincei n èt s ;t f è ç I 0 i èt0 a;t 0 b è, therefore, we have I ièt a ;t b è ç I n èt s ;t f è. 22

Power-Saving Scheduling for Weakly Dynamic Voltage Scaling Devices

Power-Saving Scheduling for Weakly Dynamic Voltage Scaling Devices Power-Saving Scheduling for Weakly Dynamic Voltage Scaling Devices Jian-Jia Chen 1, Tei-Wei Kuo 2, and Hsueh-I Lu 2 1 Department of Computer Science and Information Engineering National Taiwan University,

More information

Scheduling of Frame-based Embedded Systems with Rechargeable Batteries

Scheduling of Frame-based Embedded Systems with Rechargeable Batteries Scheduling of Frame-based Embedded Systems with Rechargeable Batteries André Allavena Computer Science Department Cornell University Ithaca, NY 14853 andre@cs.cornell.edu Daniel Mossé Department of Computer

More information

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i

Embedded Systems 15. REVIEW: Aperiodic scheduling. C i J i 0 a i s i f i d i Embedded Systems 15-1 - REVIEW: Aperiodic scheduling C i J i 0 a i s i f i d i Given: A set of non-periodic tasks {J 1,, J n } with arrival times a i, deadlines d i, computation times C i precedence constraints

More information

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling

Lecture 6. Real-Time Systems. Dynamic Priority Scheduling Real-Time Systems Lecture 6 Dynamic Priority Scheduling Online scheduling with dynamic priorities: Earliest Deadline First scheduling CPU utilization bound Optimality and comparison with RM: Schedulability

More information

EDF Feasibility and Hardware Accelerators

EDF Feasibility and Hardware Accelerators EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo, Waterloo, Canada, arrmorton@uwaterloo.ca Wayne M. Loucks University of Waterloo, Waterloo, Canada, wmloucks@pads.uwaterloo.ca

More information

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013

Lecture 13. Real-Time Scheduling. Daniel Kästner AbsInt GmbH 2013 Lecture 3 Real-Time Scheduling Daniel Kästner AbsInt GmbH 203 Model-based Software Development 2 SCADE Suite Application Model in SCADE (data flow + SSM) System Model (tasks, interrupts, buses, ) SymTA/S

More information

Advances in processor, memory, and communication technologies

Advances in processor, memory, and communication technologies Discrete and continuous min-energy schedules for variable voltage processors Minming Li, Andrew C. Yao, and Frances F. Yao Department of Computer Sciences and Technology and Center for Advanced Study,

More information

Embedded Systems 14. Overview of embedded systems design

Embedded Systems 14. Overview of embedded systems design Embedded Systems 14-1 - Overview of embedded systems design - 2-1 Point of departure: Scheduling general IT systems In general IT systems, not much is known about the computational processes a priori The

More information

TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING

TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING TEMPORAL WORKLOAD ANALYSIS AND ITS APPLICATION TO POWER-AWARE SCHEDULING Ye-In Seol 1, Jeong-Uk Kim 1 and Young-Kuk Kim 2, 1 Green Energy Institute, Sangmyung University, Seoul, South Korea 2 Dept. of

More information

Embedded Systems Development

Embedded Systems Development Embedded Systems Development Lecture 3 Real-Time Scheduling Dr. Daniel Kästner AbsInt Angewandte Informatik GmbH kaestner@absint.com Model-based Software Development Generator Lustre programs Esterel programs

More information

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund

Scheduling Periodic Real-Time Tasks on Uniprocessor Systems. LS 12, TU Dortmund Scheduling Periodic Real-Time Tasks on Uniprocessor Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 08, Dec., 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 38 Periodic Control System Pseudo-code

More information

CPU SCHEDULING RONG ZHENG

CPU SCHEDULING RONG ZHENG CPU SCHEDULING RONG ZHENG OVERVIEW Why scheduling? Non-preemptive vs Preemptive policies FCFS, SJF, Round robin, multilevel queues with feedback, guaranteed scheduling 2 SHORT-TERM, MID-TERM, LONG- TERM

More information

Andrew Morton University of Waterloo Canada

Andrew Morton University of Waterloo Canada EDF Feasibility and Hardware Accelerators Andrew Morton University of Waterloo Canada Outline 1) Introduction and motivation 2) Review of EDF and feasibility analysis 3) Hardware accelerators and scheduling

More information

Generalized Network Flow Techniques for Dynamic Voltage Scaling in Hard Real-Time Systems

Generalized Network Flow Techniques for Dynamic Voltage Scaling in Hard Real-Time Systems Generalized Network Flow Techniques for Dynamic Voltage Scaling in Hard Real-Time Systems Vishnu Swaminathan and Krishnendu Chakrabarty Department of Electrical & Computer Engineering Duke University Durham,

More information

Real-Time and Embedded Systems (M) Lecture 5

Real-Time and Embedded Systems (M) Lecture 5 Priority-driven Scheduling of Periodic Tasks (1) Real-Time and Embedded Systems (M) Lecture 5 Lecture Outline Assumptions Fixed-priority algorithms Rate monotonic Deadline monotonic Dynamic-priority algorithms

More information

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks

Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Probabilistic Preemption Control using Frequency Scaling for Sporadic Real-time Tasks Abhilash Thekkilakattil, Radu Dobrin and Sasikumar Punnekkat Mälardalen Real-Time Research Center, Mälardalen University,

More information

Rate-monotonic scheduling on uniform multiprocessors

Rate-monotonic scheduling on uniform multiprocessors Rate-monotonic scheduling on uniform multiprocessors Sanjoy K. Baruah The University of North Carolina at Chapel Hill Email: baruah@cs.unc.edu Joël Goossens Université Libre de Bruxelles Email: joel.goossens@ulb.ac.be

More information

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology

Real-Time Systems. Lecture #14. Risat Pathan. Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Lecture #14 Risat Pathan Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Specification Implementation Multiprocessor scheduling -- Partitioned

More information

Slack Reclamation for Real-Time Task Scheduling over Dynamic Voltage Scaling Multiprocessors

Slack Reclamation for Real-Time Task Scheduling over Dynamic Voltage Scaling Multiprocessors Slack Reclamation for Real-Time Task Scheduling over Dynamic Voltage Scaling Multiprocessors Jian-Jia Chen, Chuan-Yue Yang, and Tei-Wei Kuo Department of Computer Science and Information Engineering Graduate

More information

Real-time Systems: Scheduling Periodic Tasks

Real-time Systems: Scheduling Periodic Tasks Real-time Systems: Scheduling Periodic Tasks Advanced Operating Systems Lecture 15 This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of

More information

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks

Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Non-preemptive Fixed Priority Scheduling of Hard Real-Time Periodic Tasks Moonju Park Ubiquitous Computing Lab., IBM Korea, Seoul, Korea mjupark@kr.ibm.com Abstract. This paper addresses the problem of

More information

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach

Process Scheduling for RTS. RTS Scheduling Approach. Cyclic Executive Approach Process Scheduling for RTS Dr. Hugh Melvin, Dept. of IT, NUI,G RTS Scheduling Approach RTS typically control multiple parameters concurrently Eg. Flight Control System Speed, altitude, inclination etc..

More information

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value

A 2-Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value A -Approximation Algorithm for Scheduling Parallel and Time-Sensitive Applications to Maximize Total Accrued Utility Value Shuhui Li, Miao Song, Peng-Jun Wan, Shangping Ren Department of Engineering Mechanics,

More information

Networked Embedded Systems WS 2016/17

Networked Embedded Systems WS 2016/17 Networked Embedded Systems WS 2016/17 Lecture 2: Real-time Scheduling Marco Zimmerling Goal of Today s Lecture Introduction to scheduling of compute tasks on a single processor Tasks need to finish before

More information

Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4

Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4 Priority-driven Scheduling of Periodic Tasks (1) Advanced Operating Systems (M) Lecture 4 Priority-driven Scheduling Assign priorities to jobs, based on their deadline or other timing constraint Make scheduling

More information

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES

RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES RUN-TIME EFFICIENT FEASIBILITY ANALYSIS OF UNI-PROCESSOR SYSTEMS WITH STATIC PRIORITIES Department for Embedded Systems/Real-Time Systems, University of Ulm {name.surname}@informatik.uni-ulm.de Abstract:

More information

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment

Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment C. Liu and J. Layland Journal of the ACM, 20(1):46--61, January 1973. 2 Contents 1. Introduction and Background 2. The Environment

More information

Static-Priority Scheduling. CSCE 990: Real-Time Systems. Steve Goddard. Static-priority Scheduling

Static-Priority Scheduling. CSCE 990: Real-Time Systems. Steve Goddard. Static-priority Scheduling CSCE 990: Real-Time Systems Static-Priority Scheduling Steve Goddard goddard@cse.unl.edu http://www.cse.unl.edu/~goddard/courses/realtimesystems Static-priority Scheduling Real-Time Systems Static-Priority

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Hermann Härtig WS 2018/19 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed Priority schedulers

More information

AS computer hardware technology advances, both

AS computer hardware technology advances, both 1 Best-Harmonically-Fit Periodic Task Assignment Algorithm on Multiple Periodic Resources Chunhui Guo, Student Member, IEEE, Xiayu Hua, Student Member, IEEE, Hao Wu, Student Member, IEEE, Douglas Lautner,

More information

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions

Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Non-Work-Conserving Non-Preemptive Scheduling: Motivations, Challenges, and Potential Solutions Mitra Nasri Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany nasri@eit.uni-kl.de

More information

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K.

Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors. Sanjoy K. Optimal Utilization Bounds for the Fixed-priority Scheduling of Periodic Task Systems on Identical Multiprocessors Sanjoy K. Baruah Abstract In fixed-priority scheduling the priority of a job, once assigned,

More information

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund

Non-Preemptive and Limited Preemptive Scheduling. LS 12, TU Dortmund Non-Preemptive and Limited Preemptive Scheduling LS 12, TU Dortmund 09 May 2017 (LS 12, TU Dortmund) 1 / 31 Outline Non-Preemptive Scheduling A General View Exact Schedulability Test Pessimistic Schedulability

More information

Static priority scheduling

Static priority scheduling Static priority scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017 Some slides are derived from lectures

More information

Optimal Voltage Allocation Techniques for Dynamically Variable Voltage Processors

Optimal Voltage Allocation Techniques for Dynamically Variable Voltage Processors Optimal Allocation Techniques for Dynamically Variable Processors 9.2 Woo-Cheol Kwon CAE Center Samsung Electronics Co.,Ltd. San 24, Nongseo-Ri, Kiheung-Eup, Yongin-City, Kyounggi-Do, Korea Taewhan Kim

More information

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption

A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption A Dynamic Real-time Scheduling Algorithm for Reduced Energy Consumption Rohini Krishnapura, Steve Goddard, Ala Qadi Computer Science & Engineering University of Nebraska Lincoln Lincoln, NE 68588-0115

More information

Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3

Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3 Real-time Scheduling of Periodic Tasks (2) Advanced Operating Systems Lecture 3 Lecture Outline The rate monotonic algorithm (cont d) Maximum utilisation test The deadline monotonic algorithm The earliest

More information

Schedulability analysis of global Deadline-Monotonic scheduling

Schedulability analysis of global Deadline-Monotonic scheduling Schedulability analysis of global Deadline-Monotonic scheduling Sanjoy Baruah Abstract The multiprocessor Deadline-Monotonic (DM) scheduling of sporadic task systems is studied. A new sufficient schedulability

More information

Controlling Preemption for Better Schedulability in Multi-Core Systems

Controlling Preemption for Better Schedulability in Multi-Core Systems 2012 IEEE 33rd Real-Time Systems Symposium Controlling Preemption for Better Schedulability in Multi-Core Systems Jinkyu Lee and Kang G. Shin Dept. of Electrical Engineering and Computer Science, The University

More information

Real-Time Systems. Event-Driven Scheduling

Real-Time Systems. Event-Driven Scheduling Real-Time Systems Event-Driven Scheduling Marcus Völp, Hermann Härtig WS 2013/14 Outline mostly following Jane Liu, Real-Time Systems Principles Scheduling EDF and LST as dynamic scheduling methods Fixed

More information

EDF Scheduling. Giuseppe Lipari May 11, Scuola Superiore Sant Anna Pisa

EDF Scheduling. Giuseppe Lipari   May 11, Scuola Superiore Sant Anna Pisa EDF Scheduling Giuseppe Lipari http://feanor.sssup.it/~lipari Scuola Superiore Sant Anna Pisa May 11, 2008 Outline 1 Dynamic priority 2 Basic analysis 3 FP vs EDF 4 Processor demand bound analysis Generalization

More information

EDF Scheduling. Giuseppe Lipari CRIStAL - Université de Lille 1. October 4, 2015

EDF Scheduling. Giuseppe Lipari  CRIStAL - Université de Lille 1. October 4, 2015 EDF Scheduling Giuseppe Lipari http://www.lifl.fr/~lipari CRIStAL - Université de Lille 1 October 4, 2015 G. Lipari (CRIStAL) Earliest Deadline Scheduling October 4, 2015 1 / 61 Earliest Deadline First

More information

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems

Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Schedulability of Periodic and Sporadic Task Sets on Uniprocessor Systems Jan Reineke Saarland University July 4, 2013 With thanks to Jian-Jia Chen! Jan Reineke July 4, 2013 1 / 58 Task Models and Scheduling

More information

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors

Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors Technical Report No. 2009-7 Load Regulating Algorithm for Static-Priority Task Scheduling on Multiprocessors RISAT MAHMUD PATHAN JAN JONSSON Department of Computer Science and Engineering CHALMERS UNIVERSITY

More information

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2

Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Real-time Scheduling of Periodic Tasks (1) Advanced Operating Systems Lecture 2 Lecture Outline Scheduling periodic tasks The rate monotonic algorithm Definition Non-optimality Time-demand analysis...!2

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University } 2017/11/15 Midterm } 2017/11/22 Final Project Announcement 2 1. Introduction 2.

More information

TOWARD THE PLACEMENT OF POWER MANAGEMENT POINTS IN REAL-TIME APPLICATIONS

TOWARD THE PLACEMENT OF POWER MANAGEMENT POINTS IN REAL-TIME APPLICATIONS Chapter 1 TOWARD THE PLACEMENT OF POWER MANAGEMENT POINTS IN REAL-TIME APPLICATIONS Nevine AbouGhazaleh, Daniel Mossé, Bruce Childers, Rami Melhem Department of Computer Science University of Pittsburgh

More information

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems

Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Online Scheduling Switch for Maintaining Data Freshness in Flexible Real-Time Systems Song Han 1 Deji Chen 2 Ming Xiong 3 Aloysius K. Mok 1 1 The University of Texas at Austin 2 Emerson Process Management

More information

CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems CSE 380 Computer Operating Systems Instructor: Insup Lee & Dianna Xu University of Pennsylvania, Fall 2003 Lecture Note 3: CPU Scheduling 1 CPU SCHEDULING q How can OS schedule the allocation of CPU cycles

More information

Real-Time Scheduling and Resource Management

Real-Time Scheduling and Resource Management ARTIST2 Summer School 2008 in Europe Autrans (near Grenoble), France September 8-12, 2008 Real-Time Scheduling and Resource Management Lecturer: Giorgio Buttazzo Full Professor Scuola Superiore Sant Anna

More information

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions

3. Scheduling issues. Common approaches 3. Common approaches 1. Preemption vs. non preemption. Common approaches 2. Further definitions Common approaches 3 3. Scheduling issues Priority-driven (event-driven) scheduling This class of algorithms is greedy They never leave available processing resources unutilized An available resource may

More information

Task Models and Scheduling

Task Models and Scheduling Task Models and Scheduling Jan Reineke Saarland University June 27 th, 2013 With thanks to Jian-Jia Chen at KIT! Jan Reineke Task Models and Scheduling June 27 th, 2013 1 / 36 Task Models and Scheduling

More information

Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources

Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources Online Energy-Aware I/O Device Scheduling for Hard Real-Time Systems with Shared Resources Abstract The challenge in conserving energy in embedded real-time systems is to reduce power consumption while

More information

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators

CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators CycleTandem: Energy-Saving Scheduling for Real-Time Systems with Hardware Accelerators Sandeep D souza and Ragunathan (Raj) Rajkumar Carnegie Mellon University High (Energy) Cost of Accelerators Modern-day

More information

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems

Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Predictability of Least Laxity First Scheduling Algorithm on Multiprocessor Real-Time Systems Sangchul Han and Minkyu Park School of Computer Science and Engineering, Seoul National University, Seoul,

More information

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems

A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems A Note on Modeling Self-Suspending Time as Blocking Time in Real-Time Systems Jian-Jia Chen 1, Wen-Hung Huang 1, and Geoffrey Nelissen 2 1 TU Dortmund University, Germany Email: jian-jia.chen@tu-dortmund.de,

More information

Multiprocessor Energy-Efficient Scheduling for Real-Time Tasks with Different Power Characteristics

Multiprocessor Energy-Efficient Scheduling for Real-Time Tasks with Different Power Characteristics Multiprocessor Energy-Efficient Scheduling for Real-Time Tasks with ifferent Power Characteristics Jian-Jia Chen and Tei-Wei Kuo epartment of Computer Science and Information Engineering Graduate Institute

More information

Exam Spring Embedded Systems. Prof. L. Thiele

Exam Spring Embedded Systems. Prof. L. Thiele Exam Spring 20 Embedded Systems Prof. L. Thiele NOTE: The given solution is only a proposal. For correctness, completeness, or understandability no responsibility is taken. Sommer 20 Eingebettete Systeme

More information

Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load

Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load Non-preemptive Scheduling of Distance Constrained Tasks Subject to Minimizing Processor Load Klaus H. Ecker Ohio University, Athens, OH, USA, ecker@ohio.edu Alexander Hasenfuss Clausthal University of

More information

ENERGY-EFFICIENT REAL-TIME SCHEDULING ALGORITHM FOR FAULT-TOLERANT AUTONOMOUS SYSTEMS

ENERGY-EFFICIENT REAL-TIME SCHEDULING ALGORITHM FOR FAULT-TOLERANT AUTONOMOUS SYSTEMS DOI 10.12694/scpe.v19i4.1438 Scalable Computing: Practice and Experience ISSN 1895-1767 Volume 19, Number 4, pp. 387 400. http://www.scpe.org c 2018 SCPE ENERGY-EFFICIENT REAL-TIME SCHEDULING ALGORITHM

More information

Research Article Applying Dynamic Priority Scheduling Scheme to Static Systems of Pinwheel Task Model in Power-Aware Scheduling

Research Article Applying Dynamic Priority Scheduling Scheme to Static Systems of Pinwheel Task Model in Power-Aware Scheduling e Scientific World Journal, Article ID 58732, 9 pages http://dx.doi.org/.55/24/58732 Research Article Applying Dynamic Priority Scheduling Scheme to Static Systems of Pinwheel Task Model in Power-Aware

More information

ENERGY EFFICIENT TASK SCHEDULING OF SEND- RECEIVE TASK GRAPHS ON DISTRIBUTED MULTI- CORE PROCESSORS WITH SOFTWARE CONTROLLED DYNAMIC VOLTAGE SCALING

ENERGY EFFICIENT TASK SCHEDULING OF SEND- RECEIVE TASK GRAPHS ON DISTRIBUTED MULTI- CORE PROCESSORS WITH SOFTWARE CONTROLLED DYNAMIC VOLTAGE SCALING ENERGY EFFICIENT TASK SCHEDULING OF SEND- RECEIVE TASK GRAPHS ON DISTRIBUTED MULTI- CORE PROCESSORS WITH SOFTWARE CONTROLLED DYNAMIC VOLTAGE SCALING Abhishek Mishra and Anil Kumar Tripathi Department of

More information

CIS 4930/6930: Principles of Cyber-Physical Systems

CIS 4930/6930: Principles of Cyber-Physical Systems CIS 4930/6930: Principles of Cyber-Physical Systems Chapter 11 Scheduling Hao Zheng Department of Computer Science and Engineering University of South Florida H. Zheng (CSE USF) CIS 4930/6930: Principles

More information

this reason, analysts are often concerned with designing a system that will be guaranteed to meet all deadlines of a real-time instance while minimizi

this reason, analysts are often concerned with designing a system that will be guaranteed to meet all deadlines of a real-time instance while minimizi Energy minimization techniques for real-time scheduling on multiprocessor platforms Λ Shelby Funk y Joël Goossens z Sanjoy Baruah y October 1, 2001 Abstract The scheduling of systems of periodic tasks

More information

Maximizing Rewards for Real-Time Applications with Energy Constraints

Maximizing Rewards for Real-Time Applications with Energy Constraints Maximizing Rewards for Real-Time Applications with Energy Constraints COSMIN RUSU, RAMI MELHEM, and DANIEL MOSSÉ University of Pittsburgh New technologies have brought about a proliferation of embedded

More information

Clock-driven scheduling

Clock-driven scheduling Clock-driven scheduling Also known as static or off-line scheduling Michal Sojka Czech Technical University in Prague, Faculty of Electrical Engineering, Department of Control Engineering November 8, 2017

More information

2.1 Task and Scheduling Model. 2.2 Definitions and Schedulability Guarantees

2.1 Task and Scheduling Model. 2.2 Definitions and Schedulability Guarantees Fixed-Priority Scheduling of Mixed Soft and Hard Real-Time Tasks on Multiprocessors Jian-Jia Chen, Wen-Hung Huang Zheng Dong, Cong Liu TU Dortmund University, Germany The University of Texas at Dallas,

More information

Dual-Mode Frequency Inheritance Algorithm for Energy Aware Task Scheduling with Task Synchronization

Dual-Mode Frequency Inheritance Algorithm for Energy Aware Task Scheduling with Task Synchronization Dual-Mode Frequency Inheritance Algorithm for Energy Aware Task Scheduling with Task Synchronization Ravindra Jejurikar Cristiano Pereira Rajesh K. Gupta Center for Embedded Computer Systems, Department

More information

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University

Scheduling. Uwe R. Zimmer & Alistair Rendell The Australian National University 6 Scheduling Uwe R. Zimmer & Alistair Rendell The Australian National University References for this chapter [Bacon98] J. Bacon Concurrent Systems 1998 (2nd Edition) Addison Wesley Longman Ltd, ISBN 0-201-17767-6

More information

System Wide Dynamic Power Management for Weakly Hard Real-Time Systems

System Wide Dynamic Power Management for Weakly Hard Real-Time Systems System Wide Dynamic Power Management for Weakly Hard Real-Time Systems Abstract Energy reduction is critical to increase the mobility and battery life for today s pervasive computing systems. At the same

More information

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems

Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Energy-Efficient Real-Time Task Scheduling in Multiprocessor DVS Systems Jian-Jia Chen *, Chuan Yue Yang, Tei-Wei Kuo, and Chi-Sheng Shih Embedded Systems and Wireless Networking Lab. Department of Computer

More information

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol.

Bounding the End-to-End Response Times of Tasks in a Distributed. Real-Time System Using the Direct Synchronization Protocol. Bounding the End-to-End Response imes of asks in a Distributed Real-ime System Using the Direct Synchronization Protocol Jun Sun Jane Liu Abstract In a distributed real-time system, a task may consist

More information

Dynamic I/O Power Management for Hard Real-time Systems 1

Dynamic I/O Power Management for Hard Real-time Systems 1 Dynamic I/O Power Management for Hard Real-time Systems 1 Vishnu Swaminathan y, Krishnendu Chakrabarty y and S. S. Iyengar z y Department of Electrical & Computer Engineering z Department of Computer Science

More information

An Energy-Efficient Semi-Partitioned Approach for Hard Real-Time Systems with Voltage and Frequency Islands

An Energy-Efficient Semi-Partitioned Approach for Hard Real-Time Systems with Voltage and Frequency Islands Utah State University DigitalCommons@USU All Graduate Theses and Dissertations Graduate Studies 5-2016 An Energy-Efficient Semi-Partitioned Approach for Hard Real-Time Systems with Voltage and Frequency

More information

Energy-Constrained Scheduling for Weakly-Hard Real-Time Systems

Energy-Constrained Scheduling for Weakly-Hard Real-Time Systems Energy-Constrained Scheduling for Weakly-Hard Real-Time Systems Tarek A. AlEnawy and Hakan Aydin Computer Science Department George Mason University Fairfax, VA 23 {thassan1,aydin}@cs.gmu.edu Abstract

More information

Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited

Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited Worst-case response time analysis of real-time tasks under fixed-priority scheduling with deferred preemption revisited Reinder J. Bril and Johan J. Lukkien Technische Universiteit Eindhoven (TU/e), en

More information

Aperiodic Task Scheduling

Aperiodic Task Scheduling Aperiodic Task Scheduling Jian-Jia Chen (slides are based on Peter Marwedel) TU Dortmund, Informatik 12 Germany Springer, 2010 2017 年 11 月 29 日 These slides use Microsoft clip arts. Microsoft copyright

More information

DC-DC Converter-Aware Power Management for Battery-Operated Embedded Systems

DC-DC Converter-Aware Power Management for Battery-Operated Embedded Systems 53.2 Converter-Aware Power Management for Battery-Operated Embedded Systems Yongseok Choi and Naehyuck Chang School of Computer Science & Engineering Seoul National University Seoul, Korea naehyuck@snu.ac.kr

More information

Polynomial Time Algorithms for Minimum Energy Scheduling

Polynomial Time Algorithms for Minimum Energy Scheduling Polynomial Time Algorithms for Minimum Energy Scheduling Philippe Baptiste 1, Marek Chrobak 2, and Christoph Dürr 1 1 CNRS, LIX UMR 7161, Ecole Polytechnique 91128 Palaiseau, France. Supported by CNRS/NSF

More information

Real-Time Scheduling

Real-Time Scheduling 1 Real-Time Scheduling Formal Model [Some parts of this lecture are based on a real-time systems course of Colin Perkins http://csperkins.org/teaching/rtes/index.html] Real-Time Scheduling Formal Model

More information

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II

TDDB68 Concurrent programming and operating systems. Lecture: CPU Scheduling II TDDB68 Concurrent programming and operating systems Lecture: CPU Scheduling II Mikael Asplund, Senior Lecturer Real-time Systems Laboratory Department of Computer and Information Science Copyright Notice:

More information

Real-time scheduling of sporadic task systems when the number of distinct task types is small

Real-time scheduling of sporadic task systems when the number of distinct task types is small Real-time scheduling of sporadic task systems when the number of distinct task types is small Sanjoy Baruah Nathan Fisher Abstract In some real-time application systems, there are only a few distinct kinds

More information

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund

Multiprocessor Scheduling II: Global Scheduling. LS 12, TU Dortmund Multiprocessor Scheduling II: Global Scheduling Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 28, June, 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 42 Global Scheduling We will only focus on identical

More information

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm

Real-time operating systems course. 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Real-time operating systems course 6 Definitions Non real-time scheduling algorithms Real-time scheduling algorithm Definitions Scheduling Scheduling is the activity of selecting which process/thread should

More information

Feedback EDF Scheduling of Real-Time Tasks Exploiting Dynamic Voltage Scaling

Feedback EDF Scheduling of Real-Time Tasks Exploiting Dynamic Voltage Scaling Feedback EDF Scheduling of Real-Time Tasks Exploiting Dynamic Voltage Scaling Yifan Zhu and Frank Mueller (mueller@cs.ncsu.edu) Department of Computer Science/ Center for Embedded Systems Research, North

More information

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni

Real-Time Scheduling. Real Time Operating Systems and Middleware. Luca Abeni Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it Definitions Algorithm logical procedure used to solve a problem Program formal description of an algorithm, using a programming

More information

Optimal Admission Control of Discrete Event Systems with Real-Time Constraints

Optimal Admission Control of Discrete Event Systems with Real-Time Constraints Proceedings of the 46th IEEE Conference on Decision and Control New Orleans, LA, USA, Dec. 12-14, 27 Optimal Admission Control of Discrete Event Systems with Real-Time Constraints Jianfeng Mao and Christos

More information

Multiprocessor Scheduling of Age Constraint Processes

Multiprocessor Scheduling of Age Constraint Processes Multiprocessor Scheduling of Age Constraint Processes Lars Lundberg Department of Computer Science, University of Karlskrona/Ronneby, Soft Center, S-372 25 Ronneby, Sweden, email: Lars.Lundberg@ide.hk-r.se

More information

p-yds Algorithm: An Optimal Extension of YDS Algorithm to Minimize Expected Energy For Real-Time Jobs

p-yds Algorithm: An Optimal Extension of YDS Algorithm to Minimize Expected Energy For Real-Time Jobs p-yds Algorithm: An Optimal Extension of YDS Algorithm to Minimize Expected Energy For Real-Time Jobs TIK Report No. 353 Pratyush Kumar and Lothar Thiele Computer Engineering and Networks Laboratory, ETH

More information

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms University of Pennsylvania ScholarlyCommons Departmental Papers (CIS) Department of Computer & Information Science 12-2013 Cache-Aware Compositional Analysis of Real- Time Multicore Virtualization Platforms

More information

Time and Schedulability Analysis of Stateflow Models

Time and Schedulability Analysis of Stateflow Models Time and Schedulability Analysis of Stateflow Models Marco Di Natale Scuola Superiore S. Anna Haibo Zeng Mc Gill University Outline Context: MBD of Embedded Systems Relationship with PBD An Introduction

More information

An Efficient Energy-Optimal Device-Scheduling Algorithm for Hard Real-Time Systems

An Efficient Energy-Optimal Device-Scheduling Algorithm for Hard Real-Time Systems An Efficient Energy-Optimal Device-Scheduling Algorithm for Hard Real-Time Systems S. Chakravarthula 2 S.S. Iyengar* Microsoft, srinivac@microsoft.com Louisiana State University, iyengar@bit.csc.lsu.edu

More information

Improved Priority Assignment for the Abort-and-Restart (AR) Model

Improved Priority Assignment for the Abort-and-Restart (AR) Model Improved Priority Assignment for the Abort-and-Restart (AR) Model H.C. Wong and A. Burns Department of Computer Science, University of York, UK. February 1, 2013 Abstract This paper addresses the scheduling

More information

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation*

Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Analysis and Implementation of Global Preemptive Fixed-Priority Scheduling with Dynamic Cache Allocation* Meng Xu Linh Thi Xuan Phan Hyon-Young Choi Insup Lee University of Pennsylvania Abstract We introduce

More information

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities

Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Revision 1 July 23, 215 Schedulability Analysis of the Linux Push and Pull Scheduler with Arbitrary Processor Affinities Arpan Gujarati Felipe Cerqueira Björn B. Brandenburg Max Planck Institute for Software

More information

A Utilization Bound for Aperiodic Tasks and Priority Driven Scheduling

A Utilization Bound for Aperiodic Tasks and Priority Driven Scheduling A Utilization Bound for Aperiodic Tasks and Priority Driven Scheduling Tarek F. Abdelzaher, Vivek Sharma Department of Computer Science, University of Virginia, Charlottesville, VA 224 Chenyang Lu Department

More information

SPT is Optimally Competitive for Uniprocessor Flow

SPT is Optimally Competitive for Uniprocessor Flow SPT is Optimally Competitive for Uniprocessor Flow David P. Bunde Abstract We show that the Shortest Processing Time (SPT) algorithm is ( + 1)/2-competitive for nonpreemptive uniprocessor total flow time

More information

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems

The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems The Concurrent Consideration of Uncertainty in WCETs and Processor Speeds in Mixed Criticality Systems Zhishan Guo and Sanjoy Baruah Department of Computer Science University of North Carolina at Chapel

More information

EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation

EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation 1 EDF and RM Multiprocessor Scheduling Algorithms: Survey and Performance Evaluation Omar U. Pereira Zapata, Pedro Mejía Alvarez CINVESTAV-IPN, Sección de Computación Av. I.P.N. 258, Zacatenco, México,

More information

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts.

TDDI04, K. Arvidsson, IDA, Linköpings universitet CPU Scheduling. Overview: CPU Scheduling. [SGG7] Chapter 5. Basic Concepts. TDDI4 Concurrent Programming, Operating Systems, and Real-time Operating Systems CPU Scheduling Overview: CPU Scheduling CPU bursts and I/O bursts Scheduling Criteria Scheduling Algorithms Multiprocessor

More information