240 likes | 294 Views
Multiprocessor Scheduling. “Global Multiprocessor Scheduling of Aperiodic Tasks using Time-Independent Priorities” Alexander Küchler. Agenda. Definitions Previous work Problems, assumptions and goals Results ‘Calculating’ U threshold Strategy for using the bound References.
E N D
Multiprocessor Scheduling “Global Multiprocessor Scheduling of Aperiodic Tasks using Time-Independent Priorities” Alexander Küchler
Agenda • Definitions • Previous work • Problems, assumptions and goals • Results • ‘Calculating’ Uthreshold • Strategy for using the bound • References Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Definitions I • Global/dynamic scheduling = a process can be migrate from one processor to another at run-time (assumption: no penalty for migration) • Aperiodic tasks = subgroup of periodic tasks, where no statements for arrival can be made • Time-independent priorities = assigned priority does not depend of its absolute arrival time • Preemptive scheduling = a task can be interrupted and continued later Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Definitions II • Multiprocessor with m processors and a set of n independent tasks • Each task Tn has • an arrival time An • a worst-case execution time Cn • a deadline Dn, • a synthetic utilization Un=Cn/Dn • a priority Pn • Total utilization U is the sum of all Un of tasks that have arrived but not yet reached their deadline Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Definitions III • V(t) is a task set with Ai≤t<Ai+Di • Synthetic utilization is Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Previous work I • (1) shows categorization of time-independent and non-time-independent scheduling policies for aperiodic tasks • (2) shows optimal utilization bound of for liquid tasks (Ci0 and Ci/Di0) on multiprocessor machines • (3) shows avoidance of Dhall’s effect for periodic tasks • by dividing tasks into two categories (UiUthreshold(m) = heavy; UiUthreshold (m) = light) Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Previous work I – Dhall’s effect Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Previous work II • (4) shows similar problem for periodic tasks with a result of ln(1+y)=(1-y)/(1+y) which is approx. 37,482% for m Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Problems, assumptions and goals • Problems: • Dhall’s effect shows that deadline monotonic priority assignment may lead to missed deadlines even if U is very low • Assumptions: • Preemptive scheduling is possible • Time-independent priorities for each task (depending on C and D, not A!) • Goals: • All tasks in the task set meet their deadlines Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Results I • Optimal utilization is a function of the number of processors m: with • Uthreshold has two meanings: • threshold for synthetic utilization in the admission control of incoming tasks: accept or reject • threshold for categorization of light and heavy tasks Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Results II • Uthreshold is an always valid bound (but not always optimal for all multiprocessors) • Generalize previous single-processor results [1] to multiprocessors • Extend previous multiprocessor results by considering not only liquid tasks [2] which are a special case of the generalized formulas Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold I • The idea behind the calculation is that one: • compute US(t) for a worst-case critically schedulable task pattern • this depends on the number of processors and is a function of x=Un=Cn/Dn • The calculation based upon one lemma and two theorem’s … Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II • Lemma 1: A task Tx and a task pattern where each Ti that has higher priority than Tx has Ai≥Axcan be modified to a task pattern with same US(t) and block interference on Tx Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Lemma 1) Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Theorem 1) • Theorem 1: There is a worst-case critically schedulable task pattern, such that no task Ti in this task pattern has an arrival time Ai<An: that means that we can disregard all tasks with an early arrival, because they do not influence the block interference Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Theorem 1) Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Theorem 1) Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Theorem 1) Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold II (Theorem 2) • Theorem 2: Create m copies of each task disregarding Tn, the load on each processor is identical reduce of the problem to a single-processor case Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
‘Calculating’ Uthreshold III • Important: by splitting each task into m new tasks block interference from high priority tasks occurs • [1] shows the worst-case how to handle the problem • An quadratic equation will be solved to get an optimal utilization bound for the single-processor case from [1] • Regard for the problem of heavy tasks: m heavy tasks with large D may lead to missed deadlines priority assignment strategy to avoid Dhall’s effect: • 1. consider high utilization • 2. consider short deadline Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Strategy for using the bound I • Accept incoming tasks when current An accepted task Ti is light if • Use m: accept incoming tasks when current An accepted task Ti is light if Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Strategy for using the bound II • Keep track of among current tasks: accept incoming tasks if for liquid tasks: accept for [2] • In admission test: for very hard tasks with increase US(t) with only in the interval Ai≤t≤Ai+Di, so you reduce synthetic utilization and can accept more tasks Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
References • “Schedulability Analysis and Utilization Bounds for Highly Scalable Real-Time Services”; Abdelzaher/Lu • “The Aperiodic Multiprocessor Utilization Bounds for Liquid Tasks”; Abdelzaher et.al • “Static-priority scheduling on multiprocessors”; Andersson/Baruah/Jonsson • “Analyzing Fixed-Priority Multiprocessor Scheduling”; Lundberg Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze
Questions? Thank you very much for your attention. Any questions left? Ask me! Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze