Introductory Seminar on Research CIS5935 Fall 2009 Ted Baker

advertisement
Introductory Seminar on Research
CIS5935 Fall 2009
Ted Baker
Outline
• Introduction to myself
– My past & current research areas
• Technical background for the remainder
• A recent paper, on Sustainable MP Scheduling
– What is it?
– Why do I want it?
– How do I get it?
– Sustainability of specific algorithms &
tests
My past research
• Relative computability
– Relativizations of the P=NP? question (1975-1979)
• Algorithms
– N-dim pattern matching (1978)
– extended LR parsing (1981)
• Compilers & PL implementation
– Ada compiler and runtime systems (1979-1998)
• Real-time runtime systems, multi-threading
– FSU Pthreads & other RT OS projects (1985-1998)
• Real-time scheduling & synch.
– Stack Resource Protocol (1991)
– Deadline Sporadic Server (1995)
• RT Software standards
– POSIX, Ada (1987-1999)
Recent/current research
• Multiprocessor real-time scheduling (1998-…)
– how to guarantee deadlines for task systems
scheduled on multiprocessors?
with M. Cirinei & M. Bertogna (Pisa), N. Fisher & S. Baruah
(UNC)
• Real-time device drivers (2006-…)
– how to support schedulability analysis with an
operating system?
– how to get predictable I/O response times?
with A. Wang & Mark Stanovich (FSU)
Background
• Real-time scheduling goals & problems
• Workload models
• Scheduling algorithms & tests
Real-time scheduling
Context = embedded systems, controllers
Problems =
• How to schedule a computational workload to meet
timing constraints? (deadlines)
• How to do this while meeting other constraints and
goals? (energy, fault tolerance, etc.)
• How to guarantee constraints will always be met, in
the face of workload variations
Typical quality questions
• Is a given system schedulable to meet
deadlines?
• Is a given system schedulable by a given
algorithm?
• If deadlines are missed, by how much?
• How good is a given algorithm at finding a
feasible schedule?
• How sensitive is a schedulability guarantee to
variations in parameters?
Workload models
• job = schedulable unit of computation, with
– arrival time
– worst-case execution time (WCET)
– deadline
• task = sequence of jobs
• task system = set of tasks
• independent tasks:
can be scheduled without consideration of
interactions, precedence, coordination, etc.
Example: sporadic task
i
• Ti = minimum inter-arrival time
• Ci = worst-case execution time
• Di = relative deadline
job released
job completes
deadline
Ci
 Di ?
Di
 Ti
scheduling window
next release
Multiprocessor scheduling
• m identical processors (vs. uniform/hetero.)
• shared memory (vs. distributed)
• Kinds of algorithms:
– preemptive vs. non-preemptive
– on-line vs. off-line
– global vs. partitioned
Optimality
• There is no optimal on-line global scheduling
algorithm for sporadic tasks [Fisher, 2007]
• But there are some good algorithms
Some good scheduling algorithms
• Fixed task-priority
– global, or partitioned, hybrids, …
• EDF
– global or partitioned, hybrids, …
• EDZL
…
Example: Global EDF
• m identical processors
• global =
– jobs can run on any processor
– can be preempted, and migrated
• EDF = “earliest deadline first”
– earlier deadline implies higher priority
– the top m jobs will execute
– no processor is idle unless there are fewer
than m jobs ready to run
Schedulability testing
Global-EDF schedulability for sporadic task
systems can be decided by brute-force statespace enumeration (in exponential time)
[Baker, OPODIS 2007]
but we don’t have any practical algorithm.
We do have several practical sufficient
conditions.
Sufficient Conditions for Global EDF
• Varying degrees of complexity and accuracy
• Examples:
• Goossens, Funk, Baruah: density test (2003)
• Baker: analysis of -busy interval (2003)
• Bertogna, Cirinei: iterative slack time estimation
(2007)
• Difficult to compare quality, except by
experimentation
• All tests are very conservative
Example: Density Test
Sporadic task system  is schedulable
on m unit-capacity processors if
 sum ( )  m  (m  1) max ( )
where
Ci
i 
min( Di , Ti )
n
 sum    i
i 1
n
 max  max  i
