학술논문

FLiMS: A Fast Lightweight 2-Way Merger for Sorting
Document Type
Periodical
Source
IEEE Transactions on Computers IEEE Trans. Comput. Computers, IEEE Transactions on. 71(12):3215-3226 Dec, 2022
Subject
Computing and Processing
Corporate acquisitions
Sorting
Field programmable gate arrays
Merging
Throughput
Hardware
Bandwidth
FPGA
high-throughput
parallel merger
merge tree
sorting algorithms
sorting networks
SIMD
databases
Language
ISSN
0018-9340
1557-9956
2326-3814
Abstract
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 alternatives, due to the reduced number of comparators and elimination of redundant logic found on prior attempts. In combination with the distributed nature of the selector stage, a higher performance is achieved for the same amount of parallelism or higher. This is useful in many applications such as in parallel merge trees to achieve high-throughput sorting, where the resource utilisation of the merger is critical for building large trees and internalising the workload for fast computation. Also presented are efficient variations of FLiMS for optimizing throughput for skewed datasets, achieving stable sorting or using fewer dequeue signals. Additionally, FLiMS is shown to perform well as conventional software on modern CPUs supporting single-instruction multiple-data (SIMD) instructions, surpassing the performance of some standard libraries for sorting.