On-The-Fly Computing -- Individualized IT-services in dynamic markets - Haake, Claus-Jochen; Meyer auf der Heide, Friedhelm; Platzner, Marco; Wachsmuth, Henning; Wehrheim, Heike
In the proposal for our CRC in 2011, we formulated a vision of markets for IT services that describes an approach to the provision of such services that was novel at that time and, to a large extent, remains so today: „Our vision of on-the-fly computing is that of IT services individually and automatically configured and brought to execution from flexibly combinable services traded on markets. At the same time, we aim at organizing markets whose participants maintain a lively market of services through appropriate entrepreneurial actions.“ Over the last 12 years, we have developed methods and techniques to address problems critical to the convenient, efficient, and secure use of on-the-fly computing. Among other things, we have made the description of services more convenient by allowing natural language input, increased the quality of configured services through (natural language) interaction and more efficient configuration processes and analysis procedures, made the quality of (the products of) providers in the marketplace transparent through reputation systems, and increased the resource efficiency of execution through reconfigurable heterogeneous computing nodes and an integrated treatment of service description and configuration. We have also developed network infrastructures that have a high degree of adaptivity, scalability, efficiency, and reliability, and provide cryptographic guarantees of anonymity and security for market participants and their products and services. To demonstrate the pervasiveness of the OTF computing approach, we have implemented a proof-of-concept for OTF computing that can run typical scenarios of an OTF market. We illustrated the approach using a cutting-edge application scenario – automated machine learning (AutoML). Finally, we have been pushing our work for the perpetuation of On-The-Fly Computing beyond the SFB and sharing the expertise gained in the SFB in events with industry partners as well as transfer projects. This work required a broad spectrum of expertise. Computer scientists and economists with research interests such as computer networks and distributed algorithms, security and cryptography, software engineering and verification, configuration and machine learning, computer engineering and HPC, microeconomics and game theory, business informatics and management have successfully collaborated here.

Flexible Industrial Analytics on Reconfigurable Systems-On-Chip - Boschmann, Alexander; Clausing, Lennart; Jentzsch, Felix; Ghasemzadeh Mohammadi, Hassan; Platzner, Marco (On-The-Fly Computing -- Individualized IT-services in dynamic markets)

Compute Centers I: Heterogeneous Execution Environments - Hansmeier, Tim; Kenter, Tobias; Meyer, Marius; Riebler, Heinrich; Platzner, Marco; Plessl, Christian (On-The-Fly Computing -- Individualized IT-services in dynamic markets)

Verifying Software and Reconfigurable Hardware Services - Wehrheim, Heike; Platzner, Marco; Bodden, Eric; Schubert, Philipp; Pauck, Felix; Jakobs, Marie-Christine (On-The-Fly Computing -- Individualized IT-services in dynamic markets)

Applications of Evolutionary Computation - 20th European Conference, EvoApplications - Squillero, Giovanni; Burelli, Paolo; M. Mora, Antonio; Agapitos, Alexandros; S. Bush, William; Cagnoni, Stefano; Cotta, Carlos; De Falco, Ivanoe; Della Cioppa, Antonio; Divina, Federico; Eiben, A.E.; I. Esparcia-Alcázar, Anna; et al.

Self-aware Compute Nodes - Agne, Andreas; Happe, Markus; Lösch, Achim; Plessl, Christian; Platzner, Marco (Self-aware Computing Systems)
Many modern compute nodes are heterogeneous multi-cores that integrate several CPU cores with fixed function or reconfigurable hardware cores. Such systems need to adapt task scheduling and mapping to optimise for performance and energy under varying workloads and, increasingly important, for thermal and fault management and are thus relevant targets for self-aware computing. In this chapter, we take up the generic reference architecture for designing self-aware and self-expressive computing systems and refine it for heterogeneous multi-cores. We present ReconOS, an architecture, programming model and execution environment for heterogeneous multi-cores, and show how the components of the reference architecture can be implemented on top of ReconOS. In particular, the unique feature of dynamic partial reconfiguration supports self-expression through starting and terminating reconfigurable hardware cores. We detail a case study that runs two applications on an architecture with one CPU and 12 reconfigurable hardware cores and present self-expression strategies for adapting under performance, temperature and even conflicting constraints. The case study demonstrates that the reference architecture as a model for self-aware computing is highly useful as it allows us to structure and simplify the design process, which will be essential for designing complex future compute nodes. Furthermore, ReconOS is used as a base technology for flexible protocol stacks in Chapter 10, an approach for self-aware computing at the networking level.

ReconOS - Agne, Andreas; Platzner, Marco; Plessl, Christian; Happe, Markus; Lübbers, Enno (FPGAs for Software Programmers)
In this chapter, we present an introduction to the ReconOS operating system for reconfigurable computing. ReconOS offers a unified multi-threaded programming model and operating system services for threads executing in software and threads mapped to reconfigurable hardware. By supporting standard POSIX operating system functions for both software and hardware threads, ReconOS particularly caters to developers with a software background, because developers can use well-known mechanisms such as semaphores, mutexes, condition variables, and message queues for developing hybrid applications with threads running on the CPU and FPGA concurrently. Through the semantic integration of hardware accelerators into a standard operating system environment, ReconOS allows for rapid design space exploration, supports a structured application development process and improves the portability of applications between different reconfigurable computing systems.

