本發(fā)明是有關(guān)于一種資源規(guī)劃?rùn)C(jī)制,且特別是有關(guān)于一種叢集運(yùn)算架構(gòu)的資源規(guī)劃方法、系統(tǒng)及裝置。
背景技術(shù):
對(duì)于大數(shù)據(jù)(big data)時(shí)代的來(lái)臨,如何儲(chǔ)存、處理、分析巨量數(shù)據(jù)已經(jīng)成為各大企業(yè)迫切需要解決的問(wèn)題。目前常見(jiàn)的處理方式為通過(guò)叢集運(yùn)算架構(gòu)來(lái)解決儲(chǔ)存空間的擴(kuò)充以及計(jì)算能力的提升。而目前常見(jiàn)的Spark平臺(tái)、Hadoop平臺(tái)等叢集運(yùn)算架構(gòu)一般是根據(jù)使用者設(shè)定好的硬件資源限制下,根據(jù)任務(wù)優(yōu)先順序與權(quán)重來(lái)進(jìn)行資源分配來(lái)運(yùn)作。然而,目前使用者只能盡可能提供最多的硬件資源交給Spark平臺(tái)或Hadoop平臺(tái)來(lái)分配,并沒(méi)有一套可依循的建議方法提供給使用者參考。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種叢集運(yùn)算架構(gòu)的資源規(guī)劃方法、系統(tǒng)及裝置,可即時(shí)提供最佳的硬件資源規(guī)劃。
本發(fā)明的叢集運(yùn)算架構(gòu)的資源規(guī)劃方法,包括提供資源規(guī)劃裝置來(lái)建立一建議方案數(shù)據(jù)庫(kù)至主控節(jié)點(diǎn)裝置,其中建議方案數(shù)據(jù)庫(kù)儲(chǔ)存了用以部署一叢集運(yùn)算架構(gòu)的信息。上述由資源規(guī)劃裝置來(lái)建立建議方案數(shù)據(jù)庫(kù)的步驟包括:依據(jù)所選擇的待訓(xùn)練平臺(tái),自對(duì)應(yīng)于待訓(xùn)練平臺(tái)的設(shè)定檔中,擷取出至少一設(shè)定值,并且擷取待訓(xùn)練平臺(tái)所使用的至少一演算法特征,其中待訓(xùn)練平臺(tái)為多個(gè)軟件框架中的一個(gè);基于上述設(shè)定值以及演算法特征建立至少一訓(xùn)練模型,并傳送這些訓(xùn)練模型至主控節(jié)點(diǎn)裝置,使得主控節(jié)點(diǎn)裝置依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得運(yùn)算時(shí)間;以及自主控節(jié)點(diǎn)裝置接收運(yùn)算時(shí)間,并傳送各訓(xùn)練模型對(duì)應(yīng)的運(yùn)算時(shí)間至建議方案數(shù)據(jù)庫(kù)。之后,依據(jù)選定的任務(wù)條件以及期望總工作時(shí)間,通過(guò)資源規(guī)劃裝置自建議方案數(shù)據(jù)庫(kù)中獲得建議方案,而傳送建議方案至主控節(jié)點(diǎn)裝置,使得主控節(jié)點(diǎn)裝置依據(jù)建議方案來(lái)決定叢集運(yùn) 算架構(gòu)的硬件資源配置。
在本發(fā)明的一實(shí)施例中,上述資源規(guī)劃方法,更包括:資源規(guī)劃裝置通過(guò)網(wǎng)絡(luò)連線至主控節(jié)點(diǎn)裝置,以查詢主控節(jié)點(diǎn)裝置中的影響因子數(shù)據(jù)庫(kù)以及演算法數(shù)據(jù)庫(kù),其中影響因子數(shù)據(jù)庫(kù)儲(chǔ)存各種軟件框架的設(shè)定檔,演算法數(shù)據(jù)庫(kù)儲(chǔ)存多個(gè)演算法特征。
在本發(fā)明的一實(shí)施例中,上述設(shè)定值包括工作節(jié)點(diǎn)數(shù)量、工作節(jié)點(diǎn)資源配置、分析數(shù)據(jù)筆數(shù)、以及環(huán)境參數(shù)條件其中一個(gè)或其組合。演算法特征包括演算法、任務(wù)數(shù)量以及任務(wù)分割筆數(shù)其中一個(gè)或其組合。任務(wù)條件包括其中一個(gè)軟件框架、分析數(shù)據(jù)筆數(shù)、環(huán)境參數(shù)條件、演算法、任務(wù)數(shù)量以及任務(wù)分割筆數(shù)其中一個(gè)或其組合。上述設(shè)定值可以為數(shù)值區(qū)間。
在本發(fā)明的一實(shí)施例中,上述資源規(guī)劃方法更包括:在選定任務(wù)條件以及期望總工作時(shí)間之后,若在建議方案數(shù)據(jù)庫(kù)中不存在對(duì)應(yīng)的建議方案,則資源規(guī)劃裝置依據(jù)選定的任務(wù)條件,針對(duì)工作節(jié)點(diǎn)數(shù)量以及工作節(jié)點(diǎn)資源配置來(lái)重新進(jìn)行訓(xùn)練,而自主控節(jié)點(diǎn)裝置獲得對(duì)應(yīng)的運(yùn)算時(shí)間,并儲(chǔ)存至建議方案數(shù)據(jù)庫(kù)。
在本發(fā)明的一實(shí)施例中,上述資源規(guī)劃方法更包括:主控節(jié)點(diǎn)裝置依據(jù)各訓(xùn)練模型來(lái)進(jìn)行多次運(yùn)算,而將多次運(yùn)算所獲得的時(shí)間平均值作為對(duì)應(yīng)的運(yùn)算時(shí)間。
在本發(fā)明的一實(shí)施例中,傳送建議方案至主控節(jié)點(diǎn)裝置使得主控節(jié)點(diǎn)裝置依據(jù)建議方案來(lái)決定叢集運(yùn)算架構(gòu)的硬件資源配置的步驟,更包括:通過(guò)主控節(jié)點(diǎn)裝置判斷叢集運(yùn)算架構(gòu)下所包括的工作節(jié)點(diǎn)數(shù)量是否少于建議方案所包括的建議數(shù)量,以及判斷叢集運(yùn)算架構(gòu)下所包括的工作節(jié)點(diǎn)硬件資源是否低于建議方案所包括的資源需求。在判定工作節(jié)點(diǎn)數(shù)量少于建議數(shù)量或工作節(jié)點(diǎn)硬件資源低于資源需求時(shí),通過(guò)主控節(jié)點(diǎn)裝置發(fā)出提示信息,以依據(jù)一指令來(lái)額外指派符合建議方案的工作節(jié)點(diǎn)裝置至叢集運(yùn)算架構(gòu)。在判定工作節(jié)點(diǎn)數(shù)量未少于建議數(shù)量且工作節(jié)點(diǎn)硬件資源未低于資源需求時(shí),通過(guò)主控節(jié)點(diǎn)裝置來(lái)部屬符合建議數(shù)量的工作節(jié)點(diǎn)裝置各自的硬件資源配置。
本發(fā)明的資源規(guī)劃系統(tǒng),包括主控節(jié)點(diǎn)裝置以及資源規(guī)劃裝置。主控節(jié)點(diǎn)裝置用以分配叢集運(yùn)算架構(gòu)下的多個(gè)工作節(jié)點(diǎn)裝置的硬件資源配置。資源規(guī)劃裝置通過(guò)網(wǎng)絡(luò)與主控節(jié)點(diǎn)裝置溝通,其中資源規(guī)劃裝置包括控制器??刂破饕罁?jù)所選擇的待訓(xùn)練平臺(tái),自對(duì)應(yīng)于待訓(xùn)練平臺(tái)的設(shè)定檔中,擷取出至少一設(shè)定值,并且擷取待訓(xùn)練平臺(tái)所使用的至少一演算法特征,其中待訓(xùn)練平臺(tái)為多個(gè)軟件框架中的一個(gè)。控制器基于上述設(shè)定值以及演算法特征建立至少一訓(xùn)練模型,并傳送上述訓(xùn)練模型至主控節(jié)點(diǎn)裝 置,使得主控節(jié)點(diǎn)裝置依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得運(yùn)算時(shí)間。并且,控制器自主控節(jié)點(diǎn)裝置接收運(yùn)算時(shí)間,并儲(chǔ)存各訓(xùn)練模型對(duì)應(yīng)的運(yùn)算時(shí)間至建議方案數(shù)據(jù)庫(kù)中??刂破饕罁?jù)選定的任務(wù)條件以及期望總工作時(shí)間,自建議方案數(shù)據(jù)庫(kù)中獲得建議方案,而傳送建議方案至主控節(jié)點(diǎn)裝置,使得主控節(jié)點(diǎn)裝置依據(jù)建議方案來(lái)決定叢集運(yùn)算架構(gòu)的硬件資源配置。
本發(fā)明的資源規(guī)劃裝置,包括儲(chǔ)存單元以及控制器。儲(chǔ)存單元包括影響因子數(shù)據(jù)庫(kù)、演算法數(shù)據(jù)庫(kù)及建議方案數(shù)據(jù)庫(kù)。影響因子數(shù)據(jù)庫(kù)用以儲(chǔ)存多個(gè)軟件框架各自的設(shè)定檔。演算法數(shù)據(jù)庫(kù)用以儲(chǔ)存多個(gè)演算法特征。控制器耦接至儲(chǔ)存單元,并且負(fù)責(zé)分配叢集運(yùn)算架構(gòu)下的多個(gè)工作節(jié)點(diǎn)裝置的硬件資源配置。控制器依據(jù)自上述軟件框架中所選擇的一待訓(xùn)練平臺(tái),自對(duì)應(yīng)于待訓(xùn)練平臺(tái)的設(shè)定檔中,擷取出至少一設(shè)定值,并且擷取待訓(xùn)練平臺(tái)所使用的至少一演算法特征,基于上述設(shè)定值以及演算法特征建立至少一訓(xùn)練模型,并且在依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得運(yùn)算時(shí)間之后,將各訓(xùn)練模型對(duì)應(yīng)的運(yùn)算時(shí)間儲(chǔ)存至建議方案數(shù)據(jù)庫(kù)??刂破饕罁?jù)選定的任務(wù)條件以及期望總工作時(shí)間,自建議方案數(shù)據(jù)庫(kù)中獲得建議方案,并且,控制器依據(jù)建議方案來(lái)決定叢集運(yùn)算架構(gòu)的硬件資源配置。
基于上述,經(jīng)由資源規(guī)劃裝置來(lái)對(duì)叢集運(yùn)算架構(gòu)進(jìn)行訓(xùn)練,并建立建議方案數(shù)據(jù)庫(kù),藉以來(lái)即時(shí)提供最佳的硬件資源規(guī)劃。
為讓本發(fā)明的上述特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉實(shí)施例,并配合所附圖式作詳細(xì)說(shuō)明如下。
附圖說(shuō)明
圖1是依照本發(fā)明一實(shí)施例的資源規(guī)劃系統(tǒng)的方塊圖。
圖2是依照本發(fā)明一實(shí)施例的叢集運(yùn)算架構(gòu)的資源規(guī)劃方法流程圖。
圖3是依照本發(fā)明一實(shí)施例的資源規(guī)劃裝置的方塊圖。
附圖標(biāo)號(hào)
100:資源規(guī)劃系統(tǒng)
110、310:資源規(guī)劃裝置
111、311:控制器
120:主控節(jié)點(diǎn)裝置
121:影響因子數(shù)據(jù)庫(kù)
122:演算法數(shù)據(jù)庫(kù)
123:建議方案數(shù)據(jù)庫(kù)
S205~S220:叢集運(yùn)算架構(gòu)的資源規(guī)劃方法各步驟
具體實(shí)施方式
圖1是依照本發(fā)明一實(shí)施例的資源規(guī)劃系統(tǒng)的方塊圖。請(qǐng)參照?qǐng)D1,資源規(guī)劃系統(tǒng)100包括資源規(guī)劃裝置110以及主控節(jié)點(diǎn)裝置120。
資源規(guī)劃裝置110例如為服務(wù)器、個(gè)人電腦、筆記本電腦、平板電腦、智能型手機(jī)等具有運(yùn)算能力的電子裝置。資源規(guī)劃裝置110包括控制器111。控制器111例如為中央處理單元(Central Processing Unit,CPU)、可程序化的微處理器(Microprocessor)、嵌入式控制芯片、數(shù)字信號(hào)處理器(Digital Signal Processor,DSP)、特殊應(yīng)用集成電路(Application Specific Integrated Circuits,ASIC)或其他類似裝置。
并且,資源規(guī)劃裝置110還具有一儲(chǔ)存單元(可以是存儲(chǔ)器或固件芯片),以儲(chǔ)存一個(gè)或多個(gè)程序碼片段。上述程序碼片段在被安裝后,會(huì)由控制器111來(lái)執(zhí)行,進(jìn)而實(shí)現(xiàn)叢集運(yùn)算(cluster computing)架構(gòu)的資源規(guī)劃方法。
叢集運(yùn)算架構(gòu)例如為采用Hadoop、Spark、Storm等軟件框架(software framework)的架構(gòu)。在叢集運(yùn)算架構(gòu)中一臺(tái)主機(jī)(或服務(wù)器)通常稱為節(jié)點(diǎn),可將任務(wù)分配到不同的節(jié)點(diǎn)而提高計(jì)算能力。例如,先拆解任務(wù),分工處理再匯總結(jié)果。在叢集運(yùn)算架構(gòu)中,依照用途可以將這些節(jié)點(diǎn)分為主控(master)節(jié)點(diǎn)裝置120以及工作(worker)節(jié)點(diǎn)裝置。主控節(jié)點(diǎn)裝置120用以分配叢集運(yùn)算架構(gòu)下的工作節(jié)點(diǎn)裝置的硬件資源配置,并且分配任務(wù)至工作節(jié)點(diǎn)裝置。而工作節(jié)點(diǎn)裝置則負(fù)責(zé)執(zhí)行任務(wù)。
在此,叢集運(yùn)算架構(gòu)下的工作節(jié)點(diǎn)數(shù)量可以為0或大于0的整數(shù)。當(dāng)主控節(jié)點(diǎn)裝置120判定工作節(jié)點(diǎn)裝置的數(shù)量不足或是工作節(jié)點(diǎn)裝置的硬件資源過(guò)低,則主控節(jié)點(diǎn)裝置120可發(fā)出一提示信息來(lái)通知使用者新增工作節(jié)點(diǎn)裝置,或者以高硬件資源的工作節(jié)點(diǎn)裝置來(lái)替換低硬件資源的工作節(jié)點(diǎn)裝置。
在此,主控節(jié)點(diǎn)裝置120中事先內(nèi)建有影響因子數(shù)據(jù)庫(kù)121及演算法數(shù)據(jù)庫(kù)122。而建議方案數(shù)據(jù)庫(kù)123用來(lái)儲(chǔ)存用以部署叢集運(yùn)算架構(gòu)的信息,其是通過(guò)資源規(guī)劃裝置110而建立。即,資源規(guī)劃裝置110通過(guò)網(wǎng)絡(luò)與主控節(jié)點(diǎn)裝置120溝通,以自影響 因子數(shù)據(jù)庫(kù)121及演算法數(shù)據(jù)庫(kù)122擷取出需要的信息來(lái)建立建議方案數(shù)據(jù)庫(kù)123。在建立建議方案數(shù)據(jù)庫(kù)123時(shí),存入的建議方案可與影響因子數(shù)據(jù)庫(kù)121及演算法數(shù)據(jù)庫(kù)122內(nèi)對(duì)應(yīng)的數(shù)據(jù)相互關(guān)聯(lián)。
在資源規(guī)劃裝置110中,通過(guò)控制器111自多個(gè)軟件框架中選定一個(gè)來(lái)作為待訓(xùn)練平臺(tái),并且建立多個(gè)訓(xùn)練模型來(lái)對(duì)待訓(xùn)練平臺(tái)進(jìn)行訓(xùn)練,藉以在主控節(jié)點(diǎn)裝置120中建立建議方案數(shù)據(jù)庫(kù)123。底下即搭配上述資源規(guī)劃系統(tǒng)100來(lái)說(shuō)明叢集運(yùn)算架構(gòu)的資源規(guī)劃方法各步驟。
圖2是依照本發(fā)明一實(shí)施例的叢集運(yùn)算架構(gòu)的資源規(guī)劃方法流程圖。請(qǐng)同時(shí)參照?qǐng)D1及圖2,在步驟S205中,控制器111依據(jù)所選擇的待訓(xùn)練平臺(tái),自對(duì)應(yīng)于待訓(xùn)練平臺(tái)的設(shè)定檔中,擷取出會(huì)影響待訓(xùn)練平臺(tái)的執(zhí)行速度的一個(gè)或多個(gè)設(shè)定值,并且擷取待訓(xùn)練平臺(tái)所使用的一個(gè)或多個(gè)演算法特征??刂破?11會(huì)自多個(gè)軟件框架(例如Hadoop平臺(tái)、Spark平臺(tái)、Storm平臺(tái)等)中選定一個(gè)來(lái)作為待訓(xùn)練平臺(tái)。
具體而言,控制器111在選定待訓(xùn)練平臺(tái)之后,通過(guò)通訊單元連線至主控節(jié)點(diǎn)裝置120,以查詢影響因子數(shù)據(jù)庫(kù)121來(lái)獲得待訓(xùn)練平臺(tái)對(duì)應(yīng)的工作節(jié)點(diǎn)數(shù)量、工作節(jié)點(diǎn)資源配置(包括各工作節(jié)點(diǎn)裝置的CPU核心數(shù)、存儲(chǔ)器空間等)、分析數(shù)據(jù)筆數(shù)以及環(huán)境參數(shù)條件等設(shè)定值。上述環(huán)境參數(shù)條件包括所使用的計(jì)算模型及特定參數(shù)等。計(jì)算模型例如為平行運(yùn)算或分散式運(yùn)算。不同的計(jì)算模型所需要的運(yùn)算時(shí)間會(huì)不同。特定參數(shù)包括執(zhí)行器(executor)的數(shù)量、“spark.dynamicAllocation”是否使能、“shuffle”是否啟用、“heartbeat”是否逾時(shí)等。
并且,控制器111查詢演算法數(shù)據(jù)庫(kù)122來(lái)獲得待訓(xùn)練平臺(tái)所使用的演算法(例如為最近鄰居(k-nearest neighbors,KNN)演算法),并且獲得此演算法所執(zhí)行的任務(wù)數(shù)量以及任務(wù)分割筆數(shù)。
接著,在步驟S210中,控制器111基于上述所獲得的設(shè)定值以及演算法特征來(lái)建立一個(gè)或多個(gè)訓(xùn)練模型,并傳送上述訓(xùn)練模型至主控節(jié)點(diǎn)裝置120,使得主控節(jié)點(diǎn)裝置120依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得運(yùn)算時(shí)間。例如,可由控制器111依據(jù)所獲得的設(shè)定值以及演算法特征,自動(dòng)產(chǎn)生訓(xùn)練模型,或者可由使用者在上述設(shè)定值與演算法特征中自行選擇來(lái)產(chǎn)生訓(xùn)練模型。并且,控制器111還可針對(duì)特定的條件來(lái)產(chǎn)生訓(xùn)練模型。例如,針對(duì)工作節(jié)點(diǎn)數(shù)量而言,設(shè)定一個(gè)數(shù)值范圍,例如為1~5。進(jìn)而,控制器111固定其他設(shè)定值與演算法特征,而以工作節(jié)點(diǎn)數(shù)量分別為1~5,依次 來(lái)建立多個(gè)訓(xùn)練模型。據(jù)此,可獲得在相同的環(huán)境下,對(duì)應(yīng)于不同工作節(jié)點(diǎn)數(shù)量的運(yùn)算時(shí)間。
另外,可根據(jù)各工作節(jié)點(diǎn)裝置實(shí)際所能使用的硬件資源來(lái)設(shè)定數(shù)值范圍。舉例來(lái)說(shuō),假設(shè)目前各工作節(jié)點(diǎn)裝置能夠使用的CPU數(shù)量有6個(gè),則控制器111可以針對(duì)在每個(gè)工作節(jié)點(diǎn)裝置的CPU數(shù)量從1到6個(gè)的情況下,分別獲得主控節(jié)點(diǎn)裝置120進(jìn)行運(yùn)算所需的運(yùn)算時(shí)間。
控制器111將訓(xùn)練模型(包括:工作節(jié)點(diǎn)數(shù)量、工作節(jié)點(diǎn)資源配置、分析數(shù)據(jù)筆數(shù)、環(huán)境參數(shù)條件、演算法、任務(wù)數(shù)量以及任務(wù)分割筆數(shù))傳送至主控節(jié)點(diǎn)裝置120后,主控節(jié)點(diǎn)裝置120根據(jù)訓(xùn)練模型來(lái)決定叢集運(yùn)算架構(gòu)的硬件資源配置,并且實(shí)際執(zhí)行以獲得對(duì)應(yīng)的運(yùn)算時(shí)間。此外,主控節(jié)點(diǎn)裝置120還會(huì)依據(jù)各訓(xùn)練模型來(lái)進(jìn)行多次運(yùn)算,而將多次運(yùn)算所獲得的時(shí)間平均值作為對(duì)應(yīng)的運(yùn)算時(shí)間。主控節(jié)點(diǎn)裝置120可以利用閑置的時(shí)間來(lái)基于訓(xùn)練模型進(jìn)行運(yùn)算。
而主控節(jié)點(diǎn)裝置120還可利用機(jī)器學(xué)習(xí)來(lái)建立建議方案數(shù)據(jù)庫(kù)123。例如,根據(jù)各待訓(xùn)練平臺(tái)(例如Hadoop平臺(tái)、Spark平臺(tái)、Storm平臺(tái)等)的內(nèi)的設(shè)定檔,厘清會(huì)影響到巨量數(shù)據(jù)的分析時(shí)間長(zhǎng)短的因子,例如:是否分散運(yùn)算、是否為MapReduce架構(gòu)、每個(gè)執(zhí)行器占用多少存儲(chǔ)器空間與CPU占用率、每個(gè)任務(wù)分成幾個(gè)執(zhí)行器來(lái)執(zhí)行運(yùn)算等等,接著歸納整理這些設(shè)定檔的參數(shù)設(shè)定檔與欄位,最后針對(duì)所整理出來(lái)的參數(shù)欄位,訂立各區(qū)間的學(xué)習(xí)追蹤的參考值。然后,將此參考值對(duì)照所接收的訓(xùn)練模型,即,工作節(jié)點(diǎn)數(shù)量、工作節(jié)點(diǎn)資源配置(包含存儲(chǔ)器空間、CPU數(shù)量等)、使用什么演算法、環(huán)境參數(shù)條件、分析數(shù)據(jù)筆數(shù)、任務(wù)數(shù)量以及任務(wù)分割筆數(shù)等,且根據(jù)上述各項(xiàng)數(shù)據(jù),對(duì)照實(shí)際的分析總時(shí)間,經(jīng)由機(jī)器學(xué)習(xí)推論,即可產(chǎn)生出一對(duì)照表。
使用者在實(shí)際分配硬件資源時(shí),就可以依據(jù)對(duì)照表,對(duì)照打算使用的演算法、數(shù)據(jù)大小以及欲完成的時(shí)間(期望總工作時(shí)間),得知適當(dāng)?shù)挠布Y源配置的建議方案。
另外,主控節(jié)點(diǎn)裝置120也可以在目前系統(tǒng)環(huán)境設(shè)定下,以工作節(jié)點(diǎn)裝置的CPU數(shù)量從1到6個(gè)分別跑出6個(gè)完成運(yùn)算的運(yùn)算時(shí)間,并將目前系統(tǒng)環(huán)境設(shè)定、CPU數(shù)量及對(duì)應(yīng)的運(yùn)算時(shí)間記錄至建議方案數(shù)據(jù)庫(kù)123。
之后,在步驟S215中,控制器111自主控節(jié)點(diǎn)裝置120接收運(yùn)算時(shí)間,并傳送訓(xùn)練模型對(duì)應(yīng)的運(yùn)算時(shí)間至建議方案數(shù)據(jù)庫(kù)123。而在建議方案數(shù)據(jù)庫(kù)123中的運(yùn)算 時(shí)間與影響因子數(shù)據(jù)庫(kù)121及演算法數(shù)據(jù)庫(kù)122內(nèi)對(duì)應(yīng)的數(shù)據(jù)相互關(guān)聯(lián)。例如,控制器111會(huì)對(duì)運(yùn)算時(shí)間與其對(duì)應(yīng)的訓(xùn)練模型所包括的所有條件(包括:存在于影響因子數(shù)據(jù)庫(kù)121的環(huán)境參數(shù)條件以及存在于演算法數(shù)據(jù)庫(kù)122的演算法特征)建立一關(guān)聯(lián)性。
在建立了建議方案數(shù)據(jù)庫(kù)123之后,在步驟S220中,控制器111依據(jù)選定的任務(wù)條件以及期望總工作時(shí)間,自建議方案數(shù)據(jù)庫(kù)123中獲得對(duì)應(yīng)的建議方案,而傳送建議方案至主控節(jié)點(diǎn)裝置120,使得主控節(jié)點(diǎn)裝置120依據(jù)建議方案來(lái)部署叢集運(yùn)算架構(gòu)的硬件資源配置。即,上述任務(wù)條件包括欲使用的軟件框架、分析數(shù)據(jù)筆數(shù)、環(huán)境參數(shù)條件、演算法、任務(wù)數(shù)量以及任務(wù)分割筆數(shù)其中一個(gè)或其組合,而所獲得的建議方案包括工作節(jié)點(diǎn)數(shù)量(工作節(jié)點(diǎn)裝置的數(shù)量)及工作節(jié)點(diǎn)資源配置(工作節(jié)點(diǎn)裝置的硬件資源配置)。
另外,在選定任務(wù)條件以及期望總工作時(shí)間之后,若在建議方案數(shù)據(jù)庫(kù)123中不存在對(duì)應(yīng)的建議方案,則控制器111可進(jìn)行重新訓(xùn)練的動(dòng)作。即,控制器111依據(jù)選定的任務(wù)條件,針對(duì)工作節(jié)點(diǎn)數(shù)量以及工作節(jié)點(diǎn)資源配置來(lái)重新建立訓(xùn)練模型,將訓(xùn)練模型傳送至主控節(jié)點(diǎn)裝置120,使得主控節(jié)點(diǎn)裝置120依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得對(duì)應(yīng)的運(yùn)算時(shí)間,并將上述訓(xùn)練模型與運(yùn)算時(shí)間儲(chǔ)存至建議方案數(shù)據(jù)庫(kù)123。
而在選定任務(wù)條件以及期望總工作時(shí)間之后,若在建議方案數(shù)據(jù)庫(kù)123中不存在對(duì)應(yīng)的建議方案,控制器111還可進(jìn)一步提示一通知信息,來(lái)通知使用者目前的建議方案數(shù)據(jù)庫(kù)123中不存在對(duì)應(yīng)的建議方案。此外,控制器111也可以取出相近的建議方案,經(jīng)由推算來(lái)獲得一個(gè)預(yù)測(cè)的建議方案。例如,若任務(wù)條件中的分析數(shù)據(jù)筆數(shù)為1萬(wàn)筆,而在建議方案數(shù)據(jù)庫(kù)123中,在其他任務(wù)條件皆相同的情況下,只存在分析數(shù)據(jù)筆數(shù)為5千筆的建議方案,則控制器111可取出此建議方案,通過(guò)適當(dāng)?shù)耐扑銇?lái)獲得預(yù)測(cè)的建議方案。例如,分析數(shù)據(jù)筆數(shù)5千筆的建議方案為2臺(tái)工作節(jié)點(diǎn)裝置,則分析數(shù)據(jù)筆數(shù)為1萬(wàn)筆的預(yù)測(cè)的建議方案為4臺(tái)工作節(jié)點(diǎn)裝置。然,上述僅為舉例說(shuō)明,并不以此為限。
通過(guò)上述實(shí)施例,在使用者通過(guò)資源規(guī)劃裝置110設(shè)定了大數(shù)據(jù)資料(分析數(shù)據(jù)筆數(shù))并且選定了欲使用的軟件框架以及輸入一期望總工作時(shí)間之后,控制器111可自影響因子數(shù)據(jù)庫(kù)121中獲得對(duì)應(yīng)的環(huán)境參數(shù)條件,并且自演算法數(shù)據(jù)庫(kù)122中獲得對(duì)應(yīng)的演算法特征,進(jìn)而獲得對(duì)應(yīng)的建議方案,即,工作節(jié)點(diǎn)數(shù)量與工作節(jié)點(diǎn)資源 配置。而使用者便能夠依照回報(bào)的工作節(jié)點(diǎn)數(shù)量與工作節(jié)點(diǎn)資源配置,通過(guò)主控節(jié)點(diǎn)裝置120來(lái)決定叢集運(yùn)算架構(gòu)的硬件資源配置。
具體而言,主控節(jié)點(diǎn)裝置120判斷叢集運(yùn)算架構(gòu)下所包括的工作節(jié)點(diǎn)數(shù)量是否少于建議方案所包括的建議數(shù)量,以及判斷叢集運(yùn)算架構(gòu)下所包括的工作節(jié)點(diǎn)硬件資源是否低于建議方案所包括的資源需求。
在判定工作節(jié)點(diǎn)數(shù)量少于建議數(shù)量或工作節(jié)點(diǎn)硬件資源低于資源需求時(shí),主控節(jié)點(diǎn)裝置120會(huì)發(fā)出提示信息來(lái)通知使用者目前叢集運(yùn)算架構(gòu)下的工作節(jié)點(diǎn)裝置的數(shù)量不足或是工作節(jié)點(diǎn)裝置的硬件資源過(guò)低,進(jìn)而由使用者來(lái)提供其他工作節(jié)點(diǎn)裝置并輸入一指令至主控節(jié)點(diǎn)裝置120。之后,主控節(jié)點(diǎn)裝置120依據(jù)上述指令來(lái)額外指派符合建議方案的其他工作節(jié)點(diǎn)裝置至叢集運(yùn)算架構(gòu)下。而在判定工作節(jié)點(diǎn)數(shù)量未少于建議數(shù)量且工作節(jié)點(diǎn)硬件資源未低于資源需求時(shí),主控節(jié)點(diǎn)裝置120便可部屬符合建議數(shù)量的各工作節(jié)點(diǎn)裝置的硬件資源配置。
另外,資源規(guī)劃裝置110也可與主控節(jié)點(diǎn)裝置120整合。舉例來(lái)說(shuō),圖3是依照本發(fā)明一實(shí)施例的資源規(guī)劃裝置的方塊圖。請(qǐng)參照?qǐng)D3,本實(shí)施例的資源規(guī)劃裝置300包括控制器311以及儲(chǔ)存單元320。控制器311具有與控制器111相同的功能,并且還兼具主控節(jié)點(diǎn)裝置120的功能,即,分配叢集運(yùn)算架構(gòu)下的多個(gè)工作節(jié)點(diǎn)裝置的硬件資源配置。
儲(chǔ)存單元320包括影響因子數(shù)據(jù)庫(kù)121、演算法數(shù)據(jù)庫(kù)122以及建議方案數(shù)據(jù)庫(kù)123。通過(guò)控制器311自多個(gè)軟件框架中選定一個(gè)來(lái)作為待訓(xùn)練平臺(tái),并且建立多個(gè)訓(xùn)練模型來(lái)對(duì)待訓(xùn)練平臺(tái)進(jìn)行訓(xùn)練,藉以建立建議方案數(shù)據(jù)庫(kù)123。
控制器311依據(jù)所選擇的待訓(xùn)練平臺(tái),自對(duì)應(yīng)于待訓(xùn)練平臺(tái)的設(shè)定檔中,擷取出會(huì)影響待訓(xùn)練平臺(tái)的執(zhí)行速度的多個(gè)設(shè)定值,并且擷取待訓(xùn)練平臺(tái)所使用的多個(gè)演算法特征,基于上述設(shè)定值以及演算法特征建立多個(gè)訓(xùn)練模型,并且在依據(jù)各訓(xùn)練模型來(lái)進(jìn)行運(yùn)算,而獲得運(yùn)算時(shí)間之后,將各訓(xùn)練模型對(duì)應(yīng)的運(yùn)算時(shí)間儲(chǔ)存至建議方案數(shù)據(jù)庫(kù)123。而詳細(xì)建立建議方案數(shù)據(jù)庫(kù)123的作法可參考步驟S205~S215。
在建議方案數(shù)據(jù)庫(kù)123建立之后,控制器311依據(jù)選定的任務(wù)條件以及期望總工作時(shí)間,自建議方案數(shù)據(jù)庫(kù)123中獲得建議方案,并且,控制器311依據(jù)建議方案來(lái)部署叢集運(yùn)算架構(gòu)的硬件資源配置。
綜上所述,本發(fā)明對(duì)叢集運(yùn)算架構(gòu)進(jìn)行訓(xùn)練,并建立一建議方案數(shù)據(jù)庫(kù),讓使用 者在實(shí)際進(jìn)行硬件資源的分配時(shí),依據(jù)建議方案數(shù)據(jù)庫(kù)來(lái)獲得對(duì)應(yīng)的建議方案,而能夠即時(shí)獲得最佳的硬件資源規(guī)劃。
雖然本發(fā)明已以實(shí)施例揭露如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中具有通常知識(shí)者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動(dòng)與潤(rùn)飾,故本發(fā)明的保護(hù)范圍當(dāng)視申請(qǐng)專利范圍所界定者為準(zhǔn)。