1 / 21

Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary?

Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary?. Dakai Zhu , Daniel Moss é and Rami Melhem. The work is supported by DARPA through the PARTS project. Preface. Power-aware computing for parallel systems Frame based task sets Shared Memory Systems

aurek
Download Presentation

Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary? Dakai Zhu, Daniel Mossé and Rami Melhem The work is supported by DARPA through the PARTS project.

  2. Preface • Power-aware computing for parallel systems • Frame based task sets • Shared Memory Systems • Traditional AND-model applications: TPDS’03 • AND/OR-model applications: to appear in TPDS • Distributed Systems: IPDPS’03 • Periodic task sets • Global scheduler: P-fair [Baruah’96] www.cs.pitt.edu/PARTS

  3. Problem • Scheduling • n periodic tasks, each task Ti with (ci, pi) • ci, pi are integers (i.e.,multiples of system time unit) • Weight: wi = ci/ pi; System U = wi • m resources (m  U) • Constraints: at any time • One resource  one task (resources are not shareable) • One task occupies one resource (tasks are not parallel) • Optimal • Full utilization (U = m); • Scheduling overhead; • Number of Context switches; www.cs.pitt.edu/PARTS

  4. Previous Work • EDF/RM: dynamic/static priority • Optimal for single resource • The famous task set [Dhall’78] • (n –1) tasks with (2*, 1); 1 task with (1, 1+ ) • U = (2*(n-1) + 1/(1+ ) )/n  0 with big n • Harmonic tasks: periods are multiples of each other • [Mancini’94] and [Khemka’97] www.cs.pitt.edu/PARTS

  5. Previous Work (cont.) • PF: proportional fairness [Baruah’96] • Proportional progress for tasks at ANY time • At time t: eitherwi* t or wi* t • Absolute allocation error: less than one time unit • Optimal: full utilization, U = m; • Variations of P-fair algorithms • PD [Baruah’95] • PD2[Anderson’01] • ER-fair [Anderson’00] Scheduling decision at EVERY time unit ! www.cs.pitt.edu/PARTS

  6. 2 1 2 3 1 2 3 1 2 4 1 2 1 2 4 R1 4 3 4 4 5 4 4 4 3 5 4 3 4 3 5 R2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 An Example • T1=(1, 3),T2=(2, 5),T3=(2, 5),T4=(2, 3),T5=(1, 5) • m=U=wi =2, LCM = 15; • PF schedule [Baruah’96] • 15 scheduling points • 27 context switches Deadline miss only happens at period boundaries ! www.cs.pitt.edu/PARTS

  7. B-Fair: A new approach • Idea • Schedule ONLY at period boundaries • Allocate resources to tasks for the time units within two consecutive boundaries • Maintain fairness at boundary time bk (B-Fair) • Ti get either wi* bk or wi* bk • Two-step allocation • Mandatory units to keep fairness • Optional units for future urgent tasks www.cs.pitt.edu/PARTS

  8. 16/5 6/5 2 3/5 Demand 11 1 2 0 Mandatory 01/5 1 /5 0 3/5 pending ? Tasks T2, T3,T5are eligible for the optional unit The Example • T1=(1, 3),T2=(2, 5),T3=(2, 5),T4=(2, 3),T5=(1, 5) At boundary time 0: allocate [0  3) T1 T2 T3 T4 T5 R1 R2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 www.cs.pitt.edu/PARTS

  9. BF Algorithm • Define a set of boundaries: {b0, …, bL} • bk < bk+1; b0 = 0, bL = LCM; • k, Ti, bk is a multiple of pi; • At bk, we allocate [bk , bk+1) • Mandatory units • Optional units • mik = max{ 0, RWik + wi*(bk+1 – bk) } • RWik = Remaining work for Ti before bk • RWik = wi* bk – allocated units for Ti • m*(bk+1 – bk) >  mik www.cs.pitt.edu/PARTS

  10. : idea from P-fair [Baruah’96] • k(Ti) = sign[bk+1*wi – bk*wi – (bk+1- bk)] • (Ti, k) = k+1(Ti), …, k+s(Ti) • Minimum s such that k+s(Ti)  ‘+’ • : when k+s(Ti) = ‘–’ BF Algorithm (cont.) • Eligible tasks • Pending work:PWik=RWik + wi*(bk+1 – bk) -mik> 0 • Not fully allocated: mik < bk+1 – bk • Dynamic priority: urgency of future • Character string • Time Factor (TF) www.cs.pitt.edu/PARTS

  11. BF Algorithm (cont.) • For eligible tasks Ti and Tj • Compare (Ti, k) and (Ti, k) • Character by character: ‘+’ > ‘0’ > ‘–’ • Bigger string has higher priority • If tie and last character is ‘0’: arbitrary • If tie and last character is ‘–’ • Compare time factor (TF) • smaller time factor has higher priority • If tie again: arbitrary, e.g., smaller index • High priority tasks get one optional unit each www.cs.pitt.edu/PARTS

  12. 11 1 2 0 Mandatory 1 2 2 string * - -* - 01/5 1 /5 0 3/5 pending 3 4 4 TF * 0 0* 0 Optional 0 1 00 0 1 3 2 1 2 3 4 1 2 1 2 3 4 5 4 3 4 4 5 3 4 4 4 5 The Example (cont.) • T1=(1, 3),T2=(2, 5),T3=(2, 5),T4=(2, 3),T5=(1, 5) T1 T2 T3 T4 T5 Compared BF vs.PF: Scheduling Points: 7 vs.15 Context Switches: 24 vs.27 R1 R2 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 www.cs.pitt.edu/PARTS

  13. Complexity of BF • For each scheduling point: O(n*pmax) • Mandatory units allocation: O(n) • Optional units: O(n*pmax) • Priority compare: O(pmax) • Linear selection from ‘n’ tasks: O(n) [Blum’73] • Improved BF: O(n); • Improve priority comparison: O(1) • If k(Ti) = k(Tj) = ‘+’, consider two counter-task with weight of 1-wi and 1-wj, respectively. • k(CTi) = k(CTj) = ‘-’: compare their time factors (TF) • Bigger TF gets higher priority • Efficient P-fair: PD has O(min{n, m log n} ) [Baruah’95] www.cs.pitt.edu/PARTS

  14. Number of Scheduling Points • Up to 100 tasks • Min period: 10 • Max period • 20  100 • LCM  232 www.cs.pitt.edu/PARTS

  15. Cycles per Scheduling Point • Up to 100 tasks • Min period: 10 • Max period: 100 • ci is randomly chosen from 1 to pi ; i.e., m  n/2 • Conservative implementation www.cs.pitt.edu/PARTS

  16. Total Time to Generate Schedules • Up to 100 tasks • Min period: 10 • Max period: 100 • ci is randomly chosen from 1 to pi ; i.e., m  n/2 www.cs.pitt.edu/PARTS

  17. Conclusion • Notion of boundary-fairness • BF is optimal: full system utilization • Fewer scheduling points than P-fair algorithms • Complexity per scheduling point is O(n) • Comparable to PD: O (min {n, m log n} ) • Less total time to generate schedules • Compared with PD: less than 100 tasks www.cs.pitt.edu/PARTS

  18. ? Questions Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary? Dakai Zhu, Daniel Mossé and Rami Melhem

  19. Analysis of B-Fair • Ahead, behind, punctual task sets • RWik < 0, > 0, =0; respectively • Pre-ahead, pre-behind task set • PWik < 0, > 0; respectively www.cs.pitt.edu/PARTS

  20. Analysis of B-Fair (cont.) • No tasks miss the deadline if m  (wi) • When allocating [bk , bk+1): m = (wi) • No over requirement •  mik m*(bk+1 – bk) • Enough eligible tasks • At least m*(bk+1 – bk) –  mik • Otherwise, non-empty ahead set and behind set for each previous boundary, which contradicts at b0 www.cs.pitt.edu/PARTS

  21. Performance Evaluation (cont.) • Generally, prime number points are not scheduling point for B-Fair • Prime number theory: big number x • x / ln(x) prime numbers smaller than x • LCM: > 1/lnLCM • 103 >14.5% • 106 >7.24% • 109 > 5% www.cs.pitt.edu/PARTS

More Related