Download presentation
Presentation is loading. Please wait.
Published byPaulina Norris Modified over 8 years ago
1
The 32nd IEEE Real-Time Systems Symposium Meeting End-to-End Deadlines through Distributed Local Deadline Assignment Shengyan Hong, Thidapat Chantem, X. Sharon Hu Dept. of Computer Science and Engineering University of Notre Dame, USA 1
2
The 32nd IEEE Real-Time Systems Symposium 2 Outline Introduction and problem statement Related work and motivation Proposed OLDA algorithm Experimental results Summary and future work
3
The 32nd IEEE Real-Time Systems Symposium 3 3 Systems of Interests Distributed real-time systems Jobs are executed on a sequence of processors Jobs must complete by their end-to-end deadlines Chatterjee and J. Strosnider, ICDCS, 1995
4
The 32nd IEEE Real-Time Systems Symposium 4 4 Meeting End-to-End Deadlines Resource competition among jobs on a single processor Different jobs are executed on different sequences of processors Workloads on different processors may be dissimilar Need to adapt to dynamic changes, such as job assignment changes due to processor failure job deadline, period and execution time changes
5
The 32nd IEEE Real-Time Systems Symposium 5 What We Want to Achieve Assign local deadlines to jobs on different processors Employ EDF scheduling on each processor Is done on-line, in a distributed fashion Is invoked every time a new job comes to the system Reserve enough time for jobs at later stages
6
The 32nd IEEE Real-Time Systems Symposium 6 Outline Introduction and Problem statement Related work and motivation Proposed OLDA algorithm Experimental results Summary and future work
7
The 32nd IEEE Real-Time Systems Symposium 7 Related Work Assign local deadlines to jobs Jonsson et al. (J.RTS’02), Zhang et al. (RTSS’04), Buttazzo et al. (ECRTS’10), Serreli et al. (ETFA’10) Decide the local deadline of a job according to the job’s path, execution time distribution, and local release time Do not consider the workload contributed by other jobs on the processor Cannot guarantee the job set schedulability Assign priorities to jobs Jayanchandran et al. (ECRTS’08, J.RTS’08) Decide the priority of a job according to the job’s end-to-end deadline Does not work well for high workload systems if jobs have different paths and workloads on processors vary significantly
8
The 32nd IEEE Real-Time Systems Symposium 8 Related Work (cont’d) Schedulability analysis of tasks in distributed real- time system Rahni et al. (RTNS’08), Serreli et al. (ECRTS’10) Compute the time demand bound function of tasks scheduled by EDF Palencia et al. (ECRTS’03), Hawkins et al. (RTSS’05), Jayachandran et al. (ECRTS’09) Compute the worst case response times for the system under EDF or fixed priority Time consuming and not suitable for on-line use
9
The 32nd IEEE Real-Time Systems Symposium 9 Motivational Example 930100N/A0V5V5 01100600V4V4 N/A100N/A100V3V3 N/A430N/A200V2V2 N/A70N/A100V1V1 E2E DeadlineExec. TimeE2E DeadlineExec. Time Job τ 2 Job τ 1 Processor Name
10
The 32nd IEEE Real-Time Systems Symposium 10 N/A Motivational Example BBW: By Buttazzo, et. al. (ECRTS’10) JA: By Jayanchandran, et. al. (ECRTS’08, J.RTS’08) 900 / 700 1070 / 1400N/A1100V4V4 800 / 600470 / 800797441V3V3 700 / 500370 / 700663331V2V2 70 / 70170 / 17090111V1V1 Job τ 2 Job τ 1 Job τ 2 Job τ 1 Processor Name Response Time BBW / JA Local Deadline Assignment BBW V5V5 930 N/A
11
The 32nd IEEE Real-Time Systems Symposium 11 Motivational Example 930430N/A0V5V5 01100600V4V4 N/A100N/A100V3V3 N/A430N/A200V2V2 N/A70N/A100V1V1 E2E DeadlineExec. TimeE2E DeadlineExec. Time Job τ 2 Job τ 1 Processor Name failed 430930
12
The 32nd IEEE Real-Time Systems Symposium 12 Motivational Example 900 / 7001170 / 14009301100V4V4 800 / 600470 / 800797441V3V3 700 / 500370 / 700663331V2V2 70 / 70170 / 17090111V1V1 Job τ 2 Job τ 1 Job τ 2 Job τ 1 Processor Name Response Time BBW / JA Local Deadline Assignment BBW failed Require an effective distributed algorithm that can handle such dynamic changes adaptively!
13
The 32nd IEEE Real-Time Systems Symposium 13 Outline Introduction and Problem statement Related work and motivation Proposed OLDA algorithm Experimental results Summary and future work
14
The 32nd IEEE Real-Time Systems Symposium 14 Formulate an Optimization Problem Objective function Maximize time slack of each job on a processor, but difficult to capture Employ an approximate objective function Maximize the minimum time slack among all the jobs on the local processor Constraints Guarantee the schedulability of jobs on each local processor Bound the local deadline of each job by the earliest completion time of the job in the previous stage the latest start time of the next stage
15
The 32nd IEEE Real-Time Systems Symposium 15 An Existing Feasibility Condition Proposed by Chetto et al. (J.RTS’90) Cannot be used to formulate a constraint due to deadlines being unknown Job set Ω(V x ) can be scheduled by EDF policy, if and only if, within any time interval L, for all the jobs whose release times and deadlines fall into L, sum of these jobs’ execution times C h ’s <=L. L
16
The 32nd IEEE Real-Time Systems Symposium 16 Modified Feasibility Condition min{r j } max{d i } Job set Ω(V x ) can be scheduled by EDF policy, if and only if, for any job subset ω(V x ), and any L ϵ [min release time of jobs in ω(V x ), max deadline of jobs in ω(V x )], sum of these jobs’ execution times C h ’s <= L L
17
The 32nd IEEE Real-Time Systems Symposium 17 Requirements for OLDA Design Need to be applicable on-line Finding the optimal solution with low time complexity, but Time consuming to explore exponential number of subsets in Ω (V x ) by using the modified condition Solvers, such as, Loqo, is expensive Need to be distributed Avoid global synchronization overhead Require information local to processor V x and the information known upon a job’s release
18
The 32nd IEEE Real-Time Systems Symposium 18 Basic Idea of OLDA (1) Base job subset The job subset having the latest “pseudo completion time”, i.e., min{r i } + sum{c i } is largest Once the first job in this set gets executed, the processor is busy till all the jobs in the set are completed All the jobs in the base job subset are executed after the completion of the jobs in the other job subsets
19
The 32nd IEEE Real-Time Systems Symposium 19 Example: Base Job Subset JobRelease timeExecution Time E2E Deadline τ1τ1 0235 τ2τ2 4242 τ3τ3 5239 τ4τ4 6135 0 1 2 34 5 10 78 τ3τ3 τ4τ4 t 6 9 τ2τ2 The base job subset All job subsets: { τ 1 }, { τ 2 }, { τ 3 }, { τ 4 }, { τ 1, τ 2 }, { τ 1, τ 3 }, … { τ 3, τ 4 }, { τ 1, τ 2, τ 3 }, { τ 1, τ 2, τ 3 }, … { τ 2, τ 3, τ 4 }, { τ 1, τ 2, τ 3, τ 4 } Search for base job subset: { τ 1, τ 2, τ 3, τ 4 }, { τ 2, τ 3, τ 4 }, { τ 3, τ 4 }, { τ 4 } Pseudo completion times: 7 9 8 7
20
The 32nd IEEE Real-Time Systems Symposium 20 Basic Idea of OLDA (2) Base job The job with the largest local-deadline upper bound in the base job subset UB of a job’s local deadline = E2E deadline – exec times on downstream processors The deadline of the base job is set to the pseudo completion time of the job base subset, which is the optimal local deadline for this job
21
The 32nd IEEE Real-Time Systems Symposium 21 Example: Base Job JobRelease timeExecution TimeUB of local DL τ1τ1 0212 τ2τ2 4217 τ3τ3 5218 τ4τ4 6114 0 1 2 34 5 10 78 t 6 9 τ1τ1 τ3τ3 τ4τ4 τ2τ2 τ4τ4 τ2τ2 The base job is τ 3. Set τ 3 deadline to 9 τ3τ3
22
The 32nd IEEE Real-Time Systems Symposium 22 Properties of OLDA In O(| Ω (V x )| 3 ) time, OLDA returns a set of local deadlines if and only if there exists a solution to the local-deadline optimization problem The set of local deadlines returned by OLDA is optimal OLDA is optimal on each processor, but not for the global system
23
The 32nd IEEE Real-Time Systems Symposium 23 Outline Introduction and Problem statement Related work and motivation Proposed OLDA algorithm Experimental results Summary and future work
24
The 32nd IEEE Real-Time Systems Symposium 24 Back to the Motivational Example 900 / 700 / 9301170 / 1400 / 1100930 / 9301100 / 1100V4V4 800 / 600 / 830470 / 800 / 400797 / 830441 / 400V3V3 700 / 500 / 730370 / 700 / 300663 / 730331 / 300V2V2 70 / 70 / 170170 / 170 / 10090 / 170111 / 100V1V1 Job τ 2 Job τ 1 Job τ 2 Job τ 1 Processor Name Response Time BBW / JA / OLDA Local Deadline Assignment BBW / OLDA Both BBW and JA fail to find a feasible solution, while OLDA solves the problem
25
The 32nd IEEE Real-Time Systems Symposium 25 Random Task Sets 100 task sets consisting of 50 tasks each for 10 different utilization levels (U level =400%,…,625%) 8 processors in the system and each task randomly passes through 4 to 6 stages Task periods raged from 1000 to 10000 time units Two randomly generated task sets Set 1: processor loads are balanced Set 2: processor loads are imbalanced
26
The 32nd IEEE Real-Time Systems Symposium 26 Feasible Solutions Found: Balanced Workloads OLDA leads to 75% and 22% on average more feasible task sets than BBW and JA OLDA can find on average 98% and 99% of the feasible task sets found by BBW and JA
27
The 32nd IEEE Real-Time Systems Symposium 27 Feasible Solutions Found: Imbalanced Workloads OLDA leads to 57% and 46% on average more feasible task sets than BBW and JA OLDA can find on average 88% and 99% of the feasible task sets found by BBW and JA
28
The 32nd IEEE Real-Time Systems Symposium 28 Average Drop Rate: Balanced Workloads BBW and JA on average drop 3.25X and 2.25X more jobs than OLDA
29
The 32nd IEEE Real-Time Systems Symposium 29 Average Drop Rate: Imbalanced Workloads BBW and JA on average drop 89% and 379% more jobs than OLDA
30
The 32nd IEEE Real-Time Systems Symposium 30 Computational Cost Average number of cycles to process a job is 149 and 153 for the balanced and imbalanced workloads, respectively Compared with BBW and JA For balanced workloads, OLDA requires 1.53 and 2.30 times more cycles per task set than BBW and JA, respectively For imbalanced workloads, OLDA requires 1.74 and 2.32 times more cycles per task set than BBW and JA, respectively OLDA is more than 10,000 times faster than Loqo (a tool for solving smooth constrained optimization problems)
31
The 32nd IEEE Real-Time Systems Symposium 31 Summary and future work Presented an on-line distributed local deadline assignment algorithm Formulated an optimization problem to maximize the minimum time slack among all the jobs on the local processor Devised a locally optimal distributed algorithm to solve the problem and prove its optimality Experimental results show the strength of OLDA Future work Support transactions having more general execution sequences Improve job prediction and dropping policies
32
The 32nd IEEE Real-Time Systems Symposium Thank You! 32
33
The 32nd IEEE Real-Time Systems Symposium 33 Outline Introduction and Problem statement Related work and motivation Proposed OLDA algorithm Experimental results Summary and future work
34
The 32nd IEEE Real-Time Systems Symposium 34 Systems of Interests Distributed real-time systems Jobs are executed on a sequence of processors Jobs must complete by their end-to-end deadlines Chatterjee and J. Strosnider, ICDCS, 1995
35
The 32nd IEEE Real-Time Systems Symposium 35 What We Want to Achieve Assign local deadlines to jobs on different processors Employ EDF scheduling on each processor Is done on-line, in a distributed fashion Is invoked every time a new job comes to the system Reserve enough time for jobs at later stages τ1τ1 τ2τ2
36
The 32nd IEEE Real-Time Systems Symposium 36 Some Key Observations Local deadlines should be bounded by the earliest completion time of the job, and the latest start time of the immediate next stage Local deadlines should satisfy the modified feasibility condition Reserve maximum time slack for each job to be executed in its downstream processors
37
The 32nd IEEE Real-Time Systems Symposium 37 A Flight Control System 20025000020140100NIP 100 0102015160010PAA 4505001001510291500FCP PFSVAPFGBSFCNVAH Task Name End2End Deadline Period Exec. Time Flight control system Introduced in Jayachandran et al. (ECRTS 2008) 3 periodic tasks and 8 heterogeneous processors and each task has an end-to-end deadline Simulate the application for the time interval [0,54000ms]
38
The 32nd IEEE Real-Time Systems Symposium 38 Results by OLDA 0 / 0 / 3075 0 / 0 / 0200250NIP 0 / 180 / 072 0 / 0 / 0100 PAA 0 / 0 / 0120 0 / 0 / 0450500FCP Dropped Job Num. OLDA / JA / BBW E2E Dl. Period Dropped Job Num. OLDA / JA / BBW E2E Dl. Period Trans. Name At some time interval, the periods and end-to-end deadlines of the three tasks are decreased If the previous local deadline assignments by BBW are reused, 60 jobs of 1920 released jobs will miss deadlines Applying OLDA, JA and BBW, OLDA leads to all jobs meeting the deadlines, while JA and BBW fail
39
The 32nd IEEE Real-Time Systems Symposium 39 Problem Formulation Objective function Maximize time slack of each job on a processor, but difficult to capture Employ an approximate objective function Constraints Guarantee the schedulability of jobs on each local processor Bound the local deadline of each job The upper bound of job J i,k(i,x)
40
The 32nd IEEE Real-Time Systems Symposium 40 Problem Formulation Modified the existing feasibility condition proposed by Chetto et al. (Real-Time Systems 1990) The existing condition can not be used to formulate a constraint The problem can be solved by a standard mathematic solver The new condition is still necessary and sufficient d i,k(i,x) r j,k(j,x) min{r j,k(j,x) }max{d i,k(i,x) } d i,k(i,x) is unknown a constant
41
The 32nd IEEE Real-Time Systems Symposium 41 Problem Formulation (1) s.t. (2) (3)
42
The 32nd IEEE Real-Time Systems Symposium 42 An example to show deficiencies of existing approaches Motivational Example Processor Name Job τ 1 Job τ 2 Exec. TimeE2E DeadlineExec. TimeE2E Deadline V1V1 100N/A70N/A V2V2 200N/A430N/A V3V3 100N/A100N/A V4V4 60011000N/A V5V5 0 430930
43
The 32nd IEEE Real-Time Systems Symposium 43 Why Not Loqo? Loqo is a system for solving smooth constrained optimization problems Apply Loqo in our problem Formulate the optimization problem on the local processor each time a new job comes to the processor Solve the problem Disadvantages Extremely slow (see experiment results)
44
The 32nd IEEE Real-Time Systems Symposium 44 Existing Feasibility Condition Proposed by Chetto et al. (Real-Time Systems 1990) Cannot be used to formulate a constraint d i,k(i,x) r j,k(j,x) d i,k(i,x) is unknown Job set Ω(V x ) can be scheduled by EDF policy if and only if J i,k(i,x), J j,k(j,x) ∈ ω(V x ), ??? r i,k(i,x) ≤ d i,k(i,x), How about using words instead of the complicated formula?? Use formula as backup.
45
The 32nd IEEE Real-Time Systems Symposium 45 Modified Feasibility Condition Modified the existing feasibility condition The problem can be solved by a standard mathematic solver Loqo, but it is time consuming The new condition is still necessary and sufficient min{r j,k(j,x) }max{d i,k(i,x) } a constant Job setΩ(V x ) can be scheduled by EDF policy if and only if See my comment on previous page
46
The 32nd IEEE Real-Time Systems Symposium 46 System Model Parameters R i, D i : release time and relative deadline of J i M i : the last stage index of J i on processor V x C i,k(i,x) : the execution time of J i on processor V x K (i,x) : the stage index of J i on processor V x r i,k(i,x), d i,k(i,x) : the absolute release time and absolute local deadline of J i on processor V x Ω(V x ): the job set on processor V x Need these?? r i,1 =R i J i,1 r i,k(i,x) d i,k(i,x) d i,Mi =D i J i,k(i,x) J i,Mi
47
The 32nd IEEE Real-Time Systems Symposium 47 Main Steps in OLDA UB of a job’s local deadline = E2E deadline – exec time on downstream processors Drop the job in the base job subset having the largest remaining execution times on its downstream processors Select the base job J* whose local deadline upper bound is Max_upper_bound Compute the upper bound on local deadline of each job Select the base job subset ω*(V x ) and compute the completion time (= Max_Deadline of ω*(V x )) Max_upper_bound<Max_Deadline Drop a job Assign Max_Deadline to J* and remove J* from Ω(V x ) Ω(V x ) is empty Return local deadlines Yes No Yes No
48
The 32nd IEEE Real-Time Systems Symposium 48 Main Steps in OLDA UB of a job’s local deadline = E2E deadline – exec time on downstream processors Base job subset is the job subset having the latest busy interval Base job = job with the largest local deadline UB in the base job subset Drop the job in the base job subset having the largest remaining execution times on its downstream processors Select the base job J* whose local deadline upper bound is Max_upper_bound Compute the upper bound on local deadline of each job Select the base job subset ω*(V x ) and compute the completion time (= Max_Deadline of ω*(V x )) Max_upper_bound<Max_Deadline Drop a job Assign Max_Deadline to J* and remove J* from Ω(V x ) Ω(V x ) is empty Return local deadlines Yes No Yes No
49
The 32nd IEEE Real-Time Systems Symposium 49 Properties of OLDA Local deadlines d * i ’s satisfy the constraints in the problem?? Local deadlines d * i ’s maximizes the objective function?? Once the first job in ω * (V x ) gets executed, the processor will never be idle till all the jobs in ω * (V x ) are completed In O(| Ω (V x )|) time, OLDA returns a set of local deadlines if and only if there exists a solution to the optimization problem. Furthermore, the set of local deadlines returned by OLDA is optimal OLDA is optimal on each processor, but not for the global system
50
The 32nd IEEE Real-Time Systems Symposium 50 Base Job Subset & Base Job JobRelease timeLocal deadlineExecution Time τ1τ1 032 τ2τ2 472 τ3τ3 582 τ4τ4 6101 idle 0 1 2 34 5 10 78 τ2τ2 τ4τ4 t 6 9 τ1τ1 τ2τ2 Local processor has no idle time when executing jobs τ 2, τ 3, and τ 4. In the example, the base job subset is { τ 2, τ 3, and τ 4 } and the base job is τ 4.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.