Final TANGO Toolbox is released as Open Source

Here below the set of tools available for the final version of Tango toolbox. Final version is here! Each tool is accompanied by a Readme file with the description of the component, installation guidelines for developers and users and the relationship with other TANGO components, license and link to the downloadable software are provided. This time, also a video tutorial for each tool is available. Final version integrates TANGO components to make it possible to explore trade-off on additional non-functional behavior such as security, robustness and maintainability. This version is focused on enhancing programmer productivity in order to offer a compact solution having a feedback on tool training in last two versions of the project (Alpha and Beta) and having also the objective in productivity issues that programmers could face in daily tasks. In order to provide some examples of use of our tools several scenarios and the related workflows are described. All components can be used independently or in integration with other components to approach different situations, as are shown in these examples.
Date: 
Monday, October 15, 2018

The New World requires a New IT Approach: Heterogeneity

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.

Abstracting hardware heterogeneity to help create & operate next-gen apps

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.

Embracing new hardware in the Data Center extending HPC workloads

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.

Code taking control of Performance vs Energy Awareness

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

TANGO is focused research:

Our objective is to provide technologies and tools made to facilitate the adoption of new heterogeneous hardware

analyzing the current market

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.

Embrace Heterogeneous Hardware

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

Optimization of Performance vs Energy

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

Research Objectives

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.

We are creating TANGO Toolbox

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)

Tango Toolbox

  • 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

Layer 1 – IDE & Programming Model

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 application

Identifying generic patterns of software requirements and HW/SW design

Code Optimizer

Provides software developers the ability to directly understand the energy foot print of the code they write

TANGO at HIPEAC Magazine

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

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

GPU vs CPU Energy Efficiency and Performance Modelling.
2017 IEEE International Symposium on Performance Analysis of Systems and Software

Layer 2 - Middleware

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

Monitoring Infrastructure

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.

Energy Modeler

Layer 3 - Heterogeneous Parallel Devices

Device Supervisor

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.

Device Emulator

Provides out-of-band application deployment and operation to emulated HPD resources for the purpose of training application power profiles

Heterogeneous Hardware will be easier to program with TANGO Toolbox

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

learn more

Pages