System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據計算存儲,特別是涉及一種與計算單元相關的負載均衡處理系統、方法及芯片。
技術介紹
1、在服務器、數據中心以及人工智能等領域,通常具有部署在許多cpu(處理器)上的大量業務場景,這些業務場景中一般都存在大量的數據計算場景,因此通常需要使用多個計算單元來完成數據的計算。
2、計算單元往往是一個獨立的計算模塊,通過輸入操作配置以及操作數,完成計算后給出計算結果。在這些場景下通常面臨一個問題:如何將大量的計算任務均衡高效的分配到每個計算單元中,又不占用cpu的大量資源?通常的做法是當cpu有計算任務時,將一個計算單元與一個cpu綁定,cpu將操作配置以及操作數發送到計算單元,然后等待計算單元計算完成后取回計算結果。
3、但是現有的這種處理方法存在一些不足之處:當計算單元個數大于cpu個數時,會存在部分計算單元空置,而造成負載不均衡的問題;而當計算單元個數小于cpu個數時會存在cpu占滿計算單元,其他cpu有任務時會存在阻塞等待的問題,從而導致cpu業務處理效率較低。
技術實現思路
1、本申請所要解決的技術問題在于,提供一種負載均衡處理系統、方法及芯片,可以實現芯片中計算資源的負載均衡,且計算高效,同時能夠減小芯片電路的面積。
2、為解決上述技術問題,作為本申請的一方面,提供一種負載均衡處理系統,其至少包括:隊列單元、存儲單元、數據搬移單元、仲裁單元、地址選擇器以及多個計算單元,其中:
3、所述隊列單元,用于依序存儲來自cpu的計
4、所述存儲單元,用于存儲來自cpu的計算任務的操作數以及來自計算單元的操作結果;
5、所述仲裁單元,用于根據隊列單元中的各計算任務的有效狀態、優先級以及各計算單元的空閑狀態進行仲裁,選擇授權的計算任務及對應的空閑計算單元;
6、所述數據搬移單元,用于根據仲裁結果,讀出所述授權的計算任務所對應的操作符,并發送給對應的空閑計算單元;
7、所述地址選擇器,用于根據仲裁結果,獲得所述授權的計算任務所對應的儲存單元里的操作數的存儲地址;
8、所述計算單元,用于根據地址選擇器所獲得的操作數據的存儲地址,讀出相應的操作數,結合來自數據搬移單元的操作符,進行計算處理,并在計算完成后將計算結果寫到所述存儲單元中。
9、其中,所述仲裁單元采用的策略為公平輪詢或嚴格優先級仲裁策略,其在仲裁后獲得授權的計算任務序列號以及空閑計算單元的序列號。
10、其中,各計算任務中操作數的存儲地址與其計算任務序列號相關,或與計算任務隊列一一映射;
11、所述地址選擇器根據仲裁結果中授權的計算任務序列號以及空閑計算單元的序列號中至少一個,譯碼獲得儲存單元里的操作數的基地址,并結合所述授權的計算任務序列號獲得所述操作數的存儲地址。
12、其中,計算單元在計算完成后將計算結果寫到所述存儲單元中,進一步包括:
13、計算單元將計算結果存入所述存儲單元中,覆蓋所述計算任務的操作數。
14、其中,所述計算單元進一步用于在計算完成后,將其自身的狀態修改為空閑狀態;
15、所述隊列單元進一步用于,在計算單元將計算結果寫到所述存儲單元中后,將對應的計算任務修改為完成狀態。
16、其中,所述計算單元的計算任務包括模冪操作、點乘操作、點加操作、模逆操作、模乘操作、乘操作以及除操作中至少一個。
17、其中,所述仲裁單元分別與所述隊列單元、數據搬移單元、地址選擇器以及各計算單元通過數據線進行連接。
18、相應地,作為本申請的另一方面,還提供一種負載均衡處理方法,其采用如前述的系統來實現,所述方法包括如下步驟:
19、cpu將計算任務的操作數寫到存儲單元中,將計算任務的操作符、有效指示位和優先級寫到隊列單元中;
20、仲裁單元根據各計算任務的有效狀態、優先級以及各計算單元的空閑狀態進行仲裁,選擇授權的計算任務及對應的空閑計算單元;
21、數據搬移單元根據仲裁結果讀出所述授權的計算任務所對應的操作符,并發送給對應的空閑計算單元;
22、地址選擇器根據仲裁結果,獲得所述授權的計算任務所對應的儲存單元里的操作數的存儲地址;
23、根據地址選擇器所獲得的操作數據的存儲地址,讀出相應的操作數,結合來自數據搬移單元的操作符,進行計算處理,并在計算完成后將計算結果寫到所述存儲單元中。
24、其中,進一步包括:
25、所述仲裁單元在仲裁后獲得授權的計算任務序列號以及空閑計算單元的序列號,其中,所述仲裁單元采用的策略為公平輪詢或嚴格優先級仲裁策略。
26、其中,地址選擇器根據仲裁結果,獲得所述授權的計算任務所對應的儲存單元里的操作數的存儲地址,進一步包括:
27、所述地址選擇器根據仲裁結果中授權的計算任務序列號以及空閑計算單元的序列號中至少一個,譯碼獲得儲存單元里的操作數的基地址,并結合所述授權的計算任務序列號獲得所述操作數的存儲地址;
28、其中,在所述存儲單元中,各計算任務中操作數的存儲地址與其計算任務序列號相關,或與計算任務隊列一一映射。
29、其中,計算單元在計算完成后將計算結果寫到所述存儲單元中,進一步包括:
30、計算單元將計算結果存入所述存儲單元中,覆蓋所述計算任務的操作數;
31、計算單元在計算完成后,將其自身的狀態修改為空閑狀態。
32、其中,進一步包括:
33、所述隊列單元在計算單元將計算結果寫到所述存儲單元中后,將對應的計算任務修改為完成狀態。
34、相應地,作為本申請的再一方面,還提供一種芯片,其部署有如前述的系統。
35、實施本申請實施例,具有如下有益效果:
36、本申請提供一種負載均衡處理系統、方法及芯片。利用隊列單元以及存儲單元分別存儲來自cpu的計算任務的操作符以及操作數,并由仲裁單元根據隊列現存任務量以及計算單元空閑狀態進行仲裁,選擇空閑的計算單元進行計算操作,具有負載均衡的優勢,能夠充分利用計算單元的資源;
37、在本申請中,cpu運行業務如果遇到計算任務時,只需要將操作符以及操作數下發后,即可繼續執行其他任務;本申請中的仲裁單元和地址選擇器會自動完成計算任務的分發以及計算,而不需占用cpu的資源;因此本申請具有負載均衡以及高效的優點,解決了現有技術中負載不均衡、cpu阻塞的問題;
38、在本申請中,由于將操作數以及操作結果存放在存儲單元,而且可以進一步地在存儲單元中將操作結果覆蓋對應的操作數,可以減小存儲單元的大小,從而可以減少芯片電路的面積;
39、另外,仲裁單元所需要的信號線均以直連線的方式連接到仲裁單元,相比于數據讀寫通路,讀寫數據更加快速,能夠快速地實現本文檔來自技高網...
【技術保護點】
1.一種負載均衡處理系統,其特征在于,至少包括:隊列單元、存儲單元、數據搬移單元、仲裁單元、地址選擇器以及多個計算單元,其中:
2.如權利要求1所述的系統,其特征在于,所述仲裁單元采用的策略為公平輪詢或嚴格優先級仲裁策略,其在仲裁后獲得授權的計算任務序列號以及空閑計算單元的序列號。
3.如權利要求2所述的系統,其特征在于,在所述存儲單元中,各計算任務中操作數的存儲地址與其計算任務序列號相關,或與計算任務隊列一一映射;
4.如權利要求3所述的系統,其特征在于,計算單元在計算完成后將計算結果寫到所述存儲單元中,進一步包括:
5.如權利要求4所述的系統,其特征在于,其中:
6.如權利要求1至4任一項所述的系統,其特征在于,所述計算單元的計算任務包括模冪操作、點乘操作、點加操作、模逆操作、模乘操作、乘操作以及除操作中至少一個。
7.如權利要求6所述的系統,其特征在于,所述仲裁單元分別與所述隊列單元、數據搬移單元、地址選擇器以及各計算單元通過數據線進行連接。
8.一種負載均衡處理方法,其特征在于,采用如權利
9.如權利要求8所述的方法,其特征在于,地址選擇器根據仲裁結果,獲得所述授權的計算任務所對應的儲存單元里的操作數的存儲地址,進一步包括:
10.一種芯片,其特征在于,其部署有如權利要求1至7任一項所述的系統。
...【技術特征摘要】
1.一種負載均衡處理系統,其特征在于,至少包括:隊列單元、存儲單元、數據搬移單元、仲裁單元、地址選擇器以及多個計算單元,其中:
2.如權利要求1所述的系統,其特征在于,所述仲裁單元采用的策略為公平輪詢或嚴格優先級仲裁策略,其在仲裁后獲得授權的計算任務序列號以及空閑計算單元的序列號。
3.如權利要求2所述的系統,其特征在于,在所述存儲單元中,各計算任務中操作數的存儲地址與其計算任務序列號相關,或與計算任務隊列一一映射;
4.如權利要求3所述的系統,其特征在于,計算單元在計算完成后將計算結果寫到所述存儲單元中,進一步包括:
5.如權利要求4所述的系統,其特征在于,其中:
6.如權...
【專利技術屬性】
技術研發人員:張學利,秦濤,
申請(專利權)人:上海云豹創芯智能科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。