160 likes | 263 Views
On the Joint Utility Accrual Model. 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. ‡ The MITRE Corporation Bedford, MA 01730, USA E-mail: jensen@mitre.org.
E N D
On the Joint Utility Accrual Model 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 ‡The MITRE Corporation Bedford, MA 01730, USA E-mail: jensen@mitre.org April 26, 2004, Santa Fe, NM
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 and Introduction Motivations and Models The Algorithm and Evaluation
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 accuracyof the services’ computational results • Service requests often cause resource contentions • Mission-oriented, and dynamic and adaptive resolution polices
Utility (MITRE/TOG AWACS Tracker) U1 U2 U3 tc action completion time Utility TUFs of GD/CMU Coastal Air Defense Mid-course Correlate Intercept Maintain Launch action completion time 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
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
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 courseupdates are provided • Low utility from tracker activities’ • Highly accurate, but late location estimates • Low accuracy, but early location estimates
thread execution time e0 e1 em-1 em u1 u3 u2 -ve 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
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?
Scheduling segment 1 R1 R2 Scheduling segment 2 R5 R3 Ii Xi Task 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
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 Resource Model and Optimization Criterion
T2 T2 R1 T1 T1 R2 Dependency chain T3 T3 Resource graph 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
PUFA PUFB ExeTA = 6, ExeTB = 5 Utotal Utotal A B ExeTA = 4, ExeTB = 5 t 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
RTSL RTSL thread code thread code link link app. prog. app. prog. Meta Scheduler POSIX OS 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
Experimental studies verify the effectiveness of JUF model # satisfied term. times XMR = X100% # total_triggers Accrued utility AUR = X100% Total utility of triggers
Experimental studies confirm CUA’s 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.
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