云計算資源調度方法和系統的制作方法
【技術領域】
[0001]本發明涉及通信領域,特別涉及一種云計算資源調度方法和系統。
【背景技術】
[0002]現有的云計算、集群資源調度方法是根據資源池中節點資源利用情況和任務屬性,對資源進行調度,調度的策略和目標是使各節點的利用率最優、負載盡可能均衡,從而提高應用的和性能和資源利用率,并可間接降低系統的功耗。
[0003]由于現有的調度方法僅考慮資源利用狀況,而并沒有直接將功耗作為調度計算因子,所以其調度結果對資源利用率和應用性能可達到最優,對功耗卻沒有達到最優。
【發明內容】
[0004]本發明實施例提供一種云計算資源調度方法和系統。通過綜合考慮資源利用狀況和功耗狀況,從而使得資源調度無論是在資源利用率、應用性能還是資源功耗上都達到最優。
[0005]根據本發明的一個方面,提供一種云計算資源調度方法,包括:
[0006]實時采集資源池中各節點的資源利用狀況,并按照資源利用率最優策略生成第一節點分配序列,其中在第一節點分配序列中,節點的排序與自身的資源利用狀況相關聯;
[0007]實時采集資源池中各節點的功耗狀況,并按照功耗最優策略生成第二節點分配序列,其中在第二節點分配序列中,節點的排序與自身的功耗狀況相關聯;
[0008]根據任務性質,并基于并行性最優策略,將所述任務進行拆分,以得到子任務集合;
[0009]根據第一節點分配序列和第二節點分配序列生成資源調度序列,其中在資源調度序列中,節點的排序與自身的資源利用狀況和功耗狀況相關聯;
[0010]根據資源調度序列,將子任務集合中的子任務分配給相應的節點。
[0011 ] 在一個實施例中,根據第一節點分配序列和第二節點分配序列生成資源調度序列的步驟包括:
[0012]在第一節點分配序列中,將節點隊的順序數乘以相應的權重值e1;以便對節點隊的順序數進行更新,從而得到第三節點分配序列,其中權重值ei與節點隊的功耗狀況相關聯,1彡i彡N,N為資源池中的節點數;
[0013]在第二節點分配序列中,將節點隊的順序數乘以相應的權重值r1;以便對節點隊的順序數進行更新,從而得到第四節點分配序列,其中權重值A與節點隊的資源利用狀況相關聯;
[0014]根據節點隊在第三節點分配序列中的順序數和在第四節點分配序列中的順序數,確定節點隊在資源調度序列中的順序數。
[0015]在一個實施例中,根據資源調度序列,將子任務集合中的子任務分配給相應的節點的步驟包括:
[0016]在資源調度序列中,將功耗不為0的節點作為備選節點,以得到備選節點集合;
[0017]利用備選節點集合,判斷子任務集合中各子任務的需求是否都能得到滿足;
[0018]若子任務集合中各子任務的需求都能得到滿足,則在備選節點集合中,將子任務集合中的子任務分配給相應的備選節點。
[0019]在一個實施例中,若子任務集合中存在需求不能得到滿足的子任務,則在功耗為0的節點中選擇相應的節點作為備選節點,以更新備選節點集合,從而基于更新的備選節點集合,使子任務集合中各子任務的需求都能得到滿足;
[0020]在更新的備選節點集合中,將子任務集合中的子任務分配給相應的備選節點,并指示功耗為0且分配有任務的節點開機。
[0021]在一個實施例中,實時采集資源池中各節點的功耗狀況的步驟包括:
[0022]判斷節點隊是否能夠直接提供功耗狀況;
[0023]若節點隊能夠直接提供功耗狀況,則實時采集節點隊的功耗狀況。
[0024]在一個實施例中,若節點隊不能直接提供功耗狀況,則實時采集節點隊的負載狀況;
[0025]根據預先確定的負載和功耗之間的關系,利用實時采集到的節點隊的負載狀況,實時獲得節點隊的功耗狀況。
[0026]根據本發明的另一方面,提供一種云計算資源調度系統,包括負載分析模塊、功耗分析模塊、任務分析模塊、資源調度序列生成模塊和資源調度模塊,其中:
[0027]負載分析模塊,用于實時采集資源池中各節點的資源利用狀況,并按照資源利用率最優策略生成第一節點分配序列,其中在第一節點分配序列中,節點的排序與自身的資源利用狀況相關聯;
[0028]功耗分析模塊,用于實時采集資源池中各節點的功耗狀況,并按照功耗最優策略生成第二節點分配序列,其中在第二節點分配序列中,節點的排序與自身的功耗狀況相關聯;
[0029]任務分析模塊,用于根據任務性質,并基于并行性最優策略,將所述任務進行拆分,以得到子任務集合;
[0030]資源調度序列生成模塊,用于根據第一節點分配序列和第二節點分配序列生成資源調度序列,其中在資源調度序列中,節點的排序與自身的資源利用狀況和功耗狀況相關聯;
[0031]資源調度模塊,用于根據資源調度序列,將子任務集合中的子任務分配給相應的節點。
[0032]在一個實施例中,資源調度序列生成模塊具體在第一節點分配序列中,將節點隊的順序數乘以相應的權重值e1;以便對節點隊的順序數進行更新,從而得到第三節點分配序列,其中權重值ei與節點隊的功耗狀況相關聯,N,N為資源池中的節點數;在第二節點分配序列中,將節點隊的順序數乘以相應的權重值r1;以便對節點隊的順序數進行更新,從而得到第四節點分配序列,其中權重值A與節點隊的資源利用狀況相關聯;根據節點隊在第三節點分配序列中的順序數和在第四節點分配序列中的順序數,確定節點隊在資源調度序列中的順序數。
[0033]在一個實施例中,資源調度模塊具體在資源調度序列中,將功耗不為0的節點作為備選節點,以得到備選節點集合;利用備選節點集合,判斷子任務集合中各子任務的需求是否都能得到滿足;若子任務集合中各子任務的需求都能得到滿足,則在備選節點集合中,將子任務集合中的子任務分配給相應的備選節點。
[0034]在一個實施例中,資源調度模塊還用于在子任務集合中存在需求不能得到滿足的子任務時,在功耗為0的節點中選擇相應的節點作為備選節點,以更新備選節點集合,從而基于更新的備選節點集合,使子任務集合中各子任務的需求都能得到滿足;在更新的備選節點集合中,將子任務集合中的子任務分配給相應的備選節點,并指示功耗為0且分配有任務的節點開機。
[0035]在一個實施例中,功耗分析模塊具體判斷節點隊是否能夠直接提供功耗狀況;若節點隊能夠直接提供功耗狀況,則實時采集節點隊的功耗狀況。
[0036]在一個實施例中,功耗分析模塊還用于在節點隊不能直接提供功耗狀況時,實時采集節點隊的負載狀況;
[0037]根據預先確定的負載和功耗之間的關系,利用實時采集到的節點隊的負載狀況,實時獲得節點隊的功耗狀況。
[0038]本發明通過實時采集資源池中各節點的資源利用狀況,并按照資源利用率最優策略生成第一節點分配序列;實時采集資源池中各節點的功耗狀況,并按照功耗最優策略生成第二節點分配序列;根據任務性質,并基于并行性最優策略,將所述任務進行拆分,以得到子任務集合;根據第一節點分配序列和第二節點分配序列生成資源調度序列,其中在資源調度序列中,節點的排序與自身的資源利用狀況和功耗狀況相關聯;根據資源調度序列,將子任務集合中的子任務分配給相應的節點。通過綜合考慮資源利用狀況和功耗狀況,從而使得資源調度無論是在資源利用率、應用性能還是資源功耗上都達到最優。
【附圖說明】
[0039]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0040]圖1為本發明云計算資源調度方法一個實施例的示意圖。
[0041]圖2為本發明生成資源調度序列一個實施例的示意圖。
[0042]圖3為本發明云計算資源調度系統一個實施例的示意圖。
【具體實施方式】
[0043]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。以下對至少一個示例性實施例的描述實際上僅僅是說明