所屬的技術(shù)人員能夠理解,本公開的各個方面可以實(shí)現(xiàn)為系統(tǒng)、方法或程序產(chǎn)品。因此,本公開的各個方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。下面參照圖9來描述根據(jù)本公開的這種實(shí)施方式的電子設(shè)備1000。圖9顯示的電子設(shè)備1000僅僅是一個示例,不應(yīng)對本公開實(shí)施例的功能和使用范圍帶來任何限制。圖9示出本公開實(shí)施例中一種電子設(shè)備的框圖。下面參照圖9來描述根據(jù)本公開的這種實(shí)施方式的電子設(shè)備1000。圖9顯示的電子設(shè)備1000僅僅是一個示例,不應(yīng)對本公開實(shí)施例的功能和使用范圍帶來任何限制。如圖9所示,電子設(shè)備1000以通用計(jì)算設(shè)備的形式表現(xiàn)。電子設(shè)備1000的組件可以包括但不限于:上述至少一個處理單元1010、上述至少一個存儲單元1020、連接不同系統(tǒng)組件(包括存儲單元1020和處理單元1010)的總線1030。其中,所述存儲單元存儲有程序代碼,所述程序代碼可以被所述處理單元1010執(zhí)行,使得所述處理單元1010執(zhí)行本說明書上述“示例性方法”部分中描述的根據(jù)本公開各種示例性實(shí)施方式的步驟。例如,所述處理單元1010可以執(zhí)行上述方法實(shí)施例的如下步驟:獲取目標(biāo)應(yīng)用對至少一種資源的資源需求信息;根據(jù)資源需求信息,從預(yù)先構(gòu)建的至少一種資源池中調(diào)度相應(yīng)的資源,分配給目標(biāo)應(yīng)用,其中,至少一種資源池為對待調(diào)度資源進(jìn)行分離解耦后得到的。存儲單元1020可以包括易失性存儲單元形式的可讀介質(zhì),例如隨機(jī)存取存儲單元(ram)10201和/或高速緩存存儲單元10202,還可以進(jìn)一步包括只讀存儲單元(rom)10203。存儲單元1020還可以包括具有一組(至少一個)程序模塊10205的程序/實(shí)用工具10204,這樣的程序模塊10205包括但不限于:操作系統(tǒng)、一個或者多個應(yīng)用程序、其它程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實(shí)現(xiàn)。總線1030可以為表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲單元總線或者存儲單元控制器、外圍總線、圖形加速端口、處理單元或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。電子設(shè)備1000也可以與一個或多個外部設(shè)備1040(例如鍵盤、指向設(shè)備、藍(lán)牙設(shè)備等)通信,還可與一個或者多個使得用戶能與該電子設(shè)備1000交互的設(shè)備通信,和/或與使得該電子設(shè)備1000能與一個或多個其它計(jì)算設(shè)備進(jìn)行通信的任何設(shè)備(例如路由器、調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(i/o)接口1050進(jìn)行。并且,電子設(shè)備1000還可以通過網(wǎng)絡(luò)適配器1060與一個或者多個網(wǎng)絡(luò)(例如局域網(wǎng)(lan),廣域網(wǎng)(wan)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適配器1060通過總線1030與電子設(shè)備1000的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示出,可以結(jié)合電子設(shè)備1000使用其它硬件和/或軟件模塊,包括但不限于:微代碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、raid系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存儲系統(tǒng)等。通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過軟件實(shí)現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實(shí)現(xiàn)。因此,根據(jù)本公開實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計(jì)算設(shè)備(可以是個人計(jì)算機(jī)、服務(wù)器、終端裝置、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實(shí)施方式的方法?;谕话l(fā)明構(gòu)思,本公開實(shí)施例中還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述任意一項(xiàng)的分離解耦的資源分配方法。由于該計(jì)算機(jī)可讀存儲介質(zhì)實(shí)施例的實(shí)施可以參見上述方法實(shí)施例的實(shí)施,重復(fù)之處不再贅述。本公開中的計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子可以包括但不限于:具有一個或多個導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)訪問存儲器(ram)、只讀存儲器(rom)、可擦式可編程只讀存儲器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(cd-rom)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本公開中,計(jì)算機(jī)可讀存儲介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了可讀程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括但不限于電磁信號、光信號或上述的任意合適的組合。可讀信號介質(zhì)還可以是可讀存儲介質(zhì)以外的任何可讀介質(zhì),該可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。可選地,計(jì)算機(jī)可讀存儲介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無線、有線、光纜、rf等等,或者上述的任意合適的組合。在具體實(shí)施時,可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本公開操作的程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言—諸如java、c++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言—諸如“c”語言或類似的程序設(shè)計(jì)語言。程序代碼可以完全地在用戶計(jì)算設(shè)備上執(zhí)行、部分地在用戶設(shè)備上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算設(shè)備上部分在遠(yuǎn)程計(jì)算設(shè)備上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算設(shè)備或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算設(shè)備的情形中,遠(yuǎn)程計(jì)算設(shè)備可以通過任意種類的網(wǎng)絡(luò),包括局域網(wǎng)(lan)或廣域網(wǎng)(wan),連接到用戶計(jì)算設(shè)備,或者,可以連接到外部計(jì)算設(shè)備(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)?;谕话l(fā)明構(gòu)思,本公開實(shí)施例中還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括:計(jì)算機(jī)程序或指令,計(jì)算機(jī)程序或指令被處理器執(zhí)行時實(shí)現(xiàn)上述方法實(shí)施例中任意一項(xiàng)的分離解耦的資源分配方法。由于該計(jì)算機(jī)程序產(chǎn)品實(shí)施例解決問題的原理與上述方法實(shí)施例相似,因此該計(jì)算機(jī)程序產(chǎn)品實(shí)施例的實(shí)施可以參見上述方法實(shí)施例的實(shí)施,重復(fù)之處不再贅述。應(yīng)當(dāng)注意,盡管在上文詳細(xì)描述中提及了用于動作執(zhí)行的設(shè)備的若干模塊或者單元,但是這種劃分并非強(qiáng)制性的。實(shí)際上,根據(jù)本公開的實(shí)施方式,上文描述的兩個或更多模塊或者單元的特征和功能可以在一個模塊或者單元中具體化。反之,上文描述的一個模塊或者單元的特征和功能可以進(jìn)一步劃分為由多個模塊或者單元來具體化。此外,盡管在附圖中以特定順序描述了本公開中方法的各個步驟,但是,這并非要求或者暗示必須按照該特定順序來執(zhí)行這些步驟,或是必須執(zhí)行全部所示的步驟才能實(shí)現(xiàn)期望的結(jié)果。附加的或備選的,可以省略某些步驟,將多個步驟合并為一個步驟執(zhí)行,以及/或者將一個步驟分解為多個步驟執(zhí)行等。通過以上實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員易于理解,這里描述的示例實(shí)施方式可以通過軟件實(shí)現(xiàn),也可以通過軟件結(jié)合必要的硬件的方式來實(shí)現(xiàn)。因此,根據(jù)本公開實(shí)施方式的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是cd-rom,u盤,移動硬盤等)中或網(wǎng)絡(luò)上,包括若干指令以使得一臺計(jì)算設(shè)備(可以是個人計(jì)算機(jī)、服務(wù)器、移動終端、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行根據(jù)本公開實(shí)施方式的方法。本領(lǐng)域技術(shù)人員在考慮說明書及實(shí)踐這里公開的發(fā)明后,將容易想到本公開的其它實(shí)施方案。本公開旨在涵蓋本公開的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開的一般性原理并包括本公開未公開的本中的公知常識或慣用技術(shù)手段。說明書和實(shí)施例僅被視為示例性的,本公開的真正范圍和精神由所附的權(quán)利要求指出。
背景技術(shù):
1、在當(dāng)前的人工智能(ai,artificial?intelligence)快速發(fā)展的背景下,ai應(yīng)用對計(jì)算資源的需求日益增長,尤其是在處理大規(guī)模數(shù)據(jù)和復(fù)雜算法時,傳統(tǒng)的服務(wù)器面臨著諸多挑戰(zhàn),包括但不限于處理能力的瓶頸、能源效率低下以及系統(tǒng)擴(kuò)展性的限制。
2、ai智算集群使用的服務(wù)器多為單機(jī)8卡的形式,部分廠家通過自研的互聯(lián)協(xié)議如高性能計(jì)算集群(hccs,high-performance?computing?cluster?service)和大數(shù)據(jù)計(jì)算平臺blink等在單機(jī)內(nèi)8-gpu間組建高速網(wǎng)絡(luò)架構(gòu)gpu?fabric,但不支持?jǐn)U展到機(jī)外,提供類似英偉達(dá)的gpu互連技術(shù)(nvlink-network能力),每個服務(wù)器僅能通過roce(remotedirect?memory?access?over?converged?ethernet,遠(yuǎn)程直接內(nèi)存訪問通過融合以太網(wǎng))/ib(infiniband,無限帶寬)技術(shù)等構(gòu)建大規(guī)模集群,張量并行計(jì)算效率低。而英偉達(dá)通過nvlink可實(shí)現(xiàn)576個gpu?scale-up(gpu規(guī)模擴(kuò)展)互聯(lián)組建gpu?fabric(gpu互連網(wǎng)絡(luò))。
3、相關(guān)技術(shù)中,ai超級服務(wù)器是相對于傳統(tǒng)單機(jī)8卡而言,這是一種擁有更高算力密度的服務(wù)器,英偉達(dá)首次提供nvl72一體式機(jī)架的ai超級服務(wù)器產(chǎn)品,支持72-gpu?nvlinkscale-up互聯(lián),但是產(chǎn)品高度緊耦合,捆綁銷售36顆grace?cpu(格蕾絲中央處理器,即arm公司與英偉達(dá)合作開發(fā)的一款高性能cpu架構(gòu)),原始設(shè)備制造商(oem,originalequipment?manufacturer)缺乏靈活性,而在智算場景客戶更是不需要那么多cpu,機(jī)器部署和使用的成本高。nvl72的推出預(yù)示ai超級服務(wù)器將成為未來主要的算力產(chǎn)品交付形式,推動廠商基于自研的scale-up互聯(lián)方案打造自己的ai超級服務(wù)器產(chǎn)品,但是目前行業(yè)針對這種產(chǎn)品是沒有標(biāo)準(zhǔn)規(guī)格的,云商/運(yùn)營商等客戶無法按需定制。
4、需要說明的是,在上述背景技術(shù)部分公開的信息僅用于加強(qiáng)對本公開的背景的理解,因此可以包括不構(gòu)成對本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
技術(shù)實(shí)現(xiàn)思路
1、本公開提供一種分離解耦的資源分配方法、裝置、設(shè)備及介質(zhì),至少在一定程度上克服相關(guān)技術(shù)中資源利用率低、分配缺乏靈活性的問題。
2、本公開的其他特性和優(yōu)點(diǎn)將通過下面的詳細(xì)描述變得顯然,或部分地通過本公開的實(shí)踐而習(xí)得。
3、根據(jù)本公開的一個方面,提供了一種分離解耦的資源分配方法,包括:獲取目標(biāo)應(yīng)用對至少一種資源的資源需求信息;根據(jù)所述資源需求信息,從預(yù)先構(gòu)建的至少一種資源池中調(diào)度相應(yīng)的資源,分配給所述目標(biāo)應(yīng)用,其中,所述至少一種資源池為對待調(diào)度資源進(jìn)行分離解耦后得到的。
4、在一些實(shí)施例中,所述待調(diào)度資源為集群服務(wù)系統(tǒng)提供的資源;所述集群服務(wù)系統(tǒng)包括:多個服務(wù)器;其中,在根據(jù)所述資源需求信息,從預(yù)先構(gòu)建的至少一種資源池中調(diào)度相應(yīng)的資源,分配給所述目標(biāo)應(yīng)用之前,所述方法還包括:獲取所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的如下至少一種資源的資源信息:中央處理資源、算力資源、存儲資源和通信接口資源;根據(jù)所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源信息,將所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源進(jìn)行分離解耦,構(gòu)建所述集群服務(wù)系統(tǒng)對應(yīng)的至少一種資源池。
5、在一些實(shí)施例中,在根據(jù)所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源信息,將所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源進(jìn)行分離解耦,構(gòu)建所述集群服務(wù)系統(tǒng)對應(yīng)的至少一種資源池之后,所述方法還包括:監(jiān)測所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源變化信息;根據(jù)所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源變化信息,更新所述集群服務(wù)系統(tǒng)對應(yīng)的至少一種資源池。
6、在一些實(shí)施例中,根據(jù)所述集群服務(wù)系統(tǒng)內(nèi)各個服務(wù)器提供的資源變化信息,更新所述集群服務(wù)系統(tǒng)對應(yīng)的至少一種資源池,包括:當(dāng)監(jiān)測到所述集群服務(wù)系統(tǒng)內(nèi)的待新增資源信息時,識別所述待新增資源信息,并更新所述集群服務(wù)系統(tǒng)中與所述待新增資源信息相關(guān)的至少一種資源池;當(dāng)監(jiān)測到所述集群服務(wù)系統(tǒng)內(nèi)的待移除資源信息時,對所述集群服務(wù)系統(tǒng)內(nèi)正在運(yùn)行的資源進(jìn)行遷移,并更新所述集群服務(wù)系統(tǒng)中與所述待移除資源信息相關(guān)的至少一種資源池。
7、在一些實(shí)施例中,所述目標(biāo)應(yīng)用為ai應(yīng)用,所述中央處理資源為cpu資源,所述算力資源為gpu資源,所述存儲資源為內(nèi)存資源,所述通信接口資源為交換機(jī)資源;所述集群服務(wù)系統(tǒng)對應(yīng)的資源池包括如下至少之一:cpu池、gpu池、內(nèi)存池和i/o池;所述cpu池包括:至少一個cpu節(jié)點(diǎn);所述gpu池包括:至少一個gpu節(jié)點(diǎn);所述內(nèi)存池包括:至少一個內(nèi)存共享節(jié)點(diǎn);所述i/o池包括:至少一個交換聚合節(jié)點(diǎn)。
8、在一些實(shí)施例中,所述方法還包括:獲取各個gpu節(jié)點(diǎn)的資源狀態(tài)信息;根據(jù)所述各個gpu節(jié)點(diǎn)的資源狀態(tài)信息,構(gòu)建所述集群服務(wù)系統(tǒng)的網(wǎng)絡(luò)拓?fù)洌桓鶕?jù)各個gpu節(jié)點(diǎn)的資源狀態(tài)信息以及所述集群服務(wù)系統(tǒng)的網(wǎng)絡(luò)拓?fù)?,動態(tài)調(diào)整通信策略,以保證所述集群服務(wù)系統(tǒng)的通信性能。
9、根據(jù)本公開的另一個方面,還提供了一種分離解耦的資源分配裝置,包括:信息獲取模塊,用于獲取目標(biāo)應(yīng)用對至少一種資源的資源需求信息;資源分配模塊,用于根據(jù)所述資源需求信息,從預(yù)先構(gòu)建的至少一種資源池中調(diào)度相應(yīng)的資源,分配給所述目標(biāo)應(yīng)用,其中,所述至少一種資源池為對待調(diào)度資源進(jìn)行分離解耦后得到的。
10、根據(jù)本公開的另一個方面,還提供了一種電子設(shè)備,該電子設(shè)備包括:處理器;以及存儲器,用于存儲所述處理器的可執(zhí)行指令;其中,所述處理器配置為經(jīng)由執(zhí)行所述可執(zhí)行指令來執(zhí)行上述任意一項(xiàng)所述的分離解耦的資源分配方法。
11、根據(jù)本公開的另一個方面,還提供了一種計(jì)算機(jī)可讀存儲介質(zhì),其上存儲有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述任意一項(xiàng)所述的分離解耦的資源分配方法。
12、根據(jù)本公開的另一個方面,還提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述任意一項(xiàng)的分離解耦的資源分配方法。
13、本公開的實(shí)施例中提供的分離解耦的資源分配方法、裝置、設(shè)備及介質(zhì),獲取到目標(biāo)應(yīng)用對至少一種資源的資源需求信息后,根據(jù)獲取到的資源需求信息,從預(yù)先構(gòu)建的對待調(diào)度資源進(jìn)行分離解耦后得到的至少一種資源池中調(diào)度相應(yīng)的資源,來分配給目標(biāo)應(yīng)用。本公開實(shí)施例能夠在提高超級服務(wù)器資源利用率的同時,保證資源分配和服務(wù)的靈活性。
14、應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。