首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >IM 体系结构:CPU架构:SIMD向量处理(IM-2.3)

IM 体系结构:CPU架构:SIMD向量处理(IM-2.3)

作者头像
Yunjie Ge
发布2022-04-23 09:47:30
发布2022-04-23 09:47:30
8150
举报
文章被收录于专栏:数据库与编程数据库与编程

接第二章 Oracle Database In-Memory 体系结构(IM-2.2)

本篇为IM 体系结构下篇

CPU架构:SIMD向量处理(Vector Processing)

对于需要在IM列存储中扫描的数据,数据库使用SIMD(单指令,多数据)向量处理。

IM列存储最大化了可以加载到向量寄存器和求值的列条目的数量。 不是一次一个地评估列中的每个条目,数据库在单个CPU指令中评估一组列值。 SIMD向量处理使数据库能够每秒扫描数十亿行。

例如,应用程序发出查询以查找 sales 表中使用 promo_id 值为 9999 的订单总数。sales 表驻留在IM列存储中。 查询通过仅扫描 sales.promo_id 列开始,如下图所示:

图 2-12 SIMD向量处理

CPU按如下方式计算数据:

  1. 将前8个值(数值根据数据类型和压缩模式而变化)从 promo_id 列装入SIMD寄存器,然后将它们与单个指令中的值9999进行比较。
  2. 丢弃条目。
  3. 将另外8个值加载到SIMD寄存器中,然后以此方式继续,直到它已评估所有条目。

山东Oracle用户组(Shandong Oracle User Group),简称:SDOUG,是一个充满朝气、年轻的非营利性组织,旨在为济南及周边地区技术爱好者提供一个交流平台。SDOUG会不定期组织线下技术分享活动,促进本地区及周边IT技术的发展、帮助技术爱好者提高自己。分享技术、分享快乐,SDOUG在路上。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 山东Oracle用户组 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CPU架构:SIMD向量处理(Vector Processing)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档