Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop
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...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Ikatan Ahli Informatika Indonesia
2022-04-01
|
Series: | Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) |
Subjects: | |
Online Access: | http://jurnal.iaii.or.id/index.php/RESTI/article/view/3848 |
_version_ | 1797334112334249984 |
---|---|
author | Adnan Adnan Intan Sari Areni Zulkifli Tahir |
author_facet | Adnan Adnan Intan Sari Areni Zulkifli Tahir |
author_sort | Adnan Adnan |
collection | DOAJ |
description | 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. |
first_indexed | 2024-03-08T08:15:57Z |
format | Article |
id | doaj.art-f88ab081cbc24d53aabe9ae0f09be084 |
institution | Directory Open Access Journal |
issn | 2580-0760 |
language | English |
last_indexed | 2024-03-08T08:15:57Z |
publishDate | 2022-04-01 |
publisher | Ikatan Ahli Informatika Indonesia |
record_format | Article |
series | Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) |
spelling | doaj.art-f88ab081cbc24d53aabe9ae0f09be0842024-02-02T07:42:52ZengIkatan Ahli Informatika IndonesiaJurnal RESTI (Rekayasa Sistem dan Teknologi Informasi)2580-07602022-04-016220721210.29207/resti.v6i2.38483848Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel LoopAdnan Adnan0Intan Sari Areni1Zulkifli Tahir2Universitas HasanuddinUniversitas HasanuddinUniversitas HasanuddinThis 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.http://jurnal.iaii.or.id/index.php/RESTI/article/view/3848critical section, overhead reduction, openmp, task granularity, parallel loop |
spellingShingle | Adnan Adnan Intan Sari Areni Zulkifli Tahir Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop Jurnal RESTI (Rekayasa Sistem dan Teknologi Informasi) critical section, overhead reduction, openmp, task granularity, parallel loop |
title | Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop |
title_full | Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop |
title_fullStr | Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop |
title_full_unstemmed | Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop |
title_short | Critical Section Overhead Reduction for OpenMP Program by Nesting a Serial Loop to Increase Task Granularity of Parallel Loop |
title_sort | critical section overhead reduction for openmp program by nesting a serial loop to increase task granularity of parallel loop |
topic | critical section, overhead reduction, openmp, task granularity, parallel loop |
url | http://jurnal.iaii.or.id/index.php/RESTI/article/view/3848 |
work_keys_str_mv | AT adnanadnan criticalsectionoverheadreductionforopenmpprogrambynestingaseriallooptoincreasetaskgranularityofparallelloop AT intansariareni criticalsectionoverheadreductionforopenmpprogrambynestingaseriallooptoincreasetaskgranularityofparallelloop AT zulkiflitahir criticalsectionoverheadreductionforopenmpprogrambynestingaseriallooptoincreasetaskgranularityofparallelloop |