利用CLMUL加速64位通用哈希:CLHASH vs VHASH与CityHash性能对比

0 下载量 48 浏览量 更新于2024-07-14 收藏 478KB PDF 举报
本文档深入探讨了在现代64位处理器架构上利用Intel和AMD支持的 Carry-less Multiplication (CLMUL) 指令集实现更快的几乎通用的64位哈希函数,即CLHASH。CLMUL是一种特殊的快速乘法运算,它在没有进位的情况下执行,对于计算密集型的哈希操作具有显著的优势。 作者Daniel Lemire和Owen Kaser在文章中首先介绍了背景,指出传统的64位哈希函数在处理大量数据时可能会面临性能瓶颈。他们将CLHASH与可能是当前x64平台上最快的几乎通用哈希函数VHASH进行了对比,结果显示CLHASH的速度至少提高了60%。这表明了CLMUL技术在提升哈希算法效率方面的巨大潜力。 此外,作者还对CLHASH与Google的CityHash进行了性能评估。CityHash由于其设计初衷是追求速度,常被用于数据处理和加密应用中。结果表明,当输入数据超过64字节时,CLHASH比CityHash快40%,而在小数据规模下两者性能相当。这一发现突出了CLHASH在大数据场景下的优势,特别是在需要高吞吐量的环境中。 本文的关键概念包括:几乎通用的64位哈希(提供广泛的数据对象映射到固定大小值的能力), Carry-less Multiplication 的高效运算,以及在有限域算术中的应用。这些技术在信息安全、数据存储和查询优化等领域具有重要的实际意义,因为它们直接影响到数据处理的效率和系统的整体性能。 这篇论文不仅提供了CLHASH作为一种新型高效的哈希函数的实现方法,还通过实际性能比较展示了其在现代计算机硬件上的优越性。这对于那些依赖于高性能哈希操作的开发者和研究者来说,是一份极具价值的技术参考资料。