An Efficient Non-Preemptive Real

advertisement
Welcome!
PhD Dissertation Defense
PhD Candidate: Wenming Li
Advisor: Dr. Krishna M. Kavi
Committee:
Dr. Krishna M. Kavi
Dr. Robert Akl
Dr. Phil Sweany
Group-EDF
- A New Approach And An
Efficient Non-Preemptive
Algorithm for Soft Real-Time
Systems
Contributions
 A new
approach for soft real-time
systems.
 A new scheduling algorithm for soft
real-time systems and soft RealTime Operating System (RTOS).
Contributions (Cont’d)

Our research work is a new approach
for soft real-time systems.
- First proposed the strategy of the dynamic
grouping of tasks with deadlines.
- First proposed a two-level scheduling
scenario for real-time tasks.
Contributions (Cont’d)
 Group-EDF
is a new scheduling
algorithm for soft RTOS and realtime systems.
- First proposed to use Earliest Deadline First
(EDF) for dynamic groups and Shortest Job
First (SJF) within a group.
Focus
Soft real-time systems and soft RTOS.
 Non-preemptive scheduling.
 Real-time periodic, aperiodic, or
sporadic tasks.

The Taxonomy of Real-time
Scheduling
Our EDF/gEDF algorithm is applicable to the shaded region
Terminology of the Real-Time
Model
Hard Real-Time Systems
Every resource management system
must work in the correct order to meet
time constraints. No deadline miss is
allowed.
 Disadvantage

- Low utilization
Soft Real-Time Systems
It is similar to hard real-time systems.
But it is not necessary that every time
constraint be met. Some deadline miss
is tolerated.
 Advantage

- High utilization
Non-Preemptive Scheduling

Why non-preemptive?
- non-preemptive scheduling is more efficient
than preemptive scheduling since preemption
incurs context switching overhead which can
be significant in fine-grained multithreading
systems.
Basic Real-Time Scheduling
First Come First Served (FCFS)
 Round Robin (RR)
 Shortest Job First (SJF)

First Come First Served
(FCFS)
Simple “first in first out” queue
 Long average waiting time
 Negative for I/O bound processes
 Nonpreemptive

Round Robin (RR)
FCFS + preemption with time quantum
 Performance (average waiting time) is
proportional to the size of the time
quantum.

Shortest Job First (SJF)
Optimal with respect to average waiting
time.
 Requires profiling of the execution times
of tasks.

Static Priority Scheduling –
Rate-Monotonic (RM)
The shorter the period of a task, the
higher is its priority (relative deadline =
period).
 A set of n independent, periodic jobs
can be scheduled by the rate monotonic
policy if

e1/P1 + e2/P2 + … + en/Pn  n (21/n - 1)
- The upper bound on utilization is ln2 = 0.69
as n approaches infinity.
Static Priority Scheduling –
Deadline-Monotonic (DM)
The shorter the relative deadline of a
task, the higher is its priority.
 Suitable when relative deadline  period
 For arbitrary relative deadlines, DM
outperforms RM in terms of utilization.

Dynamic Priority Scheduling –
Earliest Deadline First (EDF)
The first and the most effectively widely
used dynamic priority-driven scheduling
algorithm.
 Effective for both preemptive and nonpreemptive scheduling periodic,
aperiodic, and sporadic tasks.

Preemptive EDF

For a set of preemptive periodic,
aperiodic, and sporadic tasks, EDF is
optimal in the sense that EDF will find a
schedule if a schedule is possible for
other algorithms.
- Approach 100% utilization for periodic tasks
Non-Preemptive EDF
Optimal for sporadic non-preemptive
tasks.
 Scheduling periodic and aperiodic nonpreemptive tasks is NP-hard.

- Approach near optimal for non-preemptive
scheduling on a uniprocessor system.
Theory of EDF





Minimize maximum lateness Lmax = max {Li | i
= 1, …, n} = max {Ci - di | i = 1, …, n}
The problem: 1 | nonpmtn | Lmax
Any sequence of jobs in nondecreasing order
of due dates di, results in an optimal schedule.
The scheduling problem {1 | nonpmtn, ri | Lmax}
is NP-hard.
Let Lmax = max {Ci - di | i = 1, …, n} = 0, that is,
all deadlines of tasks must be met.
POSIX 1003.1b

