27
ReCoNets ReCoNets Hardware/ Hardware/ Software Software - - Partitionierung Partitionierung zur Steigerung der zur Steigerung der Fehlertoleranz und Flexibilität Fehlertoleranz und Flexibilität Ch. Haubelt, D. Koch , T. Streichert , Prof. Dr.-Ing. J. Teich, Prof. Dr. rer. nat. R. Wanka Lehrstuhl für Hardware-Software-Co-Design Universität Erlangen-Nürnberg

ReCoNets Hardware/Software-Partitionierung zur Steigerung ......mit Offline-Optimierung ¾Reduktion der Netzlast um ca. 20% SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 10 Gliederung

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

  • ReCoNetsReCoNets––

    Hardware/Hardware/SoftwareSoftware--PartitionierungPartitionierung zur Steigerung der zur Steigerung der Fehlertoleranz und FlexibilitätFehlertoleranz und Flexibilität

    Ch. Haubelt, D. Koch, T. Streichert, Prof. Dr.-Ing. J. Teich, Prof. Dr. rer. nat. R. Wanka

    Lehrstuhl für Hardware-Software-Co-DesignUniversität Erlangen-Nürnberg

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 2

    Motivation

    S2

    BH

    S3

    Verhalten Struktur

    Wer entscheidet, wo und wie ein Task ausgeführt wird?

    Wer entscheidet, wo und wie ein Task ausgeführt wird?

    S1

    Ctrl1

    Akt2Akt1

    Sen1

    Akt1

    Sen1

    Akt2

    = Software-Task

    = Hardware-Task

    Ctrl’1

    Ctrl1

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 3

    ReCoNetsVernetztes eingebettetes System:

    Knoten bestehen aus- CPU zur Ausführung von Software- Rekonfigurierbarer Logik für dedizierte Hardware- Kommunikations-Interface

    Knoten kommunizieren über Punkt-zu-Punkt Verbindungen< 100 Knoten

    Anforderungen:Flexibilität für dynamisch variierende NutzungsszenarienFehlertoleranz gegenüber Link- und Knotenausfällen

    Online Hardware/Software-Partitionierung basierend aufHardware/Software-rekonfigurierbaren Netzwerken

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 4

    GliederungEinleitung

    Online Hardware/Software-PartitionierungOptimierung der Task-BindungHardware/Software-MigrationHardware/Software-Morphing

    Implementierung

    Kooperationen

    Events

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 5

    Online HW/SW-Partitionierung

    Defekt?SchnelleReparatur

    Replikaaktivierung

    Wiederherstellung d.Kommunikation

    Task-Replizierung

    Online HW/SW-Partitionierung

    Link

    Knoten

    Optimierung derTask-Bindung

    T. Streichert, Ch. Haubelt, and J. Teich: Distributed HW/SW-Partitioning for Embedded Reconfigurable Systems. In Proc. of DATE’ 05, Munich, Germany, March 7-11, 2005.T. Streichert, Ch. Haubelt, and J. Teich: Verteilte HW/SW-Partitionierung für fehlertolerante rekonfigurierbare Netzwerke. In Proc. of 17. Workshop für Testmethoden und Zuverlässigkeit von Schaltungen und Systemen, Innsbruck, Austria, Feb. 27-Mar. 1, 2005.T. Streichert, Ch. Haubelt, and J. Teich: Online Hardware/Software Partitioning in Networked Embedded Systems. In Proc. of ASP-DAC’05, Shanghai, China, January 18-21, 2005.

    Bisherige Optimierung der Task-Bindung basiert auf:

    Lastbalanzierung zur Verteilung derTasks zwischen KnotenBipartitionierung zur Verteilung derLast zwischen Hard- und Software-Ressourcen auf jedem Knoten

    Theoretische Grenzen und experimentelle Ergebnisse vorgestellt

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 6

    OptimierungEigenschaften der Optimierung der Task-Bindung:

    Dezentrale AusführungNur lokales Wissen notwendigReduzierung der Latenz und Antwortzeiten von TasksReduzierung von Overhead durch Context-SwitchesMehrere Lastgrößen für Software- und Hardware-TasksBerücksichtigung von Datenabhängigkeiten

    Verhalten Struktur

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 7

    Optimierung mit Datenabhängigkeiten

    T2

    T3

    2080

    100

    10

    Port 1

    Port 2

    Port 3

    T110

    100

    1. Berechnung der Bindungsverbesserung in Abhängigkeit von:• Implementierungsart (Hardware/Software)• Benötigte Bandbreite der Datenabhängigkeit• Größe der Binaries/Bitstreams

    2. Anfrage an Nachbarknoten, ob Scheduler/Placer Ressourcen zurVerfügung stellen kann

    3. Wenn ja, dann Task-Migration / Task-Morphing

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 8

    Optimierung mit Datenabhängigkeiten

    T1T220 80

    10100

    Port 1

    Port 2

    Port 3

    T3

    1. Berechnung der Bindungsverbesserung in Abhängigkeit von:• Implementierungsart (Hardware/Software)• Benötigte Bandbreite der Datenabhängigkeit• Größe der Binaries/Bitstreams

    2. Anfrage an Nachbarknoten, ob Scheduler/Placer Ressourcen zurVerfügung stellen kann

    3. Wenn ja, dann Task-Migration / Task-Morphing

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 9

    Dezentrale AusführungNur lokales Wissen notwendig

    Mehrere Lastgrößen für Software- und Hardware-TasksBerücksichtigung von Datenabhängigkeiten

    Dezentrale AusführungNur lokales Wissen notwendig

    Mehrere Lastgrößen für Software- und Hardware-TasksBerücksichtigung von Datenabhängigkeiten

    Dezentrale AusführungNur lokales Wissen notwendigReduzierung der Latenz und Antwortzeiten von TasksReduzierung von Overhead durch Context-SwitchesMehrere Lastgrößen für Software- und Hardware-TasksBerücksichtigung von Datenabhängigkeiten

    Dezentrale AusführungNur lokales Wissen notwendig

    Mehrere Lastgrößen für Software- und Hardware-TasksBerücksichtigung von Datenabhängigkeiten

    Optimierung: Evaluierung

    T. Streichert, Ch. Haubelt, and J. Teich: Multi-Objective Topology Optimization for Networked EmbeddedSystems. To appear in Proc. of SAMOS VI, Samos, Greece, July 17-20, 2006.

    T. Streichert, Ch. Strengert, Ch. Haubelt, and J. Teich: Dynamic Task Binding for Hardware/Software Reconfigurable Networks. To appear in Proc. of SBCCI 2006, Ouro Preto, Brasil, August 28-September 1, 2006.

    Vergleich von Online-Optimierung mit Offline-OptimierungReduktion der Netzlast um ca. 20%

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 10

    GliederungEinleitung

    Online Hardware/Software-PartitionierungOptimierung der Task-BindungHardware/Software-MigrationHardware/Software-Morphing

    Implementierung

    Kooperationen

    Events

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 11

    CP

    Software-MigrationTransfer des Programms und des Zustands

    Zustand einer Software-TaskProzessorregister (incl. PC)Stack (Aufrufhierarchien)VariablenProzesskontrollblock - Prozesskennung (PID)- Ausführungszustand (Running, Blocked, Idle)- Betriebsmittel (Geräte, Kommunikation, Speicher)

    Zugriff auf ZustandBetriebssystem (Taskwechsel)Durch den Programmierer

    T’SWTSW

    TSW

    Zustandsextraktion und –übertragung durch explizite Funktionsaufrufe

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 12

    Hardware-MigrationTransfer der Konfigurationsdaten und des Zustandes

    Zustand einer Hardware-TaskDatenpfad- und KontrollpfadregisterFifo-FüllständeProzesskontrollblock - Prozesskennung (PID)- Ausführungszustand (Running, Blocked, Idle)- Betriebsmittel (Geräte, Kommunikation, Speicher)- Eigene Ressourcen (CLB-Fläche, Adressraum, IRQs)

    Zugriff auf ZustandArchitekturebene (Zurücklesen der Konfigurationsdaten)Modulebene (Modifikation der Hardware-Module)

    CPT’HWTHW

    THW

    Zustandsextraktion auf Modulebene und Übertragung durch explizite Funktionsaufrufe

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 13

    Synthese – HW-Zustandsextraktion

    ⎡ ⎤

    ∑−

    =

    +⎥⎥

    ⎤⎢⎢

    ⎡⎟⎠⎞

    ⎜⎝⎛+++≈

    1/log

    04

    8

    log2

    8WN

    n

    nMMLUT NW

    NWNWNH

    NWNWH SHCFF +⎥⎥⎤

    ⎢⎢⎡+≈ 2log

    NWNWH SHCLUT 2log2 2 +⎥⎥⎤

    ⎢⎢⎡+≈

    ⎡ ⎤ ⎥⎥⎤

    ⎢⎢⎡++≈

    WNNWH SCFF 22 loglog

    Scan Chain

    Shadow Scan Chain

    Memory Mapped

    N: Anzahl der Flipflops, W: Busbreite

    NH SCLUT ≤

    WH MMFF ≈

    Hardware-Overhead

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 14

    Synthese – HW-Zustandsextraktion

    Scan Chain Shadow Scan Chain Memory Mapped

    Ergebnisse für DES56-Modul von opencores.org (862 Flipflops,1899 LUTs)

    %28+=SCLUTH

    %8+=SCFFH

    %95+=SHCLUTH

    %112+=SHCFFH

    %47+=MMLUTH

    %5+=MMFFH

    )()( 2NONCSC = )1()( ONCSHC = )()( NONCMM =10354 Takte 0 Takte 1188 Takte

    Checkpoint Overhead (Zeitdauer der Zustandsextraktion)

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 15

    Implementierung – Hardware-Migration

    T. Streichert, D. Koch, C. Haubelt, and J. Teich: Modeling and Design of Fault-Tolerant and Self-Adaptive Reconfigurable Networked Embedded Systems. To appear in EURASIP Journal on Embedded Systems; Hindawi Publishing Corporation, 2006.

    GTECH*-libraryInterface template

    config. bitstream

    registerdescription file

    HDL-Source

    StateAccess

    GTECH-Netlist

    back-end synthesisand place & route(Altera Quartus, Xilinx ISE)

    Initial System

    front-end synthesis(Synopsis DesignCompiler)

    NetlistGTECH-Netlist

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 16

    GliederungEinleitung

    Online Hardware/Software-PartitionierungOptimierung der Task-BindungHardware/Software-MigrationHardware/Software-Morphing

    Implementierung

    Kooperationen

    Events

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 17

    Hardware/Software-MorphingAllokation der Hardware- bzw. Software-RessourcenÜbertragung und Transformation des Zustandes

    Funktionale Beschreibung durch einen deterministischen, endlichen ZustandsautomatenVerfeinerung in Hardware bzw. Software erhöht die Anzahl der internen ZuständeHardware-Software-Morphing nur möglich, wenn eine bijektiveTransformation von S in beiden Verfeinerungen existiert

    CPT’SWTHW

    SSW SHWSMSW MHW

    MSW MHW-1 -1

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 18

    Analyse – Hardware-Software-MorphingWelche Einschränkungen gibt es?

    Granularität (wie viele Morphpunkte?)Einschränkungen in Kontroll- und Datenflüssen?

    Automatische MorphfunktionsgenerierungWie muss Einfluss auf Zustandscodierungen genommen werden?Effiziente Algorithmen

    Morphpunktoptimierung (Wo Morphpunkte einfügen?)Minimaler Kontext (Extraktion und Morphen nicht aller Variablen erforderlich)Minimierung der Zeit zwischen den Morphpunkten

    OverheadZusätzlicher SW/HW-Aufwand für die Zustandstransformation?Benötigte Zeiten?

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 19

    GliederungEinleitung

    Online Hardware/Software-PartitionierungOptimierung der Task-BindungHardware/Software-MigrationHardware/Software-Morphing

    Implementierung

    Kooperationen

    Events

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 20

    Implementierung – ReCoNetsNetzwerk mit vier KnotenPunkt-zu-Punkt Kommunikation

    Plattform:Altera FPGAs (aktueller Stand)Portierung auf ESM (in Arbeit) MicroC/OS

    - Message-PassingInterprozess-Kommunikation

    ReCoNets

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 21

    Betriebssysteminfrastruktur

    D. Koch, T. Streichert, S. Dittrich, C. Strengert, C. Haubelt, and J. Teich: An Operating System Infrastructure for Fault-Tolerant Reconfigurable Networks. In Proc. of the 19th International Conference on Architecture of Computing Systems (ARCS 2006), Frankfurt / Main, Germany, pp 202-216, March 13-16, 2006.

    Rekonfigurierbares NetzwerkRekonfigurierbares Netzwerk

    Hardware/SoftwareMorphing

    Dynamische Hardware/Software Partitionierung

    DynamischesRerouting

    Hardware/SoftwareTask Migration

    Basis Netzwerkdienste

    Applikationen

    Lokales Betriebssystem

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 22

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 23

    GliederungEinleitung

    Online Hardware/Software-PartitionierungOptimierung der Task-BindungHardware/Software-MigrationHardware/Software-Morphing

    Implementierung

    Kooperationen

    Events

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 24

    Kooperationen – PadErOl

    Ziel: Ein durchgängiger Entwurfsfluss für dynamisch rekonfigurierbareSysteme

    Momentan:Evaluierung anhand eines dynamisch rekonfigurierbarenKryptographie-Systems

    Christian Haubelt: Automatic Model-Based Design Space Exploration for Embedded Systems - A System Level Approach. Dissertation, Universität Erlangen-Nürnberg, ISBN 3-89574-572-3, 2005

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 25

    Weitere Kooperationen

    Projekt ReCoNodesKopplung ReCoNodes (Mikrosicht)und ReCoNets (Makrosicht)Platzierungsalgorithmen für Hardware-Migration/MorphingCheckpoints für Relokation

    Projekt CRC (Configurable Reconfigurable Core) (Universität Tübingen)

    Abbildung datenflussdominanter regelmäßiger Algorithmenauf das CRC-Modell im Rahmen des DFG-Projekts CoMapRekonfigurierbare Verbindungsnetzwerke

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 26

    EventsLange Nacht der Wissenschaften

    J. Teich, C. Haubelt, D. Koch, and T. Streichert: Concepts for Self-Adaptive Automotive Control Architectures. DATE'06 Friday Workshop Future Trends in Automotive Electronics and Tool Inte-gration, Conference Design Automation and Test in Europe, March 10, 2006, Munich, Germany.

    DATE’06 FridayWorkshop

    Hannover Messe Industrie(Halle 2, Research & Technology)

    EuroScienceOpenForum(15.-19.7.06 in München)

  • SPP1148-Zwischenkolloquium, 01./02.06.06, Darmstadt 27

    ZusammenfassungModellierung

    AP1: Modelle für das HW/SW-MorphingAP2: Selbstroutende Netze

    AnalyseAP3: Mechanismen selbstroutender NetzverbindungenAP4: Kosten für das HW/SW-MorphingAP5: Kostenanalyse von Reparaturstrategien

    Synthese und OptimierungAP6: Extraktion von HW/SW-Kontexten; AP7: Algorithmen zum Morphen von HW/SW-KontextenAP8: Repartitionierung mit Datenabhängigkeiten

    ImplementierungAP9: BetriebssysteminfrastrukturAP10: Morphing & RepartitionierungAP11: Plazierung duplizierter TasksAP12: Demonstrator mit Automotive-Beispiel

    In BearbeitungErledigt Noch zu Bearbeiten