Fixed Priority Scheduling

Size: px
Start display at page:

Download "Fixed Priority Scheduling"

Transcription

1 Fixed Priority Scheduling Giuseppe Lipari Scuola Superiore Sant Anna Pisa January 13, 2011

2 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

3 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

4 The fixed priority scheduling algorithm very simple scheduling algorithm; every task τ i is assigned a fixed priority p i ; the active task with the highest priority is scheduled. Priorities are integer numbers: the higher the number, the higher the priority; In the research literature, sometimes authors use the opposite convention: the lowest the number, the highest the priority. In the following we show some examples, considering periodic tasks, and constant execution time equal to the period.

5 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

6 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

7 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

8 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

9 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

10 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

11 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

12 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

13 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

14 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

15 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

16 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

17 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

18 Example of schedule Consider the following task set: = (2, 6, 6), = (2, 9, 9), τ 3 = (3, 12, 12). Task has priority p 1 = 3 (highest), task has priority p 2 = 2, task τ 3 has priority p 3 = 1 (lowest). τ

19 Another example (non-schedulable) Consider the following task set: = (3, 6, 6), p 1 = 3, = (2, 4, 8), p 2 = 2, τ 3 = (2, 12, 12), p 3 = 1. τ In this case, task τ 3 misses its deadline!

20 Another example (non-schedulable) Consider the following task set: = (3, 6, 6), p 1 = 3, = (2, 4, 8), p 2 = 2, τ 3 = (2, 12, 12), p 3 = 1. τ In this case, task τ 3 misses its deadline!

21 Note Some considerations about the schedule shown before: The response time of the task with the highest priority is minimum and equal to its WCET. The response time of the other tasks depends on the interference of the higher priority tasks; The priority assignment may influence the schedulability of a task.

22 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

23 Priority assignment Given a task set, how to assign priorities? There are two possible objectives: Schedulability (i.e. find the priority assignment that makes all tasks schedulable) Response time (i.e. find the priority assignment that minimize the response time of a subset of tasks). By now we consider the first objective only An optimal priority assignment Opt is such that: If the task set is schedulable with another priority assignment, then it is schedulable with priority assignment Opt. If the task set is not schedulable with Opt, then it is not schedulable by any other assignment.

24 Optimal priority assignment Given a periodic task set with all tasks having deadline equal to the period ( i, D i = T i ), and with all offsets equal to 0 ( i, φ i = 0): The best assignment is the Rate Monotonic assignment Tasks with shorter period have higher priority Given a periodic task set with deadline different from periods, and with all offsets equal to 0 ( i, φ i = 0): The best assignement is the Deadline Monotonic assignment Tasks with shorter relative deadline have higher priority For sporadic tasks, the same rules are valid as for periodic tasks with offsets equal to 0.

25 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

26 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

27 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

28 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

29 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

30 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

31 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

32 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

33 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

34 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

35 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

36 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

37 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

38 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

39 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

40 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

41 Example revised Consider the example shown before with deadline monotonic: = (3, 6, 6), p 1 = 2, = (2, 4, 8), p 2 = 3, τ 3 = (2, 10, 12), p 3 = 1. τ

42 Presence of offsets If instead we consider periodic tasks with offsets, then there is no optimal priority assignment In other words, if a task set T 1 is schedulable by priority O 1 and not schedulable by priority assignment O 2, it may exist another task set T 2 that is schedulable by O 2 and not schedulable by O 1. For example, T 2 may be obtained from T 1 simply changing the offsets!

43 Example of non-optimality with offsets Example: priority to : Changing the offset:

44 Example of non-optimality with offsets Example: priority to : Example: priority to : Changing the offset: Changing the offset:

45 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

46 Analysis Given a task set, how can we guarantee if it is schedulable of not? The first possibility is to simulate the system to check that no deadline is missed; The execution time of every job is set equal to the WCET of the corresponding task; In case of periodic task with no offsets, it is sufficient to simulate the schedule until the hyperperiod (H = lcm i (T i )). In case of offsets, it is sufficient to simulate until 2H +φ max (Leung and Merril). If tasks periods are prime numbers the hyperperiod can be very large!

47 Example Exercise: Compare the hyperperiods of this two task sets: 1 T 1 = 8, T 2 = 12, T 3 = 24; 2 T 1 = 7, T 2 = 12, T 3 = 25. In case of sporadic tasks, we can assume them to arrive at the highest possible rate, so we fall back to the case of periodic tasks with no offsets!

