国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于socket接口的通信方法和系統(tǒng)與流程

      文檔序號:39346447發(fā)布日期:2024-09-10 12:10閱讀:26來源:國知局
      一種基于socket接口的通信方法和系統(tǒng)與流程

      本申請涉及通信,尤其涉及一種基于socket接口的通信方法和系統(tǒng)。


      背景技術(shù):

      1、大規(guī)模數(shù)據(jù)分析和事務(wù)處理、高頻交易系統(tǒng)、實(shí)時(shí)數(shù)據(jù)同步和備份、大型并行計(jì)算任務(wù)和人工智能模型訓(xùn)練、以及云計(jì)算和數(shù)據(jù)中心內(nèi)部網(wǎng)絡(luò)優(yōu)化場景,對主機(jī)間通信性能有著嚴(yán)格的要求。

      2、用戶態(tài)遠(yuǎn)程直接內(nèi)存訪問?(remote?direct?memory?access,rdma)verbs?是上述高性能網(wǎng)絡(luò)通信場景下的第一選擇,其允許用戶態(tài)進(jìn)程繞過內(nèi)核和中央處理器(centralprocessing?unit,簡稱為?cpu)直接在網(wǎng)絡(luò)硬件上操作數(shù)據(jù),能顯著減少延遲和cpu負(fù)載,提供更高的數(shù)據(jù)吞吐量和更低的數(shù)據(jù)傳輸延遲。然而基于?verbs開發(fā)rdma應(yīng)用要求開發(fā)者和運(yùn)維團(tuán)隊(duì)不僅需要具備專業(yè)的網(wǎng)絡(luò)和硬件知識,還需要持續(xù)投入時(shí)間和資源進(jìn)行技術(shù)更新和系統(tǒng)優(yōu)化,從而確保系統(tǒng)的高效運(yùn)行和穩(wěn)定性。

      3、共享內(nèi)存通信(shared?memory?communication,smc)是?ibm?提出的一種高性能網(wǎng)絡(luò)協(xié)議,無需應(yīng)用任何修改即可將tcp通信透明替換成rdma通信,解決了上述基于?verbs接口編程過于復(fù)雜的問題,同時(shí)將維護(hù)成本限制在內(nèi)核內(nèi),極大地降低了開發(fā)者和維護(hù)團(tuán)隊(duì)的成本。然而,為了完全兼容標(biāo)準(zhǔn)的?tcp?應(yīng)用,smc?在實(shí)現(xiàn)上引入了用戶態(tài)和內(nèi)核之間切換的指令開銷和拷貝開銷。針對該技術(shù)問題,相關(guān)技術(shù)尚未提出有效地解決方案。


      技術(shù)實(shí)現(xiàn)思路

      1、本申請實(shí)施例提供了一種基于socket接口的通信方法和系統(tǒng),以解決上述一個(gè)或多個(gè)技術(shù)問題。

      2、第一方面,本申請實(shí)施例提供了一種基于socket接口的通信方法,包括:

      3、在本地節(jié)點(diǎn)與遠(yuǎn)端節(jié)點(diǎn)支持共享內(nèi)存通信smc協(xié)議且目標(biāo)鏈路可達(dá)的情況下,將用戶態(tài)申請的本地內(nèi)存地址注冊到內(nèi)核中,得到本地地址注冊信息,其中,所述目標(biāo)鏈路與所述smc的底層硬件設(shè)備類型對應(yīng);

      4、將所述本地地址注冊信息發(fā)送至所述遠(yuǎn)端節(jié)點(diǎn),并接收所述遠(yuǎn)端節(jié)點(diǎn)發(fā)送的遠(yuǎn)端地址注冊信息;

      5、在所述用戶態(tài)將目標(biāo)數(shù)據(jù)寫入所述本地內(nèi)存地址的空間后,通過直接內(nèi)存訪問方式從所述用戶態(tài)讀取所述目標(biāo)數(shù)據(jù)并將所述目標(biāo)數(shù)據(jù)傳輸至所述遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中。

      6、第二方面,本申請實(shí)施例提供了一種socket接口,包括:

      7、第一子接口,用于在本地節(jié)點(diǎn)與遠(yuǎn)端節(jié)點(diǎn)支持共享內(nèi)存通信smc協(xié)議且目標(biāo)鏈路可達(dá)的情況下,將用戶態(tài)申請的本地內(nèi)存地址注冊到內(nèi)核中,得到本地地址注冊信息,其中,所述目標(biāo)鏈路與所述smc的底層硬件設(shè)備類型對應(yīng),將所述本地地址注冊信息發(fā)送至所述遠(yuǎn)端節(jié)點(diǎn),并接收所述遠(yuǎn)端節(jié)點(diǎn)發(fā)送的遠(yuǎn)端地址注冊信息;

      8、第二子接口,用于在所述用戶態(tài)將目標(biāo)數(shù)據(jù)寫入所述本地內(nèi)存地址的空間后,通過直接內(nèi)存訪問方式從所述用戶態(tài)讀取所述目標(biāo)數(shù)據(jù)并將所述目標(biāo)數(shù)據(jù)傳輸至所述遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中。

      9、第三方面,本實(shí)施例提供了一種基于socket接口的通信系統(tǒng),包括:

      10、本地節(jié)點(diǎn),用于在本地節(jié)點(diǎn)與遠(yuǎn)端節(jié)點(diǎn)支持共享內(nèi)存通信smc協(xié)議且目標(biāo)鏈路可達(dá)的情況下,將用戶態(tài)申請的本地內(nèi)存地址注冊到內(nèi)核中,得到本地地址注冊信息,其中,所述目標(biāo)鏈路與所述smc的底層硬件設(shè)備類型對應(yīng);將所述本地地址注冊信息發(fā)送至所述遠(yuǎn)端節(jié)點(diǎn),并接收所述遠(yuǎn)端節(jié)點(diǎn)發(fā)送的遠(yuǎn)端地址注冊信息;在所述用戶態(tài)將目標(biāo)數(shù)據(jù)寫入所述本地內(nèi)存地址的空間后,通過直接內(nèi)存訪問方式從所述用戶態(tài)讀取所述目標(biāo)數(shù)據(jù)并將所述目標(biāo)數(shù)據(jù)傳輸至所述遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中;

      11、遠(yuǎn)端節(jié)點(diǎn),用于確定遠(yuǎn)端地址注冊信息,并向所述本地節(jié)點(diǎn)發(fā)送所述遠(yuǎn)端地址注冊信息?,以及在接收到所述目標(biāo)數(shù)據(jù)后,將所述目標(biāo)數(shù)據(jù)寫入到所述遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中。

      12、第四方面,本申請實(shí)施例提供了一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上的計(jì)算機(jī)程序,所述處理器在執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)上述任一項(xiàng)所述的方法。

      13、第五方面,本申請實(shí)施例提供了一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)內(nèi)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一項(xiàng)所述的方法。

      14、第六方面,本申請實(shí)施例提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,所示計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述任一項(xiàng)所述的方法。

      15、與相關(guān)技術(shù)相比,本申請具有如下優(yōu)點(diǎn):

      16、本申請實(shí)施例對socket接口進(jìn)行了擴(kuò)展,擴(kuò)展后的socket接口在本地節(jié)點(diǎn)與遠(yuǎn)端節(jié)點(diǎn)支持共享內(nèi)存通信smc協(xié)議且目標(biāo)鏈路可達(dá)的情況下,將用戶態(tài)申請的本地內(nèi)存地址注冊到內(nèi)核中,得到本地地址注冊信息,其中,該目標(biāo)鏈路與該smc的底層硬件設(shè)備類型對應(yīng);將該本地地址注冊信息發(fā)送至該遠(yuǎn)端節(jié)點(diǎn),并獲取該遠(yuǎn)端節(jié)點(diǎn)的遠(yuǎn)端地址注冊信息;在該用戶態(tài)將目標(biāo)數(shù)據(jù)寫入該本地內(nèi)存地址的空間后,通過直接內(nèi)存訪問方式從該用戶態(tài)讀取該目標(biāo)數(shù)據(jù)并將該目標(biāo)數(shù)據(jù)傳輸至該遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中。也就是說,本申請實(shí)施例擴(kuò)展后的socket接口可以允許應(yīng)用使用用戶態(tài)內(nèi)存區(qū)域直接進(jìn)行數(shù)據(jù)通信,而無需cpu在通信數(shù)據(jù)路徑上進(jìn)行任何操作,解決了相關(guān)技術(shù)中基于smc協(xié)議通信時(shí),需要cpu參與內(nèi)核態(tài)和用戶態(tài)之間內(nèi)存拷貝和語義轉(zhuǎn)換,導(dǎo)致通信性能降低的技術(shù)問題,進(jìn)而達(dá)到了提高通信性能的技術(shù)效果。

      17、上述說明僅是本申請技術(shù)方案的概述?,為了能夠更清楚了解本申請的技術(shù)手段,可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本申請的上述和其他目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請的具體實(shí)施方式。



      技術(shù)特征:

      1.一種基于socket接口的通信方法,包括:

      2.根據(jù)權(quán)利要求1所述的方法,其中,通過直接內(nèi)存訪問方式從所述用戶態(tài)讀取所述目標(biāo)數(shù)據(jù)并將所述目標(biāo)數(shù)據(jù)傳輸至所述遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中包括:

      3.根據(jù)權(quán)利要求2所述的方法,其中,將所述目標(biāo)數(shù)據(jù)映射到所述內(nèi)核中,得到數(shù)據(jù)映射關(guān)系包括:

      4.根據(jù)權(quán)利要求1所述的方法,其中,將所述本地地址注冊信息發(fā)送至所述遠(yuǎn)端節(jié)點(diǎn)包括:

      5.根據(jù)權(quán)利要求1所述的方法,其中,所述目標(biāo)數(shù)據(jù)包括:應(yīng)用數(shù)據(jù)、用戶態(tài)自定義控制數(shù)據(jù),其中,所述用戶態(tài)自定義控制數(shù)據(jù)包括以下至少之一:遠(yuǎn)端地址注冊信息、寫入偏移信息、寫入長度信息、讀取偏移信息、讀取長度信息。

      6.根據(jù)權(quán)利要求1至5任一項(xiàng)所述的方法,其中,所述底層硬件設(shè)備包括內(nèi)部共享內(nèi)存ism設(shè)備或者遠(yuǎn)程直接內(nèi)存訪問rdma設(shè)備。

      7.根據(jù)權(quán)利要求6所述的方法,其中,在所述底層硬件設(shè)備為所述ism設(shè)備時(shí),所述目標(biāo)鏈路為直接內(nèi)存訪問dma鏈路,在所述底層硬件設(shè)備為所述rdma設(shè)備時(shí),所述目標(biāo)鏈路為rdma鏈路。

      8.一種socket接口,包括:

      9.根據(jù)權(quán)利要求8所述的socket接口,其中,所述目標(biāo)數(shù)據(jù)包括:應(yīng)用數(shù)據(jù)、用戶態(tài)自定義控制數(shù)據(jù),其中,所述用戶態(tài)自定義控制數(shù)據(jù)包括以下至少之一:遠(yuǎn)端地址注冊信息、寫入偏移信息、寫入長度信息、讀取偏移信息、讀取長度信息。

      10.一種基于socket接口的通信系統(tǒng),包括:

      11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述底層硬件設(shè)備包括內(nèi)部共享內(nèi)存ism設(shè)備或者遠(yuǎn)程直接內(nèi)存訪問rdma設(shè)備,在所述底層硬件設(shè)備為所述ism設(shè)備時(shí),所述目標(biāo)鏈路為直接內(nèi)存訪問dma鏈路,在所述底層硬件設(shè)備為所述rdma設(shè)備時(shí),所述目標(biāo)鏈路為rdma鏈路。

      12.一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上的計(jì)算機(jī)程序,所述處理器在執(zhí)行所述計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)權(quán)利要求1-?7中任一項(xiàng)所述的方法。

      13.一種計(jì)算機(jī)可讀存儲介質(zhì),所述計(jì)算機(jī)可讀存儲介質(zhì)內(nèi)存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-?7中任一項(xiàng)所述的方法。

      14.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,所示計(jì)算機(jī)指令被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-?7中任一項(xiàng)所述的方法。


      技術(shù)總結(jié)
      本申請?zhí)峁┝艘环N基于socket接口的通信方法和系統(tǒng),其中,通信方法包括:在本地節(jié)點(diǎn)與遠(yuǎn)端節(jié)點(diǎn)支持共享內(nèi)存通信SMC協(xié)議且目標(biāo)鏈路可達(dá)的情況下,將用戶態(tài)申請的本地內(nèi)存地址注冊到內(nèi)核中,得到本地地址注冊信息,其中,目標(biāo)鏈路與SMC的底層硬件設(shè)備類型對應(yīng);將本地地址注冊信息發(fā)送至遠(yuǎn)端節(jié)點(diǎn),并獲取遠(yuǎn)端節(jié)點(diǎn)的遠(yuǎn)端地址注冊信息;在用戶態(tài)將目標(biāo)數(shù)據(jù)寫入本地內(nèi)存地址的空間后,通過直接內(nèi)存訪問方式從用戶態(tài)讀取目標(biāo)數(shù)據(jù)并將目標(biāo)數(shù)據(jù)傳輸至遠(yuǎn)端地址注冊信息對應(yīng)的遠(yuǎn)端內(nèi)存地址的空間中,解決了相關(guān)技術(shù)中基于SMC協(xié)議通信,需要CPU參與內(nèi)核態(tài)和用戶態(tài)之間內(nèi)存拷貝和語義轉(zhuǎn)換,導(dǎo)致通信性能降低的技術(shù)問題。

      技術(shù)研發(fā)人員:施威,李靖軒
      受保護(hù)的技術(shù)使用者:阿里云計(jì)算有限公司
      技術(shù)研發(fā)日:
      技術(shù)公布日:2024/9/9
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1