Paper Discussion C. L. Liu and James W. Layland, "Scheduling Algorithms for Multiprogramming in a Hard-RealTime Environment", JACM, Vol 20, No. 1, pp. 46-61, 1973 Chihg-Chih Han, Kwei-Jay Lin and Chao-Ju Hou, "Distance-Constrained Scheduling and Its Applications to Real-Time Systems", IEEE Trans. on Computers, Vol 45, No. 7, pp. 814-826 1996 1/52 資工系網媒所 NEWS實驗室 Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment No non-time-critical jobs Pure Process Control C. L. Liu and James W. Layland, "Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment", JACM, Vol 20, No. 1, pp. 46--61, 1973 2/52 資工系網媒所 NEWS實驗室 Assumptions (A1) The requests for all tasks for which hard deadlines exist are periodic, with constant interval between requests. (A2) Deadlines consist of run-ability constraints only--i.e, each task must be completed before the next request for it occurs. (A3) The tasks are independent in that requests for a certain task do not depend on the initiation or the completion of requests for other tasks. (A4) Run-time for each task is constant for that task and does not vary with time. Run-time here refers to the time which is taken by a processor to execute the task without interruption. (A5) Any nonperiodic tasks in the system are special; they are initialization or failure-recovery routines; they displace periodic tasks while they themselves are being run, and do not themselves have hard, critical deadlines. 3/52 資工系網媒所 NEWS實驗室 Real-Time Task Model Periodic Task Model parameters are known a priori request time ready time deadline start finish preempt resume period worst-case execution time Predictability vs. Schedulability high predictability and schedulability easy-to-check schedulability condition 4/52 資工系網媒所 NEWS實驗室 Scheduling Approaches Time-Driven Scheduling Approach widely used inflexible, efficient large space needed e.g. cyclic executive 0 3 6 Priority-Driven Scheduling Approach dynamic-priority e.g. earliest deadline first fixed-priority e.g. rate monotonic 0 3 6 5/52 資工系網媒所 NEWS實驗室 Terms in Scheduling job: an instance of a task deadline: next request time of the same task overflow at time t: t is a deadline of unfulfilled request feasible: scheduled with no overflow (schedulable) response time: time span from request to finish critical instance: an instance when a request will have the largest response time critical time zone: time interval from a critical instance to its finish time 6/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm THEOREM 1. A critical instant for any task occurs whenever the task is requested simultaneously with requests for all higher priority tasks. A scheduling algorithm is feasible if all tasks can be fulfilled at their critical instants. 7/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm (cont.) THEOREM 2. If a feasible priority assignment exists for some task set, the rate-monotonic priority assignment is feasible for that task set. 8/52 資工系網媒所 NEWS實驗室 Optimality THEOREM 2. If a feasible priority assignment exists for some task set, the rate-monotonic priority assignment is feasible for that task set. 9/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm (cont.) THEOREM 3. For a set of two tasks with fixed priority assignment, the least upper bound to the processor utilization factor is U = 2 (2 ½ - 1). case 1 T1 T2 case 2 T1 T2 10/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm (cont.) The minimum U occurs at the boundary of two cases T1 T2 T1 T2 11/52 資工系網媒所 NEWS實驗室 Least Upper Bound An easy-to-check schedulability condition m U (Ci / Ti ) i 1 1 1/ m m(2 1) n=2, 0.83 n=3, 0.78 n=, 0.69 12/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm (cont.) THEOREM 4. For a set of m tasks with fixed priority order, and the restriction that the ratio between any two request periods is less than 2, the least upper bound to the processor utilization factor is U = m(2 1/m - 1). find optimal conditions when optimality exists or if it is optimal and condition A does not hold conflicts, so A must be true. solve equations at optimal condition derive bound relax assumption 13/52 資工系網媒所 NEWS實驗室 T1 T2 T1 T2 T1 T2 T1 T2 14/52 資工系網媒所 NEWS實驗室 15/52 資工系網媒所 NEWS實驗室 A Fixed Priority Scheduling Algorithm (cont.) THEOREM 5. For a set of m tasks with fixed priority order, the least upper bound to processor utilization is U = m(2 1/m - 1). The bound of special case is tighter than general case. Rate Monotonic Priority Assignment The smaller the period, the higher the priority. Rate Monotonic Scheduling Algorithm generate the whole schedule on-line off-line priority queue 100%? 16/52 資工系網媒所 NEWS實驗室 A Deadline Driven Scheduling Algorithm THEOREM 6. When the deadline driven scheduling algorithm is used to schedule a set of tasks on a processor, there is no processor idle time prior to an overflow. 17/52 資工系網媒所 NEWS實驗室 A Deadline-Driven Scheduling Algorithm (cont.) THEOREM 7. For a given set of m tasks, the deadline driven scheduling algorithm is feasible if and only if U 1. necessary condition (only if) if feasible, the computation demand processor time sufficient condition if U 1, and not feasible case 1 0 T T1 T2…Tm all bi beyond T 18/52 資工系網媒所 NEWS實驗室 Sufficient Condition (cont.) case 2 some bi were carried out before T 19/52 資工系網媒所 NEWS實驗室 A mixed Scheduling Algorithm ? 20/52 資工系網媒所 NEWS實驗室 Distance-Constrained Task Model video server inter-frame distance must be less than 33ms robot arm movement needs steady and smooth operations satellite/cellular phone tracking service in constant time interval more predictable inter-execution time than the periodic task(PT) model worst inter-execution time for PT is 2xperiod-ei Chihg-Chih Han, Kwei-Jay Lin and Chao-Ju Hou, "Distance-Constrained Scheduling and Its Applications to Real-Time Systems", IEEE Trans. on Computers, Vol 45, No. 7, pp. 814-826, 1996 21 資工系網媒所 NEWS實驗室 Pinwheel Problem Given a multiset A={a1, a2, ... ,an}, ai Find an infinite sequence of symbols from {1, 2, ... , n} such that at least one symbol i within any interval of ai symbols A={2,3} 2 2 2 ... 2 2 ... A unit-time schedule 22/52 資工系網媒所 NEWS實驗室 Pinwheel Schedule 12 0 11 10 9 T4 T1 7 T1 2 T2 T2 8 1 T3 3 4 5 6 Pinwheel schedule 6666666 T1 (1,6) T2 (3,6) T3 (2,12) T4 (2,12) 0 1 2 3 4 5 6 7 8 9 10 11 12 23/52 資工系網媒所 NEWS實驗室 Pinwheel Transformation 2 E.g. A={3,4,6,13} {3} B={3,3,6,12} ={3,3,3×21, 3×22} • single-number reduction Pinwheel A any numbers multiples jitterless, predictable (RM) Signal analog digital noiseless, ease of control e.g. CD music B (PW) 0 3 6 9 12 24/52 資工系網媒所 NEWS實驗室 Pinwheel Scheduling Properties Good jitter control in schedules Easy-to-check schedulability Predictable resource accesses Easy extension for aperiodic tasks Predictable end-to-end delay Network scheduling (INFOCOM’95 by Han & Shin) Flexible time-driven approach 25/52 資工系網媒所 NEWS實驗室 Pinwheel Scheduler Given a multi-set of distance constraints of n tasks A={a1, a2, ... ,an}, density r(A)Si (1/ai ) Find another B={b1, b2, ... ,bn}, "i, bi ai , A is schedulable if B is schedulable. If bi’s are multiples (bi|bj) and r(B)1, B is schedulable. E.g. A={3,4,6,7} (specialized) B={3,3,6,6} schedule is “1 2 3 1 2 4 1 2 3 1 2 4 ...” The goal is to minimize density increase 26/52 資工系網媒所 NEWS實驗室 Previous Works CX: the set of all instances schedulable by Scheduler x dX: the schedulable density bound for Scheduler x CSx CS23 CSa CSbc Sa:x=a1 , dSa 0.5 Sx: a1 /2 <x a1 , dSx 0.65 S23:use 2 and 3, dS23 20.58 Sbc: b=a1 , b c < 2b dSbc 230.6 27 資工系網媒所 NEWS實驗室 Single-node Pinwheel Scheduling Earlier work: use a base of 2 , find x in (a1/2 ,a1] Sa, Sx, Sbc, Sby, Sxy: 0.5, 0.65, 2/3, … distance constraints of integer, unit execution time Sr: use a base of 2 , find r in (a1/2 ,a1] real-number distance constraints and execution times Our contributions: Srg: use a base of g Srb: try all bases (optimal for single-number reduction) HSr: near-optimal polynomial-time heuristic Integer Pinwheel Scheduling: Sxg, Sxb , HSx 28/52 資工系網媒所 NEWS實驗室 Various Pinwheel Schedulers distance near optimal g=2 optimal g constraint heuristic x is an integer Sx Sxb HSx r is a real number Sr Srb HSr 29/52 資工系網媒所 NEWS實驗室 Multiple-Node Scheduling All nodes are specialized with the same base using DSr (Distributed Sr Scheduling) Pinwheel phase alignment Minimize the total end-to-end delay Minimize the maximum end-to-end delay Nodej N1 N2 ... Nm ... Pinwheelj Pinwheel1 Pinwheel2 ... Pinwheelm 30/52 資工系網媒所 NEWS實驗室 Relationships of Pinwheel Schedulers CX: the set of all instances schedulable by Scheduler x CSr c. f. CSrb e. CSx a. CSxb b. d. a = {(1,2),(1,3)} b = {(1,2.1),(2.1,6)} c = {(1,1.9),(1,4)} d = {(1,2),(2.1,6)} e = {(1,1.9),(2.1,6)} f = {(1,2),(1.1,3)} : Jitterless 31/52 資工系網媒所 NEWS實驗室 Synchronous Scheduling Intranode: pinwheel scheduling makes task executions regular and predictable, i.e. no jitter. Internode: in all nodes, transform the periods of all tasks to harmonic numbers so that tasks of the same period are synchronized. The worst case delay for a task between its arrival and the beginning of its execution on a node is one period. Nodej N1 N2 ... Nm ... 32/52 資工系網媒所 NEWS實驗室 33/52 資工系網媒所 NEWS實驗室 34/52 資工系網媒所 NEWS實驗室 Simplification 35/52 資工系網媒所 NEWS實驗室 Study of Pinwheel Scheduling n tasks are schedulable on a node (using HSr) 1/n if the total utilization is n (2 - 1). n tasks are schedulable on all nodes (using DSr) 1/n-1 if the utilization on any node is 2 . Algorithm of O(n log n + nl) to minimize the total or maximum task delay between two nodes with l different periods. Algorithm of O(mn log n + mnl) to minimize the total end-toend delay on m nodes. Polynomial heuristics to reduce the maximum end-to-end delay on m nodes. 36/52 資工系網媒所 NEWS實驗室 Time-driven Scheduling Approach Off-line construct complete schedule exponential time and space generate effective time parameters start time, resume time, finish time optimization On-line 0 3 execute tasks according to off-line generated schedule or parameters, inflexible 6 37/52 資工系網媒所 NEWS實驗室 SSr: Pinwheel Schedule Constructor Generate start times and finish times in O(n2) 0 5.3 10.6 15.9 21.2 task1 task2 task3 task4 task5 38/52 資工系網媒所 NEWS實驗室 Time-Driven Pinwheel Scheduling Generate effective pinwheel schedule. Generate start times and finish times using SSr Next resume time can be found in O(n) the latest finish time of the preempting tasks task1 task2 task3 task4 Use an on-line scheduler to schedule tasks according to the effect schedule. 39/52 資工系網媒所 NEWS實驗室 TOPS:Time-driven On-line Pinwheel Scheduler scheduler TOPS-c TOPS-l TOPS-f TOPS-m (constant) (linear) (flexible) (mix) S,F, S*,F*,R* S,F priority off-line generates on-line generates on-line time O(1) complexity space O(bn/b1) complexity *S:start R S,F,R O(n) O(n)** O(log n) O(n) O(n) O(n) time, F:finish time, R:resume time; * * amortized 40/52 資工系網媒所 NEWS實驗室 Pinwheel Transformation Sr: d ={(1,2),(2.1,6)} {(1,2),(2.1,4)} overflow Sxb: d ={(1,2),(2.1,6)} {(1,2),(2.1,6)} 0 2 4 6 8 41/52 資工系網媒所 NEWS實驗室 Relationship between CSrb, PRM , and PEDF PX: the set of all periodic task sets schedulable by Scheduler x CX: the set of all DCTS’s schedulable by Scheduler x PEDF PRM a = {(1,2),(1,3)} b = {(1,2),(0.5,3),(1,7)} c = {(1,2),(1,3),(1,7)} d = {(1,2),(1.1,3)} e = {(1,2),(2,3)} e. d. c. CSrb b. n 2 a. PRM = CSrb 42 資工系網媒所 /52 NEWS實驗室 Relationships of Schedulers CX: the set of all instances schedulable by Scheduler x g. CRM CSrb CSr c. f. e. CSx CSxb a. b. d. a = {(1,2),(1,3)} b = {(1,2.1),(2.1,6)} c = {(1,1.9),(1,4)} d = {(1,2),(2.1,6)} e = {(1,1.9),(2.1,6)} f = {(1,2),(1,3),(1,7)} g = {(1,2),(1.1,3)} : Jitterless 43/52 資工系網媒所 NEWS實驗室 Examples of Schedulers a = {(1,2),(1,3)}, r0.83 CRM [Sx] {(1,2),(1,2)}, F b = {(1,2.1),(2.1,6)}, r0.83 CSrb [Sx] {(1,2),(2.1,4)}, F.03 [Sr] {(1,2.1),(2.1,4.2)}, F0.98 [Sxb] {(1,2),(2.1,6)} , F0.85 CSx CSr c. a. b. CSxb c = {(1,1.9),(1,4)}, r0.8 [Sr] {(1,1.9),(1,3.8)} , F0.9 [Sxb] {(1,1),(1,4)} , F.25 d. d = {(1,2),(2.1,6)}, r0.85 [Sr] {(1,1.5),(2.1,6)}, F .02 [Sxb] {(1,2),(2.1,6)}, F0.85 44 資工系網媒所 NEWS實驗室 More Examples of Schedulers e = {(1,1.9),(2.1,6)}, r0.88 CSx CSr CSrb CRM [Sr] {(1,1.5),(2.1,6)}, F.02 [Sxb] {(1,1),(2.1,6)}, F.35 [Srb] {(1,1.9),(2.1,5.7)}, F0.89 CSxb f = {(1,2),(1,3),(1,7)}, r0.9 [Srb] {(1,2),(1,2),(1,6)}, F. e. f. g. g = {(1,2),(1.1,3)}, r0.8 45/52 資工系網媒所 NEWS實驗室 Comparison of Schedulers Scheduler EDF RM Srb schedulability condition jitter high low* none end-to-end delay long short shortest easy* easy large small stable stable 1 resource reservation difficult worst case large blocking time system unstable overload n (21/n - 1) n (21/n - 1) *for higher priority tasks 46/52 資工系網媒所 NEWS實驗室 Priority Inversion 47/52 資工系網媒所 NEWS實驗室 Priority Inheritance 48/52 資工系網媒所 NEWS實驗室 Priority Inheritance (cont.) m lower priority task access k distinct semaphores A job can be blocked at most min(m,k) critical sections Might have deadlocks Chain of blocking J1 access S1, S2 held by J2, J3 49/52 資工系網媒所 NEWS實驗室 Priority Ceiling Protocol Inherit the Priority Ceiling of a semaphore Priority Ceiling of a semaphore S The highest priority of the jobs may lock S. Zi,j,k is the kth critical section in Ji guarded by Sj Idea came from: When J1 preempts Z2,1, the priority of J1 will be strictly higher than the priorities of all the preempted critical sections, otherwise J1 is blocked and J2 inherits J1’s priority. A job can be blocked for at most one duration of one critical section. " i, 1 i n, C1/T1+C2/T2+…+Ci/Ti+Bi/Ti i(21/i-1) 50/52 資工系網媒所 NEWS實驗室 Example 2 J0 J1 J2 0 1 2 3 4 5 6 7 8 9 1011121314 15 51/52 資工系網媒所 NEWS實驗室 Multiprocessor PCP Static binding vs. dynamic binding (m 1) 21 , 11 Global semaphore vs. local semaphore Global critical section vs. local semaphore Remote blocking 52 資工系網媒所 /52 NEWS實驗室 53/52 資工系網媒所 NEWS實驗室 54/52 資工系網媒所 NEWS實驗室