Rekonfigurieren ist der Schlüssel

Mit dem Aufstieg des Internet der Dinge (IoT) und Maschinellen Lernens stellen wir fest, dass die Leistungsanforderungen an eingebettete und batteriebetriebne Geräte stetig steigt. Um dem gerecht zu werden benötigt es neue Hardware- und Softwarekonzepte, die gleichzeitig hochgradig energieeffizient und trotzdem leistungsstark sind.

In solchen Systemen steuern Softwarekomponenten oftmals den Kontrollfluss einer Applikation und verwenden Hardwarebeschleuniger, um rechenintensive Aufgaben schnell und effizient zu lösen. Da sich jedoch Anforderungen an das System mit der Zeit verändern können, sollte ein Gerät in die Lage versetzt werden, Hardwarebeschleuniger je nach Anforderung auszutauschen, um immer optimal auf die aktuelle Situation reagieren zu können.

Ein Beispiel für eine solche Hardwarekomponente sind Field Programmable Gate Arrays (FPGA). Diese zeichnen sich dadurch aus, dass sie verschiedene hochspezialisierte Hardwarebeschleuniger instanziiern können und zwischen diesen, je nach Anwendungsanforderung, wechseln können. Während FPGAs in größeren Systemen schon vermehrt Anwendung finden, ist die Verwendung in eingebetteten Szenarien noch experimentell. Die größte Schwierigkeit liegt in der deutlich komplexeren Applikationsentwicklung für FPGAs.

Um dies zu vereinfachen haben wir die Elastic Node Plattform entwickelt, bestehend aus der Hardware Plattform und der Software Suite.

Die Elastic Node Plattform

Hybride adaptive Experimentierplattform

Hardware

Der Elastic Node ist vor allem als eine Experimentierplattform entwickelt worden, die es Forschern und Entwicklern ermöglichen soll die Leistung und Effizienz von Applikationen mit adaptiver Hardware zu messen und zu evaluieren.

Aus diesem Grund kombiniert der Elastic Node für die einfachere Entwicklung von Anwendungen nicht nur einen Microcontroller (MCU) mit einem leistungssparsamen FPGA, sondern beinhaltet auch eine isolierte Monitoring-Schaltung. Mit dieser können Energiemessungen direkt auf dem  Gerät durchgeführt werden, ohne dabei die Ausführung der Hauptandwenung zu beinträchtigen. Um mobile Anwendungen zu unterstüzten ist der Elastic Node zusätzlich mit einem 802.15.4  Funkchip versehen und kann batteriebetrieben arbeiten.

Kontakt: Alwyn Burger

Hier finden Sie die aktuellen Open Hardware Designs

Middleware

Kombiniert man eine MCU mit einem FPGA steigert das die Komplexität der Entwicklung von Applikationenm, da sowohl Programmierkenntnisse in z.B. C/C++ als auch Schaltungsdesign mit Hardwarebeschreibungssprachen wie VHDL benötigt werden. Zusätzlich müssen die hardwarenahen Interaktionen zwischen MCU und FPGA genau gesteuert werden um beide Komponenten effizient zu verwenden.

Um dies zu vereinfachen haben wir eine minimalistische Middleware entwickelt, welche von Verwaltungsaufgaben rund um den Elastic Node abstrahiert. Hierunter fallen unter anderem das Rekonfigurieren des FPGAs, die Überwachung des Energiezustandes und die Kommunikation zwischen MCU und FPGA. Angeboten werden diese Funktionalitäten durch eine simple API und einem Stub-Skeleton Prinzip.

Kontakt: Christopher Cichiwskyj

Hier finden Sie den aktuellen Open Source Code

Weitere Informationen

Publikationen

  • Burger, A., Urban, P., Boubin, J., & Schiele, G. (2020). An Architecture for Solving the Eigenvalue Problem on Embedded FPGAs. ARCS 2020 - 33rd International Conference on Architecture of Computing Systems.
  • Burger, A., Qian, C., Schiele, G., & Helms, D. (2020). An Embedded CNN Implementation for On-Device ECG Analysis. 2020 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops).
  • Schiele, G., Burger, A., & Cichiwskyj, C. (2019). The Elastic Node: An Experimentation Platform for Hardware Accelerator Research in the Internet of Things. Proceedings - 2019 IEEE International Conference on Autonomic Computing, ICAC 2019, 84–94. (https://doi.org/10.1109/ICAC.2019.00020)
  • Schiele, G., 2018. Reconfigurable Hardware and Adaptive Software for the Internet of Things: How Runtime Flexibility Changes Embedded Systems. Collaborative Technologies and Data Science in Smart City Applications, p.37. (https://dl.acm.org/doi/book/10.5555/3294341)
  • Burger, A. and Schiele, G., 2018, March. Demo abstract: Deep learning on an elastic node for the internet of things. In 2018 IEEE International Conference on Pervasive Computing and Communications Workshops (PerCom Workshops) (pp. 424-426). IEEE. (https://doi.org/10.1109/PERCOMW.2018.8480160)
  • Burger, A., Cichiwskyj, C. and Schiele, G., 2017, July. Elastic nodes for the internet of things: a middleware-based approach. In 2017 IEEE International Conference on Autonomic Computing (ICAC) (pp. 73-74). IEEE. (https://doi.org/10.1109/ICAC.2017.27)

Team

Projektleitung

Entwicklung