Portable Operating System Interface
(POSIX) 1003.1b, the IEEE Computer
Society’s Portable Application
Standards Committee (PASC)
- SCHED FIFO
- SCHED RR
- SCHED OTHER
Related Work

Domino Effect of EDF
- Overload

Overload Detection And Control
- Best-effort by value-density V/C
- Admission control
- Disadvantage:
Needing accurate utilization computing
Switching between two scheduling schemes
Using Worst Case Execution Time (WCET)
Related Work
 SCAN-EDF
for disk scheduling
- Use SJF to break deadline ties

Quantized deadlines (from CMU)
- Static deadline windows
Our Real-time Model

A task (job) in a real-time system or a
thread in multithreading processing i is
defined as:
i = (ri, ei, Di, Pi)
Overview of gEDF
Divide real-time jobs into groups by their
deadlines, dynamically.
 Groups are based on EDF but tasks
within a group may be scheduled based
on a different scheme - SJF, Value,
Priority, etc.
 gEDF is used both in underload and
overload.

Overview of gEDF (Cont’d)
We use SJF to enhance EDF, but it is
extensible to other scheduling schemes.
 gEDF is suitable for non-preemptive
soft-real-time systems.
 The criteria of selecting suitable
grouping policy is flexible

Static deadline windows
 Dynamic windows as jobs arrive

Overview of gEDF (Cont’d)
A group in the gEDF algorithm depends
on a group range parameter Gr.
 A job j belongs to the same group as
job i if di  dj  (di + Gr*(di – t)), where t
is the current time, 1  i, j  N. We
group jobs with deadlines that are very
close to each other.

- The jobs with very close deadlines are in a
group (but not necessary if at the boundary of
groups)
The gEDF Algorithm

We assume a uniprocessor system.
QgEDF is a queue for gEDF scheduling.
The current time is represented by t.
|QgEDF| represents the length of the
queue QgEDF.  = (r, e, D, P) is the job at
the head of the queue.
- gEDF Group = {k | k  QgEDF, dk – d1  D1 *
Gr, 1  k  m, where m  |QgEDF|}, and D1 is
the deadline of the first job in a group
The gEDF Algorithm (Cont’d)

Function Enqueue (QgEDF, )
if ( ’s deadline d > t ) then
insert job  into QgEDF by Earliest
Deadline First, i.e. di  di+1  di+2,
where i, i+1, i+2  QgEDF, 1  i  |QgEDF| - 2;
end
- Enqueue is invoked on job arrivals.
The gEDF Algorithm (Cont’d)

Function Dequeue (QgEDF)
if QgEDF   then
find a job min with
emin = min {ek | k  QgEDF,
dk – d1  Gr*D1, 1  k  m, where m  |QgEDF|};
run it and delete min from QgEDF;
end
- Dequeue is called when the processor
becomes idle.
The Experiment

Used MATLAB provided tools to
generate tasks.
- In each experiment generated N tasks.
- The jobs are scheduling using EDF & gEDF.
- The experiment is truncated at a
predetermined time T.
Success rate is computed based on m out of N
jobs completed.
The Experiment (Cont’d)

Varied
- Load (or utilization)
- Execution time
- Deadline (tight deadlines & loose deadlines)
- Group range
- Deadline tolerance (hard vs. soft real-time)
The Experiment (Cont’d)

For each set of parameters, the
experiment is repeated 100 times and
the results shown are the averages from
the 100 experiments.
Success Ratio: gEDF vs. EDF
Deadline Tolerance Tr = 0.2
0.95
EDF
0.90
gEDF
0.85
0.80
0.75
0.70
0.65
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
1.00
Utilization
Success Ratio: gEDF vs. EDF
Deadline Tolerance Tr = 0.5
EDF
0.90
gEDF
0.80
0.70
0.60
0.50
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
1.00
Utilization
Success Ratio: gEDF vs. EDF
Deadline Tolerance Tr = 1.0
EDF
0.90
gEDF
0.80
0.70
0.60
0.50
0.40
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
1.00
Utilization
Success Ratio: gEDF vs. EDF
180%
170%
160%
150%
140%
130%
120%
110%
100%
90%
Tr=0.2
Tr=0.5
Tr=1.0
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success-ratio Performance
Factor
Summary of the three previous figures
Utilization
Success Ratio: gEDF vs. EDF
Summary of the three previous figures
The gEDF algorithm obtains higher
success ratio under higher system
loads.
 Suitable for soft real-time systems.

