DialSort: Non-Comparative Integer Sorting via the Self-Indexing Principle: Architecture, Implementation, and Substrate-Aware Analysis
Alexander Narvaez

TL;DR
DialSort is a novel non-comparative integer sorting architecture that eliminates prefix-sum passes and efficiently supports parallel ingestion, outperforming traditional sorting algorithms in bounded-universe key scenarios.
Contribution
The paper introduces DialSort, a new sorting architecture based on the self-indexing principle, with a conflict resolution network enabling parallel processing and formal proofs of its efficiency.
Findings
Achieves 39.77x speedup over std::sort on an 8-thread CPU
Outperforms classic counting sort in 46 of 48 configurations
Demonstrates competitive performance against IPS4o and ska_sort in various benchmarks
Abstract
Sorting over bounded-universe integer keys has traditionally relied on counting sort and radix sort, both of which incur mandatory prefix-sum passes, auxiliary scatter buffers, or multiple permutation passes. This paper introduces DialSort, a non-comparative sorting architecture based on the self-indexing principle: each integer key simultaneously encodes its value and its canonical position in the ordered address space [0,U-1]. DialSort eliminates the prefix-sum pass entirely by treating the histogram H as the canonical ordered representation, not as an intermediate structure. To support parallel ingestion without serialization, we introduce the Conflict Resolution Network (CRN), a pipelined additive reduction tree that resolves concurrent writes using equality checks exclusively, with no magnitude comparisons. Formal proofs establish O(n+U) sequential and O(n/k + log k + U) parallel…
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.
