English
Related papers

Related papers: Multiway Powersort

200 papers

We study the impact of merging routines in merge-based sorting algorithms. More precisely, we focus on the galloping routine that TimSort uses to merge monotonic sub-arrays, hereafter called runs, and on the impact on the number of element…

Data Structures and Algorithms · Computer Science 2023-12-04 Elahe Ghasemi , Vincent Jugé , Ghazal Khalighinejad , Helia Yazdanyar

TimSort is an intriguing sorting algorithm designed in 2002 for Python, whose worst-case complexity was announced, but not proved until our recent preprint. In fact, there are two slightly different versions of TimSort that are currently…

Data Structures and Algorithms · Computer Science 2019-07-09 Nicolas Auger , Vincent Jugé , Cyril Nicaud , Carine Pivoteau

We present a deterministic oblivious LIFO (Stack), FIFO, double-ended and double-ended priority queue as well as an oblivious mergesort and quicksort algorithm. Our techniques and ideas include concatenating queues end-to-end, size…

Data Structures and Algorithms · Computer Science 2016-12-13 Johannes Schneider

I discuss the new dual-pivot Quicksort that is nowadays used to sort arrays of primitive types in Java. I sketch theoretical analyses of this algorithm that offer a possible, and in my opinion plausible, explanation why (a) dual-pivot…

Data Structures and Algorithms · Computer Science 2016-09-29 Sebastian Wild

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

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ß

Two emerging hardware trends will dominate the database system technology in the near future: increasing main memory capacities of several TB per server and massively parallel multi-core processing. Many algorithmic and control techniques…

Databases · Computer Science 2012-07-03 Martina-Cezara Albutiu , Alfons Kemper , Thomas Neumann

Sorting is one of the most basic algorithms, and developing highly parallel sorting programs is becoming increasingly important in high-performance computing because the number of CPU cores per node in modern supercomputers tends to…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-09-08 Tomoyuki Tokuue , Tomoaki Ishiyama

The emergence of high-bandwidth memory (HBM) brings new opportunities to boost the performance of sorting acceleration on FPGAs, which was conventionally bounded by the available off-chip memory bandwidth. However, it is nontrivial for…

Hardware Architecture · Computer Science 2022-05-18 Weikang Qiao , Licheng Guo , Zhenman Fang , Mau-Chung Frank Chang , Jason Cong

Sorting is the one of the fundamental tasks of modern data management systems. With Disk I/O being the most-accused performance bottleneck and more computation-intensive workloads, it has come to our attention that in heterogeneous…

Databases · Computer Science 2019-09-19 Yuanjing Shi , Zhaoxing Li

We present a sorting algorithm that works in-place, executes in parallel, is cache-efficient, avoids branch-mispredictions, and performs work O(n log n) for arbitrary inputs with high probability. The main algorithmic contributions are new…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-07-03 Michael Axtmann , Sascha Witt , Daniel Ferizovic , Peter Sanders

This article introduces an algorithm, MergeShuffle, which is an extremely efficient algorithm to generate random permutations (or to randomly permute an existing array). It is easy to implement, runs in $n\log_2 n + O(1)$ time, is in-place,…

Data Structures and Algorithms · Computer Science 2015-08-14 Axel Bacher , Olivier Bodini , Alexandros Hollender , Jérémie Lumbroso

Improving data systems' performance for join operations has long been an issue of great importance. More recently, a lot of focus has been devoted to multi-way join performance and especially on reducing the negative impact of producing…

Databases · Computer Science 2023-09-01 Qingzhi Ma

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

In this paper we study the power-performance relationship of power-efficient computing from a queuing theoretic perspective. We investigate the interplay of several system operations including processing speed, system on/off decisions, and…

Performance · Computer Science 2013-03-08 Yanpei Liu , Stark C. Draper , Nam Sung Kim

We present a variant of the FEAST matrix eigensolver for solving restricted real and symmetric eigenvalue problems. The method is derived from a combination of a variant of the FEAST method, which employs two contour integrals per…

Numerical Analysis · Mathematics 2022-03-08 Man-Chung Yeung , Long Lee

As computer clusters are found to be highly effective for handling massive datasets, the design of efficient parallel algorithms for such a computing model is of great interest. We consider ({\alpha}, k)-minimal algorithms for such a…

Databases · Computer Science 2014-03-24 Silu Huang , Ada Wai-Chee Fu

Modern computer designs support composite prefetching, where multiple individual prefetcher components are used to target different memory access patterns. However, multiple prefetchers competing for resources can drastically hurt…

Hardware Architecture · Computer Science 2023-07-18 Erika S. Alcorta , Mahesh Madhav , Scott Tetrick , Neeraja J. Yadwadkar , Andreas Gerstlauer

This paper shows an application of the theory of sorting networks to facilitate the synthesis of optimized general purpose sorting libraries. Standard sorting libraries are often based on combinations of the classic Quicksort algorithm with…

Data Structures and Algorithms · Computer Science 2017-08-09 Michael Codish , Luís Cruz-Filipe , Markus Nebel , Peter Schneider-Kamp

Emerging memory technologies have a significant gap between the cost, both in time and in energy, of writing to memory versus reading from memory. In this paper we present models and algorithms that account for this difference, with a focus…

Data Structures and Algorithms · Computer Science 2016-03-15 Guy E. Blelloch , Jeremy T. Fineman , Phillip B. Gibbons , Yan Gu , Julian Shun