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

通過增長(zhǎng)和收縮資源分配來(lái)進(jìn)行調(diào)度的制作方法

文檔序號(hào):6477838閱讀:129來(lái)源:國(guó)知局
專利名稱:通過增長(zhǎng)和收縮資源分配來(lái)進(jìn)行調(diào)度的制作方法
通過增長(zhǎng)和收縮資源分配來(lái)進(jìn)行調(diào)度 背景 大型計(jì)算環(huán)境中的資源通常由調(diào)度系統(tǒng)來(lái)管理。這些資源可以是計(jì)算機(jī)或處理器 的集群,或可包括其它資源。調(diào)度機(jī)制可以跨各個(gè)資源塊來(lái)調(diào)度大型計(jì)算任務(wù)。在許多情 況下,大型計(jì)算資源是極其需要的,如此高效的調(diào)度可以更好地利用這些資源。
概述 用于計(jì)算資源的調(diào)度器可周期性地分析正在運(yùn)行的作業(yè)來(lái)確定是否可向該作業(yè) 分配附加資源以使該作業(yè)更快地完成,并且可檢查是否有用于開始正在等待的作業(yè)的最小 量的資源可用。作業(yè)可包括可用任務(wù)之間的并行或串行關(guān)系來(lái)定義的多個(gè)任務(wù)。在執(zhí)行 期間的各個(gè)時(shí)間點(diǎn)處,可以響應(yīng)于優(yōu)先級(jí)系統(tǒng)來(lái)調(diào)整活動(dòng)作業(yè)的資源分配以添加或移除資 源。作業(yè)能以最小量的資源開始并且這些資源可以在作業(yè)的生存周期中增加或減少。
提供本概述是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概 念。本概述并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定 所要求保護(hù)的主題的范圍。
附圖簡(jiǎn)述
在附圖中

