Cargando…
Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP
Quicksort is an important algorithm that uses the divide and conquer concept, and it can be run to solve any problem. The performance of the algorithm can be improved by implementing this algorithm in parallel. In this paper, the parallel sorting algorithm named the Multi-Deque Partition Dual-Deque...
Autores principales: | , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Nature Publishing Group UK
2023
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10115789/ https://www.ncbi.nlm.nih.gov/pubmed/37076726 http://dx.doi.org/10.1038/s41598-023-33583-4 |
_version_ | 1785028281957875712 |
---|---|
author | Ketchaya, Sirilak Rattanatranurak, Apisit |
author_facet | Ketchaya, Sirilak Rattanatranurak, Apisit |
author_sort | Ketchaya, Sirilak |
collection | PubMed |
description | Quicksort is an important algorithm that uses the divide and conquer concept, and it can be run to solve any problem. The performance of the algorithm can be improved by implementing this algorithm in parallel. In this paper, the parallel sorting algorithm named the Multi-Deque Partition Dual-Deque Merge Sorting algorithm (MPDMSort) is proposed and run on a shared memory system. This algorithm contains the Multi-Deque Partitioning phase, which is a block-based parallel partitioning algorithm, and the Dual-Deque Merging phase, which is a merging algorithm without compare-and-swap operations and sorts the small data with the sorting function of the standard template library. The OpenMP library, which is an application programming interface used to develop the parallel implementation of this algorithm, is implemented in MPDMSort. Two computers (one with an Intel Xeon Gold 6142 CPU and the other with an Intel Core i7-11700 CPU) running Ubuntu Linux are used in this experiment. The results show that MPDMSort is faster than parallel balanced quicksort and multiway merge sort on the large random distribution data. A speedup of 13.81[Formula: see text] and speedup per thread of 0.86 can be obtained. Thus, developers can use these parallel partitioning and merging algorithms to improve the performance of related algorithms. |
format | Online Article Text |
id | pubmed-10115789 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2023 |
publisher | Nature Publishing Group UK |
record_format | MEDLINE/PubMed |
spelling | pubmed-101157892023-04-21 Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP Ketchaya, Sirilak Rattanatranurak, Apisit Sci Rep Article Quicksort is an important algorithm that uses the divide and conquer concept, and it can be run to solve any problem. The performance of the algorithm can be improved by implementing this algorithm in parallel. In this paper, the parallel sorting algorithm named the Multi-Deque Partition Dual-Deque Merge Sorting algorithm (MPDMSort) is proposed and run on a shared memory system. This algorithm contains the Multi-Deque Partitioning phase, which is a block-based parallel partitioning algorithm, and the Dual-Deque Merging phase, which is a merging algorithm without compare-and-swap operations and sorts the small data with the sorting function of the standard template library. The OpenMP library, which is an application programming interface used to develop the parallel implementation of this algorithm, is implemented in MPDMSort. Two computers (one with an Intel Xeon Gold 6142 CPU and the other with an Intel Core i7-11700 CPU) running Ubuntu Linux are used in this experiment. The results show that MPDMSort is faster than parallel balanced quicksort and multiway merge sort on the large random distribution data. A speedup of 13.81[Formula: see text] and speedup per thread of 0.86 can be obtained. Thus, developers can use these parallel partitioning and merging algorithms to improve the performance of related algorithms. Nature Publishing Group UK 2023-04-19 /pmc/articles/PMC10115789/ /pubmed/37076726 http://dx.doi.org/10.1038/s41598-023-33583-4 Text en © The Author(s) 2023 https://creativecommons.org/licenses/by/4.0/Open AccessThis article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/ (https://creativecommons.org/licenses/by/4.0/) . |
spellingShingle | Article Ketchaya, Sirilak Rattanatranurak, Apisit Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title | Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title_full | Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title_fullStr | Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title_full_unstemmed | Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title_short | Parallel Multi-Deque Partition Dual-Deque Merge sorting algorithm using OpenMP |
title_sort | parallel multi-deque partition dual-deque merge sorting algorithm using openmp |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC10115789/ https://www.ncbi.nlm.nih.gov/pubmed/37076726 http://dx.doi.org/10.1038/s41598-023-33583-4 |
work_keys_str_mv | AT ketchayasirilak parallelmultidequepartitiondualdequemergesortingalgorithmusingopenmp AT rattanatranurakapisit parallelmultidequepartitiondualdequemergesortingalgorithmusingopenmp |