數據庫管理-第194期 網絡加速RDMA初探(20240526)

數據庫管理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.pswp.cn/web/15862.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15862.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15862.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

英文 海量的學習句子比單獨的記單詞效果要好,格句致知。

英文 海量的學習句子比單獨的記單詞效果要好 句子有上下文、場景和時態等,能形成劇情,變得生動有趣。 如果一句沒聽懂,還繼續聽就是浪費時間了。要一句一句地深究,不然就要讀好幾遍,還得背誦。要深入理解&#xff0c…

不同的二叉搜索樹(II)題解

toc 🤚我的博客 歡迎光臨我的博客:https://blog.csdn.net/qq_52434217?typeblog 🥛前言 動態規劃是常見的算法思路,動態規劃在計算過程中保存了部分計算結果到內存中,以便于在進行下一次計算時可以直接從內存中獲…

Ubuntu部署Dolphinscheduler單機版并配置PG數據庫

1、下載并解壓Dolphinscheduler DolphinScheduler | 下載 (apache.org) 下載完成后得tar.gz包 下載穩定版 下載穩定版 下載穩定版 tar -zxvf apache-dolphinscheduler-3.1.9-alpha-bin.tar.gz mv apache-dolphinscheduler-3.1.9-alpha-bin dolphinscheduler-bin cd dolph…

【Text2SQL】Spider 數據集

論文:Spider: A Large-Scale Human-Labeled Dataset for Complex and Cross-Domain Semantic Parsing and Text-to-SQL Task ????? EMNLP 2018, arXiv:1809.08887 Dataset: spider GitHub: github.com/taoyds/spider 一、論文速讀 本文提出了 Text2SQL 方向的…

1.4 Mac 電腦 Clion 安裝教程

目錄 1 安裝 2 激活 3 漢化 1 安裝 去 https://www.jetbrains.com/clion/download/other.html 下載: 也可以直接到鏈接進行下載:https

嵌入式全棧開發學習筆記---C語言筆試復習大全23

目錄 聯合體 聯合體的定義 聯合體的長度 如果來判斷設備的字節序? 如何把大端數據轉換成小端數據? 枚舉 枚舉的定義 上一篇復習了結構體,這一節復習聯合體和枚舉。 說明:我們學過單片機的一般都是有C語言基礎的了&#xff…

docker鏡像容器搭建nominatim地理編碼服務

1、下載地圖pbf文件: https://planet.openstreetmap.org/ 2、nominatim官網 https://nominatim.org/release-docs/latest/admin/Installation/ 3、地圖文件打包: docker run -it --shm-size20g \ -e PBF_PATH/nominatim/data/china-latest.osm.pbf \ -e REPLIC…

C語言PTA練習題:三角形類別,輸入三角形三條邊,求面積,四則計算器,猴子吃桃

7-1 三角形類別 輸入三個整數,以這三個數為邊長,判斷是否構成三角形;若不能輸出"no",若構成三角形,進一步判斷它們構的是:銳角三角形或直角三角形或鈍角三角形.分別輸出"ruijiao",&qu…

GitLens或者Git Graph在vscode中對比文件歷史變化,并將歷史變化同步到當前文件中

有時候我們上周改的代碼,現在想反悔把它恢復過來,怎么辦???很好,你有這個需求,說明你找對人了,那就是我們需要在vscode中安裝這個插件:GitLens或者Git Graph,…

門禁-jenkins的構建狀態同步到gitlab提交流水線

API接口文檔 https://docs.gitlab.cn/jh/api/commits.html 配置pipline流水線 生成http請求代碼: 使用HttpRequest插件生成 - sharelibs內容 //這是share libs里的 package devopsdef httpReq(reqType, reqUrl, reqBody, accessToken){def gitServer "…

有一個3x4的矩陣,要求用函數編寫程序求出其中值最大的那個元素,以及其所在的行號和列號

常量和變量可以用作函數實參,同樣數組元素也可以作函數實參,其用法與變量相同。數組名也可以作實參和形參,傳遞的是數組的起始地址。 用數組元素作函數實參: 由于實參可以是表達式,而數組元素可以是表達式的組…

Oracle 12C開機自啟動

Oracle 12C設置開機自啟動 1、本文內容 背景說明檢查Oracle當前環境修改配置文件/etc/oratab添加數據庫啟動腳本dbstart 2、背景說明 最近因上線新的兩套系統,增加4套測試環境,由于昨晚機房電路故障,部分物理服務器需要關鍵,電…

2000 年至 2015 年中國(即水稻、小麥和玉米1km 網格)三種主要作物年收獲面積的時空變化

摘要 可靠、連續的主要作物收獲面積信息對于研究地表動態和制定影響農業生產、土地利用和可持續發展的政策至關重要。然而,中國目前還沒有高分辨率的空間明確和時間連續的作物收獲面積信息。全國范圍內主要農作物收獲面積的時空格局也鮮有研究。在本研究中&#xf…

2024年【熔化焊接與熱切割】考試內容及熔化焊接與熱切割考試報名

題庫來源:安全生產模擬考試一點通公眾號小程序 熔化焊接與熱切割考試內容考前必練!安全生產模擬考試一點通每個月更新熔化焊接與熱切割考試報名題目及答案!多做幾遍,其實通過熔化焊接與熱切割復審模擬考試很簡單。 1、【單選題】…

Django的模型層——2模型實例

1. 類的屬性 objects:是Manager類型的對象,用于與數據庫進行交互 當定義模型類時沒有指定管理器,則Django會為模型類提供一個名為objects的管理器 支持明確指定模型類的管理器 class BookInfo(models.Model):...books models.Manager()當為…

C# 運算符重載的技術深入分析

C# 運算符重載的技術深入分析 一、引言 在C#中,運算符重載是一個允許開發者自定義類或結構中特定運算符行為的特性。通過這個特性,可以為自定義類型創建與內置類型一致的語義,使得代碼更直觀、更易理解。 二、運算符重載基礎 2.1 定義和概…

網絡安全從入門到精通(特別篇I):應急響應之網站入侵排查思路

藍隊應急響應實戰 1. 應急響應-網站入侵-基礎知識2. 應急響應-網站入侵-技能掌握3. 應急響應-網站入侵-案例分析3.1 網站入侵-排查思路-首要任務3.2 IIS&.NET-注入-基于時間配合日志分析3.3 Apache&PHP-漏洞-基于漏洞配合日志分析3.4 Tomcat&JSP-弱口令-基于后門配…

SpringBoot【1】集成 Druid

SpringBoot 集成 Druid 前言創建項目修改 pom.xml 文件添加配置文件開發 java 代碼啟動類 - DruidApplication配置文件-propertiesDruidConfigPropertyDruidMonitorProperty 配置文件-configDruidConfig 控制層DruidController 運行驗證Druid 的監控應用程序 前言 JDK版本&…

33.perf工具使用

文章目錄 基本介紹perf命令使用reference 歡迎訪問個人網絡日志🌹🌹知行空間🌹🌹 基本介紹 Perf(Performance Counters for Linux,性能計數器子系統)是一個Linux性能分析工具,用于分…