Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) (Apr 2022)
Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop
Abstract
This paper presents a simple method to reduce performance loss due to a parallel program's massive critical sections of parallel numerical integration. The method transforms a fine-grain parallel loop into a coarse grain parallel loop that nests a sequential loop. The coarse grain parallel loop is by nesting a loop block to make task granularities coarser than that naive one. In addition to the overhead reduction, the method makes the parallel work fraction significantly more significant than the serial fraction. As a result, nesting a serial loop within a parallel loop improves the parallel program's performance. Compared to the naïve method, which does not scale the performance of a parallel program of numerical integration, the nesting serial loop method scales a parallel program up to 3.26 times a fold relative to its sequential program on a quad-core processor. This result shows that the proposed method makes the parallel program much faster than the naïve method.
Keywords