亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

多計算機系統(tǒng)中的自動搶占的制作方法

文檔序號:7859886閱讀:199來源:國知局
專利名稱:多計算機系統(tǒng)中的自動搶占的制作方法
技術領域
本發(fā)明涉及多計算機系統(tǒng)中的自動搶占。
背景技術
計算機和計算系統(tǒng)已經影響了現(xiàn)代生活的幾乎每個方面。計算機通常在工作、休閑、保健、運輸、娛樂、家政管理等中都有涉獵。此外,計算系統(tǒng)功能可以通過計算系統(tǒng)的經由網絡連接互連到其他計算系統(tǒng)的能力來增強。網絡連接可包括,但不僅限于,經由有線或無線以太網的連接,蜂窩式連接,或者甚至通過串行、并行、USB或其它連接的計算機到計算機的連接。這些連接允許計算系統(tǒng)訪問其他計算系統(tǒng)上的服務,并快速且有效地從其他計算系統(tǒng)接收應用數據。 計算系統(tǒng)可以互連以形成群集,其中計算系統(tǒng)充當群集中的節(jié)點。例如,為了保證應用的高可用性,常見的是在分布式多計算機系統(tǒng)(即群集)中托管這些應用。然而,可能存在的情況是,通常被用作群集中的節(jié)點的一個或多個計算系統(tǒng)由于硬件問題、網絡分區(qū)或其他問題而未運行或不能被訪問。主群集負責標識出哪些計算機未運行,并且然后把在這些計算機上托管的應用重新分配給運行中的其他計算機。在主群集中的計算機上托管的每個應用都消耗一些資源,比如主計算機上CPU和存儲器、IOPS (用于存儲的每秒I/O操作)、網絡帶寬等等。尤其是當一個或多個計算機未運行時,主群集可能變?yōu)檫^載。例如,如果每個計算機具有32GB存儲器可供應用使用,并且每個應用占用8GB存儲器,則在3節(jié)點群集上可以運行最多12個這樣的應用。然而,如果一個節(jié)點停機,則僅能托管8個應用。托管者常常以大的安全余量不足地供應他們的群集,使得所有應用即使在一些計算機未運行時仍然可以被托管。然而,這導致資源被利用不足。在此要求保護的主題不限于解決任何缺點或僅在諸如上述的環(huán)境中操作的各個實施例。相反,提供該背景僅用以示出在其中可實踐在此描述的部分實施例的一個示例性技術領域。

發(fā)明內容
在此所示的一個實施例針對一種在包括群集的分布式計算環(huán)境中實施的實施例。該群集包括多個節(jié)點。一實施例包括具有將應用放置在該群集的節(jié)點上的動作的方法。該方法包括確定第一應用不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點上。該方法還包括確定通過關閉或移動在第一節(jié)點上運行的一個或多個其他應用第一應用可能能夠被放置在第一節(jié)點上。該方法還包括嘗試關閉或移動第一節(jié)點上的一個或多個其他應用中的一個或多個以放置第一應用。提供本發(fā)明內容以便以簡化形式介紹將在以下詳細描述中進一步描述的一些概念。本發(fā)明內容并非旨在標識所要求保護的主題的關鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。
另外的特征和優(yōu)點將在以下的描述中闡述,并且部分可從該描述中顯而易見,或者可以從此處的教示實踐中習得。本發(fā)明的特征和優(yōu)點可以通過在所附權利要求中特別指出的手段和組合來實現(xiàn)并獲取。本發(fā)明的特征將從以下描述和所附權利要求書中變得完全顯而易見,或者可通過如下所述對本發(fā)明的實踐而獲知。