48 Example Exercise: Compare the hyperperiods of this two task sets: 1 T 1 = 8, T 2 = 12, T 3 = 24; 2 T 1 = 7, T 2 = 12, T 3 = 25. In case of sporadic tasks, we can assume them to arrive at the highest possible rate, so we fall back to the case of periodic tasks with no offsets! In case 1, H = 24;

49 Example Exercise: Compare the hyperperiods of this two task sets: 1 T 1 = 8, T 2 = 12, T 3 = 24; 2 T 1 = 7, T 2 = 12, T 3 = 25. In case of sporadic tasks, we can assume them to arrive at the highest possible rate, so we fall back to the case of periodic tasks with no offsets! In case 1, H = 24; In case 2, H = 2100!

50 Utilization analysis In many cases it is useful to have a very simple test to see if the task set is schedulable. A sufficient test is based on the Utilization bound: Definition The utilization least upper bound for scheduling algorithm A is the smallest possible utilization U lub such that, for any task set T, if the task set s utilization U is not greater than U lub (U U lub ), then the task set is schedulable by algorithm A. U U lub t

51 Utilization bound for RM Theorem (Liu and Layland, 1973) Consider n periodic (or sporadic) tasks with relative deadline equal to periods, whose priorities are assigned in Rate Monotonic order. Then, U lub = n(2 1/n 1) U lub is a decreasing function of n; For large n: U lub 0.69 n U lub n U lub

52 Schedulability test Therefore the schedulability test consist in: Compute U = n C i i=1 T i ; if U U lub, the task set is schedulable; if U > 1 the task set is not schedulable; if U lub < U 1, the task set may or may not be schedulable;

53 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

54 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

55 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

56 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

57 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

58 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

59 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

60 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

61 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

62 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

63 Example Example in which we show that for 3 tasks, if U < U lub, the system is schedulable. = (2, 8), = (3, 12),τ 3 = (4, 16); U = 0.75 < U lub = 0.77 τ

64 Example 2 By increasing the computation time of task τ 3, the system may still be schedulable... = (2, 8), = (3, 12),τ 3 = (5, 16); U = 0.81 > U lub = 0.77 τ

65 Utilization bound for DM If relative deadlines are less than or equal to periods, instead of considering U = n C i i=1 T i, we can consider: U = n i=1 C i D i Then the test is the same as the one for RM (or DM), except that we must use U instead of U.

66 Pessimism The bound is very pessimistic: most of the times, a task set with U > U lub is schedulable by RM. A particular case is when tasks have periods that are harmonic: A task set is harmonic if, for every two tasks τ i, tau j, either P i is multiple of P j or P j is multiple of P i. For a harmonic task set, the utilization bound is U lub = 1. In other words, Rate Monotonic is an optimal algoritm for harmonic task sets.

67 Example of harmonic task set = (3, 6), = (3, 12), τ 3 = (6, 24); U = 1 ; τ

68 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

69 Response time analysis A necessary and sufficient test is obtained by computing the worst-case response time (WCRT) for every task. For every task τ i : Compute the WCRT R i for task τ i ; If R i D i, then the task is schedulable; else, the task is not schedulable; we can also show the situation that make task τ i miss its deadline! To compute the WCRT, we do not need to do any assumption on the priority assignment. The algorithm described in the next slides is valid for an arbitrary priority assignment. The algorithm assumes periodic tasks with no offsets, or sporadic tasks.

70 Response time analysis - II The critical instant for a set of periodic real-time tasks, with offset equal to 0, or for sporadic tasks, is when all jobs start at the same time. Theorem (Liu and Layland, 1973) The WCRT for a task corresponds to the response time of the job activated at the critical instant. To compute the WCRT of task τ i : We have to consider its computation time and the computation time of the higher priority tasks (interference); higher priority tasks can preempt task τ i, and increment its response time.

71 Response time analysis - III Suppose tasks are ordered by decreasing priority. Therefore, i < j prio i > prio j. Given a task τ i, let R (k) i be the WCRT computed at step k. R (k) i R (k) i i 1 i = C i + R (0) R (k) j=1 j=1 C j i 1 (k 1) R i i = C i + C j T j The iteration stops when: = R (k+1) i or > D i (non schedulable);

72 Example Consider the following task set: = (2, 5), = (2, 9), τ 3 = (5, 20); U = R (k) i 1 i = C i + j=1 (k 1) R i T j C j R (0) 3 = C C C 2 = 9 τ