i 1
My recent research
on Sustainable Schedulabilty
done with Sanjoy Baruah (UNC)
presented by T. Baker at ECRTS
July 2009
Dublin
General schedulability testing
Will a will workload W meet all deadlines if
scheduled by algorithm A on platform P?
exact test
: “yes” ⇔ schedulable
sufficient test : “yes” ⇒ schedulable
Goal: validate timing properties
on which correctness, reliability, safety depend.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
18
Potential weakness
• Real systems differ from models
– clock and timer inaccuracies
– blocking/non-preemption
– execution time variation
• Differences must not invalidate test
• Solution:
– pessimistic assumptions
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
19
What is pessimistic?
• Should cover full range of possibilities.
• How to validate over such a range?
• People tend to assume system behavior is
monotonic, and rely on boundary testing.
• This can be dangerous.
• For example, does WCET of individual jobs
give worst-case behavior of the entire
system?
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
20
Goals
• Our notions of “pessimistic” should be
consistent with the analysis that underlies
the schedulability test.
• The test should be monotonic with respect to
any workload parameters that are considered
to be bounds on actual values.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
21
Predictability
(Ha & Liu 1994)
• For arbitrary job sets on multiprocessors, if
scheduling algorithm is work-preserving,
preemptive, global (migration), with fixed job
priorities:
– Job completions times are monotonically
related to job execution times.
– It is safe to consider only upper bounds for
job execution times in schedulability tests.
• Not true for non-preemptive scheduling
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
22
Sustainabilty
(Baruah & Burns 2006)
• Extends idea to a wider range of relaxations
of workload parameters:
– shorter execution times
– longer periods
– less release-time jitter
– later deadlines
• Relaxation should preserve schedulability
• They considered single-processor systems
• We consider multiprocessors
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
23
Why to relax?
• Safety
– Run-time behavior may fall short of
pessimistic model parameters.
• Modular design
– Start with pessimistic parameters, relax as
design evolves.
• Efficiency
– Revise estimates at job arrival, schedule
more precisely.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
24
How?
Actual/nominal?
– actual max. job exec. time < Ci, or
– value Ci used by scheduler is reduced
• Per job/task?
– Ci reduced differently for each job, or
– Ci reduced for all jobs of task
• Use in scheduling decisions, or not?
•
These may or may not make a difference in
sustainability, depending on context.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
25
Getting specific
• Sustainability depends on the platform and
workload model as well as the scheduling
algorithm.
• Platform : SMP
• Workload model : sporadic task set
• Scheduling algorithms : global FTP, EDF,
EDZL
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
26
SMP Platform
• m identical processors
• bounded cost for migration, context switch
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
27
Sporadic task workload
• fixed set of tasks
• each generates a sequence of jobs
• each job of a task has parameters:
– exec. time
• Ci is an upper bound
– inter-arrival time
• Ti is a lower bound
– deadline, relative to arrival time, Di
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
28
Where is pessimism?
• Ti : lower bound
• Ci : upper bound
• Di : lower bound?
So sustainability means allowing for the
following relaxations:
• Longer inter-arrival times
• Shorter execution times
• Longer deadlines
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
29
Global Scheduling
• Fixed Task Priority (FTP):
m tasks with highest task priority allowed to execute
• EDF:
m jobs with earliest deadlines allowed to execute
• EDZL:
same, except jobs with zero laxity preempt
laxity = remaining-time-to-deadline – remaining-WCET
Common property: Limit of one (or 2, for EDZL)
preemption per job allows us to bundle worst-case
preemption/migration overhead into WCET of jobs
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
30
Longer inter-arrival times
• Sustainability is built into the sporadic
workload model
– per-job or per-task
– actual, nominal too for algorithms that do
not make use of Ti in scheduling decisions
• So global FTP, EDF, EDZL are sustainable
w.r.t. longer inter-arrival times
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
31
Shorter execution times
Depends on scheduling algorithm
Studied by Ha & Liu (1994)
Non-preemptive scheduling not sustainable
Preemptive work-conserving fixed-jobpriority SMP scheduling with migration is
sustainable
– FTP and EDF are sustainable
• Proved for job sets, covers sporadic tasks
– actual/nominal, per job/task
•
•
•
•
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
32
EDZL & shorter exec. time
• Difference from FTP & EDF:
job priority can change
(breaks Ha & Liu assumption)
• EDZL is sustainable
(Piao, Han, Kim et al. 2006; new proof here)
– per-job/task
– nominal and actual, or just actual
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
33
Longer deadlines?
• FTP is sustainable, for sporadic tasks
• EDF & EDZL sustainability open for sporadic
tasks
(not sustainable for job sets*)
– exact test (if one exists) might be risky
– or scheduler should ignore deadline changes
– sustainable tests are of interest
*Apparently also not sustainable for sporadic task sets,
with respect to relaxation of a single job deadline (see appendix).
However, it might be sustainable w.r.t. uniform relaxation of deadline
over all jobs of a task.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
34
Sustainable schedulability test
• If the test says a task set is schedulable,
then it remains schedulable if we reduce
pessimism in our assumptions, e.g.,
– decrease task execution times
– increase task periods
– reduce release-time jitter
– lengthen job deadlines
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
35
Relationships
• Algorithm sustainable ⇒ test sustainable
• Algorithm not sustainable ⇒
exact test not sustainable
So an inexact test might be better,
if it is sustainable and the algorithm is not.
This might be true for global EDF.
Do we know any sustainable tests?
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
36
Self-sustainable test
(new)
• If the test says a task set is schedulable,
then the test still says it is schedulable if we
reduce pessimism in our assumptions, e.g.
– decrease task execution times
– increase task periods
– reduce release-time jitter
– lengthen job deadlines
Do we know any self-sustainable tests for global EDF?
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
37
BCL Test
(Bertogna, Cirinei, Lipari ECRTS 2003)
Sporadic task system  is global EDF schedulable
on m unit-capacity processors if for each   
k
min (D
or
k
 Ck ),Ii,k  m(Dk  Ck )
