6 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

    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

    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

    The development of a high speed solution for the evaluation of track structure Monte Carlo electron transport problems using field programmable gate arrays

    Get PDF
    There are two principal techniques for performing Monte Carlo electron transport computations. The first, and least common, is the full track-structure method. This method individually models all physical electron interactions including elastic scatter, electron impact ionization, radiative losses and excitations. However, because of the near infinite size of electron interaction cross-sections and highly anisotropic scattering behavior, this method requires an enormous amount of computation time. Alternatively, the Condensed History (CH) method for electron transport lumps the average effects of multiple energy loss and scattering events into one single pseudo-event, or step. Because of this approximation, the CH method can be orders of magnitude faster than the trackstructure method. While the CH method is reasonably accurate in many situations, it can be inaccurate for simulations involving microscopic site sizes such as those often found in radiation biology. For radiation biology and other microdosimetry applications, a computational device called a Field Programmable Gate Array (FPGA) is capable of executing track-structure Monte Carlo electron transport simulations as fast as, or faster than a standard computer performing transport via the CH method—and, it does so with the additional accuracy and level of detail provided by the track-structure method. In this dissertation, data from FPGA based track-structure electron transport computations are presented for five test cases, ranging in complexity from simple slab-style geometries to radiation biology applications involving electrons incident on endosteal bone surface cells. Even for the most complex test case presented, an FPGA is capable of evaluating track-structure electron transport problems more than 500 times faster than a standard computer can perform the same track-structure simulation, and with comparable accuracy
    corecore