Parallel Quicksort using fetch-and-add
A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the fetch-and-add operation is presented. The partitioning phase of Quicksort, which has been considered a serial bottleneck, is cooperatively executed in...
Saved in:
| Published in | IEEE transactions on computers Vol. 39; no. 1; pp. 133 - 138 |
|---|---|
| Main Authors | , , |
| Format | Journal Article |
| Language | English |
| Published |
New York, NY
IEEE
01.01.1990
Institute of Electrical and Electronics Engineers |
| Subjects | |
| Online Access | Get full text |
| ISSN | 0018-9340 |
| DOI | 10.1109/12.46289 |
Cover
| Abstract | A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the fetch-and-add operation is presented. The partitioning phase of Quicksort, which has been considered a serial bottleneck, is cooperatively executed in parallel by many processors through the use of fetch-and-add. The parallel algorithm maintains the in-place nature of Quicksort, thereby allowing internal sorting of large arrays. A class of fetch-and-add-based algorithms for dynamically scheduling processors to subproblems is presented. Adaptive scheduling algorithms in this class have low overhead and achieve effective processor load balancing. The basic algorithm is shown to execute in an average of O(log(N)) time on an N-processor PRAM (parallel random-access machine) assuming a constant-time fetch-and-add. Estimated speedups, based on simulations, are also presented for cases when the number of items to be sorted is much greater than the number of processors.< > |
|---|---|
| AbstractList | A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the fetch-and-add operation is presented. The partitioning phase of Quicksort, which has been considered a serial bottleneck, is cooperatively executed in parallel by many processors through the use of fetch-and-add. The parallel algorithm maintains the in-place nature of Quicksort, thereby allowing internal sorting of large arrays. A class of fetch-and-add-based algorithms for dynamically scheduling processors to subproblems is presented. Adaptive scheduling algorithms in this class have low overhead and achieve effective processor load balancing. The basic algorithm is shown to execute in an average of O(log(N)) time on an N-processor PRAM (parallel random-access machine) assuming a constant-time fetch-and-add. Estimated speedups, based on simulations, are also presented for cases when the number of items to be sorted is much greater than the number of processors.< > A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the fetch-and-add operation is presented. The partitioning phase of Quicksort, which has been considered a serial bottleneck, is cooperatively executed in parallel by many processors through the use of fetch-and-add. The parallel algorithm maintains the in-place nature of Quicksort, thereby allowing internal sorting of large arrays. A class of fetch-and-add-based algorithms for dynamically scheduling processors to subproblems is presented. Adaptive scheduling algorithms in this class have low overhead and achieve effective processor load balancing. The basic algorithm is shown to execute in an average of < e1 > O < /e1 > (log( < e1 > N < /e1 > )) time on an < e1 > N < /e1 > -processor PRAM (parallel random-access machine) assuming a constant-time fetch-and-add. Estimated speedups, based on simulations, are also presented for cases when the number of items to be sorted is much greater than the number of processors |
| Author | Robinson, J.T. Norton, A. Heidelberger, P. |
| Author_xml | – sequence: 1 givenname: P. surname: Heidelberger fullname: Heidelberger, P. organization: IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA – sequence: 2 givenname: A. surname: Norton fullname: Norton, A. organization: IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA – sequence: 3 givenname: J.T. surname: Robinson fullname: Robinson, J.T. organization: IBM Thomas J. Watson Res. Center, Yorktown Heights, NY, USA |
| BackLink | http://pascal-francis.inist.fr/vibad/index.php?action=getRecordDetail&idt=6676116$$DView record in Pascal Francis |
| BookMark | eNpt0DtPwzAUBWAPRaItSKxsHVDFknJtN048ooqXhARI3a3rFxjcpNjJwL-nkKoDYrrD_c4ZzoSMmrZxhJxRWFAK8oqyxVKwWo7IGIDWheRLOCaTnN8BQDCQYzJ_xoQxujh76YP5yG3qZn0OzevMu868FdjYAq09IUceY3an-zsl69ub9eq-eHy6e1hdPxaGA-8KyUoruOSs9gJrLqGqwchSA6O1MNra0oGGkmv0ovIWJFqwuuRUg3YM-JTMh9ptaj97lzu1Cdm4GLFxbZ8Vq8sll1W5gxd7iNlg9AkbE7LaprDB9KWEqASlYscuB2ZSm3Ny_iAoqJ-JFGXqd6IdXfyhJnTYhbbpEob4X-B8CATn3KF3-H0DcIJxlA |
| CODEN | ITCOB4 |
| CitedBy_id | crossref_primary_10_1002_cpe_1484 crossref_primary_10_1145_3505286 crossref_primary_10_1007_s11227_013_0910_2 crossref_primary_10_1007_BF01407839 crossref_primary_10_1108_ACI_10_2021_0288 crossref_primary_10_35741_issn_0258_2724_59_2_32 crossref_primary_10_1007_s11227_016_1641_y crossref_primary_10_1007_BF01952784 crossref_primary_10_1016_0743_7315_91_90040_G crossref_primary_10_1038_s41598_023_33583_4 crossref_primary_10_1017_S1471068423000303 crossref_primary_10_1145_1498698_1564500 crossref_primary_10_4236_jcc_2024_121009 crossref_primary_10_3390_app8112293 crossref_primary_10_1002_cpe_3611 |
| Cites_doi | 10.1145/7531.7532 10.1080/00207168208803331 10.1109/SFCS.1986.41 10.1007/BF01934992 10.1016/0167-8191(88)90075-0 10.1109/TC.1982.1675993 10.1145/7902.7905 10.1145/359619.359631 10.1109/TC.1987.1676921 10.1145/2514.2516 10.1137/0214030 10.1080/00207168208803323 10.1137/0214051 10.1109/TSE.1979.234150 10.1109/TC.1983.1676201 10.1109/TC.1985.6312198 10.1007/3-540-63165-8_200 10.1109/MC.1982.1653824 10.1145/69624.357206 10.1145/7902.7903 |
| ContentType | Journal Article |
| Copyright | 1990 INIST-CNRS |
| Copyright_xml | – notice: 1990 INIST-CNRS |
| DBID | AAYXX CITATION IQODW 7SC 8FD JQ2 L7M L~C L~D |
| DOI | 10.1109/12.46289 |
| DatabaseName | CrossRef Pascal-Francis Computer and Information Systems Abstracts Technology Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional |
| DatabaseTitle | CrossRef Computer and Information Systems Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Advanced Technologies Database with Aerospace ProQuest Computer Science Collection Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Computer and Information Systems Abstracts |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering Computer Science Applied Sciences |
| EndPage | 138 |
| ExternalDocumentID | 6676116 10_1109_12_46289 46289 |
| GroupedDBID | --Z -DZ -~X .55 .DC 0R~ 29I 3EH 3O- 4.4 5GY 5VS 6IK 85S 97E AAJGR AARMG AASAJ AAWTH ABAZT ABFSI ABQJQ ABVLG ACGFO ACIWK ACNCT AENEX AETEA AETIX AGQYO AGSQL AHBIQ AI. AIBXA AKJIK AKQYR ALLEH ALMA_UNASSIGNED_HOLDINGS ASUFR ATWAV BEFXN BFFAM BGNUA BKEBE BPEOZ CS3 DU5 E.L EBS EJD HZ~ H~9 IAAWW IBMZZ ICLAB IEDLZ IFIPE IFJZH IPLJI JAVBF LAI M43 MS~ MVM O9- OCL P2P PQQKQ RIA RIE RNI RNS RXW RZB TAE TN5 TWZ UHB UKR UPT VH1 X7M XJT XOL XZL YXB YYQ YZZ ZCG AAYXX CITATION IQODW RIG 7SC 8FD JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c303t-925d639328f6a8390780c95b02186cbdd5e0b053baf67fd09ad0db531b0be203 |
| IEDL.DBID | RIE |
| ISSN | 0018-9340 |
| IngestDate | Sat Sep 27 20:30:37 EDT 2025 Mon Jul 21 09:16:25 EDT 2025 Wed Oct 01 03:21:11 EDT 2025 Thu Apr 24 22:58:07 EDT 2025 Wed Aug 27 02:49:04 EDT 2025 |
| IsPeerReviewed | true |
| IsScholarly | true |
| Issue | 1 |
| Keywords | Multiprocessor Parallel algorithm Integrated planning Sort routine Computer system Shared memory Adaptive method Sorting |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/IEEE.html CC BY 4.0 |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c303t-925d639328f6a8390780c95b02186cbdd5e0b053baf67fd09ad0db531b0be203 |
| Notes | ObjectType-Article-2 SourceType-Scholarly Journals-1 ObjectType-Feature-1 content type line 23 |
| PQID | 28543975 |
| PQPubID | 23500 |
| PageCount | 6 |
| ParticipantIDs | crossref_citationtrail_10_1109_12_46289 crossref_primary_10_1109_12_46289 proquest_miscellaneous_28543975 pascalfrancis_primary_6676116 ieee_primary_46289 |
| ProviderPackageCode | CITATION AAYXX |
| PublicationCentury | 1900 |
| PublicationDate | 1990-Jan. 1990-01-00 1990 19900101 |
| PublicationDateYYYYMMDD | 1990-01-01 |
| PublicationDate_xml | – month: 01 year: 1990 text: 1990-Jan. |
| PublicationDecade | 1990 |
| PublicationPlace | New York, NY |
| PublicationPlace_xml | – name: New York, NY |
| PublicationTitle | IEEE transactions on computers |
| PublicationTitleAbbrev | TC |
| PublicationYear | 1990 |
| Publisher | IEEE Institute of Electrical and Electronics Engineers |
| Publisher_xml | – name: IEEE – name: Institute of Electrical and Electronics Engineers |
| References | stone (ref25) 0 ref15 bitton (ref2) 1984; 16 ref11 ref10 ref17 ref19 ref18 kruskal (ref12) 1982 lee (ref13) 0 akl (ref1) 1985 ref24 pfister (ref14) 1985 ref23 ref26 ref20 ref22 ref21 ref8 ref7 ref9 ref4 ref3 ref6 ref5 pfister (ref16) 0 |
| References_xml | – year: 0 ident: ref25 publication-title: High-Performance Computer Architecture – ident: ref19 doi: 10.1145/7531.7532 – ident: ref6 doi: 10.1080/00207168208803331 – ident: ref3 doi: 10.1109/SFCS.1986.41 – ident: ref7 doi: 10.1007/BF01934992 – ident: ref17 doi: 10.1016/0167-8191(88)90075-0 – ident: ref4 doi: 10.1109/TC.1982.1675993 – ident: ref20 doi: 10.1145/7902.7905 – start-page: 219 year: 1982 ident: ref12 article-title: Algorithms for replace-add based paracomputers publication-title: Proc 1982 Int Conf Parallel Processing – ident: ref23 doi: 10.1145/359619.359631 – ident: ref26 doi: 10.1109/TC.1987.1676921 – volume: 16 start-page: 287 year: 1984 ident: ref2 article-title: A taxonomy of parallel sorting publication-title: Comput Surveys doi: 10.1145/2514.2516 – ident: ref18 doi: 10.1137/0214030 – ident: ref5 doi: 10.1080/00207168208803323 – ident: ref24 doi: 10.1137/0214051 – ident: ref21 doi: 10.1109/TSE.1979.234150 – year: 1985 ident: ref1 publication-title: Parallel Sorting Algorithms – ident: ref8 doi: 10.1109/TC.1983.1676201 – ident: ref15 doi: 10.1109/TC.1985.6312198 – ident: ref22 doi: 10.1007/3-540-63165-8_200 – year: 0 ident: ref16 article-title: A straightforward parallel equi-join publication-title: IBM Tech Disclos Bull – ident: ref10 doi: 10.1109/MC.1982.1653824 – ident: ref9 doi: 10.1145/69624.357206 – ident: ref11 doi: 10.1145/7902.7903 – start-page: 35 year: 0 ident: ref13 article-title: The effectiveness of combining in shared memory parallel computers in the presence of "hot spots publication-title: Proc 1986 Int Conf Parallel Processing – start-page: 764 year: 1985 ident: ref14 article-title: The IBM Research parallel processor prototype (RP3): Introduction and architecture publication-title: Proc 1985 Int Conf Parallel Processing |
| SSID | ssj0006209 |
| Score | 1.4531826 |
| Snippet | A parallelization of the Quicksort algorithm that is suitable for execution on a shared memory multiprocessor with an efficient implementation of the... |
| SourceID | proquest pascalfrancis crossref ieee |
| SourceType | Aggregation Database Index Database Enrichment Source Publisher |
| StartPage | 133 |
| SubjectTerms | Adaptive scheduling Applied sciences Computer science; control theory; systems Dynamic scheduling Exact sciences and technology Heuristic algorithms Load management Parallel algorithms Partitioning algorithms Phase change random access memory Processor scheduling Scheduling algorithm Software Sorting Utility programs |
| Title | Parallel Quicksort using fetch-and-add |
| URI | https://ieeexplore.ieee.org/document/46289 https://www.proquest.com/docview/28543975 |
| Volume | 39 |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVIEE databaseName: IEEE Electronic Library (IEL) issn: 0018-9340 databaseCode: RIE dateStart: 19680101 customDbUrl: isFulltext: true dateEnd: 99991231 titleUrlDefault: https://ieeexplore.ieee.org/ omitProxy: false ssIdentifier: ssj0006209 providerName: IEEE |
| link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3NS8MwFA-6kx6cm4pTpxVET-mSNk2bo4hjCIrChN1Kviri6GRrL_71JukHTnfwVpqklPfy8l6S934_AK5kqGWGJYdMxiEkcYIgI5hBgSlN4pBjzu1G8fGJTl7Jwyya1TA5rhZGa-2Sz7RvH91dvlrI0h6VjWwdJdsG23FCq0qtds2lTTIHNuYbElTDzGLERjjw3bg1x-OYVGweJF8ZUWQVh8Wf5dj5mHG3IitaOWhCm1ry4ZeF8OXXL-DG__3-PtirQ03vtpobPbCl8z7oNjQOXm3VfbD7A5PwAFw_86XlV5l7L-W7rb9fFp5Njn_zMqthyHMFzWp1CKbj--ndBNZkClAaL1VAFkTKRCNhkGSUm6jIhAZIskg4UioplIo0EsYiBc9onCnEuEJKGAsVSOgAhUegky9yfQw8qllCFQoJpzHRkjISSoKIREGWBYEgA3DTCDqVNdC45buYp27DgViKg9TJYgAu256fFbjGhj49K8m2vX45XNNc22ozdjGmA3DRaDI15mLvQHiuF-UqtQWjJgSLTjZ99hTsYOOdqxOWM9AplqUempijEOduun0DswjTfA |
| linkProvider | IEEE |
| linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV07T8MwED5BGYCBRwFRXg0SgsnFThynHhGiKlAqkIrEFvkVhEApapOFX4_tpBWvgS2K7Ui58_nO9t33AZyoyKiMKIG4SiJEky5GnBKOJGGsm0SCCOE2indD1n-kN0_xUw2T42thjDE--cx03KO_y9djVbqjsnNXR8kXYSmmlMZVrdZ81WWzdA5iDTiiuAaaJZifk7DjR35zPZ5LxWVCiqkVRlaxWPxakL2X6a1XdEVTD07okkteO2UhO-rjB3Tj_35gA9bqYDO4qGbHJiyYvAnrMyKHoLbrJqx-QSXcgtN7MXEMK2_BQ_niKvAnReDS45-DzOkYiVwju15tw6h3Nbrso5pOASnrpwrEw1jbeCQKuxkTNi6ywQFWPJaelkpJrWODpbVJKTKWZBpzobGW1kYllibE0Q408nFudiFghneZxhEVLKFGMU4jRTFVOMyyMJS0BWczQaeqhhp3jBdvqd9yYJ6SMPWyaMHxvOd7Ba_xR59NJ8l5e_3y8Jvm5q0uZ5cQ1oL2TJOpNRh3CyJyMy6nqSsZtUFYvPfXZ9uw3B_dDdLB9fB2H1aI9dXVecsBNIpJaQ5tBFLIIz_1PgHui9bJ |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Parallel+quicksort+using+fetch-and-add&rft.jtitle=IEEE+transactions+on+computers&rft.au=HEIDELBERGER%2C+P&rft.au=NORTON%2C+A&rft.au=ROBINSON%2C+J.+T&rft.date=1990&rft.pub=Institute+of+Electrical+and+Electronics+Engineers&rft.issn=0018-9340&rft.volume=39&rft.issue=1&rft.spage=133&rft.epage=138&rft_id=info:doi/10.1109%2F12.46289&rft.externalDBID=n%2Fa&rft.externalDocID=6676116 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=0018-9340&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=0018-9340&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=0018-9340&client=summon |