Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile...

28
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

Transcript of Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile...

Page 1: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 2: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 3: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 4: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 5: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 6: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 7: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 8: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 9: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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)

Page 10: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 11: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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?

Page 12: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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?

Page 13: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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=

Page 14: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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)

Page 15: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

Integrated Communication Systems Group http://www.tu-ilmenau.de/ics/

IHS2 Seminar 03. Februar 2015

15

Genetische Algorithmen

Page 16: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 17: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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!!!!

Page 18: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 19: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____

Page 20: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 21: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____

Page 22: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

Page 23: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____

Page 24: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____

Page 25: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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

• ______ ______ ____ ______ ____ • ______ ______ ____ ______ ____

Page 26: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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?

Page 27: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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)

Page 28: Entwicklung integrierter HW/SW-Systeme Integrierte Hard ... · – Was sind die Vor - und Nachteile von Hill Climbing? • Wie funktionieren genetische Algorithmen? – Welche Operationen

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.