Beta TANGO Toolbox is released as Open Source

Here below the set of tools available for the second version of Tango toolbox. Beta 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. Beta version integrates TANGO components to make it possible to explore trade-off on additional non-functional behavior such as security, robustness and maintainability. Beta version is focused on providing the necessary software to perform profiling on time and energy performance to obtain static benchmarking information on applications run on heterogeneous hardware architecture. Finally, the upcoming final version will focus 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.

Application Lifecycle Deployment Engine (ALDE)

ALDE is responsible for the workload scheduling and the management of the application life-cycle while it is executed. Licensed under AGPLv3

Code Profiler

The code profiler is a tool for analysing Java code for its energy efficiency.
Licensed under Apache v2

Device Emulator

The Device Emulator finds an efficient mapping of the application tasks onto the nodes/cores in low time, i.e., which application task should run on each node/core.
Licensed under Apache v2

Device Supervisor for SLURM

Device Supervisor in TANGO is an extension of Slurm which is an open-source cluster resource management and job scheduling system. Besides standard features provided by Slurm, the main extension done in TANGO has been the JobPack which aims to allocate a job on the heterogeneous devices of a single cluster. Licensed under GPL v2

Energy Modeller

The Energy Modeller forecasts future application and host power consumption, as well as reporting current and historic energy usage.
Licensed under Apache v2

Monitoring Infrastructure

The Monitoring Infrastructure monitors the heterogeneous resources to provide metrics (power consumption, temperature, utilization) about the status of the different devices and also historical statistics of these metrics.
Licensed under Apache v2

Self-adaptation manager

The Self-Adaptation Manager is responsible for the adaptive behaviour of heterogeneous architectures by providing low power and energy usage while maintaining quality of service aspects of applications.
Licensed under Apache v2


Poroto enables the generation and early performance characterisation of FPGA-offloaded kernels for user defined computations.
Licensed under BDS-3 Clause


Placer is a design-time tool that thoroughly optimizes the placement and scheduling of complex software onto heterogeneous multi processing hardware platforms.
Licensed under LGPL v3

Programing model and runtime

The TANGO Programming Model and Runtime Abstraction Layer is a combination of the BSC's COMPSs and OmpSs task-based programming models, which simplifies the development of parallel application for distributed heterogeneous platforms.