论文标题
在Python中合并排序并行的方法
Approaches to the Parallelization of Merge Sort in Python
论文作者
论文摘要
过去,分裂和纠纷并行的理论经过了充分的研究,为探索python中合并平行化的不同方法提供了坚实的基础。 Python的简单性和广泛的图书馆选择使其成为最受欢迎的科学编程语言,因此它是一种适合实施和分析这些算法的合适语言。 在本文中,我们使用Python软件包多处理和MPI4PY来实现几种不同的并行合并排序算法。实验是在学术超级计算机上进行的,该超级计算机使用CloudMesh进行基准测试。我们发现,与内置的python sorting()和连续合并排序相比,混合多处理合并的合并分类比其他几种算法优于其他几种算法,相比之下,达到了1.5倍的速度。我们的结果提供了对实现Python中并行合并的不同方法的洞察力,并有助于理解共享和分布式内存系统对Python中的一般分裂和争议并行化。
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.