entwicklung integrierter hw/sw-systeme integrierte hard ... · – was sind die vor - und nachteile...
TRANSCRIPT
Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group
Self-Organization 02 February 2015
1
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 27. Januar 2013
Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2
Seminar
Jorge Meza [email protected] Zusebau R2082, Tel: -4128
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
2
Inhalt des Seminars
• EvaSys Umfrage
• Leistungsbewertung – Verteilung von Tasks auf Prozessoren
• Listschedulingverfahren HLFET
• Iterative Optimierungsverfahren – Hill Climbing – Genetische Algorithmen
Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group
Self-Organization 02 February 2015
3
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 27. Januar 2013
Leistungsbewertung
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
4
Leistungsbewertung
• Qualität eines Entwurfs bzgl. Zeit- und Leistungsaspekten abzuschätzen
– Antwortzeit (Latenz): Zeitintervall zwischen einem Service-Request und der entsprechenden Antwort
– Auslastung: Nutzungsgrad einer Ressource in einem bestimmten Zeitraum
• Notwendig für: – Validierung und Verifikation der Leistungsanforderungen des Systems – Festlegung und Optimierung des zu entwickelnden Systems
• Heute:
– Modellbasierte Bewertung • Modell: Taskgraph • Methode: Diskrete ereignisorientierte Simulation • Leistungskriterien: Antwortzeit und Ressourcenauslastung
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
5
Aufgaben – Ereignisorientierte Simulation
2. Scheduling: Listschedulingverfahren HLFET 2.1. Ordnen Sie die Aufgaben zwei Prozessoren zu, so dass die
gesamte Ausführungszeit möglichst minimal wird.
Berechnen Sie die Auslastung der Prozessoren, sowie die Antwortzeit von Task F. Werden die Anforderungen erfüllt? Deadline für Abarbeitung von F < 12 Zeiteinheiten. Auslastung > 60%
• Highest Level First with Estimated Times (HLFET) – Ziel: Festlegung der Task-Prioritäten!! – Schritte:
1. Berechnung des längsten Pfades (Level) aller Knoten. Das ist als die maximale Ausführungszeit vom Knoten X bis zum Exit-Knoten K definiert.
2. Festlegung von Prioritäten für alle Knoten. Der berechnete Level ist der Prioritätswert eines Knotens. Ein höherer Wert entspricht einer höheren Priorität.
A
E
C D B
F
G
H
I J
K
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
6
Aufgaben – Ereignisorientierte Simulation
• Auslastung
• Ausführungszeiten – A: 3, B: 2, C: 4, D: 1 – E: 2, F: 7, G: 3, H: 4 – I: 1, J: 3, K: 2
A
E
C D B
F
G
H
I J
K
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
7
Aufgaben – Ereignisorientierte Simulation
A
E
C D B
F
G
H
I J
K
Aufgabe 2.1.: • ____ Einheiten gesamte Abarbeitungszeit
• Antwortzeit von Task F: ____ Einheiten • Auslastung der Prozessoren (in % bzw. als Bruch)
• Beide Prozessoren zusammen: ____ • Prozessor 1: ____ • Prozessor 2: ____
Task A B C D E F G H I J K
Level
Task
Priorität
P1
P2
Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel Integrated HW/SW Systems Group
Self-Organization 02 February 2015
8
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 27. Januar 2013
Iterative Optimierungsverfahren
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
9
Scheduling und Mapping Probleme
Bisher betrachtet (DFGs) – Ohne Ressourcenbeschränkungen (ASAP/ALAP) – Angegebene Anzahl von Ressourcen
Komplexe Probleme – Größere Anzahl von Knoten – Mit Latenz- und Ressourcenbeschränkungen – Betrachtung mehrerer Constraints (Fläche, Latenz, Stromverbrauch…)
Die Berechnung einer optimalen Lösung kann in polynomieller Zeit nicht gelöst werden!!!! Heuristische Optimierungsverfahren
Single-pass Verfahren (HLFTC) Iterative Verfahren (Hill Climbing, Genetische Algorithmen)
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
10
Hill Climbing
• Idee – Durchsuchung der Nachbarschaft der Lösung nach besseren Lösungen – Wahl der besten benachbarten Lösung
• Rein-lokale Optimierung
– Algorithmus ist nicht in der Lage ein leistungsmäßiges Tal zu durchschreiten um zu einem neuen Gipfel zu gelangen
– Typischerweise durch weitere Strategien ergänzt um lokale Maxima zu überwinden
• Implementierung
– Einfach zu implementieren – Geringe Nutzung von Speicherressourcen
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
11
Hill Climbing
Wie wird die Initiale Lösung ausgewählt? Wie werden benachbarte Lösungen erzeugt? Wie wird die Qualität einer Lösung bewertet?
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
12
Hill Climbing (Aufgabe)
• N-Damenproblem – Ziel: Es sollen jeweils N Damen auf einem N x N Schachbrett so aufgestellt
werden, dass keine zwei Damen einander nach den Schachregeln schlagen können. (Figurenfarbe wird ignoriert)
– Lösen Sie das Problem mittels Hill Climbing für N=4.
• Fragen – Wie wird die Initiale Lösung ausgewählt? – Wie werden benachbarte Lösungen erzeugt? – Wie wird die Qualität einer benachbarten Lösung bewertet?
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
13
Hill Climbing (Aufgabe) K= K= K=
K=
K=
K= K= K=
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
14
Genetische Algorithmen (GA)
• An die Evolutionstheorie angelehnt – Individuen passen sich an die Umwelt an. Die besten überleben – Optimierungsvorgang, der von Generation zu Generation fortschreitet
• GA arbeiten auf Mengen von Individuen (Population) – Neue Populationen werden iterativ generiert – Mehrere Lösungen können gleichzeitig abgearbeitet werden
• Bildung von Individuen durch zwei Operationen – Crossover (Kombination der ausgewählten Individuen) – Mutation (Zufällige Veränderung der Nachfahren)
• Andere Operationen – Auswahlstrategie (Auswahl von Individuen aus der Population) – Ersetzungsstrategie (Ersetzung von Individuen der alten Population) – Terminierungsstrategie (Anzahl an Iterationen)
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
15
Genetische Algorithmen
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
16
Genetische Algorithmen – Beispiel 1
• Funktion y = x • Ziel: Minimum der Funktion
• Population: • 4 Individuen
• Format der Population (Kodierung der Individuen): • Bitstring 0.4.2 (Kein Vorzeichen, 4 Vorkommastellen, 2 Nachkommast.)
z.B. 1,5: 0001 10 z.B. 3,75: 0011 11
• Startpopulation 0011 00 3,00 1001 01 9,25 1000 11 8,75 0010 10 2,50
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
17
Genetische Algorithmen – Beispiel 1
• Auswahlstrategie – Zufällige Auswahl von zwei Individuen (Elternteile)
• Crossover – An Stelle des Kommas (nach 4 Bit von links gezählt) – Gleiche Teile tauschen (NICHT Vorkomma- mit Nachkommastellen)
• Mutation – Ein zufälliges Bit aussuchen und invertieren (nach Crossover)
• Ersetzungsstrategie – Nach der Berechnung von zwei Kindern, wird das schlechteste Elternteil durch
das beste Kind ersetzt
• Terminierungsstrategie – nach 3 Iterationen
Die Operationen können auch anders festgelegt werden. Die hier gewählten ‚Einstellungen‘ sind nur eine von vielen Möglichkeiten!!!!
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
18
Genetische Algorithmen – Beispiel 1 Iteration 1 (Startpopulation) Auswahl von 2 Eltern Crossover der Eltern
• 0011 00 3,00 0011 00 3,00 1001 00 • 1001 01 9,25 1001 01 9,25 0011 01 • 1000 11 8,75 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• 1001 00 0001 00 1,00 Kind ersetzt schlechten Elternteil (9,25): 0001 00 1,00 • 0011 01 0111 01 7,25 Elternteil bleibt: 0011 00 3,00
Iteration 1 (Startpopulation) Auswahl von 2 Eltern Crossover der Eltern
• 0011 00 3,00 • 1001 01 9,25 • 1000 11 8,75 1000 11 8,75 0010 11 • 0010 10 2,50 0010 10 2,50 1000 10
Mutation Bewerten Zusammenstellen der neuen Population
• 0010 11 0010 01 2,25 Kind ersetzt schlechten Elternteil (8,75): 0010 01 2,25 • 1000 10 1001 10 9,50 Elternteil bleibt: 0010 10 2,50
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
19
Genetische Algorithmen – Beispiel 1 Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 • 0011 00 3,00 • 0010 01 2,25 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 • 0011 00 3,00 • 0010 01 2,25 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
20
Genetische Algorithmen – Beispiel 1 Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 0001 00 1,00 0011 00 • 0011 00 3,00 0011 00 3,00 0001 00 • 0010 01 2,25 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• 0011 00 0001 00 1,00 Kind ersetzt schlechten Elternteil (3,00): 0001 00 1,00 • 0001 00 0001 01 1,25 Elternteil bleibt: 0001 00 1,00
Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 • 0011 00 3,00 0011 00 3,00 0010 00 • 0010 01 2,25 • 0010 10 2,50 0010 10 2,50 0011 10
Mutation Bewerten Zusammenstellen der neuen Population
• 0010 00 0000 00 0,00 Kind ersetzt schlechten Elternteil (3,00): 0000 00 0,00 • 0011 10 1011 10 12,50 Elternteil bleibt: 0010 10 2,50
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
21
Genetische Algorithmen – Beispiel 1 Iteration 3 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 • 0001 00 1,00 • 0000 00 0,00 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Iteration 3 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• 0001 00 1,00 • 0001 00 1,00 • 0000 00 0,00 • 0010 10 2,50
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
22
Genetische Algorithmen – Aufgabe 1 Das Rucksackproblem Es soll eine Menge von Gegenständen so verpackt werden, dass ihr Gesamtgewicht einen vorgeschriebenen Wert nicht überschreitet und der Gesamtwert möglichst hoch ist. Jeder Gegenstand verfügt über einen individuellen Wert.
Gegenstand 0 1 2 3 4 5 Total Gewicht (kg) 3 7 8 9 4 3 34 Wert (€) 3 5 4 2 4 4 22
Max. Gewicht (kg) 22
1. Format der Population? 2. Wie viele Individuen gibt es? 3. Sind alle Individuen gültig? 4. Bewertungsfunktion? 5. Optimale Lösung? *Population: 4 *Auswahl-, Ersetzungs- und Terminierungsstrategie wie Beispiel 1
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
23
Genetische Algorithmen – Aufgabe 1 Iteration 1 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Iteration 1 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
24
Genetische Algorithmen – Aufgabe 1 Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Iteration 2 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
25
Genetische Algorithmen – Aufgabe 1 Iteration 3 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Iteration 3 (Neue Population) Auswahl von 2 Eltern Crossover der Eltern
• ______ ____ • ______ ____ • ______ ____ • ______ ____
Mutation Bewerten Zusammenstellen der neuen Population
• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
26
Fragen zum Seminar
• Was sind heuristische Optimierungsverfahren? – Was ist der Unterschied zwischen single-pass und iterativen
Optimierungsverfahren? – Wann werden sie verwendet?
• Wie funktioniert Hill Climbing? – Was sind die Vor- und Nachteile von Hill Climbing?
• Wie funktionieren genetische Algorithmen? – Welche Operationen und Parameter gibt es und wozu dienen
diese? – Was repräsentieren die Individuen einer Population?
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
27
Literatur
• Systems Engineering with SDL (A. Mitschele-Thiel, Wiley Verlag, 2001)
• Digitale Hardware/Software Systeme (J. Teich, Springer Verlag, 1997)
Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/
IHS2 Seminar 03. Februar 2015
28
Fakultative Aufgaben
• Experimentieren Sie mit den Applets zum Thema Optimierungsverfahren. Die Applets finden Sie auf der Kurs-Webseite in der Rubrik Arbeitsmaterialen.
• Lösen Sie das N-Damenproblem mittels GA.