Abstract
Development and rapid prototyping for large interactive environments like tiled-display walls pose many challenges. One is the heterogeneity of the various applications and libraries. A visual application tailored for a single monitor setup with a certain software environment is difficult to port and distribute to a multi-display, multi-PC setup. As a solution to this problem, we explore the potential of lightweight containerization techniques for distributed interactive applications. In particular, we present how the necessary runtime and build environments including libraries and drivers can be abstracted using the Docker framework. We demonstrate the packing of an existing single-machine GPU-enabled ray tracer inside a container to be used on tiled display walls. The performance measurements reveal that the containerization has a negligible impact on the system’s performance but allows for easy setup, integration, and distribution of complex applications.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
NVIDIA container runtime library, https://github.com/NVIDIA/libnvidia-container, Sep 2017.
- 2.
https://alpinelinux.org, Sep. 2017.
References
Abadi, M., et al.: TensorFlow: large-scale machine learning on heterogeneous distributed systems (2015). http://download.tensorflow.org/paper/whitepaper2015.pdf
Andrews, C., Endert, A., North, C.: Space to think: large high-resolution displays for sensemaking. In: Proceedings of the SIGCHI. CHI 2010, pp. 55–64. ACM (2010). http://doi.acm.org/10.1145/1753326.1753336
Bavoil, L., Sainz, M., Dimitrov, R.: Image-space horizon-based ambient occlusion. In: ACM SIGGRAPH 2008 Talks. SIGGRAPH 2008, p. 22:1 (2008)
Beaudouin-Lafon, M., Huot, S., Nancel, M., Mackay, W., Pietriga, E., Primet, R., Wagner, J., Chapuis, O., Pillias, C., Eagan, J., Gjerlufsen, T., Klokmose, C.: Multisurface interaction in the wild room. Computer 45(4), 48–56 (2012). https://doi.org/10.1109/MC.2012.110
Benedicic, L., Cruz, F.A., Schulthess, T.C.: Shifter: fast and consistent HPC workflows using containers (2017)
Cedilnik, A., Geveci, B., Moreland, K., Ahrens, J., Favre, J.: Remote large data visualization in the paraview framework. In: Proceedings of the 6th Eurographics Conference on Parallel Graphics and Visualization. EGPGV 2006, pp. 163–170. Eurographics Association (2006)
Chung, H., Andrews, C., North, C.: A survey of software frameworks for cluster-based large high-resolution displays. IEEE TVCG 20(8), 1158–1177 (2014)
Cochrane, K.: How is Docker different from a normal virtual machine? April 2013. https://stackoverflow.com/a/16048358
Commander, D.: VirtualGL, August 2017. https://www.virtualgl.org/
Jacobsen, D.M., Canon, R.S.: Contain this, unleashing Docker for HPC. presented at the Cray User Group, Chicago, IL (2015)
Eilemann, S., Makhinya, M., Pajarola, R.: Equalizer: a scalable parallel rendering framework. IEEE TVCG 15(3), 436–452 (2009)
Felter, W., Ferreira, A., Rajamony, R., Rubio, J.: An updated performance comparison of virtual machines and Linux containers. In: Performance Analysis of Systems and Software (ISPASS), pp. 171–172. IEEE (2015)
Humphreys, G., Houston, M., Ng, R., Frank, R., Ahern, S., Kirchner, P.D., Klosowski, J.T.: Chromium: a stream-processing framework for interactive rendering on clusters. ACM Trans. Graph. 21(3), 693–702 (2002). ACM
Jaramillo, D., Nguyen, D.V., Smart, R.: Leveraging microservices architecture by using Docker technology. In: SoutheastCon, pp. 1–5. IEEE (2016)
Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., Guadarrama, S., Darrell, T.: Caffe: convolutional architecture for fast feature embedding (2014). https://github.com/BVLC/caffe/tree/master/docker
Kitware: The Paraview Guide (Full Color Version). Kitware, s.l (2015)
Löffler, A., Pica, L., Hoffmann, H., Slusallek, P.: Networked displays for VR applications: display as a Service (DaaS). In: Proceedings of Joint Virtual Reality Conference of ICAT, EuroVR and EGVE (JVRC), Virtual Environments 2012, October 2012
Marrinan, T., Aurisano, J., Nishimoto, A., Bharadwaj, K., Mateevitsi, V., Renambot, L., Long, L., Johnson, A., Leigh, J.: SAGE2: a new approach for data intensive collaboration using scalable resolution shared displays. In: 10th IEEE International Conference on Collaborative Computing: Networking, Applications and Worksharing, pp. 177–186, October 2014
Michael Bukowski, Padraic Hennessy, P.O., McGuire, M.: The Skylanders SWAP Force Depth-of-Field Shader, GPU Pro, vol. 4, pp. 175–185. CRC Press, Boca Raton, April 2013
Mouat, A.: Using Docker: Developing and Deploying Software with Containers. O’Reilly Media Inc., Sebastopol (2015)
Naveen, K., Venkatram, V., Vaidya, C., Nicholas, S., Allan, S., Charles, Z., Gideon, G., Jason, L., Andrew, J.: SAGE: the scalable adaptive graphics environment (2009), electronic visualization laboratory, Department of Computer Science, University of Illinois at Chicago. http://sage.sagecommons.org
Newmarch, J.: Overview of the Go language. Network Programming with Go, pp. 21–27. Apress, Berkeley, CA (2017). https://doi.org/10.1007/978-1-4842-2692-6_2
Nguyen, N., Bein, D.: Distributed MPI cluster with Docker swarm mode. In: IEEE CCWC, pp. 1–7. IEEE (2017)
Ni, T., Schmidt, G.S., Staadt, O.G., Livingston, M.A., Ball, R., May, R.: A survey of large high-resolution display technologies, techniques, and applications. In: Proceedings of the IEEE VR. VR 2006, pp. 223–236 (2006)
Nirnimesh, N., Harish, P., Narayanan, P.J.: Garuda: a scalable tiled display wall using commodity PCs. IEEE TVCG 13(5), 864–877 (2007)
NVIDIA: Nvidia digits, September 2017. https://developer.nvidia.com/digits, https://gitlab.com/nvidia/digits/blob/master/6.0/Dockerfile
NVIDIA: NVIDIA Grid Virtual GPU Technology. Electronic, September 2017. http://www.nvidia.com/object/grid-technology.html
NVIDIA: NVIDIA/nvidia-docker: build and run Docker containers leveraging NVIDIA GPUs, September 2017. https://github.com/NVIDIA/nvidia-docker
Paul, B., Ahern, S., Bethel, W., Brugger, E., Cook, R., Daniel, J., Lewis, K., Owen, J., Southard, D.: Chromium renderserver: scalable and open remote rendering infrastructure. IEEE TVCG 14(3), 627–639 (2008)
Pike, R.: The Go programming language. Talk given at Googles Tech Talks (2009)
Reiners, D., Vo, G., Behr, J.: OpenSG: basic concepts. In 1. OpenSG Symposium OpenSG (2002)
Rodríguez, P., Haghighatkhah, A., Lwakatare, L.E., Teppola, S., Suomalainen, T., Eskeli, J., Karvonen, T., Kuvaja, P., Verner, J.M., Oivo, M.: Continuous deployment of software intensive products and services: a systematic mapping study. J. Syst. Softw. 123, 263–291 (2017)
Scheidegger, L., Vo, H.T., Krüger, J., Silva, C.T., Comba, J.L.D.: Parallel large data visualization with display walls. In: Wong, P.C., Kao, D.L., Hao, M.C., Chen, C., Kosara, R., Livingston, M.A., Park, J., Roberts, I. (eds.) Visualization and Data Analysis 2012. SPIE, January 2012
Sigitov, A., Staadt, O., Hinkenjann, A.: Distributed unity applications: evaluation of approaches. In: Proceedings of the 18th International Conference on Human-Computer Interaction (HCI), July 2016. Poster
Stahl, D., Martensson, T., Bosch, J.: The continuity of continuous integration. J. Syst. Softw. 127(C), 150–167 (2017)
Tan, D.S., Gergle, D., Scupelli, P., Pausch, R.: Physically large displays improve performance on spatial tasks. ACM Trans. Comput.-Hum. Interact. 13(1), 71–99 (2006). https://doi.org/10.1145/1143518.1143521
Turnbull, J.: The Docker Book: Containerization is the New Virtualization. Lulu.com (2014). IBAN 0988820234
Wald, I., Johnson, G., Amstutz, J., Brownlee, C., Knoll, A., Jeffers, J., Günther, J., Navratil, P.: OSPRay - a CPU ray tracing framework for scientific visualization. IEEE TVCG 23(1), 931–940 (2017)
Acknowledgments
This work was partially supported by the Deutsche Forschungsgemeinschaft, grant number 1615/2-1.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Gerdau, B.L., Weier, M., Hinkenjann, A. (2017). Containerized Distributed Rendering for Interactive Environments. In: Barbic, J., D'Cruz, M., Latoschik, M., Slater, M., Bourdot, P. (eds) Virtual Reality and Augmented Reality. EuroVR 2017. Lecture Notes in Computer Science(), vol 10700. Springer, Cham. https://doi.org/10.1007/978-3-319-72323-5_5
Download citation
DOI: https://doi.org/10.1007/978-3-319-72323-5_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-72322-8
Online ISBN: 978-3-319-72323-5
eBook Packages: Computer ScienceComputer Science (R0)