73 Example Consider the following task set: = (2, 5), = (2, 9), τ 3 = (5, 20); U = R (k) i 1 i = C i + j=1 (k 1) R i T j C j R (0) 3 = C C C 2 = 9 R (1) 3 = C C C 2 = 11 τ

74 Example Consider the following task set: = (2, 5), = (2, 9), τ 3 = (5, 20); U = R (k) i 1 i = C i + j=1 (k 1) R i T j C j R (0) 3 = C C C 2 = 9 R (1) 3 = C C C 2 = 11 R (2) 3 = C C C 2 = 15 τ

75 Example Consider the following task set: = (2, 5), = (2, 9), τ 3 = (5, 20); U = R (k) i 1 i = C i + j=1 (k 1) R i T j C j R (0) 3 = C C C 2 = 9 R (1) 3 = C C C 2 = 11 R (2) 3 = C C C 2 = 15 R (3) 3 = C C C 2 = 15 = R (2) 3 τ

76 Another example with DM The method is valid for different priority assignments and deadlines different from periods = (1, 4, 4), p 1 = 3, = (4, 6, 15), p 2 = 2, τ 3 = (3, 10, 10), p 3 = 1; U = 0.72 R (0) 3 = C C C 2 = 8 R (k) i 1 (k 1) R i i = C i + C j T j=1 j τ

77 Another example with DM The method is valid for different priority assignments and deadlines different from periods = (1, 4, 4), p 1 = 3, = (4, 6, 15), p 2 = 2, τ 3 = (3, 10, 10), p 3 = 1; U = 0.72 R (0) 3 = C C C 2 = 8 R (1) 3 = C C C 2 = 9 R (k) i 1 (k 1) R i i = C i + C j T j=1 j τ

78 Another example with DM The method is valid for different priority assignments and deadlines different from periods = (1, 4, 4), p 1 = 3, = (4, 6, 15), p 2 = 2, τ 3 = (3, 10, 10), p 3 = 1; U = 0.72 R (0) 3 = C C C 2 = 8 R (1) 3 = C C C 2 = 9 R (2) 3 = C C C 2 = 10 R (k) i 1 (k 1) R i i = C i + C j T j=1 j τ

79 Another example with DM The method is valid for different priority assignments and deadlines different from periods = (1, 4, 4), p 1 = 3, = (4, 6, 15), p 2 = 2, τ 3 = (3, 10, 10), p 3 = 1; U = 0.72 R (0) 3 = C C C 2 = 8 R (1) 3 = C C C 2 = 9 R (2) 3 = C C C 2 = 10 R (k) i 1 (k 1) R i i = C i + C j T j=1 j R (3) 3 = C C C 2 = 10 = R (2) 3 τ

80 Considerations The response time analysis is an efficient algorithm In the worst case, the number of steps N for the algorithm to converge is exponential It depends on the total number of jobs of higher priority tasks that may be contained in the interval [0, D i ]: i 1 N j=1 Di If s is the minimum granularity of the time, then in the worst case N = D i s ; However, such worst case is very rare: usually, the number of steps is low. T j

81 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

82 Considerations on WCET The response time analysis is a necessary and sufficient test for fixed priority. However, the result is very sensitive to the value of the WCET. If we are wrong in estimating the WCET (and for example we put a value that is too low), the actual system may be not schedulable. The value of the response time is not helpful: even if the response time is well below the deadline, a small increase in the WCET of a higher priority task makes the response time jump; We may see the problem as a sensitivity analysis problem: we have a function R i = f i (C 1, T 1, C 2, T 2,...,C i 1, T i 1, C i ) that is non-continuous.

83 Example of discontinuity Let s consider again the example done before; we increment the computation time of of 0.1. τ

84 Example of discontinuity Let s consider again the example done before; we increment the computation time of of 0.1. τ R 3 =

85 Singularities The response time of a task τ i is the first time at which all tasks,...,τ i have completed; At this point, either a lower priority task τ j (p j < p i ) is executed or the system becoms idle or it coincides with the arrival time of a higher priority task. In the last case, such an instant is also called i-level singularity point. In the previous example, time 12 is a 3-level singularity point, because: 1 task τ 3 has just finished; 2 and task ha just been activated; A singularity is a dangerous point!