min (D
 Ck ),Ii,k  
m(Dk  Ck )
ik
k
ik
and there is some i≠k for which I  D  C
i,k
k
k
N i,k  (Dk  Di ) /Ti   1

Ii,k  Ni,kCi  min( Ci ,max( 0,Dk  Ni,kTi ))
7/3/2009

ECRTS 2009 (Dublin) - Ted Baker
38
Is it Sustainable?
• We don’t know.
• We have proven BCL test is not selfsustainable with respect to nominal deadline
relaxation.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
39
A load-based test
(Baruah & Baker, ECRTS 2008)
Sporadic task system  is global-EDF
schedulable on m unit-capacity processors if
LOAD( )    (   1) max ( )
where
  m  (m  1) max ( )
t  Di 
DBF ( i ,t)  max( 0,(
 1)Ci )
 Ti 
n
LOAD( )  max  DBF ( i ,t) /t
t0

7/3/2009
i1
ECRTS 2009 (Dublin) - Ted Baker
40
Is it sustainable?
• We don’t know, but it is not self-sustainable.
• Is there a better test, that is sustainable?
• Yes, this is self-sustainable:
  (    1) max ( )

LOAD( )  max 

   1  (    2) max ( )
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
41
Why one is sustainable and the other not
Load
not schedulable
( ) 1 (( )  2)max ( )

schedulable
( )  (( ) 1)max ( )

7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
42
Summary
• Sustainability depends on workload model
as well as platform and scheduling algorithm
• For sporadic tasks and SMP:
– Global FTP is fully sustainable
– Global EDF & EDZL are (only?) exec. time and
inter-arrival time sustainable
• Self-sustainability is a strong form of
sustainability for tests
– Not all tests are deadline self-sustainable
– But at least one is
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
43
Suggestion
• Papers on scheduling algorithms, and
schedulability tests, should routinely address
sustainability.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
44
The End
questions?
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
45
Appendix 1
A tentative proof that global EDF is
not sustainable for sporadic task
systems w.r.t. relaxation of individual
job deadlines
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
46
Example
Task
A
WCET (Ci)
2
Deadline (Di)
4
Period (Ti)
8
B
C
D
2
4
8
4
8
13
8
8
13
A
A
B
B
C
m = 2 processors
C
D
0
7/3/2009
2
4
6
8
10
12 14 16 18 20
ECRTS 2009 (Dublin) - Ted Baker
47
Claim
• This task appears to be global EDF
schedulable.
• This checks out for integer time values up to
a scale factor of 3, using brute-force test.
• But it still needs a careful proof.
• If this task set is schedulable, it shows that
global EDF is not sustainable for sporadic
task systems w.r.t. single-job deadline
relaxation.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
48
If B’s first deadline is relaxed?
A
B
A
C
0
2
D
4
6
B
8
10
D
12 14 16 18 20
D can be blocked for 6 time units, missing its deadline.
This does not happen
if both of B’s deadlines are relaxed equally.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
49
If B is just released later?
A
B
A
C
0
2
B
D
4
6
8
10
12 14 16 18 20
D is blocked for only 4 time units,
since the second B has later deadline than D.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
50
Appendix 2
Another self-sustainable test for
global EDF on sporadic task sets.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
51
Density Test for Global EDF*
(Goossens, Funk, Baruah RTS 2003)
Sporadic task system  is schedulable
on m unit-capacity processors if
where
 sum ( )  m  (m  1) max ( )
Ci
i 
min( Di , Ti )
n
 sum    i
i 1
n
 max  max  i
i 1
This is another test for global EDF that is fully self-sustainable.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
52
Appendix 3
Discussion of Sustainability &
Workload Models
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
53
Job Workload models
• A job has an arrival time, deadline, and
execution time.
• The execution time may depend on how the
job’s execution is scheduled, but there is an
upper bound.
• A workload model specifies a collection of
possible sets of jobs.
• It is schedulable by an algorithm if every set
of jobs that conforms to the model is
scheduled to meet all deadlines.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
54
Kinds of sustainability
1. With respect to differences between actual
run-time behavior and model.
– e.g., actual execution time is less than
nominal WCET.
– a property of the model
2. With respect to changes in the model.
– e.g., nominal WCET is reduced
– a property of the model and scheduling
algorithm
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
55
Sustainability of Model
• Sustainability can be built into a workload
model, e.g., specify for each task
– maximum job execution time, Ci
– minimum inter-arrival time, Ti
– shortest relative deadline, Di
• Otherwise, it may be imposed by the
scheduling algorithm.
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
56
Sustainable scheduling algorithm
• If all job sets satisfying a model are
schedulable, then sets of jobs that falls short
of the model’s assumptions are also
schedulable, e.g.,
– shorter execution times
– longer periods
– less release-time jitter
– later deadlines
7/3/2009
ECRTS 2009 (Dublin) - Ted Baker
57
Download