Support unavailable
Please try again later

3D visualization in an OpenStack Cloud: a tasteful recipe

People: Carlo Impagliazzo ( CRS4 ) Muriel Cabianca ( CRS4 )

The Idea

We present a method to allow users to capitalize on the availability of cloud computing resources to visualize complex 3D graphical models on simple – even mobile – thin clients. The portability and form factor of thin clients makes them ideal companions in meetings and work locations away from the traditional desk, while being well suited for mobile model visualization. Unfortunately, to achieve their mobility these devices sacrifice computing power, thus limiting the complexity of models that can be rendered on board. We address this problem by integrating a 3D visualization system on the thin clients with a cloud-based rendering system, allowing the visualization platform to take advantage of remote graphics rendering acceleration.

The platform

The system is comprised by three main components: a web-based interface to manage and share application sessions; a custom orchestrating component that manages the cloud-based resources and virtual application instances; a visualization front-end that runs on the clients. The web-based front end provides web services to access and manage graphically accelerated applications and remote desktops that run in the data center. It also allows sessions to be shared among users. The orchestrator provides an abstraction layer to manage instances of application appliances. As requests for applications are issued, the orchestrator instantiates virtual machines as required, and provides the front end with the parameters to communicate with the applications running on them. To manage these virtual computing resources, the orchestrator uses the OpenStack cloud computing platform. To acquire concrete hardware resources on which to instantiate the virtual machines, OpenStack negotiates with GridEngine. Thus, as the name implies, the orchestrator “orchestrates” virtual resources to ensure session requests are satisfied as quickly and efficiently as possible, while hiding any of these details from the layers above. Python was used to implement the entire orchestrator component. In addition, it was used to implement the communication and synchronization layers between the three main system components. It demonstrated itself to be an excellent tool for both these tasks.

Results and Conclusions

The resulting platform allows the use of the computing power of a data center through a web portal or on low-power devices, potentially with limited network capacity, while providing a simple abstraction over hardware resources. The system’s modular architecture allows it to adapt to a variety of network settings and visualization applications that use 3D acceleration, such as complex system design (aerospace, automotive, etc.), biomedical applications, or oil and gas exploration.

Do you have some questions on this talk? Leave a comment to the speaker!

New comment


Tagged as

vnc opengl devops bigdata graphics hpc cloud
Our Sponsors
Python Experts
SSL Matrix
Wanna sponsor?