arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1708.09495cs.DC
收藏

多核上的并行排序:一些(实验和)观察

Integer sorting on multicores: some (experiments and) observations

Alexandros V. Gerbessiotis

摘要:

对于在多核/GPU上对整数进行排序,已经有许多提议,包括基数排序及其变体或利用特定多核架构的专用硬件特征的其他方法。还使用了基于比较的算法。基于网络的算法也已经与主要示例Batcher的双调排序算法一起使用。虽然后一种方法在理论上是“低效的”,但如果要排序的键很少,它可以导致更好的运行时间,因为它具有低开销并且易于实现。在这项工作中,我们进行了实验研究,整数排序的多核处理器上使用不仅多线程,但也多处理并行编程方法。我们的实现在Open MPI,MulticoreBSP和BSPlib下工作。我们已经实现了串行和并行基数排序的各种基数,也有一些以前很少探索或未探索的变种的双调排序和奇偶换位排序。我们提供我们的观察性能评估使用MBSP模型的算法实现在多个平台和架构和多个编程库。如果我们可以得出任何结论的话,那就是通过考虑架构相关的特征(如多个存储层次结构的结构和特征)来对其性能进行建模是困难的,并且通常是不成功或不可靠的。然而,我们仍然可以得出一些非常简单的结论,使用传统的架构无关的并行建模。

英文摘要:

There have been many proposals for sorting integers on multicores/GPUs that include radix-sort and its variants or other approaches that exploit specialized hardware features of a particular multicore architecture. Comparison-based algorithms have also been used. Network-based algorithms have also been used with primary example Batcher's bitonic sorting algorithm. Although such a latter approach is theoretically "inefficient", if there are few keys to sort, it can lead to better running times as it has low overhead and is simple to implement. In this work we perform an experimental study of integer sorting on multicore processors using not only multithreading but also multiprocessing parallel programming approaches. Our implementations work under Open MPI, MulticoreBSP, and BSPlib. We have implemented serial and parallel radix-sort for various radixes and also some previously little explored or unexplored variants of bitonic-sort and odd-even transposition sort. We offer our observations on a performance evaluation using the MBSP model of such algorithm implementations on multiple platforms and architectures and multiple programming libraries. If we can conclude anything is that modeling their performance by taking into consideration architecture dependent features such as the structure and characteristics of multiple memory hierarchies is difficult and more often than not unsuccessful or unreliable. However we can still draw some very simple conclusions using traditional architecture independent parallel modeling.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