Download presentation
Presentation is loading. Please wait.
Published byMartin Barnett Modified over 9 years ago
1
Soft Real-Time Semi-Partitioned Scheduling with Restricted Migrations on Uniform Heterogeneous Multiprocessors Kecheng Yang James H. Anderson Dept. of Computer Science UNC-Chapel Hill
2
Motivation Soft real-time (SRT) semi-partitioned scheduling algorithms with restricted migrations have been previously proposed for homogeneous multiprocessors. Heterogeneous multiprocessors are emerging. E.g., the big.LITTLE technology from ARM. image source: http://www.arm.com/Big.Little_New.gif
3
Contributions EDF-sh ( semi-partitioned scheduling for heterogeneous multiprocessors) is the first SRT scheduling algorithm with restricted migrations for heterogeneous multiprocessors. Develop a schedulability condition. Improve the task assignment strategy. Derive tardiness bounds. Evaluate the schedulability and tardiness bounds.
4
Multiprocessor Platforms Categories Identical: All processors of speed 1.0. Uniform Heterogeneous: Processor p has speed s p. Unrelated Heterogeneous: Task i executes with speed s p,i on processor p. We assume there are m processors indexed by speed, i.e., s 1 ≥ s 2 ≥ … ≥ s m. This paper
5
Real-Time Tasks Task model: sporadic tasks with implicit deadlines. Task i is specified by (C i, T i ), where C i is defined by its worst-cast execution time (WCET) on a unit-speed processor (i.e., if it entirely executes on processors p, its WCET would be C i /s p ), and T i is it period. Its utilization is defined as u i = C i /T i, which can be greater than 1 if there is a processor with a speed greater than 1. Also, we assume there are n tasks indexed by utilization, i.e., u 1 ≥ u 2 ≥ … ≥ u n. CiCiCiCi CiCiCiCi 0 CiCi time if S p =2 if S p =1
6
Conditions FeasibilitySchedulability for k = 1, 2, …, m Processor p is “fast enough” for task i if s p ≥u i. a necessary condition for only executing tasks on fast enough processors without overutilizing them. s 1 = 3, s 2 = 1; u 1 = 2, u 2 = 2.
7
Semi-Partitioned Scheduling In semi-partitioned scheduling, most tasks are partitioned, or fixed, onto processors, but those tasks that cannot be feasibly partitioned are allowed to migrate. Our algorithm EDF-sh is such a semi-partitioned scheduling algorithm.
8
EDF-sh EDF-sh has two phases, an assignment phase and an execution phase. Assignment phase: Consider tasks from heaviest to lightest. If the considered task can be fixed then fix it (fixed task). Otherwise allocate shares on processors from fastest to slowest to match its utilization (migrating task).
9
τ 4 =(4,3) 100% Example τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Both tasks and processors are indexed decreasingly w.r.t utilization or speed. Fix a task when possible Migrating task are assigned to processors from fastest to slowest τ 4 =(4,3) τ 7 =(1,3) τ i =(C i,T i ): τ 1 =(3,1), τ 2 =(11,6), τ 3 =(5,3), τ 4 =(4,3), τ 5 =(1,2), τ 6 =(2,6), τ 7 =(1,3).
10
τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example Key properties for the assignment: 1.On any single processor, there are at most two migrating tasks. 2.A task will not assign a share to a not-fast-enough processor. Processor p is “fast enough” for task i if s p ≥u i.
11
Restricted Migrations Fixed tasks do not migrate. Migrating tasks do migrate, but the migrations can only happen on job boundaries. We assign jobs to processors. I.e., a migrating task can migrate among processors; however, a single job can only execute on the processor it was assigned to. Given the shares of a migrating task on each processor, we have a mechanism to systematically assign the jobs of this task to those processors, maintaining the long-term workload on each processor to match its corresponding share. If a migrating task has been assigned one half to processor 1 and one half to processor 2, then we just need to assign all the odd-indexed jobs to processor 1 and all the even-indexed jobs to processor 2.
12
τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example the one-half-one-half case we discussed in the prior slide For τ 4, every 8 jobs, 6 → Processor 1, 1 → Processor 2, 1 → Processor 3.
13
EDF-sh Execution phase: Migrating tasks are statically prioritized over fixed tasks. Fixed tasks are prioritized against each other on by EDF. On a migrating task's last processor (the highest-indexed processor that has non-zero share of this migrating task), its priority is lower than the other migrating task, but still higher than fixed ones.
14
τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example High Priority The last processor of τ 4. Priority: τ 7 >τ 4 >fixed ones. Low Priority
15
Tardiness Bounds The tardiness bounds are computed inductively. The order is as follows. Migrating task(s) that do not share their last processor with other migrating tasks. (base case) Migrating task(s), if on their last processor, the bound for the other migrating task has already been computed. (inductively) Fixed task(s).
16
τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 4 =(4,3) τ 7 =(1,3)τ 4 =(4,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example First, compute a bound for τ 7, since it does not share its last processor. Finally, we compute the bounds for fixed tasks by the already computed bounds for τ 4 and τ 7. τ 4 shares its last processor with τ 7, so we need τ 7 ’s bound to compute τ 4 ’s.
17
Proof Key idea: introduce a hypothetical situation. Tardiness in the hypothetical situation upper bounds that in the real situation. Derive a upper bound on the tardiness for the hypothetical situation. Real Situation ≤ Hypothetical Situation ≤ Bounds
18
τ 1 =(3,1) τ 2 =(11,6) τ 3 =(5,3) τ 5 = (1,2) τ 7 =(1,3) τ 7 = (1,3) 3 s 1 = 4 Processor Capacity Processor Speed 100% 0% s 2 = 2s 3 = 2s 4 = 1 τ 4 =(4,3) 1 τ 6 = (2,6) Example τ 4 =(4,3) faster processor highest priority slower processor may not be the highest priority faster processor highest priority slower processor may not be the highest priority
19
Schedulability
20
Tardiness Bounds Multiples of periods
21
Future Works Eliminate the utilization constraints to develop an optimal scheduling algorithm for uniform heterogeneous multiprocessors. Implement the schedulers on real heterogeneous hardware. Consider CPU frequency scaling, where an identical multiprocessor may function as a heterogeneous multiprocessor.
22
Thank you! Questions?
25
Schedulability Four different platform settings. π 1 ={6,6,6,6,3,3,3,3} π 2 ={8,8,4,4,4,4,3,3} π 3 ={8,7,6,5,4,3,2,1} π 4 ={15,3,3,3,3,3,3,3} the percentage of randomly generated feasible task sets that satisfied our proposed schedulability conditions
26
Tardiness Bounds The ratio of the tardiness bounds and corresponding tasks’ periods Two different platform settings. π 1 ={6,6,6,6,3,3,3,3} π 2 ={8,8,4,4,4,4,3,3}
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.