Realistic rendering that relies on physically correct laws of propagation and accumulation of light energy, is used for solving a wide range of applied problems, including virtual prototyping of complex optical systems. With the increasing computation efficiency and complexity of computational architecture, both rendering complexity, and the required computational accuracy increase. Taking into account that modern workstations might have several CPUs with up to 128 virtual cores each, the task of the effective parallelization of the rendering algorithms that utilize all CPU resources is an urgent challenge. In the scope of the current research, the authors investigated the application of various CPU parallelization approaches for the realistic rendering algorithms based on the backward photon mapping, and their limitations. These methods include traditional methods such as synchronous and asynchronous parallelization approaches and their combination. As a result of the research, the authors developed the three-level parallelization method, consisting of fully synchronous, partially synchronous, and asynchronous levels. The key feature of the three-level parallelization method is the additional semi-synchronous level with shared memory. Due to the use of semi-synchronous calculations and asynchronous data exchange between threads, there is no need to synchronize the access to a shared data, which results in increased rendering speed. The three-level parallelization model can also be used in distributed systems due to the asynchronous model is used at the top level. The results of the comparative testing of parallelization approaches on the multiprocessor workstation when rendering images formed by virtual prototypes of the real systems are presented.
|