Synthese Eingebetteter Systeme. 12 Synthese: Bereitstellung (Allocation)

Ähnliche Dokumente
Mikroarchitektursynthese - Scheduling Peter Marwedel, Robert Pyka. Informatik 12

Layout-Synthese - Globale Verdrahtung Peter Marwedel

Layout-Synthese - Detaillierte Verdrahtung: Kanalverdrahtung Peter Marwedel

Codegenerierung für Basisblöcke (1)

Aufgabe Mögliche Punkte Erreichte Punkte a b c d Σ a b c d Σ x1 13

Kode-Erzeugung für Registersatz-Maschinen

IHS2 Seminar. Jorge Meza Zusebau R2082, Tel: -4128

Anwendungsbeispiel: MTO

Knotenfärbung. Def.: Eine Knotenfärbung eines Graphen G=(V,E) mit k Farben ist eine Abbildung c:v {1,...,k}, so dass c(u) c(v) für alle {u,v} E.

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2008/09 in Trier. Henning Fernau Universität Trier

Matchings in Graphen. Praktikum Diskrete Optimierung (Teil 5)

Optimierung. Optimierung. Vorlesung 9 Lineare Programmierung & Kombinatorische Optimierung Fabian Kuhn

Flüsse, Schnitte, Bipartite Graphen II

Kapitel 8: Bipartite Graphen Gliederung der Vorlesung

Algorithmen II Vorlesung am

1 Potenzen und Polynome

Vorlesung Wissensentdeckung in Datenbanken

Greedy Algorithms - Gierige Algorithmen

Graphentheorie. Perfekte Graphen. Perfekte Graphen. Perfekte Graphen. Rainer Schrader. 22. Januar 2008

6. Übung zur Linearen Optimierung SS08

Rechnergestützter VLSI-Entwurf

X Inhaltsverzeichnis 2.7 StrukturorientierteModelle Komponenten-Verbindungsdiagramm (CCD) HeterogeneModelle Kontr

Ecken des Zuordnungsproblems

Kapitel 15 Lineare Gleichungssysteme

. Die obige Beschreibung der Laufzeit für ein bestimmtes k können wir also erweitern und erhalten die folgende Gleichung für den mittleren Fall:

Theoretische Informatik. Exkurs: Komplexität von Optimierungsproblemen. Optimierungsprobleme. Optimierungsprobleme. Exkurs Optimierungsprobleme

Optimierung. Vorlesung 08

Lineare Gleichungssysteme

Vorlesung Algorithmische Geometrie Konvexe Hülle im R 3

3-Färbbarkeit. Korollar: Zu Entscheiden, ob ein Graph k-färbbar ist mit k 3, ist NP-vollständig.

Klausur Algorithmentheorie

Effiziente Algorithmen II

Algorithmen zur Visualisierung von Graphen Lagenlayouts

Fortgeschrittene Netzwerk- und Graph-Algorithmen

Vorlesung Wissensentdeckung in Datenbanken

Komplexitätstheorie WiSe 2011/12 in Trier. Henning Fernau Universität Trier

Kap. 3: Exakte Lösungsverfahren für NPschwierige. Optimierungsprobleme VO Algorithm Engineering

Hardware/Software-Codesign

Übungen zur Vorlesung Einführung in die Mathematik

Inhalt. 8.1 Motivation. 8.2 Optimierung ohne Nebenbedingungen. 8.3 Optimierung unter Nebenbedingungen. 8.4 Lineare Programmierung

Optimierung. Vorlesung 02

2. Klausur zur Vorlesung Theoretische Grundlagen der Informatik Wintersemester 2017/2018

ADS: Algorithmen und Datenstrukturen 2

Data Cubes PG Wissensmangement Seminarphase

6 Polynomielle Gleichungen und Polynomfunktionen

ADS: Algorithmen und Datenstrukturen 2

Teil II Optimierung. Modellgestützte Analyse und Optimierung Kap. 5 Einführung Optimierung. Peter Buchholz 2006

Mathematisches Institut II Universität Karlsruhe Priv.-Doz. Dr. N. Grinberg

Einführung in die Mathematik des Operations Research

Argumentationen zu ermöglichen, verlangen wir, dass diese Eigenschaft auch für induzierte Teilgraphen

