數(shù)據(jù)中心中的有效資源利用
【專利摘要】一種方法(600)包括標(biāo)識(shí)需求對(duì)分布式系統(tǒng)(100)的資源(110、112、114、116、422、424、426、432、434、436)的使用的高可用性作業(yè)(122、122a)和低可用性作業(yè)(122、122b)。該方法包括將對(duì)低可用性作業(yè)可用的資源的第一配額(Q1)確定為在正常操作期間可用的資源的量,以及將對(duì)高可用性作業(yè)可用的資源的第二配額(Q2)確定為在正常操作期間可用的資源的量減去由于被容忍事件而丟失的資源的量。該方法包括在分布式系統(tǒng)上運(yùn)行作業(yè)并將由高可用性作業(yè)和低可用性作業(yè)兩者對(duì)資源的總使用約束為在正常操作期間可用的資源的量。
【專利說明】
數(shù)據(jù)中心中的有效資源利用
技術(shù)領(lǐng)域
[0001] 本公開內(nèi)容涉及在系統(tǒng)故障時(shí)數(shù)據(jù)中心中的有效資源利用。
【背景技術(shù)】
[0002] 分布式系統(tǒng)通常包括許多松散耦合的計(jì)算機(jī),這些計(jì)算機(jī)中的每個(gè)計(jì)算機(jī)通常包 括計(jì)算資源(例如,一個(gè)或多個(gè)處理器)和/或存儲(chǔ)資源(例如存儲(chǔ)器、閃存和/或盤)。分布式 系統(tǒng)將存儲(chǔ)抽象(例如,鍵/值存儲(chǔ)或文件系統(tǒng))疊加在分布式系統(tǒng)的存儲(chǔ)資源上。在分布式 存儲(chǔ)系統(tǒng)中,運(yùn)行在計(jì)算機(jī)上的服務(wù)器進(jìn)程能夠?qū)⒃撚?jì)算機(jī)的資源導(dǎo)出到運(yùn)行在其他計(jì)算 機(jī)上的客戶端進(jìn)程。遠(yuǎn)程過程調(diào)用(RPC)可以將數(shù)據(jù)從服務(wù)器進(jìn)程轉(zhuǎn)移到客戶端進(jìn)程。備選 地,遠(yuǎn)程直接存儲(chǔ)器訪問(RDMA)基元(primitive)可以用于將數(shù)據(jù)從服務(wù)器硬件轉(zhuǎn)移到客 戶端進(jìn)程。
【發(fā)明內(nèi)容】
[0003] 本公開內(nèi)容的一個(gè)方面提供一種用于有效地使用數(shù)據(jù)中心中的資源(例如,處理 器和/或存儲(chǔ)器設(shè)備)的方法。該方法包括標(biāo)識(shí)需求分布式系統(tǒng)的資源的使用的高可用性作 業(yè)和低可用性作業(yè),并且將對(duì)低可用性作業(yè)可用的資源的第一配額確定為在正常操作期間 可用的資源的量。該方法可選地包括將對(duì)高可用性作業(yè)可用的資源的第二配額確定為在正 常操作期間可用的資源的量減去由于被容忍事件而丟失的資源的量。該方法可以包括在分 布式系統(tǒng)的資源上運(yùn)行作業(yè),并且將由高可用性作業(yè)和低可用性作業(yè)兩者對(duì)資源的總使用 約束為在正常操作期間可用的資源的量。
[0004] 本公開內(nèi)容的實(shí)施方案可以包括以下任選特征中的一個(gè)或多個(gè)。在一些實(shí)現(xiàn)方式 中,資源包括數(shù)據(jù)處理設(shè)備、聯(lián)網(wǎng)系統(tǒng)、功率系統(tǒng)或冷卻系統(tǒng)。對(duì)于這些類型的資源,該方法 可以包括將向由于被容忍事件而丟失的資源所分配的作業(yè)迀移或重新運(yùn)行到剩余資源。
[0005] 在一些實(shí)現(xiàn)方式中,資源包括非暫態(tài)存儲(chǔ)器設(shè)備(還被稱為存儲(chǔ)資源)。對(duì)于這種 類型的資源,該方法可以包括舍棄向所丟失的資源所分配的作業(yè),而不將作業(yè)重新分配給 剩余資源,并且重構(gòu)與所丟失的資源相關(guān)聯(lián)的任何不可用數(shù)據(jù)。存儲(chǔ)資源具有兩種類型的 使用:字節(jié)使用/存儲(chǔ)容量;以及訪問帶寬(諸如每秒允許的對(duì)硬盤存儲(chǔ)的輸入/輸出操作的 數(shù)量或者針對(duì)這種存儲(chǔ)允許的轉(zhuǎn)軸利用/訪問的量)。作業(yè)到存儲(chǔ)資源的指派可以取決于其 使用的類型。在一些示例中,高達(dá)100%的正常字節(jié)使用/存儲(chǔ)容量可以被分配給高可用性 作業(yè),而一部分的正常帶寬(轉(zhuǎn)軸使用)可以被分配給高可用性作業(yè)。
[0006] 該方法可以包括將對(duì)高可用性作業(yè)可用的資源的第二配額確定為在正常操作期 間可用的資源的量減去由于被容忍事件而丟失的資源的量并減去由于該被容忍事件而需 要的剩余資源的增加的量。額外地或備選地,該方法可以包括將第一配額和第二配額之和 限制為最大配額。
[0007] 在一些實(shí)現(xiàn)方式中,該方法包括監(jiān)視由高可用性作業(yè)對(duì)資源的使用。當(dāng)高可用性 作業(yè)超過閾值使用時(shí),該方法包括將高可用性作業(yè)降級(jí)為低可用性作業(yè)。該方法可以包括: 在被容忍事件之前,降低對(duì)低可用性作業(yè)可用的資源的第一配額持續(xù)一定時(shí)間段,并在該 被容忍事件之前,增加對(duì)高可用性作業(yè)可用的資源的第二配額持續(xù)該時(shí)間段。額外地或備 選地,該方法可以包括在被容忍事件之前,暫停或結(jié)束低可用性作業(yè)中的至少一些低可用 性作業(yè)持續(xù)一定時(shí)間段。
[0008] 在一些示例中,該方法包括基于作業(yè)到特定資源的分配和分布式系統(tǒng)的系統(tǒng)層級(jí) 來確定由于被容忍事件而丟失的資源的量。系統(tǒng)層級(jí)包括系統(tǒng)域。每個(gè)系統(tǒng)域具有活動(dòng)狀 態(tài)或不活動(dòng)狀態(tài)。系統(tǒng)層級(jí)可以包括系統(tǒng)級(jí)別,例如第一系統(tǒng)級(jí)別、第二系統(tǒng)級(jí)別、第三系 統(tǒng)級(jí)別和第四系統(tǒng)級(jí)別。第一系統(tǒng)級(jí)別對(duì)應(yīng)于數(shù)據(jù)處理設(shè)備、非暫態(tài)存儲(chǔ)器設(shè)備或網(wǎng)絡(luò)接 口控制器的主機(jī)機(jī)器。每個(gè)主機(jī)機(jī)器具有系統(tǒng)域。第二系統(tǒng)級(jí)別對(duì)應(yīng)于容納主機(jī)機(jī)器的機(jī) 架的功率遞送器、通信遞送器或冷卻遞送器。機(jī)架的每個(gè)功率遞送器、通信遞送器或冷卻遞 送器具有系統(tǒng)域。第三系統(tǒng)級(jí)別對(duì)應(yīng)于具有系統(tǒng)域的單元的功率遞送器、通信遞送器或冷 卻遞送器。單元的每個(gè)功率遞送器、通信遞送器或冷卻遞送器具有系統(tǒng)域。第四系統(tǒng)級(jí)別對(duì) 應(yīng)于單元的分布中心模塊,每個(gè)分布中心模塊具有系統(tǒng)域。
[0009] 本公開內(nèi)容的另一方面提供一種用于有效地利用分布式系統(tǒng)的資源的系統(tǒng)。該系 統(tǒng)包括分布式系統(tǒng)的資源以及與資源進(jìn)行通信的計(jì)算機(jī)處理器。該計(jì)算機(jī)處理器標(biāo)識(shí)需求 資源的使用的高可用性作業(yè)和低可用性作業(yè),并且將對(duì)低可用性作業(yè)可用的資源的第一配 額確定為在正常操作期間可用的資源的量。該計(jì)算機(jī)處理器可以可選地包括將對(duì)高可用性 作業(yè)可用的資源的第二配額確定為在正常操作期間可用的資源的量減去由于被容忍事件 而丟失的資源的量。該計(jì)算機(jī)處理器在分布式系統(tǒng)上運(yùn)行作業(yè)并且將由高可用性作業(yè)和低 可用性作業(yè)兩者對(duì)資源的總使用約束為在正常操作期間可用的資源的量。
[0010] 該方面可以包括以下可選特征中的一個(gè)或多個(gè)。在一些實(shí)現(xiàn)方式中,系統(tǒng)資源包 括數(shù)據(jù)處理設(shè)備、聯(lián)網(wǎng)系統(tǒng)、功率系統(tǒng)或冷卻系統(tǒng)。對(duì)于這些類型的資源,該計(jì)算機(jī)處理器 可以將向由于被容忍事件而丟失的資源所分配的作業(yè)迀移或重新運(yùn)行到剩余資源。
[0011] 在一些實(shí)現(xiàn)方式中,系統(tǒng)資源包括非暫停存儲(chǔ)器設(shè)備。對(duì)于這種類型的資源,該計(jì) 算機(jī)處理器可以舍棄向所丟失的資源所分配的作業(yè),而不將作業(yè)重新分配給剩余資源,并 且重構(gòu)與所丟失的資源相關(guān)聯(lián)的任何不可用數(shù)據(jù)。
[0012] 該計(jì)算機(jī)處理器可以將對(duì)高可用性作業(yè)可用的資源的第二配額確定為在正常操 作期間可用的資源的量減去由于被容忍事件而丟失的資源的量并減去由于該被容忍事件 而需要的剩余資源的增加的量。額外地或備選地,該計(jì)算機(jī)處理器可以將第一配額和第二 配額之和限制為最大配額。
[0013] 在一些實(shí)現(xiàn)方式中,該計(jì)算機(jī)處理器監(jiān)視由高可用性作業(yè)對(duì)資源的使用。當(dāng)高可 用性作業(yè)超過閾值使用時(shí),該計(jì)算機(jī)處理器將高可用性作業(yè)降級(jí)為低可用性作業(yè)。該計(jì)算 機(jī)處理器還可以在被容忍事件之前,降低對(duì)低可用性作業(yè)可用的資源的第一配額持續(xù)一定 時(shí)間段,并在該被容忍事件之前,增加對(duì)高可用性作業(yè)可用的資源的第二配額持續(xù)該時(shí)間 段。額外地或備選地,該計(jì)算機(jī)處理器可以在被容忍事件之前,暫?;蚪Y(jié)束低可用性作業(yè)中 的至少一些低可用性作業(yè)持續(xù)一定時(shí)間段。
[0014] 在一些示例中,該計(jì)算機(jī)處理器基于作業(yè)到特定資源的分配和分布式系統(tǒng)的系統(tǒng) 層級(jí)來確定由于被容忍事件而丟失的資源的量。系統(tǒng)層級(jí)包括系統(tǒng)域。每個(gè)系統(tǒng)域具有活 動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。系統(tǒng)層級(jí)可以包括系統(tǒng)級(jí)別,諸如第一系統(tǒng)級(jí)別、第二系統(tǒng)級(jí)別、第 三系統(tǒng)級(jí)別和第四系統(tǒng)級(jí)別。第一系統(tǒng)級(jí)別對(duì)應(yīng)于數(shù)據(jù)處理設(shè)備、非暫態(tài)存儲(chǔ)器設(shè)備或網(wǎng) 絡(luò)接口控制器的主機(jī)機(jī)器。每個(gè)主機(jī)機(jī)器具有系統(tǒng)域。第二系統(tǒng)級(jí)別對(duì)應(yīng)于容納主機(jī)機(jī)器 的機(jī)架的功率遞送器、通信遞送器或冷卻遞送器。機(jī)架的每個(gè)功率遞送器、通信遞送器或冷 卻遞送器具有系統(tǒng)域。第三系統(tǒng)級(jí)別對(duì)應(yīng)于具有相關(guān)聯(lián)的機(jī)架的單元的功率遞送器、通信 遞送器或冷卻遞送器。單元的每個(gè)功率遞送器、通信遞送器或冷卻遞送器具有系統(tǒng)域。第四 系統(tǒng)級(jí)別對(duì)應(yīng)于單元的分布中心模塊,每個(gè)分布中心模塊具有系統(tǒng)域。
[0015] 本公開內(nèi)容的另一方面提供一種方法,該方法包括:標(biāo)識(shí)需求分布式系統(tǒng)的資源 的使用的高可用性作業(yè)和低可用性作業(yè);將對(duì)低可用性作業(yè)可用的資源的第一配額確定為 在正常操作期間可用的資源的量;以及基于資源類型來確定對(duì)高可用性作業(yè)可用的資源的 第二配額。對(duì)于存儲(chǔ)容量資源,對(duì)高可用性作業(yè)可用的資源的第二配額是在正常操作期間 可用的資源的量。對(duì)于存儲(chǔ)帶寬資源,對(duì)高可用性作業(yè)可用的資源的第二配額是在正常操 作期間可用的資源的量減去由于被容忍事件而丟失的資源的量并減去由于該被容忍事件 而需要的剩余資源的增加的量。對(duì)于其他(即非存儲(chǔ))資源,對(duì)高可用性作業(yè)可用的資源的 第二配額是在正常操作期間可用的資源的量減去由于被容忍事件而丟失的資源的量。該方 法還包括在分布式系統(tǒng)的資源上運(yùn)行作業(yè),并且將由高可用性作業(yè)和低可用性作業(yè)兩者對(duì) 資源的總使用約束為在正常操作期間可用的資源的量。
[0016] 在下面的附圖和描述中闡述本公開內(nèi)容的一個(gè)或多個(gè)實(shí)現(xiàn)方式的細(xì)節(jié)。其他特 征、方面和優(yōu)點(diǎn)將從說明書、附圖和權(quán)利要求變得顯而易見。
【附圖說明】
[0017] 圖IA是示例性分布式系統(tǒng)的示意圖。
[0018] 圖IB是具有由作業(yè)管理系統(tǒng)管理的資源主機(jī)的單元的示例性分布式系統(tǒng)的示意 圖。
[0019] 圖2是針對(duì)分布式系統(tǒng)的示例性管理者的示意圖。
[0020] 圖3A是拆分成經(jīng)復(fù)制的條帶的示例性文件的示意圖。
[0021 ]圖3B是拆分成數(shù)據(jù)塊和非數(shù)據(jù)塊的示例性文件的示意圖。
[0022I圖4A-4B是示例性系統(tǒng)層級(jí)的示意圖。
[0023] 圖5是用于當(dāng)發(fā)生維護(hù)事件時(shí)有效地使用存儲(chǔ)資源和數(shù)據(jù)處理器的操作的示例性 布置的流程圖。
[0024] 圖6是用于當(dāng)發(fā)生維護(hù)事件/故障事件時(shí)有效地使用系統(tǒng)的資源的操作的示例性 布置的示意圖。
[0025] 圖7是用于當(dāng)發(fā)生維護(hù)事件/故障事件時(shí)有效地使用系統(tǒng)的資源的操作的示例性 布置的示意圖。
[0026] 類似的附圖標(biāo)記在各附圖中指示類似的元件。
【具體實(shí)施方式】
[0027] 參考圖1A-1B,在一些實(shí)現(xiàn)方式中,分布式系統(tǒng)100包括松散耦合的資源主機(jī)110、 110a-n(例如,計(jì)算機(jī)或服務(wù)器),每個(gè)資源主機(jī)具有與可以用于對(duì)數(shù)據(jù)進(jìn)行高速緩存的存 儲(chǔ)資源114(例如,存儲(chǔ)器、閃存、動(dòng)態(tài)隨機(jī)訪問存儲(chǔ)器(DRAM)、相變存儲(chǔ)器(PCM)和/或盤)進(jìn) 行通信的計(jì)算資源112(例如,一個(gè)或多個(gè)處理器或中央處理單元(CPU))。覆蓋在存儲(chǔ)資源 114上的存儲(chǔ)抽象(例如,鍵/值存儲(chǔ)或文件系統(tǒng))允許由一個(gè)或多個(gè)客戶端120、120a-n對(duì)存 儲(chǔ)資源114的可擴(kuò)展使用??蛻舳?20可以通過網(wǎng)絡(luò)130(例如,經(jīng)由RPC)與資源主機(jī)110進(jìn)行 通信。
[0028] 分布式系統(tǒng)100可以包括多層冗余,其中數(shù)據(jù)312被復(fù)制并被存儲(chǔ)在多個(gè)數(shù)據(jù)中心 中。數(shù)據(jù)中心(未示出)容納計(jì)算機(jī)系統(tǒng)和它們相關(guān)聯(lián)的部件,例如電信和分布式系統(tǒng)100。 數(shù)據(jù)中心通常包括備用電源、冗余通信連接、環(huán)境控制(以維持恒定溫度)和安全設(shè)備。數(shù)據(jù) 中心能夠?yàn)槭褂么罅侩娏Γɡ绾托℃?zhèn)一樣多)的大型工業(yè)級(jí)操作。數(shù)據(jù)312可以被定位在 不同地理位置(例如,不同城市、不同國(guó)家和不同洲)中。在一些示例中,數(shù)據(jù)中心或其部分 要求維護(hù)(例如,由于功率中斷,或?qū)⑾到y(tǒng)的部分?jǐn)嚅_連接以更換零件,或者系統(tǒng)故障,或者 其組合)。存儲(chǔ)在這些數(shù)據(jù)中心并且尤其是分布式系統(tǒng)100中的數(shù)據(jù)312可能在維護(hù)時(shí)間段 期間對(duì)用戶/客戶端120不可用,從而導(dǎo)致?lián)p害或停止用戶的操作。因此,期望提供能夠在系 統(tǒng)100或其部分的維護(hù)和/或故障期間有效地使用系統(tǒng)100的資源主機(jī)110、處理器112、存儲(chǔ) 資源114以及網(wǎng)絡(luò)資源的分布式系統(tǒng)100。
[0029] 在一些實(shí)現(xiàn)方式中,分布式系統(tǒng)100是"單邊"的,從而消除對(duì)用于對(duì)來自客戶端 120的遠(yuǎn)程過程調(diào)用(RPC)做出響應(yīng)以存儲(chǔ)或取回在它們的對(duì)應(yīng)資源主機(jī)110上的數(shù)據(jù)312 的任何服務(wù)器作業(yè)的需要,并且相反可以依靠專用硬件來處理遠(yuǎn)程請(qǐng)求122。"單邊"是指通 過其可以在硬件中而非通過運(yùn)行在資源主機(jī)110的CPU 112上的軟件來完成在資源主機(jī)110 上的大多數(shù)請(qǐng)求處理的方法。不是使資源主機(jī)11〇(例如,服務(wù)器)的處理器112運(yùn)行將對(duì)應(yīng) 的存儲(chǔ)資源114(例如,非暫態(tài)存儲(chǔ)器)的訪問導(dǎo)出到運(yùn)行在客戶端120上的客戶端進(jìn)程128 的服務(wù)器進(jìn)程118,相反,客戶端120可以通過資源主機(jī)110的網(wǎng)絡(luò)接口控制器(NICH16直接 訪問存儲(chǔ)資源114。換言之,運(yùn)行在客戶端120上的客戶端進(jìn)程128可以直接地與一個(gè)或多個(gè) 存儲(chǔ)資源114對(duì)接,而無需對(duì)運(yùn)行在計(jì)算資源112上的任何服務(wù)器進(jìn)程118的例程的運(yùn)行。該 單邊分布式架構(gòu)提供相對(duì)高的吞吐量和低延遲,這是因?yàn)榭蛻舳?20能夠訪問存儲(chǔ)資源 114,而不與資源主機(jī)110的計(jì)算資源112對(duì)接。這具有典型的雙邊分布式系統(tǒng)100帶來的對(duì) 針對(duì)存儲(chǔ)114和CPU周期的要求去耦合的影響。單邊分布式系統(tǒng)100能夠利用遠(yuǎn)程存儲(chǔ)資源 114,而無論在該資源主機(jī)110上是否存在空閑的CPU周期;另外,由于單邊操作不爭(zhēng)奪服務(wù) 器CPU 112資源,所以單邊系統(tǒng)能夠以非??深A(yù)測(cè)的低延遲來服務(wù)高速緩存請(qǐng)求122,甚至 當(dāng)資源主機(jī)以高CPU利用率運(yùn)行時(shí)。因此,單邊分布式系統(tǒng)100允許比傳統(tǒng)雙邊系統(tǒng)更高的 集群存儲(chǔ)114和CPU 112資源兩者的利用率,同時(shí)遞送可預(yù)測(cè)的低延遲。
[0030] 在一些實(shí)現(xiàn)方式中,分布式系統(tǒng)100包括存儲(chǔ)邏輯部分102、數(shù)據(jù)控制部分104以及 數(shù)據(jù)存儲(chǔ)部分106。存儲(chǔ)邏輯部分102可以包括事務(wù)應(yīng)用編程接口(API)350(例如,單邊事務(wù) 系統(tǒng)客戶端庫),其負(fù)責(zé)例如經(jīng)由RPC或單邊操作訪問底層數(shù)據(jù)。數(shù)據(jù)控制部分104可以管理 關(guān)于任務(wù)對(duì)存儲(chǔ)資源114的指派和訪問,例如指派存儲(chǔ)資源114,向?qū)?yīng)的網(wǎng)絡(luò)接口控制器 116登記存儲(chǔ)資源114,建立在(一個(gè)或多個(gè))客戶端120與資源主機(jī)110之間的連接,處置在 機(jī)器故障的情況下的錯(cuò)誤,等等。數(shù)據(jù)存儲(chǔ)部分106可以包括松散耦合的資源主機(jī)110、 110a-n〇
[0031] 分布式系統(tǒng)100可以將數(shù)據(jù)312存儲(chǔ)在動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM) 114中并經(jīng)由具 有遠(yuǎn)程直接存儲(chǔ)器訪問(RDMA)能力的網(wǎng)絡(luò)接口控制器116從遠(yuǎn)程主機(jī)110供應(yīng)數(shù)據(jù)312。網(wǎng) 絡(luò)接口控制器116(還被稱為網(wǎng)絡(luò)接口卡、網(wǎng)絡(luò)適配器、或LAN適配器)可以為計(jì)算機(jī)硬件部 件,其將計(jì)算資源112連接到網(wǎng)絡(luò)130。資源主機(jī)110a-n和客戶端120兩者可以均具有用于網(wǎng) 絡(luò)通信的網(wǎng)絡(luò)接口控制器116。運(yùn)行在資源主機(jī)110的計(jì)算處理器112上的主機(jī)進(jìn)程118向網(wǎng) 絡(luò)接口控制器116登記存儲(chǔ)器114的遠(yuǎn)程直接存儲(chǔ)器可訪問區(qū)115a-n的集合。主機(jī)進(jìn)程118 可以將存儲(chǔ)器114的遠(yuǎn)程直接存儲(chǔ)器可訪問區(qū)115a-n登記為具有只讀或讀/寫權(quán)限。資源主 機(jī)110的網(wǎng)絡(luò)接口控制器116創(chuàng)建針對(duì)每個(gè)所登記的存儲(chǔ)器區(qū)115a-n的客戶端密鑰302。
[0032] 由網(wǎng)絡(luò)接口控制器116執(zhí)行的單邊操作可以限于簡(jiǎn)單的讀、寫以及比較和交換操 作,其中沒有一個(gè)操作可以足夠復(fù)雜以用作針對(duì)由用于執(zhí)行高速緩存請(qǐng)求并管理高速緩存 策略的傳統(tǒng)高速緩存服務(wù)器作業(yè)實(shí)現(xiàn)的軟件邏輯的簡(jiǎn)易替代。事務(wù)API 350將諸如查找或 插入數(shù)據(jù)命令的命令轉(zhuǎn)化成基元網(wǎng)絡(luò)接口控制器操作的序列。事務(wù)API 350與分布式系統(tǒng) I 〇〇的數(shù)據(jù)控制和數(shù)據(jù)存儲(chǔ)部分104、106對(duì)接。
[0033] 分布式系統(tǒng)100可以包括用于向網(wǎng)絡(luò)接口控制器116登記的供遠(yuǎn)程訪問的存儲(chǔ)器 114的共同定位的軟件并建立與客戶端進(jìn)程128的連接。一旦建立了連接,客戶端進(jìn)程128就 能夠經(jīng)由網(wǎng)絡(luò)接口控制器116的硬件中的引擎訪問所登記的存儲(chǔ)器114,而無需來自對(duì)應(yīng)的 資源主機(jī)110的本地CPU 112上的軟件的任何參與。
[0034] 參考圖1B,在一些實(shí)現(xiàn)方式中,分布式系統(tǒng)100包括多個(gè)單元200(每個(gè)單元200包 括資源主機(jī)110)、與資源主機(jī)110進(jìn)行通信的管理者210以及與資源主機(jī)110進(jìn)行通信的作 業(yè)管理系統(tǒng)220。管理者210(例如,進(jìn)程)可以運(yùn)行在連接到網(wǎng)絡(luò)130的計(jì)算處理器202(例如 具有非暫態(tài)存儲(chǔ)器204的服務(wù)器)上并管理數(shù)據(jù)存儲(chǔ)(例如,管理存儲(chǔ)在資源主機(jī)110上的文 件系統(tǒng)),控制數(shù)據(jù)放置和/或發(fā)起數(shù)據(jù)恢復(fù)。此外,管理者210可以跟蹤資源主機(jī)110上的數(shù) 據(jù)312的存在和存儲(chǔ)位置。冗余管理者210是可能的。在一些實(shí)現(xiàn)方式中,(一個(gè)或多個(gè))管理 者210跟蹤跨多個(gè)資源主機(jī)110的數(shù)據(jù)312的分條和用于冗余和/或執(zhí)行的給定條帶的多個(gè) 副本的存在和/或位置。在計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)中,數(shù)據(jù)分條(striping)是以使對(duì)不同物理存儲(chǔ) 設(shè)備114(例如,單元(cell)200和/或資源主機(jī)110)做出順序分段的訪問的方式邏輯地分割 順序數(shù)據(jù)312(例如文件310(圖2))的技術(shù)。在處理設(shè)備請(qǐng)求比存儲(chǔ)設(shè)備114能夠提供訪問更 快地訪問數(shù)據(jù)時(shí),分條是有用的。通過執(zhí)行在多個(gè)設(shè)備上的分段訪問,能夠并發(fā)地訪問多個(gè) 分段。這提供更多的數(shù)據(jù)訪問吞吐量,其避免使處理器空閑地等待數(shù)據(jù)訪問。作業(yè)管理系統(tǒng) 220跨資源主機(jī)110調(diào)度作業(yè)(例如,處理作業(yè)或存儲(chǔ)器作業(yè))。
[0035]在一些實(shí)現(xiàn)方式中,事務(wù)API 350在(例如,具有客戶端進(jìn)程128的)客戶端120與管 理者210之間進(jìn)行對(duì)接。在一些示例中,客戶端120通過一個(gè)或多個(gè)遠(yuǎn)程過程調(diào)用(RPC)與管 理者210進(jìn)行通信。響應(yīng)于客戶端請(qǐng)求122,事務(wù)API 350可以找到在(一個(gè)或多個(gè))資源主機(jī) 110上的特定數(shù)據(jù)312的存儲(chǔ)位置并獲得允許訪問數(shù)據(jù)312的密鑰302。事務(wù)API 350(經(jīng)由網(wǎng) 絡(luò)接口控制器116)直接與適當(dāng)?shù)馁Y源主機(jī)110進(jìn)行通信以(例如,使用遠(yuǎn)程直接存儲(chǔ)器訪 問)讀或?qū)憯?shù)據(jù)312。在資源主機(jī)110是非操作性的或者數(shù)據(jù)312被移動(dòng)到不同資源主機(jī)110 的情況下,客戶端請(qǐng)求122發(fā)生故障,從而提示客戶端120重新查詢管理者210。
[0036]參考圖2,在一些實(shí)現(xiàn)方式中,管理者210存儲(chǔ)并管理文件系統(tǒng)元數(shù)據(jù)212。元數(shù)據(jù) 212可以包括將文件31(h-n映射到文件描述符30(h-n的文件映射214。管理者210可以檢查并 修改其持久元數(shù)據(jù)212的表示。管理者210可以使用針對(duì)元數(shù)據(jù)212的三種不同的訪問模式: 只讀;文件事務(wù);以及條帶事務(wù)。
[0037]參考圖3A和3B,數(shù)據(jù)312可以為一個(gè)或多個(gè)文件310,其中每個(gè)文件310具有指定復(fù) 制級(jí)別311和/或錯(cuò)誤校正碼313。管理者210可以將每個(gè)文件310劃分成條帶320a-n的集合, 其中每個(gè)條帶320a-n與剩余條帶320a-n獨(dú)立地被復(fù)制或被編碼。對(duì)于經(jīng)復(fù)制的文件310(圖 3A),每個(gè)條帶320a-n為單個(gè)邏輯塊,管理者210將其復(fù)制為條帶副本330η并將其存儲(chǔ)在多 個(gè)存儲(chǔ)資源114上。在這種情況下,條帶副本330η還被稱為塊330η。對(duì)于經(jīng)編碼的文件310 (圖3Β),每個(gè)條帶320a-n包括多個(gè)數(shù)據(jù)塊330nDk和非數(shù)據(jù)塊330nC(例如,編碼塊),管理者 210將其放置在多個(gè)存儲(chǔ)資源114上,其中數(shù)據(jù)塊330nD和非數(shù)據(jù)塊330nC的集合形成單個(gè)編 碼字。總體上,管理者210可以將每個(gè)條帶320a-n放置在存儲(chǔ)資源114上,與文件310中的其 他條帶320a-n如何被放置在存儲(chǔ)資源114上無關(guān)。錯(cuò)誤校正碼313將冗余數(shù)據(jù)或奇偶校驗(yàn)數(shù) 據(jù)添加到文件310,使得文件310能夠稍后被接收者恢復(fù),甚至當(dāng)引入了許多錯(cuò)誤(高達(dá)被使 用的編碼的能力)時(shí)。錯(cuò)誤校正碼313用于維持存儲(chǔ)設(shè)備中的數(shù)據(jù)312完整性,用于重構(gòu)數(shù)據(jù) 312以用于執(zhí)行(延遲),或者用于更快地耗盡機(jī)器。
[0038]參考回圖2,在一些實(shí)現(xiàn)方式中,由管理者210存儲(chǔ)的文件描述符30(h-n包含元數(shù)據(jù) 212,例如文件映射214,文件映射214將條帶320a-n映射到條帶副本330η或在適當(dāng)?shù)那闆r下 映射到存儲(chǔ)在資源主機(jī)110上的數(shù)據(jù)塊330nD和編碼塊330nC。為了打開文件310,客戶端120 將請(qǐng)求122發(fā)送到管理者210,其返回文件描述符300??蛻舳?20使用文件描述符300來將文 件塊偏移轉(zhuǎn)換到遠(yuǎn)程存儲(chǔ)器位置115a-n。文件描述符300可以包括客戶端密鑰302(例如,32 位密鑰),其對(duì)資源主機(jī)110上的塊330η是唯一的并且用于RDMA讀該塊330η。在客戶端120加 載文件描述符300之后,客戶端120可以經(jīng)由RDMA或另一數(shù)據(jù)檢索方法來訪問文件310的數(shù) 據(jù) 312。
[0039]管理者210可以維持針對(duì)為單元200的部分的所有資源主機(jī)110的狀態(tài)信息。狀態(tài) 信息可以包括容量、空閑空間、資源主機(jī)110上的負(fù)載、從客戶端的視角的資源主機(jī)110的延 遲以及當(dāng)前狀態(tài)。管理者210可以通過直接地查詢單元200中的資源主機(jī)110和/或通過查詢 客戶端120以從客戶端的視角收集延遲統(tǒng)計(jì)數(shù)字來獲得該信息。在一些示例中,管理者210 使用資源主機(jī)狀態(tài)信息來做出再平衡、耗盡、恢復(fù)決策和指派決策。
[0040](一個(gè)或多個(gè))管理者210可以指派塊330以便處置針對(duì)文件310中的更多存儲(chǔ)空間 的并且用于再平衡和恢復(fù)的客戶端請(qǐng)求122。在一些示例中,處理器202在存儲(chǔ)設(shè)備114之間 復(fù)制塊330η,這不同于將數(shù)據(jù)塊330nD和編碼塊330nC分布在存儲(chǔ)資源114之間。管理者210 可以維持資源主機(jī)負(fù)載和活力的負(fù)載圖216。在一些實(shí)現(xiàn)方式中,管理者210通過生成候選 資源主機(jī)110的列表來指派塊330并將指派塊請(qǐng)求發(fā)送到候選資源主機(jī)110中的每個(gè)。如果 資源主機(jī)110超載或不具有可用空間,則資源主機(jī)110可以拒絕該請(qǐng)求。在這種情況下,管理 者210選擇不同的資源主機(jī)110。每個(gè)管理者210可以持續(xù)地掃描文件名字空間的其指定部 分,大約每分鐘檢查一次所有元數(shù)據(jù)212。管理者210可以使用文件掃描來檢查元數(shù)據(jù)212的 完整性,確定需要被執(zhí)行的工作,和/或生成統(tǒng)計(jì)數(shù)字。文件掃描可以并發(fā)地與管理者210的 其他操作進(jìn)行操作。掃描本身可以不修改元數(shù)據(jù)212,但是調(diào)度要由系統(tǒng)的其他部件完成的 工作并計(jì)算統(tǒng)計(jì)數(shù)字。
[0041 ]參考圖4A-4B,作業(yè)管理系統(tǒng)220可以確定或接收分布式系統(tǒng)100的系統(tǒng)層級(jí)400來 標(biāo)識(shí)在其處可能發(fā)生維護(hù)或故障的級(jí)別(例如,級(jí)別1-4),而不影響對(duì)所存儲(chǔ)的數(shù)據(jù)312和/ 或處理器112的用戶訪問,從而允許訪問所存儲(chǔ)的數(shù)據(jù)312。維護(hù)或故障(嚴(yán)格層級(jí)400a(圖 4A)、非嚴(yán)格層級(jí)400b(圖4B))可以包括功率維護(hù)/故障、冷卻系統(tǒng)維護(hù)故障、聯(lián)網(wǎng)維護(hù)/故 障、更新或更換零件、或影響分布式系統(tǒng)100的其他維護(hù)或功率故障。維護(hù)可以被調(diào)度,并且 在一些示例中,可能發(fā)生未調(diào)度的系統(tǒng)故障。
[0042]系統(tǒng)層級(jí)400包括系統(tǒng)級(jí)別(例如,級(jí)別1-5),其中維護(hù)單元/系統(tǒng)域402跨度一個(gè) 或多個(gè)系統(tǒng)級(jí)別1-5。每個(gè)系統(tǒng)域402具有活動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。分布中心模塊410包括一 個(gè)或多個(gè)單元420、420a-n,并且每個(gè)單元420包括資源主機(jī)110的一個(gè)或多個(gè)機(jī)架430。每個(gè) 單元420還包括單元冷卻422、單元功率424(例如,母線槽)以及單元級(jí)別聯(lián)網(wǎng)426(例如,(一 個(gè)或多個(gè)多)網(wǎng)絡(luò)交換機(jī))。類似地,每個(gè)機(jī)架430包括機(jī)架冷卻432、機(jī)架功率434(例如,母 線槽)以及機(jī)架級(jí)別聯(lián)網(wǎng)436(例如,維護(hù)故障網(wǎng)絡(luò)交換機(jī))。
[0043]系統(tǒng)級(jí)別可以包括第一系統(tǒng)級(jí)別、第二系統(tǒng)級(jí)別、第三系統(tǒng)級(jí)別和第四系統(tǒng)級(jí)別 1-4。第一系統(tǒng)級(jí)別1對(duì)應(yīng)于數(shù)據(jù)處理設(shè)備112、非暫態(tài)存儲(chǔ)器設(shè)備114或網(wǎng)絡(luò)設(shè)備116(例如 NIC)的資源主機(jī)或主機(jī)機(jī)器110、110a-n。每個(gè)主機(jī)機(jī)器/資源主機(jī)110具有系統(tǒng)域402。第二 系統(tǒng)級(jí)別2對(duì)應(yīng)于機(jī)架430、430a-n以及在機(jī)架級(jí)處的主機(jī)機(jī)器110的冷卻遞送器432、功率 遞送器434(例如,母線槽)或通信遞送器436(例如,網(wǎng)絡(luò)交換機(jī)和線纜)。每個(gè)機(jī)架430或機(jī) 架級(jí)-冷卻遞送器432、-功率遞送器434或-通信遞送器436具有系統(tǒng)域402。第三系統(tǒng)級(jí)別3 對(duì)應(yīng)于分布中心模塊410的任何單元420、420a-n以及供應(yīng)給相關(guān)聯(lián)的機(jī)架430的單元冷卻 422、單元功率424或單元級(jí)別聯(lián)網(wǎng)426。每個(gè)單元420或單元冷卻422、單元功率424或單元級(jí) 別聯(lián)網(wǎng)426具有系統(tǒng)域402。第四系統(tǒng)級(jí)別4對(duì)應(yīng)于分布中心模塊410。每個(gè)分布中心模塊410 具有系統(tǒng)域402。
[0044]圖4A示出了嚴(yán)格系統(tǒng)層級(jí)400a,其中系統(tǒng)層級(jí)400的每個(gè)層級(jí)部件(例如,資源主 機(jī)110、機(jī)架430、單元420或分布中心模塊410)取決于一個(gè)其他層級(jí)部件110、410、420、430。 盡管圖4B示出了非嚴(yán)格系統(tǒng)級(jí)別400b,但是一個(gè)層級(jí)部件110、410、420、430具有超過一個(gè) 輸入饋送。在一些示例中,作業(yè)管理系統(tǒng)220將系統(tǒng)級(jí)別400存儲(chǔ)在其處理器202的非暫態(tài)存 儲(chǔ)器204上。例如,作業(yè)管理系統(tǒng)220將第一資源主機(jī)110(以及其對(duì)應(yīng)的處理器資源112a和 存儲(chǔ)資源114a)映射到第一機(jī)架430a,將第一機(jī)架430a映射到第一母線槽420a,并且將第一 母線槽420a映射到第一分布中心模塊410a。
[0045]作業(yè)管理系統(tǒng)220基于層級(jí)部件110、410、420、430的映射來確定當(dāng)層級(jí)部件110、 410、420、430正在經(jīng)歷維護(hù)時(shí)哪些資源主機(jī)110是不活動(dòng)的。一旦作業(yè)管理系統(tǒng)220將系統(tǒng) 域402映射到資源主機(jī)110(并且因此映射到其對(duì)應(yīng)的處理器資源112a和存儲(chǔ)資源114a)時(shí), 作業(yè)管理系統(tǒng)220確定能夠在其處執(zhí)行維護(hù)的最高級(jí)別(例如,級(jí)別1-4),同時(shí)維持處理器 或數(shù)據(jù)可用性。
[0046]系統(tǒng)域402包括經(jīng)歷維護(hù)的層級(jí)部件110、410、420、430和依賴于其的任何層級(jí)部 件110、410、420、430。因此,當(dāng)一個(gè)層級(jí)部件110、410、420、430經(jīng)歷維護(hù)時(shí),該層級(jí)部件110、 410、420、430是不活動(dòng)的,并且層級(jí)部件110、410、420、430的系統(tǒng)域402中的任何其他層級(jí) 部件110、410、420、430也是不活動(dòng)的。例如,當(dāng)資源主機(jī)110經(jīng)歷維護(hù)時(shí),包括存儲(chǔ)設(shè)備114、 數(shù)據(jù)處理器112和NIC 116的級(jí)別1系統(tǒng)域402a處于不活動(dòng)狀態(tài)。當(dāng)機(jī)架430經(jīng)歷維護(hù)時(shí),包 括機(jī)架430和從屬于機(jī)架430的任何資源主機(jī)110的級(jí)別2系統(tǒng)域402b處于不活動(dòng)狀態(tài)。當(dāng)單 元部件420(例如,到單元部件420a的單元冷卻部件422、母線槽424和/或網(wǎng)絡(luò)交換機(jī)426中 的任何一個(gè))經(jīng)歷維護(hù)時(shí),包括單元420和從屬于單元部件420的級(jí)別3和4中的任何層級(jí)部 件110、410、420、430的級(jí)別3系統(tǒng)域402〇處于不活動(dòng)狀態(tài)。最后,當(dāng)分布中心模塊410經(jīng)歷維 護(hù)時(shí),包括分布中心模塊41Oa和從屬于分布中心模塊410的級(jí)別2到4中的任何層級(jí)部件 110、410、420、430的級(jí)別4系統(tǒng)域402、402(1處于不活動(dòng)狀態(tài)。
[0047] 在一些示例中,如圖4B所示,非嚴(yán)格層級(jí)部件410、420、430、114可以具有雙重饋 送,即層級(jí)部件110、410、420、430取決于兩個(gè)或更多個(gè)其他層級(jí)部件110、410、420、430。例 如,單元部件420可以具有來自兩個(gè)分布中心模塊410的饋送;和/或機(jī)架430可以具有來自 兩個(gè)單元部件420的雙重饋送。如所示出的,級(jí)別2系統(tǒng)域402b可以包括兩個(gè)機(jī)架430a、 430η,其中第二機(jī)架430η包括來自兩個(gè)單元部件420a、420n的兩個(gè)饋送。因此,第二機(jī)架 430η是兩個(gè)系統(tǒng)域402bb和402cc的一部分。因此,系統(tǒng)級(jí)別400的較低級(jí)別被維持,而不引 起系統(tǒng)級(jí)別400的較高層級(jí)的損失。這引起分布式系統(tǒng)100中的冗余,其允許數(shù)據(jù)可訪問性。 具體地,分布中心模塊410可以被維持,而不損失從屬于其的單元部件420中的任何。在一些 示例中,機(jī)架430包括雙電源機(jī)架,其允許母線槽424的維護(hù)而不損失到從屬于其的雙電源 機(jī)架430的功率。在一些示例中,可以被維持而不引起故障的系統(tǒng)域402在分布?jí)K330η時(shí)被 忽視以允許維護(hù);然而,被忽視的系統(tǒng)域402可以在分布?jí)K330η時(shí)被包含,這是因?yàn)橛?jì)劃外 的故障可以仍然引起塊330η的損失。
[0048] 在一些示例中,冷卻設(shè)備,例如單元冷卻422和機(jī)架冷卻432分別用于冷卻單元部 件420和機(jī)架430。單元冷卻部件422可以冷卻一個(gè)或多個(gè)單元部件420。類似地,機(jī)架冷卻部 件432可以冷卻一個(gè)或多個(gè)機(jī)架430。管理者210存儲(chǔ)資源主機(jī)110與冷卻設(shè)備(例如單元冷 卻422和機(jī)架冷卻432)的關(guān)聯(lián)。在一些實(shí)現(xiàn)方式中,作業(yè)管理系統(tǒng)220在存儲(chǔ)資源主機(jī)110與 單元冷卻422和機(jī)架冷卻432的關(guān)聯(lián)之前考慮可能在系統(tǒng)100內(nèi)發(fā)生的維護(hù)的所有可能組合 以確定系統(tǒng)層級(jí)400或維護(hù)層級(jí)400的組合。例如,一個(gè)或多個(gè)冷卻設(shè)備422、432發(fā)生故障的 系統(tǒng)層級(jí)400或網(wǎng)絡(luò)設(shè)備116、426、436發(fā)生故障的系統(tǒng)層級(jí)400或功率分布424、434發(fā)生故 障的系統(tǒng)層級(jí)400。
[0049]因此,當(dāng)系統(tǒng)100中的層級(jí)部件110、410、420、430經(jīng)歷維護(hù)或發(fā)生故障時(shí),該層級(jí) 部件110、410、420、430和被映射到或從屬于該層級(jí)部件110、410、420、430的任何層級(jí)部件 110、410、420、430處于不活動(dòng)狀態(tài)。處于不活動(dòng)狀態(tài)的層級(jí)部件110、410、420、430不可由用 戶120訪問,而處于活動(dòng)狀態(tài)的層級(jí)部件110、410、420、430可由用戶120訪問,從而允許用戶 120處理/訪問由該層級(jí)部件110、410、420、430存儲(chǔ)/支持/維持的數(shù)據(jù)312。如前面所提到 的,在不活動(dòng)狀態(tài)期間,用戶120不能夠訪問與經(jīng)歷維護(hù)的系統(tǒng)域402相關(guān)聯(lián)的資源主機(jī) 110;并且因此,用戶120不能夠訪問文件310(即,塊330,其包括條帶副本330η、數(shù)據(jù)塊330nD 和非數(shù)據(jù)塊330nC)。
[0050] 在一些實(shí)現(xiàn)方式中,管理者210例如基于層級(jí)部件110、410、420、430的映射來限制 向任何一個(gè)系統(tǒng)域402的存儲(chǔ)設(shè)備114分布的多個(gè)塊330。因此,如果級(jí)別1系統(tǒng)域402是不活 動(dòng)的,則管理者210維持對(duì)文件310(或條320)的可訪問性,盡管一些塊330可以是不可訪問 的。在一些示例中,對(duì)于每個(gè)文件310(或條帶320),管理者210確定可以被放置在單個(gè)系統(tǒng) 域402內(nèi)的任何存儲(chǔ)設(shè)備114內(nèi)的塊330的最大數(shù)量,使得如果與存儲(chǔ)針對(duì)文件310的塊330 的存儲(chǔ)設(shè)備114相關(guān)聯(lián)的系統(tǒng)域402正在經(jīng)歷維護(hù),則管理者210可以仍然取回文件310。塊 330的最大數(shù)量確保管理者210能夠重構(gòu)文件310,盡管一些塊330可能是不可用的。在一些 示例中,塊330的最大數(shù)量被設(shè)置為較低閾值以適應(yīng)任何系統(tǒng)故障,同時(shí)仍然能夠根據(jù)塊 330來重構(gòu)文件310。當(dāng)管理者210將塊330放置在存儲(chǔ)設(shè)備114上時(shí),管理者210確保在條帶 320內(nèi),當(dāng)單個(gè)系統(tǒng)域402經(jīng)歷維護(hù)時(shí)不超過最大數(shù)量的塊330是不活動(dòng)的。此外,管理者210 還可以例如基于層級(jí)部件110、410、420、430的映射來限制在系統(tǒng)域402內(nèi)的資源主機(jī)110的 數(shù)據(jù)處理器112上的處理作業(yè)的數(shù)量。因此,如果級(jí)別1系統(tǒng)域402是不活動(dòng)的,則管理者210 維持對(duì)作業(yè)的可訪問性,盡管資源主機(jī)110的處理器112中的一些是不活動(dòng)的。
[0051]參考圖5,在一些實(shí)現(xiàn)方式中,系統(tǒng)100遵循操作500,其被示出用于當(dāng)發(fā)生維護(hù)事 件時(shí)有效地使用存儲(chǔ)資源114和數(shù)據(jù)處理器112。系統(tǒng)100在步驟502處標(biāo)識(shí)資源類型:1)非 存儲(chǔ)資源(例如數(shù)據(jù)處理器112的計(jì)算使用,聯(lián)網(wǎng),功率遞送,冷卻,等等);2)存儲(chǔ)容量資源 (例如,存儲(chǔ)設(shè)備114的字節(jié)使用/存儲(chǔ)容量);或者3)存儲(chǔ)帶寬資源(例如,每秒允許對(duì)硬盤 存儲(chǔ)的輸入/輸出操作的數(shù)量或?qū)τ谶@種存儲(chǔ)允許的轉(zhuǎn)軸利用/訪問的量)。
[0052]系統(tǒng)100還標(biāo)識(shí)兩類作業(yè)/請(qǐng)求122。第一類作業(yè)122包括高可用性作業(yè)122a,并且 第二類包括標(biāo)準(zhǔn)的或低可用性作業(yè)122b(圖1B)。系統(tǒng)100在資源主機(jī)110的處理器112上運(yùn) 行處理作業(yè)122,并且在資源主機(jī)110的存儲(chǔ)設(shè)備114上運(yùn)行用于訪問/存儲(chǔ)數(shù)據(jù)312的存儲(chǔ) 作業(yè)122。當(dāng)兩種類型的作業(yè)122a、122b都處于(下面討論的)配額內(nèi)時(shí),高可用性作業(yè)122a 是具有比低可用性作業(yè)122b更高的優(yōu)先級(jí)的作業(yè)122。
[0053]在一些實(shí)現(xiàn)方式中,當(dāng)系統(tǒng)100指定哪些類型的資源損失可以被容忍時(shí),系統(tǒng)100 在步驟504處基于該損失是否包括數(shù)據(jù)處理器112或存儲(chǔ)器設(shè)備114或兩者的損失來確定用 于容忍該損失的策略。對(duì)于非存儲(chǔ)資源使用,作業(yè)管理系統(tǒng)220使用將來自發(fā)生故障的非存 儲(chǔ)資源(例如,數(shù)據(jù)處理器112)的作業(yè)122迀移和/或重啟到其他可用非存儲(chǔ)資源的第一策 略506a。對(duì)于存儲(chǔ)資源使用,作業(yè)管理系統(tǒng)220使用在一定地方舍棄訪問發(fā)生故障的存儲(chǔ)資 源114的作業(yè)122(至少持續(xù)特定時(shí)間段)的第二策略506b和/或可以使用數(shù)據(jù)重構(gòu)來取回不 可用數(shù)據(jù)312。在一些示例中,第一策略處理與計(jì)算資源112(例如,計(jì)算或聯(lián)網(wǎng))相關(guān)的資源 110;并且第二策略處理存儲(chǔ)資源114(例如,存儲(chǔ)設(shè)備,例如硬盤和閃存)。當(dāng)發(fā)生故障/損失 時(shí),作業(yè)管理系統(tǒng)220可以確定該損失是否為數(shù)據(jù)處理器112或存儲(chǔ)設(shè)備114的損失。如果該 損失為存儲(chǔ)設(shè)備114的損失,則作業(yè)管理系統(tǒng)220采用在步驟506b處的策略2;否則,作業(yè)管 理系統(tǒng)220采用在步驟506a處的策略1。
[0054]當(dāng)作業(yè)管理系統(tǒng)220采用與數(shù)據(jù)處理器112(即,計(jì)算和聯(lián)網(wǎng))相關(guān)的第一策略(在 步驟506a處)時(shí),作業(yè)管理系統(tǒng)220將分配給由于被容忍事件而丟失的數(shù)據(jù)處理器112的高 可用性計(jì)算作業(yè)122迀移或重新運(yùn)行到剩余可用數(shù)據(jù)處理器112。例如,如果特定功率或網(wǎng) 絡(luò)維護(hù)事件致使10%的數(shù)據(jù)處理器112不可用,則作業(yè)管理系統(tǒng)220將作業(yè)122移動(dòng)到運(yùn)行 在剩余90 %的數(shù)據(jù)處理器112上。
[0055]當(dāng)作業(yè)管理系統(tǒng)220采用用于存儲(chǔ)資源114的第二策略(在步驟506b處)時(shí),作業(yè)管 理系統(tǒng)220舍棄存儲(chǔ)在維護(hù)或故障事件期間處于不活動(dòng)狀態(tài)的存儲(chǔ)設(shè)備114上的數(shù)據(jù)312, 并且允許系統(tǒng)100使用(參考圖3A和3B所討論的)復(fù)制和/或編碼來重構(gòu)不可用數(shù)據(jù)312。在 一些示例中,系統(tǒng)100同時(shí)地采用第一策略和第二策略。
[0056] 一旦系統(tǒng)100確定了使用哪個(gè)策略,系統(tǒng)100就在步驟508處計(jì)算在正常使用期間 (即,當(dāng)系統(tǒng)100沒有正在經(jīng)歷維護(hù)時(shí))對(duì)作業(yè)122可用的每個(gè)資源110(即,存儲(chǔ)資源114和數(shù) 據(jù)處理器資源112)的量(即,配額Q)。
[0057] 作業(yè)管理系統(tǒng)220確定可用資源110的第一配額Q1和第二配額Q2??捎觅Y源110的第 一配額Q1包括對(duì)低可用性作業(yè)122b可用的資源110并且為在正常操作期間(即,當(dāng)系統(tǒng)100 沒有正在經(jīng)歷維護(hù)或故障時(shí))可用的資源110的量??捎觅Y源110的第二配額Q2包括對(duì)高可 用性作業(yè)122b可用的資源110并且為在正常操作期間可用的資源110的量。當(dāng)發(fā)生不頻繁的 維護(hù)或故障事件時(shí),低可用性作業(yè)122b遭遇不充分的資源110,其導(dǎo)致降級(jí)的或不存在的性 能??偪捎门漕~或作業(yè)容量Q可以使用下面的等式來計(jì)算:
[0058] Q = Qi+Q2 (1)
[0059] 其中,Q是由作業(yè)122(高可用性和低可用性)需求的資源110的總可用配額,Q1為第 一配額,并且Q 2為第二配額。由于總可用的需求配額/容量Q可以超過在正常操作期間可用 的資源的量Rn,所以作業(yè)管理系統(tǒng)220將將由高可用性作業(yè)122a和低可用性作業(yè)122b兩者 對(duì)資源110的總使用約束為在正常操作期間(即,當(dāng)系統(tǒng)100沒有正在經(jīng)歷維護(hù)或故障時(shí))可 用的資源110的量Rn以確保指派給資源110的作業(yè)122的數(shù)量未超過該資源110的實(shí)際可用 容量(例如,Rn)。系統(tǒng)100可以使用等式1來確定用于存儲(chǔ)資源114和處理資源112的可用配 額Q??捎门漕~Q可以為資源的容量、容量百分比、帶寬或大小測(cè)量。
[0060] 在一些示例中,系統(tǒng)100在被容忍事件(即維護(hù)事件或系統(tǒng)故障)之前降低對(duì)低可 用性事件122b可用的資源110的第一配額&持續(xù)一定時(shí)間段,并且在被容忍事件之前增加 對(duì)高可用性事件122a可用的資源110的第二配額Q 2持續(xù)該時(shí)間段。額外地或備選地,系統(tǒng) 100可以在被容忍事件之前停止或結(jié)束低可用性作業(yè)122b中的至少一些低可用性作業(yè)持續(xù) 一定時(shí)間段。這允許系統(tǒng)100將高可用性作業(yè)122a移動(dòng)到可用資源110。
[0061] 在一些實(shí)現(xiàn)方式中,系統(tǒng)100可以基于作業(yè)122到與分布式存儲(chǔ)系統(tǒng)100的系統(tǒng)層 級(jí)400(圖4A和4B)相關(guān)聯(lián)的特定資源110的分配來確定由于被容忍事件而丟失的資源110的 量。在一些實(shí)現(xiàn)方式中,當(dāng)發(fā)生計(jì)劃的維護(hù)或故障時(shí),作業(yè)管理系統(tǒng)220將特定類型的主機(jī) 資源110確定為"被容忍的"。對(duì)這些作業(yè)122可用的配額Q由被容忍的損失的最大量來減少, 同時(shí)維護(hù)數(shù)據(jù)可訪問性和數(shù)據(jù)處理可用性。系統(tǒng)層級(jí)400a、400b、分布中心模塊410、單元部 件420、機(jī)架430或資源主機(jī)110可以被指定為被容忍。
[0062]在一些示例中,在系統(tǒng)100的正常操作期間,100%的資源110可用于將數(shù)據(jù)312存 儲(chǔ)在存儲(chǔ)設(shè)備114上或者用于處理資源主機(jī)110的數(shù)據(jù)處理器112上的數(shù)據(jù)312。"最大"被容 忍事件(即維護(hù)事件或系統(tǒng)故障)可以基于系統(tǒng)層級(jí)400和資源110到系統(tǒng)域402的分配來得 到20 %的可用資源110的損失。這使80 %的資源110總是可用,盡管有20 %的資源110的最大 損失。因此,作業(yè)管理系統(tǒng)220將最大80%的資源110的分配給高可用性作業(yè)122a,從而允許 當(dāng)發(fā)生經(jīng)調(diào)度的維護(hù)或系統(tǒng)故障時(shí)系統(tǒng)100具有足夠的資源110。如果作業(yè)管理系統(tǒng)220將 與數(shù)據(jù)處理器212相關(guān)的作業(yè)122重新分配給80%的可用處理器212,則系統(tǒng)100將具有足夠 的處理器212來運(yùn)行高可用性作業(yè)122a。另外,如果系統(tǒng)100必須重構(gòu)由于包括存儲(chǔ)數(shù)據(jù)312 的存儲(chǔ)設(shè)備114的系統(tǒng)域402的不活動(dòng)狀態(tài)而不可用的數(shù)據(jù)312,則系統(tǒng)100具有足夠的存儲(chǔ) 設(shè)備114,足夠的存儲(chǔ)設(shè)備114具有足夠的塊330(例如,數(shù)據(jù)塊330nD和非數(shù)據(jù)塊330nC)和副 本330η來重構(gòu)丟失的數(shù)據(jù)312。
[0063]當(dāng)在步驟508a處,對(duì)于非存儲(chǔ)容量使用(即在策略1下),確定對(duì)高可用性作業(yè)122a 可用的資源110的第二配額Q2,可用資源110的第二配額Q2為在正常操作期間可用的資源110 的量減去由于被容忍事件而丟失的資源110的量。因此,第二配額Q 2可以在丟失的資源110 為數(shù)據(jù)處理器112時(shí)基于下面的等式來計(jì)算:
[0064] Q2 = Rn-Rl (2)
[0065] 其中,Rn是在正常操作期間可用的資源的量,并且Rl是由于被容忍事件而丟失的資 源的最大量。
[0066]在一些實(shí)現(xiàn)方式中,系統(tǒng)100在丟失的資源110是存儲(chǔ)設(shè)備114時(shí)確定第二配額Q2。 當(dāng)在步驟508b處,對(duì)于存儲(chǔ)容量使用(即在策略2下),確定對(duì)高可用性作業(yè)122a可用的資源 110的第二配額Q2,對(duì)高可用性作業(yè)122a可用的存儲(chǔ)設(shè)備114的第二配額出可以等于正常可 用的資源110的完整量(盡管該資源110的使用能夠需要經(jīng)復(fù)制的塊330η或經(jīng)編碼的塊 330nC、330nD的冗余),例如如使用等式3所計(jì)算的。
[0067] Q2 = Rn (3)
[0068] 這可以應(yīng)用存儲(chǔ)設(shè)備114的字節(jié)使用/容量。例如,高達(dá)100%的存儲(chǔ)設(shè)備114的字 節(jié)使用/容量能夠被分配給高可用性作業(yè)122a。
[0069] 當(dāng)在步驟508c處,對(duì)于存儲(chǔ)帶寬使用(即,在策略2下),確定對(duì)高可用性作業(yè)122a 可用的資源110的第二配額Q2,該存儲(chǔ)資源114的第二配額Q2(g卩,帶寬或使用)(例如,每秒允 許對(duì)硬盤存儲(chǔ)的輸入/輸出操作的數(shù)量或?qū)τ谶@種存儲(chǔ)允許的轉(zhuǎn)軸利用/訪問的量)可以被 計(jì)算為正??捎玫馁Y源110的量Rn減去由于被容忍事件的該資源110的最大損失Rl減去由于 被容忍事件丟失的最大損失而使用的該資源的增加的量R 1,如下面的等式所示:
[0070] Q2 = Rn-Rl-Ri (4)
[0071] 在一些示例中,系統(tǒng)100可以在計(jì)算丟失的資源110是存儲(chǔ)設(shè)備114(例如硬盤)時(shí) 使用下面的等式來確定第二配額Q2:
[0072]
( 5A )
[0073] 其中,X是對(duì)應(yīng)于被容忍事件的資源乘數(shù)。
[0074] 例如,如果高達(dá)10%的硬盤轉(zhuǎn)軸能夠在被容忍事件中丟失,并且如果對(duì)丟失的數(shù) 據(jù)312的每次訪問都需要轉(zhuǎn)軸使用的平均4倍之多(由于使用編碼來重構(gòu)數(shù)據(jù)312的需要), 然后使用筆才Q.
[0075]
[0076]因此,69%的轉(zhuǎn)軸資源能夠?qū)Ω呖捎眯宰鳂I(yè)可用(該計(jì)算基于以下事實(shí):僅僅90% 的轉(zhuǎn)軸是可用的,并且支持來自高可用性作業(yè)的正常負(fù)載的130%)。
[0077] 一旦系統(tǒng)100計(jì)算出資源110的第二配額Q2,系統(tǒng)100就允許低可用性作業(yè)和高可 用性作業(yè)運(yùn)行在數(shù)據(jù)中心中,受制于在步驟510處的兩個(gè)約束。第一約束在于由高可用性作 業(yè)122a和低可用性作業(yè)122b使用的每個(gè)資源110的總量(QdQ2)不能夠超過正常可用的資源 的量Rn,如下面的等式所示:
[0078] Q1+Q2 < Rn (6)
[0079]第二約束在于由高可用性作業(yè)122a使用的每個(gè)資源的量Qu不能夠超過第二配額 Q2,如下面的等式所示:
[0080] Qu<Q2 (7)
[0081 ] 在一些實(shí)現(xiàn)方式中,作業(yè)管理系統(tǒng)220監(jiān)視由高可用性作業(yè)122a對(duì)資源110的使用 以確保它們不消耗太多資源110。當(dāng)高可用性作業(yè)122a超過閾值使用時(shí),作業(yè)管理系統(tǒng)220 將高可用性作業(yè)122a降級(jí)為低可用性作業(yè)122b。當(dāng)高可用性作業(yè)122a被降級(jí)時(shí),作業(yè)管理 系統(tǒng)220可以終止所降級(jí)的作業(yè)122b,其增大對(duì)高可用性作業(yè)122a可用的可用容量(第二配 額)。
[0082]在作業(yè)管理系統(tǒng)220確定可以使用的配額Q2之后,作業(yè)管理系統(tǒng)220實(shí)現(xiàn)用于適應(yīng) 維護(hù)和故障事件的進(jìn)程。當(dāng)維護(hù)和故障事件降低可用的資源110的量時(shí),作業(yè)管理系統(tǒng)220 可以停止、殺死、逐出或以其他方式防止充分?jǐn)?shù)量的低可用性作業(yè)122b使用資源110,使得 資源110對(duì)高可用性作業(yè)122a可用。另外,如果這些作業(yè)122正在供應(yīng)實(shí)況流量,則發(fā)送給它 們的流量的量可以被減小或被分流到其他數(shù)據(jù)中心。
[0083]此外,在計(jì)劃外維護(hù)的情況下,作業(yè)管理系統(tǒng)220可以在維護(hù)之前停止、殺死、逐出 或以其他方式防止一些或所有低可用性作業(yè)122b使用特定資源110相同時(shí)間量,以便允許 高可用性作業(yè)122a移動(dòng)到使得資源110。
[0084]盡管上述描述集中于數(shù)據(jù)中心中的資源110,但是能夠在數(shù)據(jù)中心的資源主機(jī)110 (機(jī)器)、機(jī)架430、單元420、網(wǎng)絡(luò)、集群、建筑物、站點(diǎn)、區(qū)域或整個(gè)全球集合的層級(jí)處應(yīng)用相 同的原理。
[0085]圖6提供有效地使用數(shù)據(jù)中心中的資源110(例如,處理器112和/或資源主機(jī)114) 的方法600的操作的示例性布置。方法600包括標(biāo)識(shí)602需求分布式系統(tǒng)100的資源110的使 用的高可用性作業(yè)122a和低可用性作業(yè)122b,并且將對(duì)低可用性作業(yè)122b可用的資源110 的第一配額Qi確定604為在正常操作期間可用的資源110的量Rn。方法600還包括將對(duì)高可用 性作業(yè)122a可用的資源110的第二配額Q 2確定606為在正常操作期間可用的資源110的量減 去由于被容忍事件而丟失的資源110的量Rl。方法600包括在分布式系統(tǒng)100的資源122、 122a、122b上運(yùn)行608作業(yè),并且將由高可用性作業(yè)122a和低可用性作業(yè)122b兩者對(duì)資源 110的總使用約束為在正常操作期間可用的資源110的量Rn。
[0086] 在一些實(shí)現(xiàn)方式中,資源110、112、116、422、424、426、432、434、436包括數(shù)據(jù)處理 設(shè)備112、聯(lián)網(wǎng)系統(tǒng)116、426、436、功率系統(tǒng)424、434或冷卻系統(tǒng)422、432。對(duì)于這些類型的資 源110、112、116、422、424、426、432、434、436,方法600可以包括將向由于被容忍事件而丟失 的資源110所分配的作業(yè)122迀移或重新運(yùn)行到剩余資源110以維持?jǐn)?shù)據(jù)312的可訪問性或 數(shù)據(jù)處理器212的可訪問性。
[0087] 在一些實(shí)現(xiàn)方式中,資源110包括非暫態(tài)存儲(chǔ)器設(shè)備114。對(duì)于這種類型的資源 114,方法600可以包括舍棄向所丟失的資源110所分配的作業(yè),而不將作業(yè)重新分配給剩余 資源110,并重構(gòu)與所丟失的資源110相關(guān)聯(lián)的任何不可用數(shù)據(jù)。
[0088] 方法600可以包括將對(duì)高可用性作業(yè)122a可用的資源110的第二配額出確定為在 正常操作期間可用的資源Iio的量Rn減去由于被容忍事件而丟失的資源的量Rl并減去由于 該被容忍事件而需要的剩余資源110的增加的量Ri。額外地或備選地,方法600可以包括將 第一配額&和第二配額Q 2之和限制為最大配額。
[0089] 在一些實(shí)現(xiàn)方式中,方法600包括監(jiān)視由高可用性作業(yè)122a對(duì)資源110的使用。當(dāng) 高可用性作業(yè)122a超過閾值使用時(shí),方法600包括將高可用性作業(yè)122a降級(jí)為低可用性作 業(yè) 122b。
[0090]方法600還可以包括在被容忍事件之前降低對(duì)低可用性作業(yè)122b可用的資源的第 一配額&持續(xù)一定時(shí)間段,并在該被容忍事件之前增加對(duì)高可用性作業(yè)122a可用的資源的 第二配額Q2持續(xù)該時(shí)間段。額外地或備選地,方法600可以包括在被容忍事件之前暫停或結(jié) 束低可用性作業(yè)122b中的至少一些低可用性作業(yè)持續(xù)一定時(shí)間段。
[0091] 在一些示例中,方法600包括基于作業(yè)122到特定資源110的分配和分布式系統(tǒng)100 的系統(tǒng)層級(jí)400來確定由于被容忍事件而丟失的資源110的量Rl。系統(tǒng)級(jí)別400包括系統(tǒng)域 或單元402。每個(gè)系統(tǒng)域402具有活動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。系統(tǒng)層級(jí)400可以包括系統(tǒng)級(jí)別, 例如級(jí)別1-4。第一系統(tǒng)級(jí)別(例如,級(jí)別1)對(duì)應(yīng)于具有數(shù)據(jù)處理設(shè)備112、非暫態(tài)存儲(chǔ)器設(shè) 備114或網(wǎng)絡(luò)接口控制器116的資源主機(jī)110。每個(gè)數(shù)據(jù)處理設(shè)備112或存儲(chǔ)器設(shè)備114具有 一個(gè)或多個(gè)系統(tǒng)域402。第二系統(tǒng)級(jí)別(例如,級(jí)別2)對(duì)應(yīng)于存儲(chǔ)器設(shè)備114或數(shù)據(jù)處理設(shè)備 112的主機(jī)機(jī)器430(例如,機(jī)架),每個(gè)主機(jī)機(jī)器具有一個(gè)或多個(gè)系統(tǒng)域402。第三系統(tǒng)級(jí)別 (例如,級(jí)別3)對(duì)應(yīng)于主機(jī)機(jī)器110的功率遞送器424(例如,母線槽)、通信遞送器426或冷卻 遞送器422。每個(gè)功率遞送器424、通信遞送器426或冷卻遞送器422具有系統(tǒng)域402。第四系 統(tǒng)級(jí)別(例如,級(jí)別4)對(duì)應(yīng)于功率遞送器424、通信遞送器426或冷卻遞送器422的分布中心 模塊410。每個(gè)分布中心模塊410具有系統(tǒng)域402。
[0092]圖7提供有效地使用資源110的方法700的操作的示例性布置。方法700包括:標(biāo)識(shí) 702需求分布式系統(tǒng)100的資源112、114的使用的高可用性作業(yè)122a和低可用性作業(yè)122b, 將對(duì)低可用性作業(yè)122a可用的資源112、114的第一配額Qi確定702為在正常操作期間可用 的資源112、114的量,并且基于作業(yè)122的資源使用的類型來確定706對(duì)高可用性作業(yè)122a 可用的資源112、114的第二配額Q2。對(duì)于存儲(chǔ)容量使用,對(duì)高可用性作業(yè)122a可用的資源 114的第二配額Q 2是在正常操作期間可用的資源114的量Rn。對(duì)于存儲(chǔ)容量使用,對(duì)高可用性 作業(yè)122a可用的資源114的第二配額出是在正常操作期間可用的資源114的量Rn減去由于被 容忍事件而丟失的資源114的量Rl并減去由于該被容忍事件而需要的剩余資源114的增加 的量R 1。對(duì)于其他資源使用,對(duì)高可用性作業(yè)122a可用的資源112的第二配額Q2是在正常操 作期間可用的資源112的量Rn減去由于被容忍事件而丟失的資源的量Rl。該方法還包括在分 布式系統(tǒng)100的資源112、114上運(yùn)行708作業(yè)122并且將由高可用性作業(yè)122a和低可用性作 業(yè)122b兩者對(duì)資源112、114的總使用約束710為在正常操作期間可用的資源的量R N。
[0093]可以在數(shù)字電子電路、集成電路、專門設(shè)計(jì)的ASIC(專用集成電路)、計(jì)算機(jī)硬件、 固件、軟件和/或其組合來實(shí)現(xiàn)本文描述的系統(tǒng)和技術(shù)的各種實(shí)現(xiàn)方式。這些各種實(shí)現(xiàn)方式 可以包括采用一個(gè)或多個(gè)計(jì)算機(jī)程序的實(shí)現(xiàn)方式,一個(gè)或多個(gè)計(jì)算機(jī)程序在包括至少一個(gè) 可編程處理器的可編程系統(tǒng)上是可執(zhí)行的和/或可解釋的,至少一個(gè)可編程處理器可以是 專用的或通用的,其耦合為從存儲(chǔ)系統(tǒng)、至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備接收數(shù)據(jù) 和指令以及將數(shù)據(jù)和指令發(fā)送給存儲(chǔ)系統(tǒng)、至少一個(gè)輸入設(shè)備和至少一個(gè)輸出設(shè)備。
[0094] 這些計(jì)算機(jī)程序(還被稱為程序、軟件應(yīng)用或代碼)包括針對(duì)可編程處理器的機(jī)器 指令,并且可以以高級(jí)程序式語言和/或面向?qū)ο缶幊陶Z言和/或以匯編語言/機(jī)器語言來 實(shí)現(xiàn)。如本文所使用的,術(shù)語"機(jī)器可讀介質(zhì)"和"計(jì)算機(jī)可讀介質(zhì)"是指用于將機(jī)器指令和/ 數(shù)據(jù)提供給可編程處理器的任何計(jì)算機(jī)程序產(chǎn)品、裝置和/或設(shè)備(例如,磁盤、光盤、存儲(chǔ) 區(qū)、可編程邏輯器件(PLD)),包括接收作為機(jī)器可讀信號(hào)的機(jī)器指令的機(jī)器可讀介質(zhì)。術(shù)語 "機(jī)器可讀信號(hào)"是指用于將機(jī)器指令和/數(shù)據(jù)提供給可編程處理器的任何信號(hào)。
[0095]可以在數(shù)字電子電路中或者在計(jì)算機(jī)軟件、固件或者硬件(包括在本說明書中公 開的結(jié)構(gòu)及其結(jié)構(gòu)等效物)中或者在它們中的一項(xiàng)或者多項(xiàng)的組合中實(shí)施在本說明書中描 述的主題內(nèi)容和功能操作的實(shí)現(xiàn)方式。此外,在本說明書中描述的主題內(nèi)容可以被實(shí)施為 一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,即被編碼在計(jì)算機(jī)可讀介質(zhì)上以用于由數(shù)據(jù)處理裝置運(yùn)行或 者用于控制數(shù)據(jù)處理裝置的操作的計(jì)算機(jī)程序指令的一個(gè)或多個(gè)模塊。計(jì)算機(jī)可讀介質(zhì)可 以為機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)襯底、存儲(chǔ)器設(shè)備、影響機(jī)器可讀傳播信號(hào)的物質(zhì)的 成分、或者它們中的一項(xiàng)或者多項(xiàng)的組合。術(shù)語"數(shù)據(jù)處理裝置"、"計(jì)算設(shè)備"和"計(jì)算處理 器"涵蓋用于處理數(shù)據(jù)的所有裝置、設(shè)備和機(jī)器,舉例而言包括可編程處理器、計(jì)算機(jī)或多 個(gè)處理器或計(jì)算機(jī)。除了硬件,該裝置可以包括創(chuàng)建針對(duì)討論中的計(jì)算機(jī)程序的運(yùn)行環(huán)境 的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫管理系統(tǒng)、操作系統(tǒng)或它們中的一項(xiàng)或者多 項(xiàng)的組合的代碼。傳播信號(hào)為人為生成的信號(hào),例如,機(jī)器生成的電信號(hào)、光信號(hào)或者電磁 信號(hào),該信號(hào)被生成以對(duì)信息編碼以用于向適當(dāng)接收器裝置傳輸。
[0096] 可以用包括編譯或者解譯語言的任何形式的編程語言編寫計(jì)算機(jī)程序(也被稱為 應(yīng)用、程序、軟件、軟件應(yīng)用、腳本或者代碼),并且可以用任何形式部署它、包括部署為獨(dú)立 程序或者部署為適合于在計(jì)算環(huán)境中使用的模塊、部件、子例程、對(duì)象或者其他單元。計(jì)算 機(jī)程序不是必需對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可以被存儲(chǔ)于保持其他程序或者數(shù)據(jù)的文 件(例如,存儲(chǔ)于標(biāo)記語言文檔中的一個(gè)或者多個(gè)腳本)的一部分中、專用于討論的程序的 單個(gè)文件中或者多個(gè)協(xié)同文件(例如,存儲(chǔ)一個(gè)或者多個(gè)模塊、子程序或者代碼部分的文 件)中。計(jì)算機(jī)程序可以被部署用于在一個(gè)計(jì)算機(jī)上或者在位于一個(gè)站點(diǎn)或者分布于多個(gè) 站點(diǎn)并且由通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。
[0097] 在本說明書中描述的過程和邏輯流程可以由一個(gè)或者多個(gè)可編程處理器執(zhí)行,該 一個(gè)或者多個(gè)可編程處理器執(zhí)行一個(gè)或者多個(gè)計(jì)算機(jī)程序,以通過對(duì)輸入數(shù)據(jù)操作并且生 成輸出來執(zhí)行動(dòng)作。過程和邏輯流程也可以由專用邏輯電路裝置(例如,F(xiàn)PGA(現(xiàn)場(chǎng)可編程 門陣列)或者ASKX專用集成電路))執(zhí)行并且也可以將裝置實(shí)施為專用邏輯電路裝置。 [0098] 舉例而言,適合于執(zhí)行計(jì)算機(jī)程序的處理器包括通用和專用微處理器二者以及任 何種類的數(shù)字計(jì)算機(jī)的任何一個(gè)或者多個(gè)處理器。通常,處理器將從只讀存儲(chǔ)器或者隨機(jī) 存取存儲(chǔ)器或者二者接收指令和數(shù)據(jù)。計(jì)算機(jī)的基本單元是用于根據(jù)指令執(zhí)行動(dòng)作的處理 器以及用于存儲(chǔ)指令和數(shù)據(jù)的一個(gè)或者多個(gè)存儲(chǔ)器設(shè)備。通常,計(jì)算機(jī)也將包括用于存儲(chǔ) 數(shù)據(jù)的一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備(例如,磁盤、磁光盤或者光盤),或者被操作地耦合用于 從該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備接收數(shù)據(jù)或者向該一個(gè)或者多個(gè)海量存儲(chǔ)設(shè)備發(fā)送數(shù)據(jù) 或者二者。然而,計(jì)算機(jī)不是必需具有這樣的設(shè)備。另外,計(jì)算機(jī)可以被嵌入于另一設(shè)備中, 例如,移動(dòng)電話、個(gè)人數(shù)字助理(PDA )、移動(dòng)音頻播放器、全球定位系統(tǒng)(GPS ),等等。適合于 存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì)算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存 儲(chǔ)器設(shè)備,舉例而言包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如,EPROM、EEPR0M和閃存設(shè)備;磁盤,例如, 內(nèi)部硬盤或者可移動(dòng)盤;磁光盤;以及⑶-ROM和DVD-ROM盤。處理器和存儲(chǔ)器可以由專用邏 輯電路裝置補(bǔ)充或者被并入于專用邏輯電路裝置中。
[0099]為了提供與用戶的交互,可以在計(jì)算機(jī)上實(shí)施本公開內(nèi)容的一個(gè)或多個(gè)方面,該 計(jì)算機(jī)具有用于向用戶顯示信息的顯示設(shè)備(例如,CRT(陰極射線管)IXD(液晶顯示器)監(jiān) 視器或者觸摸屏)以及用戶可以用來向計(jì)算機(jī)提供輸入的鍵盤和指點(diǎn)設(shè)備,例如,鼠標(biāo)或者 跟蹤球。其他種類的設(shè)備也可以用來提供與用戶的交互;例如,向用戶提供的反饋可以是任 何形式的感官反饋,例如,視覺反饋、聽覺反饋或者觸覺反饋;并且可以用包括聲音、語音或 者觸覺輸入的任何形式接收來自用戶的輸入。此外,計(jì)算機(jī)可以通過向由用戶使用的設(shè)備 發(fā)送文檔和從該設(shè)備接收文檔(例如,通過響應(yīng)于從用戶的客戶端設(shè)備上的web瀏覽器接收 的請(qǐng)求向該web瀏覽器發(fā)送網(wǎng)頁)來與用戶交互。
[0100] 可以在計(jì)算系統(tǒng)中實(shí)施本公開內(nèi)容中的一個(gè)或多個(gè)方面,該計(jì)算系統(tǒng)包括例如作 為數(shù)據(jù)服務(wù)器的后端部件或者包括中間件部件(例如,應(yīng)用服務(wù)器)或者包括前端部件(例 如,具有圖形用戶界面或者Web瀏覽器(用戶可以通過該圖形用戶界面或者Web瀏覽器與在 本說明書中描述的主題內(nèi)容的實(shí)現(xiàn)方式交互)的客戶端計(jì)算機(jī))或者一個(gè)或者多個(gè)這樣的 后端、中間件或者前端部件的任何組合。系統(tǒng)的部件可以由任何數(shù)字?jǐn)?shù)據(jù)通信形式或者介 質(zhì)(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)("LAN")和廣域網(wǎng)("WAN")、互聯(lián)網(wǎng)絡(luò) (例如,因特網(wǎng))和對(duì)等網(wǎng)絡(luò)(例如,自組織對(duì)等網(wǎng)絡(luò))。
[0101] 計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般相互遠(yuǎn)離并且通常通過 通信網(wǎng)絡(luò)交互。客戶端和服務(wù)器的關(guān)系借助在相應(yīng)計(jì)算機(jī)上運(yùn)行并且相互具有客戶端-月艮 務(wù)器關(guān)系的計(jì)算機(jī)程序而產(chǎn)生。在一些實(shí)現(xiàn)方式中,服務(wù)器向客戶端設(shè)備傳輸數(shù)據(jù)(例如, HTML頁面)(例如,用于向與客戶端設(shè)備交互的用戶顯示數(shù)據(jù)并且從該用戶接收用戶輸入)。 可以在服務(wù)器處從客戶端設(shè)備接收在客戶端設(shè)備生成的數(shù)據(jù)(例如,用戶交互的結(jié)果)。
[0102] 盡管本說明書包含許多具體細(xì)節(jié),但是不應(yīng)將這些解釋為限制本公開內(nèi)容的或者 可以要求保護(hù)的內(nèi)容的范圍,而是應(yīng)當(dāng)理解為對(duì)本公開內(nèi)容的具體實(shí)現(xiàn)方式特有的特征的 描述。在本說明書中在不同的實(shí)現(xiàn)方式的背景中描述的某些特征也可以在單個(gè)實(shí)施例中被 組合實(shí)施。相反,在單個(gè)實(shí)現(xiàn)方式的背景中描述的各種特征也可以在多個(gè)實(shí)施例中單獨(dú)地 或者在任何適當(dāng)子組合中被實(shí)施。另外,雖然上文可以將特征描述為在某些組合中動(dòng)作,并 且甚至初始地這樣要求保護(hù),但是來自要求保護(hù)的組合的一個(gè)或者多個(gè)特征可以在一些情 況下從該組合中被刪除,并且要求保護(hù)的組合可以涉及子組合或者子組合的變型。
[0103] 類似地,盡管在附圖中以特定順序描繪操作,但是這不應(yīng)被理解為要求以所示特 定順序或者以依次順序執(zhí)行這樣的操作或者執(zhí)行所有所示操作以實(shí)現(xiàn)期望的結(jié)果。在某些 情況下,多任務(wù)和并行處理可以是有利的。另外,在上文描述的實(shí)施例中的各種系統(tǒng)部件的 分離不應(yīng)被理解為在所有實(shí)施例中要求這樣的分離,并且應(yīng)當(dāng)理解描述的程序部件和系統(tǒng) 通??梢员灰黄鸺捎趩蝹€(gè)軟件產(chǎn)品中或者封裝到多個(gè)軟件產(chǎn)品中。
[0104]已經(jīng)描述了許多實(shí)現(xiàn)方式。然而,應(yīng)當(dāng)理解,在不脫離本公開內(nèi)容的精神和范圍的 情況下,可以進(jìn)行各種修改。因此,其他實(shí)現(xiàn)方式也處于所附權(quán)利要求的范圍內(nèi)。例如,在權(quán) 利要求中記載的動(dòng)作可以按不同順序被執(zhí)行而仍然實(shí)現(xiàn)期望的結(jié)果。
【主權(quán)項(xiàng)】
1. 一種方法(600),包括: 標(biāo)識(shí)需求對(duì)分布式系統(tǒng)(100)的資源(110、112、114、116、422、424、426、432、434、436) 的使用的高可用性作業(yè)(122、122a)和低可用性作業(yè)(122、122b); 將對(duì)低可用性作業(yè)(122、1226)可用的所述資源(110、112、114、116、422、424、426、432、 434、436)的第一配額(Q1)確定為在正常操作期間可用的所述資源(110、112、114、116、422、 424、426、432、434、436)的量; 將對(duì)高可用性作業(yè)(122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、 434、436)的第二配額(Q2)確定為在正常操作期間可用的所述資源(110、112、114、116、422、 424、426、432、434、436)的量減去由于被容忍事件而丟失的所述資源(110、112、114、116、 422、424、426、432、434、436)的量; 在所述分布式系統(tǒng)(100)的所述資源(110、112、114、116、422、424、426、432、434、436) 上運(yùn)行所述作業(yè)(122、122a、12化);W及 將由所述高可用性作業(yè)(122、122a)和所述低可用性作業(yè)(122、122b)兩者對(duì)所述資源 (110、112、114、116、422、424、426、432、434、436)的總使用約束為在正常操作期間可用的所 述資源(110、112、114、116、422、424、426、432、434、436)的所述量。2. 根據(jù)權(quán)利要求1所述的方法(600),其中所述資源(110、112、114、116、422、424、426、 432、434、436)包括數(shù)據(jù)處理設(shè)備(112)、聯(lián)網(wǎng)系統(tǒng)(116、426、436)、功率系統(tǒng)(424、434)或冷 卻系統(tǒng)(422、432)。3. 根據(jù)權(quán)利要求2所述的方法(600),還包括將向由于所述被容忍事件而丟失的資源 (110、112、114、116、422、424、426、432、434、436)分配的作業(yè)(122、1223、12化)遷移或重新 運(yùn)行到剩余資源(110、112、114、116、422、424、426、432、434、436)。4. 根據(jù)權(quán)利要求1所述的方法(600),其中所述資源(110、112、114、116、422、424、426、 432、434、436)包括非暫態(tài)存儲(chǔ)器設(shè)備(114)。5. 根據(jù)權(quán)利要求4所述的方法(600 ),還包括: 舍棄向丟失的所述資源(110、112、114、116、422、424、426、432、434、436)分配的作業(yè) (122、122日、12化),而不向剩余資源(110、112、114、116、422、424、426、432、4:34、436)重新分 配所述作業(yè)(122、122a、12化);W及 重構(gòu)與丟失的所述資源(110、112、114、116、422、424、426、432、434、436)相關(guān)聯(lián)的任何 不可用數(shù)據(jù)(312)。6. 根據(jù)權(quán)利要求1所述的方法(600),還包括將對(duì)高可用性作業(yè)(122、122a)可用的所述 資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配額(92)確定為: 化=Rn-化-Ri 其中化是所述第二配額(Q2),Rn是在正常操作期間可用的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,化是由于被容忍事件而丟失的所述資源(110、112、 114、116、422、424、426、432、434、436)的所述量,并且虹是由于所述被容忍事件而需要的所 述剩余資源(110、112、114、116、422、424、426、432、4:34、436)的增加的量。7. 根據(jù)權(quán)利要求1所述的方法(600),還包括將對(duì)高可用性作業(yè)(122、122a)可用的所述 資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配額(92)確定為:其中化是所述第二配額(Q2),Rn是在正常操作期間可用的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,化是由于被容忍事件而丟失的所述資源(110、112、 114、116、422、424、426、432、434、436)的所述量,并且義是對(duì)應(yīng)于所述被容忍事件的資源 (110、112、114、116、422、424、426、432、434、436)乘數(shù)。8. 根據(jù)權(quán)利要求7所述的方法(600),其中所述資源(110、112、114、116、422、424、426、 432、434、436)包括非暫態(tài)存儲(chǔ)器設(shè)備(114)。9. 據(jù)權(quán)利要求1所述的方法(600),還包括將所述第一配額(Q2)和所述第二配額(Q2)之 和限制為最大配額(Q2)。10. 根據(jù)權(quán)利要求1所述的方法(600 ),還包括: 監(jiān)視由所述高可用性作業(yè)(122、122曰)對(duì)所述資源(110、112、114、116、422、424、426、 432、434、436)的使用;W及 當(dāng)高可用性作業(yè)(122、122a)超過闊值使用時(shí),將所述高可用性作業(yè)(122、122a)降級(jí)為 低可用性作業(yè)(122、122b)。11. 根據(jù)權(quán)利要求1所述的方法(600),還包括:在所述被容忍事件之前,針對(duì)時(shí)間段,暫 ?;蚪Y(jié)束所述低可用性作業(yè)(122、122b)中的至少一些低可用性作業(yè)。12. 根據(jù)權(quán)利要求1所述的方法(600),還包括:基于所述作業(yè)(122、122a、122b)到特定 資源(110、112、114、116、422、424、426、432、434、436)的分配和所述分布式系統(tǒng)(100)的系 統(tǒng)層級(jí)(400、400曰、4006)來確定由于被容忍事件而丟失的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,所述系統(tǒng)層級(jí)(400、4003、4006)包括系統(tǒng)域(402、 402a、40化、402c、402d),每個(gè)系統(tǒng)域具有活動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。13. 根據(jù)權(quán)利要求13所述的方法(600),其中所述系統(tǒng)層級(jí)(400、400a、400b)包括系統(tǒng) 級(jí)別(1、2、3、4),所述系統(tǒng)級(jí)別(1、2、3、4)包括: 第一系統(tǒng)級(jí)別(級(jí)別1),所述第一系統(tǒng)級(jí)別對(duì)應(yīng)于數(shù)據(jù)處理設(shè)備(112)、非暫態(tài)存儲(chǔ)器 設(shè)備(114)或網(wǎng)絡(luò)接口控制器(116)的主機(jī)機(jī)器(110),每個(gè)主機(jī)機(jī)器(110)具有系統(tǒng)域 (402、402a、402b、402c、402d); 第二系統(tǒng)級(jí)別(級(jí)別2),所述第二系統(tǒng)級(jí)別對(duì)應(yīng)于容納所述主機(jī)機(jī)器(110、430)的機(jī)架 (430、430a、430n)的功率遞送器(434)、通信遞送器(436)或冷卻遞送器(432),所述機(jī)架的 每個(gè)功率遞送器(434)、通信遞送器(436)或冷卻遞送器(432)具有系統(tǒng)域(402、402a、40化、 402c、402d);W及 第Ξ系統(tǒng)級(jí)別,所述第Ξ系統(tǒng)級(jí)別對(duì)應(yīng)于具有相關(guān)聯(lián)的機(jī)架(430、430a、430n)的單元 (200)的功率遞送器(424)、通信遞送器(426)或冷卻遞送器(422),所述單元(200)的每個(gè)功 率遞送器(424)、通信遞送器(426)或冷卻遞送器(422)具有系統(tǒng)域(402、402a、40化、402c、 402d);W及 第四系統(tǒng)級(jí)別(級(jí)別4),所述第四系統(tǒng)級(jí)別對(duì)應(yīng)于所述單元(200)的分布中屯、模塊 (410),每個(gè)分布中屯、模塊(410)具有系統(tǒng)域(402、4023、4026、402(3、402(1)。14. 一種系統(tǒng),包括: 分布式系統(tǒng)(100)的資源(110、112、114、116、422、424、426、432、4:M、436);W及 計(jì)算機(jī)處理器(202),所述計(jì)算機(jī)處理器(202)與所述資源(110、112、114、116、422、 424、426、432、434、436)進(jìn)行通信,所述計(jì)算機(jī)處理器(202): 標(biāo)識(shí)需求對(duì)所述資源(110、112、114、116、422、424、426、432、434、436)的使用的高可用 性作業(yè)(122、122a)和低可用性作業(yè)(122、122b); 將對(duì)低可用性作業(yè)(122、1226)可用的所述資源(110、112、114、116、422、424、426、432、 434、436)的第一配額(Q2)確定為在正常操作期間可用的所述資源(110、112、114、116、422、 424、426、432、434、436)的量; 將對(duì)高可用性作業(yè)(122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、 434、436)的第二配額(Q2)確定為在正常操作期間可用的所述資源(110、112、114、116、422、 424、426、432、434、436)的量減去由于被容忍事件而丟失的所述資源(110、112、114、116、 422、424、426、432、434、436)的量; 在所述分布式系統(tǒng)(100)的所述資源(110、112、114、116、422、424、426、432、434、436) 上運(yùn)行所述作業(yè)(122、122a、12化);W及 將由所述高可用性作業(yè)(122、122a)和所述低可用性作業(yè)(122、122b)兩者對(duì)所述資源 (110、112、114、116、422、424、426、432、434、436)的總使用約束為在正常操作期間可用的所 述資源(110、112、114、116、422、424、426、432、434、436)的所述量。15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述資源(110、112、114、116、422、424、426、432、 434、436)包括數(shù)據(jù)處理設(shè)備(112)、聯(lián)網(wǎng)系統(tǒng)(116、426、436)、功率系統(tǒng)(424、434)或冷卻系 統(tǒng)(422、432)。16. 根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)將向由于所述被容忍事 件而丟失的資源(110、112、114、116、422、424、426、432、4:34、436)分配的作業(yè)(122、122曰、 122b)遷移或重新運(yùn)行到剩余資源(110、112、114、116、422、424、426、432、434、436)。17. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述資源(110、112、114、116、422、424、426、432、 434、436)包括非暫態(tài)存儲(chǔ)器設(shè)備(114)。18. 根據(jù)權(quán)利要求17所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202): 舍棄向丟失的所述資源(110、112、114、116、422、424、426、432、434、436)分配的作業(yè) (122、122日、12化),而不向剩余資源(110、112、114、116、422、424、426、432、4:34、436)重新分 配所述作業(yè)(122、1223、12化);^及 重構(gòu)與丟失的所述資源(110、112、114、116、422、424、426、432、434、436)相關(guān)聯(lián)的任何 不可用數(shù)據(jù)(312)。19. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)將對(duì)高可用性作業(yè) (122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配 額(Q2)確定為: 化二 Rn~Rl-Ri 其中化是所述第二配額(Q2),Rn是在正常操作期間可用的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,化是由于被容忍事件而丟失的所述資源(110、112、 114、116、422、424、426、432、434、436)的所述量,并且虹是由于所述被容忍事件而需要的所 述剩余資源(110、112、114、116、422、424、426、432、4:34、436)的增加的量。20. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)將對(duì)高可用性作業(yè) (122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配 額(Q2)確定為:其中化是所述第二配額(Q2),Rn是在正常操作期間可用的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,化是由于被容忍事件而丟失的所述資源(110、112、 114、116、422、424、426、432、434、436)的所述量,并且義是對(duì)應(yīng)于所述被容忍事件的資源乘 數(shù)。21. 根據(jù)權(quán)利要求20所述的系統(tǒng),其中所述資源(110、112、114、116、422、424、426、432、 434、436)包括非暫態(tài)存儲(chǔ)器設(shè)備(114)。22. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)將所述第一配額(Q2)和 所述第二配額(Q2)之和限制為最大配額(Q2)。23. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202): 監(jiān)視由所述高可用性作業(yè)(122、122曰)對(duì)所述資源(110、112、114、116、422、424、426、 432、434、436)的使用;W及 當(dāng)高可用性作業(yè)(122、122a)超過闊值使用時(shí),將所述高可用性作業(yè)(122、122a)降級(jí)為 低可用性作業(yè)(122、122b)。24. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)在所述被容忍事件之 前,針對(duì)時(shí)間段,暫?;蚪Y(jié)束所述低可用性作業(yè)(122、122b)中的至少一些低可用性作業(yè)。25. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述計(jì)算機(jī)處理器(202)基于所述作業(yè)(122、 122曰、1226)到特定資源(110、112、114、116、422、424、426、432、4:34、436)的分配和所述分布 式系統(tǒng)(100)的系統(tǒng)層級(jí)(400、400曰、40化)來確定由于被容忍事件而丟失的所述資源(110、 112、114、116、422、424、426、432、434、436)的所述量,所述系統(tǒng)層級(jí)(400、400曰、4006)包括 系統(tǒng)域(402、4023、40化、402(3、402(1),每個(gè)系統(tǒng)域具有活動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。26. 根據(jù)權(quán)利要求25所述的系統(tǒng),其中所述系統(tǒng)層級(jí)(400、400a、400b)包括系統(tǒng)級(jí)別, 所述系統(tǒng)級(jí)別包括: 第一系統(tǒng)級(jí)別(級(jí)別1),所述第一系統(tǒng)級(jí)別對(duì)應(yīng)于數(shù)據(jù)處理設(shè)備(112)、非暫態(tài)存儲(chǔ)器 設(shè)備(114)或網(wǎng)絡(luò)接口控制器(116)的主機(jī)機(jī)器(110),每個(gè)主機(jī)機(jī)器(110)具有系統(tǒng)域 (402、402a、402b、402c、402d); 第二系統(tǒng)級(jí)別(級(jí)別2),所述第二系統(tǒng)級(jí)別對(duì)應(yīng)于容納所述主機(jī)機(jī)器(110、430)的機(jī)架 (430、430a、430n)的功率遞送器(434)、通信遞送器(436)或冷卻遞送器(432),所述機(jī)架的 每個(gè)功率遞送器(434)、通信遞送器(436)或冷卻遞送器(432)具有系統(tǒng)域(402、402a、40化、 402c、402d);W及 第Ξ系統(tǒng)級(jí)別(級(jí)別3),所述第Ξ系統(tǒng)級(jí)別對(duì)應(yīng)于具有相關(guān)聯(lián)的機(jī)架(430、430a、43化) 的單元(200)的功率遞送器(424)、通信遞送器(426)或冷卻遞送器(422),所述單元(200)的 每個(gè)功率遞送器(424)、通信遞送器(426)或冷卻遞送器(422)具有系統(tǒng)域(402、402a、40化、 402c、402d);W及 第四系統(tǒng)級(jí)別(級(jí)別4),所述第四系統(tǒng)級(jí)別對(duì)應(yīng)于所述單元(200)的分布中屯、模塊 (410),每個(gè)分布中屯、模塊(410)具有系統(tǒng)域(402、4023、4026、402(3、402(1)。27. -種方法(700),包括: 標(biāo)識(shí)需求對(duì)分布式系統(tǒng)(100)的資源(110、112、114、116、422、424、426、432、434、436) 的使用的高可用性作業(yè)(122、122a)和低可用性作業(yè)(122、122b); 將對(duì)低可用性作業(yè)(122、1226)可用的所述資源(110、112、114、116、422、424、426、432、 434、436)的第一配額(Q2)確定為在正常操作期間可用的所述資源(110、112、114、116、422、 424、426、432、434、436)的量; 基于資源類型來確定對(duì)高可用性作業(yè)(122、122a)可用的所述資源(110、112、114、116、 422、424、426、432、434、436)的第二配額(92),其中: 對(duì)于存儲(chǔ)容量資源(114、116、422、424、426、432、4:34、436),對(duì)高可用性作業(yè)(122、 122a)可用的所述資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配額 (Q2)是在正常操作期間可用的所述資源(110、112、114、116、422、424、426、432、434、436)的 所述量; 對(duì)于存儲(chǔ)帶寬資源(110、112、114、116、422、424、426、432、434、436),對(duì)高可用性作業(yè) (122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配 額(Q2)是在正常操作期間可用的所述資源(110、112、114、116、422、424、426、432、434、436) 的所述量減去由于被容忍事件而丟失的所述資源(110、112、114、116、422、424、426、432、 434、436)的量并且減去由于所述被容忍事件而需要的剩余資源(110、112、114、116、422、 424、426、432、434、436)的增加的量;^及 對(duì)于非存儲(chǔ)資源(110、112、114、116、422、424、426、432、4:34、436),對(duì)高可用性作業(yè) (122、122曰)可用的所述資源(110、112、114、116、422、424、426、432、4:34、436)的所述第二配 額(Q2)是在正常操作期間可用的所述資源(110、112、114、116、422、424、426、432、434、436) 的所述量減去由于被容忍事件而丟失的所述資源(110、112、114、116、422、424、426、432、 434、436)的所述量; 在所述分布式系統(tǒng)(100)的所述資源(110、112、114、116、422、424、426、432、434、436) 上運(yùn)行所述作業(yè)(122、122a、12化);W及 將由所述高可用性作業(yè)(122、122a)和所述低可用性作業(yè)(122、122b)兩者對(duì)所述資源 (110、112、114、116、422、424、426、432、434、436)的總使用約束為在正常操作期間可用的所 述資源(110、112、114、116、422、424、426、432、434、436)的所述量。28. 根據(jù)權(quán)利要求27所述的方法(700),還包括:對(duì)于非存儲(chǔ)資源(110、112、114、116、 422、424、426、432、434、436),將向由于所述被容忍事件而丟失的資源(110、112、114、116、 422、424、426、432、434、436)分配的作業(yè)(122、122a、122b)遷移或重新運(yùn)行到剩余資源 (110、112、114、116、422、424、426、432、434、436)。29. 根據(jù)權(quán)利要求27所述的方法(700),還包括:對(duì)于存儲(chǔ)資源(110、112、114、116、422、 424、426、432、似4、436): 舍棄向丟失的所述資源(110、112、114、116、422、424、426、432、434、436)分配的作業(yè) (122、122日、12化),而不向剩余資源(110、112、114、116、422、424、426、432、4:34、436)重新分 配所述作業(yè)(122、1223、12化);^及 重構(gòu)與丟失的所述資源(110、112、114、116、422、424、426、432、434、436)相關(guān)聯(lián)的任何 不可用數(shù)據(jù)。30.根據(jù)權(quán)利要求27所述的方法(700),還包括:基于所述作業(yè)(122、122a、12化巧Ij特定 資源(110、112、114、116、422、424、426、432、434、436)的分配和所述分布式系統(tǒng)(100)的系 統(tǒng)層級(jí)(400、400曰、4006)來確定由于被容忍事件而丟失的所述資源(110、112、114、116、 422、424、426、432、434、436)的所述量,所述系統(tǒng)層級(jí)(400、4003、4006)包括系統(tǒng)域(402、 402a、402b、402c、402d),每個(gè)系統(tǒng)域具有活動(dòng)狀態(tài)或不活動(dòng)狀態(tài)。
【文檔編號(hào)】G06F15/173GK105849715SQ201580003401
【公開日】2016年8月10日
【申請(qǐng)日】2015年1月23日
【發(fā)明人】R·希弗, P·達(dá)爾, S·R·希里帕
【申請(qǐng)人】谷歌公司