Recent trends in computing science that aim to improve computation performance are based on incorporating different types of computing devices such as GPUs, FPGAs and CPU architectures which are specialized for accelerating different type of algorithms or reducing the energy consumption. Moreover, with the rise of Cloud and Fog computing, these devices can be distributed geographically and connected through the internet by means of different types of networks.
Implementing a security framework for the TANGO project is a daunting task, especially considering that any proposed architecture should impact the ongoing development on the project as little as possible.
In this blog post, we intend to cover one aspect of security in TANGO: securing application data as it is processed in TANGO. If this data is sensitive, then there may be legal or regulatory requirements to ensure that such data is not revealed to unauthorised individuals.
In this blog post we will walk through the process of creating a collectd plugin in C for monitoring NVIDIA GPUs.
In a previous blog we introduced the monitoring objectives of the TANGO solution. One of these objectives is the monitoring of different kind of processors, including NVIDIA GPUs, in order to get from them energy measurements, among other metrics. For this purpose, we decided to rely on collectd and integrate it in the stack of tools responsible for the monitoring tasks. Collectd is a UNIX daemon, written in C, which periodically collects system and applications performance metrics. One of the main advantages of this tool is that it uses a modular approach which allows the use of custom plugins to enhance its monitoring capabilities.
General applications used in HPC are based on SPMD models – SPMD meaning Simple Program-Multiple Data. These applications are the one we usually understand well for HPC. The same binary (program) is started on several HPC devices but use different input (data). The devices are defined as processors including or defining as threads, and enhanced by accelerators such as GPU (graphics processing unit) or other specialized processing unit.
This arcticle shows the potential of Device Supervisor of TANGO for MPMD models.
Below you can find attached the entire document.
OpenCL is now one of the preferred “non-proprietary” way for programming the “acceleration”
part of a heterogeneous platform. OpenCL is supported by a large panel of manufacturers, enabling it
for programming on various GPUs, including SoCs accelerators but also FPGAs.
OpenCL enables writing computing kernels with a C-like language in a very simple way.
But a drawback of OpenCL is the code that is required to access these kernels from the CPU. Provided
APIs propose “buffer oriented” data transfers, and execution control requires multiple statements.
This blog article presents how Placer can be used on a real-world use case. In particular, it provides
information to an embedded application developer for exploring quickly the optimal placement and
schedule of the tasks computed by an embedded application named AquaScan. Alternatively, Placer
can also handle additional placement constraints to let the developer study the impact on time
performance in case the optimal placement and schedule are not followed.
In previous blog entries, we presented the overview of the TANGO Programming Model (PM) and Runtime as a hierarchical integration of the COMPSs and OmpSs task-based programming models, and how it can facilitate the programming of parallel applications in distributed heterogeneous platforms. We have also commented some energy considerations when programming applications with the TANGO PM.
In the last 10 years, the IT world has suffered the virtualization and Cloud revolution. It started at the beginning with Virtual Machines (VMs) and nowadays the tendency it is to move to Container-based execute applications. The former version, the VM one, has not impact in the High-Performance Computing (HPC) world, but with containers, we can see a significant effort to start using it on supercomputers. To see why, let’s start first with the differences between VMs and Containers.
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.