12 research outputs found

    A Scalable High-Bandwidth Architecture for Lossless Compression on FPGAs

    Get PDF
    Abstract-Data compression techniques have been the subject of intense study over the past several decades due to exponential increases in the quantity of data stored and transmitted by computer systems. Compression algorithms are traditionally forced to make tradeoffs between throughput and compression quality (the ratio of original file size to compressed file size). FPGAs represent a compelling substrate for streaming applications such as data compression thanks to their capacity for deep pipelines and custom caching solutions. Unfortunately, data hazards in compression algorithms such as LZ77 inhibit the creation of deep pipelines without sacrificing some amount of compression quality. In this work we detail a scalable fully pipelined FPGA accelerator that performs LZ77 compression and static Huffman encoding at rates up to 5.6 GB/s. Furthermore, we explore tradeoffs between compression quality and FPGA area that allow the same throughput at a fraction of the logic utilization in exchange for moderate reductions in compression quality. Compared to recent FPGA compression studies, our emphasis on scalability gives our accelerator a 3.0x advantage in resource utilization at equivalent throughput and compression ratio

    Fault-tolerant sub-lithographic design with rollback recovery

    Get PDF
    Shrinking feature sizes and energy levels coupled with high clock rates and decreasing node capacitance lead us into a regime where transient errors in logic cannot be ignored. Consequently, several recent studies have focused on feed-forward spatial redundancy techniques to combat these high transient fault rates. To complement these studies, we analyze fine-grained rollback techniques and show that they can offer lower spatial redundancy factors with no significant impact on system performance for fault rates up to one fault per device per ten million cycles of operation (Pf = 10^-7) in systems with 10^12 susceptible devices. Further, we concretely demonstrate these claims on nanowire-based programmable logic arrays. Despite expensive rollback buffers and general-purpose, conservative analysis, we show the area overhead factor of our technique is roughly an order of magnitude lower than a gate level feed-forward redundancy scheme

    Metacomputing on clusters augmented with reconfigurable hardware

    Get PDF

    Autonomous Recovery Of Reconfigurable Logic Devices Using Priority Escalation Of Slack

    Get PDF
    Field Programmable Gate Array (FPGA) devices offer a suitable platform for survivable hardware architectures in mission-critical systems. In this dissertation, active dynamic redundancy-based fault-handling techniques are proposed which exploit the dynamic partial reconfiguration capability of SRAM-based FPGAs. Self-adaptation is realized by employing reconfiguration in detection, diagnosis, and recovery phases. To extend these concepts to semiconductor aging and process variation in the deep submicron era, resilient adaptable processing systems are sought to maintain quality and throughput requirements despite the vulnerabilities of the underlying computational devices. A new approach to autonomous fault-handling which addresses these goals is developed using only a uniplex hardware arrangement. It operates by observing a health metric to achieve Fault Demotion using Recon- figurable Slack (FaDReS). Here an autonomous fault isolation scheme is employed which neither requires test vectors nor suspends the computational throughput, but instead observes the value of a health metric based on runtime input. The deterministic flow of the fault isolation scheme guarantees success in a bounded number of reconfigurations of the FPGA fabric. FaDReS is then extended to the Priority Using Resource Escalation (PURE) online redundancy scheme which considers fault-isolation latency and throughput trade-offs under a dynamic spare arrangement. While deep-submicron designs introduce new challenges, use of adaptive techniques are seen to provide several promising avenues for improving resilience. The scheme developed is demonstrated by hardware design of various signal processing circuits and their implementation on a Xilinx Virtex-4 FPGA device. These include a Discrete Cosine Transform (DCT) core, Motion Estimation (ME) engine, Finite Impulse Response (FIR) Filter, Support Vector Machine (SVM), and Advanced Encryption Standard (AES) blocks in addition to MCNC benchmark circuits. A iii significant reduction in power consumption is achieved ranging from 83% for low motion-activity scenes to 12.5% for high motion activity video scenes in a novel ME engine configuration. For a typical benchmark video sequence, PURE is shown to maintain a PSNR baseline near 32dB. The diagnosability, reconfiguration latency, and resource overhead of each approach is analyzed. Compared to previous alternatives, PURE maintains a PSNR within a difference of 4.02dB to 6.67dB from the fault-free baseline by escalating healthy resources to higher-priority signal processing functions. The results indicate the benefits of priority-aware resiliency over conventional redundancy approaches in terms of fault-recovery, power consumption, and resource-area requirements. Together, these provide a broad range of strategies to achieve autonomous recovery of reconfigurable logic devices under a variety of constraints, operating conditions, and optimization criteria

    Un gestor de ejecución de grafos de tareas para sistemas multitarea dinámicamente reconfigurables

    Get PDF
    El HW reconfigurable se puede utilizar para construir un sistema multitarea en el que las tareas puedan asignarse en tiempo de ejecución a los recursos reconfigurables según las necesidades de las aplicaciones. En estos sistemas, las tareas se representan normalmente como grafos de subtareas acíclicos, donde una subtarea es la unidad de planificación. Normalmente, un procesador empotrado controla la ejecución de este tipo de sistemas trabajando con estructuras de datos complejas, como grafos o listas enlazadas, cuyo manejo a menudo genera retardos en la ejecución. Además, las comunicaciones HW/SW son a menudo un cuello de botella del sistema. Por tanto resulta muy interesante reducir tanto los cálculos que realiza el procesador como las comunicaciones. Para lograr este objetivo se ha desarrollado un gestor HW que controla la ejecución de grafos de subtareas en un conjunto de unidades reconfigurables. Este gestor recibe como entrada los grafos junto con una planificación asociada a cada subtarea y garantiza su correcta ejecución sin necesidad de ninguna otra intervención por parte del procesador. Además, incluye mecanismos para optimizar la gestión de las reconfiguraciones reduciendo las penalizaciones que generan en tiempo de ejecución. [ABSTRACT] Reconfigurable HW can be used to build a hardware multitasking system where tasks can be assigned to the reconfigurable HW at run-time according to the requirements of the running applications. Normally the execution in this kind of systems is controlled by an embedded processor. In these systems tasks are frequently represented as acyclic subtask graphs, where a subtask is the basic scheduling unit that can be assigned to a reconfigurable HW. In order to control the execution of these tasks, the processor must manage at run-time complex data structures, like graphs or linked list, which may generate significant execution-time penalties. In addition, HW/SW communications are frequently a system bottleneck. Hence, it is very interesting to find a way to reduce the run-time SW computations and the HW/SW communications. To this end I have developed a HW execution manager that controls the execution of subtask graphs over a set of reconfigurable units. This manager receives as input a subtask graph coupled to a subtask schedule, and guarantees its proper execution. In addition it includes support to reduce the execution-time overhead due to reconfigurations. With this HW support the execution of task graphs can be managed efficiently generating only very small run-time penalties

    Contribución al reconocimiento de huellas dactilares mediante técnicas de correlación y arquitecturas hardware para el aumento de prestaciones

    Get PDF
    Las huellas dactilares son un identificador biométrico ampliamente utilizado. Su uso se extiende desde aplicaciones policiales y forenses hasta aplicaciones civiles muy comunes, como el control de accesos. Con la aparición de los primeros sistemas automáticos de reconocimiento de huellas (AFIS, “Automatic Fingerprint Identification System”) se comenzó el desarrollo y utilización de algoritmos de comparación de huellas dactilares basados en minucias, que son puntos singulares dentro de la huella. Estos métodos se asemejan a la comparación visual realizada por un experto, identificando la posición de los puntos singulares para su posterior comparación. Los métodos de comparación basados en minucias proporcionan una respuesta precisa pero presentan numerosos inconvenientes. En primer lugar, las técnicas de comparación basadas en minucias requieren un fuerte preprocesado de las imágenes que suelen introducir artefactos en las imágenes a comparar. En segundo lugar, estas técnicas solo toman una parte muy concreta de la información contenida en la huella, sesgando con ello en gran medida la comparación. Actualmente los sensores de huellas dactilares son capaces de proporcionar imágenes de alta resolución y con alta calidad, utilizar únicamente las minucias para la comparación es desaprovechar el resto de la valiosa información contenida en la huella. Los algoritmos basados en técnicas de correlación se presentan como candidatos para paliar los dos inconvenientes anteriormente mencionados. Estas técnicas utilizan el cálculo de la correlación cruzada como medida de similitud de las imágenes. Por lo tanto se compara toda la información contenida en la huella y además, como no se requiere la extracción de características, se evita la compleja etapa de preprocesado requerida por los métodos basados en minucias. A pesar de haber demostrado recientemente que con las técnicas basadas en correlación se pueden obtener resultados precisos [FVC2002], [FVC2004], estas técnicas siguen siendo minoritariamente estudiadas y utilizadas. La principal desventaja que presentan es su alta carga computacional, requiriendo equipos de altas prestaciones, coste y tamaño. Esta tesis doctoral presenta algoritmos para la comparación de huellas dactilares mediante técnicas de correlación así como arquitecturas hardware eficientes para solventar los problemas de rendimiento que presentan estas técnicas. Se han propuesto dos algoritmos de comparación de huellas dactilares mediante técnicas de correlación que son aportación original de esta tesis. Los algoritmos presentan dos soluciones diferenciadas según la resolución de las imágenes a comparar. Los métodos de alineamiento propuestos para cada uno de los algoritmos también utilizan técnicas novedosas y son por tanto aportación original de esta tesis. El algoritmo de comparación de imágenes de baja resolución realiza una etapa de alineamiento novedosa basada en la correlación del campo de orientación de las huellas. A partir del desplazamiento y la rotación calculados se seleccionan las zonas de las huellas a comparar teniendo en cuenta el solape que existe entre las huellas así como la calidad de las zonas elegidas. Una vez determinadas las zonas se utiliza la correlación cruzada como medida de similitud de las zonas. El algoritmo de comparación para imágenes de alta resolución selecciona zonas cercanas al núcleo para efectuar la comparación. La selección del núcleo se efectúa mediante una técnica novedosa que utiliza la transformada wavelet para determinar la posición del núcleo. La detección del núcleo se realiza sobre la imagen directamente sin necesidad de aplicar ningún preprocesado previo. Una vez seleccionadas las zonas que contienen al núcleo, se realiza el cálculo de la correlación cruzada como medida de similitud de las imágenes. Los resultados experimentales para ambos algoritmos determinan que ambos métodos son precisos en la comparación pero su rendimiento en implementaciones software es bajo. Esto es debido a que el rendimiento en ambos algoritmos se ve afectado por la elevada carga computacional que acarrea el cálculo de la correlación cruzada. En esta tesis también se han propuesto arquitecturas hardware para la aceleración del cálculo de la correlación cruzada. En concreto, se han propuesto dos arquitecturas hardware, una para el cálculo de la correlación en el dominio espacial y otra para el cálculo de la correlación en el dominio espectral. Así como una arquitectura para realizar por hardware la normalización y poder así obtener una correlación normalizada. Todas las arquitecturas propuestas son aportación original de esta tesis. La arquitectura espacial consta de una matriz sistólica de DSP slices que realizan MACs (“Multiplication ACcumulation”). En esta arquitectura cada DSP slice realiza una MAC y pasa el resultado al siguiente DSP slice de su misma fila. Por lo tanto, en cada fila de la matriz se calcula la correlación cruzada de una fila de ambas imágenes. Después de un retardo inicial, los resultados se proporcionan cada ciclo de reloj. La arquitectura espectral se basa en la aplicación del teorema de la correlación y en la utilización de la transformada rápida de Fourier (FFT). Se han utilizado módulos de cálculo de la FFT, que se han denominado FFT slices. En la arquitectura propuesta, cada FFT slice realiza la FFT de una fila de ambas imágenes. La arquitectura gestiona los FFT slices, así como memorias intermedias, para realizar el máximo número posible de FFTs en paralelo. Para la normalización se presentan arquitecturas recursivas que aprovechan el flujo de datos de las arquitecturas que calculan la correlación. Con esta aproximación es posible combinar ambos circuitos para integrarlos en un solo chip. Además de esto, al compartir el flujo de datos los resultados se generan a la vez, sin disminuir el rendimiento del sistema. Experimentalmente se ha comprobado la aceleración conseguida con las arquitecturas propuestas mediante implementaciones de las arquitecturas en una FPGA (“Field Programmable Gate Array”) de la familia Virtex 4 de Xilinx [Xil_V4]. Los resultados experimentales demuestran que con las arquitecturas propuestas se pueden conseguir aceleraciones de hasta dos órdenes de magnitud respecto a implementaciones en C en un PC de gama alta. También se han propuesto soluciones a nivel de sistema para la comparación de huellas dactilares mediante técnicas de correlación. Estas soluciones presentan la integración de las arquitecturas hardware propuestas en un SoPC (“System On Pogrammable Chip”). La arquitectura básica del SoPC propuesto consta de un microprocesador empotrado junto con un coprocesador hardware que realiza las tareas de complejidad elevada. Con esta arquitectura se busca una mejora en el rendimiento del sistema, aliviando la carga computacional del microprocesador empotrado. Se proponen dos arquitecturas para el coprocesador hardware del SoPC que son aportación original de esta tesis. La arquitectura estática se basa en la arquitectura espacial propuesta, pero utilizando una única fila de DSP slices para realizar los cálculos. En esta arquitectura, el coprocesador se encarga de realizar las tareas de mayor carga computacional y el microprocesador el resto de tareas necesarias para la comparación, incluyendo el envío de datos al coprocesador y la recomposición de resultados. La arquitectura dinámica se compone de un coprocesador reconfigurable de grano grueso que puede cambiar en tiempo de ejecución tanto la operación a realizar como el tamaño de las imágenes empleadas, implicando un redimensionamiento de la matriz de DSP slices del coprocesador. La reconfiguración la realiza directamente el microprocesador empotrado, sin necesidad de utilizar los mecanismos internos de reconfiguración de la FPGA. Este coprocesador presenta una solución versátil a la par que eficiente. La pérdida de posibilidades frente a una reconfiguración de grano fino se ve compensada por una disminución drástica del tiempo de reconfiguración que con la arquitectura propuesta puede realizarse con tan solo cuatro transacciones de 32 bits. El sistema se ha prototipado para una FPGA Virtex 5 de Xilinx [Xil_V5] utilizando como microprocesador empotrado Microblaze [Xil_mblaze]. Los resultados experimentales obtenidos muestran que el SoPC diseñado es altamente eficiente para diversas operaciones comunes en el campo del procesado de imágenes (CC, S, SS y transformada wavelet) superando en rendimiento a implementaciones software en un PC de altas prestaciones. En el SoPC propuesto también se ha implementado el algoritmo para imágenes de alta resolución propuesto consiguiendo el mismo rendimiento que un PC de altas prestaciones. Con esta tesis doctoral se ha estudiado la comparación de huellas dactilares mediante técnicas de correlación obteniendo resultados precisos con algoritmos novedosos de comparación. Se ha demostrado que las técnicas de correlación son unas técnicas prometedoras en el ámbito de la comparación de huellas dactilares, por la precisión obtenida así como por su capacidad de comparar la totalidad de la información contenida en la huella. También se han solventado los problemas de rendimiento que presentan estas técnicas mediante arquitecturas hardware específicas que proporcionan rendimientos elevados. .Las arquitecturas propuestas hacen posible cálculos de correlación en tiempo real y en sistemas de bajo coste y tamaño. El SoPC con coprocesador dinámico propuesto presenta una solución muy versátil, ya que es capaz de modificar en tiempo de ejecución la tarea a realizar por el coprocesador, el tamaño de las imágenes y de la matriz de DSP slices, realizando el cálculo de forma eficiente para un conjunto de datos de gran tamaño

    A Reliable LZ Data Compressor on Reconfigurable Coprocessors

    No full text
    Data compression techniques based on Lempel-Ziv (LZ) algorithm are widely used in a variety of applications, especially in data storage and communications. However, since the LZ algorithm involves a considerable amount of parallel comparisons, it may be difficult to achieve a very high throughput using software approaches on generalpurpose processors. In addition, error propagation due to single-bit transient errors during LZ compression causes a significant data integrity problem. In this paper, we present an implementation of LZ data compression on reconfigurable hardware with concurrent error detection for high performance and reliability. Our approach achieves 100Mbps throughput using four Xilinx 4036XLA FPGA chips. We have also presented an inverse comparison technique for LZ compression to guarantee data integrity with less area overhead than traditional systems based on duplication. The resulting execution time overhead and compression ratio degradation due to concurrent error detection is also minimized

    Topical Workshop on Electronics for Particle Physics

    Get PDF
    The purpose of the workshop was to present results and original concepts for electronics research and development relevant to particle physics experiments as well as accelerator and beam instrumentation at future facilities; to review the status of electronics for the LHC experiments; to identify and encourage common efforts for the development of electronics; and to promote information exchange and collaboration in the relevant engineering and physics communities

    Technology 2003: The Fourth National Technology Transfer Conference and Exposition, volume 2

    Get PDF
    Proceedings from symposia of the Technology 2003 Conference and Exposition, Dec. 7-9, 1993, Anaheim, CA, are presented. Volume 2 features papers on artificial intelligence, CAD&E, computer hardware, computer software, information management, photonics, robotics, test and measurement, video and imaging, and virtual reality/simulation
    corecore