Parallel Merge Sort with Load Balancing

Minsoo Jeon, Dong Seung Kim

Research output: Contribution to journalArticle

18 Citations (Scopus)

Abstract

Parallel merge sort is useful for sorting a large quantity of data progressively. The merge sort should be parallelized carefully since the conventional algorithm has poor performance due to the successive reduction of the number of participating processors by half, and down to one in the last merging stage. The proposed load-balanced merge sort utilizes all processors throughout the computation. It evenly distributes data to all processors in each stage. Thus every processor is forced to work in all phases. Significant performance enhancement has been achieved up to a speedup of (P-1)/log P where P is the number of processors. Experimental results demonstrate a speedup of 9. 6 (upper bound of 10.7) on 32-processor Cray T3E when sorting 4M 32-bit integers, and a speed up of 2.3 (upper bound of 2.8) on an 8-node PC cluster.

Original languageEnglish
Pages (from-to)21-33
Number of pages13
JournalInternational Journal of Parallel Programming
Volume31
Issue number1
DOIs
Publication statusPublished - 2003 Feb 1

Fingerprint

Load Balancing
Sorting
Sort
Resource allocation
Speedup
Merging
Upper bound
PC Cluster
Enhancement
Integer
Experimental Results
Vertex of a graph
Demonstrate

Keywords

  • Load balancing
  • Merge sort
  • Parallel algorithm
  • Splitter

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computational Theory and Mathematics

Cite this

Parallel Merge Sort with Load Balancing. / Jeon, Minsoo; Kim, Dong Seung.

In: International Journal of Parallel Programming, Vol. 31, No. 1, 01.02.2003, p. 21-33.

Research output: Contribution to journalArticle

@article{bb990bc7414542faa3161dbda5b6f4de,
title = "Parallel Merge Sort with Load Balancing",
abstract = "Parallel merge sort is useful for sorting a large quantity of data progressively. The merge sort should be parallelized carefully since the conventional algorithm has poor performance due to the successive reduction of the number of participating processors by half, and down to one in the last merging stage. The proposed load-balanced merge sort utilizes all processors throughout the computation. It evenly distributes data to all processors in each stage. Thus every processor is forced to work in all phases. Significant performance enhancement has been achieved up to a speedup of (P-1)/log P where P is the number of processors. Experimental results demonstrate a speedup of 9. 6 (upper bound of 10.7) on 32-processor Cray T3E when sorting 4M 32-bit integers, and a speed up of 2.3 (upper bound of 2.8) on an 8-node PC cluster.",
keywords = "Load balancing, Merge sort, Parallel algorithm, Splitter",
author = "Minsoo Jeon and Kim, {Dong Seung}",
year = "2003",
month = "2",
day = "1",
doi = "10.1023/A:1021734202931",
language = "English",
volume = "31",
pages = "21--33",
journal = "International Journal of Parallel Programming",
issn = "0885-7458",
publisher = "Springer New York",
number = "1",

}

TY - JOUR

T1 - Parallel Merge Sort with Load Balancing

AU - Jeon, Minsoo

AU - Kim, Dong Seung

PY - 2003/2/1

Y1 - 2003/2/1

N2 - Parallel merge sort is useful for sorting a large quantity of data progressively. The merge sort should be parallelized carefully since the conventional algorithm has poor performance due to the successive reduction of the number of participating processors by half, and down to one in the last merging stage. The proposed load-balanced merge sort utilizes all processors throughout the computation. It evenly distributes data to all processors in each stage. Thus every processor is forced to work in all phases. Significant performance enhancement has been achieved up to a speedup of (P-1)/log P where P is the number of processors. Experimental results demonstrate a speedup of 9. 6 (upper bound of 10.7) on 32-processor Cray T3E when sorting 4M 32-bit integers, and a speed up of 2.3 (upper bound of 2.8) on an 8-node PC cluster.

AB - Parallel merge sort is useful for sorting a large quantity of data progressively. The merge sort should be parallelized carefully since the conventional algorithm has poor performance due to the successive reduction of the number of participating processors by half, and down to one in the last merging stage. The proposed load-balanced merge sort utilizes all processors throughout the computation. It evenly distributes data to all processors in each stage. Thus every processor is forced to work in all phases. Significant performance enhancement has been achieved up to a speedup of (P-1)/log P where P is the number of processors. Experimental results demonstrate a speedup of 9. 6 (upper bound of 10.7) on 32-processor Cray T3E when sorting 4M 32-bit integers, and a speed up of 2.3 (upper bound of 2.8) on an 8-node PC cluster.

KW - Load balancing

KW - Merge sort

KW - Parallel algorithm

KW - Splitter

UR - http://www.scopus.com/inward/record.url?scp=0346502819&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0346502819&partnerID=8YFLogxK

U2 - 10.1023/A:1021734202931

DO - 10.1023/A:1021734202931

M3 - Article

AN - SCOPUS:0346502819

VL - 31

SP - 21

EP - 33

JO - International Journal of Parallel Programming

JF - International Journal of Parallel Programming

SN - 0885-7458

IS - 1

ER -