DeepAI AI Chat
Log In Sign Up

Engineering Faster Sorters for Small Sets of Items

by   Jasper Marianczuk, et al.

Sorting a set of items is a task that can be useful by itself or as a building block for more complex operations. The more sophisticated and fast sorting algorithms become asymptotically, the less efficient they are for small sets of items due to large constant factor. This thesis aims to determine if there is a faster way to sort base case sizes than using insertion sort. For that we looked at sorting networks and how to implement them efficiently. Because sorting networks need to be implemented explicitly for each input size, providing networks for larger sizes becomess less efficient. That is why we modified Super Scalar Sample Sort to break down larger sets into sizes that can in turn be sorted by sorting networks. We show that the task of sorting only small sets can be greatly improved by at least 25 compared to insertion sort, but that when integrating them into other sorting algorithms the speed-up is hindered by the limited L1 instruction cache size. On a machine with 64KiB of L1 instruction cache we achieved over 6 improvement when using sorting networks as a base case sorter instead of insertion sort.


page 14

page 32

page 33

page 34

page 35

page 36

page 39

page 42


A Formalisation of Algorithms for Sorting Network

This notes explains how standard algorithms that construct sorting netwo...

Differentiable Sorting Networks for Scalable Sorting and Ranking Supervision

Sorting and ranking supervision is a method for training neural networks...

Vectorized and performance-portable Quicksort

Recent works showed that implementations of Quicksort using vector CPU i...

Fast Sorting Algorithms using AVX-512 on Intel Knights Landing

This paper describes fast sorting techniques using the recent AVX-512 in...

System Performance with varying L1 Instruction and Data Cache Sizes: An Empirical Analysis

In this project, we investigate the fluctuations in performance caused b...

Engineering In-place (Shared-memory) Sorting Algorithms

We present sorting algorithms that represent the fastest known technique...

A fast vectorized sorting implementation based on the ARM scalable vector extension (SVE)

The way developers implement their algorithms and how these implementati...