数据库管理-第222期 RDMA&CPU(20240722)

数据库管理-第222期 RDMA&CPU(20240722)

作者:胖头鱼的鱼缸(尹海文)
Oracle ACE Pro: Database(Oracle与MySQL)
PostgreSQL ACE Partner
10年数据库行业经验,现主要从事数据库服务工作
拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证
墨天轮MVP、年度墨力之星,ITPUB认证专家、专家百人团成员,OCM讲师,PolarDB开源社区技术顾问,HaloDB外聘技术顾问,OceanBase观察团成员,青学会MOP技术社区(青年数据库学习互助会)技术顾问
圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著名社恐(社交恐怖分子)
公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。
除授权转载并标明出处外,均为“非法”抄袭

又是几天没写文章了,虽然神清气爽,但也手痒。
之前写过几篇和RDMA相关的内容,也做了几版PPT,在PG分会广州站、PG大会和华为稼先社区演讲了相关内容,与很多业内前辈、专家、朋友进行了交流,在这一期融合大家的观点并加入自己的思考进行总结。

1 NIC释放CPU

其实RDMA除了本身在网络层面的高带宽与低延迟以外,在内存至网络过程中的“预处理”的减少,也降低了延迟,同时让CPU不需要去做网络封包解包中的复制操作(当然也能较少操作系统内核层面在网络处理的指令数量)。
image.png
结合我之前的文章《数据库管理-第175期 深入探索CPU性能(20240424)》中提到的,CPU核心在同一个时间点只能做一件事情,而在OLTP系统的数据库中,数据库请求应当尽快的获取CPU资源。将网络相关本应使用CPU处理的内容转交给网卡,那么对于CPU来说就相当于释放出了更多的资源,也能更好的服务与数据库本身。
image.png

2 时间模型

在与行业专家的沟通过程中,有人提出,在数据同步的场景中,特别是基于日志的数据同步,那么每一次数据同步请求花最长的时间是在日志应用层面,网络传输时间的减少从整体来看收益并不高。
image.png
但是结合上一节,首先节省出来的CPU资源可以供数据库处理更多的请求。换一个角度,如果这是一个TPS过万的系统,那么每个请求哪怕只是减少1%(或者对等微秒级,更何况不止1%),那么带来的CPU内时间节省也是十分可观。
当然如果数据库的同步方式是流复制或者物理复制的话,直接对内存块进行更新而不是使用日志重做,那么RDMA带来的优势在单个数据库请求上就会更加明显。

3 不仅是内存

RDMA不仅可以使得内存通过网络“直连”,也可以让PMEM(非易失性内存,比如傲腾)和基于PCIe总线的使用NVMe协议的SSD通过RDMA进行加速。在Exadata除了存储节点向计算节点的快速IO支持,另一方面计算节点尤其是日志写入会多路同时向PMEM和Flash SSD写入,率先完成的即算成功。这一RDMA技术的使用大幅降低了Redo和归档日志的写入延迟,提升了事务操作的写入性能。同时这也节省了存储节点的CPU占用,其CPU可以更好的用于Exadata Storage Software的相关特性。
image.png

总结

本期算是RDMA相关的最后一期,一个总结。
老规矩,知道写了些啥。

相关推荐

  1. 数据库管理-221 Oracle的高可用-04(20240717)

    2024-07-23 09:24:03       18 阅读
  2. 数据库管理-142 DBA?DBA!(20240131)

    2024-07-23 09:24:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 09:24:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 09:24:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 09:24:03       45 阅读
  4. Python语言-面向对象

    2024-07-23 09:24:03       55 阅读

热门阅读

  1. uniapp picker-view 搜索选择框

    2024-07-23 09:24:03       17 阅读
  2. 前端面试题

    2024-07-23 09:24:03       15 阅读
  3. c 语言 中 是否有 unsigned 安;这种写法?

    2024-07-23 09:24:03       17 阅读
  4. Mojo模型与特征选择:数据科学中的智能筛选艺术

    2024-07-23 09:24:03       16 阅读
  5. PHP 数组排序算法对并行处理的影响

    2024-07-23 09:24:03       17 阅读
  6. Symbol

    2024-07-23 09:24:03       15 阅读
  7. DP学习——状态模式

    2024-07-23 09:24:03       17 阅读
  8. Gradle依赖报告:项目依赖树的X光机

    2024-07-23 09:24:03       17 阅读