MAX PLANCK INSTITUTE FOR SOFTWARE SYSTEMS Mitra Nasri Geoffrey Nelissen Bj ӧ rn B. Brandenburg ECRTS 2018
Applicable to • Irregular release patterns Multiprocessor • Bursty releases • platform And periodic tasks with/without offset Per job best-case and worst-case response time (BCRT and WCRT) Non-preemptive job sets Hard or soft timing constraints Our Global analysis job-level fixed-priority (JLFP) work-conserving Release jitter scheduling policies Execution time variation Bounded Global EDF jitter Global fixed priority Bounded variation Global RM … execution deadline Non-deterministic release time 2
Preserves data affinity Makes synchronization easy Reduces context switches of local caches and scheduling overheads (e.g., resolves lock-holder preemption problem) Improves the accuracy of Reduces the worst-case estimating the WCET by execution times (WCET) simplifying the execution Hence, it can be used to make multiprocessor platforms more (time) predictable 3
Schedulability of global JLFP non-preemptive policies for Sporadic Finite Periodic tasks Synchronous job sets* with offset periodic tasks tasks open problem open problem open problem Exact analysis Open problem Analysis od sporadic Analysis od sporadic tasks is applicable but Sufficient analyses tasks is applicable but • Global fixed-priority very pessimistic very pessimistic [Baruah06, Guan08, Guan11, Lee14, Lee17] • Global EDF [Baruah06, Guan08] • General work-conserving policy [Baruah06, Guan08] We derive a response-time bound for these cases Applicable to • Irregular release patterns • Bursty releases • Frame-based tasks • … * In finite job sets, each job is known by its release time, release jitter, best-case and worst-case execution times, and deadline JLFP: job-level fixed-priority 4
A response-time analysis for a wide class of global scheduling policies based on searching the space of possible schedules We use and extend the notion of schedule- abstraction graphs [RTSS’ 17] (recently introduced to analyze uniprocessor non-preemptive scheduling) [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12. 5
Schedule-Abstraction Graphs (definition, usage, and construction) 6 6
Latest release Worst-case execution Arrival time Best-case execution time [Audsley93] time (BCET) time (WCET) Arrival time deadline Job Release time Deadline Execution time Priority Min Max Min Max Release jitter 𝐾 1 𝐾 1 0 7 13 1 5 high 0 7 13 𝐾 2 2 5 15 2 5 low 𝐾 2 2 15 5 Since there is no periodicity assumption about job releases, finding a worst-case scenario is fundamentally hard Naively enumerating all possible combinations of release times and execution times (a.k.a. execution scenarios) is not practical [Audsley’ 93] Neil Audsley, Alan Burns, Mike Richardson, Ken Tindell, and Andy J. Wellings. Applying new scheduling theory to static priority preemptive scheduling. Software Engineering Journal, 1993. 7 7
“ schedule-abstraction graph ” [RTSS’ 17] is a technique that allows us to aggregate “ similar ” schedules while searching for all possible schedules Hence, it reduces the search space 8 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12. 8
A path in the graph represents an ordered set of dispatched jobs final state : initial state : Every path includes all jobs no job has been dispatched 𝑲 𝟐 𝑲 𝟑 𝑲 𝟒 𝑲 𝟓 𝑲 𝟑 𝑲 𝟐 9 9 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
A vertex abstracts a system state A path in the graph represents an An edge abstracts a dispatched job ordered set of dispatched jobs system state system state (after dispatching 𝐾 3 ) (before dispatching 𝐾 3 ) 𝑲 𝟒 finishes any time during [5, 10] 10 10 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
A state represents the A vertex abstracts a system state A path in the graph represents an finish-time interval of An edge abstracts a dispatched job ordered set of dispatched jobs any path reaching that state 𝑤 𝑞 : 10, 25 𝑲 𝟑 finishes processor is certainly in 12, 𝟑𝟔 available after time 25 𝑲 𝟐 finishes processor is certainly busy in 𝟐𝟏, 15 before time 10 11 11 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
The worst-case (best-case) response time of a job 𝑲 𝒋 is its largest (smallest) finish time among all edges whose label is 𝑲 𝒋 Example for job 𝑲 𝟑 𝑲 𝟑 finishes in 12, 25 𝑲 𝟑 finishes 𝑲 𝟑 finishes in 14, 18 in 20, 24 𝑲 𝟑 finishes in 3, 10 𝑲 𝟑 finishes in 16, 28 BCRT = 3 WCRT = 28 12 12 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
Repeat until every path includes all jobs [RTSS’ 17] used a 1. Find the shortest path breadth-first strategy 2. For each not-dispatched job that can be dispatched after the path: 2.1. Expand (add a new vertex) 2.2. Merge (if possible, merge the new vertex with an existing vertex) Initial state merged merged merged merged 13 13 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
Schedule-Abstraction Graphs for Global Scheduling Policies (this work) 14 14
Goal : define and build a schedule-abstraction graph for global scheduling policies SYSTEM ABSTRACTION EXPANSION RULES MERGING RULES (What is the system state? (How to select jobs that can be dispatched (When and how to merge What is on the edges?) “next” by the scheduling policy at any state?) two states?) In the paper In the talk How to encode the state of processor(s)? What are the other parameters that must be in the state? Examples : Cache state Our prior work in [RTSS’ 17] was for uniprocessor system Its state definition and expansion and merging rules are not applicable to multiprocessor scheduling 15 15 [RTSS’ 17] Mitra Nasri and Björn B. Brandenburg, "An Exact and Sustainable Analysis of Non- Preemptive Scheduling”, RTSS, 2017, pp. 1-12.
The earliest finish time of the job running on this core The latest finish time of the 𝜒 1 : 𝐹𝐺𝑈 1 , 𝑀𝐺𝑈 job running on this core 1 𝜒 2 : 𝐹𝐺𝑈 2 , 𝑀𝐺𝑈 2 𝑤 𝑗 = … One interval for each of the 𝑛 cores 𝜒 𝑛 : [𝐹𝐺𝑈 𝑛 , 𝑀𝐺𝑈 𝑛 ] Example: 𝑤 𝑞 : 𝜒 1 ∶ 10, 20 𝜒 2 ∶ 30, 40 Core 𝝌 𝟐 is possibly available from time 10 Core 𝝌 𝟐 is certainly Core 𝝌 𝟐 is certainly available from time 20 not available before time 10 10 20 𝜒 1 𝑤 𝑞 30 40 𝜒 2 time 16 16
𝑤 𝑦 : 𝜒 1 ∶ … 𝐾 𝑗 on 𝜒 1 𝜒 2 ∶ … 𝐾 𝑗 on 𝜒 2 𝑤 𝑧 : 𝜒 1 ∶ … 𝜒 2 ∶ … 𝐾 ℎ on 𝜒 1 𝑤 𝑞 : 𝜒 1 ∶ 𝐹𝐺𝑈 1 , 𝑀𝐺𝑈 𝑤 𝑨 : 𝜒 1 ∶ … 1 𝜒 2 ∶ 𝐹𝐺𝑈 2 , 𝑀𝐺𝑈 2 𝜒 2 ∶ … (eligible jobs) Which jobs may possibly be dispatched What is the new state ? “next” on each of the cores? Rule 1: work-conserving scheduler If at time 𝑢 there is a certainly released job and a certainly available core, a job will be dispatched at time 𝑢 . Rule 2: job-level fixed-priority scheduler A lower priority job cannot be dispatched as soon as a higher-priority job is certainly released and not yet scheduled. 17 17
For each not-scheduled job 𝐾 𝑗 on each core 𝜒 𝑙 Example : is 𝐾 𝑚𝑝𝑥 eligible on each core 𝜒 1 ? 10 25 𝜒 1 𝑤 𝑞 Find the earliest start time (EST) of 𝐾 𝑗 on 𝜒 𝑙 30 40 𝜒 2 1 Find the latest start time (LST) of 𝐾 𝑗 on any core for a work-conserving and JLFP policy 𝐾 𝑚𝑝𝑥 2 45 5 15 𝐾 ℎ𝑗ℎ If EST ≤ LST then add an edge for job 𝐾 𝑗 50 12 20 dispatched on core 𝜒 𝑙 3 𝐹𝑇𝑈 time 10 earliest start time Job Release time Deadline Execution time Priority Min Max Min Max 𝐾 𝑚𝑝𝑥 5 15 50 2 15 low 𝐾 ℎ𝑗ℎ 12 20 45 1 10 high 18 18
For each not-scheduled job 𝐾 𝑗 on each core 𝜒 𝑙 Example : is 𝐾 𝑚𝑝𝑥 eligible on each core 𝜒 1 ? 10 25 𝜒 1 𝑤 𝑞 Find the earliest start time (EST) of 𝐾 𝑗 on 𝜒 𝑙 30 40 𝜒 2 1 Find the latest start time (LST) of 𝐾 𝑗 on any core for a work-conserving and JLFP policy 𝐾 𝑚𝑝𝑥 2 45 5 15 𝐾 ℎ𝑗ℎ If EST ≤ LST then add an edge for job 𝐾 𝑗 50 12 20 dispatched on core 𝜒 𝑙 3 𝑥𝑑 𝐹𝑇𝑈 time 10 25 work-conserving policy Job Release time Deadline Execution time Priority Merging rules and other details Min Max Min Max 𝐾 𝑚𝑝𝑥 in the paper… 5 15 50 2 15 low 𝐾 ℎ𝑗ℎ 12 20 45 1 10 high 19 19
Empirical Evaluation 20 20
Recommend
More recommend