资讯动态

PIM架构下同态加密加速:DRAMatic方案解析

发布时间:2026/10/25 16:51:24 来源:尧图企业网站定制
1. DRAMatic方案概述PIM架构下的同态加密加速同态加密Homomorphic Encryption, HE作为隐私计算领域的关键技术能够在不解密的情况下直接对加密数据进行计算近年来在云计算、医疗数据分析等场景中展现出巨大潜力。然而HE计算的核心运算——数论变换NTT和多项式乘法——对内存带宽和计算资源的需求极高传统CPU架构往往成为性能瓶颈。DRAMatic创新性地采用处理内存Processing-In-Memory, PIM架构来解决这一问题。该方案基于UPMEM公司的PIM系统实现其核心是在DRAM内存条中集成可编程处理单元DPU。与传统冯·诺依曼架构不同PIM架构通过将计算任务下推到数据存储位置执行从根本上消除了数据搬运开销。实验数据显示对于4096位多项式长度和32768个密文的大规模计算场景DRAMatic相比前代方案[MHY24]实现了334倍的加速同时将数据传输开销从25%降低至7%。关键突破DRAMatic采用DPU-centric优化策略包括(1) 定制32/64位乘法例程克服DPU原生仅支持8位乘法的限制(2) 创新的数据布局方案使NTT计算时DRAM访问模式匹配DPU的并行处理能力(3) 全操作卸载机制将整个NTT计算流程一次性下推到DPU执行避免传统方案中频繁的CPU-DPU交互。2. 技术实现细节与核心优化2.1 UPMEM PIM架构特性分析UPMEM PIM系统由以下关键组件构成DPUData Processing Unit每个DRAM芯片集成1个RISC-V架构的DPU运行频率400MHz具有24KB指令缓存和64KB数据缓存WRAM内存拓扑8个DPU组成一个rank每个DIMM模块包含多个rank测试系统配置6个rank共383个可用DPU内存访问特性每个DPU只能直接访问所属DRAM芯片的数据跨芯片访问需通过主机CPU协调DRAMatic针对该架构进行了三项关键优化数据分片策略将大多项式按模数分解到不同DPU处理利用RNSResidue Number System实现自然并行化。例如处理4096位多项式时将其分解为3个模数分别由不同DPU组处理。乘法运算优化DPU原生仅支持8x8位乘法通过组合乘法如32位乘法分解为4个8位乘法和查表技术将32位乘法从35周期优化到21周期。数据局部性保证通过调整多项式系数排列顺序使得NTT计算时的蝶形运算数据尽可能位于同一DPU的WRAM中减少跨DPU通信。2.2 NTT加速实现方案数论变换NTT作为同态加密的核心运算其性能直接决定整体系统效率。DRAMatic实现了基于Barret约减的1D NTT算法主要优化点包括计算流程优化# DPU端的NTT计算伪代码示例 def ntt_radix2_dpu(x, w, q): n len(x) if n 1: return x even ntt_radix2_dpu(x[0::2], pow(w, 2, q), q) odd ntt_radix2_dpu(x[1::2], pow(w, 2, q), q) y [0]*n for k in range(n//2): t (w**k % q) * odd[k] y[k] (even[k] t) % q y[kn//2] (even[k] - t) % q return y性能对比数据方案多项式长度密文数量执行时间(ms)加速比MHY204851238001xDRAMatic40963276811.4333xSEAL(CPU)4096327681.92000x2.3 能耗与性能平衡策略虽然PIM架构大幅降低了数据搬运能耗但DPU的计算能效仍落后于现代CPU。DRAMatic通过以下策略实现能耗优化动态功耗调节根据负载动态启用DPU数量测试显示从128DPU扩展到383DPU时功耗仅从311W增至323W4%性能提升3倍。计算-传输重叠在DPU执行当前批次计算时主机CPU并行准备下一批次数据实测可将传输开销从16%降至7%。混合精度计算对噪声增长影响较小的操作采用16位计算模式关键操作保持32/64位精度平衡精度与能耗。3. 性能实测与瓶颈分析3.1 横向对比测试在相同硬件环境下Intel Xeon Gold 5415 CPU vs UPMEM PIM系统DRAMatic与主流方案的对比如下NTT运算性能纯计算时间SEAL(CPU) DRAMatic(DPU) MHY(DPU)对于4096位多项式SEAL耗时1.9msDRAMatic需11.4ms慢6倍MHY需3800ms端到端时间含数据传输DRAMatic总时间12.8ms传输占11%MHY总时间4940ms传输占23%能耗效率对比指标SEAL(CPU)DRAMaticMHY计算能耗(J)0.423.671052能效比(ops/J)2.38e92.73e89.5e53.2 主要性能瓶颈乘法运算瓶颈DPU执行32位乘法需21周期而现代CPU仅需1周期模拟测试显示若DPU乘法速度提升10倍DRAMatic与SEAL的差距可从6倍缩小至1.9倍数据传输限制即使采用优化方案4096位多项式NTT仍有7%时间用于数据传输根源在于UPMEM架构要求CPU必须通过DRAM中转数据无法直接访问DPU内存并行度利用由于模数分解限制DRAMatic无法充分利用全部DPU如509个DPU中仅能有效利用383个对比BMP方案的2D/4D NTT在256DPU下其速度比DRAMatic快29%-59%4. 实战经验与优化建议4.1 参数调优指南根据实际测试数据推荐以下参数组合安全级配置128-bit安全多项式长度≥2048模数位数≥54位192-bit安全多项式长度≥4096模数位数≥109位性能优化配置高吞吐场景使用4096位多项式3模数分解每个rank处理1个模数低延迟场景采用2048位多项式2模数分解减少DPU间同步开销4.2 常见问题排查问题1DPU利用率不足现象任务管理器显示部分DPU处于空闲状态排查步骤检查多项式长度与模数分解是否匹配如4096位需要3的倍数个DPU使用upmem_profiler工具分析各DPU负载均衡考虑采用BMP的2D NTT方案提升DPU利用率问题2结果验证失败现象DPU计算结果与CPU参考值不一致解决方案# 1. 检查模数一致性 diff cpu_moduli.txt dpu_moduli.txt # 2. 验证基础乘法正确性 ./test_mul --bitwidth32 --validate # 3. 降低NTT规模逐步测试 ./test_ntt --length64 --verbose4.3 未来优化方向硬件层面为DPU增加32/64位乘法指令预计可提升3倍性能实现CPU直接访问DPU内存的混合模式消除数据拷贝算法层面集成2D/4D NTT算法提升单DPU计算效率探索非幂次多项式长度的优化方案系统层面开发动态负载均衡器根据多项式特性自动选择最优算法实现与SEAL的混合计算模式让CPU处理小规模NTT在实际部署中我们发现在处理32768个密文的批量任务时采用6个rank383DPU的配置能达到最佳性价比。此时系统功耗维持在323W完整计算耗时12.8ms相比纯CPU方案具有明显的吞吐量优势。对于需要低延迟的场景建议将任务拆分为多个小批次并行提交充分利用PIM架构的并行特性。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