圖1是示出用于管理和調(diào)度作業(yè)的系統(tǒng)的實(shí)施例的圖示。
圖2是示出作業(yè)和針對(duì)該作業(yè)的資源加載的實(shí)施例的圖示。 圖3是示出用于向正在運(yùn)行和正在等待的作業(yè)分配資源的方法的實(shí)施例的流程 圖。 詳細(xì)描述 可以使用調(diào)度系統(tǒng)來(lái)將共享計(jì)算資源分配給各個(gè)作業(yè)。該調(diào)度系統(tǒng)可包括新作 業(yè)的隊(duì)列,其中優(yōu)先級(jí)系統(tǒng)可以確定接著將開始哪一作業(yè)。分析器可以周期性地評(píng)估正在 執(zhí)行的作業(yè)以標(biāo)識(shí)未被充分使用的資源,并可以確定開始新作業(yè)或向現(xiàn)有作業(yè)分配附加資 源。 每一作業(yè)可被定義成一系列任務(wù)。某些任務(wù)能以串行或并行的方式鏈接,并且每 一任務(wù)可以使用一定范圍的資源。在執(zhí)行期間的某些時(shí)間點(diǎn)處,多個(gè)任務(wù)可以并行執(zhí)行,而 在其它時(shí)間點(diǎn)處,一任務(wù)在執(zhí)行之前等待其它任務(wù)完成。在可以執(zhí)行并行任務(wù)的時(shí)間段期 間,通過應(yīng)用附加資源可以更快地完成作業(yè),而在其它時(shí)間段期間,可以將同樣的這些資源 分配給其它作業(yè)。 在某些情況下,新作業(yè)可以通過確定可用于開始作業(yè)的最小量的資源來(lái)開始。在 這些資源變得可用時(shí),可以開始新作業(yè)。在其它資源變得空閑時(shí),可以將它們分配給該新作 業(yè)以使該新作業(yè)可被快速完成。 在對(duì)資源分配的周期性分析期間,可以使用一種算法來(lái)在正在執(zhí)行的作業(yè)之間分 配資源并決定是否要開始新作業(yè)。不同的實(shí)施例可以使用不同的算法。例如,一個(gè)實(shí)施例 可以偏愛盡可能快地完成現(xiàn)有作業(yè),而另一實(shí)施例可以偏愛盡可能快地開始新作業(yè)。在某 些情況下,在選擇動(dòng)作過程時(shí)可以考慮作業(yè)和資源之間的各個(gè)優(yōu)先級(jí)。
使用本發(fā)明的具體實(shí)施例來(lái)示出本發(fā)明的具體方面。這些實(shí)施例僅作為示例,且 易于作出各種修改和替換形式。所附權(quán)利要求書旨在覆蓋落入由權(quán)利要求書所定義的本發(fā) 明的精神和范圍內(nèi)的所有修改、等效方案、以及替換。 本說(shuō)明書通篇中,在所有附圖的描述中,相同的附圖標(biāo)記表示相同的元素。 在將元素稱為被"連接"或"耦合"時(shí),這些元素可以直接連接或耦合在一起,或者
也可以存在一個(gè)或多個(gè)中間元素。相反,在將元素稱為被"直接連接"或"直接耦合"時(shí),不
存在中間元素。 本發(fā)明可被具體化為設(shè)備、系統(tǒng)、方法、和/或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的部 分或全部能以硬件和/或軟件(包括固件、常駐軟件、微碼、狀態(tài)機(jī)、門陣列等)來(lái)具體化。 此外,本發(fā)明可以采用其上包含有供指令執(zhí)行系統(tǒng)使用或結(jié)合其使用的計(jì)算機(jī)可使用或計(jì) 算機(jī)可讀程序代碼的計(jì)算機(jī)可使用或計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序產(chǎn)品的形式。在 本文的上下文中,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是可包含、存儲(chǔ)、通信、傳播、或傳輸 程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或結(jié)合其使用的任何介質(zhì)。 計(jì)算機(jī)可使用或計(jì)算機(jī)可讀介質(zhì)可以是,例如,但不限于,電、磁、光、電磁、紅外、 或半導(dǎo)體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī) 存儲(chǔ)介質(zhì)和通信介質(zhì)。 計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其
它數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì) 算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功 能盤(DVD)或其它光盤存儲(chǔ)、磁帶盒、磁帶、磁盤存儲(chǔ)或其它磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ) 所需信息且可以由指令執(zhí)行系統(tǒng)訪問的任何其它介質(zhì)。注意,計(jì)算機(jī)可使用或計(jì)算機(jī)可讀 介質(zhì)可以是其上打印有程序的紙張或另一合適的介質(zhì),因?yàn)槌绦蚩梢越?jīng)由例如對(duì)紙張或其 它介質(zhì)的光學(xué)掃描而電子地捕獲,隨后如有必要被編譯、解釋,或以其它合適的方式處理, 并隨后存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器中。 通信介質(zhì)通常以諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來(lái)體現(xiàn)計(jì)算機(jī)可讀 指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任意信息傳送介質(zhì)。術(shù)語(yǔ)"已調(diào)制數(shù)據(jù)信號(hào)" 指的是其一個(gè)或多個(gè)特征以在信號(hào)中編碼信息的方式被設(shè)定或更改的信號(hào)。作為示例而非 限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無(wú)線介質(zhì),諸如聲學(xué)、RF、 紅外線和其它無(wú)線介質(zhì)。上述中任一組合也應(yīng)包括在計(jì)算機(jī)可讀介質(zhì)的范圍之內(nèi)。
當(dāng)本發(fā)明在計(jì)算機(jī)可執(zhí)行指令的一般上下文中具體化時(shí),該實(shí)施例可以包括由一 個(gè)或多個(gè)系統(tǒng)、計(jì)算機(jī)、或其它設(shè)備執(zhí)行的程序模塊。 一般而言,程序模塊包括執(zhí)行特定任 務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,程序模塊的功能 可以在各個(gè)實(shí)施例中按需進(jìn)行組合或分布。 圖1是示出用于管理和調(diào)度作業(yè)的系統(tǒng)的實(shí)施例100的圖示。實(shí)施例100可用于 控制可使用多個(gè)計(jì)算資源的作業(yè)。例如,計(jì)算機(jī)集群可被組織成執(zhí)行可跨組成該集群的各 個(gè)計(jì)算機(jī)來(lái)分布的大型計(jì)算作業(yè)。 可以管理許多不同類型的計(jì)算機(jī)資源。例如,計(jì)算機(jī)集群中的或多處理器計(jì)算機(jī) 上的各個(gè)處理器可被分配組成計(jì)算作業(yè)的各個(gè)任務(wù)。在其它情況下,可以分配存儲(chǔ)器資源, 包括隨機(jī)存取存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)存儲(chǔ)器兩者??梢苑峙渚W(wǎng)絡(luò)資源,以及軟件許可證、計(jì)算資源、以及可能存在爭(zhēng)用的其它資源。實(shí)施例ioo可用來(lái)管理并分配跨多個(gè)作業(yè)共享的任何
計(jì)算資源。 每一作業(yè)102可包括多個(gè)任務(wù)。這些任務(wù)可以是可被執(zhí)行的離散的可執(zhí)行代碼塊 或功能。每一任務(wù)可以具有可由該任務(wù)使用的分開定義的資源。例如,在處理器集群上執(zhí)行 作業(yè)的典型情況下,單獨(dú)的任務(wù)可以在單個(gè)處理器上執(zhí)行或可以使用單個(gè)軟件許可證。在 某些實(shí)施例中,每一任務(wù)可以使用多個(gè)資源。例如,任務(wù)可被定義成使用四個(gè)處理器或被定 義成最少使用兩個(gè)處理器以及最多使用八個(gè)處理器來(lái)運(yùn)行。 因?yàn)樽鳂I(yè)102可以用多個(gè)任務(wù)來(lái)定義,所以作業(yè)在執(zhí)行過程期間可以使用不同級(jí) 別的資源。例如,作業(yè)可以具有可并行執(zhí)行的若干任務(wù)??梢酝ㄟ^向單獨(dú)的處理器分配每 一任務(wù)來(lái)執(zhí)行作業(yè)并使得該作業(yè)快速完成。還可以通過在單個(gè)處理器上順序地執(zhí)行每一任 務(wù)來(lái)執(zhí)行作業(yè)。 作業(yè)102可在被執(zhí)行之前被置于作業(yè)隊(duì)列104中。優(yōu)先級(jí)區(qū)分器106可以評(píng)估作 業(yè)隊(duì)列104中的作業(yè)以確定接著可以執(zhí)行哪一作業(yè)。 優(yōu)先級(jí)區(qū)分器106可以使用不同的機(jī)制和算法來(lái)確定接著執(zhí)行哪一作業(yè)。在某些 實(shí)施例中,每一作業(yè)可具有籠統(tǒng)的優(yōu)先級(jí),如低、中、高。某些實(shí)施例可以使用自從該作業(yè)被 提交以來(lái)的時(shí)間長(zhǎng)度作為另一因素??梢允褂靡环N算法來(lái)計(jì)算每一待決作業(yè)的優(yōu)先級(jí),對(duì) 隊(duì)列進(jìn)行排序,并標(biāo)識(shí)要執(zhí)行的下一作業(yè)。 優(yōu)先級(jí)區(qū)分器106所選擇的新作業(yè)108可由新作業(yè)分析器110來(lái)分析。新作業(yè)分 析器IIO可以確定可用來(lái)開始新作業(yè)108的最小資源。在該最小量的資源變得可用時(shí),可 以開始新作業(yè)108。 調(diào)度器112可以確定資源跨各個(gè)作業(yè)的分配。在某些情況下,調(diào)度器112可以向正 在執(zhí)行的作業(yè)添加資源,而在其它情況下,調(diào)度器112可以從作業(yè)移除資源。在執(zhí)行期間, 當(dāng)前作業(yè)分析器114可以分析當(dāng)前(即正在運(yùn)行的)作業(yè)116以確定是否有作業(yè)正在使用 其所有分配的資源或是否可向該作業(yè)分配附加資源。 在許多情況下,作業(yè)可具有可并行操作的多個(gè)任務(wù),并且在并行執(zhí)行多個(gè)任務(wù)期 間可以使用附加資源。在其它情況下,作業(yè)可具有串行或順序相關(guān)的任務(wù),使得在一個(gè)任務(wù) 完成之后才執(zhí)行另一個(gè)任務(wù)。在具有帶并行和順序依賴性的多個(gè)任務(wù)的作業(yè)中,作業(yè)在執(zhí) 行期間可以使用不同的資源量。在任務(wù)的大量并行執(zhí)行的時(shí)間段期間,可以向該作業(yè)分配 最大量的資源。 一旦該時(shí)間段過去并且作業(yè)進(jìn)入多個(gè)任務(wù)順序相關(guān)的時(shí)間段,則該作業(yè)可 能被分配了超過該作業(yè)能使用的資源。 在作業(yè)的執(zhí)行期間,當(dāng)前作業(yè)分析器114可以確定可以分配給作業(yè)的最大量的資 源。例如,該最大量的資源可用來(lái)確定可以向作業(yè)應(yīng)用多少資源來(lái)盡可能快地完成該作業(yè)。 當(dāng)前作業(yè)分析器114可以確定可以分配給同一作業(yè)的最小量的資源。例如,該最小量的資 源可由調(diào)度器112用來(lái)移除資源,以使較高優(yōu)先級(jí)的作業(yè)可以使用該資源。在這種或其它 情況下,可以確定最小量的資源,以便執(zhí)行作業(yè)而不會(huì)因資源不足引起死鎖。
資源管理器118可以監(jiān)控并分析資源120,以確定各資源120的當(dāng)前狀態(tài)。在許多 情況下,所分配的資源可包括集群計(jì)算應(yīng)用程序的處理器。在其它情況下,所分配的資源可 包括各個(gè)計(jì)算機(jī)、各種類型的存儲(chǔ)器設(shè)備、網(wǎng)絡(luò)連接和帶寬、各種輸入或輸出設(shè)備、以及軟 件許可證或其它計(jì)算資源。在本說(shuō)明書中,對(duì)集群計(jì)算和分配處理器或計(jì)算機(jī)資源的任何參考都是作為示例的并且不是限制。 調(diào)度器112可具有多個(gè)不同類型的算法,并且在確定何時(shí)開始新作業(yè)以及如何跨各個(gè)作業(yè)來(lái)分配或分?jǐn)傎Y源時(shí)可使用各種因素。每一實(shí)施例可以使用不同的邏輯和/或公式來(lái)分配資源。在某些實(shí)施例中,可以定義著重于使用盡可能多的資源來(lái)盡可能快地完成正在執(zhí)行的作業(yè)的邏輯。其它邏輯可以考慮正在執(zhí)行的作業(yè)的優(yōu)先級(jí),并以對(duì)較高優(yōu)先級(jí)作業(yè)以優(yōu)于較低優(yōu)先級(jí)作業(yè)的方式來(lái)分配資源。又一些實(shí)施例可被設(shè)計(jì)成通過向新作業(yè)而非正在執(zhí)行的作業(yè)分配資源來(lái)盡可能快地開始作業(yè)。 在某些實(shí)施例中,調(diào)度器112可以評(píng)估正在運(yùn)行的作業(yè),在正在運(yùn)行的作業(yè)之間分配資源,并隨后向任何新作業(yè)分配未在使用的資源。其它實(shí)施例可以使用各種算法和加權(quán)方案來(lái)對(duì)正在運(yùn)行的作業(yè)和待決作業(yè)一起確定優(yōu)先級(jí)。 圖2是示出作業(yè)的示例和針對(duì)該作業(yè)的資源加載的實(shí)施例200的圖示。作業(yè)可被定義成可作為并行的、或相關(guān)的、或順序的任務(wù)而鏈接在一起的多個(gè)單獨(dú)的任務(wù)。在集群計(jì)算應(yīng)用程序的示例中,每一任務(wù)可以是可在單獨(dú)的處理器上操作的分開的可執(zhí)行項(xiàng)目。其它實(shí)施例可以使用其它準(zhǔn)則來(lái)將作業(yè)劃分成各個(gè)任務(wù)。各任務(wù)可具有在某些任務(wù)之間共享的并可以是任務(wù)之間的關(guān)系的基礎(chǔ)的特定輸入或輸出數(shù)據(jù)。 作業(yè)的任務(wù)序列202的圖形表示在左側(cè)示出,而資源加載表204在右側(cè)示出。
任務(wù)序列202在框206處開始。第一任務(wù)208可用于啟動(dòng)作業(yè)。與第一任務(wù)208相對(duì)應(yīng),表204的第一行指示資源加載具有最大1和最小1。最大和最小資源加載可以是在該時(shí)間段內(nèi)可分配給作業(yè)的資源量。因?yàn)槿蝿?wù)208是操作中的一個(gè)任務(wù),所以可以分配一個(gè)資源。 出于簡(jiǎn)化該示例的目的,每一任務(wù)可被定義成使用可以是任何類型的計(jì)算資源的單個(gè)資源。在其它示例中,每一任務(wù)可以使用跨不同的資源類別的多個(gè)資源。例如,單個(gè)任務(wù)可以使用2到16個(gè)處理器、網(wǎng)絡(luò)訪問、以及軟件許可證,而另一任務(wù)可以使用單個(gè)處理器、特定輸出設(shè)備、以及不使用軟件許可證。在圖2的示例中,為示出概念,每一任務(wù)可對(duì)應(yīng)于單個(gè)資源。 在任務(wù)208完成之后,任務(wù)210、2112、和214可并行執(zhí)行。當(dāng)任務(wù)210、212、和214正在執(zhí)行時(shí),資源加載具有最大3個(gè)和最小1個(gè)資源。當(dāng)資源加載是1時(shí),任務(wù)210、212、和214中的每一個(gè)可以使用該單個(gè)資源順序地執(zhí)行。如果向該作業(yè)分配了更多資源,則兩個(gè)或更多個(gè)任務(wù)可以同時(shí)執(zhí)行。例如,如果向作業(yè)202分配了 2個(gè)資源,則任務(wù)210和212可以同時(shí)執(zhí)行,并且如果分配了 3個(gè)資源,則任務(wù)210、 210、和214可以并行執(zhí)行。
作業(yè)調(diào)度器可以基于優(yōu)先級(jí)來(lái)向各個(gè)作業(yè)分配資源。例如,如果作業(yè)202具有比正在執(zhí)行的其它作業(yè)高的優(yōu)先級(jí),則可以分配最高到最大資源加載的附加資源以使作業(yè)202更快地完成。相反,如果作業(yè)202具有比其它作業(yè)(無(wú)論是正在執(zhí)行的作業(yè)還是待決作業(yè))低的優(yōu)先級(jí),則可將資源分配給其它作業(yè)而可為作業(yè)202保留最小的資源加載,以使作業(yè)202可被繼續(xù)執(zhí)行。 任務(wù)216、218、和220依賴于任務(wù)210并且是并行任務(wù)。類似地,任務(wù)222和224是并行任務(wù)并依賴于任務(wù)214。在該時(shí)間段期間,資源加載最大可以是5,最小是1。
任務(wù)226依賴于任務(wù)216、218、220、222、224、和212??梢远x任務(wù)226對(duì)其它任務(wù)的依賴性,以便直到所有其它任務(wù)完成后才開始任務(wù)226。在任務(wù)226的時(shí)間段期間,最
8大資源加載和最小資源加載都可以是1。盡管任務(wù)226所依賴的各個(gè)任務(wù)正在完成,但一個(gè)或多個(gè)任務(wù)可在其余任務(wù)之前完成。例如,如果向作業(yè)分配了 5個(gè)資源并且2個(gè)任務(wù)在其余任務(wù)之前完成,則3個(gè)資源可由其余任務(wù)主動(dòng)地使用,而2個(gè)資源可能過量并且沒有被作業(yè)202所使用。 一旦使用這些過量資源的任務(wù)完成,則這些資源可由作業(yè)調(diào)度器收回并分配給其它作業(yè)。 任務(wù)228可以依賴于任務(wù)226并可以具有最大和最小資源加載1。在任務(wù)228完成后,作業(yè)202可以在框230結(jié)束。 調(diào)度器可以使用各種算法或邏輯來(lái)向作業(yè)分配資源。例如,在作業(yè)202的開始處,調(diào)度器可以向作業(yè)202分配最大5個(gè)資源,以使作業(yè)202可以快速完成,即使前幾個(gè)任務(wù)可以在不使用最大資源的情況下完成。在其它實(shí)施例中,調(diào)度器最初可以分配一個(gè)資源,并在任務(wù)216到224的執(zhí)行期間增加到5個(gè)資源。 調(diào)度器可以移除分配給某一作業(yè)的資源并將這些資源分配給另一作業(yè)。例如,如果向作業(yè)202分配了 5個(gè)資源并且任務(wù)218和218已經(jīng)完成而任務(wù)220、222和224正在進(jìn)行,則作業(yè)202可利用3個(gè)資源而非所有的5個(gè)資源。 在許多情況下,調(diào)度器可以評(píng)估可分配給作業(yè)的將來(lái)資源加載,以確定作業(yè)之間
的資源分配。例如,調(diào)度器可以評(píng)估作業(yè)202并且確定最大資源加載是5,并向作業(yè)202分
配5個(gè)資源,即使在任務(wù)216到224被執(zhí)行之前5個(gè)資源未被充分利用。 在某些實(shí)施例中,調(diào)度器可以在作業(yè)執(zhí)行的各個(gè)階段分配資源。例如,調(diào)度器可以
向作業(yè)202分配單個(gè)資源,而作業(yè)202可以繼續(xù)使用單個(gè)資源直到任務(wù)214完成為止。在
該點(diǎn)處,更多資源可變得可用,并且調(diào)度器可以分配多達(dá)最大5個(gè)資源的附加資源。 在某些情況下,資源可變得可用并且調(diào)度器可以將該資源分配給正在其最大值以
下操作的作業(yè)。在進(jìn)行這種分配時(shí),可以評(píng)估各種因素,包括作業(yè)的優(yōu)先級(jí)、作業(yè)的當(dāng)前資
源分配與最大分配之間的差、作業(yè)的最大和最小最大量資源加載之間的差、或任何其它因素。 在資源可用時(shí),調(diào)度器可以評(píng)估是否可以開始新作業(yè)。每一調(diào)度器可以具有不同的邏輯或算法來(lái)確定何時(shí)開始作業(yè)以及如何分配資源。在某些實(shí)施例中,調(diào)度器可以在嘗試向新作業(yè)分配資源之前,嘗試在正在執(zhí)行的作業(yè)之間分配資源。在其它實(shí)施例中,調(diào)度器可以使用評(píng)估現(xiàn)有作業(yè)和待決作業(yè)的優(yōu)先級(jí)的算法或邏輯,并可以向新作業(yè)分配資源,即使現(xiàn)有作業(yè)能夠使用這些資源。 圖2的示例示出可以對(duì)序列202確定資源加載的一種方式。序列202可被劃分成
具有不同資源加載的不同步驟。例如,如果任務(wù)216和218被分組在一起并且任務(wù)220、222
和224被分組在一起,則任務(wù)加載可具有最大資源加載3。在某些實(shí)施例中,可以通過分析
各個(gè)任務(wù)分組以確定各任務(wù)和作業(yè)之間的優(yōu)化資源加載來(lái)確定優(yōu)化的資源加載。 圖3是用于向作業(yè)分配資源的方法的示例的實(shí)施例300的流程圖。實(shí)施例300只
是可向正在執(zhí)行的作業(yè)和處于等待執(zhí)行的作業(yè)隊(duì)列中的那些作業(yè)分配資源的算法或邏輯
的一個(gè)示例。 盡管其它實(shí)施例可以使用不同的邏輯或方法來(lái)分配資源,但實(shí)施例300被設(shè)計(jì)成基于正在執(zhí)行的作業(yè)的優(yōu)先級(jí)來(lái)向正在執(zhí)行的作業(yè)分配可用資源。 一旦向正在執(zhí)行的作業(yè)分配了所有資源,則最高優(yōu)先級(jí)的等待作業(yè)可以在該等待作業(yè)的最小量資源可用時(shí)開始。
9
實(shí)施例300是一種算法的示例。本領(lǐng)域技術(shù)人員可以理解,可以基于具體實(shí)現(xiàn)來(lái)對(duì)實(shí)施例300進(jìn)行改變以產(chǎn)生不同的結(jié)果。此外,實(shí)施例300可被用于可由各種任務(wù)使用的不同類型的資源的資源分配。在某些實(shí)施例中,不同類型的資源可由調(diào)度器來(lái)管理,并且每一作業(yè)可以使用不同量的每一類型的資源。這些實(shí)施例可以使用類似或不同的邏輯或算法來(lái)在作業(yè)之間分配各種類型的資源。 在框302,分析當(dāng)前資源。在許多實(shí)施例中,資源分析器可以確定存在多少資源、分配了哪些資源、哪些資源正被利用、或關(guān)于當(dāng)前資源的其它信息。在某些情況下,資源可偶爾上線和離線,并可能不是永久可用的。 在框304,對(duì)于每一正在執(zhí)行的作業(yè),在框306確定最大資源加載,在框308確定最小資源加載,并在框310確定該作業(yè)的優(yōu)先級(jí)??梢葬槍?duì)作業(yè)的整個(gè)長(zhǎng)度或針對(duì)作業(yè)的一小段(如接下來(lái)的若干任務(wù))來(lái)確定最大和最小資源加載。 在某些情況下,在作業(yè)的執(zhí)行期間,可以多次執(zhí)行實(shí)施例300或類似算法,以便在執(zhí)行的過程期間可以多次分配和從作業(yè)移除資源。在這種情況下,可以對(duì)較短時(shí)間段而非對(duì)作業(yè)執(zhí)行的長(zhǎng)度評(píng)估作業(yè)的最大和最小資源加載。例如,在可在周期性地基礎(chǔ)上(例如每10分鐘)分配資源的情況下,可以對(duì)執(zhí)行的下一 10分鐘或20分鐘來(lái)評(píng)估作業(yè)的最大和最小資源加載。 在某些情況下,在作業(yè)之間的資源加載顯著改變時(shí)可以重新計(jì)算最大和最小資源加載。例如,如果一個(gè)或若干任務(wù)完成使得資源加載顯著地增加或減少,則可以執(zhí)行重新計(jì)算。這樣的實(shí)施例可被用來(lái)最小化對(duì)不顯著改變現(xiàn)有加載的資源加載的重新計(jì)算。
如果在框312,分配給作業(yè)的資源超過該作業(yè)的最大值,則在框314,可將超出的資源標(biāo)識(shí)為未在使用的。在該算法后面的步驟中,超出的資源可被分配給其它作業(yè)。
在框316,按優(yōu)先級(jí)來(lái)排列正在執(zhí)行的作業(yè)。每一實(shí)施例可具有用于確定作業(yè)的優(yōu)先級(jí)的不同機(jī)制。在某些情況下,用戶可以在提交之前確定作業(yè)的優(yōu)先級(jí)。在其它情況下,正在執(zhí)行的最老的作業(yè)可被給予比較新作業(yè)高的優(yōu)先級(jí)。還有其它情況可以使用其它準(zhǔn)則或公式來(lái)確定優(yōu)先級(jí)。 在框318,對(duì)于按降序優(yōu)先級(jí)順序的每一作業(yè),在框320,如果所分配的資源低于最大值,則在框322,可將未在使用的資源分配給該作業(yè),直至達(dá)到該作業(yè)的最大值???1S、320、和322的步驟基于優(yōu)先級(jí)將各種未在使用的資源分配給正在執(zhí)行的作業(yè),以使正在執(zhí)行的作業(yè)可以快速完成。 在框324,分析輸入隊(duì)列。輸入隊(duì)列可包含尚未被執(zhí)行的作業(yè)。在框326,對(duì)于輸入隊(duì)列中的每一作業(yè),在框328確定優(yōu)先級(jí)。傳入作業(yè)的優(yōu)先級(jí)可以使用任何準(zhǔn)則或因素來(lái)確定,包括輸入隊(duì)列中的時(shí)間長(zhǎng)度、總體優(yōu)先級(jí)、或其它因素。 在框330,對(duì)輸入隊(duì)列進(jìn)行排序以確定要開始的下一作業(yè)。在框332,確定開始該下一作業(yè)的最小資源。 在框334,如果有任何未在使用的資源可用,并且在框336,有足夠的未在使用的資源可用于開始新作業(yè),則在框338,開始該新作業(yè)。在框340,該過程在繼續(xù)之前等待有任務(wù)完成。 在框334,如果沒有資源剩余或在框336,如果剩余資源不足以開始新作業(yè),則在框340,該過程等待直到有任務(wù)完成。
10
實(shí)施例300是被設(shè)計(jì)成在開始新作業(yè)之前向現(xiàn)有作業(yè)分配可用資源的算法??梢栽O(shè)計(jì)其它實(shí)施例,以使作業(yè)隊(duì)列中的高優(yōu)先級(jí)作業(yè)甚至可以在可向正在運(yùn)行或執(zhí)行的作業(yè)分配可用資源時(shí)開始。 實(shí)施例300被設(shè)計(jì)成在每次完成任務(wù)時(shí)執(zhí)行。這樣的實(shí)施例在其中任務(wù)花費(fèi)相對(duì)長(zhǎng)時(shí)間來(lái)完成的情況下是有用的。在其中任務(wù)很短的實(shí)施例中,對(duì)實(shí)施例300的分析可消耗大量開銷并可變得不便使用。在這種情況下, 一實(shí)施例可具有在作業(yè)完成執(zhí)行時(shí)、在特定數(shù)量的任務(wù)完成時(shí)、或在周期性的時(shí)間基礎(chǔ)上運(yùn)行的算法。 以上對(duì)本發(fā)明的描述是出于說(shuō)明和描述的目的而提出的。它不旨在窮舉本主題或?qū)⒈局黝}限于所公開的精確形式,且鑒于以上教導(dǎo)其它修改和變型都是可能的。選擇并描述實(shí)施例來(lái)最好地解釋本發(fā)明的原理及其實(shí)踐應(yīng)用,從而使本領(lǐng)域的其他技術(shù)人員能夠在各種實(shí)施例和各種適于所構(gòu)想的特定用途的修改中最好地利用本技術(shù)。所附權(quán)利要求書旨在包括除受現(xiàn)有技術(shù)所限的范圍之外的其它另選的實(shí)施例。
1權(quán)利要求
一種方法,包括分析操作多個(gè)資源的第一作業(yè)以確定可被分配給所述第一作業(yè)的最大量的資源(306),所述第一作業(yè)包括多個(gè)任務(wù);分析多個(gè)資源來(lái)確定第一資源集合是未在使用的資源并且第二資源集合是分配給所述第一作業(yè)的資源(312);以及在所述第二資源集合小于所述最大資源集合并且所述第一資源集合非空的情況下,將所述第一資源集合的至少一部分分配給所述第一作業(yè)(322)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述多個(gè)任務(wù)包括能夠并行執(zhí)行的至少兩個(gè)任務(wù)。
3. 如權(quán)利要求1所述的方法,其特征在于,所述多個(gè)任務(wù)中的一個(gè)任務(wù)在順序上依賴 于所述多個(gè)任務(wù)中的另一個(gè)任務(wù)。
4. 如權(quán)利要求1所述的方法,其特征在于,所述資源包括含有下列各項(xiàng)的組中的至少 一個(gè).處理器; 計(jì)算機(jī); 存儲(chǔ)器; 網(wǎng)絡(luò)帶寬; 網(wǎng)絡(luò)連接; 輸入設(shè)備; 輸出設(shè)備;以及 許可證。
5. 如權(quán)利要求l所述的方法,其特征在于,還包括分析操作第三資源集合的第二作業(yè)來(lái)確定可被分配給所述第二作業(yè)的最小量的資源;確定所述第一作業(yè)具有比所述第二作業(yè)高的優(yōu)先級(jí); 確定所述最小量的資源小于所述第三資源集合;以及 將所述第三資源集合中的至少一部分分配給所述第一作業(yè)。
6. 如權(quán)利要求1所述的方法,其特征在于,所述方法是由所述任務(wù)中的一個(gè)的完成來(lái) 啟動(dòng)的。
7. —種包括適用于執(zhí)行如權(quán)利要求1所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀 介質(zhì)。
8. —種系統(tǒng),包括適用于確定第一作業(yè)的最大資源需求的當(dāng)前作業(yè)分析器(114),所述第一作業(yè)正在部 分地執(zhí)行并且包括多個(gè)任務(wù);適用于確定多個(gè)資源的當(dāng)前狀態(tài)的資源管理器(118),所述當(dāng)前狀態(tài)包括已分配的資 源和正在使用的資源;以及適用于基于所述當(dāng)前狀態(tài)和所述最大量資源需求來(lái)改變分配給所述第一作業(yè)的資源 的調(diào)度器(112)。
9. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述改變資源包括向所述第一作業(yè)分配附加資源。
10. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述改變資源包括向所述第一作業(yè)分配更少資源。
11. 如權(quán)利要求8所述的系統(tǒng),其特征在于,還包括適用于接收多個(gè)作業(yè)的作業(yè)隊(duì)列,所述多個(gè)作業(yè)中的每一個(gè)包括多個(gè)任務(wù);適用于向所述作業(yè)隊(duì)列中的所述多個(gè)作業(yè)的每一個(gè)分配優(yōu)先級(jí)的優(yōu)先級(jí)系統(tǒng);以及適用于確定第二作業(yè)的最小資源需求的傳入作業(yè)分析器;所述調(diào)度器還適用于在可向所述第二作業(yè)分配所述最小資源需求時(shí)開始所述第二作業(yè)。
12. 如權(quán)利要求11所述的系統(tǒng),其特征在于,按包括自從作業(yè)被提交以來(lái)的時(shí)間長(zhǎng)度的公式確定所述優(yōu)先級(jí)。
13. 如權(quán)利要求11所述的系統(tǒng),其特征在于,按包括針對(duì)所述作業(yè)隊(duì)列中的所述多個(gè)作業(yè)的每一個(gè)的優(yōu)先級(jí)設(shè)置的公式確定所述優(yōu)先級(jí)。
14. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述多個(gè)任務(wù)包括能夠并行執(zhí)行的至少兩個(gè)任務(wù)。
15. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述多個(gè)任務(wù)中的一個(gè)任務(wù)在順序上依賴于所述多個(gè)任務(wù)中的另一個(gè)任務(wù)。
16. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述資源包括含有下列各項(xiàng)的組中的至少一個(gè).處理器;計(jì)算機(jī);存儲(chǔ)器;網(wǎng)絡(luò)帶寬;網(wǎng)絡(luò)連接;輸入設(shè)備;輸出設(shè)備;以及許可證。
17. —種方法,包括分析作業(yè)隊(duì)列來(lái)確定所述作業(yè)隊(duì)列中的多個(gè)作業(yè)的優(yōu)先級(jí)(328),所述作業(yè)中的每一個(gè)包括多個(gè)任務(wù);從所述優(yōu)先級(jí)確定第一作業(yè)(330),所述第一作業(yè)是要被執(zhí)行的下一作業(yè);確定開始執(zhí)行所述第一作業(yè)的最小資源集合(332);分析操作多個(gè)資源的第二作業(yè)來(lái)確定可被分配給所述第二作業(yè)的最大量的資源(306);分析多個(gè)資源來(lái)確定第一資源集合是未在使用的資源并且第二資源集合是分配給所述第二作業(yè)的資源(312);以及在所述第二資源集合小于所述最大資源集合并且所述第一資源集合非空的情況下,將所述第一資源集合的至少一部分分配給所述第二作業(yè)(322);以及在所述最小資源集合可用時(shí)開始所述第一作業(yè)(338)。
18. 如權(quán)利要求17所述的方法,其特征在于,還包括 分析所述第二作業(yè)來(lái)確定可被分配給所述第二作業(yè)的最小量的資源。
19. 如權(quán)利要求17所述的方法,其特征在于,所述方法是響應(yīng)于來(lái)所述任務(wù)中的一個(gè) 的完成來(lái)開始的。
20. —種包括適用于執(zhí)行如權(quán)利要求17所述的方法的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可 讀介質(zhì)。
全文摘要
用于計(jì)算資源的調(diào)度器可周期性地分析正在運(yùn)行的作業(yè)來(lái)確定是否可向該作業(yè)分配附加資源以幫助該作業(yè)更快地完成,并且也可檢查是否有開始正在等待的作業(yè)的最小量的資源可用。作業(yè)可包括可用任務(wù)之間的并行或串行關(guān)系來(lái)定義的多個(gè)任務(wù)。在執(zhí)行期間的各個(gè)時(shí)間點(diǎn)處,可以響應(yīng)于優(yōu)先級(jí)系統(tǒng)來(lái)調(diào)整活動(dòng)作業(yè)的資源分配以添加或移除資源。作業(yè)能以最小量的資源開始并且這些資源可以在作業(yè)的生存周期中增加或減少。
文檔編號(hào)G06F9/46GK101743534SQ200880024896
公開日2010年6月16日 申請(qǐng)日期2008年7月16日 優(yōu)先權(quán)日2007年7月16日
發(fā)明者J·B·巴納德, Y·金 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1