An Optimized Reduction Design to Minimize Atomic Operations in Shared Memory Multiprocessors
Ettore Speziale, Andrea Di Biagio, Giovanni Agosta · 2011
Reduction operations play a key role in modern massively data parallel computation. However, current implementations in shared memory programming APIs such as OpenMP are often computation bottlenecks due to the high number of atomic operations involved. We propose a reduction design that exploits the coupling with a barrier synchronization to optimize the execution of the reduction. Experimental results show how the number of atomic operations involved is dramatically reduced, which can lead to significant improvement in scaling properties on large numbers of processing elements. We report a speedup of 1.53x on the emph{312.swim m} SPEC OMP2001 benchmark and a speedup of 4.02x on the emph{stream cluster} benchmark from the PARSEC suite over the baseline.