InicioEducación audiovisualTodo lo que necesitas saber sobre las Render Farm

Anteriormente en el blog, ya hablé de lo que era un render, que era eso de renderizar e incluso comenté muy por encima que los grandes estudios disponían de granjas de render. Pero hoy, voy a centrarme un poco más en qué es y para qué sirve una Granja de Render o Render Farm. Y sobre todo comentar algo que me habéis pedido algunos lectores, acerca de cómo poder montarse una granja de render en casa.

Imagen tomada de www.skullbox.net/
Imagen tomada de www.skullbox.net/

Una render farm es un grupo de computadoras que se reparten el trabajo de renderizar, procesando información sobre una imagen fija o una serie de imágenes o animaciones. Para que lo entendáis mejor, una granja de render divide el trabajo entre varios ordenadores para que el tiempo de cada render, o tiempo de procesamiento sea el menor posible. Ya que yo no dispongo de todos los conocimientos que me gustarían, he contado con la gran ayuda de Antonio Paulino, Render Wrangler Lead.

Antes de nada, muchas gracias Antonio por brindarme tu ayuda y tus conocimientos.

¿De qué está compuesta una render farm profesional?

Depende mucho del punto de vista, a nivel de hardware, está compuesta por servidores, llamados nodos, que son ordenadores preparados para asumir grandes cargas de cálculo sostenidas en el tiempo. Los dispositivos básicos para interconectar los nodos (switches, routers) y potentes sistemas de aire acondicionado. A nivel lógico tenemos el sistema operativo (Linux, Windows…), software (Maya, Nuke, Arnold, Renderman, Frameworks), etc. Luego tenemos las herramientas que gestionan esa infraestructura. Las granjas se montan para distribuir la carga, y eso es bastante complicado de administrar por lo que sin las herramientas adecuadas no harías nada por muchos nodos que tengas. Lo más básico sería un administrador de colas de render (Queue manager).  Luego dependiendo del pipe de render las cosas se pueden complicar más o menos, pero lo más básico diría que es eso.

 

¿Y de qué está compuesto cada nodo?

En la práctica un nodo es exactamente igual que una workstation o un ordenador personal. Se compone de CPU, RAM, HDD, tarjeta de red. Ahora empiezan a surgir granjas basadas en GPU así que quizás habría que sumar tarjeta gráfica también.

 

¿Cómo están conectados esos ordenadores?

Lo más normal es que estén conectados a través de switches y routers. Muy resumidamente, los switches crean una especie de canal básico de comunicación entre dispositivos dentro de la misma red. Y los routers conectan dispositivos entre distintas redes. 

 

Como has comentado antes, una render farm necesita de un sistema de aire acondicionado ¿cómo tiene que ser ese acondicionamiento?

Se utilizan sistemas que usan dos técnicas básicas (igual que un ordenador de casa otra vez), por un lado se extrae el aire caliente y por el otro se mete aire frío. Los nodos están organizados en grandes armarios llamados racks, en la parte de arriba y trasera de los racks suele estar el sistema de extracción de aire caliente. Luego hay sistemas de aire acondicionado como los de casa pero mucho más potentes.

Imagen tomada de http://renderburo.farm/
Imagen tomada de http://renderburo.farm/

 

¿Existen distintos sistemas de granjas de render según sus prestaciones?

Creo que no tanto en función de sus prestaciones como del tipo de carga a distribuir. Hoy en día, las granjas profesionales como mencionabas antes no se dedican solo ha renderizar, también simulan, exportan cachés, etc, cualquier proceso seria proclive a enviarse a una granja. Algunos sacarán más partido que otros. Las granjas son como grandes centros de computación, puedes hacer muchas cosas muy distintas.  A nivel de render por ejemplo, no es lo mismo un render de Arnold que un render de Nuke. Mientras que Arnold escala bastante bien en CPU, Nuke no lo hace tanto. Puedes tener una CPU con 20 cores que Arnold utilizaría todos casi todo el tiempo, Nuke no. Optimizar las especificaciones de tus nodos en función de la tarea que vayan a desarrollar es lo que definiría distintos sistemas de granjas por así decirlo.

 

