Description
The demands of our rapidly evolving society, coupled with the ever-expanding scope of industrial applications, urge a substantial leap forward in the autonomy and intelligence of complex Cyber-Physical Systems (CPSs), like those used in autonomous mobility and space exploration initiatives. These systems involve a physical part, with sensors and actuators, and a computing part that performs computations on input data and decides actions to be performed in the system.
The increasing need for High-Performance Computing (HPC) capabilities coupled with the requirements regarding Real-Time behavior exacerbates two critical challenges in CPS development: (1) the coordination of a potentially extensive set of tasks that often require real-time execution and significant computational resources, and (2) the complexities entailed by the parallel and heterogeneous platforms upon which CPS are commonly deployed, such as the Xilinx UltraScale+ FPGA, the MPPA Coolidge co processor, and the GPU-based NVIDIA Jetson platforms.
Nowadays, CPSs attempt to meet real-time and safety requirements through the use of hypervisors that provide isolation via virtualization and Real-Time Operating Systems that manage the concurrency of various system tasks. These tasks encompass a wide spectrum of activities, including Artificial Intelligence flows and resource-intensive computations, which are increasingly reliant on high computational capabilities. However, their efficiency is hindered by decisions made at the Operating System level, which often lacks awareness of their specific intricacies. Consequently, the current software environment impedes the efficient utilization of highly parallel and heterogeneous architectures, as it fails to enable a comprehensive analysis of the entire system. Moreover, parallel programming models used to efficiently harness the parallel capabilities of the most advanced processors (e.g., OpenMP) do not fully accommodate the non-functional properties that are integral to CPSs, such as real-time behavior and safety requirements. There exists hence a significant gap in the availability of integrated and unified computing frameworks capable of providing the mechanisms required for developing, deploying, and executing complex CPSs on parallel and heterogeneous processor architectures.