Scheme consisting of three columns: Green: Elastic AI.creator with a workflow pyTorch>code generator>accelerator builder, Blue: Elastic AI.runtime with the elements cloud, edge and embedded, Light purple: Elastic AI.hardware with stylised Elastic Node V5

Anyone can experiment with AI

Admittedly, artificial intelligence (AI) is not a particularly simple subject. But with a little practice, it is possible to create and train the first AI model in pyTorch, for instance. But what comes next? How do you integrate this AI into your own system? How do you run it on a small embedded system? How do you link it to incoming data and send the results to a consumer? Who will design the necessary embedded hardware? And how do you program an intelligent application that can dynamically switch between AI in the cloud and on-device AI?

For all of this, we are developing an open-source AI ecosystem we call elastic AI. It consists of three parts:

  1. the elastic AI.creator, for automatically generating optimised AI accelerators for embedded FPGAs,
  2. the elastic AI.runtime, for running distributed AI systems; connecting AI in the cloud with edge and embedded AI, and
  3. the elastic AI.hardware, for developing your own intelligent end devices.

The elastic AI Ecosystem

An open source solution for adaptive and distributed AI

Creator



Elastic AI.creator (Schema)

With the elastic AI.creator it is possible to design AI models especially optimised for FPGAs, to train them and to translate them into a hardware description.

First of all, it provides custom optimised layers from which a suitable model is assembled.

The finished model then undergoes its training and is then translated into a VHDL representation of the corresponding FPGA target configuration.

These VHDL files can be compiled using third-party software such as Vivado Xilinx for the Elastic Node or other devices.

The Creator is based on the work in the LUTNet project. The source code and information on how to use it can be found on the associated Github page.

Responsible: Lukas Einhaus

Runtime

Schema elastic AI.runtime
The elastic AI.runtime is a continuation of the Elastic IoT Platform and in a sense represents the infrastructure of the ecosystem. It is a platform for controlling, managing and monitoring distributed AI systems. Its structure consists of an embedded runtime, a cloud runtime and the monitor, a cloud application for supervisory purposes.

The embedded runtime is used on the respective end devices of the distributed embedded systems and acts as an interface between the server and the respective devices. It takes care of general control and communication, resource management as well as the selection of FPGA configurations and – by means of the Elastic Node Middleware – their deployment and their operation.

The individual end devices have their counterparts on the server side in the form of Digital Twins. These simultaneously serve as a model representation of the physical network elements, as load balancers and as intermediaries to them. The Digital Twins also provide abstractions that allow greater flexibility in dealing with concrete hardware which is dependent on specific protocols and structures.

Finally, the Monitor is designed to oversee the entire assemblage and, with the help of the Digital Twins, creates an overview of the distributed system and the status of its elements.

Full source code and technical details on Github:

Responsible: Gregor Schiele

Hardware

Elastic Node mit Beschreibung

The accompanying hardware is the fifth iteration of our own Elastic Node.

It is a small, very energy-efficient endpoint device for distributed sensor networks that optionally connects to cloud or edge AI through its wireless module, or relies on on-device AI.

Since its initial release, the hardware has been steadily refined. The Elastic Node v5 is now less than 5.8 cm high and only 3.4 cm wide, making it suitable for very space-constrained deployments.

Its heterogeneous design essentially combines a power-saving microcontroller (MCU), a cache for data and an embedded FPGA which is primarily intended for AI applications, together with memory for additional AI models.

The microcontroller takes over comparatively simple tasks such as general controlling and reading out of sensor data, while the FPGA takes care of more specific tasks for which suitable neural networks were previously assembled by means of the Creator.

Thanks to its model storage, the Elastic Node can dynamically reconfigure itself in situ and thus always have the appropriate neural network ready for varying requirements.

Other features include a power consumption monitor and the possibility of expanding functionality by adding extension boards.

Responsible: Chao Qian

Publications related to the ecosystem

    2024

  • Erbati, Sam;
    Towards the optimal orchestration of service function chains to enable ultra-reliable low latency communication in an NFV-enabled network
    Duisburg, Essen (2024) xviii, 164 Seiten
  • 2023

  • Burger, Alwyn;
    FPGA-Augmented Intelligent Devices for the Internet of Things
    Duisburg, Essen (2023) xv, 223 Seiten
  • 2021

  • Cichiwskyj, Christopher; Schmeißer, Stephan; Qian, Chao; Einhaus, Lukas; Ringhofer, Christopher; Schiele, Gregor
    Elastic AI : System support for adaptive machine learning in pervasive computing systems
    In: CCF Transactions on Pervasive Computing and Interaction Vol. 3 (2021) Nr. 3, pp. 300 - 328
  • Einhaus, Lukas; Qian, Chao; Ringhofer, Christopher; Schiele, Gregor
    In-Situ Artificial Intelligence for Self-∗ Devices : The Elastic AI Ecosystem (Tutorial)
    In: 2nd IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion, ACSOS-C 2021: Proceedings / 2nd IEEE International Conference on Autonomic Computing and Self-Organizing Systems Companion, ACSOS-C 2021, Virtual, Washington, 27 September - 1 October 2021 (2021) pp. 320 - 321
  • 2020

  • Burger, Alwyn Johannes; Cichiwskyj, Christopher; Schmeißer, Stephan; Schiele, Gregor
    The Elastic Internet of Things - A Platform for Self-Integrating and Self-Adaptive IoT-Systems with Support for Embedded Adaptive Hardware
    In: Future Generation Computer Systems Vol. 113 (2020) pp. 607 - 619
  • 2019

  • Schiele, Gregor; Burger, Alwyn Johannes; Cichiwskyj, Christopher
    The Elastic Node: An Experimentation Platform for Hardware Accelerator Research in the Internet of Things
    In: Proceedings of the IEEE International Conference on Autonomic Computing / ICAC 2019; Umea; Sweden; 16 - 20 June 2019 (2019) pp. 84 - 94
  • 2018

  • Burger, Alwyn Johannes; Schiele, Gregor
    Demo Abstract : Deep Learning on an Elastic Node for the Internet of Things
    In: IEEE International Conference on Pervasive Computing and Communications Workshops / PerCom Workshops 2018; Athens; Greece; 19-23 March 2018 (2018) pp. 424 - 426
  • 2017

  • Burger, Alwyn Johannes; Cichiwskyj, Christopher; Schiele, Gregor
    Elastic Nodes for the Internet of Things : A Middleware-Based Approach
    In: Proceedings - 2017 IEEE International Conference on Autonomic Computing, ICAC 2017 / 14th IEEE International Conference on Autonomic Computing, ICAC 2017; The Ohio State University Columbus; United States; 17 July 2017 through 21 July 2017 / Wang, Xiaorui (Eds.) (2017) pp. 73 - 74