Rethinking SIMD Vectorization for In-Memory Databases 论文阅读笔记

探讨了SIMD技术在内存数据库中的优化策略,包括选择性存储、加载、聚集和分散操作,以及线性探测哈希表的构建和探查算法。通过改进的流程,如RankandPermute和优化的哈希表操作,显著提升了数据库查询效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Rethinking SIMD Vectorization for In-Memory Databases 论文阅读笔记

基本操作

selective store

将 vector lane 的一部分(根据 mask)写入连续内存

在这里插入图片描述

selective load

从连续内存读入到 vector lane 的一部分(根据 mask)

在这里插入图片描述

selective gather

从非连续内存(根据 index vector)读入到 vector lane

在这里插入图片描述

selective scatter

将 vector lane 写入到非连续内存(根据 index vector)

在这里插入图片描述

注意 gather 和 scatter 并不能1个时钟周期内完成

Selection Scan

在这里插入图片描述

  • W:SIMD vector 长度
  • j:输出数量
  • l:buffer B[] 的最后一个元素的后继位置
  • B[]:buffer,缓存被 selected 行的标号(没有明说,不过我认为 |B|W 的整数倍)
  • r[]:序号的 vector,长度为 W,用于 selective store,mask m
  • m:predicate 结果,是一个 mask vector

在这里插入图片描述

意思就是每次处理一批,然后差不多满了就 output。

Hash Table

Linear Probing

Probe

在这里插入图片描述

参考 Vectorization vs. Compilation in Query Execution 论文阅读笔记

和上一篇笔记中的算法有一些区别,没有 match[],而是每轮循环有被排除掉的就去拿新的 input。Algorithm5 最后一行的 m 表示排除掉的(包括 已经匹配成功的匹配完所有都失败的)就拿新的 input;还在匹配的就 offset+1,继续尝试在 bucket 中匹配。(所以 output 顺序和 probe input 顺序可能不一致。上一篇笔记里的算法是把每轮 input check 完才继续下一轮)

Build

在这里插入图片描述

居然没有做 Rank and Permute 来 group by key???参考 A Vectorized Hash-Join 论文阅读笔记
可以使用 Rank and Permute,然后查询 next[] 来加速 probe!!!

我改进的 probe 流程,针对 build 时使用 rank and permute 来 group by keys

在这里插入图片描述

Reference

### 关于 EfficientNet 的论文下载 《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》是一篇由 Google Research 发表的重要论文,探讨了如何通过复合扩展方法来优化卷积神经网络 (ConvNets) 的性能。该论文提出了一种新的模型缩放策略——复合扩展(Compound Scaling),这种方法能够更高效地平衡宽度、深度和分辨率之间的关系,从而显著提高模型的精度和效率[^1]。 如果需要获取这篇论文的 PDF 文件,可以通过以下几种方式: #### 1. **官方发布平台** 论文最初发表在 arXiv 上,因此可以直接访问其官方网站进行下载: - 链接地址:https://arxiv.org/abs/1905.11946 (此链接指向原始版本的预印本) #### 2. **学术搜索引擎** 使用学术搜索引擎可以帮助快速定位到论文资源。常用的工具包括但不限于: - Google Scholar: https://scholar.google.com/ 输入关键词 “EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks”,即可找到相关条目并尝试点击免费或付费选项下载。 #### 3. **第三方存储库** 如果无法直接从上述渠道获取,还可以考虑一些开放存取网站,例如: - Papers With Code: 提供大量机器学习领域经典论文及其对应代码实现。 地址:https://paperswithcode.com/paper/efficientnet-rethinking-model-scaling-for - Semantic Scholar: 类似于Google Scholar的功能,但界面更加简洁友好。 地址:https://www.semanticscholar.org/ 以下是基于 Python 编写的简易脚本来模拟自动抓取功能(仅作演示用途,请勿滥用爬虫技术违反版权规定): ```python import requests def fetch_paper(url, filename="paper.pdf"): response = requests.get(url) if response.status_code == 200: with open(filename, 'wb') as f: f.write(response.content) print(f"Paper successfully downloaded as {filename}") else: print("Failed to retrieve the paper") # Example usage fetch_paper('https://arxiv.org/pdf/1905.11946', 'EfficientNet_paper.pdf') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值