SlideShare uma empresa Scribd logo
1 de 30
Clúster para visualizalización remota de Aplicaciones 3D basado en Software Libre Armando Fabián Arostegui Oleas
	El propósito de la investigación fue encontrar una solución basada en software libre que permita visualizar remotamente aplicaciones 3D desde cualquier computadora
La investigación se dividió en dos partes: Realizar procesamiento gráfico en paralelo Manejar remotamente aplicaciones 3D
Para realizar procesamiento gráfico en paralelo utilizamos Chromium Para manejar remotamente aplicaciones 3D utilizamos VirtualGL y TurboVNC
Chromium Chromium es un sistema para renderización interactiva en clusters de estaciones de trabajo Permite que el procesamiento gráfico tome ventaja de los commodityclusters haciendo accesible el rendimiento gráfico para aplicaciones paralelas
Se basa en OpenGL que es el estándar de la industria La interfaz de programación OpenGL de Chromium incluye todo el estándar OpenGL desde la versión 1.5 Provee una interfaz de programación OpenGL paralela
Una forma muy importante en la que Chromium se diferencia de OpenGL es que Chromium soporta paralelismo Chromium esencialmente reemplaza el OpenGL de un sistema La mayoría de programas OpenGL pueden ser utilizados con Chromium sin realizar modificaciones
¿Cómo funciona? Chromium es instanciado a través de un sistema denominado Mothership La Mothership configura y administra los procesos de Chromium reconfigurando dinámicamente los componentes del sistema
Intercepta los comandos OpenGL generados por la aplicación Reemplaza dinámicamente las librerías OpenGL nativas del sistema con una librería impostora propia
Toma el control de toda la renderización solicitada por la aplicación, transformando los comandos gráficos OpenGL en un stream de comandos gráficos ordenados parcialmente A través del Tile-Sort SPU convierte el stream entrante en un conjunto de streams paralelos que están espacialmente delimitados
El frame buffer es subdividido en secciones rectangulares que son renderizadas en paralelo por los miembros del clúster
Las secciones renderizadas son enviadas a un nodo en el que se reensamblan
VirtualGL VirtualGL es un paquete de código abierto que da a cualquier programa de visualización remota de Unix o Linux la habilidad de ejecutar aplicaciones OpenGL con completa aceleración 3D por hardware
VirtualGL emplea una técnica llamada “splitrendering” para forzar que los comandos OpenGL y los datos 3D sean redirigidos de la aplicación a un acelerador gráfico 3D en el servidor de aplicación, y solo las imágenes 3D renderizadas son enviadas a la máquina cliente
TurboVNC TurboVNC es una versión optimizada de VNC Ha sido adaptado para proporcionar rendimiento interactivo para video en pantalla completa y cargas de trabajo 3D Realiza renderización X11 del lado del servidor, solo envía imágenes al cliente
Usando VirtualGL con Chromium Utilizamos la configuración Sort-FirstRendering (Descomposición Imagen-Espacio) con Readback
La actividad OpenGL y GLX es interceptada por el ChromiumAppFaker (CrAppFaker) para que el renderizado 3D pueda ser dividido entre los nodos de renderización. Una vez que cada nodo ha renderizado su sección de la imagen final, las secciones de la imagen son pasados de vuelta a un proceso Chromium Server (CrServer) que se está ejecutando en el Nodo 0
VirtualGL obliga al CrServer a dibujar en un Pbuffer, y VGL entonces se encarga de transmitir los píxeles desde el Pbuffer al servidor X del servidor de aplicación de la forma más eficiente posible
Usando VirtualGL y TurboVNC Un X proxy como TurboVNC actúa como un servidor X virtual, recibiendo comandos X11 desde la aplicación (y desde VirtualGL), renderizando los comandos X11 en imágenes, comprimiendo las imágenes resultantes, y enviando las imágenes comprimidas por la red a un cliente o clientes
Los X proxy como TurboVNC son no orientados a conexión, lo que significa que el cliente puede desconectarse y reconectarse desde cualquier máquina en la red, y la aplicación 3D se mantendrá en ejecución en el servidor VirtualGL envía imágenes 3D renderizadas al X proxy
Usamos VirtualGL con el X Proxy TurboVNC en el mismo servidor Esto permite a VirtualGL enviar sus imágenes 3D renderizadas al X proxy a través de la memoria compartida en lugar de enviarlas por la red
Conclusiones El factor que limita la gran capacidad de Chromium de dividir la carga de trabajo de renderización es la velocidad de los enlaces de comunicación entre los nodos de renderización y el nodo de aplicación
El funcionamiento de VirtualGL es óptimo ya que al combinarlo con Chromium duplica la velocidad de renderización obtenida solo con Chromium El uso de herramientas de software libre es muy conveniente ya que en la mayoría de casos se evitan costos de licenciamiento
La desventaja de utilizar estas herramientas radica en la falta de soporte técnico y el tiempo de investigación requerido para lograr el funcionamiento deseado
Recomendaciones Cambiar la infraestructura de red con tarjetas de red, cables y un switch de fibra óptica, con lo cual se superaría la limitación de la velocidad de los enlaces de comunicación entre los nodos de renderización y el nodo de aplicación, de esta forma se aprovecharía eficientemente la capacidad de Chromium
Cambiar las tarjetas aceleradoras 3D de 512MB de los nodos de renderización por tarjetas aceleradoras 3D de 1GB para aumentar la capacidad de renderización y disminuir el tiempo que se requiere para realizarlo
Investigar acerca de algún sistema operativo de dispositivos móviles como teléfonos inteligentes o PDAs (Personal Digital Assistant) que soporte el cliente de TurboVNC, ya que de esta forma se podría manejar remotamente aplicaciones 3D desde este tipo de dispositivos

