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并非比较排序的通用替代方案,而是针对有界宇宙工作负载的领域专用体系结构——在此类场景中,排序可简化为对内存的几何读取。本文配套发布基准测试源代码及五个开放交互模拟器。

0
下载
关闭预览

相关内容

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记录数量很大,整个序列的排序过程不可能在内存中完成,则称此类排序问题为外部排序。内部排序的过程是一个逐步扩大记录的有序序列长度的过程。
【干货书】引擎顺序: 算法技术机制,353页pdf
专知会员服务
43+阅读 · 2021年7月16日
自动结构变分推理,Automatic structured variational inference
专知会员服务
41+阅读 · 2020年2月10日
自动特征工程在推荐系统中的研究
DataFunTalk
10+阅读 · 2019年12月20日
数据分析师应该知道的16种回归方法:定序回归
数萃大数据
16+阅读 · 2018年9月9日
【干货】深入理解自编码器(附代码实现)
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Arxiv
0+阅读 · 6月1日
VIP会员
最新内容
致命七类无人机:无人机时代的演进型合成兵种
《异构无人水面艇集群作战自主制导算法》130页
相关VIP内容
【干货书】引擎顺序: 算法技术机制,353页pdf
专知会员服务
43+阅读 · 2021年7月16日
自动结构变分推理,Automatic structured variational inference
专知会员服务
41+阅读 · 2020年2月10日
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
6+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
3+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
1+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员