返回
KPU: Kernel Processing Unit for in-Memory Analytical Query Processing
DOI:10.1109/TC.2025.3569163.png)
摘要
En 中文
专用领域架构在内存数据库中显著提升了性能和能效,特别是在加速分析查询处理中的单功能计算逻辑(如排序、连接和聚合)。然而,随着数据量呈指数级激增,这些专用加速器难以满足日益增长的处理复杂且多面工作负载的需求。主要挑战在于建立一个灵活的框架,以调用这些“粗粒度”单元,同时避免硬件集成、编程、编译、运行时和操作系统带来的额外开销。本文提出内核处理单元(KPU)来优化内存数据库的CPU-加速器异构系统。KPU提供统一接口以整合所有数据库查询算子。在KPU硬件架构方面,内核定制化和数据传输是两个关键瓶颈。为应对这些挑战,集成了多个独立设计的同质表核以支持灵活的高性能SQL查询,并协同定制的高效数据管理系统(DMS)以最大化片上内存带宽利用率。此外,提出一种专用于并行分析查询处理的数据库应用特定KPU指令集架构(KISA),以实现并行KPU编程。为平衡加速器计算能力与数据传输延迟,KPU设计了基于性能模型和函数模拟器的自适应卸载机制,以在CPU和加速器之间映射SQL查询。实验结果表明,KPU分别比通用CPU和GPU平均快24.5倍和8.75倍。
Keyword:
Database
domain-specific computer architecture
programmability
SQL

