欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

解耦paas資源、作業(yè)和調(diào)度的制作方法

文檔序號(hào):6532669閱讀:265來(lái)源:國(guó)知局
解耦paas資源、作業(yè)和調(diào)度的制作方法
【專(zhuān)利摘要】本發(fā)明提出用于在分布式計(jì)算環(huán)境中按照平臺(tái)即服務(wù)(a?platform?as?a?service)的方式提供資源來(lái)執(zhí)行作業(yè)的系統(tǒng)和方法。按照允許作業(yè)容易地在資源之中遷移的方式來(lái)將系統(tǒng)的資源、在系統(tǒng)上執(zhí)行的作業(yè)、以及在系統(tǒng)上執(zhí)行的作業(yè)的調(diào)度器解耦合。構(gòu)想了:作業(yè)從第一資源池到第二資源池的遷移由該系統(tǒng)執(zhí)行而無(wú)需人類(lèi)干預(yù)。作業(yè)的遷移可針對(duì)不同資源利用不同的調(diào)度器。此外,構(gòu)想了:資源池可響應(yīng)于作業(yè)的遷移來(lái)自動(dòng)分配更多或更少的資源。
【專(zhuān)利說(shuō)明】解耦PAAS資源、作業(yè)和調(diào)度
[0001]背景
[0002]用于執(zhí)行大規(guī)模計(jì)算作業(yè)的傳統(tǒng)方法通常需要用戶(hù)積極管理分布式環(huán)境中的承租人(tenant)并且管理作業(yè)隊(duì)列。用戶(hù)的這種活躍參與可能阻止作業(yè)跨越大資源群集以及以高效方式縮放那些群集的使用的能力。而且,通常作業(yè)可能是按以下方式創(chuàng)建的:作業(yè)、用于完成作業(yè)的資源、以及作業(yè)在資源上的調(diào)度緊密耦合而阻止作業(yè)響應(yīng)于故障或負(fù)載平衡而高效遷移的能力。

【發(fā)明內(nèi)容】

