数据库管理-第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相关的最后一期,一个总结。
老规矩,知道写了些啥。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胖头鱼的鱼缸(尹海文)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值