449 research outputs found
Supporting task creation inside FPGA devices
The most common model to use co-processors/accelerators
is the master-slave model where the slaves (coprocessors/
accelerators) are driven by a general purpose
cpu. This simplifies the management of the accelerators
because they cannot actively interact with the runtime and
they are just passive slaves that operate over the memory
under demand. However, the master-slave model limits system
possibilities and introduces synchronization overheads that
could be avoided.
To overcome those limitations and increase the possibilities
of accelerators, we propose extending task based programming
models (like OpenMP [1] or OmpSs) to support some runtime
APIs inside the FPGA co-processor. As a proof-of-concept,
we implemented our proposal over the OmpSs@FPGA environment
[2] adding the needed infrastructure in the FPGA
bitstream and modifying the existing tools to support creation
of children tasks inside a task offloaded to an FPGA accelerator.
In addition, we added support to synchronize the children
tasks created by a FPGA task regardless they are executed in a
SMP host thread or they also target another FPGA accelerator
in the same co-processor
La salut oral en les persones grans
El tractament odontològic dels pacients grans no depèn tant de les tècniques emprades com de l’avaluació individual del pacient, tenint en compte les seves característiques pròpies (salut general, mobilitat, dependència, factors psicològics, etc.). El que es pretén no és només millorar el nivell de la salut oral sinó contribuir al manteniment integral de la salut i, per tant, elevar el nivell i la qualitat de vida. És necessari, doncs, conèixer la situació en què es troba aquest grup ampli de persones, les seves necessitats i les seves limitacions per poder oferir-los les atencions que mereixen. Aquest és l’objectiu de la gerodontologia.El tratamiento odontológico de los pacientes mayores no depende tanto de las técnicas empleadas como de la evaluación individual del paciente, teniendo en cuenta sus características propias (salud general, movilidad, dependencia, factores psicológicos, etc.). Lo que se pretende no es sólo mejorar el nivel de salud oral, sino contribuir al mantenimiento integral de la salud y, por tanto, elevar el nivel y la calidad de vida. Por ello es necesario conocer la situación en que se encuentra este amplio grupo de personas, sus necesidades y sus limitaciones para poder ofrecerles las atenciones que se merecen. Este es el objetivo de la gerodontología
Asynchronous runtime for task-based dataflow programming models
The importance of parallel programming is increasing year after year since the power wall popularized
multi-core processors, and with them, shared memory parallel programming models. In
particular, task-based programming models, like the standard OpenMP 4.0, have become more
and more important. They allow describing a set of data dependences per task that the runtime
uses to order the execution of tasks. This order is calculated using shared graphs, which are updated
by all threads but in exclusive access using synchronization mechanisms (locks) to ensure
the dependences correctness. Although exclusive accesses are necessary to avoid data race conditions,
those may imply contention that limits the application parallelism. This becomes critical
in many-core systems because several threads may be wasting computation resources waiting to
access the runtime structures.
This master thesis introduces the concept of an asynchronous runtime management suitable
for task-based programming model runtimes. The runtime proposal is based on the asynchronous
management of the runtime structures like task dependence graphs. Therefore, the application
threads request actions to the runtime instead of directly executing the needed modifications.
The requests are then handled by a runtime manager which can be implemented in different ways.
This master thesis presents an extension to a previously implemented centralized runtime
manager and presents a novel implementation of a distributed runtime manager. On one hand,
the runtime design based on a centralized manager [1] is extended to dynamically adapt the
runtime behavior according to the manager load with the objective of being as fast as possible.
On the other hand, a novel runtime design based on a distributed manager implementation is
proposed to overcome the limitations observed in the centralized design. The distributed runtime
implementation allows any thread to become a runtime manager thread if it helps to exploit the
application parallelism. That is achieved using a new runtime feature, also implemented in this
master thesis, for runtime functionality dispatching through a callback system.
The proposals are evaluated in different many-core architectures and their performance is
compared against the baseline runtimes used to implement the asynchronous versions. Results
show that the centralized manager extension can overcome the hard limitations of the initial
basic implementation, that the distributed manager fixes the observed problems in previous implementation,
and the proposed asynchronous organization significantly outperforms the speedup
obtained by the original runtime for real benchmarks
Disseny d'una comunitat energètica i el sistema de monitorització i control per a un Polígon d'Activitat Econòmica
Aquest projecte consisteix en el disseny d'una comunitat energètica i el sistema de monitoratge i control per a un Polígon d'Activitat Econòmica. Una comunitat energètica és una agrupació d'entitats (ciutadans, administracions o petites i mitjanes empreses) orientada a obtenir beneficis ambientals i econòmics per als seus socis duent a terme actuacions en el camp de la generació i distribució d'energia. La forma més habitual de comunitat energètica és la generació fotovoltaica d'autoconsum compartit, que és el cas estudiat en aquest projecte.
Per al disseny de la comunitat energètica, s'ha analitzat la viabilitat d'instal·lar panells fotovoltaics a cadascuna de les cobertes dels membres de la comunitat i s'ha simulat quina energia es produiria. Amb l'energia produïda, s'han proposat estratègies per justificar el repartiment de l'energia generada entre els seus membres. Com a cas d'estudi, s'han fet servir dades de consum d'energia de la Universitat Politècnica de Catalunya (UPC).
Pel que fa al sistema de monitoratge i control, s'ha experimentat amb la instal·lació fotovoltaica de l'edifici GAIA (TR14) de la UPC. S'han utilitzat uns controladors que poden comunicar-se amb els inversors fotovoltaics per captar les dades de generació d'energia i consum de l'edifici i poden gestionar sensors i actuadors, tot i que la seva finalitat principal és la captació de dades, que són emmagatzemades a una base de dades.
Les dades emmagatzemades poden ser consultades en temps real des d'una aplicació de monitoratge desenvolupada en el marc d'aquest projecte, la qual permet visualitzar dades actuals i històriques de tots els edificis que formen part de la comunitat energètica, programar alarmes i consultar informació de fonts externes.
Finalment, s'ha fet un estudi detallat del benefici ambiental de la instal·lació de panells fotovoltaics, tenint en compte les emissions de cada font d'energia considerant el seu cicle de vida.This project consists of the design of an energy community and its control and monitoring system for an industrial park. An energy community is an aggrupation of entities (citizens, administrations or small enterprises) aimed at gaining environmental and economic benefits for its members by making interventions in the field of energy generation and distribution. The most common form of energy community is shared self-consumption of photovoltaic generation, which is the case study for this project.
For the design of the energy community, the feasibility of installing photovoltaic panels has been analyzed for each energy community member's rooftop, and the generated energy has been simulated. With the energy produced, different strategies for its distribution among its members have been proposed. As a case study, Universitat Politècnica de Catalunya's (UPC) consumption data has been used.
Regarding the control and monitoring system, experimentation has been conducted using UPC GAIA building's (TR14) solar installation. The selected controllers can communicate with the photovoltaic inverters to gather energy generation and consumption data from the building and handle sensors and actuators, even though their main goal is data acquisition, which is stored in a database.
The stored data can be accessed in real-time from a monitoring application developed within this project, which allows users to view current and historical data of all the buildings that are part of the energy community, set up alarms and request information from external entities, such as the electricity market or the state meteorological agency.
Finally, a detailed environmental study of the panels' installation has been conducted, considering the emissions from each energy source regarding their whole life cycle
Reorganització del runtime Nanos++
Aquest projecte proposa una reorganització del sistema de gestió de les dependències entre tasques a Nanos++ (runtime del model de programació OmpSs) amb l'objectiu de reduir la contenció d'accés a aquestes estructures, augmentant el paral·lelisme i obtenint un millor aprofitament dels recursos.The goal of this Project is reorganize the dependencies management model between tasks in Nanos++ (OmpSs runtime). The motivation is reduce the access contention of dependencies graph, increasing parallelism and achieving better use of computing resources
Asynchronous runtime for task-based dataflow programming models
The importance of parallel programming is increasing year after year since the power wall popularized
multi-core processors, and with them, shared memory parallel programming models. In
particular, task-based programming models, like the standard OpenMP 4.0, have become more
and more important. They allow describing a set of data dependences per task that the runtime
uses to order the execution of tasks. This order is calculated using shared graphs, which are updated
by all threads but in exclusive access using synchronization mechanisms (locks) to ensure
the dependences correctness. Although exclusive accesses are necessary to avoid data race conditions,
those may imply contention that limits the application parallelism. This becomes critical
in many-core systems because several threads may be wasting computation resources waiting to
access the runtime structures.
This master thesis introduces the concept of an asynchronous runtime management suitable
for task-based programming model runtimes. The runtime proposal is based on the asynchronous
management of the runtime structures like task dependence graphs. Therefore, the application
threads request actions to the runtime instead of directly executing the needed modifications.
The requests are then handled by a runtime manager which can be implemented in different ways.
This master thesis presents an extension to a previously implemented centralized runtime
manager and presents a novel implementation of a distributed runtime manager. On one hand,
the runtime design based on a centralized manager [1] is extended to dynamically adapt the
runtime behavior according to the manager load with the objective of being as fast as possible.
On the other hand, a novel runtime design based on a distributed manager implementation is
proposed to overcome the limitations observed in the centralized design. The distributed runtime
implementation allows any thread to become a runtime manager thread if it helps to exploit the
application parallelism. That is achieved using a new runtime feature, also implemented in this
master thesis, for runtime functionality dispatching through a callback system.
The proposals are evaluated in different many-core architectures and their performance is
compared against the baseline runtimes used to implement the asynchronous versions. Results
show that the centralized manager extension can overcome the hard limitations of the initial
basic implementation, that the distributed manager fixes the observed problems in previous implementation,
and the proposed asynchronous organization significantly outperforms the speedup
obtained by the original runtime for real benchmarks
- …