為了描述能夠獲得上述和其它優(yōu)點和特征的方式,將通過參考附圖中示出的各具體實施例來呈現(xiàn)對以上簡述的主題的更為具體的描述。應該理解,這些附圖僅描繪了各典型實施例,因此其不應被認為是對范圍的限制,各實施例將通過使用附圖用附加特征和細節(jié)來描述并解釋,在附圖中圖I示出了群集和該群集中的節(jié)點;圖2示出了群集和該群集中的節(jié)點的另一表示;
圖3示出了將應用添加到該群集中的一節(jié)點;圖4示出了將應用從該群集中的一個節(jié)點移動到該群集中的另一節(jié)點;圖5示出了用于在群集中放置和/或搶占應用的動作。圖6示出了用于在群集中放置應用的方法。
具體實施例方式在此所示的一些實施例在計算機不可用或者變?yōu)椴豢捎脮r不是不足地供應他們的群集,而是標識出并關閉重要性更低的應用,使得具有更高正常運行時間保證的更重要的應用保持運行。這會使得托管者能夠有效利用他們的計算資源。如在此所使用的那樣,“托管者”是通過嘗試為應用分配足夠大量的計算資源來部署應用(在一些示例中為大量應用)的實體。一些實施例可以(1)提供一種機制,通過該機制它們能標識出每個應用在保持其運行方面相對于其他應用有多么重要;(2)具有一種機制以確定群集資源中的為了運行某一應用所需的任何群集資源何時為不再足夠;(3)具有一種機制以標識出并關閉一個或多個重要性更低的應用或應用的某些部分以能夠運行更重要的應用;和/或(4)具有一種機制以在足夠的資源變?yōu)榭捎糜谶\行已經被關閉的任何應用時重啟該應用。這可以使得托管某一應用的分布式多計算機系統(tǒng)能夠標識出出現(xiàn)這樣的資源不足的實際時間,并且作出決策以通過關閉重要性更低的應用來保證足夠的計算資源可用于更重要的應用。實施例可以使得托管應用的分布式多計算機系統(tǒng)能夠實時地標識出為了托管所有應用所需的系統(tǒng)資源何時為不足的,并且然后標識出并關閉系統(tǒng)中的一些重要性更低的應用(或應用的某些部分),使得能以最少的停機時間托管更重要的應用?,F(xiàn)在參考圖1,示出了示例群集102。群集102包括在此用104統(tǒng)指、但用104_1、104-2至104-n具體示出的多個節(jié)點,其中省略號和變量“η”指示節(jié)點的可變數目。節(jié)點104中的每個都托管一個或多個應用(在此通稱106)。圖I將節(jié)點104-1上的應用的具體示例示為106-1、106-2至106-m,其中省略號和變量“m”指示應用的可變數目。節(jié)點104中的至少一個或多個包括群集服務108的實例或一部分。群集服務108負責將新節(jié)點104添加到群集102以及用于將應用放置在節(jié)點104上。盡管群集服務108在圖I所示的示例中被示為分布在多個節(jié)點104中,但是應當理解,在其他實施例中,群集服務108可以處于更少的節(jié)點104上,比如在一個實施例中處于被實現(xiàn)為領導者節(jié)點的單個節(jié)點上。為了保證計算資源的更高可用性和更佳利用,托管者在分布式多計算機系統(tǒng)(群集102)中托管多個應用106,而不是為每個應用具有專用計算機。在這樣的系統(tǒng)中,許多應用通常在每個計算機(即節(jié)點104)上運行。這些應用中的每個應用都需要一些計算資源,比如主計算機上CPU和存儲器、IOPS (用于存儲的每秒I/O操作)、網絡帶寬等等。托管者常常以相當大的安全因子過供應他們的群集,使得所有應用106即使在節(jié)點104中的一些未運行時仍然可以被托管。群集102負責標識出哪些節(jié)點104未運行,并且然后把在這些節(jié)點104上托管的應用106重新分配給運行中的其他節(jié)點104。例如并參考圖2,如果節(jié)點104-1出于某種原因被關閉,則應用106-1、106-2和/或106-3中的一個或多個可以被移動到群集102上的其他節(jié)點104-2和/或104-3中的一個或多個。然而,使用搶占更低優(yōu)先級應用106的機制,托管者可以在它們的群集102上供應更多應用。在群集102中的一些節(jié)點104不可用的情況下,可能的是可能不存在足夠的資源來托管所有應用106。 在這樣的場景中,群集102可能能夠通過關閉較低優(yōu)先級應用106來搶占這些低優(yōu)先級應用106,由此釋放足夠的計算資源以能夠運行較高優(yōu)先級應用106。例如,應用106-4和106-5可以是較低優(yōu)先級應用,其可以在節(jié)點104-1發(fā)生故障時被關閉以給應用106-1、106-2和106-3 (其可以是較高優(yōu)先級應用)讓出空間。如在此所討論的那樣,群集102是托管多個應用106的分布式計算系統(tǒng)。搶占者是較高優(yōu)先級應用,其可能不具有足夠的資源來運行,并且因此致使一個或多個較低優(yōu)先級應用被關閉。被搶占者是較低優(yōu)先級應用,其可被關閉以釋放資源以供較高優(yōu)先級應用使用。同一應用根據其周圍的應用的優(yōu)先級可以是搶占者或被搶占者。例如,中等優(yōu)先級應用可以在被放置在具有低優(yōu)先級應用的節(jié)點上時為搶占者,并且可以在高優(yōu)先級應用到達該同一節(jié)點的情況下自身變?yōu)楸粨屨颊?。可以使用各種不同的方法來指定優(yōu)先級以及確定應用是否具有足夠的優(yōu)先級來搶占另一其他應用。例如,在一些實施例中,可以向應用提供相對于群集102中的所有其他運行中的應用的相對排名。任何較高優(yōu)先級應用都可以搶占比其自身具有更低優(yōu)先級的任何應用??商娲鼗蚋郊拥?,在一些實施例中,可以通過將應用分配給優(yōu)先級組來指定優(yōu)先級,其中每個組都具有不同等級的優(yōu)先級。例如,可能存在四個優(yōu)先級低、中、高和非常高。在所示的示例中,可以由管理員來配置不同的閾值最低搶占者優(yōu)先級和最高被搶占者優(yōu)先級。在所示的示例中,僅當以下全部條件滿足時才可發(fā)生搶占僅當優(yōu)先級(Al) >優(yōu)先級(A2)時,應用Al才將致使A2被搶占;僅當Al〉=最小搶占者優(yōu)先級時,由于不足的資源而不能啟動的應用Al才可以致使對較低優(yōu)先級應用的搶占;以及僅當優(yōu)先級(A2)〈=最大被搶占者優(yōu)先級時,應用才可以被搶占。這些示例僅僅是說明性的示例,并且其他示例可以具有不同標準來確定應用是否可以搶占或被搶占。可能存在不同機制來定義應用的關于誰可以是搶占者和被搶占者的相對優(yōu)先級。
實施例可以包括用于標識出何時沒有足夠的資源可用于啟動應用的功能??梢允褂酶鞣N不同的機制來確定計算機何時不具有足夠的資源來托管應用。下面示出一些示例。在一個示例中,確定沒有足夠的資源可用于啟動應用可以基于在該應用由于不足的資源而不能啟動時所返回的特定錯誤。在另一示例中,節(jié)點104可以跟蹤每個資源的多少被保留用于當前在該節(jié)點上運行的每個應用,以及確定何時沒有足夠的資源可用于放置在節(jié)點104上的新應用。在又一示例中,可以跨節(jié)點104全局地維護關于每個節(jié)點104上的保留的全局圖。該全局圖可以被查閱以確定是否有足夠資源可用于在某一節(jié)點104上啟動某一應用。類似地,可以使用不同機制來確定應用需要多少資源。這可以用于確定應用需要什么資源來搶占另一應用,和/或基于應用一旦被搶占什么資源就將可用來確定什么應用應當被搶占。在一些實施例中,可以基于作為應用配置的一部分被指定的靜態(tài)配置來確定應用(搶占者或被搶占者)需要的資源。例如,開發(fā)者可以指定應用為了運行而需要什么資源、以及這些資源的多少??商娲?,對于運行應用需要什么資源的確定可以動態(tài)地進行。例如,這樣的確定可以基于在該特定實例處的實時使用或者基于資源的平均應用使用來進行。·
搶占可以在許多不同場景中發(fā)生。例如,在一些實施例中,節(jié)點(例如圖2中的節(jié)點104-1)可能已經崩潰??梢試L試將節(jié)點(例如節(jié)點104-1)上運行的應用(例如應用106-1至106-3)放置其他節(jié)點(例如節(jié)點104-2和/或104-3中的一個或多個)上。這些其他節(jié)點中的一些(例如節(jié)點104-2和/或104-3中的一個或多個)可能不具有足夠的資源來運行這些新的應用(例如應用106-1至106-3),從而導致需要搶占其他節(jié)點(例如節(jié)點104-2和/或104-3中的一個或多個)上運行的應用(例如應用106-4至106-9中的一個或多個)。在圖3所示的另一示例性場景中,嘗試在節(jié)點104-1上創(chuàng)建或啟動新應用106-10,并且該節(jié)點104-1不具有足夠的資源來運行該新應用106-10。因此,應用106-1、106-2和/或106-3中的已經在節(jié)點104-1上運行的一個或多個應用可以在某些搶占條件滿足時被搶占以為新應用106-10讓出空間。在另一示例性場景中,可以嘗試由管理員將應用106-4從一個節(jié)點104-2移動到另一目標節(jié)點104-1。目標節(jié)點104-1可能不具有足夠的資源來運行應用106-4。因此,應用106-1、106-2和/或106-3中的已經在節(jié)點104-1上運行的一個或多個應用可以在某些搶占條件滿足時被搶占以為新應用106-4讓出空間?,F(xiàn)在參考圖5,示出了搶占邏輯的詳細示例。節(jié)點中的應用托管模塊502確定(如在504所示)應用由于不足的資源而不能在節(jié)點上啟動。應用托管模塊502可以確定該應用是否可以是搶占者。例如,應用托管模塊502可以使用上述邏輯來確定應用優(yōu)先級 > 最小搶占者優(yōu)先級。應用托管模塊502可以通過查詢被搶占者標識模塊502來獲得可以被搶占的應用的列表,所述被搶占者標識模塊502返回為了釋放足夠資源以啟動所述搶占者而將被搶占的最低優(yōu)先級應用的最小集合??梢允褂闷渌囂椒▉泶_定所述被搶占者列表。例如,被搶占者標識模塊506可以挑選被搶占者使得總計數為最小,或者其可以搶占最低優(yōu)先級類的所有應用,或者其可以搶占給定固定計數的應用并且持續(xù)搶占應用直到其釋放了足夠的資源。
搶占者I旲塊508然后停止之如標識出的被搶占者并在此后啟動所述搶占者。搶占者模塊508可能具有關于其在停止被搶占者時攻擊性如何的不同策略。搶占者模塊508可以立即終止被搶占者,或者給他們足夠的時間來從容關閉。在一些實施例中,這可以基于搶占者和/或被搶占者任一或二者的重要性等級。例如,搶占者可以重要得使得被搶占者必須立即關閉以向該搶占者賦予盡可能塊地啟動這一能力??商娲兀瑩屨颊吆捅粨屨颊叩膬?yōu)先級的差異可能大得以至于立即關閉被搶占者而不向它們給予從容關閉的時間是合理的??商娲?,啟動搶占者可以是較不緊急的,使得可以允許被搶占者從容關閉。被搶占者重啟模塊可以本地地重啟被搶占者,或者將它們移動到其他節(jié)點上以在那里重啟。被搶占者重啟模塊可以使用不同的試探法來保證該群集是相對穩(wěn)定的。例如,被搶占者重啟模塊可以在其試圖重啟被搶占者或將被搶占者放置在其他節(jié)點上以前等待一段時間(例如3分鐘)??商娲?,如果被搶占者重啟模塊獲悉搶占是由于新應用在節(jié)點上被創(chuàng)建或啟動、或者由于應用被管理者移動并且在不同節(jié)點上有足夠的資源可用于運行被搶占者,則被搶占者重啟模塊可以立即將被搶占者放置在其他節(jié)點上。當應用被標識為被搶占者時,整個應用或其部分可以被關閉。例如,虛擬機應用包 括虛擬機組件和虛擬機配置組件。實施例可以在讓虛擬機配置組件保持運行的同時僅僅停止虛擬機組件,因為停止虛擬機配置組件將不釋放任何顯著的計算資源。應用的配置可以指定哪些組件在應用被搶占時需要被停止。以下討論現(xiàn)涉及可以執(zhí)行的多種方法以及方法動作。雖然用特定次序討論或用以特定次序發(fā)生的流程圖示出了各個方法動作,但除非明確規(guī)定否則不需要特定次序,或因為一動作依賴于另一動作在執(zhí)行該動作之前完成而需要特定次序?,F(xiàn)在參考圖6,示出了方法600。方法600可以在包括群集的分布式計算環(huán)境中實施。該群集包括多個節(jié)點。方法600包括將應用放置在該群集的節(jié)點上的動作。該方法包括確定第一應用不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點上(動作602)。例如,該節(jié)點可能由于由當前在該節(jié)點上運行的應用所導致的負載而不具有足夠的資源。方法600還包括確定通過關閉或移動在第一節(jié)點上運行的一個或多個其他應用第一應用可能能夠被放置在第一節(jié)點上(動作604)。例如,可以確定某些應用正在使用某些量的資源,并且如果通過停止所述所述某些應用那些資源被釋放,則足夠的資源將可用于放置第一應用。方法600還包括嘗試關閉或移動第一節(jié)點上的一個或多個其他應用以放置第一應用(動作606)。方法600還可以包括確定即使在嘗試關閉或移動所述一個或多個其他應用以后,第一應用仍然不能被放置在第一節(jié)點上。結果,該方法還可以包括選擇上面要放置第一應用的第二節(jié)點,并且隨后重復權利要求I的動作,只是這些動作在第二節(jié)點上執(zhí)行。方法600還可以包括確定第一應用不能在該群集的任何節(jié)點上運行。在一些這樣的實施例中,方法600可以包括停止嘗試在該群集的某個節(jié)點上運行該應用。這可以臨時或持久地進行。例如,一些實施例可以停止嘗試將應用放置在節(jié)點上,直到新節(jié)點被添加到該群集。然后,實施例可以再次開始嘗試將應用放置在該群集的節(jié)點上,可能從新近添加的節(jié)點開始。類似地,該群集中的現(xiàn)有節(jié)點上的資源發(fā)生改變,比如新資源被添加到節(jié)點,之前已經停止嘗試放置應用的實施例可以再次嘗試放置該應用,可能從具有新近添加的資源的節(jié)點開始。當所述一個或多個其他應用基于具有低于第一應用的優(yōu)先級而被選擇要被關閉時,可以實施方法600。這可以基于絕對優(yōu)先級評級。在可替代的實施例中,這可以基于對優(yōu)先級的歸類,比如在上面的示例中被歸類為低、中、高和非常高的類別。當基于對最少應用受影響集合的確定以最小化被關閉以便為第一應用釋放資源的應用的數目來選擇所述一個或多個其他應用關閉時,可以實施方法600。具體而言,可能希望關閉最小數目的應用。因此,實施例可以試圖找出單個應用,或者當前以與要放置的新應用在啟動時將會使用的資源接近的水平使用資源的應用的組合。當確定應用不能被放置在第一節(jié)點上包括接收關于該節(jié)點和運行在該節(jié)點上的應用的資源信息時,可以實施方法600。具體而言,該節(jié)點可以包括用于提供關于在節(jié)點上運行的應用、所述應用使用的資源、一般可用資源等等的信息的功能。在一些實施例中,這可以通過使用可在節(jié)點處用于提供這樣的信息的可擴展插件來實現(xiàn)。當確定通過關閉或移動在第一節(jié)點上運行的一個或多個其他應用第一應用可能能夠被放置在第一節(jié)點上是基 于所接收的資源信息時,可以實施方法600。如上所述,方法600還可以包括嘗試重啟曾被關閉的一個或多個應用中的一個或多個。在一些實施例中,確定重啟哪個應用是以通過進行有序重啟來防止群集過載的方式進行的。具體而言,重啟應用的嘗試可以被延遲??商娲蚋郊拥兀貑⒌膰L試可以按照優(yōu)先級,其中重啟應用的嘗試是通過在嘗試重啟較低優(yōu)先級應用以前嘗試重啟較高優(yōu)先級應用進行的。可以這樣做以例如保證較高優(yōu)先級應用的較高可用性。當用于關閉或移動所述一個或多個其他應用的過程是基于第一應用和所述一個或多個其他應用的相對優(yōu)先級而被確定時,可以實施方法600。例如,如果要放置的應用的優(yōu)先級為足夠高的,則被搶占的應用可以突然被停機,而不必等待允許存儲狀態(tài)信息、關閉連接、最終化讀取或寫入、釋放鎖等等的從容關閉。如果搶占者和被搶占者的優(yōu)先級更接近地匹配,則實施例可以允許更從容的關閉。方法600還可以包括防止曾被關閉的所述一個或多個其他應用重啟以防止搶占和重啟的級聯(lián)。例如,可以執(zhí)行防止以防止具有低于第一應用的優(yōu)先級的任何應用在第一應用仍然在群集中被處理時重啟。此外,各種方法可由包括一個或多個處理器和諸如計算機存儲器等計算機可讀介質的計算機系統(tǒng)來實施。具體而言,計算機存儲器可存儲計算機可執(zhí)行指令,這些指令在由一個或多個處理器執(zhí)行時使得諸如各實施例中所述的各個動作等各種功能被執(zhí)行。本發(fā)明的各實施例可以包括或利用包含計算機硬件的專用或通用計算機,這將在下文中更詳細地討論。本發(fā)明范圍內的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數據結構的物理和其他計算機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統(tǒng)訪問的任何可用介質。存儲計算機可執(zhí)行指令的計算機可讀介質是物理存儲介質。承載計算機可執(zhí)行指令的計算機可讀介質是傳輸介質。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質物理計算機可讀存儲介質和傳輸計算機可讀介質。物理計算機可讀存儲介質包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(如CD、DVD等)、磁盤存儲或其他磁存儲設備、或可用于存儲計算機可執(zhí)行指令或數據結構形式的所需程序代碼裝置且可由通用或專用計算機訪問的任何其他介質?!熬W絡”被定義為允許在計算機系統(tǒng)和/或模塊和/或其他電子設備之間傳輸電子數據的一個或多個數據鏈路。當信息通過網絡或另一個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機時,該計算機將該連接適當地視為傳輸介質。傳輸介質可包括可用于攜帶計算機可執(zhí)行指令或數據結構形式的所需程序代碼裝置且可由通用或專用計算機訪問的網絡和/或數據鏈路。以上介質的組合也被包括在計算機可讀介質的范圍內。此外,在到達各種計算機系統(tǒng)組件時,以計算機可執(zhí)行的指令或數據結構的形式存在的程序代碼裝置可以自動地從傳輸計算機可讀介質傳輸到物理計算機可讀存儲介質 (或者反之亦然)。例如,通過網絡或數據鏈路接收到的計算機可執(zhí)行指令或數據結構可被緩存在網絡接口模塊(例如,“NIC”)內的RAM中,然后最終被傳送到計算機系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機可讀物理存儲介質。因此,計算機可讀物理存儲介質可被包括在同樣(或甚至主要)利用傳輸介質的計算機系統(tǒng)組件中。計算機可執(zhí)行指令包括,例如使通用計算機、專用計算機、或專用處理設備執(zhí)行某一功能或某組功能的指令和數據。計算機可執(zhí)行指令可以是例如二進制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結構特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實現(xiàn)權利要求的示例形式而公開的。本領域的技術人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網絡計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設備、網絡PC、小型計算機、大型計算機、移動電話、roA、尋呼機、路由器、交換機等等。本發(fā)明也可在其中通過網絡鏈接(或者通過硬連線數據鏈路、無線數據鏈路,或者通過硬連線和無線數據鏈路的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務的分布式系統(tǒng)環(huán)境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設備二者中。本發(fā)明可具體化為其他具體形式而不背離其精神或特征。所描述的實施例在所有方面都應被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權利要求書而非前述描述指示。落入權利要求書的等效方案的含義和范圍內的所有改變被權利要求書的范圍所涵蓋。
權利要求
1.一種在包括群集(102)的分布式計算環(huán)境中用于在群集(102)中的節(jié)點(104)上放置應用(106)的方法,所述群集(102)包括多個節(jié)點(104),該方法包括 確定第一應用(106)不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點(104)上(602); 確定通過關閉或移動在第一節(jié)點(104)上運行的一個或多個其他應用(106)第一應用(106)可能能夠被放置在第一節(jié)點(104)上(604);以及 嘗試關閉或移動第一節(jié)點(104)上的一個或多個其他應用(106)以放置第一應用(106) (606)。
2.如權利要求I所述的方法,其特征在于,還包括確定即使在嘗試關閉或移動所述一個或多個其他應用以后,第一應用仍然不能被放置在第一節(jié)點上,并且作為結果,選擇要放置第一應用的第二節(jié)點,并且隨后在第二節(jié)點上重復權利要求I的動作。
3.如權利要求2所述的方法,其特征在于,還包括確定第一應用不能在所述群集的任何節(jié)點上運行,并且停止嘗試在所述群集的節(jié)點上運行所述應用。
4.如權利要求I所述的方法,其特征在于,所述一個或多個其他應用基于具有低于第一應用的優(yōu)先級而被選擇來被關閉。
5.如權利要求I所述的方法,其特征在于,基于對最少應用受影響集合的確定以最小化被關閉以便為第一應用釋放資源的應用的數目,所述一個或多個其他應用被選擇來被關閉。
6.如權利要求I所述的方法,其特征在于,確定應用不能被放置在第一節(jié)點上包括接收關于所述節(jié)點和運行在所述節(jié)點上的應用的資源信息。
7.如權利要求I所述的方法,其特征在于,確定通過關閉或移動在第一節(jié)點上運行的一個或多個其他應用第一應用可能能夠被放置在第一節(jié)點上是基于所接收的資源信息的。
8.如權利要求I所述的方法,其特征在于,還包括嘗試重啟曾被關閉的一個或多個應用中的一個或多個。
9.如權利要求8所述的方法,其特征在于,確定重啟哪個應用是以通過進行有序重啟來防止所述群集過載的方式進行的。
10.如權利要求I所述的方法,其特征在于,用于關閉或移動所述一個或多個其他應用的過程是基于第一應用和所述一個或多個其他應用的相對優(yōu)先級而被確定的。
11.如權利要求I所述的方法,其特征在于,還包括防止曾被關閉的所述一個或多個其他應用重啟以防止搶占和重啟的級聯(lián)。
12.—種在包括群集(102)的分布式計算環(huán)境中包括計算機可執(zhí)行指令的計算機可讀介質,所述群集(102)包括多個節(jié)點(104),所述計算機可讀指令在被一個或多個處理器執(zhí)行時致使以下步驟被執(zhí)行 確定第一應用(106)不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點(104)上(602); 確定在第一節(jié)點(104)上運行的能夠被關閉的一個或多個其他應用(106)以允許第一應用(106)被放置在第一節(jié)點(104)上(604);以及 嘗試關閉或移動第一節(jié)點(104)上的一個或多個其他應用(106)以放置第一應用(106) (606)。
13.如權利要求12所述的計算機可讀介質,其特征在于,還包括確定即使在嘗試關閉或移動所述一個或多個其他應用以后,第一應用仍然不能被放置在第一節(jié)點上,并且作為結果,選擇要放置第一應用的第二節(jié)點,并且隨后在第二節(jié)點上重復權利要求I的動作。
14.如權利要求12所述的計算機可讀介質,其特征在于,所述一個或多個其他應用基于具有低于第一應用的優(yōu)先級而被選擇來被關閉。
15.一種分布式計算機系統(tǒng),該計算系統(tǒng)包括 多個計算機,其中所述計算機被組織成群集(102); 應用托管模塊(502),其中所述應用托管模塊被配置為 確定第一應用(106)不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點(104)上;通過確定應用(106)滿足預先確定的最小搶占者優(yōu)先級來確定第一應用106可以是能夠搶占第一節(jié)點(104)上的其他應用(106)的搶占者; 確定第一節(jié)點(104)上的所述一個或多個其他應用(106)可以是能夠被第一應用(106 )搶占以釋放足夠資源來啟動第一應用(106 )的被搶占者;以及 確定通過關閉或移動在第一節(jié)點(104)上運行的一個或多個其他應用(106)第一應用(106)可能能夠被放置在第一節(jié)點(104)上;以及 搶占者模塊(508),其中所述搶占者模塊被配置為嘗試關閉或移動第一節(jié)點(104)上的一個或多個其他應用(106)以放置第一應用(106)。
全文摘要
本發(fā)明涉及多計算機系統(tǒng)中的自動搶占。在群集的節(jié)點上放置應用。一種方法包括確定第一應用不能在第一節(jié)點的當前運行狀態(tài)下被放置在第一節(jié)點上。該方法還包括確定通過關閉或移動在第一節(jié)點上運行的一個或多個其他應用第一應用可能能夠被放置在第一節(jié)點上。該方法還包括嘗試關閉或移動第一節(jié)點上的一個或多個其他應用以放置第一應用。
文檔編號H04L29/08GK102917010SQ20121033089
公開日2013年2月6日 申請日期2012年9月7日 優(yōu)先權日2011年9月9日
發(fā)明者M·辛伊特斯基, A·P·塔姆哈恩, L·S·科波盧, D·A·戴恩 申請人:微軟公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1