数据库管理-第194期 网络加速RDMA初探(20240526)

news2024/9/20 20:30:52

数据库管理194期 2024-05-26

  • 数据库管理-第194期 网络加速RDMA初探(20240526)
    • 1 概念
    • 2 发展
    • 3 使用
    • 总结

数据库管理-第194期 网络加速RDMA初探(20240526)

作者:胖头鱼的鱼缸(尹海文)
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。
除授权转载并标明出处外,均为“非法”抄袭

之前在几场现场演讲和直播过程中提到过RDMA,也有很多人在问这么一个技术。这是一个很早就用在Oracle Exadata一体机上的网络技术,可以说一体机强大的性能一部分原因源自于此。从本期开始,将通过若干期内容分享,深入RDMA网络,探究其在数据库层面的应用。

1 概念

RDMARemote Direct Memory Access,可译作远程直接内存访问,是一种不经由操作系统从一台计算机到另一台计算机直接访问内存的技术。由于无需经过操作系统内核对网络包进行封装,可以节省大量CPU资源占用,同时也提供了高吞吐、低延迟网络,尤其适用于大规模并行计算机集群。
RDMA支持网络适配器直接通过网线将数据传输至应用内存或从应用内存直接传输至网线的零拷贝(Zero-copy)网络传输。这种传不再需要应用程序内存和操作系统数据缓存的数据复制拷贝操作。这种传输不需要CPU、缓存或上下文交换参与,并且传输可以与其他系统操作并行执行。使用RMDA可以有效减少消息传输的延迟。
但是,这种策略也会出现目标节点不会受到请求完成的通知(单向通信)等相关的一些问题。
image.png

2 发展

截止2018年,由于RDMA功能的不断完善与增强,在网络基础设施上的优异性能表现,获得了广泛的认可。例如:

  • RDMA over Converged Ethernet (RoCE)可以在有损或无损的设施上运行
  • iWRAP能够在物理层使用TCP/IP作为传输实现以太网RDMA

这使得RDMA将性能和延迟优势与低成本、标准化解决方案相结合。RDMA联盟和DAT Collaborative在RDMA协议和API的开发指定中发挥了关键通。
目前基于RDMA的高带宽网络设备,速度已达到100Gbit/s以上。IBM、红帽、Oracle等软件供应商已在最新产品中支持这些API。
硬件供应商已经开始开发基于RDMA的更高容量网络适配器,据报道其速率为100 Gbit/s。IBM、Red Hat和Oracle Corporation等软件供应商在其最新产品中支持这些API,截至2013年,工程师已开始开发通过以太网实现RDMA的网络适配器。Red Hat Enterprise Linux和Red Hat Enterprise MRGhave都支持RDMA。Microsoft通过SMB Direct在Windows Server 2012中支持RDMA。VMware的ESXi产品自2015年起也支持RDMA。
常见RDMA包含虚拟网络架构(Virtual Interface Architecture)、RDMA over Converged Ethernet (RoCE)、InfiniBand、Omni-Path和iWARP.
image.png

3 使用

应用程序访问控制可以通过最初设计用于InfiniBand的协议来使用RDMA的API,这些API可以用于任何底层RDMA实现。使用发送和完成队列,应用程序通过将工作队列条目(work queue entries,WEQs)提交到提交队列(submission queue,SQ)并从完成队列(completion queue,CQ)获取响应通知来执行RDMA操作。
RDMA可以通过可靠连接(Reliably Connected,RC)和不可靠数据包(Unreliable Datagram,UD)传输协议来进行数据的可靠或不可靠传输。前者有点事不丢失请求,而后者处理多个连接时则需要更少的队列对。这是因为UD是无连接的,允许单个主机使用单个队列与任何其他主机通信。

RDMA可以分别通过可靠连接(RC)和不可靠数据报(UD)传输协议可靠或不可靠地传输数据。前者的优点是保留请求(不会丢失请求),而后者在处理多个连接时需要更少的队列对。这是因为UD是无连接的,允许单个主机使用单个队列与任何其他主机通信。

