DynaCORE: Architekturen und Rekonfigurationsmanagement C. Albrecht, R. Koch, T. Pionteck, E. Maehle (J. Foag, R. Hagenau) Universität zu Lübeck Institut fü Direktor: Prof. Dr.-Ing. E. Maehle I T I Tübingen, 29. April 2005
Inhalt Einführung DynaCORE Architekturen (. Projektphase) Zwischenergebnisse und Schlussfolgerung Rekonfigurationsmanagement und NoC (2.Projektphase) Zusammenfassung 2 Institut für f
Einführung DynaCORE Netzwerkpakete Netzwerkprozessor Netzwerkpakete einzukoppelnde Daten ausgekoppelte Daten DynaCORE rekonfigurierbare Funktionseinheiten DynaCORE = Dynamically adaptable COprocessor based on REconfiguration FPGA-basierter Netzwerkcoprozessor Ziel: Einbindung verschiedener Deep-Packet-Processing-Varianten Hardware Assists (HA) = austauschbare Funktionseinheiten Austausch der HAs durch partielle Rekonfiguration des FPGA zusätzlich: softwarebasierte Funktionseinheiten 3 Institut für f
Architekturen (/3) Pipeline-Architektur Einbindung von IP-Cores in HA-Module Dispatcher Reconfig. Manager Stage Stage 2 Stage 3 Stage 4 Receive Control Processing Initiation Result Store Transmit Control + direkte Verdrahtung + Trennung von Kontroll- und Datenfluss I/O Stage 0 Stage Stage 2 Stage 3 Stage 4 RFIFO Demux Input DataRAM Mux Mux HA 0 HA Demux Demux Output DataRAM Mux TFIFO kompliziertes Pipelining mehrerer HAs Mux HA n Demux 4 Institut für f
Architekturen (2/3) NoC-Architektur Network-on-Chip: 3-Port-Switch variable Leitungsbreite Protokoll (NoC): Verbindungsschicht Quelle/Ziel Zweidimensionale Klassifikation Netzwerkschicht Logische Adresse Live-Lock-Vermeidung Anwendungsschicht 5 Institut für f
Architekturen (3/3) Ergebnisse: Architekturen: Pipeline NoC NoC-internes Protokoll Einbettung IP-Cores Analyse Floorplanning Performancetests regelbasierte Algorithmen für den Dispatcher Receive DES Switch Switch 2 Switch 3 Switch 4 Transmit Switch 5 6 Institut für f
Architekturen (3/3) Ergebnisse: Architekturen: Pipeline NoC NoC-internes Protokoll Einbettung IP-Cores Analyse Floorplanning Performancetests regelbasierte Algorithmen für den Dispatcher Datendurchsatz 7 Institut für f
Schlussfolgerungen zu hoher Flächenbedarf Schnittstelle Komponente Verbindungsstruktur Erweiterung NoC und Protokoll Entwicklung weiterer Funktionsbausteine Online-Analyse des Verkehrsprofils Rekonfigurationsmanagement 8 Institut für f
Rekonfigurationsmanagement Rekonfigurationsmanager Langzeitverhalten Leistungsoptimierung Fehlerkontrolle Ausnahmebehandlung Zuordnung Kontext - HA Datenzuordnung Fehlererkennung Ausnahmeerzeugung Konfiguration Ausnahmemeldungen Monitordaten Konfiguration Leistungsmonitoring Fehlererkennung adaptives Sampling Dispatcher Nutzdaten Beobachtungspunkt Beobachtungspunkt Beobachtungspunkt HA 9 Institut für f
Dispatcher Regelbasierter Dispatchingalgorithmus CONSTANT ApplicationType := 0..5; CONSTANT Threshold(ApplicationType) := 0..00; CONSTANT MaxAvailableHA := 0..25; ON in_message(headerat) VARIABLE newindex IN MaxAvailableHA; IF EXISTS i IN AllHardwareAssists: typeofha(i) = headerat AND load(i) < Threshold(i) AND FORALL j IN AllHardwareAssists: typeofha(j) = headerat AND load(i) <= load(j) THEN!dispatch(i); SUBBASE reconfigure(apptype) IF EXISTS i IN MaxAvailableHA\AllHardwareAssists: FORALL j IN MaxAvailableHA\AllHardwareAssists: i < j THEN reconfigure() <- (i MOD MaxAvailableHA),!reconfigEvent(appType,i); DEFAULT!evaluateConfiguration(appType), reconfigure() <- 0; END reconfigure DEFAULT!dispatch(reconfigure(headerAT)); END in_message u effizient implementierbar 0 Institut für f
Beobachtungspunkt Grundlage optimierender Rekonfigurationsentscheidung Leistungsmonitor Fehleranalyse (Konfigurationsfehler, Laufzeitfehler) Verbindung Rekonfigurationsmanager Beobachtungspunkt Shared Memory NoC adaptive Samplingrate zur Reduktion von Daten Sensoren: Zähler (Anzahl pro Zeiteinheit) Beispiel: DES #Datenworte #Schlüssel #Schlüsselwechsel NoC-Interface Hardware Assist Beob.-punkt Institut für f
Network-on on-chip Verkehrsklassen Nutzdaten zur bzw. nach der Verarbeitung Hohe Bandbreite Statusmeldungen/Nachrichten von den Beobachtungspunkten Geringe Latenz, Korrektheit Kontrollnachrichten (an Beobachtungspunkte oder andere DynaCORE- Komponenten) Geringe Latenz, Geringe Bandbreite, Korrektheit Rekonfigurationsdaten Korrektheit, hohe Bandbreite u Quality-of-Service-Eigenschaften Routing Schnittstelle Hardware Assist/Beobachtungspunkt NoC 2 Institut für f
Rekonfigurationsmanager (/2) Algorithmus als endlicher Automat: Zustände: Konfigurationen gebildet aus Kombinationen der Funktionen Transitionen: Regelsätze zur Auswertung der Monitordaten Transitionskosten: Anzahl zu verändernder Rekonfigurationseinheiten (Spalten, Tiles o.ä.) Beispiel: 3 Funktionen A, B, C und max. Transitionskosten sind Einheit A A B A A A Regeln: Prämisse: Vergleiche aus Monitordaten und Schwellwerten Konklusion: Zielkonfiguration IF j B m i: Index der aktuellen Konfiguration k: Index der Zielkonfiguration j: Laufindex j ot ij THEN C t ij : Schwellwert des Beobachtungspunktes j in C i m j : Messwert des Beobachtungspunktes j k ; B B B A B B B B C A B C B C C 3 Institut für f A A C A C C C C C
Rekonfigurationsmanager (2/2) Architektur zur Auswertung der Transitionsregeln Ablage der Prämissen als Bitsequenz, Vergleich pro Bit wenige Speicherzugriffe Auswertung häufiger Vergleiche durch Coprozessor Fehlende Vergleiche im PowerPC (asynchron) Auswertung der Regeln durch UND-Verknüpfung der Prämisse mit aktuellem Zustandswort Optimierungen: Hystereseeigenschaften der Schwellwerte statistische Analyse der Zusammenhänge einzelner Komponenten Lernen aus aufgezeichneten Monitordaten 4 Institut für f
Kooperationen/Publikationen Kooperationen: Dr.-Ing. Andreas Döring (IBM): rekonfigurierbare Hardware Dr.-Ing. Dietmar Tutsch (TU Berlin): Verkehrsprofile Prof. Dr. Andreas Herkersdorf (TU München): Netzwerkprozessoren und - applikation Publikationen: Foag, J.; Koch, R.: Towards a Runtime Reconfigurable Network-on-Chip-Based Network Processor. Applied Reconfigurable Computing 2005 (ARC 2005) Workshop Proceedings, Algarve, Portugal 2005. Foag, J.; Koch, R.: Architecture Conception of a Reconfigurable Network Coprocessor Platform (DynaCore) for Flexible Task Offloading. Advanced Networking and Communications Hardware Workshop (ANCHOR) 2004, Munich, 2004. Albrecht, C.; Döring, A. : A Compiler for Mapping a Rule-Based Event-Triggered Program to a Hardware Engine. In Proceedings of 5th International Workshop on Rule-Based Programming (RULE 04), ENTCS 347, 24(), 63-80, Elsevier, 2005. Maehle, E.; Albrecht, C; Hagenau, R.: Dynamically Reconfigurable Coprocessor for Network Processors. Proc. Work in Progress Session, 29th EUROMICRO Conference and EUROMICRO Symposium on Digital System Design 2003, Institute of System Science, University of Linz, Linz, Austria 2003 5 Institut für f
Zusammenfassung Architekturen Pipeline NoC Regelbasierter Dispatcher Erweiterungen: Beobachtungspunkte und QoS im NoC Rekonfigurationsmanagement Automat aus endlich vielen Konfigurationen Regelbasierte Transitionen Architektur zur Auswertung der Regeln Optimierungsstrategien Analyse des Systems durch Simulation 6 Institut für f
Ausblick Selbstoptimierung der Regeln durch Online-Lernen Überwachtes Lernen durch Anpassung der Schwellwerte Konvergenz Fehlertoleranz durch Fehleranalyse der Komponenten durch den Beobachtungspunkt Lernkontrolle und Rücksetzpunkte Integration weiterer Netzwerkprozessorkomponenten DynaCORE u DynaNP 7 Institut für f