HPCA2023_Database Accelerator_VAQUERO

VAQUERO是一种针对向量处理的数据库加速器,解决了不规则数据访问和依赖问题。它与x86 AVX512集成,利用VPCD指令处理hash aggregate和hash join的查表瓶颈。尽管与某些方案相比加速效果不显著,但其引入SPM解决Gather/scatter问题的创新架构是亮点。VAQUERO支持行式和列式数据库,通过SPM和CAM技术优化数据处理,尤其是在处理偏斜数据时表现出高命中率。其架构设计包括键表和替换策略,借鉴了缓存原理,旨在提高数据库性能。

概括

VAQUERO瞄准的是向量型处理过程中面临的不规则数据访问和数据间依赖问题,kernel层级重点处理的是hash aggregate和hash join相关的查表probe这一瓶颈操作。
VAQUERO和x86 AVX512 ISA集成在一起,借助于后者中的VPCD指令来解决数据依赖问题。因此,该文章的重点应该是借助于SPM解决Gather/scatter问题。

理解该论文需要补充SPM和CAM的相关知识!

PS: 我每每感到数据库加速没有啥可以做的,或者说做的意义不大的时候,总有一些顶会工作出来打我的脸orz

问题

  1. 与PostgreSQL和MonetDB相比,仅加速了2.09x和3.32x,与Q100,AQUOMAN等动辄数量级级别加速相比,为什么加速效果如此不显著?
    原因可能在于benchmark的选取问题,如下表格(待补充)
    |VAQUERO| | 1GB |
    |Q100|–|
    | AQUOMAN | |
    |RAPID|2.5x|1TB|
    从工程成熟度方面来讲,Oracle的RAPID也是成功流片,但workload更大。因此,相比来说,本文能被录用,出彩的点不在于加速比,而在于引入SPM解决Gather/scatter的novel architecture。

  2. 为什么VAQUERO可以同时支持行式和列式两种数据库,是和基于GPU的HTAP[3]一样配备了两种类型的存储区域吗?
    现今应用最多的还是行式数据库[2],但之前的研究认为行式数据库不适合向量处理,在gather/scatter问题上相比列式数据库更加的memory-bound。该文中的措施应该是对两种数据库都适用,但即便都应用了,对二者的加速效果并没有特别大的差异。

  3. scratchpad是如何被使用的?CAM呢?
    应用scratchpad或许传承自该组在15年ISCA上发表的[1]。
    仅从下图的操作流程来看,二者似乎也没啥区别,gathe

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值