Engineering Faster Sorters for Small Sets of Items

08/21/2019
by   Jasper Marianczuk, et al.
0

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.

READ FULL TEXT

page 14

page 32

page 33

page 34

page 35

page 36

page 39

page 42

research
03/03/2022

A Formalisation of Algorithms for Sorting Network

This notes explains how standard algorithms that construct sorting netwo...
research
05/17/2023

Cache-Oblivious Parallel Convex Hull in the Binary Forking Model

We present two cache-oblivious sorting-based convex hull algorithms in t...
research
05/09/2021

Differentiable Sorting Networks for Scalable Sorting and Ranking Supervision

Sorting and ranking supervision is a method for training neural networks...
research
05/12/2022

Vectorized and performance-portable Quicksort

Recent works showed that implementations of Quicksort using vector CPU i...
research
04/24/2017

Fast Sorting Algorithms using AVX-512 on Intel Knights Landing

This paper describes fast sorting techniques using the recent AVX-512 in...
research
05/17/2021

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

The way developers implement their algorithms and how these implementati...
research
09/28/2020

Engineering In-place (Shared-memory) Sorting Algorithms

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

Please sign up or login with your details

Forgot password? Click here to reset