System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及pcie,尤其涉及一種pcie設備間的內存快速訪問方法、設備及介質。
技術介紹
1、5g的到來再次推動了物聯網的發展,隨之而來的是海量數據。海量數據由于保存占用大量空間和資源而需要及時處理。異構計算是一種特殊新穎的并行計算方式,它能夠根據不同計算單元的結構特點為其分配不同的計算任務,在提高服務器計算性能、能效比和計算實時性方面顯示出傳統架構所不具備的優勢,因此異構計算技術是解決未來數據中心能效問題的重要手段。異構系統中涉及多種計算單元,要想發揮出各計算單元的性能,需要以高帶寬和低延遲實現它們之間的實時數據傳輸。
2、然而,當前異構計算領域仍面臨諸多挑戰,嚴重限制了其性能的充分發揮。總結了如下幾點問題:(1)opencl通用性更強,但是針對實際計算任務,編程復雜困難,計算結果正確性難以保證;(2)高負載運算時共享內存的通信方式對pcie設備通信壓力過大,限制了各計算單元性能的發揮;(3)基本沒有考慮計算單元調度策略,無法適應未來數據中心應用。
3、因此,如何解決傳統方案中cpu內存作為中轉內存區域進行數據拷貝從而影響數據傳輸效率的問題。
技術實現思路
1、本申請實施例提供了一種pcie設備間的內存快速訪問方法、設備及介質,用于解決如下的技術問題:傳統方案中cpu內存作為中轉內存區域進行數據拷貝影響數據傳輸效率的問題。
2、第一方面,本申請實施例提供了一種pcie設備間的內存快速訪問方法,方法包括:將第一pcie設備gpu的內存區域信息發送
3、在本申請的一種實現方式中,將第一pcie設備gpu的內存區域映射到第二pcie設備的地址空間,具體包括:根據起始虛擬地址和內存區域長度信息,在第二pcie設備中構建內存翻譯表,并將內存翻譯表發送至第二pcie設備的硬件進行內存注冊;其中,內存翻譯表包含若干條第一pcie設備gpu的內存區域信息;第二pcie設備的硬件分別根據內存翻譯表中的各條內存區域信息,構建對應的內存保護表;其中,內存保護表包含待存儲物理地址信息。
4、在本申請的一種實現方式中,在對第二pcie設備的地址空間進行memory?pinning操作之前,方法還包括:判斷第二pcie設備的物理內存是否滿足固定地址空間的需求;若第二pcie設備的物理內存不滿足固定需求,識別存儲占用信息,并基于存儲占用信息,發起內容釋放請求。
5、在本申請的一種實現方式中,在對第二pcie設備的地址空間進行memory?pinning操作之后,方法還包括:向第一pcie設備發送確認信息;其中,確認信息包括第二pcie設備已成功固定地址空間的標識;在第一pcie設備接收到確認信息后,向第二pcie設備開放內存區域的訪問限制,以允許第二pcie設備對內存區域進行拷貝。
6、在本申請的一種實現方式中,在向第二pcie設備開放內存區域的訪問限制之后,方法還包括:在內存翻譯表中構建內存區域的狀態信息表項;其中,狀態信息用于標識內存區域是否正在被訪問或已被鎖定。
7、在本申請的一種實現方式中,方法還包括:在第二pcie設備訪問內存區域時,查詢內存翻譯表中的狀態信息,以確定內存區域是否正在被訪問或已被鎖定;若內存區域正在被訪問或已被鎖定,監控狀態信息,并在狀態信息變化為可訪問狀態時,對內存區域進行訪問,以執行數據拷貝任務。
8、在本申請的一種實現方式中,對內存區域進行訪問,以執行數據拷貝任務,具體包括:基于內存翻譯表中包含的內存區域信息,對內存區域進行訪問,并將內存區域中的待傳輸數據進行拷貝;基于內存翻譯表中包含的內存保護表確定對應的內存保護表,并基于內存保護表包含待存儲物理地址信息,將拷貝的待傳輸數據存儲至第二pcie設備的物理內存中。
9、在本申請的一種實現方式中,方法還包括:在第二pcie設備訪問內存區域時,記錄訪問日志;其中,訪問日志包括訪問時間、訪問設備標識、訪問的內存區域信息。
10、第二方面,本申請實施例還提供了一種pcie設備間的內存快速訪問設備,設備包括:至少一個處理器;以及,與至少一個處理器通信連接的存儲器;其中,存儲器存儲有可被至少一個處理器執行的指令,指令被至少一個處理器執行,以使至少一個處理器能夠執行如上述任一項的一種pcie設備間的內存快速訪問方法。
11、第三方面,本申請實施例還提供了一種pcie設備間的內存快速訪問的非易失性計算機存儲介質,存儲有計算機可執行指令,計算機可執行指令被執行時,實現如上述任一項的一種pcie設備間的內存快速訪問方法。
12、本申請實施例提供的一種pcie設備間的內存快速訪問方法、設備及介質,具有以下有益效果:
13、1.提升內存訪問速度:通過直接將第一pcie設備(如gpu)的內存區域信息發送給第二pcie設備,并映射到第二pcie設備的地址空間,同時執行memory?pinning操作固定地址空間,減少了內存訪問時的地址轉換和內存管理開銷,從而顯著提升了pcie設備間的內存訪問速度。這一改進對于需要高速數據傳輸和處理的應用場景,如高性能計算、實時數據處理等,具有尤為重要的意義。
14、2.增強內存管理靈活性:本專利技術中的內存映射和memory?pinning操作,可以根據實際需求動態調整內存區域的訪問權限和固定狀態。同時,通過構建內存翻譯表和內存保護表,實現了對內存區域的精確管理和保護,既保證了內存訪問的安全性,又提高了內存管理的靈活性。
15、3.優化內存資源利用:在執行memory?pinning操作前,本專利技術通過判斷第二pcie設備的物理內存是否滿足固定需求,并基于存儲占用信息發起內容釋放請求,有效避免了內存資源的浪費。此外,通過構建內存區域的狀態信息表項,實時監控內存區域的訪問狀態,進一步提高了內存資源的利用效率。
16、4.簡化內存訪問流程:本專利技術通過構建內存翻譯表和內存保護表,簡化了pcie設備間的內存訪問流程。第一pcie設備在接收到確認信息后,即可向第二pcie設備開放內存區域的訪問限制,無需復雜的地址轉換和權限驗證過程,從而降低了內存訪問的復雜度和延遲。
17、5.增強數據安全性:本專利技術通過構建內存保護表和記錄訪問日志,實現了對內存區域訪問的精細控制和追蹤。在訪問內存區域時,需查詢內存翻譯表中的狀態信息,以確保內存區域未被其他設備占用或鎖定,從而有效防止了數據沖突和非法訪問。同時,訪問日志的記錄也為后續的數據分析和故障排查提供了有力支持。
本文檔來自技高網...【技術保護點】
1.一種PCIe設備間的內存快速訪問方法,其特征在于,所述方法包括:
2.根據權利要求1所述的一種PCIe設備間的內存快速訪問方法,其特征在于,將所述第一PCIe設備GPU的內存區域映射到第二PCIe設備的地址空間,具體包括:
3.根據權利要求1所述的一種PCIe設備間的內存快速訪問方法,其特征在于,在對所述第二PCIe設備的地址空間進行Memory?Pinning操作之前,所述方法還包括:
4.根據權利要求2所述的一種PCIe設備間的內存快速訪問方法,其特征在于,在對所述第二PCIe設備的地址空間進行Memory?Pinning操作之后,所述方法還包括:
5.根據權利要求4所述的一種PCIe設備間的內存快速訪問方法,其特征在于,在向所述第二PCIe設備開放所述內存區域的訪問限制之后,所述方法還包括:
6.根據權利要求5所述的一種PCIe設備間的內存快速訪問方法,其特征在于,所述方法還包括:
7.根據權利要求6所述的一種PCIe設備間的內存快速訪問方法,其特征在于,對所述內存區域進行訪問,以執行數據拷貝任務,
8.根據權利要求7所述的一種PCIe設備間的內存快速訪問方法,其特征在于,所述方法還包括:
9.一種PCIe設備間的內存快速訪問設備,其特征在于,所述設備包括:
10.一種PCIe設備間的內存快速訪問的非易失性計算機存儲介質,存儲有計算機可執行指令,其特征在于,所述計算機可執行指令被執行時,實現如權利要求1-8任一項所述的一種PCIe設備間的內存快速訪問方法。
...【技術特征摘要】
1.一種pcie設備間的內存快速訪問方法,其特征在于,所述方法包括:
2.根據權利要求1所述的一種pcie設備間的內存快速訪問方法,其特征在于,將所述第一pcie設備gpu的內存區域映射到第二pcie設備的地址空間,具體包括:
3.根據權利要求1所述的一種pcie設備間的內存快速訪問方法,其特征在于,在對所述第二pcie設備的地址空間進行memory?pinning操作之前,所述方法還包括:
4.根據權利要求2所述的一種pcie設備間的內存快速訪問方法,其特征在于,在對所述第二pcie設備的地址空間進行memory?pinning操作之后,所述方法還包括:
5.根據權利要求4所述的一種pcie設備間的內存快速訪問方法,其特征在于,在向所述第二pc...
【專利技術屬性】
技術研發人員:王明圣,高晨,趙鑫鑫,
申請(專利權)人:山東浪潮科學研究院有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。