Success Ratio: gEDF vs.
EDF/Best-Effort/Guarantee
Summary when Tr = 0.5
Effect of Deadline Laxity on
Success Ratio
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
EDF: Tr=0
gEDF: Tr=0
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Tight Deadline D = 1 (Deadline = Execution Time)
and hard real-time
Utilization
Effect of Deadline Laxity on
Success Ratio
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
EDF: Tr=1.0
gEDF: Tr=1.0
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Tight Deadline D = 1 (Deadline = Execution Time)
and softer real-time
Utilization
Effect of Deadline Laxity on
Success Ratio
1.00
0.95
0.90
0.85
0.80
0.75
0.70
0.65
0.60
EDF: Tr=0
gEDF: Tr=0
EDF: Tr=0.2
gEDF: Tr=0.2
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Loose Deadline D = 5 (Deadline = 5*Execution Time)
Utilization
Effect of Deadline Laxity on
Success Ratio
Loose Deadline D = 5 (Deadline = 5*Execution Time)
0.9
0.8
0.7
0.6
0.5
EDF: Tr=0.5
gEDF: Tr=0.5
EDF: Tr=1.0
gEDF: Tr=1.0
0.4
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
1.0
Utilization
Effect of Deadline on
Success Ratio
1.00
0.90
0.80
0.70
0.60
0.50
0.40
0.30
0.20
D=1
D=2
D=5
D=10
D=15
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Success Ratio of EDF when D = 1, 2, 5, 10, and 15
(i.e. Deadline = D*Execution Time)
Utilization
Effect of Deadline on
Success Ratio
1.00
0.90
0.80
0.70
0.60
0.50
0.40
0.30
0.20
D=1
D=2
D=5
D=10
D=15
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Success Ratio of gEDF when D = 1, 2, 5, 10, and 15
(i.e. Deadline = D*Execution Time)
Utilization
Effect of Deadline on
Success Ratio

The gEDF algorithm has higher
performance (i.e. success ratio) than
EDF with greater deadline laxity and
greater deadline tolerances.
Effect of Group Range (Gr)
1.00
0.95
0.90
0.85
0.80
0.75
0.70
0.65
Gr:0.1
Gr:0.2
Gr:0.5
Gr:1.0
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
Gr = 0.1, 0.2, 0.5, 1.0, Tr = 0.1
Utilization
Effect of Group Range (Gr)
Gr = 0.1, 0.2, 0.5, 1.0, Tr = 0.5
1.00
0.90
0.85
0.80
0.75
0.70
Gr:0.1
Gr:0.2
Gr:0.5
Gr:1.0
0.65
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Success Ratio
0.95
Utilization
Effect of Group Range (Gr)
Within our experimental range, the size
of the group does not seem to show a
great variance.
 Intuitively

- very large range means gEDF = SJF
- Very short range means gEDF = EDF

Optimal window depends on execution
times of jobs, deadline tightness,
deadline tolerance.
Response Time: gEDF vs. EDF
400
350
300
250
200
150
100
50
0
EDF
gEDF
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Response Time
Deadline Tolerance Tr = 0
Utilization
Response Time: gEDF vs. EDF
400
350
300
250
200
150
100
50
0
EDF
gEDF
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Response Time
Deadline Tolerance Tr = 0.5
Utilization
Response Time: gEDF vs. EDF
400
350
300
250
200
150
100
50
0
EDF
gEDF
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Response Time
Deadline Tolerance Tr = 1.0
Utilization
Response Time: gEDF vs. EDF
The gEDF algorithm can yield better
(=faster) response times than EDF.
 Both in underloaded and overloaded
situations.
 Deadline tolerance Tr has greater
impact on gEDF than on EDF.

