Fakultät für informatik informatik 12 technische universität dortmund Optimum Scheduling, Allocation, and Resource binding (OSCAR) Peter Marwedel TU Dortmund.

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Christian Scheideler SS 2009
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Eine dynamische Menge, die diese Operationen unterstützt,
AAGUCGGCCGAUUAGG UGACGCUGACGC Proteinstrukturvorhersage mit Hilfe von CP(FD) Seminar: Bioinformatik WS 01/02 Martin Homik.
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Instruction Set Architecture (ISA)
2.3 Register-Transfer-Strukturen
5. Sortier-Algorithmen Vorbemerkungen:
2. Kapitel: Komplexität und Komplexitätsklassen
Mikroarchitektursynthese - Scheduling -
Peter Marwedel Informatik 12
Fakultät für informatik informatik 12 technische universität dortmund 3. Mikroarchitekturen Peter Marwedel Informatik 12 TU Dortmund 2011/04/28 Diese Folien.
Einführung in Berechenbarkeit und Formale Sprachen
1 Energiebewusste Compilierung für digitale Signalprozessoren Markus Lorenz Peter Marwedel Universität Dortmund Lehrstuhl Informatik XII Projekt Prozessorarchitekturen.
Terminierung und Deadlocks Enkhbat Daginaa Betreuerin Prof. Heike Wehrheim Totale Korrektheit.
Algorithmentheorie 04 –Hashing
Algorithmentheorie 6 – Greedy-Verfahren
WS Algorithmentheorie 13 - Kürzeste (billigste) Wege Prof. Dr. Th. Ottmann.
Prof.Dr.S. Albers Prof. Dr. Th. Ottmann
Dynamische Programmierung (2) Matrixkettenprodukt
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Halbzeit: Kurze Wiederholung
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
WS Algorithmentheorie 08 – Dynamische Programmierung (2) Matrixkettenprodukt Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Beispiele für Gleichungssysteme
Ganzzahligkeit in LP-Modellen
Vorlesung 9.2: Specification Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
High Performance = Innovative Computer Systems + Efficient Algorithms Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen.
Zahlen geschickt addieren
Kombination von AOP und FOP Ein Vortrag für das Seminar erweiterte Programmiertechniken von Samuel Simeonov im Sommersemester 2007.
1 Teil 4 Übung: Uhr. 2 Zielsetzung Ziel ist es, mit Hilfe objektorientierter Modellierung ein System zu entwickeln, mit dem eine einfache Uhr simuliert.
Approximationsalgorithmen Facility Location K-Median Cheng, Wei 12. Juli.
2.3 Register-Transfer-Strukturen
(Un-)sicherheiten in der Ökosystemmodellierung
Fachprojekte „Entwurf Eingebetteter Systeme”
Variationsformalismus für das freie Teilchen
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Effiziente Algorithmen
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Quantitative Methoden der BWL – Lineare Programmierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
2.4 Rekursion Klassifikation und Beispiele
Determinanten und Cramer‘sche Regel
Eine mannschaftstaktische Maßnahme im Volleyball
Das Traveling Salesman Problem (TSP)
SFZ FN Sj. 13/14 Python 3 Rekursion Inf K1/2 Sj 13/14
Technische Informatik II (INF 1211) Aufgabenteil (Mit Unterlagen)
Optimierungs- Algorithmen
Fakultät für informatik informatik 12 technische universität dortmund Lab 2: Heterogeneous System Modeling in Ptolemy - Session 6 - Peter Marwedel Heiko.
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren.
Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, März 2015.
A. Steininger TU Vienna 1 Multicore eleganter Work-Around um die Design-Crisis Problemverschiebung in die SW (= auf höhere Ebene) ABER: hohe Parallelität.
 Präsentation transkript:

fakultät für informatik informatik 12 technische universität dortmund Optimum Scheduling, Allocation, and Resource binding (OSCAR) Peter Marwedel TU Dortmund Informatik /06/08

- 2 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Überwindung der Trennung in 3 Phasen Trennung in 3 Phasen lässt potenziell die optimale Lösung verpassen Wir koppeln scheduling, allocation und assignment.

