DFG Schwerpunktprogramm Rekonfigurierbare Rechensysteme Zwischenkolloquium in Darmstadt, 01./02 Juni 2006 Dynamisch rekonfigurierbare Systeme für drahtlose Sensornetzwerke Dipl.-Ing. Heiko Hinkelmann, Dr.-Ing. Peter Zipf, Institut für Datentechnik Karlstrasse 15, 64283 Darmstadt hinkelmann@mes.tu-darmstadt.de
Übersicht Einführung zu drahtlosen Sensornetzen Analyse dynamisch rekonfigurierbarer Systeme für drahtlose Sensornetze Architektur Auswertung Prototypen Ausblick 1
Drahtlose Sensornetze Anwendungen Vielzahl verschiedenster Anwendungen Gebäudekontrolle Überwachung von Bauwerken, z.b. Brücken Land- und Forstwirtschaft Umweltschutz Medizin Industrie-Automation Militär Verkehrsleitsysteme Sicherheitsanwendungen... pictures partly from Martin Haenggi 2
Drahtlose Sensornetze - Anforderungen Hohe Energieeffizienz Geringe Größe Niedrige Datenraten Geringer Preis Sensorknoten Selbstorganisierend Laufzeitänderungen Hohe Flexibilität Verschiedenste Anwendungsgebiete 3
Drahtlose Sensornetze - Anforderungen Hohe Energieeffizienz Energieeinsparungen > Rekonfigurationsoverhead? Geringe Größe HW Re-use Geringer Preis Potentiell sehr hohe Stückzahlen Sensorknoten Niedrige Datenraten Selbstorganisierend Laufzeitanpassungen Laufzeitänderungen Verschiedenste Anwendungsgebiete Effiziente Realisierung verschiedenster anwendungsspezifischer Protokolle Hohe Flexibilität Hohe Anpassungsfähigkeit Vorteile durch dynamisch rekonfigurierbare Hardware 3
Übersicht Einführung zu drahtlosen Sensornetzen Analyse dynamisch rekonfigurierbarer Systeme für drahtlose Sensornetze Architektur Auswertung Prototypen Ausblick
Anforderungsanalyse Verschiedene Anwendungen verschiedene Funktionalität Datenakquirierung Kommunikationsprotokolle MAC Hybrides System Routing Prozessor als Cross-Layer-Verfahren Kontrolleinheit und für Verschlüsselung die Ausführung Authentifizierung irregulärer Fehlerkorrektur Operationen Datenkompression & -aggregation Auslagern rechenintensiver Datenvorverarbeitung Algorithmen auf Lokalisierung rekonfigurierbare Synchronisierung Funktionseinheit (RFU)... 4
Anforderungsanalyse Zu unterstützende Operationen*: Multiplikation Addition GF-Multiplikation GF-Addition GF-Inversion Matrix-Vektor-Multiplikation Bit-Vertauschungen Shift... Speicheroperationen FIFO LUT Register * (aus einer Betrachtung ausgewählter Algorithmen wie CRC, BCH, AES, RC6,...) 5
Anforderungsanalyse Zu unterstützende Operationen*: Multiplikation Addition GF-Multiplikation GF-Addition GF-Inversion Matrix-Vektor-Multiplikation Bit-Vertauschungen Shift... Große Varianz in der Art und Komplexität der Operationen Heterogene Struktur Grobgranularer Ansatz Zusammenfassung ähnlicher Operationen in einem Funktionsblock Speicheroperationen FIFO LUT Register * (aus einer Betrachtung ausgewählter Algorithmen wie CRC, BCH, AES, RC6,...) 5
Energieeffizienz-Analyse Gängige Definitionen: Energie pro Operation: E = P/T (ähnlich zu PDP) Energieeffizienz: ETR = E/T = P/T² (ähnlich zu EDP) Entwurf einer Metrik für dynamisch rekonfigurierbare Systeme: RETR = Reconfigurable Architectures Energy-Throughput-Ratio Modellierung der spezifischen Charakteristika dynamischer Rekonfiguration Anwendbar auf alle dynamisch rekonfigurierbaren Systeme, inkl. FPGAs und grobgranularer Architekturen 6
Energieeffizienz RETR Metrik Schlussfolgerungen: Hoher Durchsatz T führt zu verbesserter Energieeffizienz Potential zur Reduzierung von Taktfrequenz und Versorgungsspannung Aber unterschiedliche Effekte auf Recheneffizienz und Rekonfigurationseffizienz! Lösung: Einsatz fortgeschrittener Rekonfigurationsmethoden Reduzierung der Rekonfigurationsaktivität oder Rekonfigurationsdauer 7
Übersicht Einführung zu drahtlosen Sensornetzen Analyse dynamisch rekonfigurierbarer Systeme für drahtlose Sensornetze Architektur Auswertung Prototypen Ausblick
Architektur Gesamtsystem Befehlsspeicher Konfigurationsspeicher Datenspeicher adaptive Sensorschnittstelle Sensor Konfigurationssteuerung Leon2 Prozessorkern + RFU Transcceiverschnittstelle Transceiver Leon2 Prozessorkern + RFU Adaptive Sensorschnittstelle Wishbone Bus 8
Architektur Prozessor-RFU-Kopplung Einbindung als Funktionseinheit in den Datenpfad control signals Steuerung über spezielle RFU-Befehle RFU: Autonome Kontrolle + Speicherschnittstelle Config. Memory Main Memory Configuration Control Configuration Tables memory access RFU ALU ID EX Pipeline Control Logic ME regfile WB 9
Architektur RFU Befehlsdekodierung Eingang A Eingang B Konfigurationsspeicher Datenverarbeitung Rekonfigurationssteuerung Prozesssteuerung Ablaufsteuerung Konfigurationscache Speicherschnittstelle Hauptspeicher Modularer Aufbau Datenverarbeitung Rekonfiguration Befehlsverarbeitung Resultat 10
Architektur Datenverarbeitung Unterstützt bisher u.a. Einzeloperationen sowie CRC, BCH, AES, etc. A B MAC SBOX Reg LUT Array aus 16 MAC (Multiply- Accumulate) Einheiten Hauptrecheneinheit der RFU je 1 Multiplizierer + 1 Addierer + Register interne Rückkopplung für MAC angepasste Verbindungsstruktur Zusätzliche Register Spezialeinheit für GF- Inversion, Matrix-Vektor- Produkt X 256B-Speicherblock: konfigurierbarer als LUT, FIFO 11 Y
Architektur Rekonfigurationssteuerung A B MAC SBOX Reg LUT X Y Erste Rekonfigurationsebene: Unterteilung in Frames An heterogene Struktur der Funktionsblöcke angepasst Rekonfigurierbare Multi-Kontext Tabellen/Caches Auswahl der Kontexte über einen einheitlichen Tag 12
Architektur Rekonfigurationssteuerung Ablaufsteuerung 000 00010 Auswahl von Konfiguration 2 PC 000 01101 00010 Konfiguration 1 010 10010 01101 Konfiguration 2...... 10010 Konfiguration 3...... TAG: 01101 Generierung der Tags durch Ablaufsteuerung Ähnlich einem Mikroprogramm Vollständig rekonfigurierbar Auswahl einer Konfiguration durch Übereinstimmung der Tags Individuell für jeden Frame Dynamische Kontextwechsel innerhalb eines Taktes 13
Architektur Rekonfigurationssteuerung Ablaufsteuerung 000 00010 Auswahl für 4 Frames: 2 2 2 3 PC 000 01101 00010 Konfiguration 1 1111 010 10010 01101 Konfiguration 2 1110...... 01101 Konfiguration 3 0001......... TAG: 01101 Erweiterung zur Multi-Frame Struktur Gemeinsamer Speicher für gleichartige Frames Ausnutzung von Redundanz zur Optimierung Erweiterung zum Cache Organisation der Multi-Kontext Tabelle in mehrere Abschnitte 14
Architektur Rekonfigurationssteuerung Zweite Ebene der Rekonfiguration: Zweck: Laden der Kontexttabellen aus einem globalen Konfigurationsspeicher Basierend auf Rekonfigurationsprofil Kodiert Ziel und Anzahl der zu ladenden Konfigurationen (26 Bit für die hier gezeigte Architektur) Nur tatsächlich benötigte Konfigurationen werden geladen Deutliche Reduktion des Rekonfigurationsaufwands Autonom ablaufende Rekonfiguration: kann auch aus dem Mikroprogramm gestartet werden Laden der Kontexttabellen zwischen der Ausführung von zwei Tasks Dauer ca. 20 bis 100 Takte Pre-Fetching möglich zur Maskierung der Rekonfigurationszeiten 15
Architektur RFU Befehlsdekodierung Eingang A Eingang B Konfigurationsspeicher Datenverarbeitung Rekonfigurationssteuerung Prozesssteuerung Ablaufsteuerung Konfigurationscache Speicherschnittstelle Hauptspeicher Modularer Aufbau Datenverarbeitung Rekonfiguration Befehlsverarbeitung Resultat (10)
Architektur Prozesssteuerung Management der Prozesse auf der RFU Einfache Programmierung der RFU von Seiten des Prozessors über wenige Spezialbefehle Nutzung der RFU in einem Echtzeitsystem Effizientes Multi-tasking bzw. Task-Preemption benötigt Problem: Interner Zustand der RFU sehr umfangreich Beobachtung: der aktuelle Umfang schwankt zeitlich stark Unterbrechung eines Prozesses nur zu sog. Preemption Points Erfolgreiche Umsetzung gelungen: Autonome Rekonfiguration erleichtert Wiederherstellung des ursprünglichen Zustands Resourcenmanagement vermeidet unnötige Rekonfigurationen Abgleich mit dem Rekonfigurationsprofil Interrupt-Handler für die RFU sind Teil des Mikroprogramms 16
Übersicht Einführung zu drahtlosen Sensornetzen Analyse dynamisch rekonfigurierbarer Systeme für drahtlose Sensornetze Architektur Auswertung Prototypen Ausblick
Auswertung Flächenverbrauch 130 nm CMOS Technologie Standardzellen Angaben: Zellfläche [mm²] Logik Speicher Gesamt Leon2 + RFU 0,52 0,76 1,28 Leon2 Core RFU Gesamt RFU Ex 0,23 0,29 0,15 0,49 0,27 0,11 0,72 0,56 0,26 Performance Simulation einer 8-Bit CRC Berechnung RFU-Durchsatz ~ 6.4 Bit/Takt Leon-Durchsatz ~ 7.2 Takte/Bit Beschleunigungsfaktor bis zu 46 24 Takte für die Rekonfiguration RFU Control 0,14 0,16 0,30 Leon RFU 32 Bit 7+233 29+5 256 Bit 7+1864 29+40 17
Auswertung Energieverbrauch Sehr großes Potential nach der RETR Metrik Zusätzlich möglich: Anwendung gängiger Low-Power Techniken Clock Gating Operand Gating... Abschaltung von nicht genutzten Blöcken durch dynamische Rekonfiguration Genauere Modellierung im Rahmen eines FLPA-Modells in Arbeit in Kooperation mit Prof. Noll von der RWTH Aachen Gate-Level Simulationen für bestimmte Anwendungsfälle geplant 18
Prototypen Prototypen umfassen komplettes System eines Sensorknotens Emulation aller digitalen Komponenten auf einem FPGA XEMICS Transceiver Chip, 868 MHz, bis 115.2 kbit/s Gegenwärtig ist ein Lichtsensor auf dem Board integriert Sensor Chip Transceiver Chip (rückseitig montiert) Weiterentwicklungen in naher Zukunft Integration aller Komponenten auf einem einzigen kleinen, batteriegetriebenen Board drahtloser Sensorknoten Aufbau eines Sensornetzes aus 10-20 Knoten FPGA z.z. noch nicht onboard; Daher vorübergehend Nutzung eines kommerziellen FPGA Boards 19
Übersicht Einführung zu drahtlosen Sensornetzen Analyse dynamisch rekonfigurierbarer Systeme für drahtlose Sensornetze Architektur Auswertung Prototypen Ausblick
Zusammenfassung und Ausblick RETR Metrik zur analytischen Betrachtung der Energieeffizienz dynamisch rekonfigurierbarer Systeme Entwicklung einer anwendungsspezifischen RFU für drahtlose Sensornetzwerke Einsatz eines neuartigen Rekonfigurationsverfahrens, das durch Vereinigung von Mulitkontextcaches, mehrstufiger Rekonfiguration, Konfigurationsprofilen, Pre-fetching, etc. sowohl äußerst dynamische Rekonfiguration als auch effizientes Multi-Tasking erlaubt Ausblick auf gegenwärtige und zukünftige Ergänzungen: Integration eines Echtzeitbetriebssystems (TinyOS, fast abgeschlossen) Untersuchung und Implementierung von Cross-Layer-Verfahren, Protokollen, Kompressionsverfahren Entwicklung weiterer geeigneter rekonfigurierbarer Komponenten, z.b. Entwurf einer adaptiven Sensorschnittstelle Ausgiebige Untersuchungen der Energieeffizienz 20
Projektübersicht Anforderungsanalyse Systementwurf und -analyse Entwicklung einer geeigneten Hardwareplattform Entwurf dynamisch rekonfigurierbarer Hardwarekomponenten Analyse und Entwurf effizienter Rekonfigurationsverfahren Methodische Untersuchung der Energieeffizienz Anpassung eines Echtzeitbetriebssystems Testanwendungen Software Konfigurationen Prototyping 21
Ausgewählte Publikationen Heiko Hinkelmann, Peter Zipf, Manfred Glesner: A Concept for a Profile-based Dynamic Reconfiguration Mechanism. ReCoSoc 06. Heiko Hinkelmann, Andreas Gunberg, Peter Zipf, Leandro Soares Indrusiak, Manfred Glesner: Multitasking Support for Dynamically Reconfigurable Systems. Accepted at FPL 06. Heiko Hinkelmann, Peter Zipf, Manfred Glesner: Design Concepts for a Dynamically Reconfigurable Wireless Sensor Node. AHS 06. Heiko Hinkelmann, Peter Zipf, Manfred Glesner: A metric for the energy-efficiency of dynamically reconfigurable systems. ARCS 06. Heiko Hinkelmann, Thilo Pionteck, Oliver Kleine, Manfred Glesner: Prozessorintegration und Speicheranbindung dynamisch rekonfigurierbarer Funktionseinheiten. ARCS 05. Thilo Pionteck, Manfred Glesner: On the Design of a Dynamically Reconfigurable Function-Unit for Error Detection and Correction. VLSI-SoC 05 Glesner, Hinkelmann, Hollstein, Indrusiak, Murgan, Obeid, Petrov, Pionteck, Zipf: Reconfigurable Embedded Systems: An Application-Oriented Perspective on Architectures and Design Techniques. SAMOS 05. Thilo Pionteck, Thorsten Staake, Thorsten Stiefmeier, Lukusa D. Kabulepa, Manfred Glesner: Design of a Reconfigurable AES Encryption/Decryption Engine for Mobile Terminals. ISCAS 04. Manfred Glesner, Thomas Hollstein, Leandro Soares Indrusiak, Peter Zipf, Thilo Pionteck, Mihail Petrov, Heiko Zimmer, Tudor Murgan: Reconfigurable Platforms for Ubiquitous Computing. In Proceedings of the first Conference on Computing Frontiers, 2004. Thilo Pionteck, Thomas Stiefmeier, Thorsten Staakte, Lukusa D. Kabulepa und Manfred Glesner: Integration dynamisch rekonfigurierbarer Funktionseinheiten in Prozessoren. ARCS 04. Thilo Pionteck, Thorsten Staake, Thomas Stiefmeier, Lukusa D. Kabulepa, and Manfred Glesner: On the Design of a Function-Specific Reconfigurable Hardware Accelerator for the MAC-Layer in WLANs. FPGA 04. Thilo Pionteck, Thomas Stiefmeier, Thorsten R. Staake, and Manfred Glesner: A Dynamically Reconfigurable Function-Unit for Error Detection and Correction in Mobile Terminals. FPL 04. 22
Vielen Dank