Publication:
Implementación de la aplicación de raytracing en un entorno de procesadores y FPGAs

Loading...
Thumbnail Image
Official URL
Full text at PDC
Publication Date
2010
Editors
Journal Title
Journal ISSN
Volume Title
Publisher
Citations
Google Scholar
Research Projects
Organizational Units
Journal Issue
Abstract
Este proyecto de Sistemas Informáticos, el proyecto IRRADIA, se planteó como un acercamiento al incremento del rendimiento en computación de algoritmos aprovechando tecnologías no comunes aún en los sistemas de propósito general. El objetivo inicial fue el encontrar una aplicación con suficiente carga computacional, susceptible de ser modificada y adaptada, para luego mejorar sus tiempos de ejecución aprovechando técnicas de distribución de la carga entre diferentes procesadores y delegando parte del cómputo en hardware reconfigurable. El sistema utilizado fue un sistema SGI modelo Altix 450 que dispone de múltiples procesadores Intel Itanum comunicados con un área de memoria, y dos blades que contienen dos FPGAs Virtex 4 LX 200 cada uno. Un sistema de estas características es físicamente capaz de ejecutar varios procesos simultáneamente y de esta manera acelerar, gracias a la paralelización, el algoritmo deseado. La aplicación adaptada al servidor Altix es una aplicación basada en el algoritmo de raytracing. Nuestro objetivo fue investigar sobre las diferentes opciones desarrolladas de código abierto y elegir la que más se adaptaba a nuestro entorno y al servidor. Hemos realizado un análisis profundo de la aplicación y de la adaptación a la máquina así como de las optimizaciones que hemos logrado para una paralelización de la misma implementada mediante técnicas como MPI, hilos y mediante el uso de las FPGAs que alberga el servidor. Hemos conseguido que la adaptación de la aplicación con el servidor sea todo un éxito, implementado una interfaz de programación de aplicaciones que simula las librerías RASC para la simulación software de cualquier algoritmo destinado a ejecutarse en las FPGAS, desarrollado otra interfaz de interconexión más modular y sencilla que las librerías RASC y a su vez diseñamos una parte del código en VHDL del algoritmo raytracing. El proyecto concluye realizando una serie de test que comprueban la mejora de rendimiento del algoritmo haciendo uso de las tecnologías descritas. [ABSTRACT] This senior year project plans to approach the computational performance increase in algorithms, making use of technologies not commonly used nowadays in general purpose systems. The objective of the project is to find an application with a large enough workload to be modified. By making use of distributed computing and delegating part of the computation in reconfigurable hardware our goal is to improve our chosen application’s performance. The system that will be used in order to accomplish this goal is a SGI Altix 450. It is supplied with two double core processors that communicate with a memory area, in a shared or distributed way. It also contains two blades with two Virtex 4 LX200 FPGAs. Thus, the system is able to run a number of processes simultaneously and because of the programming it is therefore able to speed up the algorithm. We have chosen an application based on raytracing algorithm and we have performed a thorough analysis of it and of the adaptation to the machine. The following document describes the optimizations we have achieved through techniques such as MPI, threads, or the use of FPGAs that the server has.These techniques have been necessary in order to adapt the code C and rewrite part of it in VHDL. We have also implemented an application programming interface that simulates the RASC library for the simulation by software of any algorithm designed to run on the FPGAs. The project concludes with the results of tests we carried out that verify the faster performance of our chosen application using this technologies.
Description
Proyecto de Sistemas Informáticos (Facultad de Informática, Curso 2009-2010)
Unesco subjects
Keywords
Citation