Response Time: gEDF vs.
EDF/Best-Effort/Guarantee
Summery Tr = 0.2
The Effect of Deadline on
Response Time
400
350
300
250
200
150
100
50
0
D=1
D=2
D=5
D=10
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Response Time
Response time of EDF when D = 1, 2, 5, and 10
Utilization
The Effect of Deadline on
Response Time
400
350
300
250
200
150
100
50
0
D=1
D=2
D=5
D=10
0.1
0.3
0.5
0.7
0.9
1.1
1.3
1.5
1.7
1.9
2.1
2.3
2.5
2.7
2.9
Response Time
Response time of gEDF when D = 1, 2, 5, and 10
Utilization
The Effect of Deadline on
Response Time

When expected value of deadlines D is
sufficiently large (>2), gEDF results in
faster response times than EDF does.
The gEDF Implementation
in the Linux Kernel
Keep the original functions for non-realtime applications.
 Modify structure task_struct and add a
new specific runqueue for EDF/gEDF.
 Add the system call (extension to
POSIX)
sys_sched_setscheduler_plus

The gEDF Implementation
in the Linux Kernel (Cont’d)

Add a new structure
struct edf_param {
unsigned long policy;
unsigned long period;
unsigned long length;
}
The gEDF Implementation
in the Linux Kernel (Cont’d)
Dequeue_edf_task()
 Enqueue_edf_task() (for EDF & gEDF)
 Schedule() (include the gEDF algorithm)

- Every one jiffy (1ms), entering the kernel to
run schedule function (user process can also
yield to other process)
- Complexity O(n) (If using heap, O(log(n)).
ref. Ingo Molnar O(1))
Benchmark Testing
Test Suites
Benchmark Testing (Cont’d)
Another Test Suite
Testing Results
Testing Results (Cont’d)
gEDF’s Success Ratio/EDF’s Success Ratio
114
1.63
117
1.43
107
1.31
101
1.13
100
1
90
95
100
105
1
1.13
1.31
110
1.43
115
120
1.63
Y - axis: Load
X - axis: gEDF’s Success Ratio / EDF’s Success Ratio
Conclusions

gEDF performs as well as or better than
EDF and adaptive algorithms such as
Best-Effort and Guarantee schemes.
 In underloaded, gEDF performs as well as
EDF in terms of success ratio; gEDF
shows higher success rates than EDF
when dealing with soft real-time tasks.
 In underloaded, gEDF performs much
better than EDF in terms of response time.
Conclusions (Cont’d)
 In underloaded, gEDF obtains overall
better performance than adaptive
algorithms in terms of success ratio and
response time.
 In overloaded, gEDF consistently
outperforms EDF both in success ratio and
response time.
 In overloaded, gEDF obtains overall better
performance than adaptive algorithms in
terms of success ratio and response time.
Conclusions (Cont’d)
Summary
Success Ratio
Response Time
Underload
Overload
Underload
Overload
Group-EDF vs. EDF
=
Group –
EDF vs.
Adaptive
Algorithm
Best-Effort
=
>
>
>=
>=
>>
>
Guarantee
Scheme
=
>>
>=
>>
Algorithm
=: at least as good as
>: better
>=: better or as good as
>>: much better
Future Work
Explore the applicability of gEDF
algorithm for Scheduled Dataflow (SDF)
Architecture.
 Explore if gEDF can be used to obtain
acceptable (and near optimal) results
for multiprocessor systems with soft
real-time tasks.
 Exploring different scheduling scheme
applied within each gEDF.

gEDF for SDF
SU: Scheduling Unit
EP: Execution Processor
SP: Synchronization Processor
PLC: Preload
PSC: Poststore EXC: Execution
gEDF for Multiprocessor
EDF is not optimal for multiprocessor
real-time systems.
 The EDF scheme can be used to
schedule dynamic groups on
multiprocessors.
 An optimal or near optimal algorithm
may be adopted to schedule jobs
distributed on different processors
within each dynamic group.

gEDF for Multiprocessor
(Cont’d)

Advantage for using gEDF
- Not limited to SJF
- Possible higher success ratios in
underloaded and overloaded situations
Scheduling within A Group

Exploring different scheduling scheme
applied within each gEDF.
- A promising research of applying the gEDF
scenario.

Reduce overall power consumption.
- Explore a scheduling scheme that
minimizes the power consumed by tasks in a
group.
Thank You !
Download