The TANGO project aims at
- Proposing a reference architecture to enable application self-adaptation at runtime for better exploiting capabilities of available heterogeneous hardware, including accelerators based on multi-core or many-core CPU, GPU and configurable hardware such as FPGA;
- Extending existing software development models and methodologies geared for heterogeneous hardware architectures and for apprehending the trade-off between application specific quality and energy behaviour throughout the development lifecycle;
- Developing an energy-aware hardware-agnostic programming environment;
- Developing hardware power consumption and software energy models that reflect appropriately the energy consumption of various hardware components when executing particular software elements of an application;
- Develop and evaluate self-adaption strategies at deployment-time and runtime to achieve lower power or energy consumption profiles while maintaining or even improving time performance behaviour.
The TANGO project will
- Develop a toolbox that implements the reference architecture including IDE plugins and runtime middleware to exploit heterogeneous hardware capabilities for enhanced performance in execution time while reducing energy consumption needs
- Provide a development methodology to use the toolbox in order to deliver software that achieves targeted quality behaviour with a reduced energy profile
- Validate the various tools and development methodologies from the TANGO toolbox on two Industry use cases: A first use case mostly focusing on heterogeneous hardware found in data centers and a second one targeting the heterogeneity found in small embedded devices.
TANGO helps developers with the need imposed by the new context of hardware heterogeneity. Thanks to a rapid prototyping approach and emulation with associated IDE plugins, developers will better understand how to model sofware components in their application architecture to exploit adequately the capabilities offered by various types of heterogeneous hardware. The runtime middleware components of the TANGO toolbox also helps to abstract away from the implementation complexity of compiling, deploying and executing software on heterogeneous hardware effectively available at operation time.