ReCoNets – Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen Ch. Haubelt, D. Koch, T. Streichert, J. Teich Hardware-Software-Co-Design Universität Erlangen-Nürnberg {haubelt, dirk.koch, streichert, teich}@informatik.uni-erlangen.de Einführungskolloquium zum DFG-Schwerpunktprogramm „Rekonfigurierbare Rechensysteme“ 12. – 13. Juni 2003, DaimlerChrysler AG, Stuttgart Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 2 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 3 Beispiel: Automobil Quelle: DaimlerChrysler AG Beispiele: Antriebsstrang, Komfort, Anzeigesysteme, Telematik, Diagnose, Diebstahlschutz, zukünftige Fahrfunktionen DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 4 Beispiel: Body-Area-Netzwerke geographisch feste Knoten hohe Spezialisiertheit schlechte Ressourcenauslastung kaum Flexibilität geringe Ausfallsicherheit … Quelle: Fraunhofer Gesellschaft DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 5 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 6 Ziele (1/4) Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen < 100 Knoten Zum jedem Zeitpunkt ist jedem Knoten die funktionsfähige Netztopologie und die Prozessverteilung bekannt DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 7 Ziele (2/4) Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen Spezialisiertes System Dynamische Nutzungsszenarien erfordern die Anpassbarkeit des Systems und der einzelnen Knoten an unterschiedliche Anforderungen Energieaspekte Rechenleistung … Nur durch Hardwarerekonfiguration zu erreichen DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 8 Ziele (3/4) Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen Knoten sind elektrisch miteinander verbunden (Dies steht im Gegensatz zu Modellen und Verfahren von Funk- und optischen Netzen) Knoten sind an geographisch festen Orten gebunden Flexibilität des Systems wird allein durch Hardwarerekonfiguration erreicht DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 9 Ziele (4/4) Entwurfsmethodik für eingebettete Systeme bestehend aus kleinen Netzwerken hardwarerekonfigurierbarer Knoten und -verbindungen Es fehlt an Entwurfsmethodik für diese Systeme! DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 10 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 11 Sensor-Controller-Aktuator-Kette S1 S2 Sn PS1 PS2 PSn ReCoNet PC FPGA PA1 PA2 PAm Reconf. Verbind. A1 A2 Am ReCoNode DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 12 Rekonfigurierbare Hardware PC PA1 PC PA1 PC PC PA1 PA2 PA2 PA2 PC PA1 PA2 PA1 PA2 CPU DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 13 Zusammenfassung: Modellierung Modellierung und Architekturabbildung von sog. SensorController-Aktuator-Ketten Modellierung und Spezifikation zeitvarianter Anwendungen und Architekturen: Zeitvariante Allokation α(t): Welche Komponenten (Konfigurationen) stehen zum Zeitpunkt t zur Verfügung? Zeitvariante Bindung β(t): Auf welcher Komponente wird ein Prozess zum Zeitpunkt t ausgeführt? DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 14 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 15 Ausfallsicherheit und Fehlertoleranz 1-Fehler: P1 R1 B1 R2 R1 B 1 R1 R2 B1 R2 R1 2-Fehler: C1 B1 P2 R2 DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 16 Ausfallsicherheit Erste Vorarbeiten: SAT-basierte Verfahren zur System-Synthese Auch einsetzbar zur Analyse der Ausfallsicherheit zur Entwurfszeit Topologieoptimierung DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 17 Detektion von Ressourcendefekten Erkennung von Fehlern auf Leitungen z.B. durch paketorientierte Kommunikation Einsatz bekannter Techniken zur Kanalcodierung und Fehlerkorrektur als Hilfswerkzeuge möglich Knotendetektion kann z.B. von Leitungsdetektion abgeleitet werden DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 18 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 19 Rerouting R1 R2 R3 R4 R1 0 1 0 1 1 1 0 1 1 R2 0 R3 1 1 0 1 R4 1 1 1 0 R1 B1 R2 computeShortestPath() P C R1 R2 R3 R4 R1 0 1 0 1 1 1 0 1 1 R2 0 R3 1 1 0 1 R4 1 1 1 0 PS computeShortestPath() B2 B3 B5 R1 R2 R3 R4 R1 0 1 0 1 1 1 0 1 1 R2 0 R3 1 1 0 1 R4 1 1 1 0 R3 B4 R4 B6 PA R1 R2 R3 R4 R1 0 1 0 1 1 1 0 1 1 R2 0 R3 1 1 0 1 R4 1 1 1 0 computeShortestPath() computeShortestPath() DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 20 Online-HW/SW-Partitionierung (1/2) Aber: Wohin soll ein Prozess migriert werden? R1 B1 R2 PC PS B2 B3 B5 R3 B4 R4 B6 PA DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt Minimierung der Anzahl der zu rekonfigurierenden Knoten? Ausgeglichene Ressourcenauslastung? Minimierung der mittleren Kommunikationsstrecke? … Soll ein Prozess nach der Migration in HW oder SW ausgeführt werden? Managmentfunktion zentral oder dezentral realisieren? 21 Online-HW/SW-Partitionierung (2/2) (α(t), β(t)) e(t) Repartitionierung (α‘(t), β‘(t)) Optimierung Ereignis e(t) bewirkt Allokationsänderung Repartitionierung bindet “kritische” Prozesse neu Optimierungsphase verteilt Prozesse neu Mögliche Zielgrößen: Flächenbedarf für HardwareProzesse je Knoten Anzahl der Prozesse pro Knoten (α‘(t), β‘‘(t)) DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 22 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 23 Implementierung DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 24 Excalibur-Board 1 MByte Flash Memory 256 kByte SRAM Configuration Controller APEX FPGA: max. System Gates: 526.000 max. RAM Bits: 106.496 max. User I/Os: 382 DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 25 SoC-Realisierung SRAM SRAM Flash Timer PIO User Defined Hardware PBM CPU IRQ NIOS SPI DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 26 Arbeitsplan (1/2) Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Modellierung AP1 AP2 60% 60% 40% 30% 60% 40% 10% 10% 10% 40% 10% 10% 40% 20% 10% 10% 30% 10% 30% 20% 30% 20% 30% 20% 20% 10% 20% 40% 40% 30% 40% 30% 40% 30% 40% 10% 30% 10% 10% 10% 10% 10% 10% 20% 20% 10% 10% 20% 30% 40% 30% 20% 20% 30% 50% 40% 20% 20% 30% 20% 80% Analyse AP3 AP4 AP5 Synthese AP6 AP7 Implement. AP8 AP9 AP10 AP11 AP12 DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 27 Arbeitsplan (2/2) Q1 Modellierung AP1 AP2 Analyse AP3 AP4 AP5 Synthese AP6 AP7 Implement. AP8 AP9 AP10 AP11 AP12 Q2 Q3 Q4 Q5 Q6 Q7 Q8 Modellierung Anwendungen und Architekturen 60% 60% zeitvarianter 40% Definition zeitvarianter Allokationen 30% 60% 40% und 10%Bindungen 10% 10% Analyse40% von Spezifikationen mit zeitv. Allokation und Bindung 40% 10% Ausfallsicherheit und Fehlertoleranz 10% Analyse 20% von 30% 30% 30% 30% 20% 20% 10% 10% 10% 20% 20% 20% und10% Erkennung von Leitungsund Knotenstörungen -ausfällen Mechanismen Zielfunktionen zum 40% 30% und 30% 30% 10% Rerouting in ReCoNets Algorithmen Online-Hardware/Software-Partitionierung 40% 40% zur40% 40% 30% 10% Analyseverfahren 10% zur Bestimmung 10% 10%der Ausfallsicherheit 10% 20% 20% Routingverfahren bei fehlerhaften Leitungen und Knoten 10% 10% 20% 20% 20% Simulative Implementierung der Online-HW/SW-Partitionierung 20% 30% 30% 30% Aufbau des Demonstrators 20% 40% 50% 20% 10% 30% 40% 80% Test des Demonstrators an Beispielen DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 28 Gliederung Motivation Ziele Arbeitsprogramm: Modellierung Analyse Synthese und Optimierung Implementierung Ausblick DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 29 Ausblick (1. + 2. Phase) 1. Phase terminiert in einem ersten einfachen Prototypen: Automatisches Erkennen von Leitungs- und Knotenausfällen Automatisches Rerouting bzw. Repartitionierung 2. Phase: Betriebssystemdienste: Verwaltung von HW- und SW-Prozessen Kombination der Entwurfsmethodiken auf Mikro- und Makroebene (ReCoNets & ReCoNodes) DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 30 Ausblick (3. Phase) 3. Phase: Optimierung der Netztopologie Sicherheit und Zugang zu ReCoNets Echtzeitverhalten in ReCoNets DFG-SPP 1148 „Rekonfigurierbare Rechensysteme“ ReCoNets - Ch. Haubelt 31