- 3 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Integration von Scheduling, Allokation und Assignment in OSCAR OSCAR = optimum scheduling, allocation, and resource binding Gegeben: Datenfluss-Graph mit Operationen Bausteinbibliothek Quellen: B. Landwehr, P. Marwedel, R. Dömer: OSCAR: Optimum Simultaneous Scheduling, Allocation and Resource Binding Based on Integer Programming, Proc. Euro-DAC, 1994, S B. Landwehr, P. Marwedel: A New Optimization Technique for Improving Resource Exploitation and Critical Path Minimization, 10th International Symposium on System Synthesis (ISSS), Antwerpen, 1997 Quellen: B. Landwehr, P. Marwedel, R. Dömer: OSCAR: Optimum Simultaneous Scheduling, Allocation and Resource Binding Based on Integer Programming, Proc. Euro-DAC, 1994, S B. Landwehr, P. Marwedel: A New Optimization Technique for Improving Resource Exploitation and Critical Path Minimization, 10th International Symposium on System Synthesis (ISSS), Antwerpen,

- 4 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Entscheidungsvariablen im IP-Modell Zentrale Entscheidungsvariable: Hilfsvariable:

- 5 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Beschränkungen (constraints) (1) Operation assignment constraints: Jede Operation an exakt einen Kontrollschritt und an einen Hardware-Baustein zu binden: j J: i R(j) k K, j executable_on k x i,j,k = 1 Resource assignment constraints: Jede Komponente k kann höchstens alle (k) Kontrollschritte eine neue Operation starten. k K: i I: j J i [i- (k)+1..i ] x i',j,k b k i b k i- (k)+1 i

- 6 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund k i' i, i' R(j2) xij2,k + k i' i, i' R(j1) xij1,k 1 Beschränkungen (constraints) (2) Precedence constraints: Zuerst müssen die Argumente berechnet werden. Sei j 2 datenabhängig von Operation j 1. R(j 1 ), R(j 2 ): mögliche Kontrollschritt-Bereiche. j2j2 j1j1 Für alle Paare (j 1, j 2 ) daten-abhängiger Operationen: R(j2)R(j2) R(j1)R(j1) i i i R(j 1 ) R(j 2 ) : j 2 darf nicht vor oder in i und j 1 nicht nach oder in i ausgeführt werden. i i R(j 1 ) R(j 2 ):

- 7 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Reservierung von Indices Reservierung von Indices für potenzielle Bausteine k. Strukturierte Methode: Treppenfunktion für die Funktion type. Beispiel: Reservierung von max. 2 Indices pro Bausteintyp:

- 8 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Vermeidung isomorpher Lösungen Beispiel: b k+1 b k für type(k)=type(k+1) Beispiel: b k+1 b k für type(k)=type(k+1) IP-Verfahren benötigen ggf. viel Zeit, um Optimalität einer Lösung nachzuweisen Isomorphe* Lösungen möglichst vermeiden! Zusätzliche Constraints: Bausteine mit kleinerem k immer zuerst benutzen. * Lösungen, die sich nur durch Umbenennung der Bausteine unterscheiden B. Landwehr, P. Marwedel, I. Markhof, R. Dömer: Exploiting Isomorphism for Speeding- Up Instance-Binding in an Integrated Scheduling, Allocation and Assignment Approach to Architectural Synthesis, CHDL-97