Self-aware Computing Systems: An Engineering Approach
Taking inspiration from self-awareness in humans, this book introduces the new notion of computational self-awareness as a fundamental concept for designing and operating computing systems. The basic ability of such self-aware computing systems is to collect information about their state and progress, learning and maintaining models containing knowledge that enables them to reason about their behaviour. Self-aware computing systems will have the ability to utilise this knowledge to effectively and autonomously adapt and explain their behaviour, in changing conditions. This book addresses these fundamental concepts from an engineering perspective, aiming at developing primitives for building systems and applications. It will be of value to researchers, professionals and graduate students in computer science and engineering.

Applications of Evolutionary Computation - 19th European Conference, EvoApplications - Squillero, Giovanni; Burelli, Paolo; M. Mora, Antonio; Agapitos, Alexandros; S. Bush, William; Cagnoni, Stefano; Cotta, Carlos; De Falco, Ivanoe; Della Cioppa, Antonio; Divina, Federico; Eiben, A.E.; I. Esparcia-Alcázar, Anna; et al.

Applications of Evolutionary Computation - 18th European Conference, EvoApplications - M. Mora, Antonio; Squillero, Giovanni; Agapitos, Alexandros; Burelli, Paolo; S. Bush, William; Cagnoni, Stefano; Cotta, Carlos; De Falco, Ivanoe; Della Cioppa, Antonio; Divina, Federico; Eiben, A.E.; I. Esparcia-Alcázar, Anna; et al.

Verschiebungen an der Grenze zwischen Hardware und Software - Platzner, Marco; Plessl, Christian (Logiken strukturbildender Prozesse: Automatismen)
Im Bereich der Computersysteme ist die Festlegung der Grenze zwischen Hardware und Software eine zentrale Problemstellung. Diese Grenze hat in den letzten Jahrzehnten nicht nur die Entwicklung von Computersystemen bestimmt, sondern auch die Strukturierung der Ausbildung in den Computerwissenschaften beeinﬂusst und sogar zur Entstehung von neuen Forschungsrichtungen geführt. In diesem Beitrag beschäftigen wir uns mit Verschiebungen an der Grenze zwischen Hardware und Software und diskutieren insgesamt drei qualitativ unterschiedliche Formen solcher Verschiebungen. Wir beginnen mit der Entwicklung von Computersystemen im letzten Jahrhundert und der Entstehung dieser Grenze, die Hardware und Software erst als eigenständige Produkte diﬀerenziert. Dann widmen wir uns der Frage, welche Funktionen in einem Computersystem besser in Hardware und welche besser in Software realisiert werden sollten, eine Fragestellung die zu Beginn der 90er-Jahre zur Bildung einer eigenen Forschungsrichtung, dem sogenannten Hardware/Software Co-design, geführt hat. Im Hardware/Software Co-design ﬁndet eine Verschiebung von Funktionen an der Grenze zwischen Hardware und Software während der Entwicklung eines Produktes statt, um Produkteigenschaften zu optimieren. Im fertig entwickelten und eingesetzten Produkt hingegen können wir dann eine feste Grenze zwischen Hardware und Software beobachten. Im dritten Teil dieses Beitrags stellen wir mit selbst-adaptiven Systemen eine hochaktuelle Forschungsrichtung vor. In unserem Kontext bedeutet Selbstadaption, dass ein System Verschiebungen von Funktionen an der Grenze zwischen Hardware und Software autonom während der Betriebszeit vornimmt. Solche Systeme beruhen auf rekonﬁgurierbarer Hardware, einer relativ neuen Technologie mit der die Hardware eines Computers während der Laufzeit verändert werden kann. Diese Technologie führt zu einer durchlässigen Grenze zwischen Hardware und Software bzw. löst sie die herkömmliche Vorstellung einer festen Hardware und einer ﬂexiblen Software damit auf.

Applications of Evolutionary Computation - 17th European Conference, EvoApplications - I. Esparcia-Alcázar, Anna; Eiben, A.E.; Agapitos, Alexandros; Simões, Anabela; G.B. Tettamanzi, Andrea; Della Cioppa, Antonio; M. Mora, Antonio; Cotta, Carlos; Tarantino, Ernesto; Haasdijk, Evert; Divina, Federico; Fernández de Vega, Francisco; et al.

Adapting Hardware Systems by Means of Multi-Objective Evolution - Kaufmann, Paul

Hardware Virtualization on Dynamically Reconfigurable Embedded Processors - Plessl, Christian; Platzner, Marco (Reconfigurable Embedded Control Systems: Applications for Flexibility and Agility)

Evolution of Electronic Circuits - Sekanina, Lukas; Walker, James Alfred; Kaufmann, Paul; Plessl, Christian; Platzner, Marco (Cartesian Genetic Programming)

Problem Decomposition in Cartesian Genetic Programming - Walker, James Alfred; Miller, Julian F.; Kaufmann, Paul; Platzner, Marco (Cartesian Genetic Programming)

Multi-objective Intrinsic Evolution of Embedded Systems - Kaufmann, Paul; Platzner, Marco (Organic Computing---A Paradigm Shift for Complex Systems)

ReconOS: An Operating System for Dynamically Reconfigurable Hardware - Lübbers, Enno; Platzner, Marco (Dynamically Reconfigurable Systems: Architectures, Design Methods and Applications)

Dynamically Reconfigurable Systems: Architectures, Design Methods and Applications