[0003]在各實(shí)施例中,提出用于在分布式計(jì)算環(huán)境中按照平臺(tái)即服務(wù)(a platform as aservice)的方式提供資源來(lái)執(zhí)行作業(yè)的系統(tǒng)和方法。按照允許作業(yè)容易地在資源之中遷移的方式來(lái)將系統(tǒng)的資源、在系統(tǒng)上執(zhí)行的作業(yè)、以及在系統(tǒng)上執(zhí)行的作業(yè)的調(diào)度器解耦合。構(gòu)想了:作業(yè)從第一資源池到第二資源池的遷移由該系統(tǒng)執(zhí)行而無(wú)需人類(lèi)干預(yù)。作業(yè)的遷移可針對(duì)不同資源利用不同的調(diào)度器。此外,構(gòu)想了:資源池可響應(yīng)于作業(yè)的遷移來(lái)自動(dòng)分配更多或更少的資源。
[0004]提供本概述是為了以簡(jiǎn)化的形式介紹將在以下【具體實(shí)施方式】中進(jìn)一步描述的選擇的概念。該概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或本質(zhì)特征,也不旨在獨(dú)立地用于幫助確定所要求保護(hù)的主題的范圍。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0005]下面將參考附圖詳細(xì)描述本發(fā)明,其中:
[0006]圖1示出根據(jù)本發(fā)明的方面的適于實(shí)現(xiàn)本發(fā)明的實(shí)施例的示例性操作環(huán)境;
[0007]圖2示出圖解根據(jù)本發(fā)明的方面的示例性作業(yè)的框圖;
[0008]圖3示出圖解根據(jù)本發(fā)明的方面的示例性池的框圖;
[0009]圖4示出了圖解根據(jù)本發(fā)明的各實(shí)施例的適于在分布式計(jì)算環(huán)境內(nèi)執(zhí)行任務(wù)的示例性系統(tǒng)的各架構(gòu)層的框圖;
[0010]圖5示出了圖解根據(jù)本發(fā)明的方面的可集成在單一分布式計(jì)算架構(gòu)中的不同位置處的處理器的示例性布置;
[0011]圖6示出了圖解根據(jù)本發(fā)明的方面的用于任務(wù)位置服務(wù)的可能配置的框圖;
[0012]圖7示出圖解根據(jù)本發(fā)明的方面的示例性任務(wù)位置服務(wù)前端(“TLSFE”)的框圖;
[0013]圖8示出圖解根據(jù)本發(fā)明的方面的示例性工作項(xiàng)/作業(yè)調(diào)度器(“WIJ”)的框圖;
[0014]圖9示出圖解根據(jù)本發(fā)明的方面的作業(yè)承租人的框圖;
[0015]圖10示出圖解根據(jù)本發(fā)明的方面的示例性池服務(wù)器的框圖;
[0016]圖11示出根據(jù)本發(fā)明的方面的提供示例性分布式計(jì)算系統(tǒng)中的各組件之間的示例性工作流的通信圖。
[0017]圖12示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供資源的示例性方法的框圖;[0018]圖13示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供資源的附加示例性方法的框圖;
[0019]圖14示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供資源的另一方法的框圖;以及
[0020]圖15示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供解耦(decouple)的資源、調(diào)度以及作業(yè)的方法的框圖。
【具體實(shí)施方式】
[0021]在各實(shí)施例中,提出用于在分布式計(jì)算環(huán)境中按照平臺(tái)即服務(wù)(a platform as aservice)的方式提供資源來(lái)執(zhí)行作業(yè)的系統(tǒng)和方法。按照允許作業(yè)容易地在資源之中遷移的方式來(lái)將系統(tǒng)的資源、在系統(tǒng)上執(zhí)行的作業(yè)、以及在系統(tǒng)上執(zhí)行的作業(yè)的調(diào)度器解耦合。構(gòu)想了:作業(yè)從第一資源池到第二資源池的遷移由該系統(tǒng)執(zhí)行而無(wú)需人類(lèi)干預(yù)。作業(yè)的遷移可針對(duì)不同資源利用不同的調(diào)度器。此外,構(gòu)想了:資源池可響應(yīng)于作業(yè)的遷移來(lái)自動(dòng)分配更多或更少的資源。
[0022]第一示例性方面包括一種用于在分布式計(jì)算環(huán)境中提供資源的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括從與任務(wù)帳戶(hù)相關(guān)聯(lián)的用戶(hù)接收工作項(xiàng)。此外,該方法包括從該工作項(xiàng)創(chuàng)建作業(yè)。此外,構(gòu)想了:該方法包括利用處理器和存儲(chǔ)器自動(dòng)將至少第一虛擬機(jī)分配給第一池。該方法還被構(gòu)想了為包括在該第一池上分派該作業(yè)并且在該第一池上調(diào)度該作業(yè)的任務(wù)。此外,構(gòu)想了:該方法包括將該作業(yè)重新分派到第二池,該第二池包括至少第二虛擬機(jī)。此外,該方法包括:在該第二池上調(diào)度該作業(yè)的任務(wù)。
[0023]本文提供的第二示例性方面包括存儲(chǔ)計(jì)算機(jī)可用指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),該計(jì)算機(jī)可用指令在被具有處理器和存儲(chǔ)器的計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行用于在分布式計(jì)算環(huán)境中提供資源的方法。該方法包括:利用第一調(diào)度器,在該分布式計(jì)算環(huán)境的第一資源池上調(diào)度作業(yè)。該方法還包括向?qū)⒃撟鳂I(yè)分派給該第一池。此外,該方法還包括:在無(wú)需用戶(hù)干預(yù)的情況下,確定該作業(yè)要從該分布式計(jì)算環(huán)境內(nèi)的所述第一池遷移到第二池。此外,該方法包括:在該第二池上分派該作業(yè)。該方法還包括:利用使用處理器和存儲(chǔ)器的第二調(diào)度器,自動(dòng)在該第二池上調(diào)度該作業(yè)。
[0024]本文呈現(xiàn)的本發(fā)明的第三示例性方面包括一種用于在分布式計(jì)算環(huán)境中提供資源的計(jì)算機(jī)實(shí)現(xiàn)的方法。該方法包括:在任務(wù)位置服務(wù)處,從與所述分布式計(jì)算環(huán)境中的任務(wù)帳戶(hù)相關(guān)聯(lián)的用戶(hù)接收工作項(xiàng)。該方法還包括:利用與所述任務(wù)位置服務(wù)相關(guān)聯(lián)的池服務(wù)器,將所述分布式計(jì)算環(huán)境的第一虛擬機(jī)集合自動(dòng)分配給第一池。該方法還包括:在所述第一池上調(diào)度第一作業(yè),其中所述第一作業(yè)包括與所述工作項(xiàng)相關(guān)聯(lián)的一個(gè)或多個(gè)任務(wù)。此外,該方法包括:基于所述第一池的負(fù)載平衡評(píng)估,自動(dòng)確定所述作業(yè)要遷移到所述分布式計(jì)算環(huán)境內(nèi)的第二池。此外,該方法包括將與該工作項(xiàng)/作業(yè)相關(guān)聯(lián)的至少一個(gè)任務(wù)遷移到該第二池。該方法還包括:在所述第二池的一個(gè)或多個(gè)資源上調(diào)度所述至少一個(gè)任務(wù)。
[0025]概覽
[0026]由于通過(guò)網(wǎng)絡(luò)的數(shù)據(jù)傳輸速度的增長(zhǎng)和其他網(wǎng)絡(luò)特征的改善,在其中計(jì)算資源分布在大型網(wǎng)絡(luò)上的環(huán)境中執(zhí)行大規(guī)模計(jì)算任務(wù)越來(lái)越有可能。第一位置中的用戶(hù)可以向計(jì)算服務(wù)提交作業(yè)或計(jì)算任務(wù)并且使該任務(wù)在該用戶(hù)不直接知曉的計(jì)算機(jī)群組上執(zhí)行。用于執(zhí)行該用戶(hù)的任務(wù)的計(jì)算資源可以分布在多個(gè)物理位置上,這些物理位置可能跨越不同的州、國(guó)家、和/或洲。位于一個(gè)或多個(gè)位置中的第一計(jì)算資源群組可以存儲(chǔ)用于執(zhí)行用戶(hù)的計(jì)算任務(wù)的數(shù)據(jù)和其他信息,而位于相同位置或者可能位于一組不同的一個(gè)或多個(gè)位置中的第二計(jì)算資源群組可被用于執(zhí)行該計(jì)算任務(wù)。此外,構(gòu)想用于存儲(chǔ)該數(shù)據(jù)的一個(gè)或多個(gè)位置可以跨不同的地理區(qū)域分散,而用戶(hù)可以對(duì)此知曉或不知曉。類(lèi)似地,構(gòu)想該計(jì)算資源可跨不同地理位置分散,而用戶(hù)可以對(duì)此知曉或不知曉。
[0027]對(duì)各種分布式計(jì)算資源的訪問(wèn)允許用戶(hù)執(zhí)行作業(yè)任務(wù)(例如,運(yùn)行進(jìn)程)而不關(guān)心計(jì)算資源位于何處。分布式資源還為用戶(hù)提供了擴(kuò)展(scale out)(或收縮(scale in))所使用的資源量以便滿(mǎn)足計(jì)算任務(wù)的目標(biāo)(諸如按照指定時(shí)間或者以期望的成本價(jià)值完成該計(jì)算任務(wù))的機(jī)會(huì)。然而,為用戶(hù)提供這種靈活性對(duì)分布式計(jì)算資源的運(yùn)營(yíng)者(和/或擁有者)提出了許多挑戰(zhàn)。為了滿(mǎn)足需求,分布式資源網(wǎng)絡(luò)的運(yùn)營(yíng)者將優(yōu)選地具有足夠多的可用資源來(lái)滿(mǎn)足峰值需求時(shí)刻的資源請(qǐng)求。
[0028]示例性計(jì)算環(huán)境
[0029]大體上參考附圖,并且首先具體參考圖1,示出了適用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性操作環(huán)境,并將其概括指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè)示例,并且不旨在對(duì)本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)將計(jì)算設(shè)備100解釋為對(duì)所示出的任一模塊/組件或其組合有任何依賴(lài)性或要求。
[0030]各實(shí)施例可以在計(jì)算機(jī)代碼或機(jī)器可使用指令的一般上下文中描述,包括由計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其他手持式設(shè)備等其他機(jī)器執(zhí)行的諸如程序模塊等的計(jì)算機(jī)可執(zhí)行指令。一般而言,包括例程、程序、對(duì)象、模塊、數(shù)據(jù)結(jié)構(gòu)等的程序模塊指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的代碼。各實(shí)施例可以在各種系統(tǒng)配置中實(shí)施,這些系統(tǒng)配置包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算機(jī)、專(zhuān)用計(jì)算設(shè)備等等。各實(shí)施例也可以在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)施。
[0031]繼續(xù)參考圖1,計(jì)算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110:存儲(chǔ)器112、一個(gè)或多個(gè)處理器114、一個(gè)或多個(gè)呈現(xiàn)模塊116、輸入/輸出(I/O)端口 118、I/O模塊120、和說(shuō)明性電源122??偩€110表示可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或其組合)。盡管為了清楚起見(jiàn)圖1的各框用線條示出,但是在實(shí)際上,各模塊的輪廓并不是那樣清楚,并且比喻性地來(lái)說(shuō),線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設(shè)備等的呈現(xiàn)模塊認(rèn)為是I/O模塊。而且,處理器也具有存儲(chǔ)器。發(fā)明人此點(diǎn)認(rèn)識(shí)至IJ,這是本領(lǐng)域的特性,并且重申,圖1的圖示只是例示可結(jié)合一個(gè)或多個(gè)實(shí)施例來(lái)使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類(lèi)之間沒(méi)有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖1的范圍之內(nèi)的并且被稱(chēng)為“計(jì)算機(jī)”或“計(jì)算設(shè)備”。
[0032]計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(RAM);只讀存儲(chǔ)器(ROM);電可擦除可編程只讀存儲(chǔ)器(EEPROM);閃存或其他存儲(chǔ)器技術(shù);CDR0M、數(shù)字多功能盤(pán)(DVD)或其他光或全息介質(zhì);磁帶盒、磁帶、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備;或可用于對(duì)所需信息進(jìn)行編碼并且可由計(jì)算設(shè)備100訪問(wèn)的任何其他介質(zhì)。
[0033]存儲(chǔ)器112包括易失性和/或非易失性存儲(chǔ)器形式的非暫態(tài)計(jì)算機(jī)存儲(chǔ)介質(zhì)。存儲(chǔ)器可以是可移動(dòng)的,不可移動(dòng)的,或兩者的組合。示例性硬件設(shè)備包括固態(tài)存儲(chǔ)器、硬盤(pán)?定重復(fù)出現(xiàn)調(diào)度、優(yōu)先級(jí)和約0
奢任務(wù)的集合,這些任務(wù)一起工作以執(zhí)行分3的一個(gè)或多個(gè)虛擬機(jī)上。在后文中參考圖
;務(wù)運(yùn)行在一虛擬機(jī)上。用戶(hù)可針對(duì)每個(gè)任勺指針。任務(wù)可以在該任務(wù)執(zhí)行過(guò)程期間在〔件的分層結(jié)構(gòu)。
“廁任務(wù)”)是作業(yè)中的一種特殊任務(wù)。作用廁任務(wù)的情況下執(zhí)行。作業(yè)管理器任務(wù)可被用作該作業(yè)的“主”任務(wù)。如果一作業(yè)的第一個(gè)任務(wù)啟動(dòng)。該廁任務(wù)隨后可以向進(jìn)程并且控制何時(shí)提交下一批次任務(wù)。然任務(wù)也可由該系統(tǒng)之外的一個(gè)或多個(gè)服務(wù)I任務(wù)的調(diào)度并且管理任務(wù)間的依賴(lài)關(guān)系??梢栽诹硪惶摂M機(jī)上重啟該廁任務(wù),以便少一個(gè)相關(guān)聯(lián)的池來(lái)運(yùn)行與該工作項(xiàng)相對(duì)-個(gè)或多個(gè)池,該帳戶(hù)可對(duì)該一個(gè)或多個(gè)池I:作項(xiàng)??稍谟脩?hù)提交工作項(xiàng)時(shí)創(chuàng)建池,或嘗一池進(jìn)行關(guān)聯(lián)以與單個(gè)工作項(xiàng)一起使用,使用。另外,構(gòu)想了:可針對(duì)作業(yè)由系統(tǒng)自定時(shí)間運(yùn)行并且通常需要兩個(gè)小時(shí)來(lái)完成。一池,并且在作業(yè)完成時(shí)刪除該池。
=項(xiàng)時(shí),可將該工作項(xiàng)與一個(gè)或多個(gè)虛擬機(jī)5占地關(guān)聯(lián)(此外,構(gòu)想了:多個(gè)工作項(xiàng)/作方式組織池內(nèi)的虛擬機(jī)。例如,無(wú)論虛擬機(jī)機(jī)組織在單一池中。另一選項(xiàng)是基于地理定地理位置。又一選項(xiàng)是按照不同于地理如,存儲(chǔ)資源、網(wǎng)絡(luò)等待時(shí)間、用戶(hù)位置/偏
《統(tǒng)資源來(lái)自動(dòng)生成該池。自動(dòng)池創(chuàng)建允許《統(tǒng)自動(dòng)地創(chuàng)建池。此過(guò)程從顧客/用戶(hù)/0。
式計(jì)算環(huán)境中具有另一用途的虛擬機(jī)。例所有者/運(yùn)營(yíng)者為了災(zāi)難恢復(fù)目的而所提境可包括被預(yù)留的一組或多組虛擬機(jī)。這I故障、或?qū)е路植际江h(huán)境的一部分不再適I。當(dāng)被分派給一池的一個(gè)或多個(gè)專(zhuān)用虛擬:取代丟失的虛擬機(jī)。這改善了分布式計(jì)算“牛是稀少的,所以具有預(yù)留災(zāi)難恢復(fù)機(jī)器乾用。為處理故障事件而指定的這些虛擬機(jī)廳工作項(xiàng)/作業(yè),而不是浪費(fèi)這些虛擬機(jī)的倉(cāng)占資源來(lái)滿(mǎn)足專(zhuān)用資源的需要,則在這種亭止(并且有可能立即停止),以便該可占鍵。
丨勺虛擬機(jī)。通常,任何網(wǎng)絡(luò)的峰值負(fù)載將不:值負(fù)載情形的計(jì)算環(huán)境通常將在其他時(shí)間原緩沖。當(dāng)用戶(hù)請(qǐng)求額外的專(zhuān)用虛擬機(jī)時(shí),數(shù)量的VM,這些VM由帳戶(hù)或池保持待機(jī)。當(dāng)需要待機(jī)VM時(shí),可以減少待機(jī)VM的預(yù)留數(shù)量以滿(mǎn)足VM的所需數(shù)量。在一示例性方面中,系統(tǒng)中的VM的總數(shù)可以等于專(zhuān)用VM+預(yù)留待機(jī)VM+沒(méi)有被分派到別處而空閑的可用于計(jì)算的VM+為了災(zāi)難且過(guò)度提供而預(yù)留的VM。在此示例中,構(gòu)想了:系統(tǒng)中所使用的可搶占VM的數(shù)量小于或等于預(yù)留待機(jī)VM+空閑而可用于計(jì)算的VM的數(shù)量。
[0057]提供待機(jī)機(jī)器預(yù)留可包括在系統(tǒng)中某處(例如,池級(jí)、帳戶(hù)級(jí))預(yù)留VM能力。待機(jī)虛擬機(jī)預(yù)留不是對(duì)虛擬機(jī)的分配。相反,待機(jī)虛擬機(jī)預(yù)留預(yù)留了在未來(lái)占用空閑或可搶占VM并將其改變?yōu)楣┰摮鼗驇?hù)使用的專(zhuān)用VM的權(quán)利。可將待機(jī)VM (其為計(jì)數(shù))與兩個(gè)不同的池相關(guān)聯(lián)。
[0058]待機(jī)機(jī)器的一個(gè)用途是針對(duì)具有僅在特定時(shí)間幀期間發(fā)生的高優(yōu)先級(jí)計(jì)算作業(yè)的用戶(hù)。例如,金融公司可能希望對(duì)一個(gè)或多個(gè)金融市場(chǎng)的日?;顒?dòng)(諸如股票交易或商品交易)執(zhí)行分析。繼續(xù)此示例,金融市場(chǎng)可能按預(yù)定日程安排開(kāi)市和閉市,諸如在上午9:30開(kāi)市并在下午4:00閉市。金融公司想要聚集在金融市場(chǎng)開(kāi)市的時(shí)間的數(shù)據(jù)以用于執(zhí)行分析或模擬。分析的目標(biāo)是在第二天市場(chǎng)開(kāi)市之前為他們的員工提供信息。這種分析可能需要大量的虛擬機(jī),但是虛擬機(jī)僅在例如從下午6:00直到第二天早晨3:30之間的時(shí)間需要。在此時(shí)間期間,金融公司期望保證虛擬機(jī)的可用性。在當(dāng)天的其他時(shí)間,該金融公司不需要這些機(jī)器。向該金融公司的帳戶(hù)分派待機(jī)虛擬機(jī)預(yù)留可以實(shí)現(xiàn)這一目標(biāo)。作為支付預(yù)留價(jià)格的交換,向金融公司保證在所需時(shí)間期間機(jī)器的可用性。在所需時(shí)間窗口之外,這些虛擬機(jī)可用作該金融公司和/或其他用戶(hù)的可搶占機(jī)器。在執(zhí)行需要取得可搶占VM來(lái)完成預(yù)留的待機(jī)預(yù)留時(shí),可在調(diào)度的可用性事件之前有序地停止可搶占作業(yè)。
[0059]在將待機(jī)VM預(yù)留轉(zhuǎn)換為專(zhuān)用機(jī)器時(shí),這被定義為基于時(shí)間標(biāo)準(zhǔn)的轉(zhuǎn)換。換言之,至少部分基于預(yù)定時(shí)間和/或日期而將待機(jī)VM預(yù)留轉(zhuǎn)換為專(zhuān)用機(jī)器?;跁r(shí)間的標(biāo)準(zhǔn)不同于活動(dòng)標(biāo)準(zhǔn),活動(dòng)標(biāo)準(zhǔn)被用于定義活動(dòng)閾值?;顒?dòng)閾值對(duì)應(yīng)于基于一個(gè)或多個(gè)分布式資源的使用和/或性能的閾值。例如,在一帳戶(hù)中,顧客可能付費(fèi)來(lái)保留一定數(shù)量的待機(jī)VM并且該待機(jī)VM預(yù)留可被用于基于時(shí)間的標(biāo)準(zhǔn)或動(dòng)態(tài)閾值自動(dòng)縮放標(biāo)準(zhǔn)之一者。此外,構(gòu)想了:不管預(yù)留時(shí)間或其他調(diào)度預(yù)留策略如何,待機(jī)VM預(yù)留可在任何點(diǎn)被轉(zhuǎn)換。例如,用戶(hù)(或管理員)可提供以下請(qǐng)求:來(lái)自該預(yù)留的一個(gè)或多個(gè)待機(jī)VM將被轉(zhuǎn)換。
[0060]待機(jī)VM預(yù)留的另一用途是允許在擴(kuò)張作業(yè)時(shí)的改善的性能。例如,零售商店可以使用分布式計(jì)算資源來(lái)在假日之前的購(gòu)物季期間處理額外在線流量,諸如用于審閱零售商的網(wǎng)站并下訂單的在線流量?;谶^(guò)去的經(jīng)驗(yàn),零售商期望一定水平的在線活動(dòng),并且預(yù)留相應(yīng)數(shù)量的專(zhuān)用虛擬機(jī)。然而,在在線活動(dòng)大于預(yù)期的情況下,零售商還將更多機(jī)器預(yù)留在待機(jī)模式中。零售商隨后可以設(shè)置一個(gè)或多個(gè)閾值,所述閾值指示高于預(yù)期的活動(dòng)水平。在這些閾值出現(xiàn)時(shí),待機(jī)VM預(yù)留可用于轉(zhuǎn)換空閑的或可搶占的機(jī)器以允許零售商處理附加的在線流量而無(wú)需使零售商的顧客經(jīng)歷慢響應(yīng)時(shí)間。在此情形中,待機(jī)VM預(yù)留可在不可預(yù)測(cè)的時(shí)間被轉(zhuǎn)換為專(zhuān)用機(jī)器,因?yàn)榭赡懿恢篮螘r(shí)滿(mǎn)足活動(dòng)閾值。當(dāng)滿(mǎn)足活動(dòng)閾值時(shí),空閑VM被使用或者可搶占任務(wù)被停止而該機(jī)器被轉(zhuǎn)換為專(zhuān)用機(jī)器。
[0061 ] 分布式網(wǎng)絡(luò)環(huán)境中的計(jì)算資源的組織的示例
[0062]分布式計(jì)算環(huán)境的用戶(hù)通常希望使用分布式計(jì)算資源(例如,云計(jì)算資源)來(lái)執(zhí)行作業(yè)。所述作業(yè)通常涉及對(duì)存儲(chǔ)在經(jīng)由該分布式計(jì)算環(huán)境(諸如通過(guò)網(wǎng)絡(luò)(例如因特檢查點(diǎn)庫(kù);日志記錄庫(kù);以及用于提供跨虛文件系統(tǒng)的庫(kù)。
找勾建并且在系統(tǒng)代理運(yùn)行時(shí)層408頂上運(yùn)1任務(wù)的運(yùn)行的附加能力。示例可包括到庫(kù)堤供要跨越VI池內(nèi)、執(zhí)行給定任務(wù)的VI使1的作業(yè)或任務(wù)定制的方式組織分布式計(jì)算
卜境中可用的計(jì)算資源。一個(gè)選項(xiàng)是使資源I,資源管理層402管理與作業(yè)(即,工作項(xiàng)及存儲(chǔ)在與一任務(wù)相關(guān)聯(lián)的每個(gè)虛擬機(jī)上
分組為機(jī)器池,其在池級(jí)412示出。池可包以機(jī)。取決于實(shí)施例,單一池可跨越多個(gè)群:據(jù)中心的多個(gè)群集。單一池可包含大量的量的池中,諸如多達(dá)數(shù)十億個(gè)池中。
層管理每個(gè)任務(wù)承租人的大小(將在后文和作業(yè)管理組件416還可負(fù)責(zé)管理系統(tǒng)中的工作項(xiàng)和作業(yè)的終止和清潔。
[0070]任務(wù)管理和調(diào)度組件418允許系統(tǒng)的用戶(hù)將任務(wù)提交(傳遞)到該系統(tǒng)的作業(yè)。此組件負(fù)責(zé)跨越系統(tǒng)中的所有作業(yè)/工作項(xiàng)調(diào)度任務(wù),同時(shí)跟蹤這些任務(wù)的狀態(tài)。任務(wù)管理和調(diào)度組件418可包括跨越一個(gè)/ 一些/所有任務(wù)承租人(例如,任務(wù)機(jī))分布的一組任務(wù)調(diào)度器,從而允許每個(gè)調(diào)度器僅與有限的一組資源(例如,虛擬機(jī))和任務(wù)相關(guān)聯(lián)。因此,在一示例性方面中,任務(wù)管理和調(diào)度組件418允許系統(tǒng)支持在跨越各種任務(wù)承租人的虛擬機(jī)上運(yùn)行的數(shù)十億活動(dòng)任務(wù)。
[0071 ] 作業(yè)管理器任務(wù)組件420允許JM任務(wù),JM任務(wù)可以任選地與每個(gè)作業(yè)相關(guān)聯(lián),以作為作業(yè)的初始任務(wù)被啟動(dòng)。如同前面討論的,JM任務(wù)(也被稱(chēng)為任務(wù)作業(yè)管理器)提供特定作業(yè)內(nèi)的任務(wù)的單一控制點(diǎn)。這允許JM任務(wù)向作業(yè)提交附加的任務(wù)并且監(jiān)視這些任務(wù)的進(jìn)程,這允許JM任務(wù)控制何時(shí)終止該作業(yè)。JM任務(wù)可以是幫助應(yīng)用運(yùn)行時(shí)層406控制和運(yùn)行其系統(tǒng)的機(jī)制的示例。
[0072]上面描述的各層可以在包括處于多個(gè)地理位置處的處理器的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。圖5示出了圖解根據(jù)本發(fā)明的方面的可集成在單一分布式計(jì)算系統(tǒng)500中的不同位置處的處理器的示例性布置。
[0073]在圖5中,一個(gè)或多個(gè)任務(wù)承租人514可被用來(lái)管理虛擬機(jī)池。任務(wù)承租人514可維護(hù)一組虛擬機(jī)(如同后文將參考圖9更詳細(xì)地討論的)。一個(gè)或多個(gè)用戶(hù)的作業(yè)可作為一個(gè)或多個(gè)虛擬機(jī)池的一部分運(yùn)行在任務(wù)承租人514內(nèi)的虛擬機(jī)上。一個(gè)或多個(gè)任務(wù)承租人514可在給定地理區(qū)域中使用。任務(wù)承租人514的責(zé)任可包括維護(hù)該組虛擬機(jī)并基于該任務(wù)承租人內(nèi)的資源利用來(lái)增長(zhǎng)或收縮該任務(wù)承租人。這允許任務(wù)承租人514增加任務(wù)承租人內(nèi)的虛擬機(jī)的數(shù)量以便容納增加的顧客需求。這還允許任務(wù)承租人514釋放未使用的虛擬機(jī)以便所述虛擬機(jī)能夠被分配給數(shù)據(jù)中心中處理其他顧客的服務(wù)的其他托管服務(wù)。任務(wù)承租人514的另一責(zé)任可以是實(shí)現(xiàn)池分配/解除分配/管理邏輯的一部分。這允許任務(wù)承租人514參與確定如何將虛擬機(jī)分派到與顧客的任務(wù)相關(guān)聯(lián)的池。任務(wù)承租人514還可負(fù)責(zé)該任務(wù)承租人內(nèi)的虛擬機(jī)上的任務(wù)的調(diào)度和執(zhí)行。
[0074]在圖5中示出的實(shí)施例中,提供一個(gè)或多個(gè)任務(wù)位置服務(wù)512(“TLS”)(如同后文中將針對(duì)圖6-8更詳細(xì)地討論的),所述任務(wù)位置服務(wù)控制給定地理區(qū)域中和/或跨越各種地理位置的所有任務(wù)承租人514。在圖5中,示出任務(wù)位置服務(wù)512,其服務(wù)被標(biāo)記為“地理區(qū)域I”和“地理區(qū)域2”的區(qū)域。任務(wù)位置服務(wù)512的責(zé)任可包括管理該給定地理區(qū)域的任務(wù)帳戶(hù)。任務(wù)位置服務(wù)512還可提供應(yīng)用編程接口(API)以便允許用戶(hù)與該分布式計(jì)算環(huán)境交互。這些API可包括處理與虛擬機(jī)池、池管理邏輯、以及跨越給定地理區(qū)域中的任務(wù)承租人的池管理邏輯的協(xié)調(diào)相關(guān)聯(lián)的API。這些API還可包括用于處理用戶(hù)所提交的任務(wù)、以及用于維護(hù)、調(diào)度以及終止與該用戶(hù)任務(wù)相關(guān)聯(lián)的工作項(xiàng)或作業(yè)的API。這些API還可包括用于地理區(qū)域中的所有工作項(xiàng)、作業(yè)、任務(wù)和池的統(tǒng)計(jì)數(shù)據(jù)收集、聚合和報(bào)告的API。此外,這些API可包括用于允許基于虛擬機(jī)的現(xiàn)貨市場(chǎng)短期地將可用虛擬機(jī)作為可搶占VM向用戶(hù)拍賣(mài)的API。這些API還可包括用于計(jì)量使用率并且提供計(jì)費(fèi)支持的API。
[0075]可通過(guò)全局位置服務(wù)502(“XLS”)將各任務(wù)位置服務(wù)512鏈接在一起。全局位置服務(wù)502可負(fù)責(zé)帳戶(hù)創(chuàng)建和帳戶(hù)的管理,包括結(jié)合任務(wù)位置服務(wù)512來(lái)管理任務(wù)帳戶(hù)。例如,該全局位置服務(wù)可負(fù)責(zé)數(shù)據(jù)中心災(zāi)難情況下的災(zāi)難恢復(fù)以及工作項(xiàng)和作業(yè)的可用性。這可包括由于該數(shù)據(jù)中心不可用而在一不同位置運(yùn)行工作項(xiàng)或作業(yè),并且允許顧客將其工作項(xiàng)、作業(yè)和池從一個(gè)數(shù)據(jù)中心遷移到另一數(shù)據(jù)中心。通常,在任何給定時(shí)刻,在系統(tǒng)500中將只存在一個(gè)活動(dòng)的全局位置服務(wù)502。該活動(dòng)全局位置服務(wù)502與各個(gè)任務(wù)位置服務(wù)512以及服務(wù)組件通信以管理數(shù)據(jù)存儲(chǔ)(未示出)。全局位置服務(wù)可維護(hù)全局帳戶(hù)命名空間,諸如域名服務(wù)器504。
[0076]作為圖5的系統(tǒng)的操作的示例,假想顧客或用戶(hù)可使用客戶(hù)端門(mén)戶(hù)506訪問(wèn)系統(tǒng)500以經(jīng)由全局位置服務(wù)502所提供的接口來(lái)創(chuàng)建任務(wù)帳戶(hù)。在此示例中,假想顧客被稱(chēng)為Sally。創(chuàng)建任務(wù)帳戶(hù)的用戶(hù)請(qǐng)求可任選地指定需要在其中創(chuàng)建帳戶(hù)的地理區(qū)域。在此示例中,Sally請(qǐng)求與地理區(qū)域I相關(guān)聯(lián)的帳戶(hù),其具有地理區(qū)域2作為故障轉(zhuǎn)移區(qū)域。作為響應(yīng),全局位置服務(wù)502聯(lián)系與所請(qǐng)求的地理區(qū)域(例如,地理區(qū)域I)相對(duì)應(yīng)的任務(wù)位置服務(wù)512以便創(chuàng)建該帳戶(hù)。如果沒(méi)有請(qǐng)求區(qū)域,則該任務(wù)帳戶(hù)可在按任何方便方法選擇的區(qū)域中創(chuàng)建,諸如基于與進(jìn)行請(qǐng)求的用戶(hù)或可用資源相關(guān)聯(lián)的位置。任務(wù)位置服務(wù)512維護(hù)其地理區(qū)域中的所有帳戶(hù)的所有信息。在針對(duì)地理區(qū)域I的任務(wù)位置服務(wù)512中成功創(chuàng)建帳戶(hù)(并且可能在地理區(qū)域2中創(chuàng)建災(zāi)難恢復(fù)副本)之后,全局位置服務(wù)502為Sally的帳戶(hù)注冊(cè)任務(wù)服務(wù)端點(diǎn)以便指向地理區(qū)域I的任務(wù)位置服務(wù)512的虛擬IP地址。例如,域名服務(wù)(DNS)記錄可被創(chuàng)建以將諸如“sally, task.core, servicecompany.net”等主機(jī)名映射到地理區(qū)域I中的任務(wù)位置服務(wù)512的虛擬IP地址。在此示例性方面中,這完成了Sally的任務(wù)帳戶(hù)的創(chuàng)建。此外,構(gòu)想了:在地理區(qū)域I出現(xiàn)故障的情況下,該全局位置服務(wù)可以更新DNS記錄來(lái)指向地理區(qū)域2。
[0077]在創(chuàng)建該帳戶(hù)之后,顧客Sally可以訪問(wèn)該任務(wù)帳戶(hù)并且發(fā)送請(qǐng)求以訪問(wèn)API以針對(duì)主機(jī)名“sally, task.core, servicecompany.net”與該分布式計(jì)算環(huán)境交互。例如,Sally可訪問(wèn)API以發(fā)出創(chuàng)建新工作項(xiàng)或任務(wù)的請(qǐng)求。DNS服務(wù)器隨后可以解析該主機(jī)名并且該請(qǐng)求將被路由到正確的任務(wù)位置服務(wù)512。在此示例中,該請(qǐng)求被路由到地理區(qū)域I的任務(wù)位置服務(wù)512,該任務(wù)位置服務(wù)處理該請(qǐng)求并創(chuàng)建所請(qǐng)求的工作項(xiàng)、作業(yè)或任務(wù)。
[0078]構(gòu)想了:在本發(fā)明的示例性方面中,可按任何組合來(lái)實(shí)現(xiàn)任何數(shù)量的客戶(hù)端門(mén)戶(hù)506、地理區(qū)域508、510、任務(wù)位置服務(wù)512、和/或任務(wù)承租人514。例如,構(gòu)想了:在一示例性方面中,任務(wù)位置服務(wù)512可與數(shù)十、數(shù)百或數(shù)千個(gè)任務(wù)承租人相關(guān)聯(lián)。
[0079]圖6示出了圖解根據(jù)本發(fā)明的方面的用于任務(wù)位置服務(wù)602的可能配置的框圖。在圖6中示出的配置中,任務(wù)位置服務(wù)可包括一個(gè)或多個(gè)帳戶(hù)服務(wù)器612。該帳戶(hù)服務(wù)器處理給定地理區(qū)域中的帳戶(hù)的帳戶(hù)管理,包括創(chuàng)建、刪除、或?qū)傩愿隆?hù)前端608擔(dān)當(dāng)帳戶(hù)服務(wù)的前端節(jié)點(diǎn)。帳戶(hù)前端608在該圖中所示出的帳戶(hù)虛擬IP地址604后。帳戶(hù)前端608處理來(lái)自全局位置服務(wù)的帳戶(hù)API請(qǐng)求,諸如用于創(chuàng)建帳戶(hù)或刪除帳戶(hù)的API請(qǐng)求。
[0080]圖6中的配置還包括一個(gè)或多個(gè)池服務(wù)器614。池服務(wù)器614處理給定地理區(qū)域中的虛擬機(jī)池的池管理和池事務(wù)。池服務(wù)器614處理池創(chuàng)建、刪除和屬性更新。池服務(wù)器614還管理跨多個(gè)任務(wù)承租人的高等級(jí)虛擬機(jī)分配算法。虛擬機(jī)分配可將虛擬機(jī)與給定用戶(hù)的存儲(chǔ)的連接性納入考慮。池服務(wù)器還可執(zhí)行與虛擬機(jī)的分配有關(guān)的其他任務(wù)。
[0081]此外,構(gòu)想了:池服務(wù)器614還可包括自動(dòng)縮放組件616。該自動(dòng)縮放組件616可被形成為負(fù)責(zé)運(yùn)行用戶(hù)提供的自動(dòng)縮放規(guī)則(例如,公式)的模塊,所述自動(dòng)縮放規(guī)則針對(duì)一池自動(dòng)確定專(zhuān)用、待機(jī)和/或可搶占虛擬機(jī)的期望數(shù)量。換言之,所述自動(dòng)縮放組件可負(fù)責(zé)基于與給定池相關(guān)聯(lián)的自動(dòng)縮放規(guī)則來(lái)做出自動(dòng)縮放決策。自動(dòng)縮放組件616可接收與該池或者被分派到該池的作業(yè)有關(guān)的度量并且向其應(yīng)用用戶(hù)提供的(或系統(tǒng)提供的)規(guī)則以計(jì)算該池上的自動(dòng)縮放動(dòng)作。自動(dòng)縮放動(dòng)作可包括增加或減少專(zhuān)用虛擬機(jī)的數(shù)量、增加或減少預(yù)留的待機(jī)虛擬機(jī)的數(shù)量、增加或減少該池的可搶占虛擬機(jī)的目標(biāo)數(shù)量,同時(shí)還更新那些資源的競(jìng)標(biāo)價(jià)格。
[0082]圖6中的配置還包括一個(gè)或多個(gè)工作項(xiàng)或作業(yè)調(diào)度器(“WIJ”)618(如后文參考圖8更詳細(xì)地討論的)。WIJ調(diào)度器618處理工作項(xiàng)和作業(yè)的創(chuàng)建、刪除和更新。在一示例性實(shí)施例中,WIJ還負(fù)責(zé)基于在相關(guān)工作項(xiàng)中指定的日程安排來(lái)創(chuàng)建作業(yè)以及向該作業(yè)添加JM任務(wù)(如果要添加JM任務(wù)的話)。此外,在需要自動(dòng)池配置(而不是傳統(tǒng)的由用戶(hù)手動(dòng)創(chuàng)建)時(shí),WIJ調(diào)度器618可發(fā)起與該工作項(xiàng)相關(guān)聯(lián)的池的創(chuàng)建和刪除。WIJ調(diào)度器618還可使用通用分區(qū)機(jī)制來(lái)在任務(wù)位置服務(wù)內(nèi)縮放。在一實(shí)施例中,在每個(gè)任務(wù)位置服務(wù)中存在多個(gè)WIJ調(diào)度器618,并且每個(gè)WIJ調(diào)度器處理一定范圍的工作項(xiàng)。
[0083]池服務(wù)器614和WIJ調(diào)度器618經(jīng)由任務(wù)位置服務(wù)前端610從用戶(hù)接收請(qǐng)求(如后文在圖7處更詳細(xì)地討論的)。任務(wù)位置服務(wù)前端610還負(fù)責(zé)調(diào)用相應(yīng)的組件來(lái)處理來(lái)自用戶(hù)的請(qǐng)求。任務(wù)位置服務(wù)前端610在如該圖中所示出的帳戶(hù)虛擬IP地址606后。
[0084]圖6中的配置還包括任務(wù)位置服務(wù)主機(jī)620。在一實(shí)施例中,任務(wù)位置服務(wù)主機(jī)620具有兩個(gè)主要的職責(zé)。首先,任務(wù)位置服務(wù)主機(jī)620擔(dān)當(dāng)用于實(shí)現(xiàn)任務(wù)位置服務(wù)602中的相應(yīng)服務(wù)器的分區(qū)邏輯的主系統(tǒng)。此外,任務(wù)位置服務(wù)主機(jī)620可負(fù)責(zé)在該任務(wù)位置服務(wù)的整個(gè)地理區(qū)域的每個(gè)現(xiàn)貨時(shí)間段的開(kāi)始處計(jì)算可搶占虛擬機(jī)的新市場(chǎng)價(jià)格,或者與負(fù)責(zé)現(xiàn)貨定價(jià)的外部服務(wù)協(xié)調(diào)可搶占機(jī)器的競(jìng)標(biāo)請(qǐng)求。它從池服務(wù)器和任務(wù)承租人收集現(xiàn)有競(jìng)標(biāo)和資源可用性信息,并且相應(yīng)地計(jì)算新市場(chǎng)價(jià)格或?qū)⒃撔畔鬟f給現(xiàn)貨市場(chǎng)服務(wù)。它還對(duì)池服務(wù)器做出關(guān)于跨地理位置中的所有任務(wù)承租人的可搶占虛擬機(jī)的高等級(jí)分配引導(dǎo)。
[0085]為了跟蹤計(jì)算環(huán)境的活動(dòng)和行為,任務(wù)位置服務(wù)主機(jī)620可與一個(gè)或多個(gè)統(tǒng)計(jì)數(shù)據(jù)聚集服務(wù)器622通信。統(tǒng)計(jì)數(shù)據(jù)聚集服務(wù)器負(fù)責(zé)收集和聚集任務(wù)、作業(yè)、工作項(xiàng)和池的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)。該系統(tǒng)中的其他組件發(fā)出任務(wù)和虛擬機(jī)的精細(xì)粒度的統(tǒng)計(jì)數(shù)據(jù)。統(tǒng)計(jì)聚集服務(wù)器將來(lái)自任務(wù)級(jí)或虛擬機(jī)級(jí)統(tǒng)計(jì)數(shù)據(jù)的這些精細(xì)粒度的統(tǒng)計(jì)數(shù)據(jù)聚集為工作項(xiàng)、帳戶(hù)級(jí)、和/或池級(jí)統(tǒng)計(jì)數(shù)據(jù)。所述統(tǒng)計(jì)數(shù)據(jù)可經(jīng)由API被披露以使用。此外,統(tǒng)計(jì)數(shù)據(jù)聚集服務(wù)器可負(fù)責(zé)為每個(gè)帳戶(hù)生成每小時(shí)計(jì)量記錄以供計(jì)費(fèi)使用。
[0086]圖7示出圖解根據(jù)本發(fā)明的方面的示例性作業(yè)位置服務(wù)前端(“TLSFE”)700的框圖。在一示例性方面中,TLSFE700可類(lèi)似于上文討論的圖6的任務(wù)位置服務(wù)前端610。
[0087]TLSFE700包括請(qǐng)求處理器702、認(rèn)證和授權(quán)模塊704、帳戶(hù)管理器組件706、以及商業(yè)邏輯模塊708。構(gòu)想了:附加或替代的模塊和/或組件可被包括在替代實(shí)施例中。
[0088]請(qǐng)求處理器702是負(fù)責(zé)在HTTP (S)端點(diǎn)上接收和標(biāo)識(shí)并接受用戶(hù)請(qǐng)求的組件。請(qǐng)求處理器702隨后可使每個(gè)請(qǐng)求排隊(duì)并將其轉(zhuǎn)發(fā)到認(rèn)證和授權(quán)模塊704。認(rèn)證和授權(quán)模塊704負(fù)責(zé)用戶(hù)請(qǐng)求認(rèn)證和授權(quán)。在一示例性方面中,TLSFE使用共享密鑰認(rèn)證來(lái)認(rèn)證傳入的請(qǐng)求。構(gòu)想了其它形式的認(rèn)證。此外,認(rèn)證和授權(quán)模塊704與帳戶(hù)管理器組件706交互以獲得關(guān)于用戶(hù)帳戶(hù)和密鑰信息的信息。認(rèn)證和授權(quán)模塊704隨后可確定用戶(hù)是否被授權(quán)來(lái)請(qǐng)求操作的執(zhí)行(例如,該帳戶(hù)可在請(qǐng)求的時(shí)間被臨時(shí)禁用)。[0089]帳戶(hù)管理器組件706可被用來(lái)封裝存儲(chǔ)/訪問(wèn)帳戶(hù)信息。在一示例性方面中,帳戶(hù)管理器組件706在接收到請(qǐng)求時(shí)按需加載帳戶(hù)信息,這允許將信息本地高速緩存(在存儲(chǔ)器中)以加速頻繁訪問(wèn)的帳戶(hù)的處理。當(dāng)帳戶(hù)屬性(例如,禁用的狀態(tài)、認(rèn)證密鑰)改變時(shí),可更新帳戶(hù)表。當(dāng)高速緩存的副本(如果存在)過(guò)期(這可以是可配置的間隔)時(shí),該TLSFE中運(yùn)行的帳戶(hù)管理器組件706可以看到該改變。
[0090]一旦該用戶(hù)所進(jìn)行的請(qǐng)求通過(guò)了認(rèn)證和授權(quán)模塊704,商業(yè)邏輯模塊708處理與該用戶(hù)所進(jìn)行的請(qǐng)求有關(guān)的所有商業(yè)邏輯。商業(yè)邏輯模塊708還可與分布式計(jì)算系統(tǒng)內(nèi)的其他任務(wù)組件交互。此外,構(gòu)想了:商業(yè)邏輯模塊708監(jiān)視JM任務(wù)完成隊(duì)列以找到完成的作業(yè)管理器任務(wù),隨后其允許在任務(wù)完成時(shí)向圖6的WIJ調(diào)度器618傳遞通知。
[0091]圖8示出圖解根據(jù)本發(fā)明的方面的示例性工作項(xiàng)/作業(yè)調(diào)度器(“WIJ”)800的框圖。WIJ800可以是圖6的示例性WIJ調(diào)度器618。
[0092]WIJ800包括請(qǐng)求處理器802、高速緩存模塊804、心跳模塊806、以及調(diào)度模塊808。如同前面討論的,WIJ800可以是負(fù)責(zé)接受用戶(hù)帳戶(hù)所提交的工作項(xiàng)并且在工作項(xiàng)日程安排內(nèi)的適當(dāng)時(shí)間調(diào)度作業(yè)的角色。因此,構(gòu)想了:WIJ800為工作項(xiàng)創(chuàng)建作業(yè)、為每個(gè)派生(spawn)的新作業(yè)創(chuàng)建隊(duì)列,所述隊(duì)列隨后被用來(lái)使該作業(yè)的任務(wù)排隊(duì)。任務(wù)承租人(后文參考圖9所討論的)的任務(wù)調(diào)度器隨后可從該隊(duì)列拉取任務(wù)并且在該任務(wù)承租人的虛擬機(jī)上調(diào)度所述任務(wù)。此外,構(gòu)想了:WIJ負(fù)責(zé)工作項(xiàng)和相關(guān)作業(yè)的壽命管理,諸如標(biāo)記工作項(xiàng)/作業(yè)完成以及聯(lián)系適當(dāng)?shù)娜蝿?wù)承租人以開(kāi)始作業(yè)。
[0093]請(qǐng)求處理器802是負(fù)責(zé)處理與從TLSFE接收的請(qǐng)求有關(guān)的各種工作項(xiàng)/作業(yè)的模塊(諸如圖6的任務(wù)位置服務(wù)前端610)。此外,構(gòu)想了:在帳戶(hù)被刪除時(shí),帳戶(hù)服務(wù)器(例如,圖6的帳戶(hù)服務(wù)器612)向WIJ800傳送請(qǐng)求。
[0094]高速緩存模塊804是WIJ正在伺服的分區(qū)、用戶(hù)帳戶(hù)、活動(dòng)工作項(xiàng)、活動(dòng)作業(yè)、任務(wù)承租人列表等等的存儲(chǔ)器內(nèi)聞速緩存。此1旲塊可負(fù)責(zé)針對(duì)相關(guān)的聞速緩存策略保持聞速緩存是最新的。
[0095]心跳模塊806與任務(wù)位置服務(wù)主機(jī)(例如,圖6的TLSM620)協(xié)調(diào)以報(bào)告WIJ的健康和負(fù)載狀況。此外,構(gòu)想了:心跳模塊806還經(jīng)由“心跳”協(xié)調(diào)從TLSM接收新的分區(qū)分派。
[0096]調(diào)度模塊808負(fù)責(zé)根據(jù)工作項(xiàng)的指定日程安排來(lái)調(diào)度該工作項(xiàng)的新作業(yè)。該調(diào)度模塊還負(fù)責(zé)將工作項(xiàng)和/或作業(yè)標(biāo)記為已完成。此外,調(diào)度模塊808可負(fù)責(zé)創(chuàng)建和刪除其壽命綁定于工作項(xiàng)或作業(yè)的壽命的池。
[0097]圖9示出圖解根據(jù)本發(fā)明的方面的任務(wù)承租人900的框圖。在一示例性方面中,任務(wù)承租人被構(gòu)想為被實(shí)現(xiàn)為圖5的系統(tǒng)500中的任務(wù)承租人514。如上所述,任務(wù)承租人可幫助管理虛擬機(jī)池。在圖9中示出的實(shí)施例中,任務(wù)承租人包括一個(gè)或多個(gè)任務(wù)承租人前端904。該任務(wù)承租人前端904位于任務(wù)承租人虛擬IP地址之后,該任務(wù)承租人虛擬IP地址內(nèi)部用于任務(wù)承租人和其相應(yīng)的任務(wù)位置服務(wù)之間的通信,包括在任務(wù)位置服務(wù)和任務(wù)承租人之間傳遞請(qǐng)求。
[0098]在圖9中示出的實(shí)施例中,該任務(wù)承租人還包括任務(wù)調(diào)度器902。任務(wù)調(diào)度器902可負(fù)責(zé)做出任務(wù)承租人內(nèi)的本地任務(wù)調(diào)度決策。任務(wù)調(diào)度器902決定在它所控制的每個(gè)虛擬機(jī)上運(yùn)行什么任務(wù)。例如,用戶(hù)所提交的工作項(xiàng)或作業(yè)可具有一組隊(duì)列,所述隊(duì)列包含要被調(diào)度的任務(wù)的列表。任務(wù)調(diào)度器902從該組隊(duì)列中取出任務(wù),選擇與該作業(yè)相關(guān)聯(lián)的池中的一個(gè)或多個(gè)可用虛擬機(jī),并且聯(lián)系所述虛擬機(jī)來(lái)調(diào)度這些任務(wù)。任務(wù)調(diào)度器902還可基于與作業(yè)相關(guān)聯(lián)的優(yōu)先級(jí)值來(lái)做出調(diào)度決策。此外,任務(wù)調(diào)度器902跟蹤任務(wù)承租人內(nèi)的虛擬機(jī)。
[0099]任務(wù)調(diào)度器902與池服務(wù)器一起工作以將虛擬機(jī)分配到池/從池解除虛擬機(jī)的分配。此外,任務(wù)調(diào)度器902與所有虛擬機(jī)保持心跳、經(jīng)由心跳關(guān)于池成員與虛擬機(jī)同步,并且控制虛擬機(jī)的重啟/重新鏡像。任務(wù)調(diào)度器902的又一功能可以是跟蹤任務(wù)承租人的大小?;谌蝿?wù)承租人內(nèi)的虛擬機(jī)的當(dāng)前利用率,任務(wù)調(diào)度器可以增長(zhǎng)或收縮該任務(wù)承租人,以便該任務(wù)承租人具有足夠數(shù)量的虛擬機(jī)來(lái)運(yùn)行與該任務(wù)承租人相關(guān)聯(lián)的任務(wù)。類(lèi)似地,如果該任務(wù)承租人中有太多虛擬機(jī)保持空閑,可以釋放這些虛擬機(jī)以供該數(shù)據(jù)中心中的其他托管服務(wù)使用。
[0100]任務(wù)調(diào)度器902包括以下組件和模塊來(lái)實(shí)現(xiàn)上述功能性。例如,任務(wù)調(diào)度器可包括請(qǐng)求處理器910、心跳管理器912、統(tǒng)計(jì)數(shù)據(jù)聚集管理器914、調(diào)度循環(huán)模塊916、池分配管理器918、以及任務(wù)承租人管理器920。
[0101]在一示例性方面中,任務(wù)調(diào)度器902 “擁有”任務(wù)承租人900的虛擬機(jī)并且還“擁有”在那些虛擬機(jī)上所執(zhí)行的東西。作為結(jié)果,構(gòu)想了:VM池包括跨多個(gè)任務(wù)承租人的VM。當(dāng)作業(yè)被分派給池時(shí),任務(wù)調(diào)度器902可從隊(duì)列中取出工作項(xiàng)并且在任務(wù)調(diào)度器902所“擁有”的虛擬機(jī)(例如,任務(wù)承租人900的TVM908)上運(yùn)行那些工作項(xiàng)。與具有該池中的TVM的其他任務(wù)承租人相關(guān)聯(lián)的其他任務(wù)調(diào)度器也可從該隊(duì)列取出工作項(xiàng)并且在與每個(gè)任務(wù)承租人的唯一任務(wù)調(diào)度器中的每一個(gè)任務(wù)調(diào)度器相關(guān)聯(lián)的虛擬機(jī)上運(yùn)行那些工作項(xiàng)。
[0102]請(qǐng)求處理器910負(fù)責(zé)處理從WIJ、池服務(wù)器、和/或TLSM接收的各請(qǐng)求。所述請(qǐng)求可被從該任務(wù)承租人前端路由至該任務(wù)調(diào)度器。因此,請(qǐng)求處理器910可使請(qǐng)求排隊(duì)以供正確的子組件消費(fèi)。
[0103]心跳管理器912負(fù)責(zé)與該任務(wù)承租人內(nèi)的其他虛擬機(jī)(例如TVM908)心跳。響應(yīng)于心跳通信,此模塊收集關(guān)于虛擬機(jī)健康和任務(wù)健康的信息。此外,響應(yīng)于所接收的心跳消息,此模塊可確定所述虛擬機(jī)中的哪些虛擬機(jī)空閑并可用于調(diào)度新任務(wù)。此外,心跳監(jiān)視器可收集關(guān)于虛擬機(jī)的各種統(tǒng)計(jì)數(shù)據(jù)(例如,CPU、存儲(chǔ)器、盤(pán)使用)。這些統(tǒng)計(jì)數(shù)據(jù)隨后可被傳遞到統(tǒng)計(jì)數(shù)據(jù)聚集管理器914。
[0104]統(tǒng)計(jì)數(shù)據(jù)聚集管理器914負(fù)責(zé)按照池來(lái)聚集和組織從該任務(wù)承租人的各虛擬機(jī)收集的各種統(tǒng)計(jì)數(shù)據(jù)。所聚集的統(tǒng)計(jì)數(shù)據(jù)隨后可被傳遞到池服務(wù)器以供在自動(dòng)縮放操作中使用。
[0105]調(diào)度循環(huán)模塊916可負(fù)責(zé)在池虛擬機(jī)上調(diào)度作業(yè)任務(wù)。池分配管理器918負(fù)責(zé)與池相關(guān)聯(lián)的操作,諸如縮放資源、分配資源、分派作業(yè)/工作項(xiàng)等等,如同本文所討論的。
[0106]任務(wù)承租人管理器920是關(guān)注任務(wù)承租人本身的增長(zhǎng)和收縮的模塊。此模塊與分布式計(jì)算系統(tǒng)結(jié)構(gòu)交互以擴(kuò)張/收縮根據(jù)該系統(tǒng)上的負(fù)載的任務(wù)承租人虛擬機(jī)的數(shù)量。此夕卜,構(gòu)想了:任務(wù)承租人管理器920可負(fù)責(zé)維護(hù)自由重鏡像虛擬機(jī)的緩沖區(qū)以便快速轉(zhuǎn)換成任何給定池的專(zhuān)用虛擬機(jī)。
[0107]圖9還示出了與任務(wù)承租人相關(guān)聯(lián)的多個(gè)虛擬機(jī)。在圖9中示出的實(shí)施例中,每個(gè)虛擬機(jī)包括任務(wù)虛擬機(jī)908 (TVM)。在一實(shí)施例中,任務(wù)虛擬機(jī)908負(fù)責(zé)在虛擬機(jī)上啟動(dòng)任務(wù),以及設(shè)置任務(wù)的目錄結(jié)構(gòu)和許可。任務(wù)虛擬機(jī)還配置虛擬機(jī)上的操作系統(tǒng)防火墻以例性池服務(wù)器1000的框圖。在一示例性方9 6的池服務(wù)器614。
里器模塊1002,其負(fù)責(zé)接受傳入的操作(例I擬機(jī)分配管理器模塊1004,其執(zhí)行跨越承:決定要選擇哪些任務(wù)承租人并且要為池保卜處理器模塊1006也可與池服務(wù)器相關(guān)聯(lián)。臭。此模塊持續(xù)對(duì)事務(wù)工作,直到其成功完[中并且因此在故障的情況下可跨越各種系&承租人的針對(duì)給定池分配、預(yù)留或解除分亂,構(gòu)想了:自動(dòng)縮放模塊1008也可與池服女組件616所討論的,該自動(dòng)縮放組件1008),所述自動(dòng)縮放規(guī)則針對(duì)一池自動(dòng)確定專(zhuān)
民例性分布式計(jì)算系統(tǒng)中的各組件之間的;包括客戶(hù)端門(mén)戶(hù)1102、任務(wù)位置服務(wù)前端交該作業(yè)的附加任務(wù)。該系統(tǒng)支持針對(duì)每吹,則該系統(tǒng)可以(可能在不同虛擬機(jī)上)(具有廁任務(wù),則該作業(yè)的附加任務(wù)可由該2被創(chuàng)建后從系統(tǒng)外提交該任務(wù)。
鋳收到添加任務(wù)請(qǐng)求之后,該將任務(wù)兒據(jù)放入三個(gè)作業(yè)隊(duì)列之一中。選擇哪個(gè)作(例如,僅專(zhuān)用、僅可搶占、或者池中的任何
給定池的虛擬機(jī)的所有任務(wù)調(diào)度器并且向通信1132中所見(jiàn)。用戶(hù)可在工作項(xiàng)創(chuàng)建期白終止整個(gè)作業(yè)。該系統(tǒng)隨后可維護(hù)此信息I輯:該III可等待關(guān)于該胃了1任務(wù)完成的」1134中的作業(yè)之后發(fā)生。當(dāng)作業(yè)管理器任-示例性方面中,該廁隊(duì)列是系統(tǒng)隊(duì)列。該I勺消息之后,它們將該消息出隊(duì)((16(1116116)從該隊(duì)列接收作業(yè)管理器消息之后,II 了可、隊(duì)列條目可具有指向主任務(wù)表中的指針,任務(wù)表可具有任務(wù)狀態(tài),其可幫助13確定,則該任務(wù)可能不需要再次運(yùn)行。這可在任該條目時(shí)發(fā)生。此外,構(gòu)想了:可從任務(wù)表定從隊(duì)列中挑選的個(gè)項(xiàng)中的哪個(gè)項(xiàng)最
擬機(jī)信息填充在與該任務(wù)相對(duì)應(yīng)的任務(wù)表皮分派一任務(wù),則該虛擬機(jī)可以接管延長(zhǎng)其有效地維持了任務(wù)上的承租。一旦該穩(wěn)接在運(yùn)行”(或類(lèi)似狀態(tài))。一旦針對(duì)該任務(wù):運(yùn)行”(或類(lèi)似狀態(tài))并且派生任務(wù)過(guò)程。0應(yīng)條目。如果該任務(wù)碰巧是廁任務(wù)(作業(yè)管理器完成條目。
1:理
里被類(lèi)似地執(zhí)行,然而,在一示例性方面中,戶(hù),所提交的每個(gè)任務(wù)均與一重試計(jì)數(shù)相關(guān)以使得資源可用于該JM任務(wù)的運(yùn)行。這可確保該JM任務(wù)總是針對(duì)作業(yè)重啟,即便在系統(tǒng)故障的情況下。
[0132]池管理
[0133]對(duì)于每個(gè)任務(wù)帳戶(hù),可創(chuàng)建(或關(guān)聯(lián))一個(gè)或多個(gè)池。在一示例性方面中,池中存在兩種類(lèi)型的虛擬機(jī),并且還存在與該池相關(guān)聯(lián)的待機(jī)VM預(yù)留(如同前面討論的)。該VM可以是專(zhuān)用VM,所述專(zhuān)用VM是由該任務(wù)帳戶(hù)或池為獨(dú)占利益而當(dāng)前正使用的預(yù)留的VM。第二 VM可以是可搶占VM??蓳屨糣M可以是系統(tǒng)中可用于運(yùn)行可搶占任務(wù)的任何非專(zhuān)用VM,包括被預(yù)留為待機(jī)VM的VM或者系統(tǒng)提供的任何空閑VM??墒褂每蓳屨糣M,直到系統(tǒng)需要所述可搶占VM的資源來(lái)用于其他用途為止。
[0134]在一示例性方面中,帳戶(hù)可指定池中的專(zhuān)用VM和待機(jī)預(yù)留VM的各自的數(shù)量。待機(jī)VM預(yù)留可被轉(zhuǎn)換為專(zhuān)用VM,也構(gòu)想了相反的情況。該系統(tǒng)于是可為特定池保持專(zhuān)用和待機(jī)資源。
[0135]可將各種屬性與池相關(guān)聯(lián)。那些屬性可包括待機(jī)VM預(yù)留、專(zhuān)用VM的數(shù)量、VM的類(lèi)型(例如,小型還是大型)、通信要求(如果作業(yè)需要跨任務(wù)通信的話)、存儲(chǔ)帳戶(hù)緊密度、池元數(shù)據(jù)(例如,用戶(hù)所設(shè)置的元數(shù)據(jù))、和/或開(kāi)始任務(wù)信息。開(kāi)始任務(wù)信息是在池的初始設(shè)置期間以及也在VM重啟時(shí)在每個(gè)池VM上運(yùn)行的任務(wù)。這些屬性可至少部分定義池以及池的資源。
[0136]如同前面討論的,作業(yè)利用池(以及底層的虛擬機(jī))來(lái)運(yùn)行該作業(yè)的任務(wù)。任務(wù)在池中的專(zhuān)用或可搶占VM上運(yùn)行。在一示例性實(shí)施例中,待機(jī)VM預(yù)留不被用來(lái)直接運(yùn)行任務(wù),而是待機(jī)VM被轉(zhuǎn)換為專(zhuān)用或可搶占VM。構(gòu)想了各個(gè)VM的定價(jià)可以變化。例如,待機(jī)VM預(yù)留可以是預(yù)留該資源的成本最小,但是通過(guò)預(yù)留,待機(jī)VM預(yù)留可用于被快速轉(zhuǎn)換為專(zhuān)用或可搶占資源。專(zhuān)用VM可具有傳統(tǒng)的計(jì)算定價(jià)。另一方面,可搶占VM可通過(guò)競(jìng)標(biāo)操作來(lái)定價(jià),競(jìng)標(biāo)操作允許現(xiàn)貨定價(jià)以及其他可變定價(jià)構(gòu)造的概念。
[0137]池的創(chuàng)建可沿襲與以下示例性步驟類(lèi)似的過(guò)程;然而,構(gòu)想了替代方法。用戶(hù)可通過(guò)指定各種參數(shù)來(lái)發(fā)起池的創(chuàng)建,諸如池名稱(chēng)、VM大小、存儲(chǔ)帳戶(hù)緊密度、跨任務(wù)通信要求、元數(shù)據(jù)等等。用戶(hù)可向TLSFE發(fā)送API請(qǐng)求,TLSFE隨后可將相關(guān)請(qǐng)求(或相同相求)轉(zhuǎn)發(fā)到正確的池服務(wù)器。在向池服務(wù)器發(fā)送請(qǐng)求之前,該系統(tǒng)可認(rèn)證該用戶(hù)。進(jìn)行接收的池服務(wù)器于是可開(kāi)始具有唯一標(biāo)識(shí)符的池事務(wù)。池服務(wù)器隨后可為該任務(wù)承租人生成VM預(yù)留分解以滿(mǎn)足專(zhuān)用VM的目標(biāo)數(shù)量以及被保持預(yù)留為待機(jī)的VM的數(shù)量。此預(yù)留操作可包括在系統(tǒng)故障的情況下保持該事務(wù),以便池預(yù)留可最終獲勝。池服務(wù)器于是可定期地傳遞狀態(tài)(即,心跳)更新并檢查任務(wù)調(diào)度器以保持對(duì)預(yù)留的更新。在完成該事務(wù)后,池服務(wù)器可通過(guò)以下操作來(lái)提交該事務(wù):通知每個(gè)任務(wù)承租人提交其事務(wù),并且隨后在每個(gè)任務(wù)承租人響應(yīng)之后,移除待辦的事務(wù)。
[0138]可通過(guò)將待機(jī)VM預(yù)留轉(zhuǎn)換為專(zhuān)用(或反過(guò)來(lái))來(lái)更新池。這可以通過(guò)系統(tǒng)(或用戶(hù))提供期望數(shù)量的專(zhuān)用和待機(jī)VM來(lái)完成。池服務(wù)器隨后可通過(guò)用相關(guān)聯(lián)的任務(wù)承租人開(kāi)始新的事務(wù)并將新的VM目標(biāo)傳遞給那些任務(wù)承租人來(lái)處理池的更新。在任務(wù)承租人處,傳入的請(qǐng)求可通過(guò)TTFE被路由到任務(wù)調(diào)度器。如果期望的目標(biāo)包括增加專(zhuān)用VM的數(shù)量并且預(yù)留額外的待機(jī)VM,則任務(wù)調(diào)度器將未分配的VM轉(zhuǎn)換為專(zhuān)用VM并減少待機(jī)計(jì)數(shù)。如果仍需要額外的專(zhuān)用VM,則任務(wù)調(diào)度器分配來(lái)自可搶占池的VM。如果沒(méi)有足夠的VM可工作項(xiàng)。例如,用戶(hù)可通過(guò)客戶(hù)端門(mén)戶(hù)提交艮統(tǒng)的任務(wù)位置服務(wù)。在一示例性方面中,笑工作項(xiàng)路由到該113。例如,如同前面討論地址傳遞各通信。
包括要由一個(gè)或多個(gè)虛擬機(jī)執(zhí)行的二進(jìn)制例如,所述規(guī)則可例如被系統(tǒng)用來(lái)自動(dòng)/或自動(dòng)刪除池。所述規(guī)則可實(shí)現(xiàn)其他功勺規(guī)則。如同前面討論的,所述規(guī)則可由用息(例如,與該任務(wù)帳戶(hù)相關(guān)聯(lián)的偏好)生@關(guān)聯(lián)的任務(wù)、和/或池的性質(zhì)的更廣泛的
上。如同前面討論的,作業(yè)可以通過(guò)該系統(tǒng)匸作項(xiàng)接收的規(guī)則/規(guī)范來(lái)創(chuàng)建該作業(yè)。在5可包括優(yōu)先級(jí)和其他計(jì)算改變信息,所述上最終實(shí)例化而無(wú)需給用戶(hù)增加負(fù)擔(dān)。力池時(shí),將虛擬機(jī)自動(dòng)分配給池以用于處理于完全不同的工作項(xiàng)的作業(yè)。
[0146]在框1216處,構(gòu)想了:該系統(tǒng)自動(dòng)刪除該池而無(wú)需用戶(hù)的干預(yù)或請(qǐng)求??身憫?yīng)于作業(yè)或工作項(xiàng)的完成而刪除池。例如,可在完成每個(gè)作業(yè)之后刪除該池。此外,構(gòu)想了:可在完成作業(yè)之后維護(hù)該池以供該帳戶(hù)(或另一帳戶(hù))或工作項(xiàng)的未來(lái)使用。例如,如果工作項(xiàng)被調(diào)度為重復(fù)發(fā)生,則按照該作業(yè)重復(fù)派生的預(yù)期來(lái)維護(hù)該池并且跨越運(yùn)行中的作業(yè)保持VM上的狀態(tài)(例如,數(shù)據(jù)文件和應(yīng)用)是高效的。此外,構(gòu)想了:使用自動(dòng)縮放功能,響應(yīng)于縮放規(guī)則(諸如池上的待辦任務(wù)的數(shù)量),該池可將專(zhuān)用VM自動(dòng)轉(zhuǎn)換為待機(jī)VM或減少VM的數(shù)量。此外,構(gòu)想了:可接收來(lái)自用戶(hù)的請(qǐng)求。該請(qǐng)求可包括用于刪除池的指令。
[0147]自動(dòng)縮放池以及分層結(jié)構(gòu)化
[0148]圖13示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供資源的示例性方法1300的框圖。具體而言,構(gòu)想了:基于規(guī)則、要求和當(dāng)前資源負(fù)載自動(dòng)縮放資源池允許有效地在分布式計(jì)算環(huán)境中提供資源。如同前面討論的,池可以由系統(tǒng)(分布式計(jì)算環(huán)境)作為在其上實(shí)例化作業(yè)的資源集合來(lái)創(chuàng)建。然而,基于資源需求的變化、調(diào)度變化、以及其他變量,可能期望增加大小、減小大小、增加/減少特定的VM類(lèi)型、以及調(diào)整與該池相關(guān)聯(lián)的其他變量。傳統(tǒng)上,此過(guò)程在本質(zhì)上是手動(dòng)的,并且依賴(lài)于人類(lèi)干預(yù)來(lái)手動(dòng)調(diào)整池資源水平。
[0149]構(gòu)想了:可向資源(諸如池)的縮放提供自動(dòng)化,以有效利用系統(tǒng)的資源。在一示例性方面中,方法1300允許池的自動(dòng)縮放而無(wú)需用戶(hù)的干預(yù)。在框1302處,該系統(tǒng)自動(dòng)確定與池相關(guān)聯(lián)的虛擬機(jī)的數(shù)量。所述確定可以由池服務(wù)器完成。確定數(shù)量可包括確定虛擬機(jī)的總數(shù)量或者確定特定類(lèi)型的虛擬機(jī)的總數(shù)量。例如,該確定可以是要確定池中的專(zhuān)用VM的總數(shù)量。該確定可以從該系統(tǒng)的一個(gè)或多個(gè)組件/模塊所維護(hù)的表或其他列表做出。例如,構(gòu)想了:池服務(wù)器可維護(hù)具有該池所使用的虛擬機(jī)的那些任務(wù)承租人的列表。類(lèi)似地,構(gòu)想了:任務(wù)承租人可維護(hù)池所使用的VM的列表(例如,任務(wù)調(diào)度器可維護(hù)這種信息)。因此,該確定可以通過(guò)參考該系統(tǒng)內(nèi)已經(jīng)維護(hù)的信息的一個(gè)或多個(gè)源來(lái)做出。
[0150]在框1304處,應(yīng)用自動(dòng)縮放規(guī)則以調(diào)整與該池相關(guān)聯(lián)的虛擬機(jī)的數(shù)量。例如,構(gòu)想了:總的VM的數(shù)量被減少或增加。而且,構(gòu)想了:特定類(lèi)型的VM(例如,專(zhuān)用VM)的數(shù)量被增加或減少。如同先前討論的,自動(dòng)縮放規(guī)則可包括幫助確定池的大小/組成的一個(gè)或多個(gè)偏好。例如,自動(dòng)縮放規(guī)則可包括用于基于當(dāng)前池統(tǒng)計(jì)數(shù)據(jù)和調(diào)度作業(yè)來(lái)確定優(yōu)化的池的一個(gè)或多個(gè)公式。自動(dòng)縮放規(guī)則可將關(guān)于系統(tǒng)的帳戶(hù)度量納入考慮,諸如作業(yè)隊(duì)列統(tǒng)計(jì)數(shù)據(jù)(例如,等待運(yùn)行的待辦任務(wù)、入隊(duì)速率、出隊(duì)速率、任務(wù)完成速率等)、現(xiàn)貨定價(jià)信息、可用資源、資源的效率等等。此外,構(gòu)想了自動(dòng)縮放規(guī)則還可將工作項(xiàng)、作業(yè)、和/或任務(wù)的期望完成時(shí)間納入考慮。此外,構(gòu)想了:自動(dòng)縮放規(guī)則可將被優(yōu)選花費(fèi)的期望金融資源(例如,依賴(lài)于以比專(zhuān)用VM成本低的可搶占VM)納入考慮。
[0151]作為應(yīng)用自動(dòng)縮放規(guī)則來(lái)調(diào)整與該池相關(guān)聯(lián)的虛擬機(jī)的數(shù)量的結(jié)果,該系統(tǒng)可動(dòng)態(tài)分配該池的一個(gè)或多個(gè)虛擬機(jī),如在框1306所指示的。VM的動(dòng)態(tài)分配可包括添加一個(gè)或多個(gè)VM、移除一個(gè)或多個(gè)VM、改變一個(gè)或多個(gè)VM的類(lèi)型。例如,自動(dòng)縮放規(guī)則的應(yīng)用可導(dǎo)致將作為專(zhuān)用VM的一個(gè)或多個(gè)虛擬機(jī)添加到該池。此外,構(gòu)想了:該分配可包括將空閑的或可搶占的VM轉(zhuǎn)換為專(zhuān)用VM并減少待機(jī)計(jì)數(shù)。還構(gòu)想了其他分配
[0152]分配的動(dòng)態(tài)特性與執(zhí)行分配而無(wú)需用戶(hù)干預(yù)的系統(tǒng)有關(guān)。例如,構(gòu)想了:可按間隔(例如,時(shí)間間隔、進(jìn)程計(jì)數(shù)間隔)來(lái)應(yīng)用自動(dòng)縮放規(guī)則。作為自動(dòng)運(yùn)行自動(dòng)縮放規(guī)則的結(jié)果,在此示例性方面中,資源的分配可在分配時(shí)無(wú)需用戶(hù)請(qǐng)求的情況下或者作為請(qǐng)求執(zhí)行分配的用戶(hù)輸入的直接結(jié)果而發(fā)生。
[0153]圖14示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供資源的方法1400的框圖。如同前面針對(duì)圖13討論的,構(gòu)想了:在應(yīng)用到池時(shí)自動(dòng)縮放規(guī)則的利用和應(yīng)用允許在分布式計(jì)算環(huán)境中提供資源。
[0154]在框1402,從用戶(hù)接收工作項(xiàng)。該用戶(hù)可通過(guò)API傳遞工作項(xiàng),這可經(jīng)由客戶(hù)端門(mén)戶(hù)到系統(tǒng)的高等級(jí)位置服務(wù)。工作項(xiàng)可與特定任務(wù)帳戶(hù)相關(guān)聯(lián),該任務(wù)帳戶(hù)可具有與其相關(guān)聯(lián)的帳戶(hù)偏好。在框1404,從用戶(hù)接收自動(dòng)縮放規(guī)則。自動(dòng)縮放規(guī)則可提供針對(duì)以下方面的用戶(hù)偏好:完成該工作項(xiàng)的時(shí)間、該工作項(xiàng)的優(yōu)先級(jí)、優(yōu)選的金融資源花費(fèi)(例如,相對(duì)于專(zhuān)用VM優(yōu)選可搶占VM)。自動(dòng)縮放規(guī)則還可包括一個(gè)或多個(gè)公式,所述一個(gè)或多個(gè)公式利用一個(gè)或多個(gè)與池相關(guān)聯(lián)的度量來(lái)幫助響應(yīng)于對(duì)池的需求縮放池。
[0155]在框1406,將位于第一數(shù)據(jù)中心中的第一 VM分配給池。該虛擬機(jī)的分配可包括將虛擬機(jī)作為該池內(nèi)可用的資源添加。在一示例性方面中,將第一 VM自動(dòng)分配到第一池。這是在無(wú)需指示VM要包括在池中(更別提哪個(gè)VM以及哪個(gè)池)的用戶(hù)干預(yù)的情況下完成的。例如,過(guò)去可能要求用戶(hù)通過(guò)標(biāo)識(shí)要包括在池中的資源來(lái)建立池。資源的標(biāo)識(shí)可包括標(biāo)識(shí)VM的數(shù)量以及從何處分派VM。在此示例中,系統(tǒng)自行標(biāo)識(shí)池要被創(chuàng)建且多個(gè)VM要被分配給該池以便該池滿(mǎn)足期望性能或操作性質(zhì)。
[0156]在框1408,將第二虛擬機(jī)分配給第一池。第二 VM處于第二數(shù)據(jù)中心中,該第二數(shù)據(jù)中心與第一數(shù)據(jù)中心在地理上分開(kāi)。在一示例性方面中,該第二 VM可來(lái)自處于同一數(shù)據(jù)中心中、但是出于不同任務(wù)承租人中的一組VM資源。構(gòu)想了:第二 VM被自動(dòng)分配給第一池而無(wú)需用戶(hù)干預(yù)。這種自動(dòng)化(以及該系統(tǒng)在無(wú)需用戶(hù)干預(yù)的情況下執(zhí)行的其他自動(dòng)化任務(wù))合并了原本在用戶(hù)被允許干預(yù)時(shí)不會(huì)被利用的過(guò)程和步驟。例如,在本發(fā)明的一示例性實(shí)施例內(nèi)構(gòu)想了關(guān)于要將哪個(gè)VM分配給第一(或任意)池的判斷。
[0157]第一任務(wù)承租人和第二任務(wù)承租人可以是伺服該系統(tǒng)的物理上獨(dú)立的數(shù)據(jù)中心(或處于共同的數(shù)據(jù)中心中)。例如,構(gòu)想了:第一任務(wù)承租人可位于第一地理位置(例如,在特定地址、城市、州、地區(qū)、國(guó)家、和/或洲)。在一個(gè)示例中,構(gòu)想了:第一任務(wù)承租人位于美利堅(jiān)合眾國(guó)的第一區(qū)域(例如,美國(guó)西部)而第二任務(wù)承租人位于美利堅(jiān)合眾國(guó)的一不同區(qū)域(例如,美國(guó)東部)。在此示例中,第一任務(wù)承租人和第二任務(wù)承租人能夠由共同的或不同的任務(wù)位置服務(wù)來(lái)尋址。這允許池的自動(dòng)縮放而無(wú)需用戶(hù)對(duì)跨越不同的數(shù)據(jù)中心增長(zhǎng)池(或減小池)的復(fù)雜事項(xiàng)進(jìn)行干預(yù)。例如,構(gòu)想了:物理限制先前可能已經(jīng)阻止了池?cái)U(kuò)張到一物理數(shù)據(jù)中心的大小范圍之外。解除作業(yè)和池的概念與本地VM資源控制下的調(diào)度器(任務(wù)承租人)的耦合允許池及其作業(yè)擴(kuò)展以包括兩個(gè)或更多個(gè)數(shù)據(jù)中心中的資源,而不需要用戶(hù)編程或以其他方式干預(yù)系統(tǒng)來(lái)允許這種擴(kuò)張。因此,構(gòu)想了:基于系統(tǒng)自動(dòng)處理池的擴(kuò)張,用戶(hù)可以設(shè)計(jì)能夠跨越數(shù)十億個(gè)VM并且跨越若干個(gè)VM來(lái)縮放的工作項(xiàng)。
[0158]在框1410,在第一虛擬機(jī)和第二虛擬機(jī)上實(shí)例化該工作項(xiàng)。工作項(xiàng)的實(shí)例化可包括任務(wù)承租人中的調(diào)度器從隊(duì)列中拉走任務(wù)并將其分派到一 VM。工作項(xiàng)的實(shí)例化還可包括在該虛擬機(jī)上調(diào)度來(lái)自該工作項(xiàng)的任務(wù)。實(shí)例化還可包括虛擬機(jī)從隊(duì)列拉取任務(wù)以處理該任務(wù)。實(shí)例化還可包括在該虛擬機(jī)處處理任務(wù)。因此,工作項(xiàng)的實(shí)例化可包括導(dǎo)致該工作項(xiàng)的一部分(例如,任務(wù))被VM處理的任何方面。
[0159]通過(guò)將該工作項(xiàng)的作業(yè)實(shí)例化到具有第一 VM和第二 VM兩者的池,該工作項(xiàng)由跨越多個(gè)數(shù)據(jù)中心縮放的池處理而用戶(hù)無(wú)需更改該工作項(xiàng)來(lái)實(shí)現(xiàn)這一結(jié)果。因此,構(gòu)想了:能夠在單一任務(wù)承租人所服務(wù)的池上運(yùn)行的同一工作項(xiàng),也可在無(wú)需用戶(hù)干預(yù)的情況下,在跨越多個(gè)離散的任務(wù)承租人和數(shù)據(jù)中心的池上運(yùn)行。
[0160]在框1412,向池應(yīng)用自動(dòng)縮放規(guī)則。在一示例性方面中,在無(wú)需用戶(hù)干預(yù)的情況下,該系統(tǒng)自動(dòng)啟動(dòng)自動(dòng)縮放功能。自動(dòng)縮放規(guī)則可將以下各項(xiàng)納入考慮:當(dāng)前正被使用的資源、被調(diào)度以提交的資源、以及該池所必需的資源、在被分派到該池的作業(yè)的隊(duì)列中的待辦工作的量、任務(wù)、作業(yè)等等。結(jié)合起來(lái),自動(dòng)縮放規(guī)則允許該池?cái)U(kuò)張、收縮和改變VM類(lèi)型。
[0161]例如,構(gòu)想了:如果向該作業(yè)添加附加的任務(wù),或者用于處理該作業(yè)的時(shí)間超出初始預(yù)測(cè),則可利用自動(dòng)縮放規(guī)則來(lái)確定將需要多少附加資源來(lái)完成該作業(yè)。類(lèi)似地,構(gòu)想了:調(diào)用自動(dòng)縮放規(guī)則可導(dǎo)致以下確定:該池中的VM的數(shù)量可能是過(guò)剩的并且那些資源中的一部分可以被轉(zhuǎn)換或丟棄。例如,基于自動(dòng)縮放規(guī)則,可將專(zhuān)用VM轉(zhuǎn)換為可搶占甚至是待機(jī)VM預(yù)留。此外,構(gòu)想了:作為被應(yīng)用的自動(dòng)縮放規(guī)則的確定的結(jié)果,可以將一 VM從該池完全釋放。
[0162]在框1414處,進(jìn)行與池相關(guān)聯(lián)的一個(gè)或多個(gè)VM的重新分配。例如,如果自動(dòng)縮放規(guī)則確定可將一專(zhuān)用VM從該池釋放,則可將該專(zhuān)用VM從該池放出。類(lèi)似地,如果自動(dòng)縮放規(guī)則確定可用VM的數(shù)量不足以實(shí)現(xiàn)所需結(jié)果(例如,及時(shí)完成作業(yè)),則可向該池分配一個(gè)或多個(gè)額外的VM以用于完成隊(duì)列中的或尚未入隊(duì)的待辦任務(wù)。此外,如同前面討論的,構(gòu)想了:在一示例性方面中,一個(gè)或多個(gè)VM的重新分配可包括將VM從第一類(lèi)型轉(zhuǎn)換為第二類(lèi)型。在一示例性方面中,此重新分配被構(gòu)想為至少部分由與該池相關(guān)聯(lián)的池服務(wù)器來(lái)執(zhí)行。
[0163]解耦的資源、調(diào)度和作業(yè)
[0164]資源、調(diào)度、和作業(yè)的解耦允許作業(yè)從一個(gè)資源池到另一資源池繼續(xù)執(zhí)行。例如,此功能可在跨越不同的計(jì)算資源遷移工作并且對(duì)工作進(jìn)行負(fù)載平衡時(shí)使用。在一具體示例中,如果特定數(shù)據(jù)中心故障(例如,自然災(zāi)害),則可將該工作遷移到新的數(shù)據(jù)中心來(lái)完成該作業(yè)。而且,構(gòu)想了:資源、調(diào)度和作業(yè)的解耦允許作業(yè)跨越若干資源池和調(diào)度執(zhí)行,這可允許該作業(yè)實(shí)現(xiàn)高度的縮放性,這樣的縮放性否則將是不能獲得的。此外,構(gòu)想了:池跨越多個(gè)調(diào)度器、任務(wù)承租人、和/或數(shù)據(jù)中心,這允許被分派給該池的作業(yè)也跨越那些資源。
[0165]在一示例性方面中,解耦構(gòu)想了利用系統(tǒng)中的三個(gè)單獨(dú)的概念。第一個(gè)概念基于虛擬機(jī)池的概念。第二個(gè)概念是圍繞作業(yè)管理、作業(yè)狀態(tài)、以及作業(yè)隊(duì)列形成的。第三個(gè)概念涉及調(diào)度器(例如,圖9的作業(yè)調(diào)度器902)以及這些調(diào)度器負(fù)責(zé)針對(duì)這些池將對(duì)其調(diào)度所分派的作業(yè)的VM。這些概念允許基于多承租關(guān)系分布式計(jì)算系統(tǒng)的負(fù)載平衡需求來(lái)對(duì)作業(yè)、調(diào)度器和池的靈活的重新分派。而且,構(gòu)想了:這三個(gè)概念還允許災(zāi)難恢復(fù)。
[0166]圖15示出圖解根據(jù)本發(fā)明的方面的一種用于在分布式計(jì)算環(huán)境中提供解耦的資源、調(diào)度以及作業(yè)的方法1500的框圖。在框1502,在系統(tǒng)處接收工作項(xiàng)。例如,可利用在與提交工作項(xiàng)的帳戶(hù)相關(guān)聯(lián)的任務(wù)虛擬IP地址來(lái)在任務(wù)位置服務(wù)處接收工作項(xiàng)??蓮脑摴ぷ黜?xiàng)創(chuàng)建作業(yè),如在框1504中所示。在一示例性實(shí)施例中,作業(yè)創(chuàng)建是工作項(xiàng)應(yīng)當(dāng)作為作業(yè)被處理的標(biāo)識(shí)。
[0167]在框1506,將虛擬機(jī)分配給第一池。例如,構(gòu)想了:池服務(wù)器可將該VM分配誒第融交易日的開(kāi)始)利用資源。在此示例中,電國(guó)西部地理區(qū)域的資源負(fù)擔(dān)更重。因此,\考慮,該負(fù)載平衡過(guò)程也可確定將該作業(yè)在框1514處所示。遷移不限于“擁有權(quán)”的,其是將該作業(yè)分派到多個(gè)池。此外,遷移9結(jié)果,用戶(hù)具有作業(yè)正在被單一池執(zhí)行的租人的時(shí)候。
5釋放隊(duì)列中的任務(wù)的承租,以便不同池中中,構(gòu)想了:作業(yè)的遷移需要將工作項(xiàng)重新勺資源相關(guān)聯(lián)地進(jìn)行重新創(chuàng)建和調(diào)度。作業(yè):到第二池。在框1516處,示出作業(yè)在第二:池上運(yùn)行。第一池的調(diào)度器可以是與第一第二池的調(diào)度器可以是與第二池相關(guān)聯(lián)的:不將工作項(xiàng)/作業(yè)綁定到單一池或單一調(diào)?。∠嚓P(guān)聯(lián)的資源出現(xiàn)故障。
,構(gòu)想了:任務(wù)承租人的任務(wù)調(diào)度器是與該他優(yōu)點(diǎn)。
1的,并且可以加以利用而無(wú)需參考其它特要求的范圍內(nèi)。
【權(quán)利要求】
1.一種用于在分布式計(jì)算環(huán)境中提供資源的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: 從用戶(hù)接收工作項(xiàng); 從所述工作項(xiàng)創(chuàng)建作業(yè); 利用處理器和存儲(chǔ)器,自動(dòng)地向第一池分配至少第一虛擬機(jī); 在所述第一池上調(diào)度所述作業(yè); 在所述第一池上啟動(dòng)所述作業(yè); 將所述作業(yè)重新分派給第二池,所述第二池包括至少第二虛擬機(jī);以及 在所述第二池上啟動(dòng)所述作業(yè)。
2.如權(quán)利要求1所述的方法,其特征在于,在所述第一池上調(diào)度所述作業(yè)是至少部分利用第一調(diào)度器執(zhí)行的,所述第一調(diào)度器不被用來(lái)在所述第二池上調(diào)度所述作業(yè)。
3.如權(quán)利要求1所述的方法,其特征在于,所述作業(yè)的重新分派是響應(yīng)于所述第一池內(nèi)的所檢測(cè)到的故障的。
4.如權(quán)利要求1所述的方法,其特征在于,所述作業(yè)的重新分派允許所述作業(yè)在所述第二池上繼續(xù)。
5.如權(quán)利要求1所述的方法,其特征在于,所述作業(yè)的重新分派是響應(yīng)于所述第一池的負(fù)載平衡確定的。
6.如權(quán)利要求1所述的方法,其特征在于,重新分派所述作業(yè)允許將所述作業(yè)從所述第一池遷移到所述第二池而無(wú)需用戶(hù)干預(yù)。
7.一個(gè)或多個(gè)存儲(chǔ)計(jì)算機(jī)可用指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可用指令在被具有處理器和存儲(chǔ)器的計(jì)算設(shè)備執(zhí)行時(shí)執(zhí)行一種用于在分布式計(jì)算環(huán)境中提供資源的方法,所述方法包括: 利用第一調(diào)度器,在所述分布式計(jì)算環(huán)境的第一資源池上調(diào)度作業(yè); 在所述第一池上啟動(dòng)所述作業(yè); 在無(wú)需用戶(hù)干預(yù)的情況下,確定所述作業(yè)要從所述分布式計(jì)算環(huán)境內(nèi)的所述第一池遷移到第二池; 利用使用處理器和存儲(chǔ)器的第二調(diào)度器,自動(dòng)在所述第二池上調(diào)度所述作業(yè);以及 在所述第二池上啟動(dòng)所述作業(yè)。
8.如權(quán)利要求7所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述第一池和所述第二池是通過(guò)高等級(jí)位置服務(wù)選擇的,所述高等級(jí)位置服務(wù)與和所述第一調(diào)度器相關(guān)聯(lián)的任務(wù)位置服務(wù)通信并與和所述第二調(diào)度器相關(guān)聯(lián)的任務(wù)位置服務(wù)通信。
9.如權(quán)利要求7所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,與所述作業(yè)相關(guān)聯(lián)的任務(wù)的一部分遷移到所述第二池而與所述任務(wù)的另一部分繼續(xù)在所述第一池上被調(diào)度。
10.一種用于在分布式計(jì)算環(huán)境中提供資源的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括: 在任務(wù)位置服務(wù)處,從與所述分布式計(jì)算環(huán)境中的任務(wù)帳戶(hù)相關(guān)聯(lián)的用戶(hù)接收工作項(xiàng); 利用與所述任務(wù)位置服務(wù)相關(guān)聯(lián)的池服務(wù)器,將所述分布式計(jì)算環(huán)境的第一虛擬機(jī)自動(dòng)分配給第一池; 在所述第一池上調(diào)度第一作業(yè),其中所述第一作業(yè)包括與所述工作項(xiàng)相關(guān)聯(lián)的一個(gè)或多個(gè)任務(wù);基于所述第一池的負(fù)載平衡評(píng)估,自動(dòng)確定所述作業(yè)要遷移到所述分布式計(jì)算環(huán)境內(nèi)的第二池; 將與所述工作項(xiàng)相關(guān)聯(lián)的至少一個(gè)任務(wù)遷移到所述第二池;以及 在所述第二池的一個(gè)或多個(gè)資源上 調(diào)度所述至少一個(gè)任務(wù)。
【文檔編號(hào)】G06F15/16GK104040486SQ201380005092
【公開(kāi)日】2014年9月10日 申請(qǐng)日期:2013年1月7日 優(yōu)先權(quán)日:2012年1月9日
【發(fā)明者】B·G·卡爾德, J·王, V·貝德卡, S·桑卡蘭, M·米克尼特二世, P·K·貢達(dá), Y·張, S·安東尼, K·曼尼瓦納, A·E·紹爾斯沃德, H·卡特里 申請(qǐng)人:微軟公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
如东县| 无棣县| 白玉县| 墨江| 梧州市| 新晃| 济源市| 孟连| 辽中县| 灵川县| 临夏县| 祁连县| 洪洞县| 新民市| 修文县| 鄂尔多斯市| 兴安盟| 红原县| 涿鹿县| 海南省| 于都县| 体育| 天峻县| 昂仁县| 介休市| 子洲县| 长武县| 镇康县| 尤溪县| 聂拉木县| 通渭县| 湾仔区| 海林市| 玉溪市| 卢龙县| 休宁县| 福清市| 子长县| 永新县| 黄冈市| 综艺|