Imagino que es necesario un servidor de archivos para el almacenamiento de todas las escenas, ¿Cómo es este almacenamiento? ¿Dispone de backup de seguridad?

Claro, los sistemas de almacenamiento son críticos para los estudios. Lo más importante a tener en cuenta es el volumen de datos y la velocidad con la que se sirven. Estos sistemas dependen mucho de tu pipeline de render, o tu pipeline de procesos distribuidos mejor dicho, porque la granja no hace solo render. Tienes sistemas que combinan varios discos de distintas maneras, llamados RAID. Algunas configuraciones RAID hacen que los ficheros se lean y escriban rápidamente pero que no haya redundancia de datos (que si se te fastidia un disco estas fastidiado, tendrías que ir a por el backup). Tienes configuraciones que leen y escriben más despacio pero tienes redundancia de datos, esto quiere decir que si te fastidia un disco, lo cambias y no perderías nada (medio verdad, tienes un limite de discos escacharrados dependiendo de la configuracion). Tambien tienes configuraciones que mezclan ambas cosas, leen y escriben rápido y además tienen redundancia de datos (estos son lo más caros).  

Luego tienes dispositivos que interactúan con esos sistemas de almacenamiento que se encargan de hacerlos más rápidos como sería un sistema de cacheado basado en discos SSD, por ejemplo. Los sistemas de backup son cruciales claro. Supongo que sabrás la historia de ‘Toy Story 2’. En ‘Toy Story 2’ se borraron todos los ficheros originales y los bakcups por error. Gracias a que una empleada, que estaba  trabajando desde casa por motivos personales habia hecho un backup de todo por su cuenta, pudieron rescatar la gran mayoría de los datos.

Pixar's Render Farm abierta 24 horas.
Pixar’s Render Farm abierta 24 horas.

¿Qué pasaría si se va la luz?

Si se va la luz entrarían en funcionamiento unos sistemas de alimentación ininterrumpida llamados SAI y UPS. Hay que tener en cuenta que las granjas requieren de una cantidad enorme de electricidad. La capacidad de estos sistemas puede variar pero, la estrategia es la siguiente: utilizar estos sistemas hasta que la coriente vuelva. Si no volviera los SAIs o UPSs mandarían la orden de apagado a los nodos para que estos se apagaran de manera controlada y de esta manera se evitara la pérdida de datos y la corrupción de sistemas y ficheros.

 

¿Cómo se monitorea el funcionamiento de una render farm de estas dimensiones?

A nivel de infraestructura se monitoriza como se haría con cualquier centro de datos. Hay sistemas que se encargan de medir que los distintos dispositivos funcionen entre valores considerados normales. Por ejemplo, para un sistema de almacenamiento se podrían poner una alerta para que cuando la ocupación del mismo sea superior al 80% se envíe un correo a los administradores. Lo mismo si un nodo se “cae” (deja de responder), ya sea por un problema de red o de alimentación por ejemplo. Los sistemas de monitorización que se suelen utilizar son Nagios, Icinga, Zabbix, Munin, Cacti… Hay decenas. Cada uno de ellos tienes sus pros y sus contras. En función de la infraestructura a monitorizar recomendaría uno u otro.

 

Es muy caro tener una granja de render como la de un estudio profesional, pero si uno quisiera empezar con una humilde granja de render, de manera correcta y profesional ¿Cuáles son las características técnicas a tener en cuenta para empezar?