11. Übung zu Algorithmen I 6. Juli 2016

1. Klausur zur Vorlesung Informatik III Wintersemester 2003/2004. Mit Lösung!

Grundlagen zur Delaunay-Triangulierung und zur konvexen Hülle. zum Begriff des Voronoi-Diagramms (vgl. auch Vorlesung "Algorithmische Geometrie"):

BERGISCHE UNIVERSITÄT WUPPERTAL FB B: SCHUMPETER SCHOOL OF BUSINESS AND ECONOMICS. Master of Science

Theorie der Informatik Übersicht. Theorie der Informatik SAT Graphenprobleme Routing-Probleme. 21.

Klausur. 18. Juli 2008, 10:15-12:15 Uhr. Name:... Matrikelnummer:... Anzahl beschriebener Blätter (ohne Aufgabenblatt):... D(p) : Y = p x X + p y

Probleme aus NP und die polynomielle Reduktion

Näherungsalgorithmen (Approximationsalgorithmen) WiSe 2012/13 in Trier

Zentralübung zur Vorlesung Diskrete Strukturen

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Effiziente Algorithmen I 11. Übungsblatt, Wintersemester 2015/16 Abgabetermin:

ADS: Algorithmen und Datenstrukturen 2

09. Übung zu Algorithmen I 12. Juli 2017

Algorithmische Graphentheorie

Kapitel 1: Fallstudie Bipartite Graphen Gliederung der Vorlesung

Adiabatisches Quantencomputing

Theoretische Informatik

1. Klausur zur Vorlesung Informatik III Wintersemester 2004/2005

Grundlagen: Algorithmen und Datenstrukturen

Compiler für f r Eingebettete Systeme (CfES)

VOM PROBLEM ZUM PROGRAMM

Systems of Distinct Representatives

Optimierung. Vorlesung 9

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Optimierung I. Dr. Ulf Lorenz F2.413

Aufgaben zur Klausurvorbereitung

Diskrete Strukturen. Hausaufgabe 1 (5 Punkte) Wintersemester 2007/08 Lösungsblatt Januar 2008

Überblick Kap. 5: Graph Coloring

Kap. 5: Graph Coloring

Satz 324 Sei M wie oben. Dann gibt es für ein geeignetes k Konstanten c i > 0 und Permutationsmatrizen P i, i = 1,...

Approximationsalgorithmen

Betriebliche Optimierung

Schulbesuch Erich-Kästner Gesamtschule 07. April 2011

Peg-Solitaire. Florian Ehmke. 29. März / 28

Visualisierung von Graphen

Effiziente Algorithmen I

Vorlesung Diskrete Strukturen Graphen: Wieviele Bäume?

Klausur Algorithmentheorie

Kapitel 9: Lineare Programmierung Gliederung

Was ist ein Problem? Ein Problem im Sinne der Programmierung ist durch Computer lösbar. Programmieren Entwurf/ Implementierung

Scheduling-Theorie. Mathematische Modelle und Methoden für deterministische Scheduling-Probleme. LiSA - A Library of Scheduling Algorithms

Kürzeste-Wege-Algorithmen und Datenstrukturen

Effizienter Planaritätstest Vorlesung am

Toleranzbasierte Algorithmen für das Travelling Salesman Problem. Gerold Jäger

Kapitel 14 Lineare Gleichungssysteme

3.3 Optimale binäre Suchbäume

Am Dienstag, den 16. Dezember, ist Eulenfest. 1/45

Grundlagen der Programmierung (Vorlesung 24)

Entwicklung integrierter HW/SW-Systeme Integrierte Hard- und Softwaresysteme 2 Seminar

Transkript:

12 Synthese Eingebetteter Systeme Wintersemester 2012/13 12 Synthese: Bereitstellung (Allocation) 2012/12/10 Michael Engel Informatik 12 TU Dortmund

Synthese: Bereitstellung (Allocation) Bereitstellung Zuordnung 12, 2011-2 -

