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. ; Partial funding for this work came from the Portuguese Foundation for Science and Technology's Project IGIDE (Interactive Global Illumination within Dynamic Environments), grant PT-DC/EIA/65965/2006, and from the United Kingdom's Engineering and Physical Sciences Research Council, grant EP/D069874/2. Greg Ward provided the office and conference scenes from the Radiance package, and Stanford's Graphics Group provided the bunny model from the Stanford 3D Repository. Alberto Proenca granted us access to the two multicore systems.
Wait-free shared-memory irradiance caching
2011-09-01
doi:10.1109/MCG.2010.80
Article (Journal)
Electronic Resource
English
DDC: | 629 |
Engineering Index Backfile | 1929
|Online Contents | 2010
Transportation Research Record | 2011
|Engineering Index Backfile | 1947
|