Sorting it out in Hardware: A State-of-the-Art Survey
Amir Hossein Jalilvand, Faeze S. Banitaba, Seyedeh Newsha Estiri,, Sercan Aygun, M. Hassan Najafi

TL;DR
This survey reviews recent hardware-based sorting methods, including ASICs, FPGAs, and in-memory solutions, highlighting their challenges, innovations, and future directions in optimizing sorting performance.
Contribution
It provides a comprehensive overview of the latest hardware sorting techniques, categorizing comparison-based and comparison-free approaches, and discusses future design considerations.
Findings
Comparison-based hardware sorting often uses CAS units.
Recent comparison-free solutions reduce complexity.
In-memory sorting addresses memory movement bottlenecks.
Abstract
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 sorting, much attention has been paid to hardware-based solutions. These are often realized with application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs). Recently, in-memory sorting solutions have also been proposed to address the movement cost issue between memory and processing units, also known as Von Neumann bottleneck. Due to the complexity of the sorting algorithms, achieving an efficient hardware implementation for sorting data is challenging. A large body of prior solutions is built on compare-and-swap (CAS) units. These are categorized as comparison-based sorting. Some recent solutions offer comparison-free…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Data Storage Technologies · Parallel Computing and Optimization Techniques · Distributed systems and fault tolerance