Einfache Verfahren Methoden: 1. Vorgabe durch den Benutzer Bezieht Kenntnisse des Benutzers ein. 2. Für jedes Vorkommen eine eigene Ressource, als direkte Compilation bezeichnet. Keinerlei sharing. Entspricht der Codeerzeugung eines Compilers: für jede Operation werden Befehle erzeugt. Regs: RAM16x32; + adder1 + adder2 + adder3 12, 2011-3 -

3. Mehrfachausnutzung von Ressourcen mit denselben Fähigkeiten Minimierung der Anzahl gleichartiger Ressourcen: Bildung des Maximums der Nutzung über Kontrollschritte. Beispiel: Minimierung der Anzahl benutzter Zellen für Variable innerhalb eines Basisblocks Variable Lebensdauern Max. 4 Zellen erforderlich Kontrollschritte 12, 2011-4 -

Datenflussgraph für das Determinantenbeispiel aus der vorigen Vorlesung det = a (e i-f h) + b (f g-d i) + c (d h-e g) #: op2-op1 12, 2011-5 -

Abhängigkeit vom Scheduling (1) Im Beispiel ergeben sich für das ASAP-Schedule: 6 Multiplizierer 3 Subtrahierer 1 Addierer 12, 2011-6 -

Abhängigkeit vom Scheduling (2) Für das ALAP-Schedule: 4 Multiplizierer 2 Subtrahierer 1 Addierer Abhängigkeit zwischen Scheduling und Allokation! 12, 2011-7 -

4. Konstruktion von ALUs Gruppierung aufgrund gleichzeitigem Vorkommen Beispiel (Operationen durchnummeriert): CS1: (a= 1 b) 2 (c 3 d) CS2: (e= 4 f) 5 (g 6 h) Relation gleichzeitiges Vorkommen 2 Konfliktgraph. = 1 5 3 = 4 6 Kann grundsätzlich auch Basisblock-übergreifend erzeugt werden, z.b. kein Konflikt zwischen THENund ELSE-Teil. 12, 2011-8 -

Färbeproblem Bestimmung einer minimalen Anzahl von ALUs durch Färben des Konfliktgraphen: Färbeproblem: Ordne jedem Knoten des Konfliktgraphen eine Farbe zu, wobei durch Kanten verbundene Knoten eine unterschiedliche Farbe haben müssen. Wähle eine Zuordnung mit einer minimalen Anzahl von Farben! 2 (Die Entscheidungsvariante des) Färbeproblems ist NP-vollständig = 1 3 Jede Farbe entspricht einer ALU. = 4 6 5 Modellierung als Färbeproblem ignoriert sinnvolle Gruppierung der Operationen; ok für Variable. 12, 2011-9 -

Cliquenproblem Möglicher Übergang auf Kompatibilitätsgraph: Kante, wenn Operationen kompatibel sind. kein gleichzeitiges Vorkommen = 1 2 5 3 = 4 6 Minimierung der Anzahl der ALUs entspricht jetzt einem Cliquenproblem: Ein Graph heißt vollständig, wenn alle seine Knoten mit Kanten verbunden sind. Cliquenproblem: Finde eine Überdeckung der Knoten eines Graphen mit einer minimalen Anzahl vollständiger Teilgraphen. Dieselben Nachteile wie beim Färbeproblem. 12, 2011-10 -

Cliquen- und Färbungsmodell bei Beschränkung auf Basisblöcke Bei Beschränkung auf Basisblöcke reicht es aus, einfach nur die maximal notwendige Anzahl von Operationen pro Kontrollschritt der Kontrollschritt-Sequenz zu bestimmen. = 1 5 3 = 4 2 6 Fall l(k)=1 Max.3 Operationen pro Kontrollschritt Kontrollschritte Wenn Multizyklenoperationen vorkommen, entsteht wieder dieselbe Situation wie bei der Mehrfachausnutzung von Ressourcen mit denselben Fähigkeiten. Zur Komplexität siehe Allokation. 12, 2011-11 -

5. Mehrfachausnutzung von Ressourcen mit unterschiedlichen Fähigkeiten Annahme: Ressourcen haben unterschiedliche Fähigkeiten. Statt der Anzahl müssen die Kosten minimiert werden. Def.: B m : Anzahl der Bausteine vom Typ m (gesucht) β(m): Vom Typ m bereitgestellte Operationen f i,g : Häufigkeit der Operation g in Kontrollschritt i Beispiel: 3 Bausteintypen: β(1)={+}, β(2)={-}, β(3)={+,-} 2 Kontrollschritte CS1: f 1,+ =1, f 1,- =1 CS2: f 2,+ =2, Welche Gleichungen werden benötigt, um eine ausreichende Anzahl von Bausteinen sicherzustellen? 12, 2011-12 -

