The objective of the LEGaTO project is to develop a software toolchain for heterogeneous-hardware with energy-efficiency as the main focus. The project also considers fault-tolerance, security and programmability together with energy-efficiency. In this picture, we present a birds-eye view of the various components used in the project, arranged hierarchically in the compute stack starting from use cases, to programming model, compiler and high level synthesis (HLS) languages, runtime, middleware and hardware.
- a smart home application, processing privacy-sensitive information in order to provide assisted living recommendations.
- a smart city application to model air quality in near-real time using fluid dynamics.
- an energy-efficient machine learning application with surrounding perception and trajectory calculation for self-driving cars.
- a computation intensive monte-carlo method for obtaining reliable classifiers, to identify specific biomarkers that allow for more precisely diagnosing each disease
- a standalone focused on IoT security and usability, developing a gateway for (secure) network connections of local and remote network devices.
Below the use cases lies the OmpSs programming model, which is a task-based programming model that develops a write-once run-anywhere approach to task-based programming with mapping into CPUs, GPUs and FPGAs.
Compilers & HLS
Below the task-based programming model, there are various compilers that map OmpSs tasks to CPUs (Mercurium), Data Flow Engines (MaxCompiler), and FPGAs (AutoAit), as well as the LEGaTO developed HLS called Dfiant to map high-level kernels into FPGAs.
The two LEGaTO runtimes work together to seamlessly run OmpSs tasks in a dataflow fashion on the various hardware platforms in an energy-efficient way. In particular, the XiTAO runtime is used as a research development vehicle with the nanos scheduler providing the higher level scheduler decisions.
The runtime-optimized tasks are then mapped to energy efficient low form factor LEGaTO hardware through the use of the redfish interface that offers configurability of the hardware resources. The LEGaTO tasks are run securely through the employment of secure LEGaTO technology termed Scone which leverages Intel SGX security hardware extension. For fault-tolerance the team has developed checkpointing solutions on LEGaTO GPUs and FPGAs as well as CPUs.