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 time bounds. A software prototype on an 8-thread Intel x86-64 achieves 39.77x speedup over std::sort and peak throughput of 115.9 M keys/s. Against Classic Counting Sort, DialSort wins 46 of 48 configurations. Against IPS4o, DialSort outperforms it in 24 of 48 sequential and 29 of 48 parallel configurations. Against ska_sort, it wins 46 of 48 configurations. All 208 benchmark configurations passed correctness verification. DialSort is not a universal replacement for comparison-based sorting, but a domain-specialized architecture for bounded-universe workloads where sorting reduces to a geometric read over memory. Benchmark source and five open interactive simulators are released alongside this paper.
翻译:针对有界宇宙整数键的排序传统上依赖于计数排序和基数排序,这两种方法均需执行强制性的前缀和遍历、辅助散射缓冲区或多轮置换操作。本文提出DialSort——一种基于自索引原理的非比较排序体系结构:每个整数键同时编码其数值及其在有序地址空间[0,U-1]中的规范位置。DialSort将直方图H视为规范有序表示而非中间结构,从而完全消除了前缀和遍历环节。为支持无序列化的并行写入,我们引入冲突解决网络(CRN),这是一种流水线式加性归约树,通过纯相等性检查(无需幅度比较)解决并发写入冲突。形式化证明建立了O(n+U)的串行时间界和O(n/k + log k + U)的并行时间界。基于8线程Intel x86-64架构的软件原型实现了相较std::sort的39.77倍加速比,峰值吞吐量达115.9M键/秒。与经典计数排序相比,DialSort在48种配置中胜出46种;与IPS4o相比,在48种串行配置中胜出24种、48种并行配置中胜出29种;与ska_sort相比,在48种配置中胜出46种。全部208种基准测试配置均通过正确性验证。DialSort并非比较排序的通用替代方案,而是针对有界宇宙工作负载的领域专用体系结构——在此类场景中,排序可简化为对内存的几何读取。本文配套发布基准测试源代码及五个开放交互模拟器。