Browsing by UCM subject "Hardware"
Now showing 1 - 20 of 171
Results Per Page
Sort Options
Publication A Hardware Implementation of a Run-Time Scheduler for Reconfigurable Systems(IEEE, 2011-07) Clemente Barreira, Juan Antonio; Resano, Javier; González Calvo, Carlos; Mozos Muñoz, DanielNew generation embedded systems demand high performance, efficiency and flexibility. Reconfigurable hardware can provide all these features. However the costly reconfiguration process and the lack of management support have prevented a broader use of these resources. To solve these issues we have developed a scheduler that deals with task-graphs at run-time, steering its execution in the reconfigurable resources while carrying out both prefetch and replacement techniques that cooperate to hide most of the reconfiguration delays. In our scheduling environment task-graphs are analyzed at design-time to extract useful information. This information is used at run-time to obtain near-optimal schedules, escaping from local-optimum decisions, while only carrying out simple computations. Moreover, we have developed a hardware implementation of the scheduler that applies all the optimization techniques while introducing a delay of only a few clock cycles. In the experiments our scheduler clearly outperforms conventional run-time schedulers based on As-Soon-As-Possible techniques. In addition, our replacement policy, specially designed for reconfigurable systems, achieves almost optimal results both regarding reuse and performance.Publication A Hardware Task-Graph Scheduler for Reconfigurable Multi-tasking Systems(2008-12-30) Clemente Barreira, Juan Antonio; González, Carlos; Resano, Javier; Mozos Muñoz, DanielReconfigurable hardware can be used to build a multitasking system where tasks are assigned to HW resources at run-time according to the requirements of the running applications. These tasks are frequently represented as direct acyclic graphs and their execution is typically controlled by an embedded processor that schedules the graph execution. In order to improve the efficiency of the system, the scheduler can apply prefetch and reuse techniques that can greatly reduce the reconfiguration latencies. For an embedded processor all these computations represent a heavy computational load that can significantly reduce the system performance. To overcome this problem we have implemented a HW scheduler using reconfigurable resources. In addition we have implemented both prefetch and replacement techniques that obtain as good results as previous complex SW approaches, while demanding just a few clock cycles to carry out the computations. We consider that the HW cost of the system (in our experiments 3% of a Virtex-II PRO xc2vp30 FPGA) is affordable taking into account the great efficiency of the techniques applied to hide the reconfiguration latency and the negligible run-time penalty introduced by the scheduler computations.Publication A Mapping-Scheduling Algorithm for Hardware Acceleration on Reconfigurable Platforms(ACM, 2014-06-01) Clemente Barreira, Juan Antonio; Beretta, Ivan; Rana, Vincenzo; Atienza, David; Sciuto, DonatellaReconfigurable platforms are a promising technology that offers an interesting trade-off between flexibility and performance, which many recent embedded system applications demand, especially in fields such as multimedia processing. These applications typically involve multiple ad-hoc tasks for hardware acceleration, which are usually represented using formalisms such as Data Flow Diagrams (DFDs), Data Flow Graphs (DFGs), Control and Data Flow Graphs (CDFGs) or Petri Nets. However, none of these models is able to capture at the same time the pipeline behavior between tasks (that therefore can coexist in order to minimize the application execution time), their communication patterns, and their data dependencies. This paper proves that the knowledge of all this information can be effectively exploited to reduce the resource requirements and the timing performance of modern reconfigurable systems, where a set of hardware accelerators is used to support the computation. For this purpose, this paper proposes a novel task representation model, named Temporal Constrained Data Flow Diagram (TCDFD), which includes all this information. This paper also presents a mapping-scheduling algorithm that is able to take advantage of the new TCDFD model. It aims at minimizing the dynamic reconfiguration overhead while meeting the communication requirements among the tasks. Experimental results show that the presented approach achieves up to 75% of resources saving and up to 89% of reconfiguration overhead reduction with respect to other state-of-the-art techniques for reconfigurable platforms.Publication A Methodology to Emulate Single Event Upsets in Flip-Flops using FPGAs through Partial Reconfiguration and Instrumentation(IEEE, 2015-08) Serrano, Felipe; Clemente Barreira, Juan Antonio; Mecha López, HortensiaThis paper presents a methodology to emulate Single Event Upsets (SEUs) in FPGA flip-flops (FFs). Since the content of a FF is not modifiable through the FPGA configuration memory bits, a dedicated design is required for fault injection in the FFs. The method proposed in this paper is a hybrid approach that combines FPGA partial reconfiguration and extra logic added to the circuit under test, without modifying its operation. This approach has been integrated into a fault-injection platform, named NESSY (Non intrusive ErrorS injection SYstem), developed by our research group. Finally, this paper includes results on a Virtex-5 FPGA demonstrating the validity of the method on the ITC’99 benchmark set and a Feed-Forward Equalization (FFE) filter. In comparison with other approaches in the literature, this methodology reduces the resource consumption introduced to carry out the fault injection in FFs, at the cost of adding very little time overhead (1.6 �μs per fault).Publication A non-feature based method for automatic image registration relying on depth-dependent planar projective transformations(Universidad Complutense de Madrid, 2016-02-18) Salinas Maldonado, Carlota; Armada Rodríguez, Manuel Ángel; Fernández Saavedra, Roemi Emilia; Montes Franceschi, HéctorMultisensory data fusion oriented to image-based application improves the accuracy, quality and availability of the data, and consequently, the performance of robotic systems, by means of combining the information of a scene acquired from multiple and different sources into a unified representation of the 3D world scene, which is more enlightening and enriching for the subsequent image processing, improving either the reliability by using the redundant information, or the capability by taking advantage of complementary information. Image registration is one of the most relevant steps in image fusion techniques. This procedure aims the geometrical alignment of two or more images. Normally, this process relies on feature-matching techniques, which is a drawback for combining sensors that are not able to deliver common features. For instance, in the combination of ToF and RGB cameras, the robust feature-matching is not reliable. Typically, the fusion of these two sensors has been addressed from the computation of the cameras calibration parameters for coordinate transformation between them. As a result, a low resolution colour depth map is provided. For improving the resolution of these maps and reducing the loss of colour information, extrapolation techniques are adopted. A crucial issue for computing high quality and accurate dense maps is the presence of noise in the depth measurement from the ToF camera, which is normally reduced by means of sensor calibration and filtering techniques. However, the filtering methods, implemented for the data extrapolation and denoising, usually over-smooth the data, reducing consequently the accuracy of the registration procedure...Publication A Replacement Technique to Maximize Task Reuse in Reconfigurable Systems(2011-09-01) Clemente Barreira, Juan Antonio; Mozos Muñoz, Daniel; Resano, JavierDynamically reconfigurable hardware is a promising technology that combines in the same device both the high performance and the flexibility that many recent applications demand. However, one of its main drawbacks is the reconfiguration overhead, which involves important delays in the task execution, usually in the order of hundreds of milliseconds, as well as high energy consumption. One of the most powerful ways to tackle this problem is configuration reuse, since reusing a task does not involve any reconfiguration overhead. In this paper we propose a configuration replacement policy for reconfigurable systems that maximizes task reuse in highly dynamic environments. We have integrated this policy in an external taskgraph execution manager that applies task prefetch by loading and executing the tasks as soon as possible (ASAP). However, we have also modified this ASAP technique in order to make the replacements more flexible, by taking into account the mobility of the tasks and delaying some of the reconfigurations. In addition, this replacement policy is a hybrid design-time/run-time approach, which performs the bulk of the computations at design time in order to save run-time computations. Our results illustrate that the proposed strategy outperforms other state-ofthe-art replacement policies in terms of reuse rates and achieves near-optimal reconfiguration overhead reductions. In addition, by performing the bulk of the computations at design time, we reduce the execution time of the replacement technique by 10 times with respect to an equivalent purely run-time one.Publication A set of techniques to reduce performance and energy overheads for dynamic reconfiguration(Universidad Complutense de Madrid, Servicio de Publicaciones, 2010-05-26) Pérez Ramo, Elena; Resano Ezcaray, Jesús Javier; Mozos Muñoz, DanielLas aplicaciones multimedia actuales, como las aplicaciones de vídeo digital y los juegos en tiempo real con gráficos en tres dimensiones, se caracterizan por un comportamiento muy dinámico, con una carga de trabajo que puede variar varios órdenes de magnitud en tiempo de ejecución. Además, típicamente estas variaciones dependen de la interacción de las aplicaciones con los usuarios, de los datos de entrada, o incluso de las interacciones con otras aplicaciones, por lo que frecuentemente no resultan predecibles en tiempo de diseño. Este tipo de aplicaciones comenzaron desarrollándose únicamente para computadores de sobremesa o consolas especialmente optimizadas para ello con una gran capacidad de cálculo. Pero en los últimos años han comenzado a incluirse dentro de sistemas empotrados (como por ejemplo los teléfonos móviles y las PDAs) en los que los recursos disponibles están muy limitados por el reducido tamaño y precio de estos sistemas. Por si fuese poco, frecuentemente existe una segunda limitación impuesta por la dependencia de una batería con una capacidad muy reducida.Publication A Study of the Robustness Against SEUs of Digital Circuits Implemented with FPGA DSPs(2014-10-30) Serrano, Felipe; Clemente Barreira, Juan Antonio; Mecha López, HortensiaIn this paper we present an experimental validation of the reliability increase of digital circuits implemented in XilinxTMFPGAs when they are implemented using the DSPs (Digital Signal Processors) that are available in the reconfigurable device. For this purpose, we have used a fault-injection platform developed by our research group, NESSY [1]. The presented experiments demonstrate that the probability of occurrence of a SEU effect is similar both in the circuits implemented with and without using embedded DSPs. However, the former are more efficient in terms of area usage, which leads to a decrease in the probability of a SEU occurrence.Publication A Task-Graph Execution Manager for Reconfigurable Multi-tasking Systems(Elsevier, 2010-03) Clemente Barreira, Juan Antonio; González Calvo, Carlos; Resano, Javier; Mozos Muñoz, DanielReconfigurable hardware can be used to build multi tasking systems that dynamically adapt themselves to the requirements of the running applications. This is especially useful in embedded systems, since the available resources are very limited and the reconfigurable hardware can be reused for different applications. In these systems computations are frequently represented as task graphs that are executed taking into account their internal dependencies and the task schedule. The management of the task graph execution is critical for the system performance. In this regard, we have developed two dif erent versions, a software module and a hardware architecture, of a generic task-graph execution manager for reconfigurable multi-tasking systems. The second version reduces the run-time management overheads by almost two orders of magnitude. Hence it is especially suitable for systems with exigent timing constraints. Both versions include specific support to optimize the reconfiguration process.Publication Accelerating of visual information for visually impared people(2014) Filo, Nikola; Botella Juan, Guillermo; García Sánchez, CarlosLa deficiencia visual es una enfermedad común del ojo que puede ocurre a cualquier edad. La pérdida visual viene determinada por un funcionamiento incorrecto del sistema visual. En la actualidad existen aparatos externos que mejoran la percepción visual lo que proporciona al paciente una mejor calidad de vida. Este tipo de sistemas externos se basan en un receptor que junto a un software permite al paciente incrementar su percepción pese a las enfermedades de baja visión. Este trabajo considera el uso de los aceleradores hardware hoy en día extendidos en los sistemas de alta computación en el campo de bajo visión. La mayor parte de los sistemas de ayuda a la visión se basan en algoritmos de tratamiento de imágenes para detectar bordes, realce parcial de imágenes, ect; que conlleva una carga computacional elevada. El objetivo de este trabajo es llevar a cabo un estudio de vialidad para determinar si los aceleradores hardware en su versión portable son buenos candidatos a ser usados en estos dispositivos. Aunque los sistemas empleados para este estudio pertenecen al campo de sistemas de altas prestaciones que difícilmente pueden ser empleados en sistemas con requerimientos de bajo consumo, su utilización nos permite extrapolar las aceleraciones que pueden obtenerse si se utilicen sus versiones para sistemas empotrados. En la actualidad existen System-on-Chip que incorporan aceleradores hardware con la misma arquitectura que los del estudio por lo que las conclusiones del mismo son igualmente válidas. Además, en este trabajo se proporcionaría la comprensión general de baja visión y una visión general de los enfoques de mejora de visión baja que podrían ser aún investigados en el futuro.Publication Aceleración de algoritmos bioinspirados para estimación de movimiento en hardware paralelo(Universidad Complutense de Madrid, 2014-03-11) Ayuso Márquez, Fermín; Botella Juan, Guillermo; García Sánchez, CarlosPublication Aceleración de algoritmos de estimación de movimiento mediante OpenCL(2016) Díaz Morgado, David; Gómez Blanco, David; García Sánchez, Carlos; Botella Juan, GuillermoEl flujo óptico y la estimación de movimiento es área de conocimiento muy importante usado en otros campos del conocimiento como el de la seguridad o el de la bioinformática. En estos sectores, se demandan aplicaciones de flujo óptico que realicen actividades muy importantes con tiempos de ejecución lo más bajos posibles, llegando a tiempo real si es posible. Debido a la gran complejidad de cálculos que siguen a este tipo de algoritmos como se observará en la sección de resultados, la aceleración de estos es una parte vital para dar soporte y conseguir ese tiempo real tan buscado. Por lo que planteamos como objetivo para este TFG la aceleración de este tipo de algoritmos mediante diversos tipos de aceleradores usando OpenCL y de paso demostrar que OpenCL es una buena herramienta que permite códigos paralelizados con un gran Speedup a la par que funcionar en toda una diversa gama de dispositivos tan distintos como un GPU y una FPGA. Para lo anteriormente mencionado trataremos de desarrollar un código para cada algoritmo y optimizarlo de forma no especifica a una plataforma para posteriormente ejecutarlo sobre las diversas plataformas y medir tiempos y error para cada algoritmo. Para el desarrollo de este proyecto partimos de la teoría de dos algoritmos ya existentes: Lucas&Kanade monoescala y el Horn&Schunck. Además, usaremos estímulos para estos algoritmos muy aceptados por la comunidad como pueden ser el RubberWhale o los Grove, los cuales nos ayudarán a establecer la corrección de estos algoritmos y analizar su precisión, dando así un estudio referencia para saber cual escoger.Publication Aceleración de procesado de imágenes de tráfico mediante diseño de algoritmos implementados en hardware(2017) Capellán Pizarroso, Fernando; Garnica Alcázar, Óscar; Lanchares Dávila, JuanLa iluminación adaptativa es un sistema de iluminación presente en un vehículo o medio de transporte que modifica su funcionamiento según las necesidades del conductor. Este comportamiento dinámico permite iluminar zonas específicas de la carretera para facilitar la conducción del vehículo en condiciones de baja visibilidad. Los sistemas de iluminación adaptativa actuales proporcionan las siguientes funcionalidades: - Alumbrado lateral. Empleado a baja velocidad, para iluminar la zona que queda a los lados del vehículo cuando se va a realizar un giro cerrado o lento. - Alumbrado en curva. Ilumina el trazado de una curva rotando la fuente de luz del vehículo. - Cambio automático de luces. El vehículo utilizará las luces largas todo el tiempo que sea posible, ya que éstas proporcionan una mejor visibilidad de la carretera al conductor. El sistema alternará entre luces largas y luces de cruce si detecta otros vehículos a los que pueda deslumbrar, o si las condiciones de visibilidad son buenas y no hacen falta. Como complemento a estos sistemas se ha buscado desarrollar un nuevo tipo de iluminación que proyecte un haz de luz sobre las señales de tráfico de la carretera. De este modo, el conductor del vehículo podrá leer dichas señales aun cuando se encuentre conduciendo durante la noche, sin riesgo de que los faros causen deslumbramientos a otros conductores. La gente de la Facultad de Óptica de la UCM llevó a cabo la tarea de implementar dicho sistema en MATLAB. El objetivo de este trabajo es implementar parte del software de dicho sistema en hardware para acelerar la ejecución de los cálculos que lleva a cabo, ya que debe funcionar en tiempo real incorporado en un vehículo. La operación que se implementa en este proyecto es la transformación geométrica proyectiva bidimensional, que se utiliza para redimensionar una imagen obtenida de una cámara a la resolución requerida por el sistema de proyección de luz, sin causar distorsiones ni perder detalle. Antes de implementar el sistema, se desarrolló primero en MATLAB un programa cuyo comportamiento fuese el mismo que el que se buscaba conseguir con el hardware. El objetivo de esta aproximación es comprender de antemano la magnitud del problema, para poder planificar cómo diseñar el sistema en hardware, y las operaciones que se deben realizar para obtener un resultado correcto. Tras comprobar la validez de dicho desarrollo, se procedió a diseñar el sistema usando lo aprendido previamente. Se tuvieron en cuenta las limitaciones con las que cuenta la placa FPGA, lo que permitió descartar aproximaciones menos óptimas. Una vez que la funcionalidad que debía tener el sistema quedó clara, se implementó el diseño en código VHDL mediante la herramienta HDL Designer. Cuando se finalizó, se desarrolló un entorno de simulación para comprobar que su funcionamiento era el deseado. Los resultados obtenidos coinciden en su mayor parte con los que proporcionó el desarrollo software con MATLAB, por lo que se puede concluir que el diseño es válido.Publication Aceleración de técnicas de ajuste de bloques mediante el procesador Nios II(Universidad Complutense de Madrid, 2015-02-06) González Rodríguez, Diego; Botella Juan, GuillermoPublication Aceleración hardware con propósitos criptográficos(2013) Pérez Rico, Javier; Imaña Pascual, José LuisLa criptografía asimétrica está siendo implementada hoy en día en muchas ramas, principalmente en el cifrado de clave pública y en las firmas digitales. Esto es debido principalmente a que no hace falta el intercambio de claves de cifrado entre el emisor y el receptor lo que hace que el sistema sea más seguro. Una variante de este tipo de criptografía es la criptografía de curvas elípticas. Este tipo de criptografía se basa en las matemáticas de curvas elípticas y la aritmética modular. Además, este tipo de criptografía es mucho más interesante que, por ejemplo, RSA ya que utiliza una clave de longitud menor para el mismo nivel de seguridad. En este trabajo se realiza una implementación de una nueva arquitectura de multiplicación modular para las operaciones sobre los cuerpos primos Fp, utilizada en este tipo de criptografía. Para ello se han utilizado algoritmos ya conocidos y revisiones de los mismos. Las revisiones y mejoras implementadas están orientadas al incremento de la velocidad de la operación de multiplicación. La implementación se realiza sobre dispositivos de hardware reconfigurable de la familia Virtex5 de Xilinx. Toda la implementación del sistema se hace mediante codificación en VHDL y el software de desarrollo de Xilinx ISE 14.2. De esta forma se puede estudiar mejor el comportamiento de los algoritmos bajo distintos casos de uso, anchos de bus y familias de FPGA. [ABSTRACT] Asymmetric cryptography is being implemented today in many branches, mainly in public-key encryption and digital signatures. This is mainly because you do not need the encryption key exchange between sender and receiver which makes the system more secure. A variant of this type of cryptography is elliptic curve cryptography. This type of cryptography is based on the mathematics of elliptic curves and modular arithmetic. Furthermore, this kind of encryption is much more interesting, for example, RSA key since it uses a shorter length for the same level of security. In this paper a new architecture implementing a modular multiplication operations over Fp prime fields used in this type of cryptography. This has been known algorithms used and revisions thereof. Revisions and improvements implemented are aimed at increasing the speed of the multiplication operation. The implementation is done on reconfigurable hardware devices in the Xilinx Virtex5. The whole system implementation is done using VHDL coding and development software Xilinx ISE 14.2. In this way you can study better the behavior of the algorithms under different use cases, bus widths and FPGA families.Publication Adaptación y ejecución de aplicaciones MPI en entornos de simulación para analizar el rendimiento de arquitecturas distribuidas(2019-06-19) Núñez Covarrubias, Alberto; Pickin, Simon James; Lavín Puente, Víctor; Llana Díaz, Luis Fernando; Bartolomé Sandoval, Ana Isabel; Cerro Cañizares, Pablo; Cambronero Piqueras, María Emilia; Núñez García, Manuel; Vaca Vargas, Bryan Rául; Gómez-Zamalloa Gil, MiguelUna parte fundamental de la asignatura PSD es el desarrollo de aplicaciones distribuidas. En concreto, la programación de aplicaciones paralelas utilizando MPI tiene un peso considerable, tanto en la parte práctica, como en la parte teórica de la asignatura. Las aplicaciones MPI desarrolladas en las prácticas de PSD pueden, normalmente, ejecutarse en un solo ordenador utilizando los distintos núcleos del procesador, lo cual se conoce como modo “stand-alone”. El objetivo principal del proyecto consiste en mitigar los problemas existentes para ejecutar las aplicaciones MPI, requeridas en las prácticas de PSD, en entornos distribuidos reales. Para ello proponemos el uso del simulador SIMCAN, el cual ya ha sido adaptado en el pasado para su uso docente. Concretamente, se propone utilizar SIMCAN para reproducir las trazas de ejecución de aplicaciones MPI en diferentes arquitecturas distribuidas, de forma que se alivien, en la medida de lo posible, aquellos aspectos de interés que se tratan con dificultad en la ejecución “stand-alone”, en particular, la visualización del funcionamiento distribuido y su rendimiento. De esta forma, se utilizarán distintas arquitecturas distribuidas, modeladas con el simulador SIMCAN, para ejecutar las aplicaciones MPI estudiadas en la asignatura.Publication Adaptive task-migration policies for thermal optimization in MPSoCs(2009) Cuesta Gómez, David; Hidalgo Pérez, José Ignacio; Ayala Rodrigo, José LuisEn los circuitos tecnológicos diseñados con tecnologías de fabricación por debajo de la micra, las altas temperaturas provocan fallos críticos en la fiabilidad, el temporizado, los costes de refrigeración y la potencia de pérdidas. Hasta el momento se han propuesto varias técnicas de migración de tareas para manejar eficientemente la distribución térmica en los sistemas multiprocesador, pero con un alto coste en cuanto a la eficiencia del sistema. Aunque las técnicas tradicionales se han centrado en reducir la temperatura media del chip, no han considerado los efectos que los gradientes térmicos tienen en la fiabilidad del sistema. En este trabajo, se exploran los beneficios de las técnicas de migración de tareas basadas en la temperatura en sistemas empotrados multiprocesador. En particular se proponen algunas políticas que son capaces de reducir la temperatura media del chip y los gradientes térmicos con un impacto en el rendimiento prácticamente despreciable. Con nuestras técnicas, la aparición de puntos calientes (hot spots) y variaciones térmicas se ven drásticamente reducidos con respecto a otras propuestas, con lo que la fiabilidad del sistema se mejora significativamente cuando la comparamos con las técnicas de migración de tareas tradicionales [ABSTRACT] In deep submicron circuits, high temperatures have created critical issues in reliability, timing, performance, cooling costs and leakage power. Task migration techniques have been proposed to manage efficiently the thermal distribution in multi-processor systems but at the cost of important performance penalties. While traditional techniques have focused on reducing the average temperature of the chip, they have not considered the effect that temperature gradients have in system reliability. In this work, we explore the benefits of thermal-aware task migration techniques for embedded multi-processor systems. We propose several policies that are able to reduce the average temperature of the chip and the thermal gradients with a negligible performance overhead. With our techniques, hot spots and temperature variations are decreased, and the reliability of the system is significantly improved when compared to traditional task migration techniques.Publication An Approach to Manage Reconfigurations and Reduce Area Cost in Hard Real-Time Reconfigurable Systems(ACM, 2014-11) Clemente Barreira, Juan Antonio; Resano, Javier; Mozos Muñoz, DanielThis article presents a methodology to build real-time reconfigurable systems that ensure that all the temporal constraints of a set of applications are met, while optimizing the utilization of the available reconfigurable resources. Starting from a static platform that meets all the real-time deadlines, our approach takes advantage of run-time reconfiguration in order to reduce the area needed while guaranteeing that all the deadlines are still met. This goal is achieved by identifying which tasks must be always ready for execution in order to meet the deadlines, and by means of a methodology that also allows reducing the area requirements.Publication An Architecture for Federated Cloud Computing(John Wiley & Sons, 2011-01) Rochwerger, Benny; Vázquez Blanco, Constantino; Breitgand, David; Hadas, David; Villari, Massimo; Massonet, Philippe; Eliezer, Levy; Galis, Alex; Llorente, Ignacio M.; Montero, Ruben S.; Wolfsthal, Yaron; Nagin, Kenneth; Larsson, Lars; Galán, FermínPublication An elasticity model for High Throughput Computing clusters(Elsevier, 2011-06-24) Montero, Ruben S.; Moreno-Vozmediano, Rafael; Llorente, Ignacio M.Different methods have been proposed to dynamically provide scientific applications with execution environments that hide the complexity of distributed infrastructures. Recently virtualization has emerged as a promising technology to provide such environments. In this work we present a generic cluster architecture that extends the classical benefits of virtual machines to the cluster level, so providing cluster consolidation, cluster partitioning and support for heterogeneous environments. Additionally the capacity of the virtual clusters can be supplemented with resources from a commercial cloud provider. The performance of this architecture has been evaluated in the execution of High Throughput Computing workloads. Results show that, in spite of the overhead induced by the virtualization and cloud layers, these virtual clusters constitute a feasible and performing HTC platform. Additionally, we propose a performance model to characterize these variable capacity (elastic) cluster environments. The model can be used to dynamically dimension the cluster using cloud resources, according to a fixed budget, or to estimate the cost of completing a given workload in a target time.