86 Sensitivity on WCETs A rule of thumb is to increase the WCET by a certain percentage before doing the analysis. If the task set is still feasible, be are more confident about the schedulability of the original system. There are analytical methods for computing the amount of variation that it is possible to allow to a task s WCET without compromising the schedulability

87 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

88 A different analysis approach Definition of workload for task τ i : W i (t) = i t j=1 T j C j The workload is the amount of work that the set of tasks {,...,τ i } requests in [0, t] Example: = (2, 4), = (4, 15): W 2 (10) = 2+ 4 = 6+4 =

89 Workload function The workload function for the previous example = (2, 4), = (4, 15):

90 Main theorem Theorem (Lehokzcy 1987) Let P i = { j < i, k, kt j D i kt j } {D i }. Then, task τ i is schedulable if and only if t P i, W i (t) t Set P i is the set of time instants that are multiple of some period of some task τ j with higher priority than τ i, plus the deadline of task τ i (they are potential singularity points) In other words, the theorem says that, if the workload is less than t for any of the points in P i, then τ i is schedulable Later, Bini simplified the computation of the points in set P i

91 Example with 4 tasks = (2, 4), = (4, 15), τ 3 = (4, 30), τ 4 = (4, 60) Task τ 4 is schedulable, because W 4 (56) = 56 and W 4 (60) = 58 < 60 (see schedule on fp_schedule_1.0_ex4.ods)

92 Sensitivity analysis Proposed by Bini and Buttazzo, 2005 Let us rewrite the equations for the workload: t P i i t j=1 T j C j t If we consider the C j as variables, we have a set of linear inequalities in OR mode each inequality defines a plane in the space R i of variables C 1,...,Ci the result is a concave hyper-solid in that space

93 Example with two tasks = (x, 4), = (y, 15) P = {4, 8, 12, 15} C 1 + C 2 4 2C 1 + C 2 8 3C 1 + C C 1 + C 2 15

94 Graphical representation In the R 2 space: C2 C 1

95 Simplifying non-useful constraints C2 The cross represent a (possible) pair of values for (C 1, C 2 ). The cross must stay always inside the subspace C 1

96 Sensitivity Distance from a constraint represents how much we can increase (C 1, C 2 ) without exiting from the space or how much we must decrease C 1 or C 2 to enter in the space In the example before: starting from C 1 = 1 and C 2 = 8 we can increase C 1 of the following: 3(1+ ) = 1 3 Exercise: verify schedulability of with C 1 = and C 2 = 8 by computing its response time

97 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

98 Summary of schedulability tests for FP Utilization bound test: depends on the number of tasks; for large n, U lub = 0.69; only sufficient; O(n) complexity; Response time analysis: necessary and sufficient test for periodic tasks with arbitrary deadlines and with no offset complexity: high (pseudo-polynomial); Hyperplane analysis necessary and sufficient test for periodic tasks with arbitrary deadlines and with no offset complexity: high (pseudo-polynomial); allows to perform sensitivity analysis

99 Response time analysis - extensions Consider offsets Arbitrary patterns of arrivals. Burst, quasi periodic, etc.

100 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

101 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

102 Esercizio Dato il seguente task set: Task C i D i T i τ τ Calcolare il tempo di risposta dei vari task nell ipotesi che le priorità siano assegnate con RM o con DM. Risposta: Nel caso di RM, R( ) = 1 R( ) = 3 R(τ 3 ) = 7 R(τ 4 ) = 18

103 Esercizio Dato il seguente task set: Task C i D i T i τ τ Calcolare il tempo di risposta dei vari task nell ipotesi che le priorità siano assegnate con RM o con DM. Risposta: Nel caso di RM, Nel caso di DM, R( ) = 1 R( ) = 3 R(τ 3 ) = 7 R(τ 4 ) = 18 R( ) = 1 R( ) = 7 R(τ 3 ) = 4 R(τ 4 ) = 18

104 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

105 Esercizio Consideriamo il seguente task non periodico: Se j è pari, allora a 1,j = 8 j 2 ; Se j è dispari, allora a 1,j = 3+8 j 2 ; In ogni caso, c 1,j = 2; La priorità del task è p 1 = 3. Nel sistema, consideriamo anche i task periodici = (2, 12, 12) e τ 3 = (3, 16, 16), con priorità p 2 = 2 e p 3 = 1. Calcolare il tempo di risposta dei task e τ 3.