- 9 - technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Kostenfunktion Def. c m : Kosten des Bausteintyps m c k1,k2 : Kosten für Verbindung von k1 nach k2 Dann ergeben sich die Gesamtkosten als:

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Ein einfaches Beispiel Gegeben: s := (u+v) * (w+x); t:=y*z; ASAP/ALAP-Kontrollschritt-Bereiche: R(a) = [1,2]; R(b) = [1,2]; R(c) = [1,4]; R(d) = [2,3]; ASAP/ALAP-Kontrollschritt-Bereiche: R(a) = [1,2]; R(b) = [1,2]; R(c) = [1,4]; R(d) = [2,3]; Für die erste Zuweisung seien drei, für die zweite vier Kontrollschritte zulässig.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Bausteinbibliothek: Ergebnisse in einem Kontrollschritt verfügbar: k: (k)=1. Gleiche Kosten aller Bausteine: m: c m =1. TypOperationen 1+ 2* 3+,*

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Zielfunktion für Maximierung w i,j nur für chaining* () benötigt; Annahme: kein chaining (immer Register zwischen arithmetischen Einheiten). Zielfunktion für Maximierung: C = -b 1 -b 2 -b 3 -b 4 -b 5 -b 6 -w 1,3 -w 1,4 -w 1,5 -w 1,6 -w 2,3 -w 2,4 -w 2,5 -w 2,6 -w 5,3 -w 5,4 -w 5,6 -w 6,4 -w 6,5 Zielfunktion für Maximierung: C = -b 1 -b 2 -b 3 -b 4 -b 5 -b 6 -w 1,3 -w 1,4 -w 1,5 -w 1,6 -w 2,3 -w 2,4 -w 2,5 -w 2,6 -w 5,3 -w 5,4 -w 5,6 -w 6,4 -w 6,5 * Hintereinander geschaltete arithmetische Einheiten, die in demselben Kontrollschritt arbeiten

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Operation assignment constraints (1) j J: i R(j) k K, j executable_on k x i,j,k = 1 1. x 1a1 +x 1a2 +x 1a5 +x 1a6 +x 2a1 +x 2a2 +x 2a5 +x 2a6 =1 (die Operation a muss in Schritt 1 oder in Schritt 2 ausgeführt werden und an einen zur Addition fähigen Baustein gebunden werden); 2.Wie 1, jedoch für Operation b;

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Operation assignment constraints (2) j J: i R(j) k K, j executable_on k x i,j,k = 1

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Resource assignment constraints Für k=1,2 (Addierer) Für k=3,4 (Mult.) Für k=5 (Kombin.) Für k=6 (Kombin.) k K: i I: j J i [i- (k)+1..i ] x i',j,k b k

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Precedence constraints i R(j 1 ) R(j 2 ): k i' i, i' R(j2) x ij2,k + k i' i, i' R(j1) x ij1,k 1

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Lösung Lösung: Operation c: Schritt 4 Operation d: Schritt 3 Operation a und b: Schritte 1 und 2.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Beschleunigung durch Vermeidung von Isomorphie (2) Beispiel: 3x3 Determinanten Speed up

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Beschleunigung durch Vermeidung von Isomorphie Beispiel: Elliptical Wave Filter Speed up

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Ergebnis der Nutzung algebraischer Regeln (Elliptical Wave Filter) (Ohne algebraische Regeln) optimale Lösung : 14 Kontrollschritte. Ausnutzung der algebraischen Regeln erlaubt die Reduktion des Hardware-Aufwandes bei gleicher Kontrollschritt-Zahl und die Reduktion der Kontrollschritt-Zahl. Kontroll- schritte Ohne Opti- mierung Ersetzung von * durch Schiebe- operationen Ausnutzung der Assoziativität Ausnutzung der Assoziativität & von Schiebeoperationen 9---4a a 11-4a(ddierer)-3a 12-3a3m, 3a3a 13-3a2m, 3a3a 142m(ult.), 3a3a1m, 3a2a 151m, 3a2a1m, 2a2a

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Charakteristische Eigenschaften von IP-basierten Verfahren Es kann Optimalität bezüglich des gewählten Kostenmodells garantiert werden, es liegt ein präzises mathematisches Modell der zu lösenden Aufgabe vor, es kann formal nachgewiesen werden, welche Eigenschaften eine synthetisierte Implementierung besitzt, zusätzliche Bedingungen können verhältnismäßig leicht integriert werden. IP ist NP-vollständig, für große Beispiele Heuristiken erforderlich. IP-Modell gut als Ausgangsmodell für andere Methoden geeignet.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Charakteristische Eigenschaften von OSCAR Kopplung an kommerzielle Software. nutzt komplexe Baustein-Bibliotheken aus, unterstützt Bausteine mit unterschiedlichen Geschwindigkeiten. entscheidet, ob chaining sinnvoll ist, erlaubt die Angabe von Zeitbedingungen, nutzt algebraische Regeln aus. benutzt genetischen Algorithmus zur Wahl einer Kombination von Regeln.

technische universität dortmund fakultät für informatik p.marwedel, informatik 12, 2008 TU Dortmund Zusammenfassung OSCAR Integration von scheduling, allocation und assignment Modellierung als Modell der Ganzzahligen Programmierung Nutzung algebraischer Regeln