OmpSs is an effort to integrate features from the StarSs programming model developed at BSC into a single programming model.
The COMP Superscalar (COMPSs) framework is mainly compose of a programming model which aims to ease the development of applications for distributed infrastructures, such as Clusters, Grids and Clouds and a runtime system that exploits the inherent parallelism of applications at execution time.
FPGA and GPU based accelerators have recently become first class citizens
in datacenters. Despite their high cost, however, accelerators remain
underutilized for large periods of time, as vendors prefer to dedicate them
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.
The Self-Adaptation manager is responsible for co-ordinating the adaptive behaviour of the TANGO architecture. The main aim of this adaptation is provide low power and energy usage while maintaining quality of service aspects of applications.
The Energy Modeller forecasts future application and host power consumption, as well as reporting current and historic energy usage.
Compiler to analyze source code OpenMP parallelism annotations, extracting the required information to allow for efficient and predictable mapping and scheduling of parallel computations
A small-footprint implementation of the tasking model of the latest OpenMP specification, which uses the information extracted by the compiler to map OpenMP tasks to operating systems threads
Embedded Many-Core Operating System – a small kernel implementation which efficiently handles parallel threads in manycore
An integrated toolset for the timing and schedulability analysis of real-time parallel applications
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.
ALDE is responsible for the workload scheduling and the management of the application life-cycle while it is executed.