English
Related papers

Related papers: Engineering In-place (Shared-memory) Sorting Algor…

200 papers

Many parallel algorithms which solve basic problems in computer science use auxiliary space linear in the input to facilitate conflict-free computation. There has been significant work on improving these parallel algorithms to be in-place,…

Data Structures and Algorithms · Computer Science 2025-03-11 Chase Hutton , Adam Melrod

Sorting is a fundamental operation in various applications and a traditional research topic in computer science. Improving the performance of sorting operations can have a significant impact on many application domains. For high-performance…

Hardware Architecture · Computer Science 2023-10-13 Amir Hossein Jalilvand , Faeze S. Banitaba , Seyedeh Newsha Estiri , Sercan Aygun , M. Hassan Najafi

To minimize data movement, state-of-the-art parallel sorting algorithms use techniques based on sampling and histogramming to partition keys prior to redistribution. Sampling enables partitioning to be done using a representative subset of…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-30 Vipul Harsh , Laxmikant Kale , Edgar Solomonik

Sorting is an essential operation in computer science with direct consequences on the performance of large scale data systems, real-time systems, and embedded computation. However, no sorting algorithm is optimal under all distributions of…

Data Structures and Algorithms · Computer Science 2025-06-27 Shrinivass Arunachalam Balasubramanian

String sorting is an important part of tasks such as building index data structures. Unfortunately, current string sorting algorithms do not scale to massively parallel distributed-memory machines since they either have latency (at least)…

Data Structures and Algorithms · Computer Science 2024-04-26 Florian Kurpicz , Pascal Mehnert , Peter Sanders , Matthias Schimek

We introduce and analyse a new, extremely simple, randomised sorting algorithm: - choose a pair of indices $\{i, j\}$ according to some distribution $q$; - sort the elements in positions $i$ and $j$ of the array in ascending order. Choosing…

Data Structures and Algorithms · Computer Science 2025-02-10 Sam Olesker-Taylor

While modern general-purpose computing systems have ample amounts of memory, it is still the case that embedded computer systems, such as in a refrigerator, are memory limited; hence, such embedded systems motivate the need for strictly…

Data Structures and Algorithms · Computer Science 2026-03-09 Ofek Gila , Michael T. Goodrich , Vinesh Sridhar

Since the work of Kaligosi and Sanders (2006), it is well-known that Quicksort -- which is commonly considered as one of the fastest in-place sorting algorithms -- suffers in an essential way from branch mispredictions. We present a novel…

Data Structures and Algorithms · Computer Science 2016-06-27 Stefan Edelkamp , Armin Weiß

In-place associative integer sorting technique was developed, improved and specialized for distinct integers. The technique is suitable for integer sorting. Hence, given a list S of n integers S[0...n-1], the technique sorts the integers in…

Data Structures and Algorithms · Computer Science 2012-10-08 A. Emre Cetin

Sorting is at the core of many database operations, such as index creation, sort-merge joins, and user-requested output sorting. As GPUs are emerging as a promising platform to accelerate various operations, sorting on GPUs becomes a viable…

Databases · Computer Science 2017-05-22 Elias Stehle , Hans-Arno Jacobsen

Previous parallel sorting algorithms do not scale to the largest available machines, since they either have prohibitive communication volume or prohibitive critical path length. We describe algorithms that are a viable compromise and…

Data Structures and Algorithms · Computer Science 2015-02-26 Michael Axtmann , Timo Bingmann , Peter Sanders , Christian Schulz

This paper is motivated by the vision of more efficient packet classification mechanisms that self-optimize in a demand-aware manner. At the heart of our approach lies a self-adjusting linear list data structure, where unlike in the classic…

Data Structures and Algorithms · Computer Science 2021-10-01 Maciej Pacut , Juan Vanerio , Vamsi Addanki , Arash Pourdamghani , Gabor Retvari , Stefan Schmid

In scientific computing, it is common that a mathematical expression can be computed by many different algorithms (sometimes over hundreds), each identifying a specific sequence of library calls. Although mathematically equivalent, those…

Performance · Computer Science 2021-09-15 Aravind Sankaran , Paolo Bientinesi

In this paper, we present the design of a sample sort algorithm for manycore GPUs. Despite being one of the most efficient comparison-based sorting algorithms for distributed memory architectures its performance on GPUs was previously…

Data Structures and Algorithms · Computer Science 2009-10-01 Nikolaj Leischner , Vitaly Osipov , Peter Sanders

In this paper we are proposing a new sorting algorithm, List Sort algorithm, is based on the dynamic memory allocation. In this research study we have also shown the comparison of various efficient sorting techniques with List sort. Due the…

Data Structures and Algorithms · Computer Science 2013-10-30 Adarsh Kumar Verma , Prashant Kumar

In our study we implemented and compared seven sequential and parallel sorting algorithms: bitonic sort, multistep bitonic sort, adaptive bitonic sort, merge sort, quicksort, radix sort and sample sort. Sequential algorithms were…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-11-13 Darko Bozidar , Tomaz Dobravec

The two most prominent solutions for the sorting problem are Quicksort and Mergesort. While Quicksort is very fast on average, Mergesort additionally gives worst-case guarantees, but needs extra space for a linear number of elements.…

Data Structures and Algorithms · Computer Science 2018-11-05 Stefan Edelkamp , Armin Weiß

This work presents a comparison for the performance of sequential sorting algorithms under four different modes of execution, the sequential processing mode, a conventional multi-threading implementation, multi-threading with OpenMP Library…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-07 Mohammad Fasha

In this paper we introduce RADULS2, the fastest parallel sorter based on radix algorithm. It is optimized to process huge amounts of data making use of modern multicore CPUs. The main novelties include: extremely optimized algorithm for…

Data Structures and Algorithms · Computer Science 2017-03-03 Marek Kokot , Sebastian Deorowicz , Maciej Dlugosz

In this paper, we present several improvements in the parallelization of the in-place merge algorithm, which merges two contiguous sorted arrays into one with an O(T) space complexity (where T is the number of threads). The approach divides…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-05-27 Berenger Bramas , Quentin Bramas