Imprecise Computation September 7, 2006 JWS Liu, KJ Lin, WK Shih, AC. S. Yu, JY Chung, and W. Zhao, Algorithms for scheduling imprecise computations, IEEE Copmuter, pages 58-68, 1991.
Problem: Possibility of Timing Failure Use WCET for hard real-time tasks Meet all deadlines Hard RT systems can be overloaded or disrupted by the environment Too many targets too track at the same time Faulty sensors in a cruise control system Deriving WCET is not trivial What about context switch time ignored in schedulability analysis? Leave some margin in your schedule Take an iterative approach Measurement: No guarantee on accuracy Analysis: Need to consider architectural details, clock spped, cache, instruction pipelining, multithreading, etc.
Problem: Possibility of Timing Failure Use average case execution time for soft real-time tasks Usually, i.e., in normal cases, meet deadlines Under transient overload, e.g., due to abnormal sensor values that take more time for processing, deadlines can be missed
Imprecise Computation Model Avoid timing faults during transient overloads Prefer timely, imprecise results to late, precise results A task consists of a mandatory and an optional part The mandatory part must complete before the task deadline The optional part improves the quality Can be skipped under overload Tradeoff between quality and timeliness
Examples Radar tracking: Get estimated target locations in a timely fashion than accurate location info too late Video streaming: Transmit a low quality image in time rather than missing the deadline, e.g., to meet the 30 frames/s requirement Control loop: Produce an approximate result by a control law as long as the controlled system, e.g., cruise control system, remain stable
Imprecise Computation Model A task produces a precise result if both the mandatory and optional parts are executed A task produces an imprecise, i.e., approximate, result if only the mandatory part is executed Monotone: Quality monotonically increases as a task executes longer 0/1: Either fully execute the optional part or not at all
Imprecise Task Model Task Ti(mi, oi, di) mi: exec time of mandatory part oi: exec time of optional part di: deadline of Ti mi = 0 for all task Ti in traditional soft real-time systems oi = 0 for all task Ti in traditional hard real-time systems
Error Function Monotone task model 0/1 task model Error ei = fi(oi – ci) where ci is the completed optional part of Ti 0/1 task model ci = oi or ci = 0 for task Ti
Imprecise Scheduling Problems Minimize total error Total error E = ∑i=1, N wiei where wi > 0 is the weight Find a schedule that is optimal in that it is feasible and minimizes the total error Refer to F algorithm in the paper Minimize max error Find a feasible schedule minimizing the max error rather total error Minimize #discarded optional tasks Minimize #tardy tasks
Error Charasteristics of Periodic Tasks Cumulative Error Tracking & control applications Total error can be infinite Take average over π, i.e., multiple of all the periods Non-cumulative Error Audio & video Efficient huerisitic: Execute optional parts only after executing all ready mandatory tasks Assign high priority to mandatory tasks Apply RMS to find a feasible schedule for mandatory tasks
(m, k) Firm Deadline Model [1] Moncef Hamdaoui, Parameswaran Ramanathan, “A Dynamic Priority Assignment Technique for Streams with (m,k)-Firm Deadlines,” IEEE Transactions on Computers, Vol. 44, Issue 12, Dec. 1995. [2] P. Ramanathan, “Overload Management in real-time control applications using (m,k)-firm guarantee”, IEEE Transactions on Parallel and Distributed System, Vol. 10, Issue 6, June 1999.
(m, k) Firm Deadlines For a task Ti, meet at least mi deadlines out of ki consecutive jobs, i.e., task (Ti) instances Example Associate a video stream with (2,3) firm deadlines Transmit at least 2 out of 3 consecutive video frames within the deadline The other two frames can be dropped under overload → Different from imprecise computation
(m, k) Firm Real-Time Task Model Ti = (Ci, Pi, mi, ki) Ci: Computation time Pi: Period Maximum allowable loss rate = (ki-mi)/ki Dynamic Failure Fewer than mi jobs in the window of ki consecutive jobs of Ti meet the deadline
Task Ti’s instance Ti,a released at aPi cannot be dropped if: a = ami/ki ki/mi where a = 0, 1, 2, ... Example: (mi, ki) = (2, 3) Instances 0 and 1 of Ti cannot be dropped according to the equation above
Distance Based Priority (DBP) Scheme [1] Assign the highest priority to the task that is closest to a dynamic failure System Model
MK-RMS Utilization Bound [2] Sufficient (but not necessary) A task set consisted of N periodic (m,k) tasks is schedulable if: Ut = ∑i=1, N (Ci/Pi)(mi/ki) ≤ n(21/n – 1) Algorithm: Follow RMS Under overload, skip task instances if no dynamic failure will occur
Any Question? We will cover “Elastic Task Model” next time (and some power-aware RT scheduling if time permits)