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

對虛擬機(jī)池中的資源的定價的制作方法

文檔序號:6532668閱讀:241來源:國知局
對虛擬機(jī)池中的資源的定價的制作方法
【專利摘要】本發(fā)明提供了用于經(jīng)由現(xiàn)貨定價過程來分派云計算環(huán)境中的資源的系統(tǒng)和方法。該現(xiàn)貨定價過程允許基于與池相關(guān)聯(lián)的投標(biāo)以可搶占的基礎(chǔ)向這些池分派虛擬機(jī)。可使用這些投標(biāo)來確定針對可搶占虛擬機(jī)的分派的價格。隨后,至少部分地基于與所確定的價格有關(guān)的所提交投標(biāo)來將各可搶占虛擬機(jī)分派給池。
【專利說明】對虛擬機(jī)池中的資源的定價
[0001] 背景
[0002] 用于執(zhí)行大規(guī)模計算作業(yè)的常規(guī)方法通常涉及用戶購買計算機(jī)硬件來用作計算 平臺。這可導(dǎo)致各種低效,因為許多典型用戶具有峰值水平的計算需求,該計算需求不同于 對計算資源的常規(guī)需求。購買足夠的硬件以滿足峰值資源需求可導(dǎo)致對計算資源的低使用 率?;蛘?,使硬件與常規(guī)使用水平匹配可使得一些期望計算變得不切實際。最近,在處理速 度和網(wǎng)絡(luò)傳輸速度方面的改善已使得云計算環(huán)境變成本地計算平臺的可行替換。
[0003] 概述
[0004] 在各實施例中,提供了用于經(jīng)由現(xiàn)貨定價過程來分派云計算環(huán)境中的資源的系統(tǒng) 和方法。現(xiàn)貨定價過程允許基于與各池相關(guān)聯(lián)的投標(biāo)以可搶占的基礎(chǔ)向這些池分派虛擬 機(jī)。投標(biāo)可用于確定針對可搶占虛擬機(jī)的分派的價格。隨后可至少部分地基于所提交的與 所確定價格相關(guān)的投標(biāo)來向池分派可搶占虛擬機(jī)。
[0005] 提供本概述是為了以簡化的形式介紹將在以下【具體實施方式】中進(jìn)一步描述的概 念選擇。該概述不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或本質(zhì)特征,也不旨在獨立地用 于幫助確定所要求保護(hù)的主題的范圍。
[0006] 附圖簡述
[0007] 下面將參考附圖詳細(xì)描述本發(fā)明,其中:
[0008] 圖1示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0009] 圖2示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0010] 圖3示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0011] 圖4示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0012] 圖5示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0013] 圖6示意性地示出適于在實現(xiàn)云計算環(huán)境時使用的系統(tǒng)或組件的示例。
[0014] 圖7-11示意性地示出根據(jù)本發(fā)明的一實施例的管理云計算環(huán)境中的虛擬機(jī)的示 例。
[0015] 圖12示意性地示出適于執(zhí)行本發(fā)明的各實施例的計算設(shè)備。
[0016] 圖13-15示出根據(jù)本發(fā)明的過程流的示例。
[0017] 詳細(xì)描述
[0018] 概覽
[0019] 由于通過網(wǎng)絡(luò)的數(shù)據(jù)傳輸速度的增加和其他網(wǎng)絡(luò)特征的改善,越來越有可能在其 中計算資源分布在大型網(wǎng)絡(luò)上的環(huán)境中執(zhí)行大規(guī)模計算任務(wù)。處于第一位置的用戶可向計 算服務(wù)提交作業(yè)或計算任務(wù),并且使該任務(wù)在該用戶不直接知曉的計算機(jī)群組上執(zhí)行。用 于執(zhí)行該用戶任務(wù)的計算資源可分布在多個位置上。位于一個或多個位置的第一計算資源 群組可存儲用于執(zhí)行該用戶的計算任務(wù)的數(shù)據(jù)和其他信息,而位于相同位置或可能位于一 組不同的一個或多個位置的第二計算資源群組可被用于執(zhí)行該計算任務(wù)。
[0020] 對各種分布式計算資源的訪問允許用戶執(zhí)行作業(yè)任務(wù),而無需關(guān)心這些計算資源 位于何處。分布式資源還為用戶提供了擴(kuò)展(scale out)(或收縮(scale in))所使用的 資源量以便滿足計算任務(wù)的目標(biāo)(諸如用指定時間完成該計算任務(wù))的機(jī)會。然而,為用 戶提供這種靈活性對分布式計算資源的運營者(或擁有者)提出了許多挑戰(zhàn)。為了滿足需 求,分布式資源網(wǎng)絡(luò)的運營者將優(yōu)選地具有足夠多的可用資源來滿足在峰值需求時間的資 源請求。
[0021] 在峰值需求時具有足夠資源的云計算環(huán)境將可能至少在非峰值需求時段期間并 且可能在所有時間都具有多余的虛擬機(jī)可用。多余的虛擬機(jī)可表示允許基于用戶請求來擴(kuò) 展作業(yè)的虛擬機(jī)預(yù)留、對資源故障進(jìn)行補償?shù)奶摂M機(jī)預(yù)留、或僅峰值需求期間被使用但在 非峰值時并非作為專用資源被需要的虛擬機(jī)。拍賣機(jī)制可用于允許用戶為對這些多余的虛 擬機(jī)的臨時訪問進(jìn)行投標(biāo),而不是允許這些資源空閑。這向消費者提供了以較低成本對機(jī) 器的訪問,同時允許云計算運營商最大化滿足峰值需求和/或系統(tǒng)冗余要求所需的資源的 值。
[0022] 定義
[0023] "賬戶"是云計算環(huán)境內(nèi)的全局唯一標(biāo)識實體。在一實施例中,下面討論的所有資 源和任務(wù)均在一賬戶范圍內(nèi)。通常,用戶將在使用云計算系統(tǒng)的資源之前首先創(chuàng)建賬戶。在 創(chuàng)建賬戶之后,用戶可以使用該賬戶向該系統(tǒng)提交工作項并且基于這些工作項來管理用于 執(zhí)行作業(yè)的資源。
[0024] "工作項"是要在云計算環(huán)境中運行的作業(yè)的靜態(tài)表示。工作項可以指定作業(yè)的各 個方面,包括作業(yè)二進(jìn)制代碼、指向要處理的數(shù)據(jù)的指針、以及可任選的啟動用于執(zhí)行該作 業(yè)的任務(wù)的命令行。此外,工作項可以指定重現(xiàn)時間表、優(yōu)先級和約束。例如,工作項可指 定要在每天下午5點啟動。
[0025] "作業(yè)"是工作項的運行實例。作業(yè)包含攜手執(zhí)行分布式計算的任務(wù)集合。這些任 務(wù)可在云計算環(huán)境中的一個或多個虛擬機(jī)上運行。
[0026] "任務(wù)"是作業(yè)的基礎(chǔ)執(zhí)行單元。每個任務(wù)在一虛擬機(jī)上運行。用戶可以為每個任 務(wù)指定給命令行的附加輸入以及到輸入數(shù)據(jù)的指針。在任務(wù)的執(zhí)行過程期間,該任務(wù)可以 在其在執(zhí)行該任務(wù)的虛擬機(jī)上的工作目錄下創(chuàng)建文件的分層結(jié)構(gòu)(hierarchy)。
[0027] "作業(yè)管理器任務(wù)"(JM任務(wù))是作業(yè)中的特殊任務(wù)。作業(yè)管理器任務(wù)是可任選的, 因此一些作業(yè)可在不使用JM任務(wù)的情況下執(zhí)行。作業(yè)管理器任務(wù)可為作業(yè)內(nèi)的所有任務(wù) 提供單一控制指針,并且可被用作該作業(yè)的"主"任務(wù)。如果一作業(yè)具有JM任務(wù),則該系統(tǒng) 將該JM任務(wù)作為該作業(yè)的第一個任務(wù)啟動。該JM任務(wù)隨后可以向該作業(yè)提交更多任務(wù), 并且它可以監(jiān)視這些任務(wù)的進(jìn)程并且控制何時提交下一批次任務(wù)。以此方式,JM任務(wù)可以 協(xié)調(diào)對作業(yè)中的所有任務(wù)的調(diào)度并且管理各任務(wù)間的依賴關(guān)系。優(yōu)選地,如果該作業(yè)管理 器任務(wù)的節(jié)點或虛擬機(jī)發(fā)生故障,則可以自動在另一虛擬機(jī)上重啟該JM任務(wù),以便該JM任 務(wù)總是為該相應(yīng)作業(yè)而運行。此外,用戶可以向該系統(tǒng)指定:一旦該JM任務(wù)完成,該系統(tǒng)可 以終止相應(yīng)作業(yè)中的所有任務(wù)。
[0028] 虛擬機(jī)池和任務(wù)承租者
[0029] 虛擬機(jī)指的是處理能力的邏輯單元。虛擬機(jī)可與物理處理器具有一對一的對應(yīng)關(guān) 系,或者一虛擬機(jī)可對應(yīng)于多個處理器,或者虛擬機(jī)可表示在一個或多個處理器上的處理 時間的百分比。向池分派的虛擬機(jī)可在任何給定時間執(zhí)行針對該池的一個或多個任務(wù)。
[0030] 在各實施例中,可潛在地基于工作項來執(zhí)行作業(yè)的各虛擬機(jī)在使用之前與該工作 項的賬戶相關(guān)聯(lián)。"池"是虛擬機(jī)的邏輯群組。工作項總是具有至少一個相關(guān)聯(lián)的池來運 行與該工作項相對應(yīng)的(諸)作業(yè)。每個賬戶可創(chuàng)建該賬戶獲得訪問權(quán)的一個或多個池, 以供在執(zhí)行與該帳戶相關(guān)聯(lián)的工作項時使用。通常,賬戶對與該賬戶相關(guān)聯(lián)的各池具有排 他訪問權(quán)??稍谟脩籼峤还ぷ黜棔r創(chuàng)建池,或者可以將工作項與現(xiàn)有的池相關(guān)聯(lián)。池可被 系統(tǒng)自動創(chuàng)建以執(zhí)行作業(yè)。例如,在每天的特定時間運行的重現(xiàn)工作項可通過使池被自動 創(chuàng)建以在開始時間執(zhí)行該作業(yè)來處理。每天在完成該重現(xiàn)工作項之后可刪除該池??扇芜x 地,可關(guān)聯(lián)一池以與單個工作項、單個作業(yè)、或與一賬戶相對應(yīng)的工作項的另一子集一起使 用。
[0031] 當(dāng)用戶提交一工作項時,可將該工作項與一個或多個虛擬機(jī)池相關(guān)聯(lián)??梢园凑?任何方便的方式將各虛擬機(jī)組織在池內(nèi)。例如,無論虛擬機(jī)的底層處理器的地理位置如何, 都可以將所有虛擬機(jī)組織在單個池中。另一選項是基于地理位置來組織虛擬機(jī),使得池的 所有虛擬機(jī)均處于給定地理位置。又一選項是按照不同于地理位置的基礎(chǔ)來組織虛擬機(jī), 諸如對其他變量(例如,存儲資源、網(wǎng)絡(luò)等待時間、用戶位置/偏好、安全性要求)的接近 度。又一選項是在創(chuàng)建工作項或作業(yè)時自動創(chuàng)建池,并且隨后在該工作項或作業(yè)結(jié)束時拆 卸該池。
[0032] 虛擬機(jī)池表示一種用于組織虛擬機(jī)的方法。虛擬機(jī)的另一組織單元是虛擬機(jī)群 集。虛擬機(jī)群集表示由云環(huán)境中的過程(例如任務(wù)承租者過程)一起管理的虛擬機(jī)群組。 虛擬機(jī)群集中的虛擬機(jī)可對應(yīng)于以方便的方式分組在一起的物理機(jī)。例如,虛擬機(jī)群集可 對應(yīng)于位于同一地理區(qū)(諸如,位于美國或美國東北部)的物理機(jī)群組;位于同一通用位置 (諸如,位于像西雅圖或圣地亞哥郡等城市或大都市區(qū)域)的物理機(jī)群組;或位于同一特定 位置(諸如位于形成計算或數(shù)據(jù)中心的一個或多個連接的或附近的建筑)的物理機(jī)群組。 另一選項是基于具有有利數(shù)據(jù)傳輸速率的物理機(jī)群組用云環(huán)境中的特定存儲部分形成虛 擬機(jī)群集。又一選項是基于處于給定位置的物理機(jī)來形成多個虛擬機(jī)群集。虛擬機(jī)池可跨 越多個虛擬機(jī)群集。用于管理虛擬機(jī)群集(諸如任務(wù)承租者)的過程可分派和取消分派虛 擬機(jī)池中的各虛擬機(jī)。任務(wù)承租者(或用于管理虛擬機(jī)群集的其他過程)也可基于與向群 集內(nèi)的虛擬機(jī)分派的池相對應(yīng)的作業(yè)隊列來調(diào)度該虛擬機(jī)上的任務(wù)。當(dāng)任務(wù)承租者需要附 加的機(jī)器以便向虛擬機(jī)池分派足夠的數(shù)目時,該任務(wù)承租者可以從通用云計算環(huán)境獲得附 加虛擬機(jī)。類似地,如果任務(wù)承租者具有多余的虛擬機(jī),則該任務(wù)承租者向通用云計算環(huán)境 返回這些多余的機(jī)器。
[0033] 專用、備用、和可搶占(preemptible)機(jī)器
[0034] 在將虛擬機(jī)分派給池時,可將該虛擬機(jī)作為兩個類型之一來分派??蓪⒃撎摂M機(jī) 作為專用虛擬機(jī)或可搶占虛擬機(jī)分派給該池。當(dāng)虛擬機(jī)處于池中時,該虛擬機(jī)作為專用還 是可搶占的狀態(tài)也可以變化。"專用"虛擬機(jī)是被分派給池的供被分派給該池的工作項/作 業(yè)專門使用的機(jī)器。任選地,專用虛擬機(jī)可被分配以供一個或多個相關(guān)聯(lián)的工作項專門使 用,而不是一般性地可用于被提交給池的任何作業(yè)。在虛擬機(jī)具有專用狀態(tài)時,該虛擬機(jī)被 預(yù)留以供與該池相關(guān)聯(lián)的賬戶使用。不向?qū)S脵C(jī)器提供來自其他賬戶的資源,并且專用機(jī) 器不會代表其他賬戶執(zhí)行作業(yè)。
[0035] "可搶占"虛擬機(jī)是當(dāng)前正代表帳戶執(zhí)行池中的任務(wù)、但是不保證該虛擬機(jī)將持續(xù) 對該池可用的虛擬機(jī)。當(dāng)可搶占虛擬機(jī)變得對池可用時,將該可搶占機(jī)器添加到那個池中。 隨后可提供該可搶占機(jī)器,并使用該可搶占機(jī)器來執(zhí)行該池的作業(yè)。該可搶占機(jī)器可通過 任何方便的方法而變得對該池可用,諸如通過(代表相應(yīng)帳戶)使該池在資源拍賣中贏得 在該可搶占虛擬機(jī)上的處理時間。
[0036] 分派專用虛擬機(jī)和可搶占虛擬機(jī)的附加因素是對虛擬機(jī)的請求是否包括對特定 虛擬機(jī)群集的親和力。對一虛擬機(jī)群集的親和力可基于各種理由。對虛擬機(jī)群集的親和力 的請求的一個示例由具有以下虛擬機(jī)的期望和需要引起:該虛擬機(jī)具有對用于將在虛擬機(jī) 上執(zhí)行的作業(yè)的數(shù)據(jù)存儲的改善的訪問(例如,高數(shù)據(jù)傳輸速度)。對于這種類型的存儲親 和力,該親和力請求可指定對一個或多個虛擬機(jī)群集中具有對數(shù)據(jù)的所需訪問的虛擬機(jī)的 分派。這可表示例如與具有到數(shù)據(jù)存儲中心的所需物理數(shù)據(jù)連接的物理機(jī)相對應(yīng)的虛擬機(jī) 群組。另一類型的親和力是作業(yè)親和力。由虛擬機(jī)執(zhí)行的一些類型的作業(yè)可涉及各虛擬機(jī) 之間對相同或類似作業(yè)起作用的大量通信。在作業(yè)親和力場合中,使對某作業(yè)起作用的所 有虛擬機(jī)都位于單個虛擬機(jī)群集(或其他虛擬機(jī)組織單元)中以便促成在這些虛擬機(jī)之間 的消息傳遞可能是有利的。從單個虛擬機(jī)群集選擇虛擬機(jī)可對應(yīng)于選擇與同一地理位置中 的物理機(jī)相對應(yīng)的虛擬機(jī)。
[0037] 變得可用于作為可搶占虛擬機(jī)用于一賬戶的虛擬機(jī)通常將是云計算環(huán)境中具有 另一目的的虛擬機(jī)。例如,可搶占虛擬機(jī)的一個來源是云計算環(huán)境所有者/運營者出于災(zāi) 難恢復(fù)目的而提供的虛擬機(jī)。為了提供穩(wěn)定操作,云計算環(huán)境可包括被預(yù)留的一組或多組 虛擬機(jī)。這些預(yù)留虛擬機(jī)可用于取代由于處理器故障、網(wǎng)絡(luò)故障、或?qū)е略骗h(huán)境的一部分不 再適于執(zhí)行作業(yè)的任何其他種類的事件而失去的資源。當(dāng)被分配給一池的一個或多個專用 虛擬機(jī)由于一事件而被失去時,可使用預(yù)留的虛擬機(jī)來取代該失去的虛擬機(jī)。這改善了云 計算環(huán)境中的資源的可用性。然而,由于期望故障事件是稀少的,因此預(yù)留災(zāi)難恢復(fù)機(jī)器通 常將意味著大量虛擬機(jī)空閑并等待被使用??蓪⑦@些虛擬機(jī)的被指定用于處理故障事件的 (PU循環(huán)周期作為可搶占虛擬機(jī)分派給各池以運行工作項/作業(yè),而不是浪費這些虛擬機(jī) 的CPU循環(huán)周期。如果故障發(fā)生并且該系統(tǒng)需要撤走可搶占資源以滿足專用資源的要求, 則在這種虛擬機(jī)上運行的可搶占作業(yè)在行得通時就將被停止(并且可能立即被停止),以 便該可占用虛擬機(jī)可被用于其取代失去或故障資源的原始目的。
[0038] 可搶占機(jī)器的另一來源是能力多余的虛擬機(jī)。通常,任何網(wǎng)絡(luò)的峰值負(fù)載將不同 于平均負(fù)載。結(jié)果是,具有足夠資源來處理峰值負(fù)載情形的計算環(huán)境在其他時間通常將具 有多余的資源可用。這些多余資源提供了資源緩沖。當(dāng)用戶作出對附加專用虛擬機(jī)的請求 時,多余的虛擬機(jī)可用于滿足用戶的請求。當(dāng)云計算環(huán)境具有小于專用機(jī)器的峰值負(fù)載的 負(fù)載時,一個或多個虛擬機(jī)將空閑??稍趽屨蓟A(chǔ)上將這些虛擬機(jī)的被指定用于提供空閑 能力的CPU循環(huán)周期分派給用戶和池,而不是浪費這些虛擬機(jī)的CPU循環(huán)周期。隨著對專 用虛擬機(jī)的請求的負(fù)載的增加,在這些多余虛擬機(jī)上運行的可搶占作業(yè)一行得通就將被停 止(并且可能被立即停止)。這允許可搶占虛擬機(jī)被用于其在需要時提供附加專用資源的 原始目的。附加地或替代地,專用機(jī)器的負(fù)載方面的一些增加將由所排定的對專用機(jī)器的 請求引起。如果虛擬機(jī)將由于在經(jīng)排定的時間被用作專用機(jī)器而變得不可用,則被分配給 該虛擬機(jī)的可搶占作業(yè)可在該經(jīng)排定的時間之前被停止以便允許從該可搶占作業(yè)到專用 資源的有序轉(zhuǎn)變。
[0039] 在一些情形中,用戶可能期望在某個將來時間具有對更大量的專用機(jī)器的訪問 權(quán)。在該情形下,用戶可將一個或多個虛擬機(jī)作為備用虛擬機(jī)來預(yù)留。"備用"的虛擬機(jī)預(yù) 留是與一池或賬戶相關(guān)聯(lián)的、供要分派給該池或賬戶的虛擬機(jī)在將來的某時使用的預(yù)留。 提供虛擬機(jī)以供使用可能僅意味著在云計算環(huán)境中標(biāo)識和/或預(yù)留足夠的虛擬機(jī)資源,使 得虛擬機(jī)資源在被請求時將可用于轉(zhuǎn)換成專用虛擬機(jī)。任選地,提供備用機(jī)器還可包括向 虛擬機(jī)提供數(shù)據(jù)、可執(zhí)行代碼或其組合。
[0040] 備用虛擬機(jī)預(yù)留不是對虛擬機(jī)的分配或分派。相反,備用虛擬機(jī)預(yù)留會預(yù)留在將 來使空閑或可搶占虛擬機(jī)轉(zhuǎn)換成向與該備用預(yù)留相關(guān)聯(lián)的用戶或池分派的專用虛擬機(jī)的 權(quán)力??蓳屨甲鳂I(yè)可以是與關(guān)聯(lián)于備用預(yù)留的池或賬戶、另一不同的池、或另一不同的賬戶 相關(guān)聯(lián)的作業(yè)。當(dāng)備用預(yù)留由池或賬戶作出時,不將來自虛擬機(jī)群集的虛擬機(jī)分派給該池 或賬戶。相反,保持與該虛擬機(jī)群集相對應(yīng)的備用預(yù)留的數(shù)目的計數(shù),使得足夠數(shù)目的空閑 或可搶占虛擬機(jī)可用于滿足與該虛擬機(jī)群集相對應(yīng)的備用預(yù)留。
[0041] 虛擬機(jī)備用預(yù)留可出于各種理由而與池相關(guān)聯(lián)。備用機(jī)器預(yù)留的一個用途針對具 有僅在特定時間幀期間發(fā)生的高優(yōu)先級計算作業(yè)的用戶。例如,金融公司可能希望對一個 或多個金融市場的日?;顒樱ㄖT如股票交易或商品交易)執(zhí)行分析。金融市場可能按明確 的時間表開市和閉市,諸如在上午9:30開市并在下午4:00閉市。金融公司想要在金融市場 開市的時間聚集數(shù)據(jù)以用于執(zhí)行分析或模擬。分析的目標(biāo)是在下一天市場開始之前為他們 的員工提供信息。這種分析可能需要大量的虛擬機(jī),但是虛擬機(jī)僅在例如從下午6:00直到 第二天早晨3:30的時間之間被需要。在此時間期間,金融公司期望保證虛擬機(jī)的可用性。 在當(dāng)天的其他時間,該金融公司不需要這些機(jī)器。將虛擬機(jī)預(yù)留與金融公司的賬戶關(guān)聯(lián)可 以實現(xiàn)這一目標(biāo)。作為支付預(yù)留價格的交換,向金融公司保證機(jī)器在所需時間期間的可用 性。在所需時間窗口之外,這些虛擬機(jī)可用作該金融公司和/或其他用戶的可搶占機(jī)器。 [0042] 備用預(yù)留可用于根據(jù)基于時間的標(biāo)準(zhǔn)或基于負(fù)載的標(biāo)準(zhǔn)將空閑或可搶占虛擬機(jī) 轉(zhuǎn)換成向?qū)?yīng)于用戶的池分派的專用機(jī)器。在某些情形下,備用預(yù)留可導(dǎo)致至少部分地基 于預(yù)定的時間和/或日期將空閑或可搶占虛擬機(jī)轉(zhuǎn)換成專用虛擬機(jī)。在這樣的情形下,基 于備用預(yù)留將可搶占虛擬機(jī)轉(zhuǎn)換成專用虛擬機(jī)可在排定的可用性事件之前按有序方式停 止。這被定義成具有基于時間的標(biāo)準(zhǔn)的備用預(yù)留。基于時間的標(biāo)準(zhǔn)不同于基于負(fù)載的標(biāo) 準(zhǔn),基于負(fù)載的標(biāo)準(zhǔn)被用于定義基于負(fù)載的閾值。基于負(fù)載的閾值對應(yīng)于基于一個或多個 云資源的使用和/或性能的閾值。優(yōu)選地,基于負(fù)載的閾值不包括對基于時間的標(biāo)準(zhǔn)的使 用。除了基于時間的標(biāo)準(zhǔn)和基于負(fù)載的標(biāo)準(zhǔn)以外,將對應(yīng)于備用預(yù)留的一個或多個虛擬機(jī) 轉(zhuǎn)換成專用虛擬機(jī)的又一選項是基于來自用戶或系統(tǒng)管理員的請求。
[0043] 備用留的另一用途是允許在擴(kuò)展作業(yè)時的改善的性能。例如,零售商店可以使用 云計算資源來在假日之前處理購物季期間的附加在線流量,諸如用于瀏覽零售商的網(wǎng)站并 下訂單的在線流量。基于過去的經(jīng)驗,零售商期望一定水平的在線活動,并且預(yù)留相應(yīng)數(shù)量 的專用虛擬機(jī)。然而,在在線活動大于預(yù)期的情況下,零售商還經(jīng)由備用預(yù)留來預(yù)留附加的 機(jī)器。零售商隨后可以設(shè)置一個或多個閾值,該一個或多個閾值指示高于預(yù)期的活動水平。 隨著這些閾值的出現(xiàn),可使用備用預(yù)留來將空閑或可搶占虛擬機(jī)轉(zhuǎn)換成專用機(jī)器以允許零 售商處理此附加在線流量,而無需使零售商的顧客經(jīng)歷慢響應(yīng)時間。在此情形中,備用預(yù)留 可在不可預(yù)測的時間被轉(zhuǎn)換為專用機(jī)器,因為它可能不知道活動閾值何時將被滿足。當(dāng)活 動閾值被滿足時,空閑或可搶占虛擬機(jī)被轉(zhuǎn)換成向與備用預(yù)留相關(guān)聯(lián)的池分派的專用虛擬 機(jī)。如果可搶占任務(wù)在轉(zhuǎn)換之前正在虛擬機(jī)上運行,則該可搶占任務(wù)在將該虛擬機(jī)轉(zhuǎn)換成 專用機(jī)器之前被停止??扇芜x地,活動閾值不包括基于時間的標(biāo)準(zhǔn)。
[0044] 基于現(xiàn)貨定價來分派可搶占機(jī)器
[0045] 云計算環(huán)境中未作為專用機(jī)器與池相關(guān)聯(lián)的任何虛擬機(jī)都潛在地可用于經(jīng)由現(xiàn) 貨定價來進(jìn)行分派。因此,這些可用于經(jīng)由現(xiàn)貨定價來進(jìn)行分派的虛擬機(jī)可包括當(dāng)前正在 運行可搶占作業(yè)的虛擬機(jī)、供在災(zāi)難恢復(fù)時使用的虛擬機(jī)、或任何其他多余或空閑的虛擬 機(jī)??捎糜谧鳛榭蓳屨继摂M機(jī)來進(jìn)行分派的多余或空閑虛擬機(jī)可包括滿足虛擬機(jī)群集的備 用預(yù)留計數(shù)所需的空閑虛擬機(jī)。
[0046] 為了經(jīng)由現(xiàn)貨定價獲得虛擬機(jī),針對與賬戶相關(guān)聯(lián)的池的規(guī)范可包括所需的多個 可搶占虛擬機(jī)的規(guī)范。通常,該規(guī)范進(jìn)一步包括該賬戶的用戶為了獲得一個或多個可搶占 虛擬機(jī)而愿意支付的投標(biāo)或價格。針對池的規(guī)范不限于該投標(biāo)數(shù)目。例如,池規(guī)范可包括 滑動級別的投標(biāo),其中第一(較高的)投標(biāo)被提供以獲得兩個可搶占虛擬機(jī),第二(中間范 圍的)投標(biāo)被提供以獲得三個附加的可搶占虛擬機(jī),以及第三(較低的)投標(biāo)被提供以獲 得最后的兩個可搶占虛擬機(jī)。取決于該現(xiàn)貨價格,這樣的投標(biāo)模式可導(dǎo)致向用戶分派零個、 兩個、五個、或七個可搶占虛擬機(jī)。
[0047] 經(jīng)由現(xiàn)貨定價來分派可搶占機(jī)器可周期性地發(fā)生,其中每一分派導(dǎo)致在分派時間 段內(nèi)分派可搶占機(jī)器。優(yōu)選地,各分派時間段可以是連續(xù)的,使得一個分派時間段的結(jié)束對 應(yīng)于下一分派時間段的開始。通常,在每一分派時間段的開始處或附近重新計算現(xiàn)貨價格。 現(xiàn)貨價格在分派時間段期間保持不變。
[0048] 池可在任何時間提交針對可搶占虛擬機(jī)的投標(biāo)。然而,不保證高于該現(xiàn)貨價格的 投標(biāo)將立即導(dǎo)致基于該投標(biāo)對可搶占機(jī)器的分派。如果池已提交了高于現(xiàn)貨價格的投標(biāo) 并且有足夠的虛擬機(jī)可用,則將在不晚于下一分派時間段的開始處分派所請求的可搶占虛 擬機(jī)。如果對可搶占虛擬機(jī)的投標(biāo)是在某分派時間段期間提交的,則僅在有多余的虛擬機(jī) 可用的情況下,可立即分派機(jī)器。尤其地,具有較低投標(biāo)的池可能已經(jīng)被分派了可搶占虛擬 機(jī)。來自另一池的較高投標(biāo)可在分派時間段的開始處而非在中間時間處取代該較低投標(biāo)。 被分派了可搶占虛擬機(jī)的賬戶可僅僅由于該虛擬機(jī)被需要用于非搶占目的(諸如轉(zhuǎn)換成 專用機(jī)器或用作災(zāi)難恢復(fù)機(jī)器)而在分派時間段的中間部分期間失去該虛擬機(jī)。
[0049] 各分派時間段的長度可被設(shè)置成任何方便的值。例如,分派時間段可為至少約15 分鐘、或至少約30分鐘、或另一方便的間隔??扇芜x地,分派時間段可在需要的情況下在一 天的整個過程中變化,或者該時間段可在工作日對周末上改變,或者可引入該時段中的任 何其他變化。優(yōu)選地,分派時間段可在預(yù)定時間(諸如每半個小時)開始。
[0050] 用于確定可搶占虛擬機(jī)的現(xiàn)貨價格的一個選項是確定全局現(xiàn)貨價格。為了確定全 局現(xiàn)貨價格,聚集來自云計算環(huán)境中的所有機(jī)器池的投標(biāo)。隨后將該現(xiàn)貨價格與在分派時 間段的開始處可用的虛擬機(jī)的總數(shù)進(jìn)行比較。該現(xiàn)貨價格可隨后被設(shè)置成對于至少為大于 該現(xiàn)貨價格的所有投標(biāo)分派可搶占機(jī)器而言所必需的全局價格。如果較大數(shù)目的投標(biāo)處于 分派機(jī)器的臨界點,則僅部分滿足處于現(xiàn)貨價格的那些投標(biāo),可以以任何方便的方式處理 處于市場出清價格的那些投標(biāo)。例如,現(xiàn)貨價格可被設(shè)置為處于次高投標(biāo),使得向處于或大 于該現(xiàn)貨價格的所有投標(biāo)授權(quán)所請求數(shù)目的可搶占機(jī)器。或者,現(xiàn)貨價格可被設(shè)置為等于 市場出清價格,其中處于市場出清價格的各投標(biāo)潛在地接收僅一部分所請求的機(jī)器。
[0051] 雖然現(xiàn)貨價格被全局地設(shè)置,但對可搶占虛擬機(jī)的分派被局部地處理,諸如在任 務(wù)承租者層級和/或在虛擬機(jī)池群組層級處被處理。例如,全局確定的現(xiàn)貨價格可被分發(fā) 給任務(wù)承租者。各任務(wù)承租者可隨后將在各自任務(wù)承租者內(nèi)的可用虛擬機(jī)分派給由該任務(wù) 承租者服務(wù)的機(jī)器池。這些分派可通過以下開始:履行來自該承租者內(nèi)的池的最高投標(biāo),隨 后履行次高投標(biāo),并以此類推。該過程可繼續(xù)直到?jīng)]有更多高于該現(xiàn)貨價格的投標(biāo)可用,或 直到該任務(wù)承租者內(nèi)沒有更多虛擬機(jī)可用于作為可搶占虛擬機(jī)來分派。
[0052] 在一些情形中,在全局投標(biāo)被計算的時間和發(fā)生對可搶占虛擬機(jī)的分派的時間之 間可用的可搶占虛擬機(jī)資源的數(shù)目可改變。如果發(fā)生這種情況,則虛擬機(jī)群集(諸如,由任 務(wù)承租者管理的那些機(jī)器)可能不具有足夠的虛擬機(jī)來為高于該現(xiàn)貨價格的所有投標(biāo)分 派可搶占虛擬機(jī)。在這種情形下,任務(wù)承租者可任選地嘗試添加更多虛擬機(jī)。如果在云計 算環(huán)境內(nèi)有不與另一任務(wù)承租者相關(guān)聯(lián)的任何多余虛擬機(jī)可用,則這些多余的虛擬機(jī)可被 添加并使用來以高于現(xiàn)貨價格的投標(biāo)履行對可搶占虛擬機(jī)的附加請求。然而,適于并入給 定虛擬機(jī)群集的各附加虛擬機(jī)可能并不可用,諸如由于缺少對存儲區(qū)域具有類似訪問的附 加虛擬機(jī)和/或缺少處于相同地理位置的附加虛擬機(jī)。
[0053] 也有可能任務(wù)承租者將具有比滿足大于現(xiàn)貨價格的所有投標(biāo)所需的更多的可搶 占虛擬機(jī)。再次,以投標(biāo)的次序?qū)⒖蓳屨继摂M機(jī)分派給虛擬機(jī)池。在滿足了高于現(xiàn)貨價格 的所有投標(biāo)后,任務(wù)承租者可能仍有附加的可搶占虛擬機(jī)剩下。這可指示該任務(wù)承租者應(yīng) 向通用云計算環(huán)境返回一些虛擬機(jī)以供重新分派給其他任務(wù)承租者。即使有附加可搶占虛 擬機(jī)可用,低于現(xiàn)貨價格的投標(biāo)仍不會收到可搶占虛擬機(jī)。
[0054] 在將可搶占虛擬機(jī)分派給虛擬機(jī)池后,該可搶占虛擬機(jī)保持被分派給該池,要么 直到下一次拍賣,要么直到該虛擬機(jī)被需要用于搶占當(dāng)前使用的另一目的。搶占臨時使用 的使用示例包括將該虛擬機(jī)轉(zhuǎn)換成專用機(jī)器的需要,或?qū)⒃撎摂M機(jī)用于災(zāi)難恢復(fù)的需要。 當(dāng)可搶占虛擬機(jī)被搶占時,任務(wù)承租者可按從最低投標(biāo)到最高投標(biāo)的次序來搶占適合的虛 擬機(jī)。在標(biāo)識可搶占虛擬機(jī)以供搶占時可考慮的另一因素是作業(yè)已在該可搶占虛擬機(jī)上運 行的時間長度。與已運行達(dá)多個分派時間段的作業(yè)相比,剛開始的作業(yè)是搶占的更好選擇。 這種類型的因素可例如用作針對基于相同投標(biāo)價值來分派的可搶占作業(yè)的附加考慮。在各 個實施例中,如果向賬戶分派的虛擬機(jī)在分派時間段期間被搶占,則不針對該分派時間段 向該賬戶收費。然而,如果可搶占虛擬機(jī)是在分派時間段期間自愿釋放的,則針對該時間段 被使用的部分向該賬戶收費。
[0055] 分布式網(wǎng)絡(luò)環(huán)境中的計算資源的組織的示例
[0056] 云計算環(huán)境的用戶通常希望使用云計算資源來執(zhí)行作業(yè)。這些作業(yè)通常涉及基于 存儲在可經(jīng)由云計算環(huán)境來訪問的各位置中的數(shù)據(jù)執(zhí)行作業(yè)。運營商提供云計算環(huán)境的一 種方式是將該環(huán)境作為多個層來提供。圖1示意性地示出適于執(zhí)行云計算環(huán)境中的任務(wù)的 系統(tǒng)的示例。圖1中的系統(tǒng)包括任務(wù)運行時層110、第三方任務(wù)運行時層120、資源管理層 130以及調(diào)度和執(zhí)行層140。
[0057] 在圖1中示出的實施例中,任務(wù)運行時層110負(fù)責(zé)為來自用戶105的任務(wù)設(shè)置執(zhí) 行環(huán)境以及安全上下文。任務(wù)運行時層110還可啟動任務(wù)并監(jiān)視任務(wù)的狀態(tài)。任務(wù)運行時 層110可采用在每個虛擬機(jī)上運行的系統(tǒng)代理的形式。該任務(wù)運行時層還可包括鏈接到用 戶的任務(wù)可執(zhí)行代碼的運行時庫。具有作為任務(wù)運行時層110的一部分的運行時庫可潛在 地向由該系統(tǒng)代理執(zhí)行的任務(wù)提供更豐富的能力。運行時庫的示例包括:用于允許任務(wù)間 的快速通信的一個或多個高效通信庫;用于從其他虛擬機(jī)和/或其他任務(wù)讀取文件的高效 遠(yuǎn)程文件訪問庫支持;用于允許任務(wù)進(jìn)行檢查點(例如,進(jìn)入到二進(jìn)制大對象中)和恢復(fù)的 檢查點庫;日志記錄庫;以及用于提供跨虛擬機(jī)池內(nèi)執(zhí)行給定任務(wù)的各虛擬機(jī)使用的分布 式文件系統(tǒng)的庫。
[0058] 第三方任務(wù)運行時層120允許附加的運行時被構(gòu)建在任務(wù)運行時層110之上并任 務(wù)運行時層110之上運行。第三方任務(wù)運行時層120還可提供用于協(xié)調(diào)作業(yè)的各任務(wù)的運 行的附加能力。示例可包括屬于用于提供跨虛擬機(jī)池內(nèi)執(zhí)行給定任務(wù)的各虛擬機(jī)使用的分 布式文件系統(tǒng)的庫的MapReduce (映射減少)運行時。這允許用戶按針對用戶的作業(yè)或任 務(wù)定制的方式組織云計算環(huán)境。在一些實施例中,作業(yè)管理器任務(wù)可促成允許用戶使用第 三方運行時層來運行和/或控制云計算資源。
[0059] 資源管理層130涉及管理云計算環(huán)境中可用的計算資源。一個選項是使資源管理 層130以三個不同的層級管理這些資源。在第一層級,資源管理層130管理與作業(yè)(S卩,工 作項的執(zhí)行)相關(guān)聯(lián)的虛擬機(jī)的分配和解除分配以及存儲在每個虛擬機(jī)上的與任務(wù)相關(guān) 聯(lián)的文件。在第二層級,將與作業(yè)相關(guān)聯(lián)的虛擬機(jī)分組成各機(jī)器池。池可包含與一個或多 個作業(yè)和/或工作項相關(guān)聯(lián)的虛擬機(jī)。取決于該實施例,單個池可跨越多個虛擬機(jī)群集,諸 如一數(shù)據(jù)中心中的所有虛擬機(jī)群集、跨一地理區(qū)中的多個數(shù)據(jù)中心的多個虛擬機(jī)群集,或 跨多個地理區(qū)中的各數(shù)據(jù)中心的多個虛擬機(jī)群集。單個池可包含大量虛擬機(jī),諸如數(shù)百萬 的虛擬機(jī)。這些虛擬機(jī)可被包含在大量池中,諸如多達(dá)數(shù)十億個池中。在第三層級,資源管 理層管理給定池群組中可用于與各作業(yè)或工作項關(guān)聯(lián)的虛擬機(jī)的量。這允許對基于系統(tǒng)的 當(dāng)前負(fù)載使用的計算資源的量進(jìn)行動態(tài)調(diào)整。此外,未被當(dāng)前池群組使用的虛擬機(jī)可被釋 放回云計算環(huán)境以供并入其他池群組。
[0060] 在圖1中示出的實施例中,調(diào)度和執(zhí)行層140管理用戶正執(zhí)行的工作項、作業(yè)和任 務(wù)。調(diào)度和執(zhí)行層140作出調(diào)度決策并且負(fù)責(zé)啟動作業(yè)和任務(wù)以及在故障時重試。這種調(diào) 度和執(zhí)行層140可包括用于管理各個層的作業(yè)和/或任務(wù)的組件。
[0061] 以上描述的層可以在多個地理位置處包括處理器的云計算環(huán)境中。圖2示意性地 示出不同位置處的處理器可如何被集成在單個云計算架構(gòu)中的示例。
[0062] 在圖2中,一個或多個任務(wù)承租者215可被用來管理虛擬機(jī)池。任務(wù)承租者215 可維持一組虛擬機(jī)。一個或多個用戶的作業(yè)可在任務(wù)承租者215內(nèi)作為一個或多個虛擬機(jī) 池的一部分的各虛擬機(jī)上運行。一個或多個任務(wù)承租者215可在給定地理區(qū)中使用。任務(wù) 承租者215的責(zé)任可包括維護(hù)該組虛擬機(jī)并基于該任務(wù)承租者內(nèi)的資源利用來動態(tài)地增 長或收縮該任務(wù)承租者。這允許任務(wù)承租者215增加任務(wù)承租者內(nèi)的虛擬機(jī)的數(shù)量以便容 納增加的顧客需求。這還允許任務(wù)承租者215釋放未使用的虛擬機(jī),以便能將這些虛擬機(jī) 分配給數(shù)據(jù)中心中的處理其他顧客的服務(wù)的其他托管服務(wù)。任務(wù)承租者215的另一責(zé)任可 以是實現(xiàn)池分配/解除分配/管理邏輯的一部分。這允許任務(wù)承租者215參與確定如何將 虛擬機(jī)分派給與顧客的任務(wù)相關(guān)聯(lián)的池。任務(wù)承租者215還可負(fù)責(zé)各任務(wù)在該任務(wù)承租者 內(nèi)的各虛擬機(jī)上的調(diào)度和執(zhí)行。
[0063] 在圖2的實施例中,提供了控制多個任務(wù)承租者215的一個或多個任務(wù)位置服務(wù) 225。此多個任務(wù)承租者可對應(yīng)于給定地理區(qū)中的所有任務(wù)承租者、來自整個世界的各個任 務(wù)承租者、或任務(wù)承租者的任何其他方便的分組。在圖2中,示出了服務(wù)于被標(biāo)記為"美國 北部"和"美國南部"的區(qū)域的任務(wù)位置服務(wù)225。任務(wù)位置服務(wù)225的責(zé)任可包括管理該 給定地理區(qū)的任務(wù)賬戶。任務(wù)位置服務(wù)225還可提供應(yīng)用編程接口(API)以便允許用戶與 該云計算環(huán)境交互。這些API可包括與虛擬機(jī)池、池管理邏輯、以及跨給定地理區(qū)域中的任 務(wù)承租者協(xié)調(diào)池管理邏輯相關(guān)聯(lián)的處理API。這些API還可包括用于處理用戶所提交的任 務(wù)、以及用于維護(hù)、調(diào)度以及終止與該用戶任務(wù)相關(guān)聯(lián)的工作項或作業(yè)的API。這些API可 進(jìn)一步包括用于對地理區(qū)中的所有工作項、作業(yè)、任務(wù)和池進(jìn)行統(tǒng)計數(shù)據(jù)收集、聚合和報告 的API。此外,這些API可包括用于允許基于虛擬機(jī)的現(xiàn)貨市場短期地將可用虛擬機(jī)作為可 搶占虛擬機(jī)向用戶拍賣的API。這些API還可包括用于計量使用并且提供計費支持的API。
[0064] 這些任務(wù)位置服務(wù)225可被全局位置服務(wù)235鏈接在一起。全局位置服務(wù)235可 負(fù)責(zé)賬戶創(chuàng)建和賬戶管理,包括結(jié)合任務(wù)位置服務(wù)承租者225來管理任務(wù)賬戶。這包括在 存在主要數(shù)據(jù)中心災(zāi)難的情況下,負(fù)責(zé)災(zāi)難恢復(fù)并負(fù)責(zé)工作項和作業(yè)的可用性。這可包括 由于數(shù)據(jù)中心因任何原因不可用而在不同的位置運行工作項或作業(yè)。這還可包括允許顧客 將他們的工作項、作業(yè)和此從一個數(shù)據(jù)中心遷移到另一數(shù)據(jù)中心。通常,將僅存在一個活躍 的全局位置服務(wù)235。該活躍全局位置服務(wù)235與各個任務(wù)位置服務(wù)225以及各用于管理 數(shù)據(jù)存儲的服務(wù)組件(未示出)通信。全局位置服務(wù)可維護(hù)全局賬戶命名空間237。
[0065] 作為圖2中的系統(tǒng)的操作的示例,假想的顧客或用戶217可經(jīng)由全局位置服務(wù)235 所提供的接口來創(chuàng)建任務(wù)賬戶。在此示例中,該假想的顧客被稱為Sally。創(chuàng)建任務(wù)賬戶的 用戶請求可任選地指定需要在其中創(chuàng)建賬戶的地理區(qū)域。在該示例中,Sally請求于美國 北部區(qū)域相關(guān)聯(lián)的賬戶。作為響應(yīng),全局位置服務(wù)235聯(lián)系與所請求的地理區(qū)域(例如,美 國北部)相對應(yīng)的任務(wù)位置服務(wù)225創(chuàng)建該賬戶。如果區(qū)域未被請求,則該任務(wù)賬戶可在 用任何方便的方法(諸如基于與請求用戶相關(guān)聯(lián)的位置)選擇的區(qū)域中創(chuàng)建。全局位置服 務(wù)235還聯(lián)系至少另一區(qū)域(諸如美國南部),使得該賬戶的災(zāi)難恢復(fù)副本被創(chuàng)建。可任 選地,Sally可請求將美國南部用作災(zāi)難恢復(fù)的故障轉(zhuǎn)移區(qū)域,或者美國南部可被該系統(tǒng)用 任何方便的方法自動分派。任務(wù)位置服務(wù)225為處于其地理區(qū)域中的所有賬戶維護(hù)所有信 息。當(dāng)成功地在針對美國北部和美國南部的任務(wù)位置服務(wù)225中創(chuàng)建了賬戶后,全局位置 服務(wù)235為Sally的賬戶注冊指向針對美國北部的任務(wù)位置服務(wù)225的虛擬IP地址的任 務(wù)服務(wù)端點。例如,域名服務(wù)(DNS)記錄可被創(chuàng)建以將諸如"sally, task. core, windows, net"等主機(jī)名映射到美國北部中的任務(wù)位置服務(wù)225的虛擬IP地址。這完成了對Sally 的任務(wù)賬戶的創(chuàng)建。如果在將來的時間發(fā)生數(shù)據(jù)中心災(zāi)難,則全局位置服務(wù)235可將該DNS 記錄更新為指向美國南部。
[0066] 在創(chuàng)建該賬戶之后,顧客Sally可以訪問該賬戶并且發(fā)送請求以訪問用于針對主 機(jī)名"sally, task. core, windows, net"與云計算環(huán)境進(jìn)行交互的API。例如,Sally可訪問 API以發(fā)出創(chuàng)建新工作項或任務(wù)的請求。DNS服務(wù)器隨后可以解析該主機(jī)名,并且該請求將 被路由到正確的任務(wù)位置服務(wù)承租者225。在此示例中,該請求被路由到針對美國北部的任 務(wù)位置服務(wù)承租者225,該任務(wù)位置服務(wù)承租者處理該請求并創(chuàng)建所請求的工作項、作業(yè)或 任務(wù)。
[0067] 圖3示出了任務(wù)位置服務(wù)的潛在配置。在圖3中示出的配置中,任務(wù)位置服務(wù)可 包括一個或多個賬戶服務(wù)器321。該賬戶服務(wù)器處理針對給定地理區(qū)域中的賬戶的賬戶管 理,包括創(chuàng)建、刪除、或?qū)傩愿?。賬戶前端322用作賬戶服務(wù)的前端節(jié)點。賬戶前端322 在該圖中所示出的賬戶虛擬IP地址324后。賬戶前端322處理來自全局位置服務(wù)的賬戶 API請求,諸如用于創(chuàng)建賬戶或刪除賬戶的API請求。
[0068] 圖3中的配置還包括一個或多個池服務(wù)器331。池服務(wù)器331處理針對給定地理 區(qū)域中的虛擬機(jī)池的池管理和池事務(wù)。池服務(wù)器331處理池創(chuàng)建、刪除和屬性更新。池服 務(wù)器331還跨多個任務(wù)承租者管理高等級虛擬機(jī)分配算法。虛擬機(jī)分配可將虛擬機(jī)與給定 用戶的存儲的連接性納入考慮。池服務(wù)器還可執(zhí)行與虛擬機(jī)的分配有關(guān)的其他任務(wù)。
[0069] 圖3的配置還包括一個或多個工作項或作業(yè)調(diào)度器(WIJ) 336。WIJ調(diào)度器336處 理對工作項和作業(yè)的創(chuàng)建、刪除和更新。此外,如果用戶請求了在工作項或作業(yè)開始或結(jié)束 時對池的自動創(chuàng)建和/或破壞,則WIJ調(diào)度器336可發(fā)起對與這些工作項或作業(yè)相關(guān)聯(lián)的 池的創(chuàng)建和刪除。WIJ調(diào)度器336還使用用于縮放的類屬劃分機(jī)制。在一實施例中,在每個 任務(wù)位置服務(wù)中存在多個WIJ調(diào)度器618,并且每個WIJ調(diào)度器處理一定范圍的工作項。
[0070] 池服務(wù)器331和WIJ調(diào)度器336經(jīng)由任務(wù)位置服務(wù)前端338接收來自用戶的請求。 任務(wù)位置服務(wù)前端338還負(fù)責(zé)調(diào)用相應(yīng)的組件以處理來自用戶的請求。任務(wù)位置服務(wù)前端 338在如該圖中所示出的賬戶虛擬IP地址334后。
[0071] 圖3中的配置還包括任務(wù)位置服務(wù)主機(jī)342。在一實施例中,任務(wù)位置服務(wù)主機(jī) 342具有兩個主要的職責(zé)。首先,任務(wù)位置服務(wù)主機(jī)325用作用于為任務(wù)位置服務(wù)225中的 相應(yīng)服務(wù)器實現(xiàn)劃分邏輯的主機(jī)系統(tǒng)。此外,任務(wù)位置服務(wù)主機(jī)342可負(fù)責(zé)在每一現(xiàn)貨時 段的開始處為該任務(wù)位置服務(wù)的整個地理區(qū)域計算可搶占虛擬機(jī)的新市場價。可以從各池 服務(wù)器和任務(wù)承租者處收集當(dāng)前投標(biāo)和資源可用性信息,并據(jù)此計算該新市場價。或者,任 務(wù)位置服務(wù)主機(jī)可向現(xiàn)貨價格市場服務(wù)發(fā)送該投標(biāo)和資源可用性信息。它還作出對池服務(wù) 器的關(guān)于可搶占虛擬機(jī)跨地理區(qū)域中的所有任務(wù)承租者的高級分配指南。
[0072] 為了跟蹤計算環(huán)境的活動和行為,任務(wù)位置服務(wù)主機(jī)342可與一個或多個統(tǒng)計數(shù) 據(jù)聚集服務(wù)器355通信。統(tǒng)計數(shù)據(jù)聚集服務(wù)器負(fù)責(zé)收集和聚集任務(wù)、作業(yè)、工作項和池的詳 細(xì)統(tǒng)計數(shù)據(jù)。該系統(tǒng)中的其他組件發(fā)出任務(wù)和虛擬機(jī)的精細(xì)粒度統(tǒng)計數(shù)據(jù)。統(tǒng)計數(shù)據(jù)聚 集服務(wù)器將來自任務(wù)層或虛擬機(jī)層統(tǒng)計數(shù)據(jù)的這些精細(xì)粒度統(tǒng)計數(shù)據(jù)聚集為工作項、帳戶 層、和/或池層統(tǒng)計數(shù)據(jù)。這些統(tǒng)計數(shù)據(jù)可經(jīng)由API來展示以供使用。此外,統(tǒng)計數(shù)據(jù)聚集 服務(wù)器可負(fù)責(zé)生成針對每個帳戶的每小時計量記錄以供計費使用。
[0073] 圖4示意性地示出了可被包括為任務(wù)位置服務(wù)和/或任務(wù)位置服務(wù)主機(jī)的部分的 附加模塊。在圖4中,現(xiàn)貨定價模塊460是可作為任務(wù)位置服務(wù)主機(jī)的部分的模塊?,F(xiàn)貨 定價模塊是負(fù)責(zé)在每一現(xiàn)貨時段的開始處確定市場價的全局模塊。作為全局模塊,現(xiàn)貨定 價模塊460通常向多個池服務(wù)器431提供信息。現(xiàn)貨定價模塊460與作為任務(wù)位置服務(wù)的 部分的池服務(wù)器維持"心跳"以同步經(jīng)現(xiàn)貨定價的可搶占虛擬機(jī)的當(dāng)前市場價。
[0074] 度量收集模塊472是可作為池服務(wù)器的部分的模塊。度量收集模塊472負(fù)責(zé)收集 用于對池服務(wù)器所擁有的相應(yīng)池進(jìn)行自動縮放的度量。這些度量包括CPU的每池狀態(tài)、網(wǎng) 絡(luò)、隊列狀態(tài)以及所有其他度量。該模塊的輸出饋送到自動縮放模塊474中。自動縮放模 塊474也可以是池服務(wù)器的部分。自動縮放模塊負(fù)責(zé)基于與每個池相關(guān)聯(lián)的自動縮放公式 來作出自動縮放判定。它取得這些度量以及用戶所提供的公式/規(guī)則,并計算每個池的自 動縮放動作。自動縮放動作可包括將池的專用虛擬機(jī)增加或減少特定量;將池的備用虛擬 機(jī)增加或減少特定量;以及將池的經(jīng)現(xiàn)貨定價的或可搶占虛擬機(jī)的目標(biāo)數(shù)量增加或減少特 定量,以及更新投標(biāo)價格。自動縮放模塊474的輸出被饋送到池管理模塊480中,該池管理 模塊480執(zhí)行這些指令并以其他方式實現(xiàn)用于改變給定池的大小的機(jī)制。這些指令可以按 與對更新池大小的用戶請求相同的方式來處理。對于給定現(xiàn)貨價格,池管理模塊480根據(jù) 當(dāng)前市場價和未完結(jié)的投標(biāo)來控制對池中的可搶占虛擬機(jī)的搶占和分配。
[0075] 圖5示出任務(wù)承租者的一實施例的示例高級架構(gòu),該架構(gòu)包括任務(wù)承租者的各組 件及相應(yīng)的責(zé)任的示例。如上所述,任務(wù)承租者可幫助管理虛擬機(jī)池。在圖5中示出的實 施例中,任務(wù)承租者包括一個或多個任務(wù)承租者前端522。該任務(wù)承租者前端522位于任務(wù) 承租者虛擬IP地址524之后,該任務(wù)承租者虛擬IP地址524內(nèi)部用于任務(wù)承租者及其相 應(yīng)的任務(wù)地址服務(wù)之間的通信,該通信包括在任務(wù)位置服務(wù)和任務(wù)承租者之間傳遞請求。
[0076] 在圖5所示的實施例中,任務(wù)承租者還包括任務(wù)調(diào)度器536。任務(wù)調(diào)度器536可負(fù) 責(zé)做出任務(wù)承租者內(nèi)的局部任務(wù)調(diào)度判決。任務(wù)調(diào)度器536決定在它所控制的每個虛擬機(jī) 上運行什么任務(wù)。例如,用戶所提交的工作項或作業(yè)可具有一組隊列,該組隊列包含要被調(diào) 度的任務(wù)的列表。任務(wù)調(diào)度器536從該組隊列中取得任務(wù),選擇與該作業(yè)相關(guān)聯(lián)的池中的 一個或多個可用虛擬機(jī),并且聯(lián)系(諸)虛擬機(jī)來調(diào)度這些任務(wù)。任務(wù)調(diào)度器536還可基 于與作業(yè)相關(guān)聯(lián)的優(yōu)先級值來做出調(diào)度判決。此外,任務(wù)調(diào)度器536跟蹤任務(wù)承租者內(nèi)的 虛擬機(jī)。任務(wù)調(diào)度器536與池服務(wù)器一起工作以將虛擬機(jī)分配給池/從池中解除分配虛擬 機(jī)。此外,任務(wù)調(diào)度器536與所有虛擬機(jī)保持心跳、經(jīng)由心跳關(guān)于池成員與虛擬機(jī)同步,并 且控制虛擬機(jī)的重啟/重新映像。任務(wù)調(diào)度器536的又一功能可以是跟蹤任務(wù)承租者的大 小?;谌蝿?wù)承租者內(nèi)的虛擬機(jī)的當(dāng)前利用率,任務(wù)調(diào)度器可以增長或收縮該任務(wù)承租者, 以便該任務(wù)承租者具有足夠數(shù)量的虛擬機(jī)來運行與該任務(wù)承租者相關(guān)聯(lián)的任務(wù)。類似地, 如果該任務(wù)承租者中有太多虛擬機(jī)保持空閑,可以釋放這些虛擬機(jī)以供該數(shù)據(jù)中心中的其 他托管服務(wù)使用。
[0077] 圖5還示出了與任務(wù)承租者相關(guān)聯(lián)的多個虛擬機(jī)。在圖5中示出的實施例中,每 個虛擬機(jī)包括任務(wù)虛擬機(jī)代理550 (TVM)。在一實施例中,任務(wù)虛擬機(jī)代理550負(fù)責(zé)啟動虛 擬機(jī)上的任務(wù),以及設(shè)置任務(wù)的目錄結(jié)構(gòu)和許可。在虛擬機(jī)上還配置了僅允許同一池內(nèi)的 虛擬機(jī)之間的流量(如果該池需要內(nèi)部通信的話)的操作系統(tǒng)防火墻。如早先討論的,任 務(wù)調(diào)度器536經(jīng)由任務(wù)虛擬機(jī)代理550與該虛擬機(jī)保持心跳。這允許任務(wù)調(diào)度器536監(jiān)視 虛擬機(jī)的健康以及為任務(wù)虛擬機(jī)代理同步池成員信息。
[0078] 現(xiàn)貨定價流示例
[0079] 以下提供了如何在系統(tǒng)內(nèi)以全局為基礎(chǔ)實現(xiàn)現(xiàn)貨定價的示例。在該示例中,以下 三個組件或模塊對全局現(xiàn)貨定價有貢獻(xiàn):現(xiàn)貨定價模塊,諸如任務(wù)位置服務(wù)主機(jī)內(nèi)的模塊 或任務(wù)系統(tǒng)外部的現(xiàn)貨定價服務(wù);池管理模塊,諸如作為任務(wù)位置服務(wù)中的每一池服務(wù)器 的部分的池管理模塊;以及任務(wù)調(diào)度器,諸如潛在地作為每一任務(wù)承租者的部分的任務(wù)調(diào) 度器。不同的組件具有各種責(zé)任。圖6示意性地示出適于執(zhí)行對可搶占虛擬機(jī)資源的全局 現(xiàn)貨定價的系統(tǒng)的示例。在圖6所示的示例中,更新云計算環(huán)境中的全局現(xiàn)貨價格包括至 少二個過程。
[0080] 在圖6中,現(xiàn)貨定價模塊660可負(fù)責(zé)在每一現(xiàn)貨時段(諸如,分派時間段)的開始 處計算全局市場價?,F(xiàn)貨定價模塊660可提供跨所有池服務(wù)器631的現(xiàn)貨可搶占虛擬機(jī)分 配的高級細(xì)目分類,但該現(xiàn)貨定價模塊并不涉及對每一個體投標(biāo)的詳細(xì)分配決策。在確定 了市場價之后,現(xiàn)貨定價模塊660可負(fù)責(zé)更新價格歷史表670和池服務(wù)器631。在圖6所示 的示例中,價格歷史表670對應(yīng)于全局價格歷史表。價格歷史表670可在每一現(xiàn)貨時段內(nèi) 跟蹤市場價。一旦該價格被確定,現(xiàn)貨定價模塊660就可更新該表?,F(xiàn)貨定價模塊660還 可經(jīng)由任務(wù)位置服務(wù)主機(jī)和池服務(wù)器之間有規(guī)律的心跳來向池服務(wù)器631發(fā)送市場價更 新。現(xiàn)貨定價模塊660還可包括在每一任務(wù)承租者的不同池服務(wù)器之間的現(xiàn)貨可搶占虛擬 機(jī)分配的初始高級細(xì)目分類。
[0081] 優(yōu)選地,現(xiàn)貨定價模塊660可首先更新價格歷史表670?,F(xiàn)貨定價模塊660可隨后 在第二步驟經(jīng)由心跳消息來更新池服務(wù)器631。池服務(wù)器隨后在第三過程更新各個任務(wù)承 租者。優(yōu)選地,價格更新消息可以用針對現(xiàn)貨時段的相應(yīng)時戳進(jìn)行標(biāo)記。由于現(xiàn)貨定價模 塊660是全局模塊,該現(xiàn)貨定價模塊可保證該時戳總是增加。價格歷史表670可總是保持 當(dāng)前現(xiàn)貨價格的真相。對當(dāng)前現(xiàn)貨價格沒有把握的池服務(wù)器631可以經(jīng)由價格歷史表670 來訪問該當(dāng)前現(xiàn)貨價格。
[0082] 價格歷史表670保持當(dāng)前價格的真相。當(dāng)設(shè)置新現(xiàn)貨價格時,現(xiàn)貨定價模塊660 將告知任何人該新價格,直到價格歷史表670被更新。任務(wù)位置服務(wù)主機(jī)具有與每一池服 務(wù)器的有規(guī)律的心跳。在每一心跳消息中可包括各種類型的信息。該心跳消息可包括當(dāng)前 現(xiàn)貨時段的時戳。該時戳一直在增加,并且可用作用于確定哪個現(xiàn)貨時段更新近的序列號。 心跳消息還可包括針對當(dāng)前現(xiàn)貨時段的市場價。此外,心跳消息可包括直到下一現(xiàn)貨時段 將開始(其對應(yīng)于該價格何時被再次更新)為止的持續(xù)時間。池服務(wù)器可使用該信息來判 定如果它們沒有及時收到任務(wù)位置服務(wù)的回音它們應(yīng)在何時預(yù)期下一價格變化。
[0083] 如果現(xiàn)貨定價模塊(或任務(wù)位置服務(wù)主機(jī))因任何原因停滯,則該系統(tǒng)的其余部 分仍可正確工作,從而基本上通過另一時段來延續(xù)當(dāng)前現(xiàn)貨定價。價格表將不被更新,并且 池服務(wù)器仍將使用目前的市場價,從而有效地延續(xù)了當(dāng)前現(xiàn)貨時段。現(xiàn)貨價格時段優(yōu)選地 具有固定的N分鐘范圍。例如,如果30分鐘的時段被使用,則這些時段可以是1:00-1:30、 1:30-2:00、2:00-2:30并以此類推。當(dāng)任務(wù)位置服務(wù)主機(jī)恢復(fù)時,它可針對當(dāng)前時段開始新 現(xiàn)貨時段,如果該當(dāng)前時段處于時段開始時間的X分鐘內(nèi)的話。如果它是過去的X分鐘,則 在直到下一間隔之前它將只是等待,以固定價格。然而,在該情形下,任務(wù)位置服務(wù)主機(jī)仍 可向現(xiàn)貨價格歷史表添加未改變現(xiàn)貨價格的新現(xiàn)貨時段。例如,如果新現(xiàn)貨價格在固定時 窗(諸如,當(dāng)前現(xiàn)貨時段的預(yù)期開始的前5分鐘)內(nèi)可用,則現(xiàn)貨價格可被更新。如果現(xiàn)貨 定價模塊和/或任務(wù)位置服務(wù)主機(jī)晚了并錯過了那個時窗,則該價格可在直到下一現(xiàn)貨周 期之前保持不變。
[0084] 每一池服務(wù)器631可包括池管理模塊680。池管理模塊632。在這個示例中,池管 理模塊680處理給定池內(nèi)的預(yù)留和轉(zhuǎn)換(在備用虛擬機(jī)和專用虛擬機(jī)之間)請求以及移除 可搶占虛擬機(jī)的任何顯式請求。此外,為了處理現(xiàn)貨定價,池管理模塊還可負(fù)責(zé)履行高于當(dāng) 前市場價的未完結(jié)投標(biāo),并基于不再有資格的投標(biāo)而撤走可搶占虛擬機(jī)。池管理模塊680 可負(fù)責(zé)跟蹤具有高于(或等于)當(dāng)前市場價格的未完結(jié)或未履行投標(biāo)的那組池。"未完結(jié)" 意味著尚未收到其已請求的所有可搶占虛擬機(jī)的池。池管理模塊可隨后分配可搶占虛擬機(jī) 以按降序次序來履行未完結(jié)的投標(biāo)(即,先履行較高的投標(biāo))。此外,池管理模塊可搶占來 自池的現(xiàn)在具有低于當(dāng)前市場價的投標(biāo)的所有可搶占虛擬機(jī)。注意,池服務(wù)器631負(fù)責(zé)經(jīng) 由現(xiàn)貨定價為給定任務(wù)承租者615設(shè)置池中對分派可用的可搶占虛擬機(jī)的目標(biāo)數(shù)目。池服 務(wù)器631不跟蹤任務(wù)承租者615中針對給定池分配的可搶占虛擬機(jī)的確切數(shù)目。為達(dá)到池 服務(wù)器631所設(shè)的目標(biāo)而添加/移除可搶占虛擬機(jī)均取決于任務(wù)承租者615。
[0085] 任務(wù)調(diào)度器636是任務(wù)承租者615中的模塊。在該示例中,任務(wù)調(diào)度器636未活 躍地跟蹤現(xiàn)貨價格。任務(wù)調(diào)度器636可維護(hù)跟蹤給定承租者中針對每一池的目標(biāo)可搶占虛 擬機(jī)計數(shù)的"TenantPoolTable (承租者池表)"或其他類似的數(shù)據(jù)結(jié)構(gòu)。當(dāng)任務(wù)調(diào)度器636 收到基于高于(或低于)現(xiàn)貨價格的投標(biāo)的針對可搶占虛擬機(jī)的池事務(wù)時,該任務(wù)調(diào)度器 將更新這個表以記錄給定池的目標(biāo)可搶占虛擬機(jī)計數(shù),并且從池服務(wù)器631的角度而言該 事務(wù)被完成了。任務(wù)調(diào)度器負(fù)責(zé)使針對各池的可搶占虛擬機(jī)計數(shù)達(dá)到目標(biāo)計數(shù)。在對專用 虛擬機(jī)進(jìn)行轉(zhuǎn)換的情況下,如果不存在與任務(wù)承租者615相關(guān)聯(lián)的足夠空閑的虛擬機(jī),則 任務(wù)調(diào)度器636可搶占具有較低投標(biāo)的一些可搶占虛擬機(jī)。這可在沒有向池服務(wù)器631通 知該搶占的情況下完成。
[0086] 分配和搶占可在新現(xiàn)貨時段的開始處和在現(xiàn)貨時段期間發(fā)生。在現(xiàn)貨時段的開始 處,任務(wù)位置服務(wù)主機(jī)向每一池服務(wù)器發(fā)送在跨每一任務(wù)承租者的池服務(wù)器之間的可搶占 虛擬機(jī)分配的高級細(xì)目分類。池服務(wù)器可使用該信息來指導(dǎo)分配和搶占決策。池服務(wù)器跟 蹤所有這些未完結(jié)的投標(biāo)及其它們的提交時間。對于在現(xiàn)貨時段的開始之前或者可能在不 同于現(xiàn)貨時段的開始的截止時間之前提交的所有投標(biāo),池服務(wù)器可確保較高的投標(biāo)在較低 的投標(biāo)之前被滿足。結(jié)果,在先前時段基于較低投標(biāo)分派的一些可搶占虛擬機(jī)可被搶占。池 服務(wù)器還可使用由任務(wù)位置服務(wù)主機(jī)提供的全局信息來協(xié)調(diào)并最小化不必要的搶占。
[0087] 在任務(wù)位置服務(wù)主機(jī)計算市場價時,它還將計算跨不同池和不同任務(wù)承租者的可 搶占虛擬機(jī)分配的高級細(xì)目分類。該信息被傳遞至所有這些池服務(wù)器以幫助其分配決策。 該信息可包括對任務(wù)承租者內(nèi)的每一池劃分范圍的每一投標(biāo)價格和每一約束的詳細(xì)可搶 占虛擬機(jī)分配細(xì)目分類。例如,從任務(wù)位置服務(wù)主機(jī)的角度來說,具有相同投標(biāo)價格和相同 約束(例如,它們由于內(nèi)部通信或存儲親和力約束而需要使用哪個(哪些)承租者)的所 有投標(biāo)將被分組在一起。任務(wù)位置服務(wù)主機(jī)為每一池劃分范圍提供詳細(xì)分配。
[0088] 池服務(wù)器可基于由任務(wù)位置服務(wù)主機(jī)提供的分配信息來計算刷新分配(就好像 所有潛在的可搶占虛擬機(jī)都空閑一樣)。池服務(wù)器還可為每一池確定在每一任務(wù)承租者中 的新的目標(biāo)可搶占虛擬機(jī)計數(shù)。隨后,可將該新分配與當(dāng)前分配進(jìn)行比較以計算需要被更 新的那組池。池服務(wù)器隨后為要求更新的池聯(lián)系相關(guān)的任務(wù)承租者,以便為可搶占機(jī)器的 數(shù)目設(shè)置新目標(biāo)值。
[0089] 在池服務(wù)器分配可搶占虛擬機(jī)時,該池服務(wù)器可以在嘗試向較低投標(biāo)分配任何東 西之前開始針對較高投標(biāo)的分配事務(wù)。池服務(wù)器還可跟蹤投標(biāo)何時被提交。在相同價格的 兩個投標(biāo)之間,較早的投標(biāo)將占有優(yōu)先權(quán)。注意,池服務(wù)器不需要在開始下一些事務(wù)之前等 待之前的交易結(jié)束。相反,池服務(wù)器僅需要確保它在前進(jìn)到下一組投標(biāo)之前已開始了與相 應(yīng)任務(wù)承租者的分配事務(wù)。優(yōu)選地,這些事務(wù)并行執(zhí)行。
[0090] 在分派時間段期間,搶占可在需要將虛擬機(jī)作為專用機(jī)器來分派或者云計算環(huán)境 因其他原因(諸如,災(zāi)難恢復(fù))需要該機(jī)器時發(fā)生。專用虛擬機(jī)。如果在該系統(tǒng)中存在空 閑虛擬機(jī)可用,則空閑機(jī)器可用于作為專用虛擬機(jī)來進(jìn)行分派。如果附加的空閑虛擬機(jī)不 可用,則任務(wù)承租者可搶占對應(yīng)于較低投標(biāo)的可搶占虛擬機(jī)。用于為供搶占的機(jī)器排定優(yōu) 先級的另一選項是對搶占已運行作業(yè)達(dá)較短時間段的機(jī)器具有偏好。分配在更多可搶占虛 擬機(jī)變得可用并且存在尚未被滿足的未完結(jié)投標(biāo)時發(fā)生。在那種情況下,可用的可搶占虛 擬機(jī)可被分配,該分配伴隨較高投標(biāo)開始。
[0091] 優(yōu)選地,一小組空閑虛擬機(jī)可保持被重新映像并準(zhǔn)備好被使用,使得在需要將虛 擬機(jī)用于專用使用時,可立即從該組中取得該專用虛擬機(jī)。任務(wù)承租者將在后臺維護(hù)這些 空閑虛擬機(jī)。當(dāng)任務(wù)承租者中的空閑虛擬機(jī)的數(shù)目低于閾值量(諸如,該任務(wù)承租者中有 1 %的專用虛擬機(jī))時,該任務(wù)承租者可開始搶占具有較低投標(biāo)的虛擬機(jī),直到空閑虛擬機(jī) 計數(shù)達(dá)到第二閾值,該第二閾值可以與第一閾值相同或不同。任務(wù)承租者可在不涉及池服 務(wù)器的情況下?lián)屨歼@些可搶占虛擬機(jī),從而允許該搶占快速發(fā)生。
[0092] 另一方面,如果任務(wù)調(diào)度器已經(jīng)為它的由池服務(wù)器分派的所有池履行了它的所有 目標(biāo)可搶占虛擬機(jī),并且仍存在大于第二閾值的額外空閑虛擬機(jī)時,該任務(wù)調(diào)度器可以經(jīng) 由池服務(wù)器有規(guī)律的心跳向這些池服務(wù)器報告這樣的額外空閑虛擬機(jī)的計數(shù)。如果該計數(shù) 大于第三閾值,則池服務(wù)器將開始向未完結(jié)的投標(biāo)分配這些額外的虛擬機(jī)。
[0093] 以下提供了用于基于現(xiàn)貨定價來分派可搶占虛擬機(jī)的過程流的高級示例。在現(xiàn)貨 時段的開始處,任務(wù)位置服務(wù)主機(jī)(諸如,任務(wù)位置服務(wù)主機(jī)內(nèi)的全局現(xiàn)貨定價模塊)基于 這些投標(biāo)和資源可用性來為該現(xiàn)貨時段計算新市場價。在決定了該價格后,任務(wù)位置服務(wù) 主機(jī)如之前所描述的用新價格以及即將到來的現(xiàn)貨時段的時戳來更新價格歷史表。任務(wù)位 置服務(wù)主機(jī)隨后經(jīng)由其有規(guī)律的心跳消息來向每一池服務(wù)器發(fā)送現(xiàn)貨價格。此外,任務(wù)位 置服務(wù)主機(jī)還為每一池服務(wù)器發(fā)送可搶占虛擬機(jī)分配的初始細(xì)目分類。這可幫助池服務(wù)器 作出分配決策。當(dāng)池服務(wù)器接收到來自任務(wù)位置服務(wù)主機(jī)的消息時,池服務(wù)器開始為它的 所有池向未完結(jié)的投標(biāo)分配可搶占虛擬機(jī),并搶占低于新市場價的所有可搶占機(jī)器。尤其 地,池服務(wù)器向任務(wù)承租者發(fā)送在給定池上設(shè)置新的可搶占虛擬機(jī)目標(biāo)計數(shù)的命令。這以 與設(shè)置專用虛擬機(jī)計數(shù)的池事務(wù)類似的方式完成,除了那個事務(wù)是在任務(wù)承租者一記錄了 該目標(biāo)可搶占虛擬機(jī)計數(shù)就完成的以外。隨后,任務(wù)調(diào)度器將嘗試通過分配或移除池中的 虛擬機(jī)來使虛擬計數(shù)達(dá)到該目標(biāo)。在任務(wù)承租者側(cè),可搶占虛擬機(jī)分配以與針對專用虛擬 機(jī)的相同的方式完成,除了可搶占虛擬機(jī)是從承租者中的全局空閑虛擬機(jī)集合中取得的, 并且該任務(wù)調(diào)度器總是先向較高投標(biāo)分配可搶占虛擬機(jī)以外。此外,在現(xiàn)貨時段期間,由于 資源短缺(例如,備用虛擬機(jī)向?qū)S锰摂M機(jī)的轉(zhuǎn)換),任務(wù)調(diào)度器可能需要搶占可搶占虛擬 機(jī)。在那種場景中,對應(yīng)于具有較低投標(biāo)的池的虛擬機(jī)先被搶占。
[0094] 在分派時間段期間,池服務(wù)器可發(fā)現(xiàn)一些可搶占虛擬機(jī)已變得對基于現(xiàn)貨定價進(jìn) 行分派可用。例如,一些專用虛擬機(jī)可被轉(zhuǎn)換成備用虛擬機(jī),或者一些可搶占虛擬機(jī)可被用 戶釋放。池服務(wù)器可通過為給定池設(shè)置新的(較高的)可搶占虛擬機(jī)目標(biāo)計數(shù)來向未完結(jié) 投標(biāo)分配可用虛擬機(jī),其中較高的投標(biāo)取得優(yōu)先權(quán)。在一些實施例中,在現(xiàn)貨時段的結(jié)束之 際(諸如在現(xiàn)貨時段的最后5分鐘內(nèi))不分配可搶占虛擬機(jī),因為這些可搶占虛擬機(jī)在下 一現(xiàn)貨時段開始時可能很快就被搶占掉。
[0095] 對云計算環(huán)境中的虛擬機(jī)進(jìn)行分派的示例
[0096] 提供了以下解說云計算環(huán)境中的專用虛擬機(jī)、備用虛擬機(jī)和可搶占虛擬機(jī)的操作 和交互的假想示例。在這些示例中,將討論較小數(shù)目的虛擬機(jī),以便簡化描述和附圖。然而, 本領(lǐng)域的技術(shù)人員將認(rèn)識到本文中所描述的概念可擴(kuò)大到任何所需數(shù)目的虛擬機(jī)。
[0097] 在以下假想示例中,將描述對各種專用虛擬機(jī)、備用虛擬機(jī)和可搶占虛擬機(jī)的分 派。在相應(yīng)的附圖中,針對用戶Abel的機(jī)器將被標(biāo)記成A,針對用戶Charlie的機(jī)器將被 標(biāo)記成C,針對用戶David的機(jī)器將被標(biāo)記成D,并且針對用戶Frank的機(jī)器將被標(biāo)記成F。 一些機(jī)器將被標(biāo)記成L以標(biāo)識附加的大用戶。除了指定虛擬機(jī)被分派給的用戶以外,各虛 擬機(jī)還可具有對專用機(jī)器的指定(D)或?qū)蓳屨紮C(jī)器的指定(P)。該示例中各個用戶所執(zhí) 行的作業(yè)可以是用于執(zhí)行任何類型的計算(諸如,執(zhí)行針對業(yè)務(wù)的數(shù)據(jù)挖掘和管理、執(zhí)行 科學(xué)計算、或處理零售顧客流量)的作業(yè)。
[0098] 圖7示出了各虛擬機(jī)在兩個任務(wù)承租者710和711中的初始狀態(tài)的示例。任務(wù)承 租者是代表性的,使得任何方便數(shù)目的任務(wù)承租者可以從現(xiàn)貨定價模塊760接收信息。類 似地,在每一任務(wù)承租者內(nèi)示出的虛擬機(jī)的數(shù)目是代表性的,使得更大或更新數(shù)目的虛擬 機(jī)可被包括在任務(wù)承租者中。在任務(wù)承租者710或711內(nèi),具有相同開始指定字母的每一 虛擬機(jī)對應(yīng)于相同池內(nèi)的機(jī)器。例如,具有"A(?)"格式的所有虛擬機(jī)都在與用戶Abel 的賬戶相關(guān)聯(lián)的池中。
[0099] 在圖7中,示出了任務(wù)承租者710和711在經(jīng)由現(xiàn)貨定價來將任何虛擬機(jī)作為可 搶占機(jī)器進(jìn)行分派之前的初始狀態(tài)。在圖7中,用戶Abel、Charles、David和Frank各自使 兩個專用虛擬機(jī)被分派并運行作業(yè)。這些機(jī)器分別被示為機(jī)器723、733、743和753。虛擬 機(jī)768和769對應(yīng)于未被分派給任何池的機(jī)器。此外,備用計數(shù)793被包括在任務(wù)承租者 710的下面,并且備用計數(shù)794被包括在任務(wù)承租者711的下面。備用計數(shù)793和794表示 當(dāng)ill與相應(yīng)的任務(wù)承租者710和711相關(guān)聯(lián)的備用虛擬機(jī)預(yù)留。在圖7中,該備用預(yù)留對 應(yīng)于與任務(wù)承租者710和711中的每一者中的大用戶相關(guān)聯(lián)的2個預(yù)留。在這個示例中, 備用預(yù)留基于系統(tǒng)的選擇而與各任務(wù)承租者相關(guān)聯(lián)。如果這些備用預(yù)留是親和力請求的部 分,則大用戶可具有有合適親和力的指定群集,并且這些備用預(yù)留可能已據(jù)此被關(guān)聯(lián)。
[0100] 現(xiàn)貨定價確定隨后用于基于來自用戶請求來向這些用戶分派可搶占機(jī)器?,F(xiàn)貨定 價模塊收集從所有可用池中提供的投標(biāo),并確定每小時(或其他定價時段)〇. 6分的現(xiàn)貨價 格。還可在定價時段的各片段內(nèi)進(jìn)行計費?,F(xiàn)貨價格基于對可搶占機(jī)器的各種投標(biāo),包括 來自用戶Abel、Charles、David和Frank的投標(biāo)。用戶Abel以1. 5分的投標(biāo)價格請求三個 可搶占機(jī)器。用戶Charles以1. 3分的投標(biāo)價格請求一個可搶占虛擬機(jī),并以0. 6分的投 標(biāo)價格請求第二個可搶占虛擬機(jī)。用戶David以0. 5分的投標(biāo)價格請求三個可搶占機(jī)器。 用戶Frank以1. 0分的投標(biāo)價格請求一個機(jī)器,并以0. 8分的投標(biāo)價格請求另外三個機(jī)器。
[0101] 基于這些投標(biāo),向這些用戶分派可搶占機(jī)器。圖8示出了這些機(jī)器向用戶的分派。 在任務(wù)承租者711中,基于具有對可搶占機(jī)器的最高投標(biāo)而將三個可用機(jī)器826分派給 Abel。這些機(jī)器對應(yīng)于圖7中的空閑機(jī)器769中的三個空閑機(jī)器。接著,任務(wù)承租者710 和711嘗試履行Charles的以1. 3分的投標(biāo)對一個可搶占虛擬機(jī)的請求。任務(wù)承租者711 中的一個可用虛擬機(jī)836被作為可搶占虛擬機(jī)分派給Charles。
[0102] 接著,基于投標(biāo)價格按順序解決Frank對虛擬機(jī)的投標(biāo)。這些虛擬機(jī)是從任務(wù)承 租者710處分派的,因為任務(wù)承租者710是具有剩余可用性的任務(wù)承租者。每時間段以1. 0 分對一個可搶占機(jī)器的投標(biāo)由虛擬機(jī)856來履行。以0. 8分對附加的三個機(jī)器的投標(biāo)由虛 擬機(jī)857來履行。在基于Frank的投標(biāo)分派了虛擬機(jī)之后,下一分派時間段仍未履行來自 Charles的處于或高于該價格的一個虛擬機(jī)請求。該請求通過將Charles的池擴(kuò)展到任務(wù) 承租者710中并向Charles分派可搶占虛擬機(jī)837來履行。由于與David的請求相關(guān)聯(lián)的 投標(biāo)低于針對可搶占虛擬機(jī)的分派的現(xiàn)貨價格,因此David的以0. 5分對三個機(jī)器的請求 沒有被履行?;谝陨戏峙桑哂凶畹偷南鄳?yīng)投標(biāo)價格的可搶占機(jī)器位于任務(wù)承租者710 中。如果大用戶將備用預(yù)留轉(zhuǎn)換成專用虛擬機(jī),則一個選項將是為該大用戶將來自任務(wù)承 租者710和711中的每一者的兩個可搶占虛擬機(jī)轉(zhuǎn)換成專用虛擬機(jī)。這將導(dǎo)致任務(wù)承租 者711中與較高投標(biāo)相關(guān)聯(lián)的可搶占作業(yè)被取代(displaced)。為了以較低投標(biāo)為代價而 優(yōu)先滿足較高投標(biāo),這可導(dǎo)致第二取代(displacement),以使得在任務(wù)承租者710中以具 有較低投標(biāo)的作業(yè)(諸如針對Charles或Frank的作業(yè))為代價而重新開始較高投標(biāo)作業(yè) (諸如針對Able的作業(yè))。另一選項是跨任務(wù)承租者710和711重新分配備用預(yù)留,使得 備用預(yù)留與使得機(jī)器被基于最低投標(biāo)分派的任務(wù)承租者相關(guān)聯(lián)。這在圖8中示出,其中備 用計數(shù)793被調(diào)整為0,而備用計數(shù)794現(xiàn)在為4。注意,沒有機(jī)器基于備用計數(shù)的改變而 被重新分派。
[0103] 在圖8中,使用了其中可搶占投標(biāo)都不基于親和力請求的情況下的示例。圖9示出 了其中來自Charles的可搶占投標(biāo)包括對已經(jīng)分派給Charles的其他專用虛擬機(jī)或可搶占 虛擬機(jī)的親和力請求的替換示例?;谠撚H和力請求,來自Charles的可搶占作業(yè)請求對 其中Charles具有兩個專用虛擬機(jī)的任務(wù)承租者711具有親和力。在圖9中,相同數(shù)目的虛 擬機(jī)被分派給用戶Abel、Charles和Frank中的每一個。然而,在確定對虛擬機(jī)的分派時, 任務(wù)承租者考慮來自Charles的親和力請求。如果這些機(jī)器是在圖8中描述的方法下分派 的,貝 1J在任務(wù)承租者711中僅一個虛擬機(jī)將對Charles可用。由于該親和力請求,Charles 不會使用來自任務(wù)承租者710的虛擬機(jī),從而即使相應(yīng)的投標(biāo)價格處于或高于現(xiàn)貨價格也 留下來自Charles的請求不被履行。為了避免這種情況,在任務(wù)承租者710中的一個可搶占 虛擬機(jī)926被分派給Abel。可搶占虛擬機(jī)936隨后對向Charles的分派可用。即使Abel 的投標(biāo)價格高于Charles,來自Charles的親和力請求也在履行了 Abel的請求時才被考慮。 這允許來自可搶占機(jī)器的利用和利潤被增加。由于任務(wù)承租者711現(xiàn)在包括以最低投標(biāo)價 格分派的可搶占機(jī)器,任務(wù)承租者711的備用計數(shù)793為1,而任務(wù)承租者710的備用計數(shù) 為3。
[0104] 繼續(xù)圖9中示出的示例,在稍后的時間,發(fā)生將大用戶的4個備用預(yù)留轉(zhuǎn)換成專用 虛擬機(jī)的觸發(fā)事件。由于大用戶正在使用的虛擬機(jī)的活動或使用或其結(jié)合,該觸發(fā)事件可 基于時間、基于負(fù)載。在該示例中,該觸發(fā)事件是基于活動或負(fù)載的,并在分派時間段的中 間期間發(fā)生。在該相同分派時間段期間,Abel還將所請求的可搶占機(jī)器的數(shù)目從三增加到 四。該來自Abel的增加請求包括相同的投標(biāo)價格。
[0105] 圖10示出了以上改變的初始成果。為大用戶對備用預(yù)留的轉(zhuǎn)換導(dǎo)致為該大用戶 將虛擬機(jī)1094轉(zhuǎn)換成專用機(jī)器。這些備用預(yù)留是通過搶占最低優(yōu)先級可搶占作業(yè)而被轉(zhuǎn) 換成專用虛擬機(jī)的。在圖10中示出的示例中,這對應(yīng)于搶占具有最低關(guān)聯(lián)投標(biāo)的作業(yè)。在 圖10中示出的示例中,備用計數(shù)793和794反映出這些承租者包含基于最低可搶占投標(biāo)來 分派的虛擬機(jī),但這并不是必須的。如上所述,備用預(yù)留可以出于各種原因而與所需任務(wù)承 租者相關(guān)聯(lián),并且可搶占作業(yè)可以在對專用機(jī)器的轉(zhuǎn)換之后在各任務(wù)承租者之間移動。在 圖10中,對應(yīng)于最低可搶占投標(biāo)的虛擬機(jī)是基于0. 6分的投標(biāo)向Charles分派的虛擬機(jī)。 將該虛擬機(jī)轉(zhuǎn)換成任務(wù)承租者711中針對大用戶的專用虛擬機(jī)1093。接著的三個最低投 標(biāo)對應(yīng)于任務(wù)承租者710中分派給Frank的可搶占虛擬機(jī)。這些虛擬機(jī)被轉(zhuǎn)換成分派給大 用戶的專用虛擬機(jī)1094。這留下一個可搶占虛擬機(jī)856被分派給Frank。注意,雖然Abel 具有更高的投標(biāo),但現(xiàn)貨定價機(jī)制僅用于在時間段的開始處重新分派可搶占虛擬機(jī)。由于 Abel的請求是在時間段的中間期間作出的,因此Abel的請求不會取代分派給Frank的可搶 占虛擬機(jī),即使Abel的請求包括更高的投標(biāo)。此外,由于對針對大用戶的備用預(yù)留的轉(zhuǎn)換, 任務(wù)承租者710和711兩者的備用計數(shù)被減少成0。
[0106] 圖11示出了在下一分派時間段的開始處發(fā)生的附加改變。由于由大用戶請求的 額外資源,更少虛擬機(jī)可用于作為可搶占機(jī)器進(jìn)行分派。這導(dǎo)致全局現(xiàn)貨價格增加到每時 間段11分。如圖11所示,Abel對附加機(jī)器的在先請求現(xiàn)在由虛擬機(jī)1126來履行。在任 務(wù)承租者710中,全局現(xiàn)貨價格的增加導(dǎo)致Frank的投標(biāo)跌到現(xiàn)貨價格以下,使得在該分派 時間段期間未向Frank分派可搶占虛擬機(jī)。
[0107] 附加實施例
[0108] 在簡要描述了本發(fā)明的各實施例的概覽后,現(xiàn)在描述適于實現(xiàn)虛擬機(jī)的示例性操 作環(huán)境。概括地參考附圖,并首先具體參考圖12,示出了用于實現(xiàn)本發(fā)明的各實施例的示例 性操作環(huán)境,并將其概括地指定為計算設(shè)備1200。計算設(shè)備1200只是合適的計算環(huán)境的一 個示例,并且不旨在對本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)該將計算設(shè)備1200 解釋為對所示出的任一組件或其組合有任何依賴性或要求。
[0109] 本發(fā)明的各實施例可以在由計算機(jī)或諸如個人數(shù)據(jù)助理或其它手持式設(shè)備之類 的其它機(jī)器執(zhí)行的計算機(jī)代碼或機(jī)器可使用指令(包括諸如程序模塊之類的計算機(jī)可執(zhí) 行指令)的一般上下文中描述。一般而言,包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等的程序 模塊指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的代碼。本發(fā)明可以在各種系統(tǒng)配置中 實施,這些系統(tǒng)配置包括手持式設(shè)備、消費電子產(chǎn)品、通用計算機(jī)、更專用計算設(shè)備等等。本 發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計算環(huán)境中實 踐。
[0110] 繼續(xù)參考圖12,計算設(shè)備1200包括直接或間接耦合以下設(shè)備的總線1210 :存儲器 1212、一個或多個處理器1214、一個或多個可任選的呈現(xiàn)組件1216、輸入/輸出(I/O)端口 1218、可任選的I/O組件1220、和說明性電源1222??偩€1210表示可以是一條或多條總線 (諸如地址總線、數(shù)據(jù)總線、或其組合)。雖然為了清楚起見利用線條示出了圖12的各框, 但是實際上,各組件的輪廓并不是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的 和模糊的。例如,可以將諸如顯示設(shè)備等呈現(xiàn)組件認(rèn)為是I/O組件。另外,許多處理器具有 存儲器。發(fā)明人關(guān)于此點認(rèn)識到這是本領(lǐng)域的特性,并重申,圖12的圖示只是可以結(jié)合本 發(fā)明的一個或多個實施例來使用的示例性計算設(shè)備的例示。諸如"工作站"、"服務(wù)器"、"膝 上型計算機(jī)"、"手持式設(shè)備"等分類之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖12的范圍之內(nèi) 的并且被稱為"計算設(shè)備"。
[0111] 計算設(shè)備1200通常包括各種計算機(jī)可讀介質(zhì)。計算機(jī)可讀介質(zhì)可以是可由計算 設(shè)備1200訪問的任何可用介質(zhì),而且包含易失性和非易失性介質(zhì)、可移動和不可移動介 質(zhì)。作為示例而非限制,計算機(jī)可讀介質(zhì)可包括計算機(jī)存儲介質(zhì)和通信介質(zhì)。計算機(jī)存儲 介質(zhì)包括以存儲諸如計算機(jī)可讀的指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)之類的信息的任 何方法或技術(shù)實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機(jī)存儲介質(zhì)包括,但 不限于,隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、 閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它全息存儲器、磁帶盒、磁帶、磁 盤存儲或其它磁性存儲設(shè)備或可用于編碼所需信息且可以由計算設(shè)備1200訪問的任何其 它介質(zhì)。在一個實施例中,計算機(jī)存儲介質(zhì)可以從有形計算機(jī)存儲介質(zhì)中選擇。在另一實 施例中,計算機(jī)存儲介質(zhì)可以從非臨時性計算機(jī)存儲介質(zhì)中選擇。
[0112] 通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號來體現(xiàn)計算機(jī)可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),且包含任何信息傳遞介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號" 指其一個或多個特征以這樣的方式設(shè)置或改變以便在信號中對信息進(jìn)行編碼的信號。作為 示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、 RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。上述的任意組合也應(yīng)包括在計算機(jī)可讀介質(zhì)的 范圍之內(nèi)。
[0113] 存儲器1212可包括易失性和/或非易失性存儲器形式的計算機(jī)存儲介質(zhì)。存儲 器可以是可移動的,不可移動的,或兩者的組合。示例性硬件設(shè)備包括固態(tài)存儲器、硬盤驅(qū) 動器、光盤驅(qū)動器等。計算設(shè)備1200包括從諸如存儲器1212或I/O組件1220等各種實體 讀取數(shù)據(jù)的一個或多個處理器。(諸)呈現(xiàn)組件1216向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示 例性呈現(xiàn)組件包括顯示設(shè)備、揚聲器、打印組件、振動組件等等。
[0114] I/O端口 1218可允許計算設(shè)備1200邏輯上耦合至包括I/O組件1220的其它設(shè) 備,其中某些可以是內(nèi)置的。說明性組件可包括話筒、操縱桿、游戲手柄、圓盤式衛(wèi)星天線、 掃描儀、打印機(jī)、無線設(shè)備等等。
[0115] 參考具體實施例描述了本發(fā)明的實施例,具體實施例在所有方面都旨在是說明性 的而非限制性的。不偏離本發(fā)明范圍的情況下,各替換實施例對于本發(fā)明所屬領(lǐng)域的技術(shù) 人員將變得顯而易見。
[0116] 圖13示出了根據(jù)本發(fā)明的方法的示例。在圖13中,接收1310針對可搶占虛擬機(jī) 的分派的第一價格。該接收價格可被使用,例如一個或多個虛擬機(jī)群集基于該接收價格以 及與各個虛擬機(jī)池相關(guān)聯(lián)的投標(biāo)來分派可搶占虛擬機(jī)。隨后將來自一個或多個虛擬機(jī)群集 的多個可搶占虛擬機(jī)分派1320給虛擬機(jī)池。使用所分派的虛擬機(jī)來執(zhí)行1330 -個或多個 任務(wù)。隨后接收1340針對可搶占虛擬機(jī)的分派的第二價格。通常,這可對應(yīng)于接收供在后 續(xù)分派時間段使用的新價格。將來自一個或多個虛擬機(jī)群集的至少一個虛擬機(jī)和來自附加 虛擬機(jī)群集的至少一個虛擬機(jī)分派1350給該虛擬機(jī)池。隨后使用所分派的來自附加虛擬 機(jī)群集的(諸)虛擬機(jī)來執(zhí)行1360 -個或多個任務(wù)。
[0117] 圖14示出了根據(jù)本發(fā)明的方法的另一示例。在圖14中,接收1410針對可搶占虛 擬機(jī)的分派的價格?;谂c第一虛擬機(jī)池相關(guān)聯(lián)的第一投標(biāo)將來自第一虛擬機(jī)群集的虛擬 機(jī)分派1420給第一虛擬機(jī)池。該第一投標(biāo)對應(yīng)于對第一虛擬機(jī)群集具有親和力的對虛擬 機(jī)的請求。該請求中的至少一個虛擬機(jī)未被履行?;谂c第二虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo) 將來自第二虛擬機(jī)群集的虛擬機(jī)分派1430給第二虛擬機(jī)池。分派給第二虛擬機(jī)池的至少 虛擬機(jī)是基于大于收到價格但小于對應(yīng)于第一虛擬機(jī)池的投標(biāo)的投標(biāo)價值來分派的。隨后 使用所分派的可搶占虛擬機(jī)(諸如,分派給第二虛擬機(jī)池的可搶占虛擬機(jī))來執(zhí)行1440 - 個或多個任務(wù)。
[0118] 圖15示出了根據(jù)本發(fā)明的方法的又一示例。在圖15中,接收1510針對可搶占虛 擬機(jī)的分派的價格。基于相關(guān)聯(lián)的第一投標(biāo)將第一多個可搶占虛擬機(jī)分派1520給第一虛 擬機(jī)池。基于相關(guān)聯(lián)的第二投標(biāo)將第二多個可搶占虛擬機(jī)分派1530給第二虛擬機(jī)池。使 用所分派的虛擬機(jī)來執(zhí)行1540 -個或多個任務(wù)。隨后接收到1550來自第一虛擬機(jī)池的增 加可搶占虛擬機(jī)的數(shù)目的請求。對應(yīng)于該請求的投標(biāo)大于與第二虛擬機(jī)池相關(guān)聯(lián)的投標(biāo)。 維護(hù)1560對第二多個虛擬機(jī)的分派直到分派時間段的結(jié)束。隨后從第二虛擬機(jī)池中移除 1560對來自第二多個虛擬機(jī)的至少一個虛擬機(jī)的分派。在后續(xù)分派時間段中將所移除的至 少一個虛擬機(jī)分派1570給第一虛擬機(jī)池。
[0119] 在一實施例中,提供了一種用于提供云計算環(huán)境中的資源的方法。該方法包括:接 收針對可搶占虛擬機(jī)的分派的第一價格;基于接收到的第一價格和與虛擬機(jī)池相關(guān)聯(lián)的第 一投標(biāo)將來自一個或多個虛擬機(jī)群集的多個可搶占虛擬機(jī)分派給該虛擬機(jī)池;在所分派的 多個可搶占虛擬機(jī)上執(zhí)行一個或多個任務(wù);接收針對可搶占虛擬機(jī)的分派的第二價格;基 于接收到的第二價格以及與該虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自一個或多個虛擬機(jī)群集 的至少一個可搶占虛擬機(jī)以及來自附加虛擬機(jī)群集的至少一個可搶占虛擬機(jī)分派給該虛 擬機(jī)池;以及在所分派的來自附加虛擬機(jī)群集的至少一個可搶占虛擬機(jī)上執(zhí)行一個或多個 任務(wù)。
[0120] 在另一實施例中,提供了一種用于提供云計算環(huán)境中的資源的方法。該方法包括: 接收針對可搶占虛擬機(jī)的分派的價格;基于接收到的價格和與第一虛擬機(jī)池相關(guān)聯(lián)的第一 投標(biāo)將來自第一虛擬機(jī)群集的一個或多個可搶占虛擬機(jī)分派給該第一虛擬機(jī)池,該第一投 標(biāo)對應(yīng)于包括對第一虛擬機(jī)群集的親和力的對多個可搶占虛擬機(jī)的請求,其中在該對多個 可搶占虛擬機(jī)的請求中的至少一個虛擬機(jī)在分派了第一虛擬機(jī)群集中的虛擬機(jī)后未被履 行;基于接收到的價格和與第二虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自第二虛擬機(jī)群集的一個 或多個可搶占虛擬機(jī)分派給該第二虛擬機(jī)池,其中來自該第二虛擬機(jī)群集的至少一個所分 派虛擬機(jī)是基于大于收到的價格并小于與第一虛擬機(jī)池相關(guān)聯(lián)的第一投標(biāo)的投標(biāo)而被分 派給第二虛擬機(jī)池的;以及,在第二虛擬機(jī)池中的所分派的來自第二虛擬機(jī)群集的可搶占 虛擬機(jī)上執(zhí)行一個或多個任務(wù)。
[0121] 在又一實施例中,提供了一種用于提供云計算環(huán)境中的資源的方法。該方法包括: 接收針對可搶占虛擬機(jī)的分派的價格;基于接收到的價格和與第一虛擬機(jī)池相關(guān)聯(lián)的第一 投標(biāo)將來自一個或多個虛擬機(jī)群集的第一多個可搶占虛擬機(jī)分派給第一虛擬機(jī)池;基于接 收到的價格和與第二虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自該一個或多個虛擬機(jī)群集的第二 多個可搶占虛擬機(jī)分派給第二虛擬機(jī)池;在第一多個可搶占虛擬機(jī)上以及在第二多個可搶 占虛擬機(jī)上執(zhí)行一個或多個任務(wù);接收來自第一虛擬機(jī)池的增加可搶占虛擬機(jī)的數(shù)目的請 求,該增加請求對應(yīng)于與第一虛擬機(jī)池相關(guān)聯(lián)的第三投標(biāo),該第三投標(biāo)大于與第二虛擬機(jī) 池相關(guān)聯(lián)的第二投標(biāo);維護(hù)對第二多個虛擬機(jī)的分派直到分派時間段的結(jié)束;從第二虛擬 機(jī)池中移除對來自第二多個虛擬機(jī)的至少一個虛擬機(jī)的分派;以及,在后續(xù)分派時間段將 所移除的至少一個虛擬機(jī)分派給第一虛擬機(jī)池。
[0122] 從前面的描述可以看出,本發(fā)明很好地適用于實現(xiàn)上文所闡述的所有目的和目 標(biāo),并且具有對于該結(jié)構(gòu)是顯而易見且固有的其他優(yōu)點。
[0123] 可理解的是,某些特征和子組合是有用的,并且可以加以利用而無需參考其它特 征和子組合。這由權(quán)利要求所構(gòu)想的,并在權(quán)利要求的范圍內(nèi)。
【權(quán)利要求】
1. 一種用于提供云計算環(huán)境中的資源的方法,包括: 接收針對可搶占虛擬機(jī)的分派的第一價格; 基于接收到的第一價格以及與虛擬機(jī)池相關(guān)聯(lián)的第一投標(biāo)將來自一個或多個虛擬機(jī) 群集的多個可搶占虛擬機(jī)分派給所述虛擬機(jī)池; 在所分派的多個可搶占虛擬機(jī)上執(zhí)行一個或多個任務(wù); 接收對可搶占虛擬機(jī)的分派的第二價格; 基于接收到的第二價格和與所述虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自所述一個或多個 虛擬機(jī)群集的至少一個可搶占虛擬機(jī)和來自附加虛擬機(jī)群集的至少一個可搶占虛擬機(jī)分 派給所述虛擬機(jī)池;以及 在所分派的來自所述附加機(jī)器群集的至少一個可搶占虛擬機(jī)上執(zhí)行一個或多個任務(wù)。
2. 如權(quán)利要求1所述的方法,其特征在于,來自所述附加虛擬機(jī)群集的虛擬機(jī)對應(yīng)于 在相對于對應(yīng)于所述一個或多個虛擬機(jī)群集的物理機(jī)器而言分開的地理位置中的物理機(jī)。
3. 如權(quán)利要求1或2所述的方法,其特征在于,還包括基于來自所述第二虛擬機(jī)池的請 求將來自所述一個或多個虛擬機(jī)群集的至少一個虛擬機(jī)分派給第二虛擬機(jī)池,所述請求包 括對所述一個或多個虛擬機(jī)群集中的一虛擬機(jī)群集的親和力,將來自附加虛擬機(jī)群集的至 少一個可搶占虛擬機(jī)分派給所述虛擬機(jī)池響應(yīng)于將來自所述一個或多個虛擬機(jī)群集的至 少一個虛擬機(jī)分派給第二虛擬機(jī)池。
4. 如權(quán)利要求1-3中的任一項所述的方法,其特征在于,進(jìn)一步包括: 聚集對應(yīng)于多個虛擬機(jī)池的投標(biāo),每一投標(biāo)包括所請求的多個可搶占虛擬機(jī); 確定多個虛擬機(jī)可用于作為可搶占虛擬機(jī)來進(jìn)行分派; 基于所聚集的投標(biāo)來計算全局現(xiàn)貨價格,所述全局現(xiàn)貨價格被計算以使得所包括的具 有大于所述全局現(xiàn)貨價格的投標(biāo)的所請求可搶占虛擬機(jī)的數(shù)目小于或等于所確定的虛擬 機(jī)數(shù)目;以及 將計算出的全局現(xiàn)貨價格作為針對可搶占虛擬機(jī)的分派的價格分發(fā)給所述多個虛擬 機(jī)池。
5. -個或多個存儲計算機(jī)可使用指令的計算機(jī)存儲介質(zhì),當(dāng)所述指令由計算設(shè)備執(zhí)行 時執(zhí)行一種用于提供云計算環(huán)境中的資源的方法,包括: 接收針對可搶占虛擬機(jī)的分派的價格; 基于接收到的價格和與第一虛擬機(jī)池相關(guān)聯(lián)的第一投標(biāo)將來自第一虛擬機(jī)群集的一 個或多個可搶占虛擬機(jī)分派給所述第一虛擬機(jī)池,所述第一投標(biāo)對應(yīng)于包括對所述第一虛 擬機(jī)群集的親和力的對多個可搶占虛擬機(jī)的請求,其中所述對多個可搶占虛擬機(jī)的請求中 的至少一個虛擬機(jī)在分派了所述第一虛擬機(jī)群集中的虛擬機(jī)之后未被履行; 基于接收到的價格和與第二虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自第二虛擬機(jī)群集的一 個或多個可搶占虛擬機(jī)分派給所述第二虛擬機(jī)池,其中來自所述第二虛擬機(jī)群集的至少一 個所分派的虛擬機(jī)是基于大于接收到的價格并小于與所述第一虛擬機(jī)池相關(guān)聯(lián)的所述第 一投標(biāo)的投標(biāo)而被分派給所述第二虛擬機(jī)池的;以及 在所述第二虛擬機(jī)池中的來自所述第二虛擬機(jī)群集的所分派的可搶占虛擬機(jī)上執(zhí)行 一個或多個任務(wù)。
6. 如權(quán)利要求5所述的計算機(jī)存儲介質(zhì),其特征在于,至少一個未履行的虛擬機(jī)請求 在分派時間段內(nèi)保持未被履行,并且來自所述第二虛擬機(jī)群集的至少一個虛擬機(jī)在所述分 派時間段期間未被分派。
7. 如權(quán)利要求5或6所述的計算機(jī)存儲介質(zhì),其特征在于,還包括: 聚集對應(yīng)于多個虛擬機(jī)池的投標(biāo),每一投標(biāo)包括所請求的多個可搶占虛擬機(jī); 確定多個虛擬機(jī)可用于作為可搶占虛擬機(jī)進(jìn)行分派; 基于所聚集的投標(biāo)計算全局現(xiàn)貨價格,所述全局現(xiàn)貨價格被計算以使得大于所述全局 價格的投標(biāo)所包括的所請求的可搶占虛擬機(jī)的數(shù)目小于或等于所確定的虛擬機(jī)數(shù)目;以及 將計算出的全局現(xiàn)貨價格作為針對可搶占虛擬機(jī)的分派的價格分發(fā)給所述多個虛擬 機(jī)池。
8. -種用于提供云計算環(huán)境中的資源的方法,包括: 接收針對可搶占虛擬機(jī)的分派的價格; 基于接收到的價格和與第一虛擬機(jī)池相關(guān)聯(lián)的第一投標(biāo)將來自一個或多個虛擬機(jī)群 集的第一多個可搶占虛擬機(jī)分派給所述第一虛擬機(jī)池; 基于接收到的價格和與第二虛擬機(jī)池相關(guān)聯(lián)的第二投標(biāo)將來自所述一個或多個虛擬 機(jī)群集的第二多個可搶占虛擬機(jī)分派給所述第二虛擬機(jī)池; 在所述第一多個可搶占虛擬機(jī)上以及所述第二多個可搶占虛擬機(jī)上執(zhí)行一個或多個 任務(wù); 接收來自所述第一多個虛擬機(jī)池的增加可搶占虛擬機(jī)的數(shù)目的請求,該增加請求對應(yīng) 于與所述第一虛擬機(jī)池相關(guān)聯(lián)的第三投標(biāo),所述第三投標(biāo)大于與所述第二虛擬機(jī)池相關(guān)聯(lián) 的第二投標(biāo); 維護(hù)對所述第二多個虛擬機(jī)的分派直到分派時間段的結(jié)束; 從所述第二虛擬機(jī)池中移除對來自所述第二多個虛擬機(jī)的至少一個虛擬機(jī)的分派;以 及 在后續(xù)分派時間段內(nèi)將所移除的至少一個虛擬機(jī)分派給所述第一虛擬機(jī)池。
9. 如權(quán)利要求8所述的方法,其特征在于,對可搶占虛擬機(jī)的分派是在分派時間段的 開始處執(zhí)行的,針對可搶占虛擬機(jī)的分派的價格是在分派時間段的開始之前接收到的。
10. 如權(quán)利要求9所述的方法,其特征在于,可搶占虛擬機(jī)的數(shù)目的增加由所述第一虛 擬機(jī)池在針對可搶占虛擬機(jī)的分派的價格被接收到之后并在所述后續(xù)分派時間段之前請 求。
【文檔編號】G06F15/16GK104160387SQ201380005083
【公開日】2014年11月19日 申請日期:2013年1月7日 優(yōu)先權(quán)日:2012年1月9日
【發(fā)明者】B·G·卡爾德, J·王, V·貝德卡, S·??ㄌm, M·米克尼特二世, P·K·貢達(dá), Y·張, S·安東尼, K·曼尼瓦納, H·卡特里 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
四子王旗| 丰镇市| 教育| 泸溪县| 拜泉县| 汉中市| 茂名市| 五原县| 海伦市| 宜宾市| 漠河县| 广宗县| 南充市| 横山县| 抚松县| 吉木乃县| 海口市| 类乌齐县| 北京市| 车险| 登封市| 万载县| 新和县| 拜城县| 南平市| 肃南| 仙游县| 金阳县| 辽中县| 福海县| 绍兴市| 七台河市| 双牌县| 六盘水市| 印江| 永仁县| 阿巴嘎旗| 新乡市| 湛江市| 威远县| 玛沁县|