1 / 28

Scheduling Periodic Real-Time Tasks with Heterogeneous Reward Requirements

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

lynley
Download Presentation

Scheduling Periodic Real-Time Tasks with Heterogeneous Reward Requirements

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scheduling Periodic Real-Time Tasks with Heterogeneous Reward Requirements I-Hong Hou and P.R. Kumar

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

  23. 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

  24. 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

  25. Simulation Results: Same Frame Rate • All streams generate one GOF every 30 time slots • Greedy = Feasible, and is always better than MAX Logarithmic Linear

  26. 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

  27. Simulation Results: Heterogeneous Frame Rate • Different tasks generate GOFs at different rates • Period length may be 20, 30, or 40 time slots Logarithmic Linear

  28. 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

More Related