Stefan Zellmann and Ulrich Lang
Visualization Tools, High Performance Computing, Distributed Volume Rendering, Zero Configuration Networking
We present a scalable software architecture for distributed direct volume rendering on HPC systems. Our approach allows for generically replacing components along the distributed volume rendering pipeline. Renderer components range from highly specialized GPU renderers that implement state of the art features to more versatile remote renderers, that can make use of numerous distributed memory nodes to exploit sort-last parallel rendering, with each node running a generic renderer component itself. Renderer components that are designed to run on CPUs or GPUs respectively make our software architecture most useful for HPC systems. Using zero configuration networking, our system is able to scale at run time by introducing additional resources without having to reset the whole cluster. Generic I/O subsystems allow for various interprocess communication technologies to be used interchangeably, while generalizing the display phase and decoupling it from the rendering and I/O phases can be exploited to hide latency. We integrate our proposed software architecture into the freely available open source direct volume rendering library Virvo.