Wait-Free Shared-Memory Irradiance Caching

Parallelizing rendering algorithms to exploit multiprocessor and multicore machines isn't straightforward. Certain methods require frequent synchronization among threads to obtain benefits similar to the sequential algorithm. One such algorithm is the irradiance cache (IC), an acceleration data structure that caches indirect diffuse irradiance values. In multicore systems, the threads must share the IC to achieve high efficiency. A proposed wait-free mechanism for accessing the shared IC doesn't use the common blocking or busy-waiting methods, thus avoiding most serialization and reducing contention. A comparison with two classic approaches-a lock-based mechanism and a local-write technique-on two systems with up to 24 cores shows that the wait-free approach significantly reduces synchronization overhead, thus improving performance. The Web extra PDF augments the article. The Web extra video is an animation that demonstrates the wait-free IC system running at close to interactive rates on an 8-core machine.

[1]  Kurt Debattista,et al.  Wait-free cache-affinity thread scheduling , 2003, IEE Proc. Softw..

[2]  David S. Ebert,et al.  Visualization and computer graphics , 2007 .

[3]  D. Marr,et al.  Hyper-Threading Technology Architecture and MIcroarchitecture , 2002 .

[4]  Sumanta N. Pattanaik,et al.  Temporal Radiance Caching , 2007, IEEE Trans. Vis. Comput. Graph..

[5]  Jung-Hong Chuang,et al.  An efficient caching-based rendering of translucent materials , 2006, The Visual Computer.

[6]  Gregory J. Ward,et al.  A ray tracing solution for diffuse interreflection , 2008, SIGGRAPH '08.

[7]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[8]  Gregory J. Ward,et al.  The RADIANCE lighting simulation and rendering system , 1994, SIGGRAPH.

[9]  Henry M. Levy,et al.  The Performance Implications of Thread Management Alternatives for Shared-Memory Multiprocessors , 1989, IEEE Trans. Computers.

[10]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[11]  Matthias Zwicker,et al.  Radiance caching for participating media , 2008, TOGS.

[12]  Heinz Mayer,et al.  MPI-parallelized Radiance on SGI CoW and SMP , 1999, ACPC.

[13]  Ingo Wald,et al.  State of the Art in Ray Tracing Animated Scenes , 2009, Comput. Graph. Forum.

[14]  Luís Paulo Santos,et al.  Accelerating the irradiance cache through parallel component-based rendering , 2006, EGPGV '06.

[15]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[16]  D. M. Hutton,et al.  The Art of Multiprocessor Programming , 2008 .

[17]  David Robertson,et al.  Parallelization of radiance for real time interactive lighting visualization walkthroughs , 1999, SC '99.

[18]  Luís Paulo Santos,et al.  Wait-Free Shared-Memory Irradiance Cache , 2009, EGPGV@Eurographics.

[19]  Maurice Herlihy Technical perspectiveHighly concurrent data structures , 2009, CACM.

[20]  Thomas E. Anderson,et al.  The performance implications of thread management alternatives for shared-memory multiprocessors , 1989, SIGMETRICS '89.

[21]  Karol Myszkowski,et al.  Temporally Coherent Irradiance Caching for High Quality Animation Rendering , 2005, Comput. Graph. Forum.

[22]  Arnauld Lamorlette,et al.  An approximate global illumination system for computer generated films , 2004, ACM Trans. Graph..

[23]  Luís Paulo Santos,et al.  Instant Caching for Interactive Global Illumination , 2009, Comput. Graph. Forum.

[24]  Sumanta N. Pattanaik,et al.  Radiance caching for efficient global illumination computation , 2008, IEEE Transactions on Visualization and Computer Graphics.

[25]  James T. Kajiya,et al.  The rendering equation , 1986, SIGGRAPH.

[26]  H. Jensen Realistic Image Synthesis Using Photon Mapping , 2001 .

[27]  Ingo Wald,et al.  Ray tracing deformable scenes using dynamic bounding volume hierarchies , 2007, TOGS.