Composability and
Schedulability of Real-Time
Applications in Open
Environments
Nathan Fisher
Department of Computer Science
Wayne State University
Outline
Background:
• Real-Time Systems.
• Scheduling Algorithms.
• Open Environments.
Prior Work.
Our Results:
• Framework for real-time applications in an open
environments.
• Validation Tests: Composability & Schedulability
Open Questions & Summary.
“Shameless” Plugs.
What is a Real-Time System?
System Correctness:
• Logical.
• Temporal.
Do all system computations satisfy
associated temporal constraints?
Predictability is more important than
performance.
Background – Prior Work– Our Results– Open Questions
Examples of Real-Time Systems
Real-Time System Examples:
• Safety Critical:
•
Avionic control, power plants, automotive, medical devices,
robotics …
• Consumer Electronics:
•
Cellular phones, MP3 players, digital video devices,…
• Networking:
•
Multimedia streams, QoS constraints, network processing,…
• …
Background – Prior Work– Our Results– Open Questions
Example: Air Traffic-Flight Control
commands sampling
operator-system
rates may
interface
be minutes
or even
state
air traffic
hours
estimator
control
responses
from sensors
Control Subsystem/Application:virtual plant
navigation
set timer to interrupt periodically with period T;
at each timer interrupt do
1. do analog-to-digital
sample y;
stateconversion to get inputflight
2. compute control
output u;
management
estimator
3. output u and do digital-to-analog conversion;
virtual plant
od
state
estimator
air data
flight
control
physical plant
sampling
rates may
be secs.
or msecs.
Background – Prior Work– Our Results– Open Questions
Modeling a Real-Time System
Processing platform.
• Uniprocessor.
• Unit speed:
• (one unit of execution) per (one unit of time).
Background – Prior Work– Our Results– Open Questions
Modeling a Real-Time System
Processing platform.
Real-Time workload:
• Job: basic unit of work.
• Characterized by:
time
• Arrival-time.
• Deadline.
• Worst-case execution time.
• Preemptable.
Background – Prior Work– Our Results– Open Questions
Modeling a Real-Time System
Processing platform.
Real-Time workload:
• Job: basic unit of work.
• Characterized by:
time
• Arrival-time.
• Deadline.
• Worst-case execution time.
• Preemptable.
• Tasks: Recurrent set of jobs.
Background – Prior Work– Our Results– Open Questions
Tasks: Recurrent Jobs
Task A
Control-Subsystem Process A:
set timer to interrupt periodically with period pA;
at each timer interrupt do
1. do analog-to-digital conversion to get
input sample y;
2. compute control output u;
3. output u and do digital-to-analog
conversion;
od
Period = 15
Period: invocation
interval.
Job: control
invocation.
time
Task A
0
10
20
30
40
Background – Prior Work– Our Results– Open Questions
Tasks: Recurrent Jobs
Task A
Task B
Control-Subsystem Process A:
set timer to interrupt periodically with period pA;
at each timer interrupt do
1. do analog-to-digital conversion to get
input sample y;
2. compute control output u;
3. output u and do digital-to-analog
conversion;
od
Period = 15
Control-Subsystem Process
B:
set timer ….period pb
at each timer interrupt do
…..
od
Period = 30
time
Task A
0
10
20
30
40
time
Task B
0
10
20
30
40
Background – Prior Work– Our Results– Open Questions
A Formal Model: Sporadic Task Model
Worst case
Execution
Period
Relative Deadline
Requirement
i = (ei,di,pi)
(ei)
(ei)
(ei)
(ei)
(ei)
time
0
pi
2pi
3pi
4pi
Task Systems of n tasks:
= {1,…, n}
Background – Prior Work– Our Results– Open Questions
Modeling a Real-Time System
Processing platform.
Real-time workload.
Scheduling algorithm:
• Earliest-Deadline-First (EDF): schedule the job with the
nearest absolute deadline.
• Rate-Monotonic (RM): assign each task i priority equal
to 1/pi (greater number greater priority); schedule the job
with greatest priority.
Background – Prior Work– Our Results– Open Questions
Scheduling Algorithms
i = (ei,di,pi)
1= (2, 4, 4) =
= (3, 7, 7) =
2
EDF
1
2
0
1
2
3
4
5
6
7
0
1
2
3
4
5
6
7
8
time
1
RM
2
8
time
Background – Prior Work– Our Results– Open Questions
Verification of a Real-Time System
Given a real-time system specified by:
• Processing platform: P.
• Real-time workload: .
• Scheduling Algorithm: A.
Schedulability Analysis: determine whether all
jobs generated by task system meet all
deadlines on P when scheduled according to A.
<P,,A>
Y, is schedulable by
Schedulability Test
A on P.
N, is not schedulable
by A on P.
Background – Prior Work– Our Results– Open Questions
Known Verification Techniques
For EDF-scheduled systems:
i = (ei,di,pi)
Theorem: Task system will always meet all
deadlines on a uniprocessor platform when
scheduled by EDF, if and only if for all t > 0,
t di
max 0,
ei t
1
i
pi
For RM-scheduled systems:
Theorem: Task system will always meet all deadlines
on a uniprocessor platform when scheduled by RM, if
and only if for all i and integers k>0,
t
t k 1 pi , k 1 pi d i :: kei
j 1 p j
i 1
ej t
Background – Prior Work– Our Results– Open Questions
Traditional Real-Time System Design
Approach:
1. Determine, for every process of every system
application, temporal requirements (i.e., period,
execution time, etc.).
2. Specify each process in a task model (e.g., sporadic
task model).
3. Verify temporal correctness of all tasks using
schedulability analysis techniques.
Assumption: All processes of all real-time applications
have been developed together and are known by the
system designer.
Background – Prior Work– Our Results– Open Questions
Traditional Real-Time System Design
Consider our air-traffic control example…
All subsystems
validated together
from sensors
2
commands
operator-system
interface
state
estimator
air traffic
control
virtual plant
navigation
Common
Platform
1
responses
flight
management
state
estimator
3
virtual plant
4
5
state
estimator
air data
flight
control
physical plant
Background – Prior Work– Our Results– Open Questions
Traditional Real-Time System Design
Drawbacks:
1. All tasks in the system need to be
validated together and known to
system designer, a priori.
•
Monolithic system design.
2. Each application on shared
platform must use same
scheduling algorithm.
3. Temporally-bad behavior of one
task may affect other tasks.
Violation of System
Design Principles:
• Encapsulation,
Abstraction, &
Dynamic
Extensibility.
• Modularity &
Hierarchical Design.
• Fault-containment.
Solution?
Background – Prior Work– Our Results– Open Questions
Real-Time Open Environments
Framework for composing real-time applications:
• Each application may be independently developed and
verified.
• Each application runs inside a server which has local
scheduler.
• Single interface expresses temporal requirements of
application’s server which is scheduled by global
scheduler.
• System uses composability test to determine whether
applications can be co-executed on same platform.
Background – Prior Work– Our Results– Open Questions
Real-Time Open Environments
A1’s server
Multiple independently-developed, real-
1
A 1: 2
Local
Scheduler
time applications co-execute upon
I1 shared platform:
3
1
A 2:
2
Local
Scheduler
…
1
A q:
2
Local
Scheduler
I2
global
scheduler
CPU
Iq
Roughly speaking, A1, A2, …, Aq are composable if
I1 I 2 I q ProcessorCapacity 1
Background – Prior Work– Our Results– Open Questions
Traditional Real-Time System Design
responses
from sensors
A1 1
state
estimator
2
air traffic
control
virtual plant
navigation
Common
Platform
commands
operator-system
interface
flight
management
state
estimator
3
virtual plant
A2
4
5
state
estimator
air data
flight
control
physical plant
Background – Prior Work– Our Results– Open Questions
Real-Time Open Environment Design
Approach (for an application):
1. Determine, for every process of application,
temporal requirements.
2. Specify each process in a task model (e.g., sporadic
task model).
3. Define server interface for application.
4. Verify temporal correctness of all tasks in application
server using schedulability analysis techniques.
Approach (system-wide):
1. Verify temporal correctness of all applications via
composability test.
Background – Prior Work– Our Results– Open Questions
Traditional Real-Time System Design
Advantages:
1. Application’s temporal constraints
may be validated independently
and need not be known a priori.
•
•
Component-based design.
Service-oriented design.
2. Each application on shared
platform may use different
scheduling algorithm.
3. Application servers isolate
temporally-bad behavior of an
application.
Adherence to System
Design Principles:
• Encapsulation,
Abstraction, &
Dynamic
Extensibility.
• Modularity &
Hierarchical Design.
• Fault-containment.
Background – Prior Work– Our Results– Open Questions
Real-Time Open Environment Design
Approach (for an application):
Focus of
Remainder of talk
1. Determine, for every process of application,
temporal requirements.
2. Specify each process in a task model (e.g., sporadic
task model).
3. Define server interface for application.
4. Verify temporal correctness of all tasks in application
server using schedulability analysis techniques.
Approach (system-wide):
1. Verify temporal correctness of all applications via
composability test.
Background – Prior Work– Our Results– Open Questions
Prior Work
1 R1
A1: 2 R1
Local
Scheduler
RM
[Deng & Liu, 1997] introduced
real-time open environments.
• Two-level hierarchy.
• EDF Global Scheduler.
nonI1 • Global resources. Executed
preemptively
3 R2
1R1
A 2:
2
Local
Scheduler
EDF
…
1 R2
A q:
2
I2
global
scheduler
R1 R2 … Rm
CPU
EDF
Iq
Local
Scheduler
Each resource could be
device or global data
structure.
Static
Background – Prior Work– Our Results– Open Questions
Prior Work
1 R1
A1: 2 R1
Local
Scheduler
RM
[Deng & Liu, 1997] introduced
real-time open environments.
• Two-level hierarchy.
• EDF Global Scheduler.
I1 • Global resources.
Interface Ii for each
Application Server Ai:
3 R2
1R1
A 2:
2
Local
Scheduler
EDF
…
1 R2
A q:
2
I2
•
•
•
Iq
Local
Scheduler
Static
•
i: “speed” of server.
i: maximum delay
tolerable.
i: maximum nonpreemptive resource lock.
i: length of shortest relative
deadline in Ai.
Ii < i, i, i, i>
Background – Prior Work– Our Results– Open Questions
Prior Work
Ii < i, i, i, i>
[Deng & Liu, 1997] introduced
real-time open environments.
• Two-level hierarchy.
• EDF Global Scheduler.
• Global resources.
Theorem: Applications A1, A2, …, Aq are
composable if,
max
k k max
1 j q
k 1
q
i j
j
i
1
Drawbacks:
1. Only two levels possible.
2. Composability test provably non-optimal in the
presence of global resources.
Background – Prior Work– Our Results– Open Questions
Prior Work
1 R1
A1: 2 R1
Local
Scheduler
[Feng & Mok, 2002] BoundedDelay Resource Partition.
• Unlimited hierarchal levels.
• EDF or RM Global Scheduler.
nonI1 • Global resources. Executed
preemptively
3 R2
1R1
A 2:
2
Local
Scheduler
…
1 R2
A q:
2
I2
global
scheduler
R1 R2 … Rm
CPU
Iq
Local
Scheduler
Background – Prior Work– Our Results– Open Questions
Prior Work
A1’R
EDF 1
A1: 2 R1
Local
Scheduler
RM
[Feng & Mok, 2002] BoundedDelay Resource Partition.
• Unlimited hierarchal levels.
• EDF or RM Global Scheduler.
I1 • Global resources.
3 R2
1R1
A 2:
2
Local
Scheduler
EDF
…
1 R2
A q:
Aq’
RM
I2
Iq
global
scheduler
R1 R2 … Rm
CPU
EDF or
RM
Local
Scheduler
Static
Background – Prior Work– Our Results– Open Questions
Prior Work
A1’R
EDF 1
A1: 2 R1
Local
Scheduler
RM
[Feng & Mok, 2002] BoundedDelay Resource Partition.
• Unlimited hierarchal levels.
• EDF or RM Global Scheduler.
I1 • Global resources.
Interface Ii for each
Application Server Ai:
3 R2
1R1
A 2:
2
Local
Scheduler
EDF
…
1 R2
A q:
Aq’
RM
I2
•
•
•
Iq
Local
Scheduler
Static
•
i: “speed” of server.
i: maximum delay
tolerable.
i: maximum nonpreemptive resource lock.
i: length of shortest relative
deadline in Ai.
Ii < i, i, i >
Background – Prior Work– Our Results– Open Questions
Prior Work
Ii < i, i, i >
[Feng & Mok, 2002] BoundedDelay Resource Partition.
• Unlimited hierarchal levels.
• EDF or RM Global Scheduler.
• Global resources.
Theorem: Applications A1, A2, …, Aq are
composable (without resources) if,
q
k 1
k
1
Drawbacks:
1. Composability test provably non-optimal in the
presence of global resources.
Background – Prior Work– Our Results– Open Questions
Prior Work Drawback: Resource-Sharing
Composability test provably nonoptimal in the presence of global
resources.
Resource unlocked.
Deadline miss!
Resource locked.
Non-optimality at application level.
Ai
EDF
1
2
0
1
2
3
1= (2, 3, 3) =
= (3, 9, 9) =
2
4
6
5
R1
7
8
time
9
i = (ei,di,pi)
Background – Prior Work– Our Results– Open Questions
Prior Work Drawback: Resource-Sharing
Composability test provably nonoptimal in the presence of global
resources.
Also, on the system-wide level, an application
can unnecessarily block another application.
Background – Prior Work– Our Results– Open Questions
Our results: Goals
Design an open environment server framework to:
1.
2.
3.
Obtain optimal behavior in the presence of
global resources.
Derive effective composability test.
Derive effective schedulability test for
applications.
Background – Prior Work– Our Results– Open Questions
Our Results: Bounded-Delay Resource
Open Environment (BROE) Server
A1’R
EDF 1
A1: 2 R1
3
A 2:
2
A q:
Aq’
RM
execution, if needed.
I1
Local
Scheduler
EDF
…
1 R2
• Unlimited hierarchal levels.
• EDF Global Scheduler.
• Global resources. Allow for preemptive
Local
Scheduler
RM
R2
1R1
[Fisher, Bertogna, & Baruah, 2007]
I2
global
scheduler
R1 R2 … Rm
CPU
EDF
Local
Scheduler
Iq
Static
Background – Prior Work– Our Results– Open Questions
Our Results: Bounded-Delay Resource
Open Environment (BROE) Server
A1’R
EDF 1
A1: 2 R1
A 2:
2
I1
Local
Scheduler
EDF
…
1 R2
A q:
Aq’
RM
• Unlimited hierarchal levels.
• EDF Global Scheduler.
• Global resources.
Local
Scheduler
RM
3 R2
1R1
[Fisher, Bertogna, & Baruah, 2007]
I2
Interface Ii for each
Application Server Ai:
•
•
•
Local
Scheduler
Static
Iq
i: “speed” of server.
i: maximum delay
tolerable.
Hi: maximum preemptive
resource-holding time.
Ii < i, i, Hi >
Background – Prior Work– Our Results– Open Questions
Our Results: Bounded-Delay Resource
Open Environment (BROE) Server
Server Rules:
Ii < i, i, Hi >
Each server maintains budget, replenishment
period, and current deadline.
1.
•
•
•
Similar to sporadic task.
i
P
“Normal” replenishment period: i
2(1 i )
i i
Maximum Budget: Ei
2(1 i )
For all intervals of size
t >i i, execution over interval
should be at least (t- i ) i
Background – Prior Work– Our Results– Open Questions
Our Results: Bounded-Delay Resource
Open Environment (BROE) Server
Ii < i, i, Hi >
Server Rules:
1.
2.
Each server maintains budget, replenishment
period, and current deadline.
If server is executing budget is decremented at
1 / i , while Ai is executing.
rate 1/i. d
Ei
dt
0,
rest of time.
i
2(1 i )
Budget
0
Background – Prior Work– Ourtime
Results– Open Questions
Our Results: Bounded-Delay Resource
Open Environment (BROE) Server
Server Rules:
1.
2.
3.
Ii < i, i, Hi >
Each server maintains budget, replenishment
period, and current deadline.
If server is executing budget is decremented at
rate 1/i.
If task of Ai requests resource when Ei < Hi,
then defer execution and update
replenishment time & next deadline:
Task requests Rj, but
Access to Rj is
Execution
over interval
> (t-here
i ) i
Ei < Hi
granted
i
Background – Prior Work– Our Results– Open Questions
Our results: Goals
Design an open environment server framework to:
1.
2.
3.
Obtain optimal behavior in the presence of
global resources.
Derive effective composability test.
Derive effective schedulability test for
applications.
Background – Prior Work– Our Results– Open Questions
Our results: Goals
Design an open environment server framework to:
Obtain optimal behavior in the presence of
global resources.
1.
BROE-Server Properties:
•
•
Executing resources preemptively reduces deadline misses
within an application.
Deferring an application’s execution of resources prevents
blocking between applications.
Theorem: If application Ai has been validated
independently on processor of speed i and each job
completes i prior to its deadline, then it will meet all
deadlines on BROE server with interface Ii < i, i, Hi >
executing on a unit-speed processor.
Background – Prior Work– Our Results– Open Questions
Our results: Goals
Design an open environment server framework to:
1.
2.
Obtain optimal behavior in the presence of
global resources.
Derive effective composability test.
Theorem: Applications A1, A2, …, Aq under BROE
servers are composable on a unit-speed processor
q
if,
max( H j ) k 1
1 j q
k 1
Background – Prior Work– Our Results– Open Questions
Our results: Goals
Design an open environment server framework to:
1.
2.
3.
Obtain optimal behavior in the presence of
global resources.
Derive effective composability test.
Derive effective schedulability test for
applications.
Theorem: An application Ai comprised of sporadic tasks
will always meet all deadlines when scheduled by EDF
on a BROE Server with interface Ii < i, i, Hi > , if
and only if for all t > 0,
t dk
ek i (t i )
max
0
,
1
p
k Ai
k
Background – Prior Work– Our Results– Open Questions
Interesting Open Questionss
Interface Selection:
• What is optimal selection of interface for an Optimization
Theory
application?
• What if system designer can lie about interfaces?
Can we design mechanisms to induce truthful
Game Theory
interfaces?
Multiprocessor/Multicore Open Evironments?
Parallel &
Implementation:
Distributed
Systems
• Operating system integration.
• AUTOSAR: Automotive Open System Architecture.
Background – Prior Work– Our Results– Open Questions
Summary
Traditional real-time analysis violates many
software engineering principles.
Real-time Open Environments:
• Composability of real-time applications.
• Encapsulation, modularity, & fault containment.
Our contribution:
• BROE Server.
• Optimal under shared resources.
• Effective composability & schedulability tests.
PhD thesis topics abound!
“Shameless” Plugs
Winter 2008: Real-Time Systems (CSC 7991)
• Topics:
•
•
•
•
Schedulability analysis,
Resource-sharing,
OS issues,
and much more!
• Workload:
•
•
4 Assignments.
Semester-long Project.
“Shameless” Plugs
Open GRA positions for Ph.D. Students:
• Theoretical & Implementation problems.
• Lots of interesting/relevant open problems.
• Travel the world:
•
Upcoming Real-Time & Distributed Systems Conferences:
•
•
•
•
•
Guadeloupe, French West Indies.
Kolkata, India.
Prague, Czech Republic.
Dublin, Ireland.
…
Thank You!
Questions?
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )