Approaches to the Parallelization of Merge Sort in Python

11/26/2022
by   Alexandra Yang, et al.
0

The theory of divide-and-conquer parallelization has been well-studied in the past, providing a solid basis upon which to explore different approaches to the parallelization of merge sort in Python. Python's simplicity and extensive selection of libraries make it the most popular scientific programming language, so it is a fitting language in which to implement and analyze these algorithms. In this paper, we use Python packages multiprocessing and mpi4py to implement several different parallel merge sort algorithms. Experiments are conducted on an academic supercomputer, upon which benchmarks are performed using Cloudmesh. We find that hybrid multiprocessing merge sort outperforms several other algorithms, achieving a 1.5x speedup compared to the built-in Python sorted() and a 34x speedup compared to sequential merge sort. Our results provide insight into different approaches to implementing parallel merge sort in Python and contribute to the understanding of general divide-and-conquer parallelization in Python on both shared and distributed memory systems.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/02/2020

High Performance Parallel Sort for Shared and Distributed Memory MIMD

We present four high performance hybrid sorting methods developed for va...
research
05/26/2020

On the improvement of the in-place merge algorithm parallelization

In this paper, we present several improvements in the parallelization of...
research
10/26/2018

AutoParallel: A Python module for automatic parallelization and distributed execution of affine loop nests

The last improvements in programming languages, programming models, and ...
research
09/15/2023

Neural Network Exemplar Parallelization with Go

This paper presents a case for exemplar parallelism of neural networks u...
research
01/08/2020

Comparing Python, Go, and C++ on the N-Queens Problem

Python currently is the dominant language in the field of Machine Learni...
research
03/28/2022

Does Coding in Pythonic Zen Peak Performance? Preliminary Experiments of Nine Pythonic Idioms at Scale

In the field of data science, and for academics in general, the Python p...
research
06/20/2018

Parallelization of XPath Queries using Modern XQuery Processors

A practical and promising approach to parallelizing XPath queries was pr...

Please sign up or login with your details

Forgot password? Click here to reset