Mais conteúdo relacionado

Semelhante a Presentacion

Windows presentation foundation by Marcos Acosta
Windows presentation foundation by Marcos AcostaWindows presentation foundation by Marcos Acosta
Windows presentation foundation by Marcos Acosta
Marcos Acosta
 
Introducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaIntroducción a las aplicaciones web con java
Introducción a las aplicaciones web con java
Pedro Arteaga
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
elvis mendieta
 
Windows presentation foundation(wpf)
Windows presentation foundation(wpf)Windows presentation foundation(wpf)
Windows presentation foundation(wpf)
Vivi Marquez
 
Windowspresentationfoundation 130720135132-phpapp01
Windowspresentationfoundation 130720135132-phpapp01Windowspresentationfoundation 130720135132-phpapp01
Windowspresentationfoundation 130720135132-phpapp01
juliomancerotroya
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
juliomancerotroya
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
Juan Moran Sanchez
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
Juan Moran Sanchez
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
Juan Moran Sanchez
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
Juan Moran Sanchez
 

Semelhante a Presentacion (20)

Buenooo opengl
Buenooo openglBuenooo opengl
Buenooo opengl
 
Windows presentation foundation (wpf)
Windows presentation foundation (wpf)Windows presentation foundation (wpf)
Windows presentation foundation (wpf)
 
U9 lenguajes de realidad virtual
U9 lenguajes de  realidad virtualU9 lenguajes de  realidad virtual
U9 lenguajes de realidad virtual
 
Wpf
WpfWpf
Wpf
 
Windows presentation foundation by Marcos Acosta
Windows presentation foundation by Marcos AcostaWindows presentation foundation by Marcos Acosta
Windows presentation foundation by Marcos Acosta
 
Wpc
WpcWpc
Wpc
 
Wpf windows presentation foundation
Wpf windows presentation foundationWpf windows presentation foundation
Wpf windows presentation foundation
 
Windows presentation
Windows presentationWindows presentation
Windows presentation
 
Wpf
WpfWpf
Wpf
 
Introducción a las aplicaciones web con java
Introducción a las aplicaciones web con javaIntroducción a las aplicaciones web con java
Introducción a las aplicaciones web con java
 
Wpf
WpfWpf
Wpf
 
Pecha kucha kde remote desktop connection
Pecha kucha kde remote desktop connectionPecha kucha kde remote desktop connection
Pecha kucha kde remote desktop connection
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Windows presentation foundation(wpf)
Windows presentation foundation(wpf)Windows presentation foundation(wpf)
Windows presentation foundation(wpf)
 
Windowspresentationfoundation 130720135132-phpapp01
Windowspresentationfoundation 130720135132-phpapp01Windowspresentationfoundation 130720135132-phpapp01
Windowspresentationfoundation 130720135132-phpapp01
 
Windows presentation foundation
Windows presentation foundationWindows presentation foundation
Windows presentation foundation
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
 
Windows Presentation Foundation
Windows Presentation FoundationWindows Presentation Foundation
Windows Presentation Foundation
 

Último

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
AnnimoUno1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
FagnerLisboa3
 

Último (15)

Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
presentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptxpresentacion de PowerPoint de la fuente de poder.pptx
presentacion de PowerPoint de la fuente de poder.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Presentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmerilPresentación de elementos de afilado con esmeril
Presentación de elementos de afilado con esmeril
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 

