System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本專利技術涉及通信,尤其涉及數據多播方法、裝置、系統、電子設備及存儲介質。
技術介紹
1、在大規模模型訓練中,當使用多個gpu/cpu(graphics?processing?unit/centralprocessing?unit,圖形處理單元/中央處理單元)進行模型并行、數據并行或流水線并行處理時,經常需要執行數據多播操作,以確保所有參與計算的設備能夠共享相同的數據。
2、圖1是現有技術中通常所采用的數據多播方案。該方案中,cpu/gpu1作為源節點,需要將其上的數據多播給cpu/gpu0、cpu/gpu2和cpu/gpu3三個目的節點。在此過程中,cpu/gpu1首先需讀取待多播的數據三次,并針對每個目標存儲地址生成獨立的數據存儲報文發送至交換組件;隨后,交換組件會根據接收到的目標存儲地址解碼,將相應的數據存儲報文轉發至正確的目的節點。
3、然而,上述現有的數據多播方式存在明顯的技術問題。首先,由于源節點必須多次讀取同一份數據來滿足不同目的地的需求,會增加源節點內存帶寬的負擔。其次,在網絡層面,由于每次傳輸都需要單獨打包成報文并通過網絡傳遞,導致網絡中實際流通著三份內容相同的報文,從而對整體網絡帶寬造成了額外的壓力。
技術實現思路
1、有鑒于此,本專利技術實施例提供一種數據多播方法、裝置、系統、電子設備及存儲介質,以解決現有技術中內存帶寬和網絡帶寬負擔過重的問題。
2、第一方面,本專利技術實施例提供一種數據多播方法,應用于數據源節點,所述方法
3、獲取多播數據的多播地址信息;
4、生成一份攜帶有所述多播數據和多播地址信息的數據存儲報文;
5、將所述數據存儲報文發送給交換節點,以使所述交換節點根據報文中的多播地址信息,將報文多播至多播組各成員節點;所述多播組各成員節點根據報文中的多播地址信息,將報文中的多播數據保存至各自的節點存儲地址所指向的內存位置。
6、進一步的,所述獲取多播數據的多播地址信息,包括:
7、向第三方節點發送多播地址信息的生成請求,所述請求包括所述多播組各成員節點的標識和存儲地址;
8、接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息。
9、進一步的,在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后,還包括:
10、由連接單元將所述多播數據的多播地址信息發送至內存管理單元;
11、由處理核心通過所述多播數據在所述數據源節點的虛擬存儲地址,從所述內存管理單元獲取所述多播數據的多播地址信息。
12、進一步的,所述生成一份攜帶有所述多播數據和多播地址信息的數據存儲報文,包括:
13、生成一份初始的數據存儲報文;
14、在所述初始的數據存儲報文中的目的節點存儲地址位置,填充所述多播地址信息;
15、在所述初始的數據存儲報文中的數據內容位置,填充所述多播數據。
16、進一步的,所述多播地址信息包括:
17、多播域標識符,用于所述交換節點確定所述多播組各成員節點;
18、多播存儲地址,用于所述多播組各成員節點確定各自的節點存儲地址。
19、第二方面,本專利技術實施例提供一種數據多播方法,應用于交換節點,所述方法包括:
20、接收數據源節點發送的一份數據存儲報文;
21、根據所述數據存儲報文中的多播地址信息,確定對應的多播組各成員節點;
22、按照確定結果,將所述數據存儲報文多播至多播組各成員節點,以使所述多播組各成員節點根據報文中的多播地址信息,將報文中的多播數據保存至各自的節點存儲地址所指向的內存位置。
23、進一步的,在所述根據所述數據存儲報文中的多播地址信息,確定對應的多播組各成員節點之前,還包括:
24、接收第三方節點下發的所述多播地址信息的部分或全部與所述多播組各成員節點之間的對應關系。
25、進一步的,所述多播地址信息包括:
26、多播域標識符,用于所述交換節點確定所述多播組各成員節點;
27、多播存儲地址,用于所述多播組各成員節點確定各自的節點存儲地址。
28、第三方面,本專利技術實施例提供一種數據多播方法,應用于多播組成員節點,所述方法包括:
29、接收交換節點發送的來自數據源節點的數據存儲報文;
30、讀取所述數據存儲報文中的多播地址信息,確定自身的節點存儲地址;
31、讀取所述數據存儲報文中的多播數據,將其保存至所述自身的節點存儲地址所指向的內存位置。
32、進一步的,在所述讀取所述數據存儲報文中的多播地址信息,確定自身的節點存儲地址之前,還包括:
33、接收第三方節點下發的所述多播地址信息的部分或全部與自身的節點存儲地址之間的對應關系。
34、進一步的,所述多播地址信息包括:
35、多播域標識符,用于所述交換節點確定所述多播組成員節點;
36、多播存儲地址,用于所述多播組成員節點確定自身的節點存儲地址。
37、第四方面,本專利技術實施例提供一種數據多播裝置,應用于數據源節點,所述裝置包括:
38、地址獲取模塊,用于獲取多播數據的多播地址信息;
39、報文生成模塊,用于生成一份攜帶有所述多播數據和多播地址信息的數據存儲報文;
40、報文發送模塊,用于將所述數據存儲報文發送給交換節點,以使所述交換節點根據報文中的多播地址信息,將報文多播至多播組各成員節點;所述多播組各成員節點根據報文中的多播地址信息,將報文中的多播數據保存至各自的節點存儲地址所指向的內存位置。
41、進一步的,所述地址獲取模塊具體用于:
42、向第三方節點發送多播地址信息的生成請求,所述請求包括所述多播組各成員節點的標識和存儲地址;
43、接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息。
44、進一步的,所述地址獲取模塊還用于在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后:
45、由連接單元將所述多播數據的多播地址信息發送至內存管理單元;
46、由處理核心通過所述多播數據在所述數據源節點的虛擬存儲地址,從所述內存管理單元獲取所述多播數據的多播地址信息。
47、進一步的,所述報文生成模塊具體用于:
48、生成一份初始的數據存儲報文;
49、在所述初始的數據存儲報文中的目的節點存儲地址位置,填充所述多播地址信息;
50、在所述初始的數據存儲報文中的數據內容位置,填充所述多播數據。
51、進一步的,所述多播地址信息包括:
52、多播域標識符,用于所述交換節點確定所述多本文檔來自技高網...
【技術保護點】
1.一種數據多播方法,其特征在于,應用于數據源節點,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述獲取多播數據的多播地址信息,包括:
3.根據權利要求2所述的方法,其特征在于,在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后,還包括:
4.根據權利要求1所述的方法,其特征在于,所述生成一份攜帶有所述多播數據和多播地址信息的數據存儲報文,包括:
5.根據權利要求1-4中任一項所述的方法,其特征在于,所述多播地址信息包括:
6.一種數據多播方法,其特征在于,應用于交換節點,所述方法包括:
7.根據權利要求6所述的方法,其特征在于,在所述根據所述數據存儲報文中的多播地址信息,確定對應的多播組各成員節點之前,還包括:
8.根據權利要求6或7所述的方法,其特征在于,所述多播地址信息包括:
9.一種數據多播方法,其特征在于,應用于多播組成員節點,所述方法包括:
10.根據權利要求9所述的方法,其特征在于,在所述讀取所述數據存儲報
11.根據權利要求9或10所述的方法,其特征在于,所述多播地址信息包括:
12.一種數據多播裝置,其特征在于,應用于數據源節點,所述裝置包括:
13.根據權利要求12所述的裝置,其特征在于,所述地址獲取模塊具體用于:
14.根據權利要求13所述的裝置,其特征在于,所述地址獲取模塊還用于在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后:
15.根據權利要求12所述的裝置,其特征在于,所述報文生成模塊具體用于:
16.根據權利要求12-15中任一項所述的裝置,其特征在于,所述多播地址信息包括:
17.一種數據多播裝置,其特征在于,應用于交換節點,所述裝置包括:
18.根據權利要求17所述的裝置,其特征在于,所述成員確定模塊還用于在所述根據所述數據存儲報文中的多播地址信息,確定對應的多播組各成員節點之前:
19.根據權利要求17或18所述的裝置,其特征在于,所述多播地址信息包括:
20.一種數據多播裝置,其特征在于,應用于多播組成員節點,所述裝置包括:
21.根據權利要求20所述的裝置,其特征在于,所述地址映射模塊還用于在所述讀取所述數據存儲報文中的多播地址信息,確定自身的節點存儲地址之前:
22.根據權利要求20或21所述的裝置,其特征在于,所述多播地址信息包括:
23.一種數據多播系統,其特征在于,所述系統包括數據源節點、交換節點和多播組成員節點,其中:
24.根據權利要求23所述的系統,其特征在于,所述數據源節點和多播組成員節點為同一芯片上的不同處理器。
25.一種電子設備,其特征在于,所述電子設備包括:處理器和存儲器,其中,存儲器用于存儲可執行程序代碼;處理器通過讀取存儲器中存儲的可執行程序代碼來運行與可執行程序代碼對應的程序,用于執行前述1-5中任一權利要求所述的方法,或者執行前述6-8中任一權利要求所述的方法,或者前述9-11中任一權利要求所述的方法。
26.一種計算機可讀存儲介質,其特征在于,所述計算機可讀存儲介質存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執行,以實現前述1-5中任一權利要求所述的方法,或實現前述6-8中任一權利要求所述的方法,或實現前述9-11中任一權利要求所述的方法。
...【技術特征摘要】
1.一種數據多播方法,其特征在于,應用于數據源節點,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述獲取多播數據的多播地址信息,包括:
3.根據權利要求2所述的方法,其特征在于,在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后,還包括:
4.根據權利要求1所述的方法,其特征在于,所述生成一份攜帶有所述多播數據和多播地址信息的數據存儲報文,包括:
5.根據權利要求1-4中任一項所述的方法,其特征在于,所述多播地址信息包括:
6.一種數據多播方法,其特征在于,應用于交換節點,所述方法包括:
7.根據權利要求6所述的方法,其特征在于,在所述根據所述數據存儲報文中的多播地址信息,確定對應的多播組各成員節點之前,還包括:
8.根據權利要求6或7所述的方法,其特征在于,所述多播地址信息包括:
9.一種數據多播方法,其特征在于,應用于多播組成員節點,所述方法包括:
10.根據權利要求9所述的方法,其特征在于,在所述讀取所述數據存儲報文中的多播地址信息,確定自身的節點存儲地址之前,還包括:
11.根據權利要求9或10所述的方法,其特征在于,所述多播地址信息包括:
12.一種數據多播裝置,其特征在于,應用于數據源節點,所述裝置包括:
13.根據權利要求12所述的裝置,其特征在于,所述地址獲取模塊具體用于:
14.根據權利要求13所述的裝置,其特征在于,所述地址獲取模塊還用于在所述接收所述第三方節點根據所述請求返回的多播地址信息,作為所述多播數據的多播地址信息之后:
15.根據權利要求12所述的裝置,其特征在于,所述報文生成模塊具體用于:
【專利技術屬性】
技術研發人員:蘭可嘉,程永波,
申請(專利權)人:海光信息技術股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。