Final TANGO Toolbox is released as Open Source
In the upcoming era of Mobile, IoT, CPS, Wearables, Big Data and High Performance Computing, new families of applications are now showing significant interest in exploiting the capabilities offered by customized heterogeneous hardware such as FPGA, MPSoC, heterogeneous CPU+GPU chips and heterogeneous multi-processor clusters.
TANGO comes with a Programming Model and a Runtime Environment that will help you control and abstract underlying heterogeneous hardware architectures, configurations and software systems including heterogeneous clusters, chips and programmable logic devices.
TANGO also comes with tools to optimize various dimensions of software design & operations such as energy efficiency, performance, data movement and location, cost, time-criticality, security, dependability on target architectures.
Heterogeneity shows benefits in various areas. Heterogeneous parallel architectures have the potential to be applied to any sizable workload.
Adopting heterogeneous systems to run HPC as well as non-HPC workloads has the potential to deliver higher performance on extreme-scale applications, which is particularly useful when homogeneous servers are too slow.
TANGO is developing technologies to extend SLURM Workload Manager to be able to cope with heterogeneous hardware for the new datacenter.
Energy has become a relevant metric in software, not only to make the exascale run sustainable, but when programming for devices with space and energy available constrains.
Therefore, a new element has to be taken into account now in the equation of writing great software: Energy. TANGO considers this aspect and simplifies the underlying complexity to
Our objective is to provide technologies and tools made to facilitate the adoption of new heterogeneous hardware
Analyzing the current market, we have found the importance of exploiting parallelism is of increasing significance, as parallelization has become a dominant method of delivering higher performance and improved energy efficiency.
use an approach that simplifies the creation and operation of next-gen software by hiding the complexity between the distributed/parallel architecture level and the level of application/software
expose performance, energy and other requirements of software applications to be incorporated into the overall development and deployment process, enabling programmers to code and resource managers execute being energy-aware
we plan to create a number of technologies and tools based on our research objectives:
- Propose and implement a self-adaptive reference architecture.
- Extend existing software development models and methodologies for heterogeneous parallel architectures.
- Develop an energy aware hardware agnostic programming environment.
- Develop and evaluate a self-adaptive model with identified low power parameters and QoS metrics.
- Develop hardware power consumption and software energy models.
will help you control and abstract underlying heterogeneous hardware architectures, configurations and software systems including heterogeneous clusters, chips and programmable logic devices while providing tools to optimize various dimensions of software design and operations (energy efficiency, performance, data movement and location, cost, time-criticality, security, dependability on target architectures)
- A toolbox based implementation of the reference architecture
- Reference software development models and methodologies for best practice
- A collection of reusable IDE plugins, programming models and runtimes
- An adaptive quality model for holistic system performance
- Hardware and software energy models
Requirements & Design Modelling
Develop a graphic and/or textual language to model hardware capabilities
Develop a graphic and/or textual language to identify the different implementation alternatives of an applicationIdentifying generic patterns of software requirements and HW/SW design
Provides software developers the ability to directly understand the energy foot print of the code they write
Two articles about TANGO project have been published so far at HIPEAC Magazine. HiPEAC is the European network on high performance and embedded architecture and compilation. It is a perfect audience for TANGO matters.
Energy Efficiency Code Optimization for applications running on heterogeneous parallel architectures
The paper is concerned with the issue of how software systems actually use Heterogeneous Parallel Architectures (HPAs), withthe goal of optimizing power consumption on these resources. It argues the need for novel methods and tools to support software developers aiming to optimise power consumption resulting from designing, developing, deploying and running software on HPAs, while maintaining other quality aspects of software to adequate and agreed levels.
TANGO: Transparent heterogeneous hardware Architecture deployment for eNergy Gain in Operation.
To appear in the Proceedings of the First International Workshop on Program Transformation for Programmability in Heterogeneous Architectures (PROHA'2016), Barcelona, Spain, March 2016.
GPU vs CPU Energy Efficiency and Performance Modelling.
2017 IEEE International Symposium on Performance Analysis of Systems and Software
Application Life cycle Deployment Engine
Manages the lifecycle of an application deployed by the IDE
Chooses suitable infrastructure according to energy constraints/goals and application performance constraints
Interacts with the resource and job management system e.g. SLURM
Set of APIs/Libraries to facilitate the collection of energy and performance information at runtime level
A monitoring solution that keeps and historic of the data.
Provides scheduling capabilities across devices during application deployment and operation
Scheduling of workloads of both Clusters: Macro level, including distributed network and data management; and HPDs: Micro level, including memory hierarchy management.
Provides out-of-band application deployment and operation to emulated HPD resources for the purpose of training application power profiles
our toolbox includes a new programming model based on COMPSS/OMPSS which allows current MPI Applications take advantage of heterogeneous hardware and distributed execution. Developers can also code next-gen apps being energy-aware