国产精品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>

      一種基于DPU芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng)及方法與流程

      文檔序號(hào):39345272發(fā)布日期:2024-09-10 12:08閱讀:19來源:國知局
      一種基于DPU芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng)及方法與流程

      本發(fā)明涉及dpu芯片,具體涉及一種基于dpu芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng)及方法。


      背景技術(shù):

      1、隨著工業(yè)互聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)、5g等產(chǎn)業(yè)的快速發(fā)展,計(jì)算機(jī)需求呈爆炸式增長,數(shù)據(jù)中心的海量數(shù)據(jù)流動(dòng)驅(qū)動(dòng)網(wǎng)卡的端口速率從10g快速向25g甚至100g及以上演進(jìn),云化基礎(chǔ)設(shè)施平臺(tái)基于cpu完成網(wǎng)絡(luò)數(shù)據(jù)轉(zhuǎn)發(fā)的傳統(tǒng)模式出現(xiàn)瓶頸。因此虛擬化技術(shù)出現(xiàn)在了大眾的視野中,虛擬化是一種將計(jì)算機(jī)資源(如處理器、內(nèi)存、存儲(chǔ)和網(wǎng)絡(luò))抽象化的技術(shù),使得多個(gè)操作系統(tǒng)和應(yīng)用程序可以共享同一臺(tái)物理計(jì)算機(jī)的資源。

      2、在完全虛擬化的解決方案中,客戶機(jī)vm要使用底層主機(jī)資源,需要hypervisor來截獲所有的請(qǐng)求指令,然后模擬出這些指令的行為,這樣勢(shì)必會(huì)帶來很多性能上的開銷。半虛擬化通過底層硬件輔助的方式,將部分沒必要虛擬化的指令通過硬件來完成,hypervisor只負(fù)責(zé)完成部分指令的虛擬化,要做到這點(diǎn),需要guest來配合,guest完成不同設(shè)備的前端驅(qū)動(dòng)程序,hypervisor配合guest完成相應(yīng)的后端驅(qū)動(dòng)程序,這樣兩者之間通過某種交互機(jī)制就可以實(shí)現(xiàn)高效的虛擬化過程。

      3、由于不同guest前端設(shè)備其工作邏輯大同小異(如塊設(shè)備、網(wǎng)絡(luò)設(shè)備、pci設(shè)備、balloon驅(qū)動(dòng)等),單獨(dú)為每個(gè)設(shè)備定義一套接口實(shí)屬?zèng)]有必要,而且還要考慮擴(kuò)平臺(tái)的兼容性問題,另外,不同后端hypervisor的實(shí)現(xiàn)方式也大同小異(如kvm、xen等),這個(gè)時(shí)候,就需要一套通用框架和標(biāo)準(zhǔn)接口(協(xié)議)來完成兩者之間的交互過程,virtio就是這樣一套標(biāo)準(zhǔn),它極大地解決了這些不通用的問題。但是如果簡單的實(shí)現(xiàn)virtio協(xié)議,hypervisor配合guest過程中仍然會(huì)產(chǎn)生多次中斷請(qǐng)求的開銷,以及無法解決小包快頻的取描述符時(shí)產(chǎn)生的額外巨大開銷。


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

      1、本發(fā)明的目的在于提供一種基于dpu芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng)及方法,解決了現(xiàn)有技術(shù)主機(jī)與vmm(virtual?machine?monitor,虛擬機(jī))交互時(shí)產(chǎn)生開銷較大的問題。

      2、本發(fā)明通過下述技術(shù)方案實(shí)現(xiàn):

      3、一方面,本發(fā)明提供一種基于dpu芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng),包括主機(jī)、網(wǎng)絡(luò)處理器、virtio引擎以及virtio列隊(duì)組件;

      4、所述主機(jī),用于產(chǎn)生一個(gè)或者多個(gè)數(shù)據(jù)發(fā)生請(qǐng)求,并根據(jù)所述數(shù)據(jù)發(fā)生請(qǐng)求通知網(wǎng)絡(luò)處理器;

      5、所述網(wǎng)絡(luò)處理器,用于以所述數(shù)據(jù)發(fā)生請(qǐng)求為基礎(chǔ),生成取描述符請(qǐng)求,并將所述取描述符請(qǐng)求傳輸至virtio引擎;

      6、所述virtio引擎,用于調(diào)度virtio列隊(duì)組件對(duì)所述取描述符請(qǐng)求進(jìn)行解析,得到解析結(jié)果,并根據(jù)所述解析解控控制virtio列隊(duì)組件執(zhí)行取描述符操作,將執(zhí)行取描述符操作得到的目標(biāo)描述符回復(fù)給網(wǎng)絡(luò)處理器;

      7、所述virtio列隊(duì)組件,用于接受virtio引擎的調(diào)度,以獲取目標(biāo)描述符。

      8、在一中可能的實(shí)施方式中,所述virtio引擎,還用于在將執(zhí)行取描述符操作得到的目標(biāo)描述符回復(fù)給網(wǎng)絡(luò)處理器之后,判斷是否需要執(zhí)行預(yù)取描述符操作,若是,則執(zhí)行預(yù)取描述符操作,并將得到的預(yù)取描述符存儲(chǔ)至virtio引擎的本地mem中,否則結(jié)束此次描述符獲取操作流程。

      9、在一中可能的實(shí)施方式中,所述virtio引擎,還用于實(shí)時(shí)判斷是否需要執(zhí)行預(yù)取描述符操作,若是,則執(zhí)行預(yù)取描述符操作,并將得到的預(yù)取描述符存儲(chǔ)至virtio引擎的本地mem中,否則結(jié)束此次描述符獲取操作流程。

      10、在一中可能的實(shí)施方式中,判斷是否需要執(zhí)行預(yù)取描述符操作,包括:

      11、當(dāng)virtio引擎的本地存儲(chǔ)描述符的剩余內(nèi)存空間大于設(shè)定預(yù)取值或者主機(jī)內(nèi)剩余有效描述符大于設(shè)定值時(shí),確定需要執(zhí)行預(yù)取描述符操作,否則確定不需要執(zhí)行預(yù)取描述符操作。

      12、在一中可能的實(shí)施方式中,以所述數(shù)據(jù)發(fā)生請(qǐng)求為基礎(chǔ),生成取描述符請(qǐng)求,并將所述取描述符請(qǐng)求傳輸至virtio引擎,包括:

      13、當(dāng)主機(jī)產(chǎn)生數(shù)據(jù)發(fā)生請(qǐng)求時(shí),主機(jī)將數(shù)據(jù)按照virtio協(xié)議規(guī)定,生成描述符,并通知網(wǎng)絡(luò)處理器;

      14、網(wǎng)絡(luò)處理器根據(jù)所述數(shù)據(jù)發(fā)生請(qǐng)求對(duì)應(yīng)的通知,生成取描述符請(qǐng)求,并將所述取描述符請(qǐng)求傳輸至virtio引擎,以實(shí)現(xiàn)取描述符操作。

      15、在一中可能的實(shí)施方式中,所述virtio列隊(duì)組件包括狀態(tài)機(jī)模塊、取描述符模塊、取數(shù)據(jù)頭模塊以及描述符信息返回模塊;

      16、所述狀態(tài)機(jī)模塊,用于接受virtio引擎的調(diào)度,對(duì)所述取描述符請(qǐng)求進(jìn)行解析,得到解析結(jié)果;所述解析結(jié)果包括是否需要取描述符以及待取描述符數(shù)量;

      17、所述取描述符模塊,用于根據(jù)所述解析結(jié)果獲取目標(biāo)描述符;

      18、所述狀態(tài)機(jī)模塊,還用于判斷是否需要取數(shù)據(jù)頭,若是,則確定需要執(zhí)行取數(shù)據(jù)頭操作,得到目標(biāo)數(shù)據(jù)頭,否則不需要執(zhí)行取數(shù)據(jù)頭操作;

      19、所述取數(shù)據(jù)頭模塊,用于當(dāng)需要執(zhí)行取數(shù)據(jù)頭操作時(shí),獲取目標(biāo)數(shù)據(jù)頭;

      20、所述描述符信息返回模塊,用于將目標(biāo)描述符以及目標(biāo)數(shù)據(jù)頭反饋給網(wǎng)絡(luò)處理器;

      21、其中,所述取描述符模塊、取數(shù)據(jù)頭模塊以及描述符信息返回模塊均接受狀態(tài)機(jī)模塊的調(diào)控。

      22、在一中可能的實(shí)施方式中,對(duì)所述取描述符請(qǐng)求進(jìn)行解析,得到解析結(jié)果,包括:

      23、對(duì)所述取描述符請(qǐng)求進(jìn)行解析,確定是否需要取描述符以及取描述符的數(shù)量,得到解析結(jié)果。

      24、在一中可能的實(shí)施方式中,判斷是否需要取數(shù)據(jù)頭,包括:

      25、判斷主機(jī)是否需要發(fā)送數(shù)據(jù),若是,則確定需要取數(shù)據(jù)頭,否則確定不需要取數(shù)據(jù)頭。

      26、另一方面,本發(fā)明提供一種基于dpu芯片的virtio架構(gòu)實(shí)現(xiàn)方法,包括:

      27、產(chǎn)生一個(gè)或者多個(gè)數(shù)據(jù)發(fā)生請(qǐng)求;

      28、以所述數(shù)據(jù)發(fā)生請(qǐng)求為基礎(chǔ),生成取描述符請(qǐng)求,并將所述取描述符請(qǐng)求傳輸至virtio引擎;

      29、通過virtio引擎調(diào)度virtio列隊(duì)組件對(duì)所述取描述符請(qǐng)求進(jìn)行解析,得到解析結(jié)果,并根據(jù)所述解析解控控制virtio列隊(duì)組件執(zhí)行取描述符操作,將執(zhí)行取描述符操作得到的目標(biāo)描述符回復(fù)給網(wǎng)絡(luò)處理器。

      30、在一中可能的實(shí)施方式中,將執(zhí)行取描述符操作得到的目標(biāo)描述符回復(fù)給網(wǎng)絡(luò)處理器之后,判斷是否需要執(zhí)行預(yù)取描述符操作,若是,則執(zhí)行預(yù)取描述符操作,并將得到的預(yù)取描述符存儲(chǔ)至virtio引擎的本地mem中,否則結(jié)束此次描述符獲取操作流程;

      31、或者實(shí)時(shí)判斷是否需要執(zhí)行預(yù)取描述符操作,若是,則執(zhí)行預(yù)取描述符操作,并將得到的預(yù)取描述符存儲(chǔ)至virtio引擎的本地mem中,否則結(jié)束此次描述符獲取操作流程。

      32、本發(fā)明提供的一種基于dpu芯片的virtio架構(gòu)實(shí)現(xiàn)系統(tǒng)及方法,通過i/o半虛擬化在dpu芯片上高效的實(shí)現(xiàn)方式,最大限度的減少host與vmm交互時(shí)產(chǎn)生的開銷,更高性價(jià)比實(shí)現(xiàn)網(wǎng)絡(luò)加速效果,通過提出了預(yù)取描述符的技術(shù)方案,能夠降低np等待virtio引擎回復(fù)完成的時(shí)間,進(jìn)一步提高了virtio引擎的工作效率。

      當(dāng)前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1