本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種調(diào)整服務(wù)器的頻率的方法及裝置。
背景技術(shù):
在現(xiàn)有數(shù)據(jù)中心的分布式環(huán)境下,針對search和memkeyvalue這兩類拓?fù)浣Y(jié)構(gòu),為了減少目標(biāo)任務(wù)在各個服務(wù)器上執(zhí)行完畢后產(chǎn)生的長尾,也就是盡可能保證目標(biāo)任務(wù)在各個服務(wù)器上執(zhí)行的總執(zhí)行時間小于或等于SLO(Service-Level Object,服務(wù)等級目標(biāo)值),性能監(jiān)測模塊(Performance Monitor)實時檢測當(dāng)前目標(biāo)任務(wù)在各個服務(wù)器上的延遲值,并將當(dāng)前目標(biāo)任務(wù)在各個服務(wù)器上的延遲值向頻率控制模塊(Frequency Contrl)發(fā)送。其中,各個服務(wù)器之間串行,也就是后一個服務(wù)器在執(zhí)行目標(biāo)任務(wù)時,需要使用前一個服務(wù)器執(zhí)行目標(biāo)任務(wù)之后得到的執(zhí)行結(jié)果,各個服務(wù)器均用于執(zhí)行同一個目標(biāo)任務(wù),并且在執(zhí)行目標(biāo)任務(wù)的過程中,各個服務(wù)器按照串行順序依次執(zhí)行目標(biāo)任務(wù)。當(dāng)頻率控制模塊接收到任務(wù)在所有服務(wù)器上的延遲值之后,根據(jù)當(dāng)前目標(biāo)任務(wù)在所有服務(wù)器上的延遲值、當(dāng)前目標(biāo)任務(wù)在所有服務(wù)器上的延遲值的平均值、SLO確定所有服務(wù)器調(diào)整后的頻率,并由頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。
在實際調(diào)頻過程中,由于當(dāng)前目標(biāo)任務(wù)需要在各個服務(wù)器上執(zhí)行完畢后,頻率控制模塊才能確定各個服務(wù)器的頻率調(diào)整值。因此,采用上述調(diào)頻策略可以降低后續(xù)目標(biāo)任務(wù)在各個服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。但是,對于執(zhí)行過程中的目標(biāo)任務(wù)而言,上述調(diào)頻策略無法降低當(dāng)前目標(biāo)任務(wù)在各個服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的方法及裝置,能夠降低執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
為達(dá)到上述目的,本發(fā)明實施例采用如下技術(shù)方案:
第一方面,本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的方法,所述方法用于調(diào)整N個服務(wù)器中至少一個服務(wù)器的頻率,所述N個服務(wù)器用于依次串行的執(zhí)行目標(biāo)任務(wù),其中,N為大于1的正整數(shù),所述方法包括:
獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,其中,j為大于0并且小于N的正整數(shù);
當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率。
結(jié)合第一方面,在第一方面的第一種可能的實現(xiàn)方式中,所述獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間包括:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的時間。
結(jié)合第一方面,在第一方面的第二種可能的實現(xiàn)方式中,所述獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間包括:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的總執(zhí)行時間。
結(jié)合第一方面,或第一方面的第一至第二種可能的實現(xiàn)方式中的任意一項,在第一方面的第三種可能的實現(xiàn)方式中,根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率,包括:
分別獲取第j+1至第N個服務(wù)器的切頻代價,其中,切頻代價表示在單個服務(wù)器運行在第一頻率時和所述單個服務(wù)器運行在第二頻率時,用于執(zhí)行所述目標(biāo)任務(wù)所需要的時間的差值,所述第二頻率的數(shù)值大于所述第一頻率;
根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,其中所述第一服務(wù)器組中的服務(wù)器運行在所述第一頻率,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第一方面的第四種可能的實現(xiàn)方式中,所述根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率,包括:
確定所述第j+1至第N個服務(wù)器中,從所述第一頻率調(diào)整至所述第二頻率的i個服務(wù)器,其中,i為大于0并且小于N-j的正整數(shù);
獲取所述i個服務(wù)器的切頻代價之和;
當(dāng)所述i個服務(wù)器的切頻代價之和小于松弛時間時,根據(jù)所述松弛時間與所述i個服務(wù)器的切頻代價之和的差值,從所述第j+1至第N個服務(wù)器中確定所述第一服務(wù)器組,其中,所述松弛時間為所述執(zhí)行時間和所述第一閾值的差值;
將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第二頻率。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第一方面的第五種可能的實現(xiàn)方式中,所述方法還包括:
當(dāng)所述N個服務(wù)器的總執(zhí)行時間小于預(yù)設(shè)的第二閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第二服務(wù)器組,其中,所述第二服務(wù)器組中的服務(wù)器運行在所述第二頻率,并將所述第二服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率;
當(dāng)所述總執(zhí)行時間大于預(yù)設(shè)的第三閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第三服務(wù)器組,其中,所述第三服務(wù)器組中的服務(wù)器運行在所述第一頻率,并將所述第三服務(wù)器組的頻率調(diào)整至所述第二頻率。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第一方面的第六種可能的實現(xiàn)方式中,所述方法還包括:
當(dāng)所述目標(biāo)任務(wù)在所述N個服務(wù)器上執(zhí)行結(jié)束后,將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
第二方面,本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的裝置,所述裝置用于調(diào)整N個服務(wù)器中至少一個服務(wù)器的頻率,所述N個服務(wù)器用于依次串行的執(zhí)行目標(biāo)任務(wù),其中,N為大于1的正整數(shù),所述裝置包括:
時間統(tǒng)計模塊,用于獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,其中,j為大于0并且小于N的正整數(shù);
頻率控制模塊,用于當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述時間統(tǒng)計模塊獲取的所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率。
結(jié)合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,所述時間統(tǒng)計模塊,具體用于:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的時間。
結(jié)合第二方面,在第二方面的第二種可能的實現(xiàn)方式中,所述時間統(tǒng)計模塊,具體用于:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的總執(zhí)行時間。
結(jié)合第二方面,或第二方面的第一至第二種可能的實現(xiàn)方式中的任意一項,在第二方面的第三種可能的實現(xiàn)方式中,所述頻率控制模塊,具體用于:
分別獲取第j+1至第N個服務(wù)器的切頻代價,其中,切頻代價表示在單個服務(wù)器運行在第一頻率時和所述單個服務(wù)器運行在第二頻率時,用于執(zhí)行所述目標(biāo)任務(wù)所需要的時間的差值,所述第二頻率的數(shù)值大于所述第一頻率;
根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,其中所述第一服務(wù)器組中的服務(wù)器運行在所述第一頻率,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率。
結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第二方面的第四種可能的實現(xiàn)方式中,所述頻率控制模塊,具體用于:
確定所述第j+1至第N個服務(wù)器中,從所述第一頻率調(diào)整至所述第二頻率的i個服務(wù)器,其中,i為大于0并且小于N-j的正整數(shù);
獲取所述i個服務(wù)器的切頻代價之和;
當(dāng)所述i個服務(wù)器的切頻代價之和小于松弛時間時,根據(jù)所述松弛時間與所述i個服務(wù)器的切頻代價之和的差值,從所述第j+1至第N個服務(wù)器中確定所述第一服務(wù)器組,其中,所述松弛時間為所述執(zhí)行時間和所述第一閾值的差值;
將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第二頻率。
結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第二方面的第五種可能的實現(xiàn)方式中,所述頻率控制模塊,還用于:
當(dāng)所述N個服務(wù)器的總執(zhí)行時間小于預(yù)設(shè)的第二閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第二服務(wù)器組,其中,所述第二服務(wù)器組中的服務(wù)器運行在所述第二頻率,并將所述第二服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率;
當(dāng)所述總執(zhí)行時間大于預(yù)設(shè)的第三閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第三服務(wù)器組,其中,所述第三服務(wù)器組中的服務(wù)器運行在所述第一頻率,并將所述第三服務(wù)器組的頻率調(diào)整至所述第二頻率。
結(jié)合第二方面的第三種可能的實現(xiàn)方式,在第二方面的第六種可能的實現(xiàn)方式中,所述頻率控制模塊,還用于當(dāng)所述目標(biāo)任務(wù)在所述N個服務(wù)器上執(zhí)行結(jié)束后,將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法及裝置,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間確定第 j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。其中,j為大于0并且小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并根據(jù)執(zhí)行時間確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實施例提供的一種數(shù)據(jù)中心的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖3為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖4為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖5為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖6為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖7為本發(fā)明實施例提供的一種將所有服務(wù)器分組的示意圖;
圖8為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖9為本發(fā)明實施例提供的一種劃分總執(zhí)行時間所在區(qū)間的示意圖;
圖10為本發(fā)明實施例提供的另一種調(diào)整服務(wù)器的頻率的方法流程圖;
圖11為本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的裝置結(jié)構(gòu)示意圖;
圖12為本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的設(shè)備結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括復(fù)數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”是指并包含一個或多個相關(guān)聯(lián)的列出項目的任何或所有可能組合。
本發(fā)明實施例可以用于數(shù)據(jù)中心,數(shù)據(jù)中心設(shè)置有時間統(tǒng)計模塊和頻率控制模塊。其中,時間統(tǒng)計模塊可以實時統(tǒng)計每個任務(wù)在服務(wù)器中的處理狀態(tài),比如:每個任務(wù)在服務(wù)器上的執(zhí)行時間,其中,執(zhí)行時間可以包括服務(wù)器的節(jié)點延遲和傳輸過程中的網(wǎng)絡(luò)延遲;頻率控制模塊可以根據(jù)用于表示所有服務(wù)器中每個服務(wù)器上每個任務(wù)的處理狀態(tài)的參數(shù),來確定所有服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。在數(shù)據(jù)中心還可以專門設(shè)置用于實時監(jiān)測各個服務(wù)器性能的性能監(jiān)測模塊,性能監(jiān)測模塊可以根據(jù)時間統(tǒng)計模塊上報的用于表示每個任務(wù)在服務(wù)器中的處理狀態(tài)的參數(shù),來監(jiān)測所有服務(wù)器中每個服務(wù)器上每個任務(wù)的處理狀態(tài)。數(shù)據(jù)中心還設(shè)置有多個串行的服務(wù)器,如圖1所示為時間統(tǒng)計模塊、性能監(jiān)測模塊、頻率控制模塊和服務(wù)器1、服務(wù)器2等N個服務(wù)器的結(jié)構(gòu)示意圖。其中,服務(wù)器1至服務(wù)器N串行,并且,在執(zhí)行任務(wù)的過程中,服務(wù)器1至服務(wù)器N需要按照串行排列的順序依次執(zhí)行同一個任務(wù)。
本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的方法,所述方法用于調(diào)整N個服務(wù)器中至少一個服務(wù)器的頻率,所述N個服務(wù)器用于依次串行的執(zhí)行任務(wù),其中,N為大于1的正整數(shù)。如圖2所示,所述方法包括:
101、獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間。
其中,j為大于0并且小于N的正整數(shù)。
任務(wù)在服務(wù)器上的執(zhí)行過程中,當(dāng)任務(wù)所在服務(wù)器運行頻率較低時,任務(wù)在服務(wù)器上的執(zhí)行時間較長;當(dāng)任務(wù)所在服務(wù)器運行頻率較高時,任務(wù)在服務(wù)器上的執(zhí)行時間較短。因此,在調(diào)整服務(wù)器的頻率的過程中,可以通過獲取執(zhí)行時間來確定將服務(wù)器的頻率調(diào)高或調(diào)低,比如:將服務(wù)器的頻率調(diào)整至高頻或是調(diào)整至低頻。需要說明的是,由于在實際應(yīng)用場景中,每個服務(wù)器上可能存在多個正在執(zhí)行的任務(wù),而分別獲取每個任務(wù)的執(zhí)行時間會占用大量資源,因此,可以根據(jù)不同的應(yīng)用場景設(shè)定采樣時間,也就是可以周期性獲取服務(wù)器上運行的每個任務(wù)的執(zhí)行時間,之后根據(jù)周期性獲取的每個任務(wù)的執(zhí)行時間,執(zhí)行步驟102,而不必獲取每個出現(xiàn)在服務(wù)器上的任務(wù)的執(zhí)行時間,從而減少獲 取任務(wù)的執(zhí)行時間所占用的資源。
102、當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率。
需要說明的是,執(zhí)行時間可以是按照一定周期性直接獲取的參數(shù),或者是根據(jù)所獲取的參數(shù)通過分析和/或計算得到的結(jié)果,其中,執(zhí)行時間是與調(diào)整服務(wù)器的頻率相關(guān)的參數(shù)。此外,在本文中涉及到執(zhí)行時間的地方均可以參考這部分內(nèi)容。在本發(fā)明實施例中可以根據(jù)執(zhí)行時間來確定所有服務(wù)器中的第一服務(wù)器組,之后可以按照預(yù)先設(shè)定的調(diào)整規(guī)則根據(jù)不同應(yīng)用場景的需求來調(diào)整第一服務(wù)器組的頻率。需要說明的是,調(diào)整頻率的方式可以有多種,具體可以參照后文中本發(fā)明實施例的其他實現(xiàn)方式。
需要說明的是,目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間可以是第j個服務(wù)器執(zhí)行目標(biāo)任務(wù)所占用的時間,或是第j個服務(wù)器執(zhí)行目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行目標(biāo)任務(wù)所占用的總執(zhí)行時間。第一服務(wù)器組可以包括一個或多個需要調(diào)整的服務(wù)器,在本發(fā)明實施例中,對于第一服務(wù)器組中服務(wù)器的數(shù)量不作具體限定,可以根據(jù)不同的應(yīng)用場景來確定第一服務(wù)器組中服務(wù)器的數(shù)量。
因此,在本發(fā)明實施例的另一個實現(xiàn)方式中,在如圖2所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖3所示的實現(xiàn)方式,其中,步驟101可以具體實現(xiàn)為步驟1011:
1011、獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的時間。
或者,在本發(fā)明實施例的另一個實現(xiàn)方式中,在如圖2所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖4所示的實現(xiàn)方式,其中,步驟101可以具體實現(xiàn)為步驟1012:
1012、獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的總執(zhí)行時間。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。其中,j為大于0并且小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并根據(jù)執(zhí)行時間確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn) 生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
為了更加準(zhǔn)確的確定第一服務(wù)器組,在本發(fā)明實施例的另一個實現(xiàn)方式中,可以根據(jù)第j+1至第N個服務(wù)器的切頻代價和執(zhí)行時間來確定第一服務(wù)器組。因此,在如圖2所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖5所示的實現(xiàn)方式,其中,步驟102當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率,可以具體實現(xiàn)為步驟1021和步驟1022:
1021、當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,分別獲取第j+1至第N個服務(wù)器的切頻代價。
其中,切頻代價表示在單個服務(wù)器運行在第一頻率時和所述單個服務(wù)器運行在第二頻率時,用于執(zhí)行所述目標(biāo)任務(wù)所需要的時間的差值,所述第二頻率的數(shù)值大于所述第一頻率。
在本發(fā)明實施例中,可以通過將目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間和預(yù)先設(shè)置的第一閾值進(jìn)行比較來判斷是否產(chǎn)生長尾,當(dāng)執(zhí)行時間大于第一閾值時,則目標(biāo)任務(wù)在第i個服務(wù)器產(chǎn)生長尾,需要在目標(biāo)任務(wù)的后續(xù)執(zhí)行過程中進(jìn)行補(bǔ)償;當(dāng)執(zhí)行時間小于或等于第一閾值時,則目標(biāo)任務(wù)在第i個服務(wù)器未產(chǎn)生長尾。其中,補(bǔ)償?shù)木唧w實現(xiàn)方式在后文中本發(fā)明實施例的其他實現(xiàn)方式中會提到。
需要說明的是,由于補(bǔ)償過程是在目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中進(jìn)行的,因此,在本發(fā)明實施例中,可以通過調(diào)整串行的所有服務(wù)器中最后執(zhí)行目標(biāo)任務(wù)的幾個服務(wù)器來實現(xiàn)補(bǔ)償。而在調(diào)整服務(wù)器的頻率的過程中,會考慮到調(diào)整頻率所帶來的切頻代價,因此,這里需要分別獲取第j+1至第N個服務(wù)器的切頻代價。
在本發(fā)明實施例中,在目標(biāo)任務(wù)在當(dāng)前服務(wù)器上執(zhí)行之前,可以預(yù)先根據(jù)經(jīng)驗值來進(jìn)行第一閾值的設(shè)定。需要說明的是,由于每個服務(wù)器的性能可能不同,對于處理數(shù)據(jù)較大的服務(wù)器和處理數(shù)據(jù)相對較小的服務(wù)器設(shè)定不同的第一閾值可以更準(zhǔn)確的對是否發(fā)生長尾進(jìn)行判斷。因此,可以根據(jù)每個服務(wù)器的性能為數(shù)據(jù)中心的所有服務(wù)器分別設(shè)定不同的第一閾值。
1022、根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行 時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率。
其中,所述第一服務(wù)器組中的服務(wù)器運行在所述第一頻率。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間和第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價,確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的工作頻率至第二頻率。其中,j為大于0并且小于N的正整數(shù),第一服務(wù)器組中的服務(wù)器運行在第一頻率。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并獲取第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價,之后根據(jù)執(zhí)行時間和獲取的切頻代價確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的工作頻率至第二頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
為了更加準(zhǔn)確的確定第一服務(wù)器組,在本發(fā)明實施例的另一個實現(xiàn)方式中,可以根據(jù)第j+1至第N個服務(wù)器中,從第一頻率動態(tài)調(diào)整至第二頻率的i個服務(wù)器的切頻代價之和,以及松弛時間,確定第一服務(wù)器組。因此,在如圖5所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖6所示的實現(xiàn)方式,其中,步驟1022根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率,可以具體實現(xiàn)為步驟10221至步驟10224:
10221、確定所述第j+1至第N個服務(wù)器中,從所述第一頻率調(diào)整至所述第二頻率的i個服務(wù)器。
其中,i為大于0并且小于N-j的正整數(shù)。
10222、獲取所述i個服務(wù)器的切頻代價之和。
10223、當(dāng)所述i個服務(wù)器的切頻代價之和小于松弛時間時,根據(jù)所述松弛時間與所述i個服務(wù)器的切頻代價之和的差值,從所述第j+1至第N個服務(wù)器中確定所述第一服務(wù)器組。
其中,所述松弛時間為所述執(zhí)行時間和所述第一閾值的差值。
在本發(fā)明實施例中,可以根據(jù)公式Slack_time=Elapsed_time-Threshold_time進(jìn)行計算得到松弛時間Slack_time。其中,Elapsed_time表示執(zhí)行時間,Threshold_time表示第一閾值。由于在本發(fā)明實施例的調(diào)整服務(wù)器的頻率的過程屬于實時調(diào)整過程,也就是每當(dāng)出現(xiàn)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾時,就會對第一服務(wù)器組的頻率進(jìn)行調(diào)整,這樣被調(diào)整的服務(wù)器需要根據(jù)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生的松弛時間來確定,而不需要考慮目標(biāo)任務(wù)在當(dāng)前服務(wù)器之前的其他服務(wù)器上產(chǎn)生的松弛時間。因此,在本發(fā)明實施例中,可以只獲取目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生的松弛時間。
在本發(fā)明實施例中,可以根據(jù)第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價、松弛時間和公式進(jìn)行計算得到m。其中,m為大于0并且小于N-j-i的正整數(shù),m表示N個服務(wù)器中的第一服務(wù)器組的數(shù)量,Scale_timei表示第i個服務(wù)器的切頻代價。在本發(fā)明實施例中,為了避免針對每個目標(biāo)任務(wù)所調(diào)整的服務(wù)器造成過多的資源浪費,步驟10223確定的第一服務(wù)器組可以是服務(wù)器在物理拓?fù)渑判虻淖詈髆個,也就是按照目標(biāo)任務(wù)在各個物理服務(wù)器上的執(zhí)行的先后順序,將各個物理服務(wù)器進(jìn)行排序,形成服務(wù)器的物理拓?fù)渑判?,之后在服?wù)器的調(diào)整過程中,通過確定m的值來確定物理拓?fù)渑判蛑行枰{(diào)整的最后m個服務(wù)器,也就是任務(wù)最后到達(dá)的m個服務(wù)器,并對這m個服務(wù)器進(jìn)行調(diào)整。這樣當(dāng)需要針對多個正在執(zhí)行任務(wù)來調(diào)整服務(wù)器的頻率時,就可以使待調(diào)整服務(wù)器形成交集,比如:針對目標(biāo)任務(wù)1需要調(diào)整m1個服務(wù)器,針對目標(biāo)任務(wù)2需要調(diào)整m2個服務(wù)器,其中m1>m2,則同時針對目標(biāo)任務(wù)1和目標(biāo)任務(wù)2,只需要調(diào)整m1個服務(wù)器。如果在調(diào)整過程中采用隨機(jī)挑選服務(wù)器的方式來進(jìn)行調(diào)整,那可能同時需要調(diào)整m1+m2個服務(wù)器來保證目標(biāo)任務(wù)1和目標(biāo)任務(wù)2的執(zhí)行,相對于只調(diào)整m1個服務(wù)器至高頻,按照物理拓?fù)渑判蜻M(jìn)行服務(wù)器的調(diào)整,可以節(jié)省大量資源。
在本發(fā)明實施例中,可以將所有服務(wù)器分成兩組,第一組服務(wù)器運行在高 頻,第二組服務(wù)器運行在低頻,并且為了方便確定第一服務(wù)器組的位置,可以將所有服務(wù)器按照一定規(guī)則進(jìn)行排序。比如:第一組服務(wù)器可以按照每個服務(wù)器執(zhí)行相同任務(wù)時的負(fù)載程度升序排列,也就是按照每個服務(wù)器的負(fù)載值升序排列;第二組服務(wù)器可以按照每個服務(wù)器執(zhí)行相同任務(wù)時的負(fù)載程度降序排列,也就是按照每個服務(wù)器的負(fù)載值降序排列。如圖7所示,在數(shù)據(jù)中心中設(shè)置有N個服務(wù)器、性能監(jiān)測模塊和頻率控制模塊。其中,第一組包括k個服務(wù)器,這k個服務(wù)器均運行在每個服務(wù)器的高頻,且這k個服務(wù)器按照服務(wù)器的負(fù)載程度升序排列為服務(wù)器k、服務(wù)器k-1至服務(wù)器1;第二組包括N-k個服務(wù)器,這N-k個服務(wù)器均運行在每個服務(wù)器的低頻,且這k個服務(wù)器按照服務(wù)器的負(fù)載程度降序排列為服務(wù)器k+1、服務(wù)器k+2至服務(wù)器N。在調(diào)整服務(wù)器的頻率的過程中,當(dāng)需要將一定數(shù)量的服務(wù)器從運行在低頻調(diào)整至運行在高頻時,可以從第二組最左端按照順序依次選擇一定數(shù)量的服務(wù)器移至第一組最左端需要調(diào)整的服務(wù)器是從第二組服務(wù)器中負(fù)載程度最高的服務(wù)器開始調(diào)整的。通過將兩組服務(wù)器按照第一組升序和第二組降序的方式進(jìn)行排列,可以看成將兩組服務(wù)器的最左端連接起來時,所有服務(wù)器從服務(wù)器1至服務(wù)器N是按照負(fù)載程度的降序排列的。
需要說明的是,在本發(fā)明實施例中不具體限定排序的規(guī)則和排序方式,可以根據(jù)不同的應(yīng)用場景設(shè)定具體的規(guī)則和排序方式,比如:按照一定數(shù)量的任務(wù)在N個服務(wù)器上產(chǎn)生長尾的概率降序排列,或者按照N個服務(wù)器中每個服務(wù)器上執(zhí)行相同任務(wù)所占用的時間或是所耗費的資源升序排列。
10224、將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第二頻率。
為了方便調(diào)整,可以采取如圖7所示的排列方式,這樣第一服務(wù)器組可以是邏輯上連續(xù)的服務(wù)器,也就是負(fù)載程度相近的服務(wù)器組成的第一服務(wù)器組。對于數(shù)據(jù)中心而言,將第二組服務(wù)器中負(fù)載程度較高的m個第一服務(wù)器組的運行頻率從低頻調(diào)整至每個服務(wù)器的高頻,可以有效的降低目標(biāo)任務(wù)分別在負(fù)載程度較高的第一服務(wù)器組的服務(wù)器上的執(zhí)行時間,從而通過調(diào)整較少數(shù)量的服務(wù)器來實現(xiàn)通過調(diào)整第一服務(wù)器組的頻率對目標(biāo)任務(wù)在第j個服務(wù)器產(chǎn)生的長尾進(jìn)行補(bǔ)償。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)從第一頻率動態(tài)調(diào)整至第二頻率的i個服務(wù)器的切頻代價值和松弛時間,確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并將第一服務(wù)器組的頻率調(diào)整至第二頻率。其中,j為大于0并且 小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取從第一頻率動態(tài)調(diào)整至第二頻率的i個服務(wù)器的切頻代價值和松弛時間,并根據(jù)松弛時間與i個服務(wù)器的切頻代價之和的差值,確定第一服務(wù)器組,并將第一服務(wù)器組的頻率調(diào)整至第二頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
為了降低在目標(biāo)任務(wù)之后執(zhí)行的其他目標(biāo)任務(wù)在N個服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率,在本發(fā)明實施例的另一個實現(xiàn)方式中,可以根據(jù)N個服務(wù)器的總執(zhí)行時間和第二閾值的大小關(guān)系來確定第二服務(wù)器組,并調(diào)整第二服務(wù)器組的頻率,或者根據(jù)N個服務(wù)器的總執(zhí)行時間和第三閾值的大小關(guān)系來確定第三服務(wù)器組,并調(diào)整第三服務(wù)器組的頻率。因此,在如圖5所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖8所示的實現(xiàn)方式:
103、當(dāng)所述N個服務(wù)器的總執(zhí)行時間小于預(yù)設(shè)的第二閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第二服務(wù)器組,并將所述第二服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
其中,所述第二服務(wù)器組中的服務(wù)器運行在所述第二頻率。
需要說明的是,第二服務(wù)器組可以包括一個或多個需要調(diào)整的服務(wù)器,在本發(fā)明實施例中,對于第二服務(wù)器組中服務(wù)器的數(shù)量不作具體限定,可以根據(jù)不同的應(yīng)用場景來確定第二服務(wù)器組中服務(wù)器的數(shù)量。
104、當(dāng)所述總執(zhí)行時間大于預(yù)設(shè)的第三閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第三服務(wù)器組,并將所述第三服務(wù)器組的頻率調(diào)整至所述第二頻率。
其中,所述第三服務(wù)器組中的服務(wù)器運行在所述第一頻率。
需要說明的是,第三服務(wù)器組可以包括一個或多個需要調(diào)整的服務(wù)器,在本發(fā)明實施例中,對于第三服務(wù)器組中服務(wù)器的數(shù)量不作具體限定,可以根據(jù)不同的應(yīng)用場景來確定第三服務(wù)器組中服務(wù)器的數(shù)量。
根據(jù)公式Lantencyj=Lantencyj-1+Elapsed_timej進(jìn)行計算得到總執(zhí)行時間 Lantencyj。其中,Lantencyj-1表示前j-1個服務(wù)器的總執(zhí)行時間,Elapsed_timej表示所述目標(biāo)任務(wù)在第j個服務(wù)器上開始執(zhí)行到執(zhí)行完畢所占用的時間。當(dāng)在執(zhí)行目標(biāo)任務(wù)過程中,所述第j個服務(wù)器是第N個服務(wù)器時,根據(jù)公式確定第1至第N個服務(wù)器的總執(zhí)行時間Lantencyj。
在本發(fā)明實施例中,可以根據(jù)N個服務(wù)器的總執(zhí)行時間來確定是否需要對N個服務(wù)器進(jìn)行調(diào)整,當(dāng)N個服務(wù)器的總執(zhí)行時間滿足預(yù)設(shè)條件時,按照預(yù)設(shè)規(guī)則調(diào)整N個服務(wù)器。其中,預(yù)設(shè)條件和預(yù)設(shè)規(guī)則可以根據(jù)歷史數(shù)據(jù)來設(shè)定。具體用于判斷第二服務(wù)器組和第三服務(wù)器組的方法有多種,比如:通過預(yù)先設(shè)定用來判斷總執(zhí)行時間是否滿足條件的區(qū)間,之后針對總執(zhí)行時間所在的不同區(qū)間內(nèi)來分別設(shè)定預(yù)設(shè)規(guī)則,以保證調(diào)整后的N個服務(wù)器的頻率可以更適應(yīng)于下一個目標(biāo)任務(wù)的執(zhí)行,從而降低下一個目標(biāo)任務(wù)在N個服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率,在后文會提到區(qū)間設(shè)定以及區(qū)間判斷的具體實現(xiàn)方式。
例如:區(qū)間可以包括第一區(qū)間、第二區(qū)間和第三區(qū)間。
當(dāng)N個服務(wù)器的總執(zhí)行時間Lantencyj在第一區(qū)間時,可以根據(jù)公式進(jìn)行計算得到p,并將p個服務(wù)器中的每個服務(wù)器的頻率調(diào)整為p個服務(wù)器中的每個服務(wù)器的低頻。其中,p表示第二服務(wù)器組中服務(wù)器的數(shù)量,Tdown表示第一區(qū)間的上限,Scale_timei表示第i個服務(wù)器的切頻代價。需要說明的是,在目標(biāo)任務(wù)開始執(zhí)行之前,為了保證目標(biāo)任務(wù)在N個服務(wù)器上的執(zhí)行過程中產(chǎn)生長尾的概率較低,可以將每個服務(wù)器分別設(shè)置為每個服務(wù)器的高頻。之后根據(jù)目標(biāo)任務(wù)在N個服務(wù)器上的總執(zhí)行時間所在區(qū)間來判斷是否需要將部分服務(wù)器調(diào)整至部分服務(wù)器的低頻。當(dāng)N個服務(wù)器的總執(zhí)行時間Lantencyj在第二區(qū)間時,可以根據(jù)公式進(jìn)行計算得到q,并將q個服務(wù)器中的每個服務(wù)器的頻率調(diào)整至q個服務(wù)器中的每個服務(wù)器的高頻。其中,q表示第三服務(wù)器組中服務(wù)器的數(shù)量,Tup表示第二區(qū)間的下限。當(dāng)N個服務(wù)器的總執(zhí)行時間Lantencyj在第三區(qū)間時,可以將N個服務(wù)器中的每個服務(wù)器的頻 率調(diào)整至N個服務(wù)器中的每個服務(wù)器的高頻。
如圖9所示,區(qū)間包括第一區(qū)間、第二區(qū)間和第三區(qū)間。在本發(fā)明實施例中,區(qū)間還可以包括第四區(qū)間,第四區(qū)間是為了避免頻繁調(diào)整服務(wù)器的頻率而設(shè)置的,在理想情況下,任務(wù)在數(shù)據(jù)中心的所有服務(wù)器上執(zhí)行結(jié)束的總執(zhí)行時間將收斂于此區(qū)間內(nèi),并達(dá)到穩(wěn)定狀態(tài)。其中,第一區(qū)間的上限值與第四區(qū)間的下限值相同,為Tdown;第四區(qū)間的上限值與第二區(qū)間的下限值相同,為Tup;第二區(qū)間的上限值與第三區(qū)間的下限值相同,為Deadline。
當(dāng)目標(biāo)任務(wù)的總執(zhí)行時間在第一區(qū)間內(nèi)時,可以確定如圖7所示的第一組服務(wù)器中負(fù)載程度較小的n個服務(wù)器,將這n個服務(wù)器從運行在高頻調(diào)整至運行在低頻,同時第一組服務(wù)器的數(shù)量從k個增加至k+n個,第二組服務(wù)器的數(shù)量從N-k個減少至N-k-n個,其中,n<N-k;當(dāng)目標(biāo)任務(wù)的總執(zhí)行時間在第二區(qū)間內(nèi)時,可以確定如圖7所示的第二組服務(wù)器中負(fù)載程度較大的n個服務(wù)器,將這n個服務(wù)器從運行在低頻調(diào)整至運行在高頻,同時第一組服務(wù)器的數(shù)量從k個減少至k-n個,第二組服務(wù)器的數(shù)量從N-k個增加至N-k+n個,其中,n<N-k;當(dāng)當(dāng)前目標(biāo)任務(wù)的總執(zhí)行時間在第三區(qū)間內(nèi)時,表示目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行過程中產(chǎn)生的長尾是無法進(jìn)行補(bǔ)償?shù)模藭r可以將所有服務(wù)器中運行在低頻的服務(wù)器的頻率調(diào)整至高頻,并維持預(yù)設(shè)時間,以減少后續(xù)目標(biāo)任務(wù)因當(dāng)前目標(biāo)任務(wù)產(chǎn)生的長尾而產(chǎn)生長尾的概率,其中,預(yù)設(shè)時間可以是根據(jù)歷史數(shù)據(jù)預(yù)先設(shè)定的經(jīng)驗值,在本發(fā)明實施例中不具體限定。需要說明的是,每個區(qū)間的上限和下限可以根據(jù)歷史數(shù)據(jù),針對不同的應(yīng)用場景具體設(shè)定,在本發(fā)明實施例中,不對設(shè)定每個區(qū)間的上限和下限的具體方法進(jìn)行限定。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法,根據(jù)N各服務(wù)器的總執(zhí)行時間和第二閾值的大小關(guān)系,確定第二服務(wù)器組,或者,N各服務(wù)器的總執(zhí)行時間和第三閾值的大小關(guān)系,確定第三服務(wù)器組,并調(diào)整第二服務(wù)器組或第三服務(wù)器組的頻率。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以獲取N個服務(wù)器的總執(zhí)行時間,并根據(jù)總執(zhí)行時間和第二閾值,以及第三閾值的大小關(guān)系來確定第二服務(wù)器組或第三服務(wù)器組,并調(diào)整第二服務(wù)器組或第三服務(wù)器組的頻率。這樣可以通過調(diào)整第二服務(wù)器組或第三服務(wù)器組的頻率,來降低下一個目標(biāo)任務(wù)在執(zhí)行過程中產(chǎn)生長尾的概率,同時通過調(diào)整第二服務(wù)器組或第三服務(wù)器組的頻率,降低執(zhí)行時間較短的服務(wù)器的能耗。
為了節(jié)約數(shù)據(jù)中心的能耗,在本發(fā)明實施例的另一個實現(xiàn)方式中,可以在目標(biāo)任務(wù)在N個服務(wù)器上執(zhí)行結(jié)束之后,將被調(diào)整頻率的服務(wù)器的頻率進(jìn)行恢復(fù)。因此,在如圖5所示的實現(xiàn)方式的基礎(chǔ)上,還可以實現(xiàn)為如圖10所示的實現(xiàn)方式:
105、當(dāng)所述目標(biāo)任務(wù)在所述N個服務(wù)器上執(zhí)行結(jié)束后,將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
將已調(diào)整頻率的服務(wù)器從運行在高頻調(diào)整為運行在低頻的過程中,可以根據(jù)具體的應(yīng)用場景來確定是否需要將所有已調(diào)整頻率的服務(wù)器調(diào)回運行在低頻。需要說明的是,具體是將所有已調(diào)整頻率的服務(wù)器調(diào)回運行在低頻,還是將部分已調(diào)整頻率的服務(wù)器調(diào)回運行在低頻在本發(fā)明實施例中,不作具體限定。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的方法,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。其中,j為大于0并且小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并根據(jù)執(zhí)行時間確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。并且,可以在目標(biāo)任務(wù)在N個服務(wù)器上執(zhí)行結(jié)束后,通過將被調(diào)整的服務(wù)器的頻率調(diào)回低頻,來降低被調(diào)整的服務(wù)器的能耗,從而實現(xiàn)數(shù)據(jù)中心的節(jié)能。
本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的裝置20,如圖11所示,所述裝置20用于調(diào)整N個服務(wù)器中至少一個服務(wù)器的頻率,所述N個服務(wù)器用于依次串行的執(zhí)行目標(biāo)任務(wù),其中,N為大于1的正整數(shù),所述裝置20包括:
時間統(tǒng)計模塊21,用于獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,其中,j為大于0并且小于N的正整數(shù)。
頻率控制模塊22,用于當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述時間統(tǒng)計模塊21獲取的所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述時間統(tǒng)計模塊21,具體用于:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的時間。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述時間統(tǒng)計模塊21,具體用于:
獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的總執(zhí)行時間。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述頻率控制模塊22,具體用于:
分別獲取第j+1至第N個服務(wù)器的切頻代價,其中,切頻代價表示在單個服務(wù)器運行在第一頻率時和所述單個服務(wù)器運行在第二頻率時,用于執(zhí)行所述目標(biāo)任務(wù)所需要的時間的差值,所述第二頻率的數(shù)值大于所述第一頻率;
根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,其中所述第一服務(wù)器組中的服務(wù)器運行在所述第一頻率,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述頻率控制模塊22,具體用于:
確定所述第j+1至第N個服務(wù)器中,從所述第一頻率調(diào)整至所述第二頻率的i個服務(wù)器,其中,i為大于0并且小于N-j的正整數(shù);
獲取所述i個服務(wù)器的切頻代價之和;
當(dāng)所述i個服務(wù)器的切頻代價之和小于松弛時間時,根據(jù)所述松弛時間與所述i個服務(wù)器的切頻代價之和的差值,從所述第j+1至第N個服務(wù)器中確定所述第一服務(wù)器組,其中,所述松弛時間為所述執(zhí)行時間和所述第一閾值的差值;
將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述頻率控制模塊22,還用于:
當(dāng)所述N個服務(wù)器的總執(zhí)行時間小于預(yù)設(shè)的第二閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第二服務(wù)器組,其中,所述第二服務(wù)器組中的服務(wù)器運行在所述第二頻率,并將所述第二服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率;
當(dāng)所述總執(zhí)行時間大于預(yù)設(shè)的第三閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第三服務(wù)器組,其中,所述第三服務(wù)器組中的服務(wù)器運行在所述第一頻率,并將所述第三服務(wù)器組的頻率調(diào)整至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述頻率控制模塊22,還用于當(dāng)所 述目標(biāo)任務(wù)在所述N個服務(wù)器上執(zhí)行結(jié)束后,將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的裝置,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。其中,j為大于0并且小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并根據(jù)執(zhí)行時間確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
本發(fā)明實施例提供一種調(diào)整服務(wù)器的頻率的設(shè)備30,如圖12所示,所述設(shè)備30用于調(diào)整N個服務(wù)器中至少一個服務(wù)器的頻率,所述N個服務(wù)器用于依次串行的執(zhí)行目標(biāo)任務(wù),其中,N為大于1的正整數(shù);設(shè)備30可包括存儲器31、接收器32、處理器33和總線34,其中,存儲器31、接收器32、處理器33通過總線34通信連接。
存儲器31可以是只讀存儲器(Read Only Memory,ROM),靜態(tài)存儲設(shè)備,動態(tài)存儲設(shè)備或者隨機(jī)存取存儲器(Random Access Memory,RAM)。存儲器31可以存儲操作系統(tǒng)和其他應(yīng)用程序。在通過軟件或者固件來實現(xiàn)本發(fā)明實施例提供的技術(shù)方案時,用于實現(xiàn)本發(fā)明實施例提供的技術(shù)方案的程序代碼保存在存儲器31中,并由處理器33來執(zhí)行。
接收器32用于設(shè)備30與其他設(shè)備或通信網(wǎng)絡(luò)(例如但不限于以太網(wǎng),無線接入網(wǎng)(Radio Access Network,RAN),無線局域網(wǎng)(Wireless Local Area Network,WLAN)等)之間的通信。
處理器33可以采用通用的中央處理器(Central Processing Unit,CPU),微處理器,應(yīng)用專用集成電路(Application Specific Integrated Circuit,ASIC),或者一個或多個集成電路,用于執(zhí)行相關(guān)程序,以實現(xiàn)本發(fā)明實施例所提供的技術(shù)方案。
總線34可包括一通路,在裝置各個部件(例如存儲器31、接收器32和處理 器33)之間傳送信息。
應(yīng)注意,盡管圖12所示的硬件僅僅示出了存儲器31、接收器32和處理器33以及總線34,但是在具體實現(xiàn)過程中,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,設(shè)備30還包含實現(xiàn)正常運行所必須的其他器件。同時,根據(jù)具體需要,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)明白,還可包含實現(xiàn)其他功能的硬件器件。
圖12所示的設(shè)備30用于實現(xiàn)圖11所示的裝置20時,所述接收器32,用于獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,其中,j為大于0并且小于N的正整數(shù)。
所述處理器33,與所述存儲器31和所述接收器32耦合,用于當(dāng)所述執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)所述執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整所述第一服務(wù)器組的頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述接收器32,具體用于獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的時間。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述接收器32,具體用于獲取所述第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)結(jié)束后,第1至第j個服務(wù)器執(zhí)行所述目標(biāo)任務(wù)所占用的總執(zhí)行時間。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述處理器33,具體用于:
分別獲取第j+1至第N個服務(wù)器的切頻代價,其中,切頻代價表示在單個服務(wù)器運行在第一頻率時和所述單個服務(wù)器運行在第二頻率時,用于執(zhí)行所述目標(biāo)任務(wù)所需要的時間的差值,所述第二頻率的數(shù)值大于所述第一頻率;
根據(jù)所述第j+1至第N個服務(wù)器中每個服務(wù)器的切頻代價和所述執(zhí)行時間,確定所述第j+1至第N個服務(wù)器中的第一服務(wù)器組,其中所述第一服務(wù)器組中的服務(wù)器運行在所述第一頻率,并調(diào)整所述第一服務(wù)器組的工作頻率至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述接收器32,具體用于:
確定所述第j+1至第N個服務(wù)器中,從所述第一頻率調(diào)整至所述第二頻率的i個服務(wù)器,其中,i為大于0并且小于N-j的正整數(shù);
獲取所述i個服務(wù)器的切頻代價之和;
當(dāng)所述i個服務(wù)器的切頻代價之和小于松弛時間時,根據(jù)所述松弛時間與所述i個服務(wù)器的切頻代價之和的差值,從所述第j+1至第N個服務(wù)器中確定所述第一服務(wù)器組,其中,所述松弛時間為所述執(zhí)行時間和所述第一閾值的差值;
將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述處理器33,還用于:
當(dāng)所述N個服務(wù)器的總執(zhí)行時間小于預(yù)設(shè)的第二閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第二服務(wù)器組,其中,所述第二服務(wù)器組中的服務(wù)器運行在所述第二頻率,并將所述第二服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率;
當(dāng)所述總執(zhí)行時間大于預(yù)設(shè)的第三閾值時,根據(jù)所述總執(zhí)行時間,以及所述N個服務(wù)器中每個服務(wù)器的切頻代價,確定所述N個服務(wù)器中的第三服務(wù)器組,其中,所述第三服務(wù)器組中的服務(wù)器運行在所述第一頻率,并將所述第三服務(wù)器組的頻率調(diào)整至所述第二頻率。
在本發(fā)明實施例的另一個實現(xiàn)方式中,所述處理器33,還用于:
當(dāng)所述目標(biāo)任務(wù)在所述N個服務(wù)器上執(zhí)行結(jié)束后,將所述第一服務(wù)器組中每個服務(wù)器的頻率調(diào)整至所述第一頻率。
本發(fā)明實施例提供的一種調(diào)整服務(wù)器的頻率的設(shè)備,當(dāng)獲取的目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間大于預(yù)設(shè)的第一閾值時,根據(jù)執(zhí)行時間確定第j+1至第N個服務(wù)器中的第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。其中,j為大于0并且小于N的正整數(shù)。相比較于現(xiàn)有技術(shù)中目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢之后,頻率控制模塊統(tǒng)一調(diào)整所有服務(wù)器的頻率。本發(fā)明實施例中,可以實時獲取目標(biāo)任務(wù)在第j個服務(wù)器的執(zhí)行時間,并根據(jù)執(zhí)行時間確定第一服務(wù)器組,并調(diào)整第一服務(wù)器組的頻率。這樣可以通過調(diào)整第一服務(wù)器組的頻率,使已經(jīng)產(chǎn)生長尾的目標(biāo)任務(wù)在后續(xù)執(zhí)行過程中得到一定補(bǔ)償,也就是通過調(diào)整第一服務(wù)器組的頻率,來減少第一服務(wù)器組用于執(zhí)行目標(biāo)任務(wù)的時間,從而彌補(bǔ)目標(biāo)任務(wù)在當(dāng)前服務(wù)器上產(chǎn)生長尾的時間。因此,降低了執(zhí)行過程中的目標(biāo)任務(wù)在所有服務(wù)器上執(zhí)行完畢后產(chǎn)生長尾的概率。
本說明書中的各個實施例均采用遞進(jìn)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于設(shè)備實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random Access Memory,RAM)等。
以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。