LEGaTO System

LEGaTO system overview

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.

Use cases 

Programming Model

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.

Runtime

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.

Hardware

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.