280 likes | 421 Views
Scheduling Periodic Real-Time Tasks with Heterogeneous Reward Requirements. I-Hong Hou and P.R. Kumar. Problem Overview. Imprecise Computation Model: Tasks generate jobs periodically, each job with some deadline
E N D
Scheduling Periodic Real-Time Tasks with Heterogeneous Reward Requirements I-Hong Hou and P.R. Kumar
Problem Overview • Imprecise Computation Model: • Tasks generate jobs periodically, each job with some deadline • Jobs that miss deadline cause performance degradation of the system, rather than timing fault • Partially-completed jobs are still useful and generate some rewards • Previous work: maximize the total rewards of all tasks • Assumes that rewards of different tasks are equivalent • May result in serious unfairness • Does not allow tradeoff between tasks • This work: Provide guarantees on reward for each task
Example: Video Streaming • A server serves several video streams • Each stream generates a group of frames (GOF) periodically • Frames need to be delivered on time, or they are not useful • Lost frames result in glitches of videos • Frames of the same flow are not equally important • MPEG has three types of frames: I, P, and B • I-frames are more important than P-frames, which are more important than B-frames • Goal: provide guarantees on perceived video quality for each stream
System Model • A system with several tasks (task = video stream) • Each task X generates one job every τX time slots, deadline = τX (job = GOF) • All tasks generate one job at the first time slot A A A A τ A=4 A B B B τ B=6 B C C C C C τ C=3 C
System Model • A frame = time between two time slots that all tasks generate a job • Length of frame (T) = least common multiple of τA, τB, … T= 12 A B C
Model for Rewards • A job can be executed several times before its deadline • A job of task X obtains a reward of rXkwhen it is executed for the kthtime, where rX1 ≥ rX2 ≥ rX3 ≥… (the reward of the ith frame in a GOF is rXi) A A A A τ A=4 A B B B τ B=6 B C C C C C τ C=3 C
Scheduling Example • Reward of A per frame = 3rA1 +2rA2 +rA3 rA2 rA1 rA1 rA1 rA2 rA3 A A A A A A A A A A A B B B B B B B C C C C C C C C C
Scheduling Example • Reward of A per frame = 3rA1 +2rA2 +rA3 • Reward of B per frame = 2rB1 +rB2 • Reward of A per frame = 3rC1 A A A A A A A A A A A B B B B B B B C C C C C C C C C
Reward Requirements • Task X requires an average reward per frame of qX • Q: How to evaluate whether [qA, qB,…] is feasible? How to meet reward requirement of each task? A A A A A A A A A A A B B B B B B B C C C C C C C C C
Extension for Imprecise Computation Models • Imprecise Computation Model: Each job may have a mandatory part and an optional part • Mandatory part needs to be completed, or results in a timely fault • Incomplete optional part only reduces performance • Our model: set the reward of a mandatory part to be M, where M is larger than any finite number • The reward requirement of a task = aM+b, where a is the number of mandatory parts, and b is the requirements on optional parts • Fulfill reward requirement ensures that all mandatory parts are completed on time
Feasibility Condition • fXi := average number of jobs of X that are executed at least i times per frame • Obviously, 0 ≤ fXi ≤ T/τX • Average reward of X = ∑ifXirXi • Average reward requirement: ∑ifXirXi≥qX • The average number of time slots that the server spends on X per frame= ∑ifXi • Hence, ∑X ∑ifXi≤ T
Admission Control • Theorem: A system is feasible if and only if there exists a vector [ fXi ]such that 1. 0 ≤ fXi ≤ T/τX 2. ∑ifXirXi≥qX 3. ∑X ∑ifXi≤ T • Check feasibility by linear programming • Complexity of admission control can be further reduced by noting rX1 ≥ rX2 ≥ rX3 ≥… • Theorem: check feasibility in O(∑X τX)time
Scheduling Policy • Q: Given a feasible system, how to design a policy that fulfill all reward requirements? • Propose a framework for designing policies • Propose an on-line scheduling policy • Analyze the performance of the on-line scheduling policy
A Condition Based on Debts • Let sX(k) be the reward obtained by X in the kth frame • Debt of task X in the kth frame: dX(k) = [dX(k-1)+qX- sX(k)]+ • x+ := max{x, 0} • The requirement of task X is met if dX(k)/k→0, as k→∞ • Theorem: A policy that maximizes ∑X dX(k)sX(k) for every frame fulfills every feasible system • Such a policy is called a feasibility optimal policy
Approximation Policy • Computation overhead of a feasibility optimal policy may be high • Study performance guarantees of suboptimal policies • Theorem: A policy whose resulting ∑X dX(k)sX(k) is at least 1/p of the resulting ∑X dX(k)sX(k) by an optimal policy, then this policy achieves reward requirement [qX] if the reward requirement [pqX] is feasible • Such a policy is called a p-approximation policy
An On-Line Scheduling Policy • At some time slot, let ( jX-1) be the number of times that the server has worked on the current job of X • If the server schedules X in this time slot, X obtains a reward of rXjX • Greedy Maximizer: Schedule the task X that maximizes rXjXdX(k) in every time slot • Greedy Maximizer can be efficiently implemented
Performance of Greedy Maximizer • The Greedy Maximizer is feasibility optimal when the period length of all tasks are the same • τA = τB = … • However, when tasks have different period lengths, the Greedy Maximizer is not feasibility optimal
Example of Suboptimality • A system with two tasks • Task A: τA = 6, rA1 = rA2 = rA3 = rA4 = 100, rA5 = rA6 = 1 • Task B: τB = 3, rB1 = 10, rB2 = rB3 = 0 • Suppose dA(k) = dB(k) = 1 • dA(k)sA(k) + dB(k)sB(k) of Greedy Maximizer = 411 100 1 A A A A A A 10 B B
Example of Suboptimality • A system with two tasks • Task A: τA = 6, rA1 = rA2 = rA3 = rA4 = 100, rA5 = rA6 = 1 • Task B: τB = 3, rB1 = 10, rB2 = rB3 = 0 • Suppose dA(k) = dB(k) = 1 • dA(k)sA(k) + dB(k)sB(k) of Greedy Maximizer = 411 • dA(k)sA(k) + dB(k)sB(k) of an optimal policy = 420 A A A A A B B B
Approximation Bound • Analyze the worst case performance of the Greedy Maximizer • Show that resulting ∑X dX(k)sX(k) is at least 1/2 of the resulting ∑X dX(k)sX(k) by any other policy • Theorem: The Greedy Maximizer is a 2-approximation policy • The Greedy Maximizer achieves reward requirements [qX] as long as requirements [2qX] are feasible
Simulation Setup: MPEG Streaming • MPEG: 1 GOF consists of 1 I-frame, 3 P-frames, and 8 B-frames • Two groups of tasks, A and B • Tasks in A treat both I-frames and P-frames as mandatory parts, while tasks in B only require I-frames to be mandatory • B-frames are optional for tasks in A; both P-frames and B-frames are optional for tasks in B • 3 tasks in each group
Reward Function for Optional Part • Each task gains some reward when its optional parts are executed • Consider three types of optional part reward functions: exponential, logarithmic, and linear • Exponential: Xobtains a total reward of (5+k)(1-e-i/5) if its job is executeditimes, where k is the index of the task X • Logarithmic: Xobtains a total reward of (5+k)log(10i+1)if its job is executeditimes • Linear: Xobtains a total reward of (5+k)iif its job is executeditimes
Performance Comparison • Assume all tasks in A requires an average reward of α, and all tasks in B requires an average reward of β • Plot all pairs of (α, β) that are achieved by each policy • Consider three policies: • Feasible: the feasible region characterized by the feasibility conditions • Greedy Maximizer • MAX: a policy that aims to maximize the total reward in the system
Simulation Results: Same Frame Rate • All streams generate one GOF every 30 time slots Exponential reward functions: Greedy is much better than MAX Greedy = Feasible Thus, Greedy Maximizer is indeed feasibility optimal
Simulation Results: Same Frame Rate • All streams generate one GOF every 30 time slots • Greedy = Feasible, and is always better than MAX Logarithmic Linear
Simulation Results: Heterogeneous Frame Rate • Different tasks generate GOFs at different rates • Period length may be 20, 30, or 40 time slots Greedy is much better than MAX Exponential Performance of Greedy is close to optimal
Simulation Results: Heterogeneous Frame Rate • Different tasks generate GOFs at different rates • Period length may be 20, 30, or 40 time slots Logarithmic Linear
Conclusions • We propose a model based on the imprecise computation models that supports per-task reward guarantees • This model can achieve better fairness, and allow fine-grain tradeoff between tasks • Derive a sharp condition for feasibility • Propose an on-line scheduling policy, the Greedy Maximizer • Greedy Maximizer is feasibility optimal when all tasks have the same period length • It is a 2-approximation policy, otherwise