AIGC在金融场景是如何落地的? 了解详情
写点什么

PG-Storm:让 PostgreSQL 在 GPU 上跑得更快

  • 2015-09-20
  • 本文字数:968 字

    阅读完需:约 3 分钟

PostgreSQL 的扩展 PG-Storm 允许用户自定义扫描方式,将 CPU 的密集型工作负载转移到 GPU 处理,从而利用 GPU 强大的并行执行能力完成数据任务。在处理器内核数量和 RAM 带宽上,GPU 有得天独厚的优势。GPU 通常有成百上千的处理器内核,RAM 带宽也比 CPU 大几倍,可以并行处理大量数值计算,因此其运算十分高效。

PG-Storm 基本基于两点思想:

  • 运行中本地 GPU 代码生成
  • 异步流水线执行模式

在查询优化阶段,PG-Storm 检测给定查询是否完全或部分可以在 GPU 上执行,而后确定该查询是否可转移。如果该查询可以转移,那么 PG-Storm 则在运行中创建 GPU 本地二进制文件的源代码,在执行阶段前启动即时编译进程。接下来,PG-Storm 将提取行集装载入 DMA 缓存(一个缓存区的大小默认为 15MB),并异步启动 DMA 传输和 GPU 内核执行。CUDA 平台允许这些任务在后台执行,因此 PostgreSQL 可以提前运行当前进程。通过 GPU 加速,这些异步相关切分也隐藏了一般延迟。

装载 PG-Strom 后,在 GPU 上运行 SQL 并不需要专门的指示。它允许允许用户自定义 PostgreSQL 的扫描方式,而且提供了可以在 GPU 上运行的扫描 / 联接逻辑的其他可行方案。如果预计费用合理可行,任务管理器则放入自定义扫描节点,而非内置查询执行逻辑。

下图是 PG-Strom 和 PostgreSQL 的基准测试结果,横坐标为表数量,纵坐标为查询执行时间。在此次测试中,所有相关的内部关系都可以一次性地加载到 GPU RAM 上,预聚集大大减小了 CPU 需要处理行数。测试代码详情可以查看这里

从上图中可以看出,PG-Strom 比单纯 PostgreSQL 快很多。

以下是几种可以提高 PostgreSQL 性能的方法:

  • 同类纵向扩展
  • 异类纵向扩展
  • 横向扩展

PG-Strom 使用的是异类纵向扩展方法,针对工作负载特性,最大限度地利用了硬件优势。换句话来说,PG-Strom 在 CPU 内核上运行之前,在 GPU 设备上分配简单而大量的数值计算。

对于 PG-Storm 更多细节感兴趣的读者,可以参考 NEC 的专家 KaiGai 最近在 PGCON 2015 给出的 Talk ,文中详细解释了大数据所面临的挑战,为何引入 GPU 以及 PG-Storm 的原理和效率等内容。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-20 19:0016419
用户头像

发布了 268 篇内容, 共 115.0 次阅读, 收获喜欢 24 次。

关注

评论

发布
暂无评论
发现更多内容

交大医学院临床研究中心如何将 ModelWhale 应用于临床医生教学、研究丨数据科学 x 临床医学

ModelWhale

人才培养 数据科学 低代码平台 教学 临床医学

带你了解什么是 Web3.0

liuzhen007

Web 3.0

NFT盲盒挖矿DAO智能合约dapp系统开发详情

开发微hkkf5566

生物统计师与临床医生协同研究使用的低代码洞察平台丨数据科学 x 临床医学

ModelWhale

团队协作 Jupyter Notebook 数据科学 低代码开发 临床医学

破解数字化转型困局,企业分析协同场景案例解析

ModelWhale

数据分析 数字化转型 构建模型 成功案例 协同软件

【实战】Next.js + 云函数开发一个面试刷题网站

狂奔滴小马

Serverless React

云硬盘EVS详解以及如何用与避坑【华为云至简致远】

神奇视野

Python 后端 云服务 科技

开源一夏 | 阿里云物联网平台之极速体验

六月的雨在InfoQ

阿里云 开源 物联网 8月月更

技术干货|如何将 Pulsar 数据快速且无缝接入 Apache Doris

SelectDB

数据库 Doris pulsar 数据导入 kafaka

不可忽略!户外LED显示屏的特点及优势

Dylan

LED显示屏 户外LED显示屏 led显示屏厂家

为什么Spring Boot项目加上就可以更新版本?

冉然学Java

程序员 源码分析 springboot Java 分布式 Java core

兆骑科创创业大赛,双创服务平台,线上直播路演

兆骑科创凤阁

R7 6800H+RTX3050+120Hz 2.8K OLED屏,无畏Pro15 2022开启预售

科技热闻

阿里云 EMAS Serverless 升级发布

移动研发平台EMAS

小程序云开发 阿里云 Serverless 开发者 云开发

ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流

ModelWhale

数据科学 气象 全流程一体化 WRF 大气科学

ffplay视频播放原理分析

百度Geek说

音视频

高性能创作本,日常修图剪辑选华硕无畏Pro15 2022完全足矣!

科技热闻

手摸手带你完成智慧路灯构建及避坑【华为云至简致远】

神奇视野

Python 科技

利用java实现视频人像分割及视频背景替换

夏夜许游

Java 图像分割 视频人像分割 背景替换

开源一夏 | 打工人的第25天-曾经的考研人

Amazing_eve

#开源

豆瓣评分9.0,“Linux命令行”经典巨著升级版上市了!

图灵教育

使用前端技术实现静态图片局部流动效果

dragonir

CSS JavaScript html 前端 SVG

一次做数据报表的踩坑经历,让我领略了数据同步增量和全量的区别

百思不得小赵

数据同步 增量同步 全量同步 签约计划第三季 8月月更

出海季,互联网出海锦囊之本地化

融云 RongCloud

元宇宙 IT业界

开源一夏 |我在滴滴做开源

石臻臻的杂货铺

开源 8月月更

阿里大佬力荐的这份“Spring全家桶”太强了,在轻松中学习掌握

Java工程师

Java spring spring-boot

彻底搞懂云桌面配置及实践踩坑【华为云至简致远】

神奇视野

Python 科技

快速定位线上慢SQL问题,掌握这几个性能排查工具可助你一臂之力

IT学习日记

MySQL性能优化 数据库优化 MySQL 数据库 签约计划第三季 explain关键字

2021年数据泄露成本报告解读

SEAL安全

DevSecOps 数据安全 混合云 零信任 软件供应链

2022最新发布超全的Java面试八股文,整整1700页,太全了

Java工程师

Java 面试 八股文

DeepLink在转转的实践

转转技术团队

ios android 客户端

  • 扫码添加小助手
    领取最新资料包
PG-Storm:让PostgreSQL在GPU上跑得更快_语言 & 开发_张天雷_InfoQ精选文章