In the emerging era of Internet of Things and Big Data processing, the paradigm of software development is shifting. In particular, many IoT and Big Data problems can be solved using vector and matrix operations and these operations can be drastically accelerated by using massively parallel processing units such as GPU and FPGA, which are now integrated in many recent heterogeneous platforms found on the market.
One of the recent trending topics in computer science research is the reduction of energy and power consumed by computers. Part of this research is focused on providing low power architectures and accelerators which can achieve good performance at low power. However, an application should be modified to take advantage of this heterogeneous architecture.
TANGO project aims to deliver the best way to run application with low power consumption. TANGO helps defining the right hardware (CPU, GPU, FPGA …) according to the application needs. The Device Supervisor (defined in the global TANGO architecture) is in charge of managing the available resources from their allocation to their usage. One of the key parameter to follow is the energy consumption.
Two decades ago, parallel programming was a technology restricted to large scale specialised applications that were running in computing centres. Today’s picture is very different with the generalisation of multi-core processing devices, not only inside desktop computers, but inside embedded and mobile devices as well.
Image processing, The Internet of Things (IoT) and cloud computing are examples of domains in which concurrent cooperative programming, that-is-to-say parallel programming, develops widely.
Designing and developing software with an efficient execution on distributed environment with fairly standard homogeneous processing nodes is already a difficult exercise. This complexity explodes when targeting a heterogeneous environment composed not only of distributed multi-core CPU nodes but also including accelerators with many-core CPUs, GPUs and FPGAs.
One of the main objectives of the TANGO Project is to be able to optimize energy usage of applications in a HPC environment, including the prospect of handling heterogeneity such as CPUs, GPUs and FPGAs.
A key start to optimisation is the ability to monitor such infrastructures and to ensure the data obtained is accurate and consistent. The accuracy of this data is particularly useful when constructing power models that can be used to estimate future power consumption based upon expected utilisation. In this blog we provide key recommendations and findings from performing calibration on our infrastructure.
When designing the architecture of the TANGO project we saw the necessity of a central component that helps to speed up the building process for different targeted heterogeneous architectures with different optimizations and deploy them if the different testbeds, especially in HPC use case, this ended up in the creation of Application Lifecycle Deployment Engine or ALDE. Let’s check step by step how will be shaped and which functionality and steps it is going to perform.
We provide you with tools for developing and operating applications for heterogeneous hardware that are energy and performance aware
Our team has been working hard during the last months to release the first version of the Toolbox and establishing an initiative to strengthen the market using heterogeneous hardware and software. The most relevant things during these last months are:
One of the main objectives of the TANGO Project is to be able to optimize energy usage of applications in an heterogeneous environment –where by heterogeneous we are understating a mixture of different processor devices, such as CPUs, GPUs, FPGAs, DSPs, and so on.- One of the main challenges is to be able to monitor energy usage of those devices without the necessity of intrusive measurements, such as adding over the top physical probes.