Hash Table Design for RDMA:Challenges and Opportunities
Nanjing University(南京大学)
本文综述了在RDMA远程内存上部署哈希表面临的网络开销、并发控制和资源限制三大挑战,并总结了现有优化策略与未来方向。
2026-07-15 cs.DC
ReCord: A Distributed Hash Table with Recursive Structure
我们提出了一个简单的分布式哈希表称为ReCord,这是一个广义版本的随机和弦,并提供了改进的权衡现有的P2P系统的性能和拓扑维护。ReCord是可扩展的,可以很容易地实现为一个覆盖网络,并提供了一个很好的节点度和查询延迟之间的权衡。例如,具有$O(\log n)$节点度的$n$节点ReCord具有$Θ(\log n)$跳的预期延迟。或者,它也可以以$O(\frac{\log^2 n}{\log \log n})$节点度的更高代价提供$Θ(\frac{\log n}{\log \log n})$跳延迟。同时,对ReCord的动力学行为进行了仿真研究。
2004-11-01 cs.DC
WarpCore: A Library for fast Hash Tables on GPUs
哈希表无处不在。诸如插入和查询的摊销常数时间复杂度以及紧凑的存储器布局等属性使它们成为具有多种应用的通用关联数据结构。在许多领域中出现的快速增长的数据量激发了为现代并行架构设计的加速哈希表的需求。在这项工作中,我们利用现代GPU的快速存储器接口与并行哈希方案,以改善全局内存访问模式,设计WarpCore -一个通用的哈希表数据结构库。独特的设备端操作允许完全在GPU上构建高性能数据处理管道。我们的实现在单个GV 100 GPU上实现了每秒高达16亿次的插入和高达43亿次的检索,从而超越了最先进的解决方案cuDPP、SlabHash和NVIDIA RAPIDS cuDF。对于超过$90\%$的高负载因数,此性能优势变得更加明显。为了克服单个GPU的内存限制,我们在密集的NVLink拓扑上扩展我们的方法,这使我们在DGX服务器上接近最佳的弱扩展。我们进一步展示了WarpCore如何用于加速现实世界的生物信息学应用程序(宏基因组分类),与最先进的基于CPU的解决方案相比,加速比超过两个数量级。WC是用C++/CUDA-C编写的,可在https://github.com/sleeepyjack/warpcore上公开获取。
2020-11-11 cs.DC
Analysing the Performance of GPU Hash Tables for State Space Exploration
在过去的几年中,通用图形处理器(GPU)已被用于显着加速许多应用程序。GPU最近带来显著加速的领域之一是模型检验。在模型检验中,状态空间,即,大的有向图,探索,以验证模型是否满足所需的属性。GPUexplore是一个基于GPU的模型检查器,它使用一个哈希表来有效地跟踪已经探索过的状态。由于在这种探索期间发现并存储了大量的状态,因此哈希表应该能够快速地并发处理许多插入和查询。在本文中,我们实验比较了两种不同的哈希表优化的GPU,一个是GPU探索哈希表,另一个使用布谷鸟哈希。我们使用从模型检验实验中获得的随机和非随机数据来比较两种哈希表的性能,以分析两种哈希表用于状态空间探索的适用性。我们得出的结论是,对于随机数据,Cuckoo哈希比GPU explore哈希快三倍,对于非随机数据,Cuckoo哈希快五到九倍。这表明在不久的将来进一步加速GPU探索的巨大潜力。
2017-12-27 cs.DC cs.DS
HashGraph -- Scalable Hash Tables Using A Sparse Graph Data Structure
哈希表是普遍存在的,并且在广泛的应用中用于对大型和未排序数据的有效探测。如果设计得当,哈希表可以使系数查找在一个常数的操作或通常被称为O(1)操作。随着数据大小的不断增长和数据结构化程度的降低(这在大数据应用程序中很常见),对高效和可扩展的哈希表的需求也在增长。在本文中,我们将介绍HashGraph,这是一种用于构建哈希表的新的可扩展方法,它使用了从稀疏图表示中提取的概念--因此命名为HashGraph。我们展示了HashGraph的两种不同变体,一种简单的算法概述了创建哈希表的方法,另一种先进的方法以更有效的方式(使用改进的内存访问模式)创建哈希表。HashGraph展示了一种处理哈希冲突的新方法,它不使用“开放寻址”或“链接”,但具有这两种方法的所有优点。HashGraph目前适用于静态输入,尽管动态图数据结构的最新进展表明HashGraph也可以扩展到动态输入。我们表明,哈希图可以处理大量的哈希值,每个条目没有损失的性能,因为大多数开放寻址和链接的方法。此外,我们证明了HashGraph对负载因子是无关紧要的。最后,我们展示了一个新的探测算法的第二阶段的值查找。综上所述,HashGraph非常快,并且优于几种最先进的哈希表实现。本文中的HashGraph实现是针对NVIDIA GPU的,尽管HashGraph不依赖于架构。使用NVIDIA GV 100 GPU,HashGra…
2019-07-05 cs.DB cs.DC cs.DS
When Load Rebalancing Does Not Work for Distributed Hash Table
分布式哈希表(Distributed Hash Table,DHT)以其高度的可扩展性和负载均衡的突出特点,成为许多广泛应用的存储系统的基础。最近,基于DHT的系统已经被部署用于物联网(IoT)应用场景。不幸的是,这样的系统可能会在横向扩展和负载重新平衡过程中遇到故障。这种现象与分布式哈希表系统的一般概念相矛盾,特别是关于其可扩展性和负载均衡特性。在本文中,我们研究了基于DHT的系统在向外扩展过程中的故障。我们制定的分布式哈希表的负载重新平衡问题,考虑写工作负载和数据移动的影响。我们发现,每个节点的平均网络带宽和平均写工作负载的强度是决定分布式哈希表负载再平衡可行性的两个关键因素。我们从理论上证明,负载重新平衡是不可行的一个大型的分布式哈希表系统下沉重的写工作负载在一个节点的扩展过程。
2020-12-30 cs.DC
Hyperdimensional Hashing: A Robust and Efficient Dynamic Hash Table
大多数云服务和分布式应用程序都依赖于哈希算法,这些算法允许动态扩展健壮且高效的哈希表。例如AWS、Google Cloud和BitTorrent。一致性哈希和会合哈希是在调整哈希表大小时最小化键重新映射的算法。虽然大规模云部署中的内存错误很常见,但这两种算法都不能同时提供效率和鲁棒性。超维计算是一种新兴的计算模型,具有固有的效率,鲁棒性,非常适合矢量或硬件加速。我们提出了超维(HD)哈希,并表明它具有部署在大型系统中的效率。此外,现实水平的内存错误会导致一致性哈希超过20%的不匹配,而HD哈希则不受影响。
2022-05-16 cs.DC cs.DS cs.NI
WarpSpeed: A High-Performance Library for Concurrent GPU Hash Tables
Northeastern University(东北大学)
本文提出WarpSpeed库,实现八种先进GPU哈希表设计,通过指纹元数据等优化降低并发开销,并在三个应用中验证其正确性、可扩展性与实际价值。
2025-10-23 cs.DC cs.DS
Scalable Hash Table for NUMA Systems
哈希表用于大量的应用,包括数据库操作、DNA测序、字符串搜索等等。因此,存在许多针对多核、分布式和基于加速器的系统的并行化哈希表。在这项工作中,我们提出了一个多GPU哈希表的实现,可以处理密钥的吞吐量相当于分布式哈希表。分布式CPU哈希表比基于GPU的哈希表受到了更多的关注。我们发现,具有多个GPU的单个节点提供与基于500- 1,000核CPU的集群大致相同的性能。我们的算法的关键组成部分是我们使用多个稀疏图数据结构和装箱技术来构建哈希表。正如已经单独显示的那样,这些组件可以用适合GPU加速的大规模并行性来编写。由于我们关注的是单个节点,因此我们还利用了分布式环境中通常禁止的通信原语。我们表明,我们的新的多GPU算法共享许多相同的功能的单GPU算法-因此,我们有高效的冲突管理能力,可以处理大量的重复。我们在两个多GPU计算节点上评估我们的算法:1)具有16个GPU的NVIDIA DGX 2服务器和2)具有6个NVIDIA GPU的IBM Power 9处理器。使用32位密钥,我们的实现每秒处理8B密钥,与基于500- 1,000核CPU的集群相当,比以前的单GPU实现快4倍。
2021-04-01 cs.DC cs.DS
Space-Efficient Lock-Free Linear-Probing Hash Table
Technion, Israel(以色列理工学院);Tel-Aviv University, Israel(特拉维夫大学)
提出一种免锁线性探测哈希表,具有无等待查找,在保持空间高效的同时优雅处理并发,使用少量元数据实现线性化、免锁操作。
2026-06-17 cs.DC cs.DS
Defending Hash Tables from Subterfuge with Depth Charge
本文提出Depth Charge算法,通过基于哈希表链深度的资源燃烧机制防御拜占庭攻击者,使防御成本渐近低于攻击成本。
2023-08-08 cs.CR cs.DC cs.DS
Reliable Data Storage in Distributed Hash Tables
分布式哈希表为不稳定的分布式环境提供了弹性查找服务。然而,弹性数据存储需要额外的数据复制和维护算法。这些算法可以对系统的性能和可扩展性产生影响。在本文中,我们描述了这些复制算法的目标和设计空间。我们研究了现有的复制算法,并提出了一个新的分析其可靠性。然后,我们提出了一个新的动态复制算法,可以在不稳定的环境中运行。我们给出了几种可能的副本放置策略,该算法,并显示它们如何影响可靠性和性能。最后通过仿真比较了各种复制算法,定量地显示了它们在带宽利用率、容错能力和性能上的差异。
2005-08-02 cs.DC cs.NI
History-Independent Concurrent Hash Tables
Technion, Israel(以色列理工学院);Stony Brook University, USA(纽约州立大学石溪分校);New York University, USA(纽约大学);Tel-Aviv University, Israel(特拉维夫大学)
本文研究了与历史无关的并发字典,特别是哈希表,建立了其空间需求的内在界限。提出了一种无锁的与历史无关的并发哈希表,基于Robin Hood哈希,每个内存单元存储两个元素和两个位,并证明了其空间效率。
2025-03-26 cs.DC cs.DS
Lock-free dynamic hash tables with open addressing
我们提出了一个有效的无锁算法的并行访问哈希表与开放寻址,这承诺更强大的性能和可靠性比传统的基于锁的实现。“无锁”意味着保证总是至少有一个进程在有限的步骤数内完成其操作。对于单处理器架构,我们的解决方案与顺序哈希表一样有效。在多处理器体系结构上,当所有处理器都具有相当的速度时也是如此。该算法允许处理器具有广泛的不同速度或停止。它可以很容易地使用C类语言实现,并且平均只需要恒定的时间来插入,删除或访问元素。该算法允许哈希表在需要时增长和收缩。无锁算法很难正确设计,即使看起来很简单。在尽可能早的阶段确保设计的正确性是任何负责任的系统开发的主要挑战。鉴于算法的复杂性,我们转向交互式定理证明器PVS进行机械支持。我们采用标准的演绎验证技术来证明我们算法的约200个不变性,并描述了如何使用定理证明器PVS实现这一点。
2004-10-27 cs.DC cs.DS
Blockchains Meet Distributed Hash Tables: Decoupling Validation from State Storage
普通用户在为公共区块链设置节点时遇到的第一个障碍是下载节点开始正常运行所需的所有数据所需的时间。事实上,这可能会持续几个小时到几个星期的主要网络。我们的贡献是双重的。首先,我们展示了一种设计,它可以挖掘和验证新的块,只保持一个非常小的状态。其次,我们证明了可以将区块链的状态存储在分布式哈希表中,从而在节点提交的存储和复制因子之间获得广泛的权衡。我们的提案独立于所采用的共识算法,并且能够很好地处理涉及智能合约的交易。
2019-03-07 cs.CR cs.DC
An effective single-hop distributed hash table with high lookup performance and low traffic overhead
分布式哈希表(DHT)已经在几个应用中使用,但是大多数DHT选择用多跳来解决查找,以最小化带宽成本,同时牺牲查找延迟。本文提出了D1HT,一个原始的分布式哈希表,它具有对等和自组织的结构,并最大限度地提高查找性能与合理的维护流量,和一个隔离机制,以减少开销所造成的不稳定的同行。我们实施了D1 HT和著名的单跳DHT,并进行了广泛且高度代表性的DHT实验比较,然后进行了补充分析研究。与目前的单跳DHT相比,我们的研究结果表明,D1HT始终具有最低的带宽要求,典型的减少高达一个数量级,D1HT甚至可以用于流行的互联网应用程序与数百万用户。此外,我们运行了第一个延迟实验,将DHT与目录服务器进行比较,结果表明D1HT可以实现与目录服务器相当或更好的延迟,并证实了其更大的可扩展性。总的来说,我们广泛的结果使我们得出结论,D1HT可以为广泛的环境提供非常有效的解决方案,从大型企业网络中心到广泛部署的互联网应用程序。
2014-08-29 cs.DC
A fast MPI-based Distributed Hash-Table as Surrogate Model demonstrated in a coupled reactive transport HPC simulation
University of Potsdam(波茨坦大学);GFZ Helmholtz Centre for Geosciences(德国地球科学研究中心);Zuse Institute Berlin(柏林祖尔研究所);Potsdam Institute for Climate Impact Research(波茨坦气候影响研究所)
针对 HPC 场景,本文提出基于 MPI 共享进程内存的无锁分布式哈希表代理模型,相较显式锁方案具备更好的读写扩展性,并将反应输运模拟加速 14%–42%。
2025-10-21 cs.DC
Socially-Aware Distributed Hash Tables for Decentralized Online Social Networks
由于对集中式社交网络中的隐私和可扩展性问题的认识的增加,已经提出了许多分散式在线社交网络(DOSN)。这种分散的网络将处理和存储功能从服务提供商转移到最终用户。DOSN需要服务的个性化实现(即,搜索、信息传播、存储和发布/订阅)。然而,这些服务中的许多服务主要执行社交查询,其中OSN用户对访问他们的朋友的信息感兴趣。在我们的工作中,我们设计了一个社会意识的分布式哈希表(DHT)的有效实施的DOSNs。特别是,我们提出了一个基于八卦的算法,将用户在一个DHT,同时最大限度地提高他们之间的社会意识。通过一组实验,我们表明,我们的方法减少了查找延迟近30%,提高了近10%的通信可靠性,通过可信的联系人。
2015-09-23 cs.DC cs.SI
A Random Structure for Optimum Cache Size Distributed hash table (DHT) Peer-to-Peer design
我们提出了一个新的和易于实现的分布式哈希表(DHT)对等结构,采用随机缓存策略,允许{ \em多对数搜索时间},而只有一个{ \em常数缓存}的大小。我们还表明,一个非常大的类的确定性缓存策略,它涵盖了几乎所有以前提出的分布式哈希表系统,不能实现polylog搜索时间与恒定的缓存大小。通常,新方案是第一个已知的具有以下高度期望的特性的DHT结构:(a)具有恒定高速缓存大小的随机高速缓存策略;(b)$O(log^{2}(N))$的平均搜索时间;(c)$O(log^{3}(N))$的保证搜索时间;(d)具有用于节点删除和添加的恒定开销的真正本地高速缓存动态;(e)从任何初始网络状态向期望结构的自组织;以及(f)允许用于各种权衡的无缝手段,例如,搜索速度或匿名性,代价是更大的缓存大小。
2002-10-14 cs.DC cs.NI
Dynamically Sharded Ledgers on a Distributed Hash Table
本文提出ScaleGraph,一种利用分布式哈希表路由和邻近概念实现动态分片的账本,以提升可扩展性并支持机器经济中的微交易,分析表明其存储复杂度为O(t/n),且在腐败节点少时性能优越。
2024-05-23 cs.DC
RACED: Routing in Payment Channel Networks Using Distributed Hash Tables
本文提出基于分布式哈希表的支付通道网络路由协议RACED,在真实交易数据上实现98.74%平均成功率和31.242秒平均寻路时间,并证明其安全性。
2023-11-29 cs.CR cs.DC
Large-Scale Distributed Learning via Private On-Device Locality-Sensitive Hashing
University of Maryland(马里兰大学)
针对分布式与联邦场景中端侧内存受限及数据隐私问题,提出基于新哈希函数族的私有个性化端侧 LSH 框架,支持压缩权重和串行生成/丢弃哈希表,并在大规模推荐网络训练中表现出竞争力。
2023-06-05 cs.CR cs.DC cs.LG
HierarchicalKV: A GPU Hash Table with Cache Semantics for Continuous Online Embedding Storage
NVIDIA(英伟达);Tencent(腾讯);Vipshop(唯品会);BOSS Zhipin(BOSS直聘);ByteDance(字节跳动);Snap(Snap Inc.)
HierarchicalKV通过引入缓存语义,改进传统GPU哈希表的性能,实现高效的连续在线嵌入存储,其核心机制包括缓存行对齐的桶、内联评分驱动的upsert、基于评分的动态双桶选择以及三组并发,提升了查找吞吐量。
2026-03-17 cs.DB cs.DC cs.IR
Data-Parallel Hashing Techniques for GPU Architectures
哈希表是用于有效地存储和访问稀疏数据的最基本的数据结构之一,在从计算机图形到机器学习的领域中广泛使用。本研究调查的国家的最先进的研究数据并行哈希技术,新兴的并行,众核GPU架构。发现影响不同哈希方案性能的关键因素,并用于建议最佳实践和确定进一步研究的领域。
2018-07-11 cs.DC cs.DS
Learning to Collide: Recommendation System Model Compression with Learned Hash Functions
深度推荐模型的一个关键特征是其嵌入表的巨大内存需求。这些嵌入表通常可以达到数百千兆字节,这增加了硬件要求和培训成本。一种减少模型大小的常用技术是将所有分类变量标识符(id)散列到一个更小的空间中。这种散列减少了必须存储在嵌入表中的唯一表示的数量;从而减小了它的大小。然而,这种方法会在语义不同的id之间引入冲突,从而降低模型质量。我们引入了另一种方法,学习哈希函数,它学习了一个新的映射函数,鼓励语义相似的id之间的冲突。我们从历史数据和嵌入访问模式中获得了这种学习映射。我们在一个生产模型上对这种技术进行了实验,发现由访问频率和学习的低维嵌入相结合的映射是最有效的。我们证明了一个小的改进相对于散列技巧和其他碰撞相关的压缩技术。这是正在进行的工作,探索分类id冲突对推荐模型质量的影响,以及如何控制这些冲突以提高模型性能。
2022-03-28 cs.AI cs.DC cs.IR
RECIPE : Converting Concurrent DRAM Indexes to Persistent-Memory Indexes
我们提出了食谱,一个原则性的方法,用于将并发DRAM索引转换为持久性内存(PM)的崩溃一致性索引。Recipe背后的主要观点是,当PM中使用相同的索引时,可以通过对崩溃一致性的微小更改来转换由某类并发内存索引提供的隔离。我们提出了一组条件,使这类DRAM索引的识别,并采取行动将每个索引转换为持久性。基于这些条件和转换动作,我们将基于B+树、尝试、基数树和哈希表的五种不同的DRAM索引修改为它们的崩溃一致性PM对应物。这种转换所涉及的工作量很小,只需要30-200行代码。我们评估了英特尔DC持久内存上转换后的PM索引,发现它们在多线程工作负载中的性能最高可达手工制作的最先进PM索引的5.2倍。例如,我们构建了P-CLHT,这是CLHT哈希表的PM实现,只修改了30个字节。当运行YCSB工作负载时,P-CLHT的性能比最先进的PM哈希表Cacheline-Conscious Extendible Hashing(CCEH)高2.4倍。
2019-11-08 cs.DB cs.DC cs.DS
Fast Locality Sensitive Hashing for Beam Search on GPU
Department of Computer Science, University of Southern California(南加州大学计算机科学系);Department of Computer Science and Technology, Tsinghua University(清华大学计算机科学与技术系)
我们提出了一种基于GPU的局部敏感哈希(LSH)算法,以加快序列模型的束搜索。我们利用赢家通吃(WTA)哈希,这是基于隐藏的维度的相对排名顺序,从而弹性的数值扰动。我们的算法设计充分考虑了CUDA支持的GPU的底层架构(算法/架构协同设计):1)并行Cuckoo哈希表用于LSH代码查找(保证O(1)查找时间); 2)候选列表在波束之间共享以最大化并行性; 3)顶部频繁字合并到候选列表中以提高性能。在4个大规模神经机器翻译模型上的实验表明,该算法在softmax模块上可以获得4倍的加速比,在GPU上可以获得2倍的整体加速比,而不会损害BLEU。
2018-06-02 cs.AI cs.CL cs.DC