Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Fakultät für informatik informatik 12 technische universität dortmund Optimum Scheduling, Allocation, and Resource binding (OSCAR) Peter Marwedel TU Dortmund."—  Präsentation transkript:

1 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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:

10 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.

11 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+,*

12 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

13 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;

14 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