Sistema de Comunicación para Renderización Paralela de Volúmenes en Tiempo Real
Sistema de Comunicación para Renderización Paralela de Volúmenes en Tiempo Real
Sistema de Comunicación para Renderización Paralela de Volúmenes en Tiempo Real
Resumen: Para resolver problemas de gran complejidad como la renderización de volúmenes se utilizan sistemas
de cómputo paralelos con una elevada potencia de cómputo. En este trabajo se presenta la implementación de un
sistema de comunicaciones orientado al mejor esfuerzo, energéticamente eficiente y tolerante a fallas para resolver
la renderización fotorrealista en tiempo real. A fin de conseguir estos objetivos se propone un sistema que utiliza en
capa de Transporte UDP, en capa de Red IPv6 (unicast - multicast) y en capa de Enlace de Datos Gigabit Ethernet con
control de flujo. Al final exponemos algunos resultados experimentales.
Palabras Claves: Volumen, Fotorrealista, IPv6, Ethernet, Tiempo Real.
Abstract: High performance parallel computing systems are used to solve complex problems such as volume rende-
ring. This paper presents the implementation of communications system with the following characteristics: best
effort, energy efficient and fault-tolerant used to solve real-time photorealistic rendering. In order to achieve these
objectives, a system is proposed that used UDP in Transport layer, IPv6 (unicast - multicast) in Network layer and
Gigabit Ethernet with flow control in Link layer. Finally we present some experimental results.
Keywords: Volume, Photorealistic, IPv6, Ethernet, Real Time.
Página 272 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 273
Universidad Tecnológica Nacional Revista Tecnología y Ciencia
demanda computacional. El estudio de estas polí- realizar por los demás nodos, el cual puede estar
ticas de renderización exceden el alcance de la separado del resto del sistema en una red alejada
presente publicación pero el protocolo propuesto permitiendo el control del sistema remotamente;
está adaptado para funcionar con cualquiera de ellas. varios Nodos Procesadores, quienes realizan la
renderización propiamente dicha, y los Nodos
SISTEMA DE RENDERIZACIÓN DISTRIBUIDA Integradores, responsables de reunir y realizar la
EN TIEMPO REAL visualización en tiempo real del volumen. Estos dos
últimos deben estar ubicados físicamente cercanos
El sistema propuesto está compuesto por 3 tipos para su conexión a través de una red de alta perfor-
de nodos, cada uno de los cuales tiene un rol defi- mance y baja latencia. En la siguiente sección anali-
nido. Los roles que puede asumir un nodo en el zamos el modelo de comunicación propuesto para
sistema son: poder gestionar este sistema.
- Nodo Administrador: Es el nodo que gestiona
el procesamiento del sistema al administrar las
variables de entrada recibidas desde un dispo-
sitivo de entrada para transmitirlas por red a
los Nodos Procesadores. Adicionalmente debe
anunciar a los Nodos Procesadores qué Nodo
o conjunto de Nodos Integradores les corres-
ponde. Opcionalmente puede determinar o no
qué procesa cada Nodo Procesador de acuerdo
a políticas de implementación.
- Nodo Procesador: Es el nodo que realiza el
renderizado y envía el trabajo finalizado por
la red al Nodo Integrador. Puede asumir, en el
caso de que el Nodo Administrador no lo haga,
la función de auto asignarse la tarea a procesar.
- Nodo Integrador: Es el nodo que recibe Figura 1. Sistema visualizador.
Página 274 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
información de pertenencia de los segmentos salida) que está compuesta por cuadros sucesivos
de tareas que le permite conocer a los Nodos en el tiempo, se puede dividir en segmentos, cada
Procesadores a cuáles Nodos Integradores uno de los cuales representa una porción de un
enviar cada segmento. Dado los escasos cuadro en un momento determinado del tiempo.
requisitos necesarios de ancho de banda, esta Denominaremos CS (Compute Segment) a cada una
información puede ser transferida a través de de las estas unidades mínimas de transmisión.
enlaces WAN a redes remotas. La utilización de Se puede definir a este CS como una unidad
multicast disminuye los efectos que la latencia mínima de procesamiento a ser asignada a un
de los enlaces WAN pueda ocasionar en el Nodo Procesador de la red. Esto es equivalente a los
funcionamiento del sistema. bloques de CUDA o work-group de OpenCL (Unidad
- Información de salida: Esta comunicación se mínima que procesamiento que puede asignarse a
lleva a cabo entre los Nodos Procesadores y los un Streaming Processor, SM) La diferencia entre ellos
Nodos Integradores. Cada una de ellas contiene está en que un bloque es asignado a un sólo SM de
la información del flujo de transmisión multi- la GPU, en cambio un mismo CS de un mismo cuadro
media distribuido, el cual está compuesto por puede ser procesado (de forma diferente o no) en
los sucesivos cuadros en el tiempo generados más de un nodo, por lo cual el protocolo debe poder
por cada uno de los Nodos Procesadores. contemplar esta situación. Métodos de renderización
Los requisitos de gran ancho de banda y baja iterativos o tolerantes a fallas nodales pueden justi-
latencia requieren de un enlace LAN exclusivo ficar este modo de funcionamiento. Para los casos de
para la comunicación de salida entre los Nodos sistemas en los cuales cada Nodo Procesador utiliza
Procesadores y los Nodos Integradores. su GPU para procesar y conseguir una máxima perfor-
En las siguientes secciones se detallan las prin- mance, los CS deberán tener dimensiones múltiplos
cipales características del protocolo y el modo de de los work-group de OpenCL, por ello el protocolo
funcionamiento. permite que dicho tamaño sea configurable adaptán-
dose a la arquitectura utilizada.
SEGMENTACIÓN DE DATOS Los Nodos Integradores en cambio sólo pueden
ser asignados para recibir CS específicos. Un mismo
Generalmente en entornos de computación masi- CS no puede ser recibido por más de un Nodo Inte-
vamente paralela como el usado en el ambiente de grador. Este tipo de arquitectura permite que los
las arquitecturas GPUs (compuesta por grupos de Nodos Integradores, en caso de ser más de uno,
procesadores SIMD) es común usar modelos en realicen también la visualización en forma distribuida.
los cuales todas las tareas a procesar se dividen La segmentación presenta un nuevo paradigma
en bloques, los cuales son asignados a diferentes para la computación masiva sin estado interno que
procesadores SIMD de la arquitectura (Kirk and denominaremos computación del mejor esfuerzo
Hwu, 2010) . Generalmente es común en sistemas que guarda similitudes con la entrega del mejor
distribuidos contar con nodos con GPU, por ello esfuerzo presente en protocolos de comunicaciones
es importante utilizar un modelo de comunica- de red sin conexión como IP. En el caso de la compu-
ción el cual mantenga sobre el sistema completo tación, ésta se realiza sin garantía de sincronismo
un esquema similar al utilizado por cada nodo. Es mientras que en el caso de la comunicación se hace
por ello que una tarea renderizada (información de sin garantía de entrega.
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 275
Universidad Tecnológica Nacional Revista Tecnología y Ciencia
Página 276 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 277
Universidad Tecnológica Nacional Revista Tecnología y Ciencia
1980). Implementa un protocolo con modelo uno de ellos tienen, además, 3 cabeceras
de entrega de mejor esfuerzo y tolerante a la compuestas de varios campos, estos son:
saturación del enlace. - Cabecera de información general del
La arquitectura propuesta está diseñada utili- sistema (CIGS): Esta cabecera contiene una
zando protocolos de gran difusión permitiendo descripción general de las variables del
su implementación en sistemas heterogéneos de sistema completo. Dicha información se
bajo costo habituales en entornos de investigación repite en cada CS permitiendo la tolerancia
universitaria. La utilización de protocolos de red de a fallas de nodos o de red.
capa de enlace de datos como Infiniband o 10 Gbit - Cabecera de información general del cuadro
Ethernet pueden ser utilizados en un futuro cuando (CIGC): La información enviada en cada CS, gene-
sean de menor costo y mayor difusión. ralmente no varía de CS a CS de un mismo cuadro.
- Cabecera específica de CS (CES): Es informa-
DESCRIPCIÓN DETALLADA DEL PROTOCOLO ción específica de cada CS.
Los requisitos del sistema incluyen entre otros
En el protocolo se distinguen dos tipos de comu- que todos los cuadros del flujo de transmi-
nicación, las cuales: sión de salida tengan la misma resolución y
- Información de Control Multicast: que todos los segmentos de un mismo cuadro
Está constituida por datagramas que tienen tengan el mismo tamaño.
como función principal el envío de los datos El datagrama de la información de salida se
de entrada. Incluyen 3 cabeceras, de las cuales muestra en la tabla 2.
dos son opcionales para el envío de los datos.
Ellas son: REQUISITOS DE ANCHO DE BANDA DE RED
- Cabecera de control (CCm): Es obligatoria, TEÓRICOS Y LATENCIA MÁXIMA DEL SISTEMA
contiene la información de cada CS de control.
- Cabecera de control (CCGo): Es opcional En la presente sección se determinan los requi-
de índole general. Se usa para anunciar a los sitos mínimos de ancho de banda del sistema para
Nodos Procesador. Esta información puede que la red no sea limitante del rendimiento y la
referirse a los propios Nodos Procesador latencia que existe desde el momento que una
(qué CS debe procesar cada uno) o sobre los variable de entrada es ingresada por el dispositivo
Nodos Integrador (qué CS tienen asignado de entrada hasta que la misma se hace efectiva en
cada Nodo Integrador). En CCGo se indica el sistema visualizador. Por último el rendimiento
cuántas cabeceras CCEo hay. que poseerá el sistema en caso de que la red sea
- Cabecera de control específica por nodo limitante del rendimiento.
(CCEo): Es opcional con características espe-
cíficas, contiene información específica para Siendo:
cada Nodo Procesador o Nodo Integrador. m : Número de Nodos Procesador.
El datagrama de la información de control se l : Número de Nodos Integrador.
muestra en la tabla 1. Rx : Resolución horizontal.
- Información de Salida Unicast: Ry : Resolución vertical.
Como esta información se divide en CS, cada BS : Cantidad de bytes por cada pixel.
Página 278 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
R : Rendimiento en cantidad de cuadros por determinado por la suma de la latencia Nodo Admi-
segundo. nistrador – Nodo Procesador y Nodo Procesador
BW : Ancho de banda de red. – Nodo Integrador, en la cual esta última, por ser
TS : Latencia de renderizado. pequeña, puede despreciarse. El tiempo de trans-
TBW: Tiempo de transferencia del cuadro. ferencia del cuadro en la red puede determinarse
Tn : Latencia de red. según el ancho de banda de la red usada mientras
Tnap : Latencia de red entre Nodo Administrador y que el tiempo de renderizado depende del hard-
Nodo Procesador. ware de los Nodos Procesador.
Tnpi : Latencia de red entre Nodo Procesador y
Nodo Integrador.
T1 : Latencia de interactividad total.
El caso extremo de ancho de banda utilizado Si bien la información de salida puede transfe-
por el canal de comunicaciones en la información rirse a través de redes de baja velocidad, el ancho
de salida estará dado en su funcionamiento con la de banda en este caso será un limitante en el rendi-
técnica AFR o políticas que la utilicen y será: miento máximo del sistema expresado en cuadros
por segundo (R), siendo este:
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 279
Universidad Tecnológica Nacional Revista Tecnología y Ciencia
TRÁFICO DE SALIDA DESPERDICIADO en un medio sin control del flujo, por lo cual
la pérdida de una trama que contiene un CS o
Se le denomina tráfico desperdiciado al tráfico parte del mismo hará que dicho CS no pueda
generado por los Nodos Procesador, el cual no ser reconstruido en el Nodo Integrador.
puede ser procesado por los Nodos Integrador. Si bien el sistema es capaz de funcionar con tráfico
Existen básicamente dos tipos de tráfico desperdiciando, el mismo genera un desperdicio de
desperdiciado: potencia computacional de los Nodos Procesador
- Tráfico desperdiciado por Nodo Integrador: por lo cual es de suma importancia su reducción.
Este tráfico generalmente es por falta de
sincronización. Como los Nodos Procesador RESULTADOS
trabajan en un modelo asincrónico de mejor
esfuerzo, puede ocurrir envíen CS, los cuales Los resultados experimentales se realizaron en un
son recibidos tardíamente. En tal caso, los cluster de computación gráfica de renderizado distri-
Nodos Integrador los descartan. Ocurre lo buido compuesto por 2 Nodos Procesadores, un Nodo
mismo si los buffers de recepción del Nodo Administrador y un Nodo Integrador conectados
Integrador no tienen el tamaño suficiente o mediante una red Ethernet Gigabit. Se utilizó un MTU
trabaja a una velocidad reducida. estándar de 1528 bytes. El tamaño del CS incluido en
- Tráfico desperdiciado por pérdidas de la carga del datagrama UDP fue definido en 48 Kbytes.
enlace: Es todo aquel tráfico generado por Se realizaron modificaciones en parámetros de
los Nodos Procesador y no recibido por los kernel en el Nodo Integrador para incrementar los
Nodos Integrador. Un caso donde ocurre esto buffers de recepción evitando Tráfico desperdiciado
es cuando se produce la saturación del enlace por Nodo Integrador.
Página 280 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
Fig. 2. Potencia de cómputo y Ancho de banda de Nodo 1. Fig. 4. Potencia de cómputo y Ancho de banda de Ambos nodos sin control de flujo.
Fig. 3. Potencia de cómputo y Ancho de banda de Nodo 2. Fig. 5. Potencia de cómputo y Ancho de banda de Ambos nodos con control de flujo.
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 281
Universidad Tecnológica Nacional Revista Tecnología y Ciencia
Página 282 • RTyC - CoNaIISI - Año 13 - Nº 27 Sistema de Comunicación para..., Rizzi, et al.
Revista Tecnología y Ciencia Universidad Tecnológica Nacional
económico de UTN a través de una beca de docto- C., Weiskopf D. “Real-Time Volume Graphics.” A K
rado y al soporte académico de la carrera de Peters, Ltd (2006).
posgrado de UNSL. Marchesin S., Mongenet C., Dischler J. “Multi-gpu
sort-last volume visualization“. In Eurographics
REFERENCIAS Symposium on Parallel Graphics and Visualization
(EGPGV08) (2008).
Cox M.“Algorithms for Parallel Rendering”. PhD Monfort J., Grossman M.“Scaling of 3D Game
thesis, Department of Computer Science, Princeton Engine Workloads on Modern Multi-GPU Systems”
University (1995). - The 1st ACM Conference on High Performance
Molnar S., Cox M., Ellsworth D., Fuchs H.“A Sorting Graphics (HPG-09) (2009).
Classification of Parallel Rendering.” IEEE Computer Kirk D., Hwu W. “Programming Massively Para-
Graphics and Algorithms. Pp 23-32 (1994). llel Processors, A Hands on Approach” , Elsevier,
Palmer M., Totty B., Taylor S. “Ray casting on Morgan Kaufmann (2010).
shared-memory architectures: Memoryhierarchy IEEE Standards for Local and Metropolitan Area
considerations in volume rendering”. IEEE Concu- Networks: “Supplements to Carrier Sense Multiple
rrency, Vol 6, nro 1. Pp 20–35 (1998). Access With Collision Detection (CSMA/CD) Access
Bajaj C., Ihm I., Park S., Song D.. “Compres- Method and Physical Layer Specifications - Specifi-
sion-based ray casting of very large volume data cation for 802.3 Full Duplex Operation and Physical
in distributed environments.” In HPC ’00: Procee- Layer Specification for 100 Mb/s Operation on Two
dings of the The Fourth International Conference Pairs of Category 3 Or Better Balanced Twisted Pair
on High-Performance Computing in the Asia-Pacific Cable (100BASE-T2),” IEEE Std 802.3x-1997 and IEEE
Region-Volume 2. Pp 720–725 (2000). Std 802.3y-1997 (Supplement to ISO/IEC 8802-3:
Schwarz N., Leigh J.,“Distributed Volume Rende- 1996; ANSI/IEEE Std 802.3, 1996 Edition) (1997).
ring for Scalable High-resolution Display Arrays”, Deering S., Hinden R.“Internet Protocol, Version
Grapp – International Conference on Computer 6 (Ipv6) Specification” IETF Standards Track (1998).
Graphics Theory and Applications (2010). Postel J., “User Datagram Protocol” IETF Stan-
Engel K., Hadwiger M., Kniss J. M., Rezk-Salama dard protocol (1980).
Sistema de Comunicación para..., Rizzi, et al. RTyC - CoNaIISI - Año 13 - Nº 27 • Página 283