Depende mucho de lo que vayas a hacer. Quizás lo mejor para empezar sea utilizar un sistema basado en Cloud Computing. Estos sistemas son muy flexibles y te permiten crecer en función de tus necesidades sin tener que hacer grandes inversiones de dinero. De hecho bastantes estudios grandes están utilizando este sistema para acomodar picos de carga. Si necesitas miles de horas de cálculo en un tiempo muy reducido y luego sabes que tus máquinas van a estar paradas meses, no merece la pena hacer una gran inversión para acomodar ese pico. Siempre depende mucho de tus picos de producción, ya seas un gran estudio o un estudiante. Hoy en día hay muchos servicios de render en la nube: Zync, Summus, Rebusfarm, Renderflow….

 

¿Quién se ocupa de controlar que todo esto funcione correctamente?

Depende de la jerarquía impuesta en el estudio pero, lo más nomal, es que sea una tarea compartida entre los render wranglers, IT y R&D (Research and Development). El render wrangler suele ser el primer punto de escalado ante un problema, teniendo que discernir si es un problema derivado de infraestructura, que estaría relacionado con IT (ejemplo: red, almacenamiento), de lógica que sería mas para R&D (ejemplo: bugs) o puede que incluso sea un problema derivado de un mal uso del software por parte de un artista. Quizás esta sea la parte mas divertida de wrangling, la de poder meter mano en tantas áreas de una producción. También depende mucho del nivel del wrangler.

Imagen tomada de http://strictlyvfx.com/
Imagen tomada de http://strictlyvfx.com/

¿Qué se necesita para ser un buen Wrangler?

En inglés, wrangler significa vaquero (¡el que maneja a las vacas con sombrero, lazos y revolver!), ya que tradicionalmente era el encargado de administrar las prioridades de la granja.  La realidad es que esta posición está cambiando mucho. Algunos estudios han visto que un wrangler con conocimientos de IT, programación o 3D a nivel generalista pueden dar un valor añadido a nivel de soporte. Al final, como mencionaba antes render wrangling es un departamento muy transversal y, al ser la primera línea de soporte, cuanto más formado esté, más puede facilitar la vida al resto de departamentos de soporte (IT, R&D, TA’s o TD’s).

 

¿Cómo se gestiona un equipo de Wranglers?

Pues te diría que depende del equipo de wranglers. He tenido la suerte de tener perfiles muy variados, algunos artísticos, otro mas técnicos. La gestión es distinta para cada uno de ellos pero siempre intento que todos saquen el máximo provecho a su experiencia en wrangling. Tenemos una serie de responsabilidades básicas como pueden ser reportar o gestionar prioridades pero intentamos ser lo mas utiles posibles por lo que normalmente también hacemos algunas gestiones de Technical Assistant o incluso de Tools Developer. Por poner algún ejemplo, algunos de los wranglers que han pasado por mi equipo ahora son TA’s, otros en cambio son CFx artists… Dependende mucho de la predisposicion del wrangler y del momento de la producción. Al final, te diría que lo más complicado es la gestión de un horario 24×7, si no, pregúntale a los wranglers.

Muchísimas gracias Antonio por tu ayuda y tu disposición para la realización de este post. Espero haber resuelto las dudas de algunos de los lectores del blog y haber acercado un poco más el mundo de las render farm a quien no tiene conocimientos sobre su funcionamiento. Cualquier duda, dejarla en los comentarios.

6 comentarios

  1. Antes que montaros una granja en casa de render, miraros lo que es la computación el la Nube, por medio de Azure y otros sitios de computación en la nube podeis hacceder a sistemas con grandisimas prestaciones por poco. Es decir, podeis acceder a la mejor trarjeta gráfica del mercado, a 64 GB de RAM, a una CPU increible por no mucho dinero.

  2. necesito responder una duda puedo utilizar también un celular y una tableta para aumentar la granja de renderizado utilizando sus micros

  3. hola disculpen si caigo en mi ignorancia, leí que puede repartirse cualquier proceso, ¿ puedo hacer una granja de render ( dos equipos ) para software de programación o correr algún juego?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies