A Survey of Hard Real-Time Scheduling for Multiprocessor...
Transcript of A Survey of Hard Real-Time Scheduling for Multiprocessor...
A Survey ofA Survey of
Hard Real-Time Scheduling for Multiprocessor Systems
Xinyun Jiang and Robert Dick
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Outline
1. Power consumption and multicore
2. Critical instant
3. Global scheduling
4. Schedulability tests
5. Limitations and future directions
2 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Motivation
Paper focuses on homogeneous multiprocessor systems.
Question
Why use multicore processors instead of just making unicore processorsfaster?
3 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Sources of embedded systems research problems and ideas
Changes in applications.
Changes in implementation technologies.
4 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Process scaling implications
Change Power implicationFeature size reduction, density increases Power increases
More devices used Power increasesFrequency increases Power increasesVoltage decreases Power reduces
Net effect is to increase power density.
Can’t increase frequency because power at air-cooling limit.
5 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Device power density history
Year of announcement
1950 1960 1970 1980 1990 2000 2010
Pow
er d
ensi
ty (
Wat
ts/c
m2 )
0
2
4
6
8
10
12
14
Bipolar
CMOS
VacuumIBM 360
IBM 370 IBM 3033
IBM ES9000
Fujitsu VP2000
IBM 3090S
NTT
Fujitsu M-780
IBM 3090
CDC Cyber 205IBM 4381
IBM 3081Fujitsu M380
IBM RY5
IBM GP
IBM RY6
Apache
Pulsar
Merced
IBM RY7
IBM RY4
Pentium II(DSIP)
T-Rex
Squadrons
Pentium 4
Mckinley
Prescott
Jayhawk(dual)
IBM Z9
6 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Multicore to the rescue
Problems.
Can’t increase frequency.
Need more speed.
Global communication delay in big uniprocessors is hard.
Designing big, fast uniprocessors is hard.
Multicore solution.
Stamp down a bunch of cores.
They can process many instructions per cycle.
Clock at a moderate rate.
Good power density.
Good theoretical throughput.
7 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Multicore problem
If you want speed, need to stop assuming one thing happens at a time.
Software components (threads) must have explicit synchronization.
Harder to reason about, develop, and debug.
Harder to reason about resource use and contention in real-time systems.
HW engineers, “I’m sure the software folks will figure something out.”
8 Jiang and Dick EECS 598-13
ClassificationofMultiprocessorSystems
• Heterogeneous• Differentprocessors• Rateofexecutionbedifferentondifferentprocessors
• Homogeneous(paperfocus)• Identicalprocessors• Rateofexecutionbethesameacrossallprocessors
• Uniform• Rateofexecutiondependsonspeedoftheprocessor
DemandBoundFunctionBaruah etal.,[1990]
• Maximumamountoftaskexecutionthatcanbereleasedandhastocompleteintimeinterval[0, 𝑡)
• ℎ 𝑡 = ∑ max(0, @ABCDC
+ 1)GHIJ 𝐶H
• 𝑘 + 1:largestnon-negativeintegersuchthat𝑘 ⋅ 𝑇H + 𝐷H ≤ 𝑡
• Notschedulableifℎ 𝑡 > 𝑡
ProcessorLoad
• 𝑙𝑜𝑎𝑑 𝜏 = max∀@X(@)@
• Task-setFeasibility->𝑙𝑜𝑎𝑑 𝜏 ≤ 𝑚
• Considerthetasksystembelow
• ℎ 𝑡 = 2• 𝑙𝑜𝑎𝑑 = 2• Under-estimatethedemandof𝜏J in 0,1• Effectivecombineddemand=3
LimitsinthepreviousworkBaker,Cirinei [2006]
Maxmin DemandBaker,Cirinei [2006]
Maximumofminimumamountoftimethatataskmustexecutewithinaspecifictimeintervalinordertomeetallitsdeadlines.
𝐶H = 2,𝐷H= 3,𝑇H= 7
• ℎ∗ 𝑡 = ℎ 𝑡 + ∑ max(0, 𝒕 − 𝒋𝒕 ⋅ 𝑻𝒊 − 𝑫𝒊 + 𝑪𝒊)GHIJ
• 𝑗@ = max 0, @ABCDC
+ 1
• Throwforward
Optimality ExistorNot?Hong,Leung[1988]
ProblemDefinition
• Online schedulerwithtaskshave>1distinctdeadline• Online schedulerwithtaskshaveacommondeadline• Offline scheduler
HardnessofSolving
• No optimalonlineschedulerexists
• Optimalonlineschedulerexists
• Optimalofflineschedulerexists𝑶(𝒏𝟑)
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Outline
1. Power consumption and multicore
2. Critical instant
3. Global scheduling
4. Schedulability tests
5. Limitations and future directions
9 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Rate mononotic scheduling (RMS)
Single processor.
Independent tasks.
Differing arrival periods.
Schedule in order of increasing periods.
No fixed-priority schedule will do better than RMS.
Guaranteed valid for loading ≤ ln 2 = 0.69.
For loading > ln 2 and < 1, correctness unknown.
Usually works up to a loading of 0.88.
10 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Rate monotonic scheduling
1973, Liu and Layland derived optimal scheduling algorithm(s) for thisproblem.
Schedule the job with the smallest period (period = deadline) first.
Analyzed worst-case behavior on any task set of size n.
Found utilization bound: U(n) = n · (21/n − 1).
0.828 at n = 2.
As n→∞, U(n)→ log 2 = 0.693.
Result: For any problem instance, if a valid schedule is possible, theprocessor need never spend more than 31% of its time idle.
11 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Optimality and utilization for limited case
Simply periodic: All task periods are integer multiples of all lesser taskperiods.
In this case, RMS/DMS optimal with utilization 1.
However, this case rare in practice.
Remains feasible, with decreased utilization bound, for in-phase tasks witharbitrary periods.
12 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Rate monotonic scheduling
Constrained problem definition.
Over-allocation often results.
However, in practice utilization of 85%–90% common.
Lose guarantee.
If phases known, can prove by generating instance.
13 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Critical instants
Definition
A job’s critical instant a time at which all possible concurrent higher-priorityjobs are also simultaneously released.
Useful because it implies latest finish time
14 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Definitions
Period: T .
Execution time: C .
Process: i .
Utilization: U =∑m
i=1Ci
Ti.
Assume Task 1 is higher priority than Task 2, and thus T1 < T2.
15 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Critical instants
C1
T1
C1
C2
C1
T1 T1
Case 1 Case 2
T2
16 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Case 1 I
All instances of higher-priority tasks released before end of lower-priority taskperiod complete before end of lower-priority task period.
C1 ≤ T2 − T1
⌊T2
T1
⌋.
I.e., the execution time of Task 1 is less than or equal to the period ofTask 2 minus the total time spent within the periods of instances of Task 1finishing within Task 2’s period.
Now, let’s determine the maximum execution time of Task 2 as a function ofall other variables.
Number of T1 released =⌈T2
T1
⌉so C2,max = T2 − C1
⌈T2
T1
⌉.
17 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Case 1 II
I.e., the maximum execution time of Task 2 is the period of Task 2 minus thetotal execution time of instances of Task 1 released within Task 2’s period.
18 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Case 1 III
In this case,
U = U1 + U2
=C1
T1+
C2,max
T2
=C1
T1+
T2 − C1
⌈T2
T1
⌉T2
=C1
T1+ 1−
C1
⌈T2
T1
⌉T2
= 1 + C1
(1
T1− 1
T2
⌈T2
T1
⌉)
19 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Case 1 IV
Is 1T1− 1
T2
⌈T2
T1
⌉≤ 0?
If T2 = T1 + ε, this is
1
T1− 1
T1 + ε
⌈T1 + ε
T1
⌉=
1
T1− 2
T1 + εwhich is less than or equal to zero.
Thus, U is monotonically nonincreasing in C1.
20 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Case 2 I
Instances of higher-priority tasks released before end of lower-priority taskperiod complete after end of lower-priority task period.
C1 ≥ T2 − T1
⌊T2
T1
⌋.
C2,max = T1
⌊T2
T1
⌋− C1
⌊T2
T1
⌋.
U1 = C1/T1.
U2 = C2/T2 = T1
T2
⌊T2
T1
⌋− C1
T2
⌊T2
T1
⌋.
U = U1 + U2 = T1
T2
⌊T2
T1
⌋+ C1
(1T1− 1
T2
⌊T2
T1
⌋).
21 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Minimal U I
C1 = T2 − T1
⌊T2
T1
⌋.
U = 1− T1
T2
(⌈T2
T1
⌉− T2
T1
)(T2
T1−⌊T2
T1
⌋).
Let I =⌊T2
T1
⌋and
f = T2
T1.
Then, U = 1− f (1−f )I+f .
To maximize U, minimize I , which can be no smaller than 1.
U = 1− f (1−f )1+f .
22 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Minimal U II
Differentiate to find mimima, at f =√
2− 1.
Thus, Umin = 2(√
2− 1)≈ 0.83.
Is this the minimal U? Are we done?
23 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Proof sketch for RMS utilization bound
Consider case in which no period exceeds twice the shortest period.
Find a pathological case: in phase
Utilization of 1 for some duration.
Any decrease in period/deadline of longest-period task will causedeadline violations.
Any increase in execution time will cause deadline violations.
24 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Proof sketch for RMS utilization bound
See if there is a way to increase utilization while meeting all deadlines.
Increase execution time of high-priority task.
e′i = pi+1 − pi + ε = ei + ε.
Must compensate by decreasing another execution time.
This always results in decreased utilization.
e′k = ek − ε.
U ′ − U =e′ipi
+e′kpk− ei
pi− ek
pk= ε
pi− ε
pk.
Note that pi < pk → U ′ > U.
25 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Proof sketch for RMS utilization bound
Same true if execution time of high-priority task reduced.
e′′i = pi+1 − pi − ε.
In this case, must increase other e or leave idle for 2 · ε.
e′′k = ek + 2ε.
U ′′ − U = 2εpk− ε
pi.
Again, pk < 2→ U ′′ > U.
Sum over execution time/period ratios.
26 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Proof sketch for RMS utilization bound
Get utilization as a function of adjacent task ratios.
Substitute execution times into∑n
k=1ekpk
.
Find minimum.
Extend to cases in which pn > 2 · pk .
27 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Notes on RMS
DMS better than or equal RMS when deadline 6= period.
Why not use slack-based?
What happens if resources are under-allocated and a deadline is missed?
28 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Multiprocessor breaks critical instant
P1
P2
1
2
3
4
1
3
2 4P1
P2
29 Jiang and Dick EECS 598-13
UtilizationBound
• Performancemetric:Worst-caseutilizationbound
• Theminimumutilizationofanyimplicit-deadlinetaskset thatisonlyjustschedulableaccordingtoalgorithmA
• Sufficient,notnecessaryschedulability test
𝑈jkD =𝑚 + 12
• Periodictaskset,implicitdeadline
• Suppose• 𝑚 + 1 tasks,𝑚 processors,1 executiontime,period2• lmJ
nlutilizationperprocessor
• lmJn
overallutilization• Ifexecutiontimebecomes1 + 𝜖 ->unschedulable
UtilizationBound Andersson etal[2001]
PartitionedScheduling
Advantages• Onlyeffectoneprocessorunderworstcase• Nopenaltyintermsofmigrationcost• Separaterun-queueperprocessor• Uniprocessortechniquescanbeapplied
Disadvantages• Taskallocationproblem------ NPhard
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Outline
1. Power consumption and multicore
2. Critical instant
3. Global scheduling
4. Schedulability tests
5. Limitations and future directions
30 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Global scheduling
Task migration.
Fewer preemptions.
Tasks anywhere can use spare time.
Dhall and Liu ’78.
Terrible worst-case EDF utilization bound for periodic tasks with implicitdeadlines.
Numerous algorithms proposed with utilization bounds slightly tighter than(m + 1)/2.
31 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Pfair
Proportionate fairness.
Each task makes progress proportionate to its utilization.
Theoretical utilization bound of m.
However, that ignores
(frequent) migration and
per-quanta and migration decision algorithm.
32 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
EDZL
Lee ’94 Earliest Deadline until Zero Laxity
Act like EDF until a task will miss its deadline.
Set those to highest priority.
Can schedule any possible set of ready tasks, but not necessarily futuretasks.
Chao ’08
Proved that utilization bound is at most m(1− 1/e).
33 Jiang and Dick EECS 598-13
HybridScheduling–Semipartitioned ApproachAndersson,Tovar[2006]
• 𝑈pqr = 𝑆𝐸𝑃 = vwwmJ
, 𝑘 < 𝑚1, 𝑘 = 𝑚
• Utilizationboundof66%
• Atmost4preemptionsperjob
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Outline
1. Power consumption and multicore
2. Critical instant
3. Global scheduling
4. Schedulability tests
5. Limitations and future directions
34 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Schedulability tests
Instead of considering worst-case task set, use pseudo-random or benchmarkbased performance.
Drawback
Naıve pseudo-random task sets don’t look like real-world task sets.
Advantage
Closer to real-world average case performance than worst-case.
More appropriate for making decisions about soft real-time systems. . .
. . . unless application task sets are constrained.
35 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Outline
1. Power consumption and multicore
2. Critical instant
3. Global scheduling
4. Schedulability tests
5. Limitations and future directions
36 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Limitations and future directions
Representations don’t match complex real-world task sets.
Edmonds and Pruhs ’09
Tasks have phases, which have degrees of parallelization.
Large gaps between theoretical bounds and algorithm results for sporadictask models.
37 Jiang and Dick EECS 598-13
Power consumption and multicoreCritical instant
Global schedulingSchedulability tests
Limitations and future directions
Limitations and future directions
Can also sometimes model complex task structures with minor changes toexisting models, such as grouping.
E.g., pre-/post-computation and streaming.
b) pre− and post−computation
K
J J1/3
J3/3
J2/3 K1/3
K2/3
K3/3
J1/3
J2/3
J3/3
K1/3
K2/3
K3/3
a) conventional
0 kb
3 kb
3 kb
c) streaming
9 kb 0 kb
0 kb
9 kb
0 kb
0 kb
3 kb
0 kb
0 kb0 kb
38 Jiang and Dick EECS 598-13