总结

从前面的介绍可见,RDMA作为一款优秀的低延迟高吞吐量网络技术,是可以极大提升网络性能。后面将深入Exadata对RDMA的使用、基于RDMA技术的配置实操以及RDMA在数据库层面的使用愿景深入了解RDMA。
老规矩,知道写了些啥。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1697053.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PLSQL连接Linux Oracle21c

PLSQL连接Linux Oracle21c 一、安装PLsql 下载官网 https://www.allroundautomations.com/registered-plsqldev/ 二、Oracle Instant Client下载 使用plsql连接oracle的时候是需要本地先安装oracle客户端,英文名就是Oracle Instant Client。 官方下载地址&…

RedHat9 | DNS剖析-配置辅助DNS服务器

一、实验环境 1、辅助域名DNS服务器 DNS通过划分为若干个区域进行管理,每一个区域由1台或多台DNS服务器负责解析,如果仅仅采用1台DNS服务器,在DNS服务器出现故障后,用户将无法完成解析。 辅助DNS服务器的优点 容灾备份&#x…

PaddleSeg训练推理及模型转换全流程

文章目录 1、数据准备1.1 数据标注1.2 数据导出1.3 标签较验1.4 数据集整理1.5 标签可视化 2、 模型训练3、模型验证4、模型推理5、模型导出6、导出文件的推理7、将模型转换成onnx8、使用onnx进行推理 本文记录一下使用paddleseg进行语议分割模型对人体进行分割的使用流程。事实…

自然资源-各级国土空间总体规划的审查要点及流程总结

自然资源-各级国土空间总体规划的审查要点及流程总结 国土空间规划是对一定区域国土空间开发保护在空间和时间上作出的安排,包括总体规划、详细规划和相关专项规划。 国土空间规划管理是国土空间规划中重要的一环。中共中央、国务院发布《关于建立国土空间规划体系…

数据与结构--AVL树

目录 AVL树的概念 AVL树的性质 AVL树结点的定义 AVL树的插入 AVL树的旋转 左单旋 右单旋 左右双旋 右左单旋 AVL树的验证 AVL树的查找 AVL树的修改 AVL树的删除 AVL树的概念 二叉搜索树虽然可以提高我们查找数据的效率,但如果插入二叉搜索树的数据是…

福昕PDF使用技巧

因为突然间学校的企业版WPS突然很多功能就不能使用了,所以转向福昕PDF。 一、合并文件 添加需要合并的文件,可以使用ctrla等方式全选 找到最上方的“合并文件” 二、文本注释

linux中最常用的文件管理命令

linux中最常用的文件管理命令 linux中最常用的文件管理命令最常用的且没有之一的 ls命令格式不加任何参数使用-l显示更多细节使用-t按照时间排序使用-r按照时间逆序使用-S根据文件大小排序 查看庐山真面貌的cat实例 :简单显示内容实例 :显示行号 -n实例 …

Python实现xml解析并输出到Excel上

1.编写xml文件 2.使用Python的ElementTree模块来解析XML import xml.etree.ElementTree as ET from openpyxl import Workbook # 解析XML函数 def parse_xml(xml_file):tree ET.parse(xml_file)root tree.getroot() --打开根节点data []for user in root.findall(Users/Us…

LeetCode 124 —— 二叉树中的最大路径和

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 二叉树的问题首先我们要想想是否能用递归来解决,本题也不例外,而递归的关键是找到子问题。 我们首先来看看一棵最简单的树,也就是示例 1。这样的一棵树总共有六条路径&#xf…

【三维修复、分割与编辑】InFusion、Bootstrap 3D、GaussianGrouping、GaussianEditor等(论文总结)

