Speculative ray scheduling for large data visualization on supercomputers
Abstract
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.