Parallelising ray tracing using a data parallel approach allows arbitrarily large models to be rendered, but its inherent load imbalances may lead to severe inefficiencies. To compensate for the uneven load distribution, demand-driven tasks may be split off and scheduled to processors that are less busy. We use a hybrid scheduling algorithm which brings tasks and data together according to coherence between rays. Coherent tasks are suitable for demand driven scheduling and the remainder is executed in data parallel mode. This method removes the worst hot-spots from the data parallel component and reschedules those as demand driven tasks, thereby evening out the workload while keeping communication overheads at bay. Results are presented for scenes of up to 295,000 polygons using a large cluster of Sun workstations.
Finally, the hybrid scheduling algorithm is expanded by also sampling diffuse inter-reflection. This puts a significant additional strain on the data parallel component, the implications of which are examined by presenting and discussing relevant results.