Upload
dominick-wiggins
View
222
Download
0
Tags:
Embed Size (px)
Citation preview
On the Joint Utility Accrual Model
‡The MITRE Corporation
Bedford, MA 01730, USA
E-mail: [email protected]
Haisang Wu†, Binoy Ravindran†, and E. Douglas Jensen‡
†Real-Time Systems Laboratory
ECE Dept., Virginia Tech
Blacksburg, VA, USA
E-mail: {hswu02, binoy}@vt.edu
April 26, 2004, Santa Fe, NM
11/04/2001 2
Research Objective: extend TUFs with JUFs, and maximize system utilities
Multi-dimensional QoS
The Joint Utility Functions Other timing constraints and
optimality
The CUA algorithm Experimental results
Conclusions, future work
Background andIntroduction
Motivations and Models
The Algorithm andEvaluation
11/04/2001 3
QoS of next-generation dynamic RT systems is often multi-dimensional
QoS often depends on When the service is performed The accuracy of the computational results When other services are completed and the accuracy
of the services’ computational results Service requests often cause resource
contentions Mission-oriented, and dynamic and adaptive resolution polices
11/04/2001 4
Jensen’s time/utility functions specify soft time constraints
A TUF specifies the utility resulting from the completion of an activity as a function of its completion time, i.e., Uc
Examples AWACS Tracker Coastal Air Defense
Utility Accrual (UA) scheduling typically seeks to schedule activities according to optimality criteria based on accruing utility
action completion time
(MITRE/TOG AWACS Tracker)
U1
U2
U3
Utility
tc
action completion time
Utility
MaintainLaunch
Mid-course InterceptCorrelate
TUFs of GD/CMU Coastal Air
Defense
11/04/2001 5
Joint utility describes utility depending
on Uc and progress of other activities
The sensor platform of an air target engagement system
Tracker activities: track hostile targets and launched interceptors
Guidance activity: monitors interceptors and provide course updates to it
Source: DARPA
11/04/2001 6
Joint utility describes utility depending
on Uc and progress of other activities
Tracker activities Produce location estimates used by
guidance for course update The accuracy of location estimates
is a function of their execution times
Guidance activity Utility is a function of when course
updates are provided Low utility from tracker activities’
Highly accurate, but late location estimates Low accuracy, but early location estimates
11/04/2001 7
Definition of PUFs and JUFs
Progressive utility functions (or PUFs)
x-axis: the thread's cumulative execution time,
y-axis: progressive utility ej: changing points
Joint utility of an activity A function (JUF) of the Uc and
Up of a set of activities, excluding those of itself
Example shows guidance G’s joint utility w.r.t. two tracker activities T1 and T2
( )pjU e
thread execution timee1e0 em-1 em
u1
-ve
u2 u3
jGU
2
1
T c pc i p ii TU U
11/04/2001 8
Two methods describe precedence dependency between T1/T2 and G
A TUFs-Only Scale up G’s TUF if T1 and/or T2 execute too late The scheduler may spend more cycles on G to compensate TUF of G not available to the scheduler until T1 and T2 complete
their preceding repetitions
B TUFs with JUFs Joint dependency characterized using JUF JUF embodies time dimension---when to start producer TUF/JUF of G available before T complete each repetition
Will B increase the likelihood for G to complete at acceptable times, increasing the chances for successful interception?
11/04/2001 9
Task Model and Time Constraints Model
R1Schedulingsegment 1
Schedulingsegment 2
R2
R5R3
Time constraints of a thread TUF (arbitrary shape) PUF (non-deceasing) JUF (non-deceasing, if possible)
Associated with scopes, called “scheduling segments”
Scheduling segments can be disjoined or nested
Ii Xi
ciU
11/04/2001 10
Resource Model and Optimization Criterion
A thread can request access to shared resources
Single-unit resource model
Resources can be shared and can be subject to mutual exclusion constraints.
Objective: maximize the weighted sum of Uc , Up , and Uj.
Scheduling dependent threads with step-shaped TUFs is NP-hard (Clark’s Ph.D. Dissertation)
Problem subsumes this
11/04/2001 11
Key Heuristics of CUA: Combined Utility Density (CUD)
Return on investment of executing a thread CUD measures the utility that can be accrued per unit time by
executing the thread and the thread(s) that it depends upon : the minimal value yielding the highest .T ExecTime
R1
R2
T1 T2
T3T1 T2 T3
Resource graphDependency chain
.
.
[ ( ) ( ) ].
j
c jT T Dep
c p jc T
c
t T ExecTime
U t t U ExecTime UT CUD
t
( )pTU ExecTime
11/04/2001 12
High Level Description of CUA
WHILE (task ready queue is not empty) Calculate CUD for each task at the current position APPEND the highest CUD task Tk and its dependent tasks into
the tentative schedule APPEND: optimize the tentative schedule
From Tk ’s farthest predecessor to Tk itself
Reduce the ExecTime of Tk and its dependents One time unit reduction each time Until no increase in the total utility
t
Uto
tal
Uto
tal
A B
ExeTA = 6, ExeTB = 5
ExeTA = 4, ExeTB = 5
PUFA PUFB
11/04/2001 13
Implementation Platform: Meta Scheduler on top of COTS RTOSes
Scheduling algorithm can be plugged into the framework without modifying the OS kernel
Only requires four distinct priorities that can be satisfied by all POSIX RTOS
Reasonably low overhead and small footprint
“A Formally Verified Application-Level Framework for Utility Accrual Real-Time Scheduling On POSIX Real-Time Operating Systems”, P. Li et al., TSE (2004, 2nd revision)
Experiments conducted on a Pentium platform (with a CPU of 450 MHz) running QNX Neutrino 6.2 RTOS
Meta Scheduler
POSIX OS
thread code RTSL
app. prog.app. prog.
link
thread code RTSL
app. prog.app. prog.
link
11/04/2001 14
Experimental studies verify the effectiveness of JUF model
40
50
60
70
80
90
100
0.2 0.4 0.6 0.9 1.2 1.5Average Load
AU
R o
f T1,
T2
and
G (
%)
JUFs and TUFs
TUFs only
40
50
60
70
80
90
100
0.2 0.4 0.6 0.9 1.2 1.5Average Load
XM
R o
f T1,
T2
and
G (
%)
JUFs and TUFs
TUFs only
XMR = # satisfied term. times
# total_triggersX100%
AUR = Accrued utility
Total utility of triggersX100%
11/04/2001 15
Experimental studies confirm CUA’s effectiveness of utility accrual
0
20
40
60
80
100
0.2 0.4 0.6 0.9 1.2 1.5Average Load
AUR %
CUA
LBESA
UPA
Dover
FP
EDF
0
20
40
60
80
100
0.2 0.4 0.6 0.9 1.2 1.5Average Load
XMR %CUA
LBESA
UPA
Dover
FP
EDF
Step TUFs, no PUFs and JUFsFP: the higher utility, the higher priority
DASA, GUS and CUA perform close; they out-perform others during overloads. EDF suffers domino effect during overloads.
11/04/2001 16
The major contribution is the notion of JUFs, and the CUA Algorithm
Notion of JUFs
The CUA algorithm
Schedules the joint-dependent threads early
Increases their aggregate completion time utility
Future work
Consider multi-unit resource models
Consider energy constraints
Consider stochastic UA criteria