Title: Adaptive Resource Management in Asynchronous RealTime Distributed Systems
1On the Joint Utility Accrual Model
Haisang Wu, Binoy Ravindran, and E. Douglas
Jensen
The MITRE Corporation Bedford, MA 01730,
USA E-mail jensen_at_mitre.org
Real-Time Systems Laboratory ECE Dept., Virginia
Tech Blacksburg, VA, USA E-mail hswu02,
binoy_at_vt.edu
April 26, 2004, Santa Fe, NM
2Research 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 and Introduction
Motivations and Models
The Algorithm and Evaluation
3QoS 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
4Jensens 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
5Joint 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
6Joint 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 courseupdates are
provided - Low utility from tracker activities
- Highly accurate, but late location estimates
- Low accuracy, but early location estimates
7Definition 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 Gs joint utility w.r.t.
two tracker activities T1 and T2
8Two methods describe precedence dependency
between T1/T2 and G
- A TUFs-Only
- Scale up Gs 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?
9Task Model and Time Constraints Model
- 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
10Resource 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 (Clarks Ph.D. Dissertation) - Problem subsumes this
11Key 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
12High 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
13Implementation 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
14Experimental studies verify the effectiveness of
JUF model
satisfied term. times
XMR
X100
total_triggers
Accrued utility
AUR
X100
Total utility of triggers
15Experimental studies confirm CUAs effectiveness
of utility accrual
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.
16The 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