-
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