Top Banner
IEMS-DM Diskrete Methoden Schedulingalgorithmen Prof. Dr. Th. Ottmann
30

Diskrete Methoden Schedulingalgorithmen

Jan 31, 2016

Download

Documents

Jania

Diskrete Methoden Schedulingalgorithmen. Prof. Dr. Th. Ottmann. Lernziele. Welche Bedeutung spielt Scheduling für eingebettete Systeme? Welche Arten von Schedulingproblemen gibt es? - PowerPoint PPT Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Diskrete Methoden

    SchedulingalgorithmenProf. Dr. Th. Ottmann

    WS 05/06

  • LernzieleWelche Bedeutung spielt Scheduling fr eingebettete Systeme?Welche Arten von Schedulingproblemen gibt es?Wie kann man auszufhrende Aktivitten (Tasks) effizient mit einem passenden Schedulingalgorithmus einplanen?Beispiele fr Scheduling Verfahren:EDD (Earliest Due Date)EDF (Earliest Deadline First)

    WS 05/06

  • Bedeutung von Scheduling fr eingebettete SystemeEingebettete Systeme als Echtzeitsysteme:Hufig wird von eingebetteten Systemen verlangt, dass sie in fest definierten Zeitschranken arbeiten und mit der Auenwelt kommunizieren, sie sind sogenannte Echtzeit-Computersysteme.Beispiele fr Anwendungen:Kontrolle von Produktionsprozessen,Verkehrsleitsysteme,Telekommunikation,Robotersteuerung, In Echtzeit Systemen unterscheidet man:harte Tasks: Verpassen der Deadline kann katastrophale Folgen habenweiche Tasks: Einhalten der Deadline ist erwnscht, aber nicht zwingend

    WS 05/06

  • Bedeutung von Scheduling fr eingebettete SystemeAusfhrungszeiten der Tasks mssen bekannt sein.

    Problem: Ausfhrungszeiten schwierig zu bestimmen oder unbekanntLsung: Schtze sichere obere Schranken fr das Ausfhrungsende (WCET)

    Die jeweils anstehenden Aufgaben (Aktivitten, Jobs, Tasks) mssen zeiteffizient mit einem Schedulingverfahren eingeplant werden.

    WS 05/06

  • Klassifkation u. Definitionen von SchedulingverfahrenPeriodische (vs. aperiodische) Tasks Tasks, die alle p Zeiteinheiten ausgefhrt werden mssen. p ist die Periode. Jede Ausfhrung eines periodischen Tasks heit Job.

    Premptives (vs. nicht-premptives) Scheduling premptiv bedeutet, dass ein Task unterbrochen werden kann und spter fortgesetzt werden kann. Ermglicht u.a. Reaktion aufexterne Ereignisse.

    Dynamisches (vs. statisches) Scheduling Einplanung / Umplanung zur Laufzeit

    Harte (vs. weiche) Zeitbedingungen Zeitschranken drfen nicht berschritten werden

    Tasks-Beschreibungsliste (TDL) Ausfhrung durch Dispatcher in zeitgesteuerten Betriebssystemen

    WS 05/06

  • Statisches vs. dynamisches SchedulingStatisches (Offline-)Scheduling:Die Startzeiten aller Tasks werden vorab berechnet, in einer Tabelle niedergelegt (Task-Beschreibungs-Liste, TDL) und an einen zeitgesteuerten Dispatcher weitergeleitet.

    Dynamisches (Online-)Scheduling:Entscheidungen ber Prozessorzuweisungen (Scheduling) erfolgen zur Laufzeit. Die Entscheidungen werden aufgrund von Informationen ber bisher angekommene Tasks getroffen

    Annahme: Ein-Prozessorsystem

    WS 05/06

  • Beispiel TaskbeschreibungslisteTaskbeschreibungslisten (TDL) werden vom Dispatcher interpretiert und die entsprechenden Tasks angestoen und berwachtDer Dispatcher arbeitet taktgesteuert (synchron)Beispiel:

    WS 05/06

  • Beispiel eines Schedules von drei TasksScheduling auf einem Prozessor

    t4t3t2t1J1J2J3(t)

    WS 05/06

  • Beispiel eines premptiven SchedulesScheduling auf einem Prozessor

    t6t3t2t1J1J2J3t4t5J2J1(t)

    WS 05/06

  • Zeitgesteuerte Systeme pre-run-time scheduling is often the only practical means of providing predictability in a complex system. [Xu, Parnas].

    Vorteil:Es ist einfach, zu prfen, ob die Zeitbedingen erfllt sind.Nachteil:Antwortzeiten auf seltene Ereignisse knnen lang sein.

    WS 05/06

  • SchedulabilityEine Menge von Tasks heit schedulable bzgl. einer gegebenen Menge von Bedingungen, wenn fr die Menge ein Schedule existiert, der die Bedingungen erfllt.Exakte Tests sind hufig NP-hard.Sufficiency Test: Prft hinreichende Bedingungen fr die Existenz eines Schedules. Folge: Es knnen Schedules existieren, obwohl die Bedingungen nicht gelten.Necessary Test: Prft notwendige Bedingungen fr die Existenz eines Schedules. Wird meistens benutzt zum Nachweis, dass kein Schedule existiert.necessaryschedulablesufficient

    WS 05/06

  • Charakteristika von Tasks und SchedulesTask Ji wird charakterisiert durch:Ankunftszeit aiAusfhrungszeit CiDeadline diStart Zeit siEndzeit fi

    Optimierungsziele: Minimiere

    Durchschnittliche Antwortzeit tr = 1/n i=1n (fi ai)

    Maximale Versptung (maximum lateness): Lmax = maxi (fi di)

    WS 05/06

  • Maximale VersptungDef.: Maximale Versptung (Maximum lateness) = maxall tasks (completion time deadline) Maximale Versptung ist < 0, wenn alle Tasks vor ihren jeweiligen Deadlines beendet sind.

    WS 05/06

  • Schedulingverfahren von JacksonScheduling auf einem Prozessor. Alle n Tasks sind unabhngig voneinander und knnen zur gleichen Zeit begonnen werden (zum Zeitpunkt 0).

    EDD: Earliest Due Date (Jackson, 1955)Jeder Algorithmus, der die Tasks in der Reihenfolge nicht abnehmender Deadlines ausfhrt, ist optimal bzgl. der Minimierung der maximalen Versptung

    Bew. (Butazzo, 2002): Sei A ein Algorithmus, der verschieden von EDD ist. Dann gibt es zwei Tasks Ja und Jb in dem von A erzeugten Schedule , so dass in Jb unmittelbar vor Ja steht, aber da db ist:JbJadadb

    WS 05/06

  • Optimalitt von EDD

    Sei ein Schedule, der von einem Algorithmus A erzeugt wird.Wenn A EDD Ja, Jb, da db, Jb geht Ja in unmittelbar voraus.Die maximale Versptung fr Ja und Jb in ist Lmax(a,b) = fa-da

    JbJadadb

    WS 05/06

  • Jacksons Algorithmus (1)Idee: Vertausche in Ja und Jb und zeige, dass die maximale Versptung hchstens abnimmt.

    Fall 1: La = fa da fb db = Lb

    L'max(a,b) = f'a da < fa da = Lmax(a,b) weil Ja im Schedule eher startet als in .

    JbJafafbJaJbdadbfa

    WS 05/06

  • Jacksons Algorithmus (2)Idee: Vertausche in Ja und Jb und zeige, dass die maximale Versptung hchstens abnimmt.

    Fall 2: La = fa da fb db= Lb

    L'max(a,b) = f'b db = fa db fa da = Lmax(a,b), weil fa=f'b und da db

    Also ist in jedem Fall L'max(a,b) Lmax(a,b)

    JbJafafbJaJbdadbfa

    WS 05/06

  • EDD ist optimalJeder Schedule mit Versptung L kann transformiert werden in einen EDD Schedule n mit Versptung Ln L; dieser muss also minimale Versptung haben.

    EDD ist optimal (q.e.d.)

    WS 05/06

  • Jacksons Algorithmus (3)EDD-Algorithmus:Sortiere die n Tasks J1, , Jn nach aufsteigenden Deadlines d1, , dn und fhre sie in dieser Reihenfolge aus!

    Ausfhrungszeit (fr Berechnung eines optimalen Schedules): O(n log n)

    WS 05/06

  • Schedulingverfahren von Horn (EDF)Scheduling auf einem Prozessor. Tasks knnen zu verschiedenen Zeitpunkten ankommen (ausfhrungsbereit sein) und unterbrochen ausgefhrt werden (preemption erlaubt).

    EDF: Earliest Deadline First (Horn, 1975) Jeder Algorithmus, der zu jedem Zeitpunkt diejenige ausfhrungsbereite Task mit der frhesten absoluten Deadline ausfhrt, ist optimal bzgl. der Minimierung der maximalen Versptung.

    WS 05/06

  • Schedulingverfahren von Horn (EDF)

    Jede ankommende ausfhrbare Task wird entsprechend ihrer absoluten Deadline in die Warteschleife der ausfhrbaren Tasks eingereiht

    Wird eine neu ankommende Task als erstes Element in die Warteschlange eingefgt, muss gerade ausgefhrte Task unterbrochen werden

    Effizienz von EDF hngt von Priority Queue Implementation ab!Sorted queueExecuting task

    WS 05/06

  • Earliest Deadline First (EDF): Beispielsptere Deadline no preemptionfrhere Deadline preemption

    WS 05/06

  • Optimalitt von of EDF (1)Zu zeigen: EDF minimiert die maximale Versptung.

    Beweis (Buttazzo, 2002):Sei ein Schedule, der von einem Verfahren A erzeugt wird.Sei EDF ein von EDF erzeugter Schedule.Premption sei erlaubt: Tasks werden in disjunkten Zeitintervallen ausgefhrt wird in Zeitscheiben der Einheitslnge 1 unterteilt Zeitscheiben werden mit [t, t+1) bezeichnetSei (t) die in [t, t+1) ausgefhrte Tasks.Sei E(t) die Tasks, die zum Zeitpunkt t die frheste deadline hat.Sei tE(t) die Zeit (t) zu der die nchste Zeitscheibe der Tasks E(t) im Schedule ausgefhrt wird.

    WS 05/06

  • Optimalitt von EDF (2)Wenn EDF, dann gibt es eine Zeit t: (t) E(t)Idee: vertausche (t) und E(t) ohne die max. lateness zu vergrernWenn (t) zur Zeit t=0 startet und D=maxi{di }, dann kann EDF aus mit hchstens D Vertauschungen erzeugt werden.2468101214160T1T3T2T4(t)=4; (tE)=22468101214160T1T3T2T4(t)=2; (tE)=4[Buttazzo, 2002]

    WS 05/06

  • Optimalitt von EDF (3)Algorithmus interchange:{ for (t=0 to D -1) { if ((t) E(t)) { (tE) = (t); (t) = E(t); }}}Mit Hilfe eines analogen Arguments wie beim Jackson Algorithmus kann man zeigen, dass die maximale Versptung nicht zunehmen kann;also ist EDF optimal.Konserviert interchange Schedulability?Task E(t) wird vorgezogen: Deadline im neuen Schedule wird eingehalten, wenn Deadline in eingehalten wird.

    Task (t) wird verzgert: Wenn (t) ausfhrbar ist, dann ist (tE+1) dE, wobei dE die frheste Deadline ist. Weil dE di fr jedes i, folgt tE+1 di, das garantiert Schedulability der verzgerten Task (Zeitscheibe).q.e.d.[Buttazzo, 2002]

    WS 05/06

  • Scheduling von abhngigen TasksTask Graph und ein mglicher ScheduleSchedule kann in Tabelle gespeichert werden.

    WS 05/06

  • Gleichzeitig ankommende Tasks: LDFThe Latest Deadline First (LDF) Algorithm [Lawler, 1973]: LDF liest den Task Graph und legt von allen Tasks ohne Nachfolger jeweils den mit sptester Deadline in einem Stapel ab. Das wird fr alle verbleibenden Tasks wiederholt.

    Zur Laufzeit werden die Tasks in der so erzeugten Reihenfolge ausgefhrt.

    LDF ist nicht-premptiv und is optimal fr Ein-Prozessorsysteme.Wenn es nur eine globale Deadline gibt, fhrt LDFeine topologische Sortierung der Tasks durch.

    WS 05/06

  • Asynchron ankommende Tasks: mEDFDieser Fall kann mit einer Modifikation des EDF Algorithmus behandelt werden: mEDF-Algorithmus

    Idee: Verwandle das Scheduling Problem fr die Menge abhngiger Tasks in ein Scheduling Problem fr unabhngige Tasks mit geeignet gewhlten Zeitparametern [Chetto90].

    Dieser Algorithmus ist optimal fr Ein-Prozessor Systeme.

    WS 05/06

  • ZusammenfassungWorst case execution times (WCET)Definition von Begriffen im Scheduling: Harte vs. weiche DeadlinesStatisches vs. dynamisches Scheduling SchedulabilityScheduling VerfahrenAperiodische Tasksohne Abhngigkeitenalle Tasks gleichzeitig verfgbar (EDD) asynchrone Ankunftszeiten (EDF)Abhngigkeiten (Precedences)alle Tasks gleichzeitig verfgbar ( LDF)asynchrone Ankunftszeiten ( mEDF)

    WS 05/06

  • LiteraturP. Marwedel: Eingebettete Systeme, Springer-Verlag, Berlin u.a., 2007G.C. Buttazzo: Hard Real-Time Computing Systems, Predictable Scheduling Algorithms and Applications, Kluwer Academic Publishers, Boston u.a., 2002P. Brucker: Scheduling Algorithms, 5th ed., Springer-Verlag, Berlin u.a., 2007

    WS 05/06