Private information retrieval (PIR) allows private database queries; however, it is hindered by intense server-side computation and memory traffic. Numerous modern lattice-based PIR protocols consist of three phases: ExpandQuery (expanding a query into encrypted indices), RowSel (encrypted row selection), and ColTor (recursive "column tournament" for final selection). ExpandQuery and ColTor primarily perform number-theoretic transforms (NTTs), whereas RowSel reduces to large-scale independent matrix-matrix multiplications (GEMMs). GPUs are well suited for these tasks when combined with multi-client batching, which is necessary for high throughput. However, batching fundamentally reshapes the performance bottlenecks: while it amortizes database access costs, it expands working sets beyond the L2 cache capacity, causing divergent memory access behavior and excessive DRAM traffic. We present GPIR, a GPU-accelerated PIR system that rethinks kernel design, data layout, and execution scheduling. We introduce a stage-aware hybrid execution model that dynamically switches between operation-level kernels, which execute each primitive operation separately, and stage-level kernels, which fuse all operations within a stage into a single kernel to maximize on-chip data reuse. For RowSel, we resolve the mismatch between NTT-driven layouts and tiled GEMMs using a transposed-layout design with fine-grained pipelining. We further extend GPIR to multi-GPU systems, scaling throughput and database capacity with negligible communication overhead. GPIR achieves up to 297.2x higher throughput than PIRonGPU, the state-of-the-art GPU implementation.
翻译:私有信息检索(PIR)允许对数据库进行私密查询,但其性能受限于密集的服务器端计算和内存流量。许多现代基于格的PIR协议包含三个阶段:ExpandQuery(将查询扩展为加密索引)、RowSel(加密行选择)和ColTor(用于最终选择的递归“列锦标赛”)。ExpandQuery和ColTor主要执行数论变换(NTT),而RowSel则简化为大规模独立矩阵乘法(GEMM)。当与多客户端批处理结合时,GPU非常适合这些任务,而多客户端批处理是实现高吞吐量的必要条件。然而,批处理从根本上改变了性能瓶颈:虽然它分摊了数据库访问成本,但将工作集扩展到L2缓存容量之外,导致内存访问行为发散和DRAM流量过高。我们提出了GPIR,这是一个重新设计内核、数据布局和执行调度的GPU加速PIR系统。我们引入了一种阶段感知的混合执行模型,该模型在操作级内核(分别执行每个原始操作)和阶段级内核(将阶段内所有操作融合到单个内核中以最大化片上数据重用)之间动态切换。对于RowSel,我们通过使用具有细粒度流水线的转置布局设计解决了NTT驱动布局与分块GEMM之间的不匹配。我们进一步将GPIR扩展到多GPU系统,在通信开销可忽略的情况下扩展吞吐量和数据库容量。GPIR的吞吐量比最先进的GPU实现PIRonGPU高出297.2倍。