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...

Full description

Saved in:
Bibliographic Details
Published inIEEE transactions on computers Vol. 39; no. 1; pp. 133 - 138
Main Authors Heidelberger, P., Norton, A., Robinson, J.T.
Format Journal Article
LanguageEnglish
Published New York, NY IEEE 01.01.1990
Institute of Electrical and Electronics Engineers
Subjects
Online AccessGet full text
ISSN0018-9340
DOI10.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