Constant Bandwidth Servers with Constrained Deadlines Daniel Casini , Luca Abeni, Alessandro Biondi, Tommaso Cucinotta, and Giorgio Buttazzo Scuola Superiore Sant’Anna – ReTiS Laboratory Pisa, Italy 1
This talk in a nutshell Challanges in designing a 1 reservation servers with constrained deadlines 2 Three new different algorithms 3 Simulation study to assess their performance 2
Why using constrained-deadlines? Recent work showed that Semi-Partitioned scheduling can achieve high schedulability performance with low complexity: “ Global Scheduling Not Required ” by Brandenburg and Gul for static workloads (RTSS 2016) “ Semi-Partitioned Scheduling of Dynamic Real- Time Workload ” by Casini et al. for dynamic workloads (ECRTS 2017) 3
Why using constrained-deadlines? Recent work showed that Semi-Partitioned scheduling can achieve high schedulability performance with low complexity: “ Global Scheduling Not Required ” by Brandenburg and Gul for static workloads (RTSS 2016) Both requires constrained-deadline (C=D) reservations! “ Semi-Partitioned Scheduling of Dynamic Real- Time Workload ” by Casini et al. for dynamic workloads (ECRTS 2017) 4
Why using constrained-deadlines? Supporting constrained-deadlines is an open problem also for the SCHED_DEADLINE scheduling class of Linux (based on reservations with the H-CBS algorithm) Currently discussed also in the Linux kernel mailing list 5
Hard Constant Bandwidth Server H-CBS is a reservation algorithm allowing to guarantee: A bandwidth 𝛽 = 𝑅 𝑄 A bounded maximum service-delay ∆= 2(𝑄 − 𝑅) ∆= 2(𝑄 − 𝑅) Worst-case scenario for the service delay 2P P Q 6
Importance of a bounded delay A bounded-delay allows deriving a supply-bound function that can be used for testing the schedulability of the workload running inside the server: 2P P sbf(𝑢) Case of implicit-deadlines ∆ 𝑢 7
H-CBS key rule H-CBS has a specific rule to generate a new budget and scheduling deadline when the server wakes up from the idle state: 𝑗𝑔 𝑢 < 𝑒 − 𝑟/𝛽 (𝑟, 𝑒) q, d = ቊ (𝑅, 𝑢 + 𝑄) 𝑝𝑢ℎ𝑓𝑠𝑥𝑗𝑡𝑓" This rule has been derived by EDF schedulability theory for implicit-deadline tasks ( utilization- based ), which indeed cannot be re-used to ensure schedulability with constrained deadlines! 8
Possible simple solutions Mimic the polling server Higher worst-case delay! ∆= P + (D − Q) D 2P P P+D 𝜗 0 Q Configure H-CBS to use D in place of P 100% High pessimism! 𝑇 𝐷=𝐸 CPU 9
Design Issues How to modify the server rules for providing a given bandwidth and a better maximum- service delay, without sacrificing schedulability? How to achieve a maximum service delay equal to ∆ = 𝐸 + 𝑄 − 2𝑅? ∆= D + P −2Q D 2P P P+D Q 10
Our Solutions 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑿 (H-CBS Deadline – Worst Case) Our solution for hard real-time systems 𝑰 - 𝑫𝑪𝑻 𝑬 (H-CBS Deadline) Our solution to improve average-case performance for soft real-time systems 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑺 (H-CBS Deadline - Reclaiming) Extends H - CBS D with reclaiming 11
𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑿 : Idea 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑿 leverages the results proposed by Biondi et al. for real-time self-suspending tasks Alessandro Biondi, Alessio Balsini, and Mauro Marinoni, “Resource reservation for real -time self-suspending tasks: theory and practice” (RTNS 2015) According to their approach, whenever a server should execute according to EDF scheduling, it consumes its budget independently whether it is self-suspended or not 12
𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑿 : Idea A similar approach can be adopted when a reservation goes idle: Server goes idle 𝑇 1 t 𝑟 1 𝑇 1 consumes its budget even if it is idle t 𝑇 2 t 𝑟 2 t 13
𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑿 : Evaluation PROS: It guarantees a bandwidth 𝛽 and a bounded delay ∆ = 𝐸 + P − 2𝑅 H - CBS D - W is independent from the adopted schedulability test ! CONS: It requires the implementation of an additional server queue to keep track of suspended servers The server may consume budget also when it is Room for improvement in terms of average-case not actually executing performance and soft real-time metrics 14
CAN WE DO BETTER (IN TERMS OF AVERAGE-CASE PERFORMANCE AND SOFT REAL-TIME METRICS) BY LEVERAGING A SPECIFIC SCHEDULABILITY ANALYSIS? THE 𝑰 − 𝑫𝑪𝑻 𝑬 ALGORITHM 15
𝑰 - 𝑫𝑪𝑻 𝑬 Idea Assign current budget and deadline by means of an online schedulability test based on approximated demand bound functions, but… 𝑒𝑐𝑔(𝑢) t Leveraging also the knowledge of online parameters! The current The scheduling budget 𝑟 𝑗 deadline 𝑒 𝑗 16
𝑰 - 𝑫𝑪𝑻 𝑬 Idea From the knowledge of such online variables we derived a schedulability test based on the following abstraction of the workload: Run-time demand function 𝑗 ( 𝑢, 𝑢 ∗ , 𝑟 𝑗, 𝑒 𝑗 ) 𝑠𝑒𝑔 Time in which the schedulability test is performed (at run-time) 𝑅 𝑗 𝑟 𝑗 𝑢 ∗ 𝑒 𝑗 t 𝑒 𝑗 − 𝑢 ∗ 𝑄 𝑗 17
𝑰 - 𝑫𝑪𝑻 𝑬 key rule 𝐼 - 𝐷𝐶𝑇 𝐸 assigns a new budget and scheduling deadline when the server wakes up from the idle state based on the following idea: re-use (𝑟, 𝑒) if rdf-based test holds q=Q with d=t+D otherwise Similar to H-CBS but using a schedulability test for valid constrained-deadline servers 18
𝑰 − 𝑫𝑪𝑻 𝑬 : Main Properties Bounded-delay: the algorithm guarantees a bounded worst-case service delay ∆= D + P −2Q D 2P P P+D Q Reserves a portion of the processor capacity for idle reservations A full budget replenishment is guaranteed to each reservation after at least 𝑄 𝑗 units of time from the last replenishment 19
A different approach: 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑺 Idea: Let’s allow a reservation to take the maximum possible budget which does not break schedulability! A reservation adopting 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑺 implicitly implements a budget reclaiming Average-case performance and probabilistic metrics could benefit of this approach (see simulations results …following slides!) 20
The 𝑰 - 𝑫𝑪𝑻 𝑬 - 𝑺 algorithm How to do this? We leveraged the 𝑠𝑒𝑔 -based schedulability analysis developed for 𝑰 − 𝑫𝑪𝑻 𝑬 to derive a sensitivity analysis: Find: max 𝑟 such that schedulability is not violated 21
SIMULATION RESULTS http://retis.santannapisa.it/~luca/RTNS17 22
Reservation generation First, we generated reservation bandwidths with the Emberson et al. Task-set generator, with: Periods distributed in [5000; 500000] us Budget obtained as 𝑅 𝑗 = 𝛽 𝑗 𝑄 𝑗 Relative deadline generated with uniform distribution in [𝑅 𝑗 + 𝛾(𝑄 𝑗 − 𝑅 𝑗 ) , 𝑄 𝑗 ] The workload running into each reservation consist of a single sporadic task Reservation-set with results to be unschedulable according to the approximated schedulability test have been discarded 100 different reservation-set have been tested 23
Workload generation Each job running into a reservation (i.e. its computation and inter-arrival time) is controlled by: 𝑑 𝑗 ഥ 𝐷 𝑠 = 𝑅 𝑗 𝑣 𝑗 𝑅 𝑗 𝑑 𝑗 ഥ 𝛽 𝑗 , with 𝛽 𝑗 = 𝑄 𝑗 , and ഥ 𝑏 = 𝑣 𝑗 = 𝑞 𝑗 Variance of execution (sc) and inter-arrival times (sp) The execution time of each job is uniformely distributed in 𝑡𝑑(sz) 𝑡𝑑(sz) , ഥ ] [ഥ 𝑑 𝑗 − 𝑑 𝑗 + 2 2 The inter-arrival time of each job is uniformely distributed in 𝑡𝑞(𝑡𝑨) 𝑡𝑞(𝑡𝑨) , ഥ ] [ഥ 𝑞 𝑗 − 𝑞 𝑗 + 2 2 24
Workload generation Each job running into a reservation (i.e. its computation and inter-arrival time) is controlled by: Ratio between the average 𝑑 𝑗 ഥ ET and the server budget 𝐷 𝑠 = 𝑅 𝑗 𝑣 𝑗 𝑅 𝑗 𝑑 𝑗 ഥ 𝛽 𝑗 , with 𝛽 𝑗 = 𝑄 𝑗 , and ഥ 𝑏 = 𝑣 𝑗 = 𝑞 𝑗 Variance of execution (sc) and inter-arrival times (sp) The execution time of each job is uniformely distributed in 𝑡𝑑(sz) 𝑡𝑑(sz) , ഥ ] [ഥ 𝑑 𝑗 − 𝑑 𝑗 + 2 2 The inter-arrival time of each job is uniformely distributed in 𝑡𝑞(𝑡𝑨) 𝑡𝑞(𝑡𝑨) , ഥ ] [ഥ 𝑞 𝑗 − 𝑞 𝑗 + 2 2 25
Workload generation Each job running into a reservation (i.e. its computation and inter-arrival time) is controlled by: 𝑑 𝑗 ഥ 𝐷 𝑠 = Ratio between the average task 𝑅 𝑗 utilization and the server bandwidth 𝑣 𝑗 𝑅 𝑗 𝑑 𝑗 ഥ 𝛽 𝑗 , with 𝛽 𝑗 = 𝑄 𝑗 , and ഥ 𝑏 = 𝑣 𝑗 = 𝑞 𝑗 Variance of execution (sc) and inter-arrival times (sp) The execution time of each job is uniformely distributed in 𝑡𝑑(sz) 𝑡𝑑(sz) , ഥ ] [ഥ 𝑑 𝑗 − 𝑑 𝑗 + 2 2 The inter-arrival time of each job is uniformely distributed in 𝑡𝑞(𝑡𝑨) 𝑡𝑞(𝑡𝑨) , ഥ ] [ഥ 𝑞 𝑗 − 𝑞 𝑗 + 2 2 26
Recommend
More recommend