据库管理-第195期 Oracle & RDMA(20240527)

数据库管理-第195期 Oracle & RDMA(20240527)

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

Oracle使用RDMA的历史是非常早了,这个至少可以追溯到发布于2008年的第一代数据库一体机Exadata,但是除了Exadata,Oracle还在其他地方广泛使用RDMA。

1 RDMA & Exadata

image.png
从第一代与HP合作发布的V1开始,Oracle Exadata就引入了20Gb/s的RDMA网络,V2开始转向SUN,使用40Gb/s的InfiniBand交换机,再到2019年发布使用100Gb/s的RoCE交换机并引入PMEM(非易失or持久化内存)的X8M,RDMA技术的身影贯穿了Exadata的发展历程。
其实使用RDMA得从Exadata本身的硬件架构说起,Exadata没用使用传统的基于FC-SAN的共享存储设备,而是使用类似于IP-SAN的基于多个X86节点的分布式存储,这即控制了成本,也非常有利于存储的横向扩展,单也带来了一些问题,比如延迟和带宽问题,这就是上一期讲到的RDMA的优势,高吞吐低延迟能解决的问题。当然RDMA只是Exadata在存储IO能力强的原因之一,在硬件侧还有V2开始引入的Flash Cache(PCIe SSD),X8M开始引入的PMEM(X10M开始更换为XRMEM),当然最重要的原因还是ESS(Oracle Exadata Storage Software,可详见114和116期)。
除了存储IO层面,对于计算节点层面,在一般自建的RAC集群之中也有一个比较重要的问题,即GC(Global Cache)相关的问题,对于重载业务,因为GC块需要在各个节点间传输并完成融合,RAC中的私网压力是可能非常大的,极易出现性能问题的。所以私网不大好的RAC环境而单实例又不能满足性能问题的场景中,一般通过限制某些业务只在某些节点运行(指定节点VIP或配置节点对应Service);而从网络带宽角度则可以配置多个私网网卡增加带宽缓解吞吐的问题,通过修改MTU等配置来尽可能降低延迟和其他问题;操作系统侧则还需要进行网络的相关配置…通过一系列操作尽可能降低GC传输与融合带来的性能影响。而RDMA又正好能解决这一问题,这一点从我实际使用中可以看出,在使用X86自建RAC迁移至Exadata之后,GC等待几乎消失。

2 RDMA & OCI

Oracle Cloud Infrastructure提供了对大模型训练更好的支持:

  • 超级集群 (OCI Superclusters),提供基于融合以太网(RoCE) v2上的RDMA 的超级集群,15微秒延迟,1600Gbps
  • 目前支持单集群最大4096节点(32768 个NVIDIA A100 GPU)
  • NVIDIA H100 GPU:用于LLM培训的最新一代GPU将在Oracle云上提供,并提供NVIDIA AI Enterprise,其中包括AI工作流程每个步骤的基本处理引擎,从数据处理和AI模型训练到模拟和大规模部署

相较于一般自建的GPU集群,OCI提供了性能更加强大、架构统一、运行稳定性强的易用的可服务于任何AI大模型训练的GPU计算能力,RoCE环境在这之中发挥了重要作用。

3 RDMA的难点

其实,在Oracle RAC的使用过程中,很多时候客户也会参照Oracle Exadata的硬件配置来配置自己的硬件,其中就不乏InfiniBand交换机,但是最终的实际性能表现却不尽如人意,这其中也一部分是没有做好或者压根没法针对数据库可使用的RDMA进行配置。到头来InfiniBand交换机也变成了单纯的更大带宽的交换机,花了更多的钱却没办成更好的事。
另一方面,RDMA在很多存储软件、应用上的实现是相对简单的,但是要实现多路多活却很难,所以我们经常看到一些国产一体机,在RDMA的使用上是Active-Bckup的配置状态,但在IO上,一次主备切换所花费的时间已经可以带来灾难性的后果了。
最后,硬件层面RDMA如需与普通内存和其他类似于PMEM的内存联合使用,需要硬件之间充分对接的;而数据库软件层面,让数据块使用RDMA协议进行传输充分利用RDMA的优势,也需要软件与RDMA相关软硬件进行对接。

总结

本期讲解了RDMA在Oracle Exadata和OCI上的应用,是如何助力数据库与AI的,后面将使用RDMA进行一次实战测试。
老规矩,知道写了些啥。

  • 10
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

胖头鱼的鱼缸(尹海文)

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

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

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

打赏作者

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

抵扣说明:

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

余额充值