Presentacion

  • 1. Clúster para visualizalización remota de Aplicaciones 3D basado en Software Libre Armando Fabián Arostegui Oleas
  • 2. El propósito de la investigación fue encontrar una solución basada en software libre que permita visualizar remotamente aplicaciones 3D desde cualquier computadora
  • 3. La investigación se dividió en dos partes: Realizar procesamiento gráfico en paralelo Manejar remotamente aplicaciones 3D
  • 4. Para realizar procesamiento gráfico en paralelo utilizamos Chromium Para manejar remotamente aplicaciones 3D utilizamos VirtualGL y TurboVNC
  • 5. Chromium Chromium es un sistema para renderización interactiva en clusters de estaciones de trabajo Permite que el procesamiento gráfico tome ventaja de los commodityclusters haciendo accesible el rendimiento gráfico para aplicaciones paralelas
  • 6. Se basa en OpenGL que es el estándar de la industria La interfaz de programación OpenGL de Chromium incluye todo el estándar OpenGL desde la versión 1.5 Provee una interfaz de programación OpenGL paralela
  • 7. Una forma muy importante en la que Chromium se diferencia de OpenGL es que Chromium soporta paralelismo Chromium esencialmente reemplaza el OpenGL de un sistema La mayoría de programas OpenGL pueden ser utilizados con Chromium sin realizar modificaciones
  • 8. ¿Cómo funciona? Chromium es instanciado a través de un sistema denominado Mothership La Mothership configura y administra los procesos de Chromium reconfigurando dinámicamente los componentes del sistema
  • 9. Intercepta los comandos OpenGL generados por la aplicación Reemplaza dinámicamente las librerías OpenGL nativas del sistema con una librería impostora propia
  • 10. Toma el control de toda la renderización solicitada por la aplicación, transformando los comandos gráficos OpenGL en un stream de comandos gráficos ordenados parcialmente A través del Tile-Sort SPU convierte el stream entrante en un conjunto de streams paralelos que están espacialmente delimitados
  • 11. El frame buffer es subdividido en secciones rectangulares que son renderizadas en paralelo por los miembros del clúster
  • 12. Las secciones renderizadas son enviadas a un nodo en el que se reensamblan
  • 13. VirtualGL VirtualGL es un paquete de código abierto que da a cualquier programa de visualización remota de Unix o Linux la habilidad de ejecutar aplicaciones OpenGL con completa aceleración 3D por hardware
  • 14. VirtualGL emplea una técnica llamada “splitrendering” para forzar que los comandos OpenGL y los datos 3D sean redirigidos de la aplicación a un acelerador gráfico 3D en el servidor de aplicación, y solo las imágenes 3D renderizadas son enviadas a la máquina cliente
  • 15. TurboVNC TurboVNC es una versión optimizada de VNC Ha sido adaptado para proporcionar rendimiento interactivo para video en pantalla completa y cargas de trabajo 3D Realiza renderización X11 del lado del servidor, solo envía imágenes al cliente
  • 16. Usando VirtualGL con Chromium Utilizamos la configuración Sort-FirstRendering (Descomposición Imagen-Espacio) con Readback
  • 17.
  • 18. La actividad OpenGL y GLX es interceptada por el ChromiumAppFaker (CrAppFaker) para que el renderizado 3D pueda ser dividido entre los nodos de renderización. Una vez que cada nodo ha renderizado su sección de la imagen final, las secciones de la imagen son pasados de vuelta a un proceso Chromium Server (CrServer) que se está ejecutando en el Nodo 0
  • 19. VirtualGL obliga al CrServer a dibujar en un Pbuffer, y VGL entonces se encarga de transmitir los píxeles desde el Pbuffer al servidor X del servidor de aplicación de la forma más eficiente posible
  • 20. Usando VirtualGL y TurboVNC Un X proxy como TurboVNC actúa como un servidor X virtual, recibiendo comandos X11 desde la aplicación (y desde VirtualGL), renderizando los comandos X11 en imágenes, comprimiendo las imágenes resultantes, y enviando las imágenes comprimidas por la red a un cliente o clientes
  • 21. Los X proxy como TurboVNC son no orientados a conexión, lo que significa que el cliente puede desconectarse y reconectarse desde cualquier máquina en la red, y la aplicación 3D se mantendrá en ejecución en el servidor VirtualGL envía imágenes 3D renderizadas al X proxy
  • 22. Usamos VirtualGL con el X Proxy TurboVNC en el mismo servidor Esto permite a VirtualGL enviar sus imágenes 3D renderizadas al X proxy a través de la memoria compartida en lugar de enviarlas por la red
  • 23.
  • 24.
  • 25. Conclusiones El factor que limita la gran capacidad de Chromium de dividir la carga de trabajo de renderización es la velocidad de los enlaces de comunicación entre los nodos de renderización y el nodo de aplicación
  • 26. El funcionamiento de VirtualGL es óptimo ya que al combinarlo con Chromium duplica la velocidad de renderización obtenida solo con Chromium El uso de herramientas de software libre es muy conveniente ya que en la mayoría de casos se evitan costos de licenciamiento
  • 27. La desventaja de utilizar estas herramientas radica en la falta de soporte técnico y el tiempo de investigación requerido para lograr el funcionamiento deseado
  • 28. Recomendaciones Cambiar la infraestructura de red con tarjetas de red, cables y un switch de fibra óptica, con lo cual se superaría la limitación de la velocidad de los enlaces de comunicación entre los nodos de renderización y el nodo de aplicación, de esta forma se aprovecharía eficientemente la capacidad de Chromium
  • 29. Cambiar las tarjetas aceleradoras 3D de 512MB de los nodos de renderización por tarjetas aceleradoras 3D de 1GB para aumentar la capacidad de renderización y disminuir el tiempo que se requiere para realizarlo
  • 30. Investigar acerca de algún sistema operativo de dispositivos móviles como teléfonos inteligentes o PDAs (Personal Digital Assistant) que soporte el cliente de TurboVNC, ya que de esta forma se podría manejar remotamente aplicaciones 3D desde este tipo de dispositivos