HASSO-PLATTNER-INSTITUT für Softwaresystemtechnik GmbH an der Universität Potsdam Multiprocessor Scheduling “Global Multiprocessor Scheduling of Aperiodic Tasks using TimeIndependent Priorities” Alexander Küchler H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Agenda Definitions Previous work Problems, assumptions and goals Results ‘Calculating’ Uthreshold Strategy for using the bound References Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 2 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Definitions I Global/dynamic scheduling = a process can be migrate from one processor to another at runtime (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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 3 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m 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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 4 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Definitions III V(t) is a task set with Ai≤t<Ai+Di Synthetic utilization is US t Alexander Küchler 715659 U Ti V t i /m Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 5 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m 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 1 1 1 2 (3) shows avoidance of Dhall’s effect for periodic tasks by dividing tasks into two categories (UiUthreshold(m) = heavy; Ui Uthreshold (m) = light) Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 6 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Previous work I – Dhall’s effect Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 7 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m 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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 8 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m 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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 9 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Results I Optimal utilization is a function of the number of processors m: 3m 2 7m2 8m 2 U threshold m m with m 1 U threshold m 3 7 35.425% for m 1 2 for m 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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 10 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m 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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 11 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘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 … Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 12 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘Calculating’ Uthreshold II Lemma 1: A task Tx and a task pattern where each Ti that has higher priority than Tx has Ai≥Ax can be modified to a task pattern with same US(t) and block interference on Tx Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 13 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘Calculating’ Uthreshold II (Lemma 1) Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 14 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 15 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘Calculating’ Uthreshold II (Theorem 1) Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 16 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘Calculating’ Uthreshold II (Theorem 1) Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 17 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘Calculating’ Uthreshold II (Theorem 1) Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 18 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 19 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m ‘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 Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 20 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Strategy for using the bound I Accept incoming tasks when current US t Uthreshold 35, 425% An accepted task Ti is light if U i U threshold Use m: accept incoming tasks when current US t Uthreshold m An accepted task Ti is light if Ui Uthreshold m Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 21 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Strategy for using the bound II Keep track of U max max Ui among current tasks: accept incoming tasks if US t um U max for liquid tasks: accept for US t 1/ 1 1/ 2 [2] In admission test: for very hard tasks with 2 Uthreshold m increase US(t) with Uthreshold m / m only in the interval Ai≤t≤Ai+Di, so you reduce synthetic utilization and can accept more tasks Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 22 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m References (1) “Schedulability Analysis and Utilization Bounds for Highly Scalable RealTime Services”; Abdelzaher/Lu (2) “The Aperiodic Multiprocessor Utilization Bounds for Liquid Tasks”; Abdelzaher et.al (3) “Static-priority scheduling on multiprocessors”; Andersson/Baruah/Jonsson (4) “Analyzing Fixed-Priority Multiprocessor Scheduling”; Lundberg Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 23 H A S S O P L A T T N E R I N S T I T U T f ü r S o f t w a r e s y s t e m t e c h n k i G m b H a n d e r U n v i e r s t i ä tP o t s d a m Questions? Thank you very much for your attention. Any questions left? Ask me! Alexander Küchler 715659 Multiprocessor Scheduling Prof. Dr. Lars Lundberg, Prof. Dr. Andreas Polze 24
© Copyright 2025 Paperzz