Self-Adaptive Virtualisation-Aware
High-Performance/Low-Energy
Heterogeneous System Architectures

The global ICT footprint is expected to more than triple by 2020, caused by data centres that provide information at our fingertips and the mobile devices we use to access it. Nowadays, high performance systems are designed to serve rather static workloads with high-performance requirements, although we are moving towards a highly flexible, on-demand computing scenario that is characterized by varying workloads, constituted by diverse applications with different performance requirements and criticality. This mismatch between demand and supply of computing power causes high energy dissipation. A promising approach to address the challenges posed by this scenario is to better exploit specialised computing resources integrated in a heterogeneous system architecture (such as a modern PC with several cores – CPUs – and specialised graphic co-processors – GPUs –) by taking advantage of their individual characteristics to optimise the performance/energy trade-off for the overall system. However, heterogeneity comes at the cost of greater complexity. System architects need for example to consider the efficiency of the different computational resources as well as the application workload which often leads to inefficiency in resource exploitation and therefore a suboptimal performance/energy trade-off.

The SAVE project (Self-Adaptive Virtualisation-aware high-performance/low-Energy heterogeneous system architectures -- ) aims at addressing these limitations by exploiting self-adaptivity and hardware-assisted virtualisation to allow the system to autonomously decide which specialised computing resources are exploited to achieve a more efficient execution based on user-defined optimisation goals, such as performance, energy, reliability. SAVE will define crosscutting SW/HW technologies for implementing self-adaptive systems exploiting GPUs and FPGA-based dataflow engines (DFEs) that enhance heterogeneous architectures to cope with the increased variety and dynamics of high-performance and embedded computing workloads. Virtualisation and self-adaptation are jointly exploited to obtain a new self-adaptive virtualisation-aware Heterogeneous System Architecture (saveHSA). This architecture exhibits a highly dynamic behaviour to achieve the requested performance while minimising energy consumption allocating tasks to the most appropriate computing resources. This objective is supported by two main technologies: i) novel runtime OS components to manage the HSA by assigning the computation to the most appropriate resource, and ii) hardware-assisted virtualisation support for GPUs and DFEs.

The effectiveness of SAVE technologies will be validated in two application scenarios: i) financial risk computing and ii) computer vision applications. For the adopted application scenarios, we target an energy efficiency improvement of at least 20% with respect to today’s architecture using either DFEs or GPUs, as accelerators. At the same time, system manageability, ease of deployment and resilience will be greatly improved. The project brings together key European technology companies (ST Microelectronics and ARM) and high-potential SMEs (Maxeler and Virtual Open Systems) who see a timely opportunity to develop self-adaptation and virtualisation technologies to deliver a new generation of HSAs. These architectures will be a passkey for entering the market with innovative solutions with improved cost/performance/energy/resilience characteristics, reinforcing the competitiveness of those four European technology suppliers across the computing spectrum. The rest of the consortium is constituted by Politecnico di Milano (represented by myself and a team of colleagues and students) coordinating the project, and the Technological Educational Institute of Crete and the University of Paderborn.

Our specific scientific interests and contributions to SAVE are related to the design and development of OS components enabling self-adaptiveness in HSAs; the main role is played by the so-called Orchestrator, in charge of performing runtime resource management to pursue the user's goals.

Project partners

 

This is an EU FP7 project, started in Sep. 2013 and will run until Aug. 2016.

Details

Recent/relevant publications

Theses and Ph.D. opportunities

Master and PhD theses tackling the above-mentioned challenges are available; the following are examples of open topics: