本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種資源調(diào)度裝置、系統(tǒng)和方法。
背景技術(shù):
計算資源池化,作為一種新型集中式的計算體系,已逐漸應(yīng)用到復(fù)雜計算任務(wù)需求中。為了使計算資源能夠均衡高效的工作,計算資源的調(diào)度越來越重要。
目前,計算資源的調(diào)度方式主要通過網(wǎng)絡(luò)實現(xiàn),即各個計算節(jié)點資源與調(diào)度中心通過網(wǎng)絡(luò)連接,即調(diào)度中心通過網(wǎng)絡(luò)調(diào)度計算節(jié)點資源。而網(wǎng)絡(luò)在進行數(shù)據(jù)傳輸過程中,由于網(wǎng)絡(luò)帶寬等的影響,常常造成計算資源的調(diào)度延遲較高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種資源調(diào)度裝置、系統(tǒng)和方法,能夠有效地降低資源調(diào)度的延遲。
第一方面,一種資源調(diào)度裝置,包括:數(shù)據(jù)鏈路交互模塊和資源動態(tài)控制模塊,其中,
所述數(shù)據(jù)鏈路交互模塊分別連接外部的服務(wù)器、外部的至少兩個處理器以及所述資源動態(tài)控制模塊;
所述資源動態(tài)控制模塊連接所述外部的服務(wù)器,用于監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量,根據(jù)所述負載量生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給所述數(shù)據(jù)鏈路交互模塊;
所述數(shù)據(jù)鏈路交互模塊,用于接收所述外部的服務(wù)器分配的預(yù)分配任務(wù)以及所述資源動態(tài)控制模塊發(fā)送的路由切換指令,并根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
優(yōu)選地,所述數(shù)據(jù)鏈路交互模塊包括:第一FPGA芯片、第二FPGA芯片和×16帶寬PCIE總線,其中,
所述第一FPGA芯片,用于對所述×16帶寬PCIE總線進行一路轉(zhuǎn)四路;
所述第二FPGA芯片,用于對所述四路轉(zhuǎn)十六路,并通過所述十六路中的每一路與一個外部的所述處理器相連;
所述資源動態(tài)控制模塊連接所述第二FPGA芯片,用于發(fā)送所述路由切換指令給所述第二FPGA芯片;
所述第二FPGA芯片,用于根據(jù)所述路由切換指令,在所述十六路中選定至少一個任務(wù)傳輸鏈路,并通過所述至少一個任務(wù)傳輸鏈路將所述任務(wù)傳輸給所述至少一個任務(wù)傳輸鏈路對應(yīng)的至少一個目標處理器。
優(yōu)選地,所述資源動態(tài)控制模塊,包括:計算子模塊和指令生成子模塊,其中,
所述計算子模塊,用于確定單個所述外部的處理器的計算容量,并根據(jù)所述單個所述外部的處理器的計算容量和監(jiān)測到的任務(wù)量,計算目標處理器的個數(shù);
所述指令生成子模塊,用于獲取所述外部的服務(wù)器提供的處理器使用情況,根據(jù)所述處理器使用情況和所述計算子單元計算出的目標處理器的個數(shù),生成對應(yīng)的路由切換指令。
優(yōu)選地,所述計算子模塊,進一步用于:
根據(jù)下述計算公式,計算目標處理器的個數(shù);
其中,Y表征目標處理器的個數(shù);M表征任務(wù)量;N表征單個所述外部的處理器的計算容量。
優(yōu)選地,
所述資源動態(tài)控制模塊,進一步用于監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)對應(yīng)的優(yōu)先級高于當(dāng)前運行任務(wù)時,則發(fā)送中止指令給所述數(shù)據(jù)鏈路交互模塊;
所述數(shù)據(jù)鏈路交互模塊,進一步用于當(dāng)接收到所述中止指令時,中止外部的處理器處理所述當(dāng)前運行任務(wù),并將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
第二方面,一種資源調(diào)度系統(tǒng),包括:上述任一所述的資源調(diào)度裝置、服務(wù)器和至少兩個處理器,其中,
所述服務(wù)器,用于接收外部輸入的預(yù)分配任務(wù),并通過所述資源調(diào)度裝置將所述預(yù)分配任務(wù)分配給所述至少兩個處理器中的至少一個目標處理器。
優(yōu)選地,
所述服務(wù)器,進一步用于統(tǒng)計所述至少兩個處理器使用情況,并將所述兩個處理器使用情況發(fā)送給所述資源調(diào)度裝置;
所述資源調(diào)度裝置,根據(jù)所述至少兩個處理器使用情況,生成對應(yīng)的路由切換指令,并通過所述路由切換指令將所述預(yù)分配任務(wù)分配給所述至少兩個處理器中的至少一個目標處理器。
優(yōu)選地,
所述服務(wù)器,進一步用于對所述預(yù)分配任務(wù)進行優(yōu)先級標記;
所述資源調(diào)度裝置,用于獲取所述服務(wù)器標記的所述預(yù)分配任務(wù)的優(yōu)先級,根據(jù)標記的所述預(yù)分配任務(wù)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)的優(yōu)先級大于當(dāng)前處理器處理的當(dāng)前運行任務(wù)時,則中斷所述當(dāng)前處理器對所述當(dāng)前運行任務(wù)的處理,并將所述預(yù)分配任務(wù)分配給所述當(dāng)前處理器。
第三方面,一種資源調(diào)度方法,包括:
通過資源動態(tài)控制模塊監(jiān)測外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量;
根據(jù)所述負載量,生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給數(shù)據(jù)鏈路交互模塊;
所述數(shù)據(jù)鏈路交互模塊根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
優(yōu)選地,上述方法進一步包括:通過資源動態(tài)控制模塊確定單個處理器的計算容量;
在所述監(jiān)測外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量之后,在所述生成對應(yīng)的路由切換指令之前,進一步包括:
根據(jù)所述單個所述外部的處理器的計算容量和監(jiān)測到的任務(wù)量,計算目標處理器的個數(shù),并獲取所述外部的服務(wù)器提供的處理器使用情況;
所述生成對應(yīng)的路由切換指令,包括:根據(jù)所述處理器使用情況和計算出的目標處理器的個數(shù),生成對應(yīng)的路由切換指令。
優(yōu)選地,所述計算目標處理器的個數(shù),包括:
根據(jù)下述計算公式,計算目標處理器的個數(shù);
其中,Y表征目標處理器的個數(shù);M表征任務(wù)量;N表征單個所述外部的處理器的計算容量。
本發(fā)明實施例提供了一種資源調(diào)度裝置、系統(tǒng)和方法,通過數(shù)據(jù)鏈路交互模塊分別連接外部的服務(wù)器、外部的至少兩個處理器以及所述資源動態(tài)控制模塊;資源動態(tài)控制模塊連接所述外部的服務(wù)器,通過監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量,根據(jù)所述負載量生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給所述數(shù)據(jù)鏈路交互模塊;通過數(shù)據(jù)鏈路交互模塊接收所述外部的服務(wù)器分配的預(yù)分配任務(wù)以及所述資源動態(tài)控制模塊發(fā)送的路由切換指令,并根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器,任務(wù)分配給處理器的過程通過數(shù)據(jù)鏈路交互模塊,而數(shù)據(jù)鏈路交互模塊連通服務(wù)器與處理器,實現(xiàn)服務(wù)器與處理器間任務(wù)以及任務(wù)計算結(jié)果的交互,而無須網(wǎng)絡(luò)的進行數(shù)據(jù)分享,能夠有效地降低資源調(diào)度的延遲。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種資源調(diào)度裝置的結(jié)構(gòu)示意圖;
圖2是本發(fā)明另一個實施例提供的一種資源調(diào)度裝置的結(jié)構(gòu)示意圖;
圖3是本發(fā)明又一個實施例提供的一種資源調(diào)度裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明一個實施例提供的一種資源調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
圖5是本發(fā)明一個實施例提供的一種資源調(diào)度方法的流程圖;
圖6是本發(fā)明另一個實施例提供的一種資源調(diào)度系統(tǒng)的結(jié)構(gòu)示意圖;
圖7是本發(fā)明另一個實施例提供的一種資源調(diào)度方法的流程圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供一種資源調(diào)度裝置,該資源調(diào)度裝置可包括:數(shù)據(jù)鏈路交互模塊101和資源動態(tài)控制模塊102,其中,
所述數(shù)據(jù)鏈路交互模塊101分別連接外部的服務(wù)器、外部的至少兩個處理器以及所述資源動態(tài)控制模塊102;
所述資源動態(tài)控制模塊102連接所述外部的服務(wù)器,用于監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量,根據(jù)所述負載量生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給所述數(shù)據(jù)鏈路交互模塊101;
所述數(shù)據(jù)鏈路交互模塊101,用于接收所述外部的服務(wù)器分配的預(yù)分配任務(wù)以及所述資源動態(tài)控制模塊102發(fā)送的路由切換指令,并根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
在圖1所示的實施例中,通過資源動態(tài)控制模塊連接所述外部的服務(wù)器,通過監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量,根據(jù)所述負載量生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給所述數(shù)據(jù)鏈路交互模塊;通過數(shù)據(jù)鏈路交互模塊接收所述外部的服務(wù)器分配的預(yù)分配任務(wù)以及所述資源動態(tài)控制模塊發(fā)送的路由切換指令,并根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器,任務(wù)分配給處理器的過程通過數(shù)據(jù)鏈路交互模塊,而數(shù)據(jù)鏈路交互模塊連通服務(wù)器與處理器,實現(xiàn)服務(wù)器與處理器間任務(wù)以及任務(wù)計算結(jié)果的交互,而無須網(wǎng)絡(luò)的進行數(shù)據(jù)分享,能夠有效地降低資源調(diào)度的延遲。
在本發(fā)明另一實施例中,如圖2所示,所述數(shù)據(jù)鏈路交互模塊101包括:第一FPGA芯片1011、第二FPGA芯片1012和×16帶寬PCIE總線1013,其中,
所述第一FPGA芯片1011,用于對所述×16帶寬PCIE總線1013進行一路轉(zhuǎn)四路;
所述第二FPGA芯片1012,用于對所述四路轉(zhuǎn)十六路,并通過所述十六路中的每一路與一個外部的所述處理器相連;
所述資源動態(tài)控制模塊102連接所述第二FPGA芯片1012,用于發(fā)送所述路由切換指令給所述第二FPGA芯片1012;
所述第二FPGA芯片1012,用于根據(jù)所述路由切換指令,在所述十六路中選定至少一個任務(wù)傳輸鏈路,并通過所述至少一個任務(wù)傳輸鏈路將所述任務(wù)傳輸給所述至少一個任務(wù)傳輸鏈路對應(yīng)的至少一個目標處理器。
上述FPGA芯片上具有多個端口,可以通過端口可以實現(xiàn)與處理器、其他FPGA芯片、傳輸總線以及資源動態(tài)控制模塊等,并為每個端口分配對應(yīng)的功能,從而實現(xiàn)數(shù)據(jù)交互。
例如:X16帶寬的PCIE總線A一端連接外設(shè)的服務(wù)器,另一端連接第一FPGA芯片,則PCIE總線A經(jīng)過第一FPGA芯片實現(xiàn)PCIE總線數(shù)據(jù)的1路轉(zhuǎn)4路交換,即端口A1,A2,A3,A4。端口A1,A2,A3,A4分別經(jīng)過第二FPGA芯片實現(xiàn)PCIE總線數(shù)據(jù)的4路轉(zhuǎn)16路交換,即形成數(shù)據(jù)下行鏈路接口A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44,從而實現(xiàn)1路轉(zhuǎn)16路的X16帶寬PCIE總線的交換傳輸。
如圖3所示,在本發(fā)明又一實施例中,所述資源動態(tài)控制模塊102,包括:計算子模塊1021和指令生成子模塊1022,其中,
所述計算子模塊1021,用于確定單個所述外部的處理器的計算容量,并根據(jù)所述單個所述外部的處理器的計算容量和監(jiān)測到的任務(wù)量,計算目標處理器的個數(shù);
所述指令生成子模塊1022,用于獲取所述外部的服務(wù)器提供的處理器使用情況,根據(jù)所述處理器使用情況和所述計算子單元1021計算出的目標處理器的個數(shù),生成對應(yīng)的路由切換指令。
在本發(fā)明另一實施例中,所述計算子模塊,進一步用于:
根據(jù)下述計算公式,計算目標處理器的個數(shù);
其中,Y表征目標處理器的個數(shù);M表征任務(wù)量;N表征單個所述外部的處理器的計算容量。
在本發(fā)明又一實施例中,所述資源動態(tài)控制模塊102,進一步用于監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)對應(yīng)的優(yōu)先級高于當(dāng)前運行任務(wù)時,則發(fā)送中止指令給所述數(shù)據(jù)鏈路交互模塊101;
所述數(shù)據(jù)鏈路交互模塊101,進一步用于當(dāng)接收到所述中止指令時,中止外部的處理器處理所述當(dāng)前運行任務(wù),并將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
在本發(fā)明另一實施例中,所述資源動態(tài)控制模塊102包括:ARM芯片。
如圖4所示,本發(fā)明實施例提供一種資源調(diào)度系統(tǒng),包括:上述任一所述的資源調(diào)度裝置401、服務(wù)器402和至少兩個處理器403,其中,
所述服務(wù)器402,用于接收外部輸入的預(yù)分配任務(wù),并通過所述資源調(diào)度裝置401將所述預(yù)分配任務(wù)分配給所述至少兩個處理器403中的至少一個目標處理器。
在本發(fā)明另一實施例中,所述服務(wù)器402,進一步用于統(tǒng)計所述至少兩個處理器使用情況,并將所述兩個處理器使用情況發(fā)送給所述資源調(diào)度裝置401;
所述資源調(diào)度裝置401,根據(jù)所述至少兩個處理器使用情況,生成對應(yīng)的路由切換指令,并通過所述路由切換指令將所述預(yù)分配任務(wù)分配給所述至少兩個處理器403中的至少一個目標處理器。
在本發(fā)明又一實施例中,所述服務(wù)器402,進一步用于對所述預(yù)分配任務(wù)進行優(yōu)先級標記;
所述資源調(diào)度裝置401,用于獲取所述服務(wù)器402標記的所述預(yù)分配任務(wù)的優(yōu)先級,根據(jù)標記的所述預(yù)分配任務(wù)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)的優(yōu)先級大于當(dāng)前處理器處理的當(dāng)前運行任務(wù)時,則中斷所述當(dāng)前處理器對所述當(dāng)前運行任務(wù)的處理,并將所述預(yù)分配任務(wù)分配給所述當(dāng)前處理器。
如圖5所示,本發(fā)明實施例提供一種資源調(diào)度方法,該方法可以包括如下步驟:
步驟501:通過資源動態(tài)控制模塊監(jiān)測外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量;
步驟502:根據(jù)所述負載量,生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給數(shù)據(jù)鏈路交互模塊;
步驟503:數(shù)據(jù)鏈路交互模塊根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
在本發(fā)明一個實施例中,為了保證任務(wù)的處理效率,上述方法進一步包括:通過資源動態(tài)控制模塊確定單個處理器的計算容量;并在步驟501之后,在步驟502之前,進一步包括:根據(jù)所述單個所述外部的處理器的計算容量和監(jiān)測到的任務(wù)量,計算目標處理器的個數(shù),并獲取所述外部的服務(wù)器提供的處理器使用情況;步驟502的具體實施方式,包括:根據(jù)所述處理器使用情況和計算出的目標處理器的個數(shù),生成對應(yīng)的路由切換指令。
在本發(fā)明一個實施例中,所述計算目標處理器的個數(shù),包括:根據(jù)下述計算公式,計算目標處理器的個數(shù);
其中,Y表征目標處理器的個數(shù);M表征任務(wù)量;N表征單個所述外部的處理器的計算容量。
在本發(fā)明一個實施例中,為了能夠?qū)崿F(xiàn)對優(yōu)先級較高的任務(wù)優(yōu)先進行處理,上述方法進一步包括:通過資源動態(tài)控制模塊監(jiān)測外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)對應(yīng)的優(yōu)先級高于當(dāng)前運行任務(wù)時,則發(fā)送中止指令給所述數(shù)據(jù)鏈路交互模塊;當(dāng)數(shù)據(jù)鏈路交互模塊接收到所述中止指令時,中止外部的處理器處理所述當(dāng)前運行任務(wù),并將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器。
下面以圖6所示的資源調(diào)度系統(tǒng)對任務(wù)A進行處理為例,進一步說明資源調(diào)度方法,如圖7所示,該資源調(diào)度方法可以包括如下步驟:
步驟701:服務(wù)器接收到任務(wù)A的處理請求,并通過任務(wù)調(diào)度裝置中的數(shù)據(jù)鏈路交互模塊獲取各個處理器的使用情況;
如圖6所示,服務(wù)器602通過任務(wù)調(diào)度裝置中的×16PCIE總線60113連接到第一FPGA芯片60111,第一FPGA芯片60111通過四個端口A1,A2,A3及A4連接到第二FPGA芯片60112上,通過第二FPGA芯片60112上的16個端口A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44分別連接一個處理器(GPU),即為服務(wù)器掛載16個處理器(GPU)。上述×16PCIE總線60113、第一FPGA芯片60111以及第二FPGA芯片60112組合成為任務(wù)調(diào)度裝置601中的數(shù)據(jù)鏈路交互模塊6011。
由于服務(wù)器602通過任務(wù)調(diào)度裝置601中的數(shù)據(jù)鏈路交互模塊6011與16個GPU連接,則在該步驟中,服務(wù)器602通過數(shù)據(jù)鏈路交互模塊6011獲取各個處理器(GPU)的使用情況,該使用情況可包括:處于待機狀態(tài)或者處于工作狀態(tài),以及處于工作狀態(tài)時,處理器處理的任務(wù)等。
步驟702:服務(wù)器標記任務(wù)A的優(yōu)先級;
在該步驟中,服務(wù)器可以針對任務(wù)的類型等對任務(wù)的優(yōu)先級進行標記,例如:任務(wù)A為某一正在處理任務(wù)B的前序任務(wù),則任務(wù)A的優(yōu)先級應(yīng)該高于任務(wù)B的優(yōu)先級。
步驟703:任務(wù)調(diào)度裝置中的資源動態(tài)控制模塊確定單個處理器的計算容量;
在圖6所示的任務(wù)調(diào)度系統(tǒng)中,每一個處理器(GPU)的計算容量相同,例如:計算容量為服務(wù)器CPU的20%等。
步驟704:任務(wù)調(diào)度裝置中的資源動態(tài)控制模塊監(jiān)測服務(wù)器接收到的任務(wù)A的任務(wù)量及任務(wù)A的優(yōu)先級;
如圖6所示,任務(wù)調(diào)度裝置601中的資源動態(tài)控制模塊6012與服務(wù)器602相連,監(jiān)測服務(wù)器602接收到任務(wù)A的任務(wù)量和任務(wù)A的優(yōu)先級,該資源動態(tài)控制模塊6012可以為ARM芯片。
步驟705:資源動態(tài)控制模塊根據(jù)單個處理器的計算容量和監(jiān)測到的任務(wù)量,計算所需目標處理器的個數(shù);
該步驟的計算結(jié)果,可以通過下述計算公式(1),計算得到:
其中,Y表征目標處理器的個數(shù);M表征任務(wù)量;N表征單個所述外部的處理器的計算容量。
另外,每一個目標處理器的處理量可以通過下述計算公式(2),計算得到:
其中,W表征每個目標處理器的處理量,M表征任務(wù)量;Y表征目標處理器的個數(shù)。
通過計算公式(2)計算目標處理器的處理量,可以實現(xiàn)任務(wù)量均衡分擔(dān),從而保證任務(wù)的處理效率。
另外,還可以按照單個處理器的計算容量為每一個目標處理器分配任務(wù)。
步驟706:根據(jù)計算出的所需目標處理器的個數(shù),生成對應(yīng)的路由切換指令;
該步驟生成的路由切換指令主要是控制圖6所示的數(shù)據(jù)鏈路交互模塊6011的連通線路,例如:將任務(wù)A分配給A11,A12以及A44端口連接的處理器時,則該步驟生成的路由切換指令使A11,A12以及A44端口所在的線路聯(lián)通,以方便服務(wù)器與處理器間進行數(shù)據(jù)傳輸。
步驟707:根據(jù)各個處理器的使用情況,確定處于待機狀態(tài)的處理器個數(shù);
步驟708:判斷處于待機狀態(tài)的處理器個數(shù)是否不小于所需目標處理器的個數(shù),如果是,則執(zhí)行步驟709;否則,執(zhí)行步驟710;
該步驟主要是后續(xù)是否暫停其他處理器的基礎(chǔ),當(dāng)處于待機狀態(tài)的處理器個數(shù)不小于所需目標處理器的個數(shù)時,現(xiàn)有的處于待機狀態(tài)的處理器即可完成任務(wù)A的計算,則無需暫停其他處理器,當(dāng)處于待機狀態(tài)的處理器個數(shù)小于所需目標處理器的個數(shù)時,現(xiàn)有的處于待機狀態(tài)的處理器不足以完成任務(wù)A的計算,則需要進一步根據(jù)任務(wù)A的優(yōu)先級判斷是否需要為任務(wù)A暫停其他處理器。
步驟709:根據(jù)路由切換指令,在處于待機狀態(tài)的處理器中選定至少一個目標處理器,并將任務(wù)A傳輸給至少一個目標處理器,結(jié)束當(dāng)前流程;
如圖6所示,A11,A12,A33及A44端口對應(yīng)的處理器處于待機狀態(tài),而任務(wù)A僅需要3個處理器即可完成,則資源動態(tài)控制模塊6012可隨機將任務(wù)A分配給A11,A12及A44端口對應(yīng)的處理器,即資源動態(tài)控制模塊6012生成對應(yīng)的路由切換指令,該步驟根據(jù)路由切換指令,將任務(wù)A分配給A11,A12及A44端口對應(yīng)的處理器。
步驟710:當(dāng)任務(wù)A的優(yōu)先級高于處理器正在處理的其他任務(wù)的優(yōu)先級時,中止部分處理器處理其他任務(wù);
例如:任務(wù)A需要5個目標處理器進行處理,而當(dāng)前僅有4個處理器處于待機狀態(tài),而處理器中正在處理的任務(wù)B的優(yōu)先級低于任務(wù)A的優(yōu)先級,則需要將任意一個運行有任務(wù)B的處理器中止,以滿足任務(wù)A所需要的5個目標處理器。
步驟711:將任務(wù)A分配給處于待機狀態(tài)的處理器和中止的部分處理器。
根據(jù)上述方案,本發(fā)明的各實施例,至少具有如下有益效果:
1.通過數(shù)據(jù)鏈路交互模塊分別連接外部的服務(wù)器、外部的至少兩個處理器以及所述資源動態(tài)控制模塊;資源動態(tài)控制模塊連接所述外部的服務(wù)器,通過監(jiān)測所述外部的服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的任務(wù)量,根據(jù)所述負載量生成對應(yīng)的路由切換指令,并將路由切換指令發(fā)送給所述數(shù)據(jù)鏈路交互模塊;通過數(shù)據(jù)鏈路交互模塊接收所述外部的服務(wù)器分配的預(yù)分配任務(wù)以及所述資源動態(tài)控制模塊發(fā)送的路由切換指令,并根據(jù)所述路由切換指令將所述預(yù)分配任務(wù)傳輸給至少一個目標處理器,任務(wù)分配給處理器的過程通過數(shù)據(jù)鏈路交互模塊,而數(shù)據(jù)鏈路交互模塊連通服務(wù)器與處理器,實現(xiàn)服務(wù)器與處理器間任務(wù)以及任務(wù)計算結(jié)果的交互,而無須網(wǎng)絡(luò)的進行數(shù)據(jù)分享,能夠有效地降低資源調(diào)度的延遲。
2.由于數(shù)據(jù)間通過PCIE總線進行傳輸,與現(xiàn)有的網(wǎng)絡(luò)傳輸,能夠有效地提高數(shù)據(jù)傳輸?shù)募皶r性和穩(wěn)定性。
3.通過確定單個所述外部的處理器的計算容量,并根據(jù)所述單個所述外部的處理器的計算容量和監(jiān)測到的任務(wù)量,計算目標處理器的個數(shù),并根據(jù)獲取的外部的服務(wù)器提供的處理器使用情況和計算出的目標處理器的個數(shù),生成對應(yīng)的路由切換指令,保證目標處理器的個數(shù)能夠滿足任務(wù)的處理,從而保證處理任務(wù)的高效性。
4.通過監(jiān)測服務(wù)器負載的預(yù)分配任務(wù)對應(yīng)的優(yōu)先級,當(dāng)所述預(yù)分配任務(wù)對應(yīng)的優(yōu)先級高于當(dāng)前運行任務(wù)時,通過中止指令中止外部的處理器處理當(dāng)前運行任務(wù),并將預(yù)分配任務(wù)傳輸給至少一個目標處理器,實現(xiàn)了按照優(yōu)先級處理任務(wù),進一步保證了計算性能。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個〃·····”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)中。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。