English
Related papers

Related papers: Faster Radix Sort via Virtual Memory and Write-Com…

200 papers

Sorting is a foundational primitive in modern data processing, influencing the execution speed of high-performance data pipelines. However, the algorithmic landscape is currently bifurcated by a pervasive "Stability Tax": practitioners must…

Data Structures and Algorithms · Computer Science 2026-05-15 Hriday Jain , Ketan Sabale , Aditya Shastri , Hiren Kumar Thakkar , Ashutosh Londhe

There has been surprisingly little work on algorithms for sorting strings on distributed-memory parallel machines. We develop efficient algorithms for this problem based on the multi-way merging principle. These algorithms inspect only…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-01-24 Timo Bingmann , Peter Sanders , Matthias Schimek

Suffix sort plays a critical role in various computational algorithms including genomics as well as in frequently used day to day software applications. The sorting algorithm becomes tricky when we have lot of repeated characters in the…

Data Structures and Algorithms · Computer Science 2022-10-05 Kunal Chowdhury

The paper introduces RADULS, a new parallel sorter based on radix sort algorithm, intended to organize ultra-large data sets efficiently. For example 4G 16-byte records can be sorted with 16 threads in less than 15 seconds on Intel…

Data Structures and Algorithms · Computer Science 2016-12-09 Marek Kokot , Sebastian Deorowicz , Agnieszka Debudaj-Grabysz

Multisplit is a broadly useful parallel primitive that permutes its input data into contiguous buckets or bins, where the function that categorizes an element into a bucket is provided by the programmer. Due to the lack of an efficient…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-09-08 Saman Ashkiani , Andrew Davidson , Ulrich Meyer , John D. Owens

The modern CPU's design, which is composed of hierarchical memory and SIMD/vectorization capability, governs the potential for algorithms to be transformed into efficient implementations. The release of the AVX-512 changed things radically,…

Mathematical Software · Computer Science 2018-03-13 Berenger Bramas

Top-k selection, which identifies the largest or smallest k elements from a data set, is a fundamental operation in data-intensive domains such as databases and deep learning, so its scalability and efficiency are critical for these…

Data Structures and Algorithms · Computer Science 2025-01-28 Yifei Li , Bole Zhou , Jiejing Zhang , Xuechao Wei , Yinghan Li , Yingda Chen

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

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

Sparse matrix ordering is a vital optimization technique often employed for solving large-scale sparse matrices. Its goal is to minimize the matrix bandwidth by reorganizing its rows and columns, thus enhancing efficiency. Conventional…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-11-14 Tao Tang , Youfu Jiang , Yingbo Cui , Jianbin Fang , Peng Zhang , Lin Peng , Chun Huang

Sorting is one of the classic problems of computer science. Whilst well understood on sequential machines, the diversity of architectures amongst parallel systems means that algorithms do not perform uniformly on all platforms. This…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Lex Weaver , Andrew Lynes

Sorting is one of the oldest computing problems and is still very important in the age of big data. Various algorithms and implementation techniques have been proposed. In this study, we focus on comparison based, internal sorting…

Data Structures and Algorithms · Computer Science 2016-09-16 Hantao Zhang , Baoluo Meng , Yiwen Liang

We present Onesweep, a least-significant digit (LSD) radix sorting algorithm for large GPU sorting problems residing in global memory. Our parallel algorithm employs a method of single-pass prefix sum that only requires ~2n global…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-07 Andy Adinets , Duane Merrill

We give a more space-efficient implementation of adaptive mergesort: Virtual-Memory Powersort. Using internal buffering techniques, we significantly reduce the memory consumption of the algorithm; specifically, for sorting $n$ objects the…

Data Structures and Algorithms · Computer Science 2026-05-27 Finn Moltmann , Tamio-Vesa Nakajima , Sebastian Wild

Sorting and scanning are two fundamental primitives for constructing highly parallel algorithms. A number of libraries now provide implementations of these primitives for GPUs, but there is relatively little information about the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-01-14 Bruce Merry

In this paper, we present FLiMS, a highly-efficient and simple parallel algorithm for merging two sorted lists residing in banked and/or wide memory. On FPGAs, its implementation uses fewer hardware resources than the state-of-the-art…

Hardware Architecture · Computer Science 2022-03-08 Philippos Papaphilippou , Wayne Luk , Chris Brooks

We discuss how string sorting algorithms can be parallelized on modern multi-core shared memory machines. As a synthesis of the best sequential string sorting algorithms and successful parallel sorting algorithms for atomic objects, we…

Data Structures and Algorithms · Computer Science 2013-05-07 Timo Bingmann , Peter Sanders

Sorting is a fundamental and well studied problem that has been studied extensively. Sorting plays an important role in the area of databases, as many queries can be served much faster if the relations are first sorted. One of the most…

Databases · Computer Science 2021-03-29 Yamit Barshatz-Schneor , Roy Friedman

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

Semisort is a fundamental algorithmic primitive widely used in the design and analysis of efficient parallel algorithms. It takes input as an array of records and a function extracting a \emph{key} per record, and reorders them so that…

Data Structures and Algorithms · Computer Science 2023-04-21 Xiaojun Dong , Yunshu Wu , Zhongqi Wang , Laxman Dhulipala , Yan Gu , Yihan Sun