Title: Multiple-Resource Periodic Scheduling Problem: how much fairness is necessary?
1Multiple-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.
2Preface
- Power-aware computing for parallel systems
- Frame based task sets
- Shared Memory Systems
- Traditional AND-model applications TPDS03
- AND/OR-model applications to appear in TPDS
- Distributed Systems IPDPS03
- Periodic task sets
- Global scheduler P-fair Baruah96
3Problem
- 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
4Previous Work
- EDF/RM dynamic/static priority
- Optimal for single resource
- The famous task set Dhall78
- (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 - Mancini94 and Khemka97
5Previous Work (cont.)
- PF proportional fairness Baruah96
- 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 Baruah95
- PD2 Anderson01
- ER-fair Anderson00
Scheduling decision at EVERY time unit !
6An Example
- T1(1, 3), T2(2, 5), T3(2, 5), T4(2, 3),
T5(1, 5) - mU?wi 2, LCM 15
- PF schedule Baruah96
- 15 scheduling points
- 27 context switches
Deadline miss only happens at period boundaries !
7B-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
8The 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
10
9
11
12
13
14
15
9BF Algorithm
- Define a set of boundaries b0, , bL
- bk lt bk1 b0 0, bL LCM
- ?k, ?Ti, bk is a multiple of pi
- At bk, we allocate bk , bk1)
- Mandatory units
- Optional units
- mik max 0, ?RWik wi(bk1 bk)?
- RWik Remaining work for Ti before bk
- RWik wi bk allocated units for Ti
- m(bk1 bk) gt ? mik
10BF Algorithm (cont.)
- Eligible tasks
- Pending workPWikRWik wi(bk1 bk) - mik gt 0
- Not fully allocated mik lt bk1 bk
- Dynamic priority urgency of future
- Character string
- Time Factor (TF)
-
11BF Algorithm (cont.)
- For eligible tasks Ti and Tj
- Compare ?(Ti, k) and ?(Ti, k)
- Character by character gt 0 gt
- 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
12The 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
10
9
11
12
13
14
15
13Complexity of BF
- For each scheduling point O(npmax)
- Mandatory units allocation O(n)
- Optional units O(npmax)
- Priority compare O(pmax)
- Linear selection from n tasks O(n) Blum73
- 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(minn, m log n )
- Baruah95
14Number of Scheduling Points
- Up to 100 tasks
- Min period 10
- Max period
- 20 ? 100
- LCM ? 232
15Cycles 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
16Total 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
17Conclusion
- 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
18Multiple-Resource Periodic Scheduling Problem
how much fairness is necessary?
- Dakai Zhu, Daniel Mossé and Rami Melhem
19Analysis of B-Fair
- Ahead, behind, punctual task sets
- RWik lt 0, gt 0, 0 respectively
- Pre-ahead, pre-behind task set
- PWik lt 0, gt 0 respectively
20Analysis of B-Fair (cont.)
- No tasks miss the deadline if m ? ? (wi)
- When allocating bk , bk1) m ? (wi)
- No over requirement
- ? mik ? m(bk1 bk)
- Enough eligible tasks
- At least m(bk1 bk) ? mik
- Otherwise, non-empty ahead set and behind set for
each previous boundary, which contradicts at b0
21Performance 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 gt 1/lnLCM
- 103 ? gt14.5
- 106 ? gt7.24
- 109 ? gt 5