reconets hardware/software-partitionierung zur steigerung ......mit offline-optimierung ¾reduktion...
TRANSCRIPT
-
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