[论文解读] Faster Multiplication for Long Binary Polynomials
本文提出了一种更快的在GF(2)上对长二元多项式进行乘法运算的方法,通过结合优化的加法FFT(LCH FFT)、塔域构造和SIMD指令实现。与以往基于乘法FFT的方法相比,该方法在2^28和2^29比特多项式上的计算时间减少了约40%,主要归因于更低的乘法复杂度以及利用VPSHUFB指令实现的高效子域乘法。
We set new speed records for multiplying long polynomials over finite fields of characteristic two. Our multiplication algorithm is based on an additive FFT (Fast Fourier Transform) by Lin, Chung, and Huang in 2014 comparing to previously best results based on multiplicative FFTs. Both methods have similar complexity for arithmetic operations on underlying finite field; however, our implementation shows that the additive FFT has less overhead. For further optimization, we employ a tower field construction because the multipliers in the additive FFT naturally fall into small subfields, which leads to speed-ups using table-lookup instructions in modern CPUs. Benchmarks show that our method saves about $40 \%$ computing time when multiplying polynomials of $2^{28}$ and $2^{29}$ bits comparing to previous multiplicative FFT implementations.
研究动机与目标
- 改进GF(2)[x]中长二元多项式乘法的效率,这是密码学和数论中的基础运算。
- 克服先前基于乘法FFT的算法在大次数多项式乘法中性能受限的问题。
- 证明在结合硬件优化的子域算术时,现代加法FFT(特别是LCH FFT变体)在实际应用中优于传统的乘法FFT。
- 通过SIMD指令(如VPSHUFB)利用CPU级别的并行性,加速加法FFT框架内子域的乘法运算。
提出的方法
- 采用LCH FFT算法,这是一种具有规则蝴蝶结构的广义加法FFT变体,简化了实现并降低了开销。
- 在子域(如F_{2^32}、F_{2^128})上构建塔域表示,以利用VPSHUFB等查表指令实现高效乘法。
- 使用SIMD指令并行执行多个8位域乘法,降低子域中每趟乘法的成本。
- 优化标准表示与塔域表示之间的基转换,以最小化性能损失。
- 使用C语言实现算法,并考虑手写汇编代码,针对支持AVX-512的现代x86-64 CPU进行未来可扩展性优化。
- 在不同多项式尺寸下对算法进行性能分析与调优,重点关注2^28和2^29比特规模,此处性能提升最为显著。
实验结果
研究问题
- RQ1尽管理论复杂度相似,加法FFT在实际中是否能优于乘法FFT用于大次数二元多项式乘法?
- RQ2塔域构造和子域算术的使用如何影响基于加法FFT的乘法性能?
- RQ3像VPSHUFB这样的SIMD指令在多大程度上能降低加法FFT流水线中域乘法的成本?
- RQ4在优化后的加法FFT乘法器中,各组件(基转换、蝴蝶结构、点乘法、表示转换)的成本分布如何?
- RQ5通过算法和底层优化,能否逆转加法FFT与乘法FFT之间的性能差距?
主要发现
- 所提出的基于加法FFT的乘法在2^28和2^29比特多项式上相比先前的乘法FFT实现,运行时间减少了40%。
- LCH FFT变体实现了更规则的蝴蝶结构,降低了算法开销,相比早期加法FFT性能更优。
- 使用VPSHUFB指令进行子域乘法,使每128位字的平均乘法成本降低至少于2次VPSHUFB操作,而标准F_{2^128}中需5次PCLMULQDQ指令。
- 在F_{2^256}塔域中,由于更好的内存对齐和访问模式,基转换成本得以降低。
- 性能分析显示,蝴蝶处理和点乘法占主导成本,但子域优化带来的收益仍超过表示转换成本的增加,实现净性能提升。
- 未来支持AVX-512预计将进一步加速该算法,尽管两倍速提升的可能性不大。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。