430 likes | 450 Views
Introducing an Elastic Task Model (ETM) to control task execution rates for improved Quality of Service (QoS) in real-time systems. The model adjusts task periods dynamically based on current load, offering flexibility and handling overload effectively.
E N D
Elastic Task Model for Adaptive Rate Control Giorgio Buttazzo, Giuseppe Lipari, Luca Abeni, Elastic Task Model For Adaptive Rate Control, RTSS 1998.
Outline • Introduction • Elastic Model • Compressing Task Utilization • Theoretical Validation • Experimental Results • Conclusions Introduction
Motivation • Classic real-time task models are too rigid • For a task i is defined by constant period Ti & exec time Ci in RM & EDF • Schedulability guarantee • Necessary for stability of critical hard real-time systems Introduction
Motivation • More flexibility is required by multimedia & adaptive control applications • MPEG encoding/decoding time may vary from frame to frame • A deadline miss can degrade QoS but doesn’t cause any catastrophic result • Considering as hard real-time task is too pessimistic • Underutilize the CPU as WCET >> average exec time Introduction
Elastic Task Model (ETM) • Treat task periods as springs with given elastic coefficients • Increase/decrease task periods to control QoS considering the current load • Allow tasks to intentionally change their execution rates to provide different levels of QoS • Handle overload situations in a more flexible way Introduction
Imprecise computation, (m,k) firm deadlines, and ETM: Which is best? • Review • Imprecise computation can reduce task exec time by skipping (or spending fewer CPU cycles for) optional parts • (m,k) model can drop jobs, i.e., task instances, in a controlled manner • Which is best? Always out perform the others? We don’t know. Introduction
Imprecise computation, (m,k) firm deadlines, and ETM: Which is best? • One model may not work best for every application • For even one application, e.g., video streaming, one or the other may show better performance under certain circumstances • Which model work best in certain situations? • This can be a good course proejct topic (More topics at the end of the talk) • Can we develop any model that outperforms these models (in even some specific application)? Introduction
Outline • Introduction • The Elastic Model • Compressing Task Utilization • Theoretical Validation • Experimental Results • Conclusions The Elastic Model
Task Parameters • Computation time Ci (fixed) • Nominal period Ti0 • Minimum period Timin • Maximum period Timax • Elastic coefficient ei >= 0 • A task = i(Ci, Ti0, Timin, Timax, ei) The Elastic Model
Parameter Constraints • Ti: actual period of task i • Ti [Timin, Timax] • Any variation is subject to an elastic guarantee and is accepted only if there exists a feasible schedule in which all the other periods are within their range The Elastic Model
Schedulable by EDF • Up= 10/20 + 10/40 + 15/70 = 0.964 < 1 • 3 reduces its period to 50 • Up= 10/20 + 10/40 + 15/50 = 1.05 > 1 • Not schedulable • Change T1 to 22 and T2 to 45 • Up= 0.977 • Schedulable! The Elastic Model
Example Cont. • 3 reduces its period to 40 • Schedulable • T1 = 35 must be rejected, since there’s no feasible schedule with T1 and T2 within their (min, max) period ranges The Elastic Model
Configuration Policy • Implicitly encoded in the elastic coefficients provided by the user • Each task is varied based on its current elastic status under the condition that a feasible configuration is found (if there exists one) The Elastic Model
More Features • The other direction (decompressoin): Task terminates or decreases its rate. • Other tasks gain back bandwidth – Increase their rates, if necessary, to improve QoS • Hard real-time tasks • Ti0= Timin = Timax The Elastic Model
Outline • Introduction • The Elastic Model • Compressing Task Utilization • Theoretical Validation of the Model • Experimental Results • Conclusions Compressing Tasks’ Utilizations
Compressing Task Utilization • Set of periodic task Γ can be divided into: • Γf: Set of fixed tasks in which an arbitrary task i in the set consumes it minimum utilization, i.e., its current period Tf = Tfmin • Γv: Set of variable tasks that can be still compressed • For task v in Γv its current period Tv > Tvmin • Period can be increased to reduce utilizaiton • U0: Sum of all the nominal utilization (Ci/ Ti0) for the tasks in Γv • Uf: Total utilization of the tasks in Γf Compressing Tasks’ Utilizations
Compressing Task Utilization • To achieve the desired utilization Ud < U0, each task in Γv has to be compressed to the following utilization: Introduction
Decompression • A task decreases its rate or returns to its nominal period • Compressed tasks expand their utilizations according to their elastic coefficients • If total utilization is less than utilization bound, then all tasks can return to their nominal periods Compressing Tasks’ Utilizations
Outline • Introduction • The Elastic Model • Equivalence with a Spring System • Compressing Tasks’ Utilizations • Theoretical Validation of the Model • Experimental Results • Conclusions Theoretical Validation of the Model
Theoretical Validation: Key Idea • If tasks’ periods are changed at opportune instants, the task set remains schedulable and no deadline is missed → Find out when is the opportune time!!! • The following lemmas state two properties of the EDF algorithm that are useful for proving the main theorem Theoretical Validation of the Model
Lemma 1 • In any feasible EDF schedule , the following condition holds: • t >0 i[1,n] ri(t)/t >= Up • Where Up = i[1,n] Ci/ Ti and ri(t) is the cumulative time executed by all the instances of task i up to t • Processor demand analysis Theoretical Validation of the Model
Lemma 2 • In any feasible EDF schedule , the following condition holds: • t >0 i[1,n] ci(t) ≤ i[1,n] [vi(t) – t]Ui • Where Ui = Ci/ Ti, ci(t) is the remaining execution time of the current instance of task i at time t, and vi(t) is the next release time of i greater than or equal to t Theoretical Validation of the Model
Theorem 1 • Given a feasible task set Γ, with total utilization factor Up = i[1,n] Ci/Ti ≤ 1, if at time t all the periods are increased from Ti to T’i ≥ Ti, then for all L > 0, • D(t, t+L) ≤ LU’ p • Where D(t1, t2) is the total processor demand of Γ in [t1, t2] and U’p = i[1,n] Ci/T’i Theoretical Validation of the Model
What does the theorem mean? • Periods can be increased immediately, but • The period of a task can be decreased only at its next release time • Example in the next slide Theoretical Validation of the Model
Orignally, 3/10 + 2/3 = 0.96 < 1 After changing periods at t =14: 3/5 + 2/6 = 0.96 If T1 is immediately changed at t = 14, D miss at t = 16 D Miss! Theoretical Validation of the Model
Outline • Introduction • The Elastic Model • Equivalence with a Spring System • Compressing Tasks’ Utilizations • Theoretical Validation of the Model • Experimental Results • Conclusions Experimental Results
Outline • Introduction • The Elastic Model • Equivalence with a Spring System • Compressing Tasks’ Utilizations • Theoretical Validation of the Model • Experimental Results • Conclusions Conclusions
Conclusions • Periodic tasks can change their execution rates to adapt QoS • Remaining tasks can canautomatically adapt their peroids to keep the system underloaded • Policy is encoded in the elastic coefficient • Useful for supporting both multimedia and adaptive control applications, in which the execution rates of some computational activities have to be dynamically tuned as a function of the current system Conclusions
Single Semester-Long Prject vs. Programming Assignments • Students can work in teams for projects • Programming assignments are individual – No teamwork is allowed • 1st programming assignment will be available in this week • If it’s your first time to real-time emebedded systems or your are under pressure, it will be safer to do programming assignments • If you are interested in RT research, do a project • Pick a topic among the ones to be discussed today (or identify your own topic), find a team if possible, and discuss with me Introduction
Single Semester-Long Prject vs. Programming Assignments • Decide whether you will do a project or programmingassignments by Sept 26 and let the TA and me know about your decision • If you are doing a project, let the TA and me knwo about your topic, team members, etc. Introduction
Project Idea 1 • Verify if real-time scheduling theory, e.g., RM, EDF, priority inheritance/ceiling, really works • Tweak a RT kernel in your way to improve schedulability, reduce overhead/kernel complexity, or make it more configurable... • Some open source real-time embedded kernels are in the next slide Introduction
Prject Idea 1 • Open source RT/embedded kernels • eCos (embedded configurable OS) • Open source, royalty-free RTOS • Can be installed in Linux or Windows (with Cygwin) • Highly configurable – How does configurability make a RTOS better? Performance optimization & memory footprint minimization • http://ecos.sourceware.org/ • uc/OS-II • Commercial, open-source RT kernel • Easy to use and runs in Windows environment • http://www.ucos-ii.com/products/rtos/kernel/rtos.html • Book:http://www.amazon.com/MicroC-OS-II-Kernel-CD-ROM/dp/1578201039 • L4 Kernel • http://l4ka.org/projects/pistachio/ia32/gettingstarted.php Introduction
Project Idea 2 • Compare imprecise computation model, (m,k) firm deadline model & ETM for a multimedia application • Qualitative analysis: Which is more applicable? Why? • Experiments to support your arguments • DSRT: Dynamic Soft Real Time CPU Scheduler 2.0 • http://cairo.cs.uiuc.edu/software/DSRT-2/dsrt-2.html • Middleware that works with either Windows or Linux Introduction
Project Idea 3: Real-Time Database • We have a home-made simulator written in C++ • We also have a preliminary version of a testbed implemented on top of an open source DB called Berkeley DB • Choose to do a simulation or real DB implementation • 1. Make the home-made simulator or testbed more structured/easier-to-use or make one of them to support distributed RT transaction processing; OR • 2. Make the RTDB testbed to interact with wireless sensors; OR • 3. How to handle RTDB specific issues such as data freshness or data conflicts properly, while supporting timing guarantees?; Introduction
Project Idea 4 • Power-aware real-time routing • Shortest path to minimize the delay • No need for a packet to arrive at the destination earlier than the deadline • Take an alternate path to reduce power consumption given enough slack – Just-in-time scheduling + power management • You can use network simulation in ns-2 Introduction
Project Idea 5 • Differentiated real-time routing • Initially assign a deadline for a packet based on distance or number of hops • Define the criticality for each periodic data flow • Criticality could be indicated by an elastic cofficient such that less critical flows are more elastic • Schedule packets in an EDF manner • When a router is backlogged, adapt the deadlines of elastic packets (according to the elasticity constraints) • Piggyback the adaptation info as part of ACK message • Eventually propagate to the source • Forward less urgenet packets through an alternate path • Network simulation via ns-2 Introduction
Project Idea 6 • Remote control of robots on Mars (simulation) • You can find the problem description and simulator here! Introduction
Any Questions? Introduction