Speculative ray scheduling for large data visualization on supercomputers
Scientific ray tracing now can include realistic shading and material properties, but tracing rays through partitioned data to calculate global illumination is inefficient because of the I/O overhead incurred by rays migrating from one partition to another. For such data, ray scheduling methods have demonstrated improved rendering performance by amortizing costs across a large group of rays. However, ray schedulers are prone to long-tail effects where much time is spent computing the solution for the final few rays, particularly for irregular ray tracing workloads. Solving this long-tail problem is increasingly important to maintain performance as complex ray tracing becomes more common for scientific analysis and for direct simulation of ray-like phenomena. In response, this dissertation introduces the concept of controlled redundancy to the domain of ray scheduling by means of speculation. We demonstrate that for both out-of-core and in situ rendering scenarios, speculatively scheduling rays to different regions of space both increases utilization of underlying resources and reduces total rendering time. In addition, we establish a communication abstraction to form a scheduling framework for novel asynchronous speculation. Furthermore, we incorporate simple heuristic prediction models, making the framework highly adaptable to a spectrum of scene characteristics. The framework is flexible enough to support a wide range of rendering techniques, including many variants of volume rendering and geometry rendering. Facilitated by high utilization, our scheduling method achieves many-times higher throughput on a multi-node, distributed system than prior methods, making our method fit for both interactive and offline applications.