提示: 文章目录 前言一、InFusion:扩散模型助力,效率提高20倍!(2024)1. 摘要2. 算法3. 效果 二、2D Gaussian Splatting三、Bootstrap 3D:从扩散模型引导三维重建1.摘要2.相关工作3.方法1.Boostrapping by Diffusion 通过扩散模型…

文心一言 VS 讯飞星火 VS chatgpt (267)-- 算法导论20.2 2题

二、写出 PROTO-vEB-DELETE 的伪代码。通过扫描簇内的相关位,来更新相应的 summary 位。并且你实现的伪代码的最坏情况运行时间是多少?如果要写代码,请用go语言。 文心一言: 首先,让我们回顾一下vEB(Van …

项目管理-质量管理

目录 一、质量管理概述 1.1 GB/T16260.1-2006 定义 1.2 GB/T19000-ISO 9000(2000)系列标准定义 二、软件质量模型 2.1 软件全生命周期质量模型 2.1.1 内部和外部质量的质量模型 2.1.2 使用质量的质量模型 2.1.3 McCall 质量模型 2.1.4 质量特性度量 2.1.5 相关概念 三…

对话掌阅科技CTO孙凯:如何用生成式AI重新定义阅读体验

导读:生成式AI能对阅读做本质的改造吗? 读一本好书,犹如和一位智者对话。 对于很多热爱读书的人,这是一种令人憧憬的阅读体验。以往,这种对话只能在读者的头脑和思维中进行。 有没有可能,读者可以随时随地和…

使OpenCV可以读取中文路径图片的方法

一.问题复现 1.代码 #! /usr/bin/env python # -*- coding: utf-8 -*-# File: show_img.pyimport cv2# 读取图片 img cv2.imread("车牌素材/冀A.png")# 显示图片 cv2.imshow("img", img) cv2.waitKey(0)2.报错截图 3.报错内容 [ WARN:00.05…

[JAVASE] 类和对象综合应用 -- 图书管理系统

目录 零. 概览 一. 抽象出图书管理系统所涉及的对象 1.1 Book 1.2 User 1.3 Operation 二. 实现 User 包中的对象 2.1 User父类 2.2 NormalUser 对象 2.3 AdminUser 对象 2.4 小总结(1) 三. 实现Book包中的对象 3.1 Book 对象 3.2 BookList 对象 四. 实现 Operation…

大数据工具之HIVE-参数调优,调度乱码(二)

一、调度乱码 在利用HUE工具,搭建WORKFLOW流程的过程中,如果直接执行hivesql数据正常,不会出现乱码现象,如果利用WORKFLOW搭建的流程,进行数据的拉取,会出现数据中文乱码现象,这些乱码主要是由于select 中的硬编码中文导致出现的现象 具体现象如下: select case when …

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第26节-内嵌blender展厅

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第26节-内嵌blender展厅 使用dtns.network德塔世界(开源的智体世界引擎),策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界…

人工智能万卡 GPU 集群的硬件和网络架构

万卡 GPU 集群互联:硬件配置和网络设计 一、背景 自从 OpenAI 推出 ChatGPT 以来,LLM 迅速成为焦点关注的对象,并取得快速发展。众多企业纷纷投入 LLM 预训练,希望跟上这一波浪潮。然而,要训练一个 100B 规模的 LLM&a…

OpenWrt U盘安装使用 详细教程 x86/64平台 软路由实测 系列一

1 官方稳定 版:OpenWrt 23.05 OpenWrt Downloads #根据实际情况选择 PC支持uefi,选择版本:https://downloads.openwrt.org/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-generic-ext4-combined-efi.img.gz 2 rufus 制作U盘启动 3 制作好的U盘,接入主…

经典链表题-链表回文结构

🎉🎉🎉欢迎莅临我的博客空间,我是池央,一个对C和数据结构怀有无限热忱的探索者。🙌 🌸🌸🌸这里是我分享C/C编程、数据结构应用的乐园✨ 🎈🎈&…