Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization

Paul Arthur Navrátil, Donald S. Fussell, Calvin Lin and William R. Mark

IEEE/EG Symposium on Interactive Ray Tracing, September 2007

Abstract

The performance of full-featured ray tracers has historically been limited by the hardware’s floating point computational power. However, next generation multi-threaded multi-core architectures promise to provide sufficient CPU throughput to support real time frame rates. In such systems, limited memory system performance in terms of both on-chip cache and DRAM-to-cache bandwidth is likely to bound overall system performance. This paper presents a novel ray tracing algorithm that both improves cache utilization and reduces DRAM-to-cache bandwidth usage. The key insight is to view ray traversal as a scheduling problem, which allows our algorithm to match ray traversal computations and intersection computations with available system resources. Using a detailed simulator, we show that our algorithm significantly reduces the amount of data brought into the cache in exchange for the small overhead of maintaining the ray schedule. Moreover, our algorithm creates units of work that are more amenable to parallelization than traditional Whitted-style ray tracers.


Paper -- final version (PDF, 0.3 MB)

BibTex Citation

@inproceedings{navratil07:drs,
  author = {Paul Arthur Navr\'{a}til and Donald S. Fussell and Calvin Lin and William R. Mark},
  title = {{Dynamic Ray Scheduling to Improve Ray Coherence and Bandwidth Utilization}},
  booktitle = {{IEEE/EG Symposium on Interactive Ray Tracing 2007}},
  pages = {95--104},
  month = {Sep},
  year = {2007},
  publisher = {IEEE/EG}
}