Hinreichende Bedingungen 3 Bausteintypen: β(1)={+}, β(2)={-}, β(3)={+,-} 2 Kontrollschritte CS1: f 1,+ =1, f 1,- =1 CS2: f 2,+ =2, In CS1 müssen die Bausteine ausreichen, also: B 1 + B 3 1 (wegen der Zahl für {+}) B 2 +B 3 1 (wegen der Zahl für {-}) B 1 +B 2 +B 3 2 (wegen der Gesamtzahl für {+,-}) In CS2 müssen die Bausteine ausreichen, also: B 1 + B 3 2 (wegen der Zahl für {+}) Dabei haben wir in jedem Kontrollschritt alle Kombinationen von Operationen betrachtet. 12, 2011-13 -

Zusammenfassung der Ungleichungen Zusammenfassung über Kontrollschritte hinweg: für jede vorkommende Kombination von Operationen die minimal erforderlich Anzahl von Bausteinen bestimmen! Im Beispiel: {+} B 1 + B 3 2 (Zusammenfass. 1. & 4. Ungleichung) {-} B 2 +B 3 1 {+,-} B 1 +B 2 +B 3 2 Allgemein: Für jede Kombination der jeweils vorkommenden Operationen muss die Gesamtzahl der Ressourcen, die mindestens eine der Operationen ausführen können, mindestens gleich der Gesamtzahl der Operationen sein. 12, 2011-14 -

Allgemeine Formulierung hinreichender Bedingungen (1) Def.: F i : Menge der in i ausgeführten Operationen {g f i,g >0} F i *= (F i ): deren Potenzmenge (ohne das leere Element) Dann muss gelten (für alle Kontrollschritte) : i : h F i * : m M h β ( m) {} B m g h f i, g Also: für jede Kombination der jeweils vorkommenden Operationen muss die Gesamtzahl der Ressourcen, die mindestens eine der Operationen ausführen können, mindestens gleich der Gesamtzahl der Operationen sein. 12, 2011-15 -

Allgemeine Formulierung hinreichender Bedingungen (2) Ungleichungen für alle Kontrollschritte zusammenfassen: Betrachtung des Maximums der Anzahl der Operationen, die für eine Kombination von Operationen vorkommen. Sei : F * = ΥF i * (Menge der Kombinationen von Operationen) i sowie S die max. Anzahl von Vorkommen einer Kombination h h F* : S h h h F* : ah, m m M = max i B m g h S f h i, g Dann lassen sich die Ungleichungen zusammenfassen zu: 1,falls h β(m) {} mit a h,m = 0,sonst : [Marwedel,1986] 12, 2011-16 -

Gesamtmodell für Minimiere C = die Randbedingungen B m c m m M h F* : ah, m m M B m S h Problem der Ganzzahligen (linearen) Programmierung (engl. integer (linear) programming, I(L)P)-Problem in den ganzzahligen Variablen B m. Potenziell einzelne Ungleichungen redundant. Anzahl von Operationstypen i.d.r. relativ klein (<10) F* klein genug, um praktikabel zu sein. Ausnahme: Große Anzahl unterschiedlicher Bitbreiten. 12, 2011-17 -

Zusammenfassung Bereitstellung (Allocation) Gleichartige Ressourcen Färbe- und Cliquenprobleme Verschiedenartige Ressourcen 12, 2011-18 -

12 Zuordnung (Assignment, Resource Binding) 2012/12/10

1. Durchzählen 1. Die einfachste Zuordnung besteht in dem simplen Durchzählen innerhalb der Kontrollschritte 12, 2011-20 -

Zuordnung bestimmt implizit die Verbindungsstruktur Beispiel: mult_1 muss verbunden sein mit den Registern e und i sowie mit sub_1 und a. 12, 2011-21 -