106 Soluzione - I Il pattern di arrivo del task è il seguente: Il task è ad alta priorità, quindi il suo tempo di risposta è pari a 2. In che modo questo task interferisce con gli altri due task a bassa priorità

107 Soluzione - II Bisogna estendere la formula del calcolo del tempo di risposta. La generalizzazione è la seguente: R (k) i 1 i = C i + Nist j (R (k 1) i )C j j=1 dove Nist j (t) rappresenta il numero di istanze del task τ j che arrivano nell intervallo [0, t). Se il task τ j è periodico, allora Nist j (t) = t. Tj Nel caso invece del task (che non èperiodico): t max(0, t 3) Nist 1 (t) = Il primo termine tiene conto delle istanze con j pari, mentre il secondo termine tiene conto delle istanze con j dispari.

108 Soluzione - III Applicando la formula per calcolare il tempo di risposta del task : R (0) 2 = 2+2 = 4 R (1) 2 = = 6 R (2) 2 = = 6

109 Soluzione - III Applicando la formula per calcolare il tempo di risposta del task : Per il task τ 3 : R (0) 2 = 2+2 = 4 R (1) 2 = = 6 R (2) 2 = = 6 R (0) 3 = = 7 R (1) 3 = = 9 R (2) 3 = = 11 R (3) 3 = = 11

110 Soluzione - IV (schedulazione) Schedulazione risultante: τ

111 Outline 1 Fixed priority 2 Priority assignment 3 Scheduling analysis 4 A necessary and sufficient test 5 Sensitivity 6 Hyperplane analysis 7 Conclusions 8 Esercizi Calcolo del tempo di risposta Calcolo del tempo di risposta con aperiodici Hyperplane analysis

112 Esercizio sulla sensitivity Dato il seguente insieme di task: = (2, 5), = (3, 12) Vedere se il sistema è schedulabile con l analisi Hyperplanes Calcolare di quando può aumentare (o di quanto si può diminuire) il tempo di calcolo di per farlo rimanere (diventare) schedulabile Calcolare di quanto si può diminuire la potenza del processore mantenendo il sistema schedulabile

113 Soluzione Le equazioni da considerare sono: C 1 + C 2 5 2C 1 + C C 1 + C 2 12 Tutte verificate per C 1 = 2 e C 2 = 3 Fissando C 1, si ha: C 2 3 C 2 6 C 2 6 Ricordandoci che sono in OR, la soluzione è C 2 6, quindi possiamo aumentare C 2 di 3 mantenendo il sistema schedulabile

114 Soluzione 2 Se il processore ha velocità variabile, le equazioni possono essere riscritte come: E nel punto considerato: αc 1 +αc 2 5 2αC 1 +αc αC 1 +αc 2 12 α 1 7α 10 9α 12 Quindi, α = , e possiamo rallentare il processore (cioé incrementare i tempi di calcolo) del 43% circa.

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

System Model. Real-Time systems. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

System Model. Real-Time systems. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy Real-Time systems System Model Giuseppe Lipari Scuola Superiore Sant Anna Pisa -Italy Corso di Sistemi in tempo reale Laurea Specialistica in Ingegneria dell Informazione Università di Pisa p. 1/?? Task

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

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

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

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

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

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

A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets

