By Debattista, K.; Dubla, P.; Santos, L.; Chalmers, A.
IEEE Computer Graphics and Applications
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.