Gestor de tareas para un render farm basado en GPUs

Gestor de tareas para un render farm basado en GPUs

Lucía Araceli Oviedo Díaz
 

Texto completo de la Tesis     

 


Resumen

 

En la actualidad, la evolución de las imágenes se ha incrementado notablemente, se observan tanto en nuestra vida cotidiana como en el ámbito académico animaciones cada vez más realistas y de alta de finición. Estas animaciones están compuestas por una secuencia de imágenes llamados fotogramas o frames. Pero para la generación de estas imágenes se requiere de todo un proceso detrás: el diseño del modelo de la escena, determinación de materiales, iluminación de escena y un proceso de render encargado de la generación de las imágenes en 3D. Y a nivel más bajo, se requiere de un algoritmo de render, entre los cuales se encuentra el trazado de rayos (mejor conocido en la literatura como ray tracing); capaz de generar imágenes de muy alta calidad; sin embargo, tiene un costo computacional relativamente alto. Es decir, para generar un segundo de animacion se requieren de entre 24 a 30 fotogramas por segundo y para la producción de una película de animación los tiempos de render se vuelven inmanejables. Para resolver este problema se crearon los render farm (conjunto de computadoras con diferentes tipos de arquitectura que permite la generación masiva de imágenes mediante algun proceso de render). En la actualidad generalmente existen render farms para arquitecturas distribuidas y multiprocesador. De reciente aparición se tienen a los GPUs, tarjetas diseñadas para trabajar con gráfi cos, cuentan con alto nivel de paralelismo y logran disminuir los tiempos del proceso sobre las operaciones involucradas en la generación de gráfi cos. El algoritmo para el trazado de rayos es uno de éstos y gracias a su inherente propiedad paralelizable se adapta bien para trabajar sobre GPUs. Esta tesis se enfoca a realizar un render farm destinado a renderizar imágenes mediante la técnica de sintetizado de imágenes de trazado de rayos, mediante el uso del motor de proposito general OptiX (que corre sobre GPUs) y conjunto de tarjetas GPU's. Para esto, es indispensable el uso de un buen despachador de trabajos cuyo objetivo principal es la administración equitativa de las tareas y los recursos que componen el render farm.

 

Abstract

Nowadays, the evolution of images has increased signi ficantly, we can fi nd realistic and high de finition animations in academic research and in our daily lives. These animations are composed of a sequence of images called frames. But for the generation of all these images requires a whole process behind: the model design of the scene, determination of materials, lighting and a rendering process who makes possible the generation of 3D images. Specifi cally talking about the rendering process, is required a rendering algorithm; this thesis is focus on the ray tracing algorithm. Which is capable of producing very high quality images. However, this algorithm has a disadvantage that is a high computational cost. And, for generate a second of animation are required from 24 to 30 frames per second, then the total time for render images becomes intractable. To solve this problem has been created the render farm systems, which is a set of computers that allows the generation of images using a massive rendering process. Most of the render farms that has been created are for multiprocessor and distributed architectures. Recently with the introduction of GPUs (which are cards designed to work with graphics with high level of parallelism), has been reduced the process times of the operations involved in generating graphics has been. Thank to that, the ray tracing algorithm, who has an inherent property paralelizable, has been well adapted to work on GPUs. This thesis is focus in the design and development of render farm based on the ray tracing algorithm, using the general purpose engine OptiX (that work on GPUs) and a set of GPU's devices. But for this, is essential the help of a good dispatcher with the main objective of tasks management.