A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets A New Sufficient Feasibility Test for Asynchronous Real-Time Periodic Task Sets Abstract The problem of feasibility analysis for asynchronous periodic task sets (ie where tasks can have an initial offset

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

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

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

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

Mitra Nasri* Morteza Mohaqeqi Gerhard Fohler

Mitra Nasri* Morteza Mohaqeqi Gerhard Fohler Mitra Nasri* Morteza Mohaqeqi Gerhard Fohler RTNS, October 2016 Since 1973 it is known that period ratio affects the RM Schedulability The hardest-to-schedule task set [Liu and Layland] T 2 T n T 1 T 2

More information

CEC 450 Real-Time Systems

CEC 450 Real-Time Systems CEC 450 Real-Time Systems Lecture 3 Real-Time Services Part 2 (Rate Monotonic Theory - Policy and Feasibility for RT Services) September 7, 2018 Sam Siewert Quick Review Service Utility RM Policy, Feasibility,

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

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

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

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas February 11, 2014 Paper Presentation Amo Guangmo Tong University of Taxes at Dallas gxt140030@utdallas.edu February 11, 2014 Amo Guangmo Tong (UTD) February 11, 2014 1 / 26 Overview 1 Techniques for Multiprocessor Global

More information

IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00

IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00 TECHNISCHE UNIVERSITEIT DELFT Faculteit Elektrotechniek, Wiskunde en Informatica IN4343 Real Time Systems April 9th 2014, from 9:00 to 12:00 Koen Langendoen Marco Zuniga Question: 1 2 3 4 5 Total Points:

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

Lecture: Workload Models (Advanced Topic)

Lecture: Workload Models (Advanced Topic) Lecture: Workload Models (Advanced Topic) Real-Time Systems, HT11 Martin Stigge 28. September 2011 Martin Stigge Workload Models 28. September 2011 1 System

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

Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks

Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks Segment-Fixed Priority Scheduling for Self-Suspending Real-Time Tasks Junsung Kim, Björn Andersson, Dionisio de Niz, and Raj Rajkumar Carnegie Mellon University 2/31 Motion Planning on Self-driving Parallel

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

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

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

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling

Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Bounding the Maximum Length of Non-Preemptive Regions Under Fixed Priority Scheduling Gang Yao, Giorgio Buttazzo and Marko Bertogna Scuola Superiore Sant Anna, Pisa, Italy {g.yao, g.buttazzo, m.bertogna}@sssup.it

More information

Schedulability and Optimization Analysis for Non-Preemptive Static Priority Scheduling Based on Task Utilization and Blocking Factors

Schedulability and Optimization Analysis for Non-Preemptive Static Priority Scheduling Based on Task Utilization and Blocking Factors Schedulability and Optimization Analysis for Non-Preemptive Static Priority Scheduling Based on Task Utilization and Blocking Factors Georg von der Brüggen, Jian-Jia Chen, Wen-Hung Huang Department of

More information

Real-Time Workload Models with Efficient Analysis

Real-Time Workload Models with Efficient Analysis Real-Time Workload Models with Efficient Analysis Advanced Course, 3 Lectures, September 2014 Martin Stigge Uppsala University, Sweden Fahrplan 1 DRT Tasks in the Model Hierarchy Liu and Layland and Sporadic

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

Parametric technique

Parametric technique Regression analysis Parametric technique A parametric technique assumes that the variables conform to some distribution (i.e. gaussian) The properties of the distribution are assumed in the underlying

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

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

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

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

Uniprocessor real-time scheduling

Uniprocessor real-time scheduling Uniprocessor real-time scheduling Julien Forget Université Lille 1 Ecole d Été Temps Réel - 30 Août 2017 Julien Forget (Université Lille 1) Uniprocessor real-time scheduling ETR 2017 1 / 67 Overview At

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

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

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

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund

Multiprocessor Scheduling I: Partitioned Scheduling. LS 12, TU Dortmund Multiprocessor Scheduling I: Partitioned Scheduling Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 22/23, June, 2015 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 47 Outline Introduction to Multiprocessor

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

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

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

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

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

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

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

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

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

Module 5: CPU Scheduling

Module 5: CPU Scheduling Module 5: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 5.1 Basic Concepts Maximum CPU utilization obtained

More information

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models

Bursty-Interference Analysis Techniques for. Analyzing Complex Real-Time Task Models Bursty-Interference Analysis Techniques for lemma 3 Analyzing Complex Real- Task Models Cong Liu Department of Computer Science The University of Texas at Dallas Abstract Due to the recent trend towards

More information

Chapter 6: CPU Scheduling

Chapter 6: CPU Scheduling Chapter 6: CPU Scheduling Basic Concepts Scheduling Criteria Scheduling Algorithms Multiple-Processor Scheduling Real-Time Scheduling Algorithm Evaluation 6.1 Basic Concepts Maximum CPU utilization obtained

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

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

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

arxiv: v3 [cs.ds] 23 Sep 2016

arxiv: v3 [cs.ds] 23 Sep 2016 Evaluate and Compare Two Utilization-Based Schedulability-Test Framewors for Real-Time Systems arxiv:1505.02155v3 [cs.ds] 23 Sep 2016 Jian-Jia Chen and Wen-Hung Huang Department of Informatics TU Dortmund

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

Partitioned scheduling of sporadic task systems: an ILP-based approach

Partitioned scheduling of sporadic task systems: an ILP-based approach Partitioned scheduling of sporadic task systems: an ILP-based approach Sanjoy K. Baruah The University of North Carolina Chapel Hill, NC. USA Enrico Bini Scuola Superiore Santa Anna Pisa, Italy. Abstract

More information

Supplement of Improvement of Real-Time Multi-Core Schedulability with Forced Non- Preemption

Supplement of Improvement of Real-Time Multi-Core Schedulability with Forced Non- Preemption 12 Supplement of Improvement of Real-Time Multi-Core Schedulability with Forced Non- Preemption Jinkyu Lee, Department of Computer Science and Engineering, Sungkyunkwan University, South Korea. Kang G.

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

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

A New Task Model and Utilization Bound for Uniform Multiprocessors

A New Task Model and Utilization Bound for Uniform Multiprocessors A New Task Model and Utilization Bound for Uniform Multiprocessors Shelby Funk Department of Computer Science, The University of Georgia Email: shelby@cs.uga.edu Abstract This paper introduces a new model

More information

arxiv: v1 [cs.os] 28 Feb 2018

arxiv: v1 [cs.os] 28 Feb 2018 Push Forward: Global Fixed-Priority Scheduling of Arbitrary-Deadline Sporadic Tas Systems Jian-Jia Chen 1, Georg von der Brüggen 2, and Nilas Ueter 3 1 TU Dortmund University, Germany jian-jian.chen@tu-dortmund.de

More information

Schedulability Analysis for the Abort-and-Restart Model

Schedulability Analysis for the Abort-and-Restart Model Schedulability Analysis for the Abort-and-Restart Model Hing Choi Wong Doctor of Philosophy University of York Computer Science December 2014 Abstract In real-time systems, a schedulable task-set guarantees

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

Improved Deadline Monotonic Scheduling With Dynamic and Intelligent Time Slice for Real-time Systems

Improved Deadline Monotonic Scheduling With Dynamic and Intelligent Time Slice for Real-time Systems Improved Deadline Monotonic Scheduling With Dynamic and Intelligent Time Slice for Real-time Systems H. S. Behera, Sushree Sangita Panda and Jana Chakraborty Department of Computer Science and Engineering,

More information

A Theory of Rate-Based Execution. A Theory of Rate-Based Execution

A Theory of Rate-Based Execution. A Theory of Rate-Based Execution Kevin Jeffay Department of Computer Science University of North Carolina at Chapel Hill jeffay@cs cs.unc.edu Steve Goddard Computer Science & Engineering University of Nebraska Ð Lincoln goddard@cse cse.unl.edu

More information

Non-Work-Conserving Scheduling of Non-Preemptive Hard Real-Time Tasks Based on Fixed Priorities

Non-Work-Conserving Scheduling of Non-Preemptive Hard Real-Time Tasks Based on Fixed Priorities Non-Work-Conserving Scheduling of Non-Preemptive Hard Real-Time Tasks Based on Fixed Priorities Mitra Nasri, Gerhard Fohler Chair of Real-time Systems, Technische Universität Kaiserslautern, Germany {nasri,

More information

Deadline-driven scheduling

Deadline-driven scheduling Deadline-driven 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

Scheduling Slack Time in Fixed Priority Pre-emptive Systems

Scheduling Slack Time in Fixed Priority Pre-emptive Systems Scheduling Slack Time in Fixed Priority Pre-emptive Systems R.I.Davis Real-Time Systems Research Group, Department of Computer Science, University of York, England. ABSTRACT This report addresses the problem

More information

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas January 24, 2014

Paper Presentation. Amo Guangmo Tong. University of Taxes at Dallas January 24, 2014 Paper Presentation Amo Guangmo Tong University of Taxes at Dallas gxt140030@utdallas.edu January 24, 2014 Amo Guangmo Tong (UTD) January 24, 2014 1 / 30 Overview 1 Tardiness Bounds under Global EDF Scheduling

More information

Lec. 7: Real-Time Scheduling

Lec. 7: Real-Time Scheduling Lec. 7: Real-Time Scheduling Part 1: Fixed Priority Assignment Vijay Raghunathan ECE568/CS590/ECE495/CS490 Spring 2011 Reading List: RM Scheduling 2 [Balarin98] F. Balarin, L. Lavagno, P. Murthy, and A.

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

Design of Real-Time Software

Design of Real-Time Software Design of Real-Time Software Analysis of hard real-time tasks under fixed-priority pre-emptive scheduling Reinder J. Bril Technische Universiteit Eindhoven Department of Mathematics and Computer Science

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

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

DESH: overhead reduction algorithms for deferrable scheduling

DESH: overhead reduction algorithms for deferrable scheduling DOI 10.1007/s11241-009-9087-4 DESH: overhead reduction algorithms for deferrable scheduling Ming Xiong Song Han Deji Chen Kam-Yiu Lam Shan Feng Springer Science+Business Media, LLC 2009 Abstract Although

More information

Exact speedup factors and sub-optimality for non-preemptive scheduling

Exact speedup factors and sub-optimality for non-preemptive scheduling Real-Time Syst (2018) 54:208 246 https://doi.org/10.1007/s11241-017-9294-3 Exact speedup factors and sub-optimality for non-preemptive scheduling Robert I. Davis 1 Abhilash Thekkilakattil 2 Oliver Gettings

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 Systems. LS 12, TU Dortmund

Real-Time Systems. LS 12, TU Dortmund Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund April 24, 2014 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 57 Organization Instructor: Jian-Jia Chen, jian-jia.chen@cs.uni-dortmund.de

More information

On-line scheduling of periodic tasks in RT OS

On-line scheduling of periodic tasks in RT OS On-line scheduling of periodic tasks in RT OS Even if RT OS is used, it is needed to set up the task priority. The scheduling problem is solved on two levels: fixed priority assignment by RMS dynamic scheduling

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

There are three priority driven approaches that we will look at

There are three priority driven approaches that we will look at Priority Driven Approaches There are three priority driven approaches that we will look at Earliest-Deadline-First (EDF) Least-Slack-Time-first (LST) Latest-Release-Time-first (LRT) 1 EDF Earliest deadline

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

Schedulability Analysis for the Abort-and-Restart (AR) Model

Schedulability Analysis for the Abort-and-Restart (AR) Model Schedulability Analysis for the Abort-and-Restart (AR) Model ABSTRACT H.C. Wong Real-Time Systems Research Group, Department of Computer Science, University of York, UK. hw638@york.ac.uk This paper addresses

More information

The Partitioned Dynamic-priority Scheduling of Sporadic Task Systems

The Partitioned Dynamic-priority Scheduling of Sporadic Task Systems The Partitioned Dynamic-priority Scheduling of Sporadic Task Systems Abstract A polynomial-time algorithm is presented for partitioning a collection of sporadic tasks among the processors of an identical

More information

Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems

Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems Exploiting Precedence Relations in the Schedulability Analysis of Distributed Real-Time Systems By: J.C. Palencia and M. González Harbour Departamento de Electrónica y Computadores, Universidad de Cantabria,

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

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

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

arxiv: v1 [cs.os] 25 May 2011

arxiv: v1 [cs.os] 25 May 2011 Scheduling of Hard Real-Time Multi-Thread Periodic Tasks arxiv:1105.5080v1 [cs.os] 25 May 2011 Irina Lupu Joël Goossens PARTS Research Center Université libre de Bruxelles (U.L.B.) CP 212, 50 av. F.D.

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

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

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

CPU scheduling. CPU Scheduling

CPU scheduling. CPU Scheduling EECS 3221 Operating System Fundamentals No.4 CPU scheduling Prof. Hui Jiang Dept of Electrical Engineering and Computer Science, York University CPU Scheduling CPU scheduling is the basis of multiprogramming

More information

CPU Scheduling. CPU Scheduler

CPU Scheduling. CPU Scheduler CPU Scheduling These slides are created by Dr. Huang of George Mason University. Students registered in Dr. Huang s courses at GMU can make a single machine readable copy and print a single copy of each

More information

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy

Shared resources. Sistemi in tempo reale. Giuseppe Lipari. Scuola Superiore Sant Anna Pisa -Italy istemi in tempo reale hared resources Giuseppe Lipari cuola uperiore ant Anna Pisa -Italy inher.tex istemi in tempo reale Giuseppe Lipari 7/6/2005 12:35 p. 1/21 Interacting tasks Until now, we have considered

More information

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors

Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors Consistent * Complete * Well Documented * Easy to Reuse * Technical Report MPI-SWS-216-3 May 216 Lightweight Real-Time Synchronization under P-EDF on Symmetric and Asymmetric Multiprocessors (extended

More information

Real-Time Scheduling Under Time-Interval Constraints

Real-Time Scheduling Under Time-Interval Constraints Real-Time Scheduling Under Time-Interval Constraints Fábio Rodrigues de la Rocha and Rômulo Silva de Oliveira {frr,romulo}@das.ufsc.br Graduate Program in Electrical Engineering Federal University of Santa

More information