Zuordnung von Ressourcen mit denselben Fähigkeiten Erweiterung des Verfahrens zur Allokation: sweep von links nach rechts, Zuordnung & Freigabe jeweils am Rand eines belegten Intervalls Variable Zuordnung einer Ressource am linken Rand Freigabe einer Ressource am rechten Rand Abb.: left-edge-algorithmus Kontrollschritte Präziser: für jeden Kontrollschritt Mengen der linken & rechten Grenzen in first[] bzw. last[] eingetragen. 12, 2011-22 -

Der left-edge -Algorithmus Free:={1..kmax}; (* Alle Ressourcen (Zellen) sind frei*) for i:=1 to imax do (* Schleife über Kontrollschritte*) begin for each j first[i] do begin k:= kleinstes Element aus Free; assign[j]:= k; (*gesuchte Zuordnung*) Free:=Free {k}; end; for each j last[i] do Free:=Free {assign[j]}; end; Dieser Algorithmus wird als linear bezeichnet (setzt Implementierung innerer Schleifen in O(1) voraus). Anwendung in der Synthese von Fadi Kurdahi vorgeschlagen 12, 2011-23 -

Intervallgraphen (1) Left-edge-Algorithmus löst das Färbungsproblem eines aus Abb. left-edge-algorithmus erzeugten Konfliktgraphen. Effiziente Lösung des Färbungsproblems gelingt aufgrund der speziellen Struktur des Graphen. Def.: Ein Graph heißt Intervallgraph, falls es eine umkehrbar eindeutige Abbildung seiner Knoten auf eine linear geordnete Menge von Intervallen existiert, so dass zwei Knoten genau dann mit einer Kante verbunden sind, wenn sich die Intervalle schneiden. 12, 2011-24 -

Intervallgraphen (2) Satz [s. Golombic]: Intervallgraphen lassen sich in linearer Zeit färben. (Geht mit dem left edge Algorithmus ) Die aus der Abbildung erzeugten Konfliktgraphen sind per Konstruktion Intervallgraphen. Die Intervalle sind gerade diejenigen der Abbildung left-edge-algorithmus. 12, 2011-25 -

Beispiel 12, 2011-26 -

Beispiel 12, 2011-27 -

Beispiel 12, 2011-28 -

Beispiel 12, 2011-29 -

3. Modellierung von Verbindungskosten in der Zuordnung? Ressourcen DFG Sei K: J: c i,j : Menge der Ressourcen Menge der Operationen Verbindungskosten von Ressource i nach Ressource j x j,k =1 falls die Operation j Ressource k zugeordnet wird, =0 sonst β j,k =1, falls Ressource k Operation j ausführen kann, = 0 sonst. β 12, 2011-30 -

Modellierung als Quadratisches Zuordnungsproblem Verbindungskosten:? C = j, j ' J k, k' K a j, j ' c k, k' x j, k x j ' k' Randbedingungen: j J = 1 : β j, kx j, k k K Innerhalb eines Kontrollschritts: k K 1 : x j, k j J Quadratisches Zuordnungsproblem (QAP) Sei j: p(j)=k x j,k =1 (Permutation). C = j, j ' J a j c, j ' p( j ), p( j ') 12, 2011-31 -

Quadratisches Zuordnungsproblem (QAP) QAP modelliert viele Zuweisungsprobleme, z.b. die Zuordnung von Fertigungsstraßen bei Abhängigkeiten der Fertigungsstraßen voneinander. Viele Optimierungspakete für die mathematische Optimierung enthalten Lösungsverfahren für das QAP. Grundsätzlich lässt sich das QAP linearisieren: Definiere y j,j,k,k = x j,k x j k j,j,k,k. Allerdings wächst dadurch die Anzahl der Variablen. Das QAP ist NP-hart (folgt aus den entsprechenden Aussagen für die Ganzzahlige Programmierung. Für die Mikroarchitektursynthese i.d.r. zu komplex Quellen: z.b: http://www.opt.math.tu-graz.ac.at/qaplib/ 12, 2011-32 -

Zusammenfassung Zuordnung (Assignment, Resource Binding) Left-edge Algorithmus Intervallgraphen Quadratisches Zuordnungsproblem (QAP) 12, 2011-33 -