專利名稱:在處理環(huán)境中調(diào)度作業(yè)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及在處理環(huán)境中調(diào)度作業(yè),并具體而言,涉及調(diào)度作業(yè) 從而對(duì)可重用資源的使用被最大化,同時(shí)對(duì)可重用資源的解除分配被最小 化。
背景技術(shù):
處理環(huán)境具有有限數(shù)量的資源,所述資源在調(diào)度將在處理環(huán)境中執(zhí)行 的作業(yè)時(shí)使用。在某些環(huán)境中,存在關(guān)聯(lián)于分配和解除分配由作業(yè)使用的 資源的大量成本,同時(shí)存在關(guān)聯(lián)于重用這些資源而不用解除分配/重新分配資源的相對(duì)較小的成本。這種環(huán)境的一個(gè)示例是由紐約Armonk的國(guó)際商 業(yè)才幾器/>司提供的Blue Gene系統(tǒng)。在Blue Gene系統(tǒng)中,作業(yè)被調(diào)度以在被稱為塊的實(shí)體上執(zhí)行。分配 塊的操作包括物理上引導(dǎo)關(guān)聯(lián)于該塊的底層Blue Gene硬件。這是可花 費(fèi)數(shù)分鐘來完成的昂貴的操作。類似地,解除分配塊包括關(guān)閉相關(guān)聯(lián)的 BIueGene硬件,并且其也是昂貴的。另一方面,與分配/解除分配成本相 比,重用該塊相對(duì)廉價(jià)。不過,不是總能夠重用塊,因?yàn)閴K不是總匹配所調(diào)度的作業(yè)的資源需 求。當(dāng)調(diào)度作業(yè)時(shí),如果可重用塊匹配該作業(yè)的資源需求則該作業(yè)可以在 可重用塊上執(zhí)行,或者該作業(yè)在新塊上執(zhí)行。在某些情形中,沒有可用于 分配新塊的足夠資源。在這些情形中,必須解除分配某些可重用塊以便為 將被分配的新塊騰出空位。當(dāng)前,存在用于解除分配資源和用于調(diào)度使用這些資源的作業(yè)的技術(shù)。 不過,這些技術(shù)是低效且昂貴的。 發(fā)明內(nèi)容基于前述內(nèi)容,存在對(duì)于下述能力的需要,即,高效地確定哪些資源 將被重用以及哪些將被解除分配以便調(diào)度作業(yè)。具體地,存在對(duì)于下述作 業(yè)調(diào)度能力的需要,即,最大化對(duì)可重用資源的使用,以及最小化對(duì)資源 的解除分配。通過提供一種在處理環(huán)境中調(diào)度作業(yè)的計(jì)算機(jī)實(shí)現(xiàn)方法,克服了現(xiàn)有技術(shù)的缺陷并提供了額外的優(yōu)點(diǎn)。所述方法例如包括對(duì)多個(gè)可重用資源 分配多個(gè)權(quán)重,其中對(duì)可重用資源分配權(quán)重基于所選擇的標(biāo)準(zhǔn);確定在調(diào) 度所選擇作業(yè)時(shí)可以使用的所述多個(gè)可重用資源中的一個(gè)或多個(gè)可重用資 源是否可用于所選擇作業(yè);響應(yīng)于所述確定指示出所述一個(gè)或多個(gè)可重用 資源可用于所選擇作業(yè),將所選擇作業(yè)分配給所述一個(gè)或多個(gè)可重用資源; 以及響應(yīng)于所述確定指示出不可用性,解除分配所述多個(gè)可重用資源中的 至少一個(gè)可重用資源,以提供在調(diào)度所選擇作業(yè)時(shí)可以使用的一個(gè)或多個(gè)可重用資源,其中所述解除分配基于對(duì)一個(gè)或多個(gè)已分配權(quán)重以及將被解 除分配的可重用資源的數(shù)量的最小化中的至少一種的考慮,選擇將被解除 分配的至少一個(gè)可重用資源。在此還描述并要求保護(hù)對(duì)應(yīng)于以上概括的方法的系統(tǒng)和計(jì)算機(jī)程序產(chǎn)口口o通過本發(fā)明的技術(shù)實(shí)現(xiàn)了額外的特征和優(yōu)點(diǎn)。本發(fā)明的其它實(shí)施例和 方面在此被詳細(xì)描述,并被認(rèn)為是所要求保護(hù)的發(fā)明的一部分。
本發(fā)明的一個(gè)或多個(gè)方面被具體指出并明確要求保護(hù),作為在本說明 書結(jié)束部分的權(quán)利要求中的示例。通過以下詳細(xì)描述并結(jié)合附圖,本發(fā)明的前述和其它目的、特征和優(yōu)點(diǎn)將顯而易見,在附圖中圖1描述了引入和使用本發(fā)明的一個(gè)或多個(gè)方面的處理環(huán)境的一實(shí)施例;
圖2描述了根據(jù)本發(fā)明一方面的關(guān)聯(lián)于調(diào)度作業(yè)的邏輯的概述的一個(gè) 示例;圖3A-3B描述了根據(jù)本發(fā)明一方面的關(guān)聯(lián)于作業(yè)調(diào)度的一階段的邏輯 的一實(shí)施例,其包括對(duì)可重用資源預(yù)分配權(quán)重;圖4A-4B描述了根據(jù)本發(fā)明一方面的關(guān)聯(lián)于調(diào)度作業(yè)的進(jìn)一步細(xì)節(jié)的 一個(gè)示例;以及圖5描述了引入本發(fā)明的一個(gè)或多個(gè)方面的計(jì)算機(jī)程序產(chǎn)品的一實(shí)施例。
具體實(shí)施方式
根據(jù)本發(fā)明的一方面,提供了調(diào)度能力,其中對(duì)可重用資源的使用被 最大化,以及對(duì)資源的解除分配被最小化。使用了多階段調(diào)度能力,其中 在第一階段中,基于例如可以使用相應(yīng)資源的作業(yè)的優(yōu)先級(jí)對(duì)可重用資源 分配權(quán)重;以及在第二階段中,作業(yè)被調(diào)度。在調(diào)度作業(yè)時(shí),如果可重用 資源可用于該作業(yè),則將作業(yè)分配給這些資源。否則,實(shí)施對(duì)下述方案的 搜索,所述方案使需要被解除分配的可重用資源的權(quán)重和數(shù)量最小化。不 符合所選擇方案的可重用資源被解除分配,并且將作業(yè)分配給所選擇方案 的資源。本發(fā)明的一個(gè)或多個(gè)方面的調(diào)度能力可以使用于許多類型的處理環(huán)境 中,所述處理環(huán)境包括例如執(zhí)行需要大量資源(例如處理器)的并行作 業(yè)的整體并行系統(tǒng)。這樣的系統(tǒng)的 一個(gè)示例是由紐約Armonk的國(guó)際商業(yè) 機(jī)器公司提供的Blue Gene系統(tǒng)。此系統(tǒng)的各方面在例如2006年5月11 日發(fā)表的題為 "Optimizing Layout Of An Application On A Massively Parallel Super Computer"的美國(guó)專利申請(qǐng)出版物US 2006/0101104中、以 及在題為 "An Overview of the Blue Gene/L Super Computer", 0-7695-1524-X/02, 2002, IEEE, pp. 1-22中進(jìn)行描述,由此通過將二者各 自整體地進(jìn)行引用而引入此處。參考圖1描述了引入和使用本發(fā)明的一個(gè)或多個(gè)方面的整體并行處理
環(huán)境的一實(shí)施例的進(jìn)一步細(xì)節(jié)。處理環(huán)境100例如包括耦合于一個(gè)或多 個(gè)I/O節(jié)點(diǎn)104的服務(wù)節(jié)點(diǎn)102,所述I/O節(jié)點(diǎn)104進(jìn)一步耦合于多個(gè)計(jì) 算節(jié)點(diǎn)106。服務(wù)節(jié)點(diǎn)102向I/O和計(jì)算節(jié)點(diǎn)提供服務(wù),并且在一實(shí)施例中,其包 括在計(jì)算節(jié)點(diǎn)上調(diào)度作業(yè)時(shí)使用的調(diào)度器110。具體地,調(diào)度器110包括 在調(diào)度作業(yè)時(shí)使用的邏輯。一個(gè)或多個(gè)I/O節(jié)點(diǎn)104用于有助于服務(wù)節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)之間的通信。 在一示例中, 一個(gè)或多個(gè)I/O節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)經(jīng)由例如100 Mbs以太網(wǎng)網(wǎng) 絡(luò)112耦合于大型網(wǎng)絡(luò)中。計(jì)算節(jié)點(diǎn)106用于執(zhí)行由調(diào)度器110所調(diào)度的作業(yè)。在此示例中,計(jì) 算節(jié)點(diǎn)是被分配*業(yè)的資源。計(jì)算節(jié)點(diǎn)可以是任何類型的計(jì)算或處理節(jié) 點(diǎn),包括LINUX服務(wù)器、其它服務(wù)器、或者其它類型的計(jì)算節(jié)點(diǎn)或處理 節(jié)點(diǎn)。為了在計(jì)算節(jié)點(diǎn)上高效地調(diào)度作業(yè),根據(jù)本發(fā)明的一方面,調(diào)度器110 使用多階段調(diào)度技術(shù)。特別地,在第一階段中,基于例如可以使用資源的 作業(yè)的優(yōu)先級(jí)對(duì)處理環(huán)境的可重用資源分配權(quán)重;以及在第二階段中,作 業(yè)被調(diào)度。在一實(shí)施例中,作業(yè)被調(diào)度,從而資源重用被最高優(yōu)先級(jí)作業(yè) 最大化,以及對(duì)可重用資源的解除分配被最小化。參考圖2-4描迷了關(guān)于 作業(yè)調(diào)度的進(jìn)一步細(xì)節(jié)。在一示例中,這些圖的邏輯由調(diào)度器執(zhí)行。首先參考圖2,描述了根據(jù)本發(fā)明一方面使用的調(diào)度技術(shù)的概述。在 一示例中,此調(diào)度技術(shù)接收將被調(diào)度的作業(yè)列表作為參數(shù),步驟200。在 一示例中,此作業(yè)列表采用優(yōu)先級(jí)順序,其中最高優(yōu)先級(jí)作業(yè)被首先列出。 響應(yīng)于接收到此作業(yè)列表,基于例如可4吏用資源的作業(yè)的優(yōu)先級(jí)對(duì)環(huán)境的 一個(gè)或多個(gè)可重用資源(例如可重用計(jì)算節(jié)點(diǎn))分配權(quán)重(例如整數(shù)), 步驟202。這在下文參考圖3A-3B更詳細(xì)描述。此后,從將被調(diào)度的作業(yè) 列表中選擇一個(gè)作業(yè),步驟204。在一示例中,選擇最高優(yōu)先級(jí)作業(yè),并 且該作業(yè)被調(diào)度,步驟206,如參考圖4A-4B所描述的。進(jìn)行確定是否存 在將被調(diào)度的更多作業(yè),詢問208。如果存在將被調(diào)度的更多作業(yè),則處 理繼續(xù)進(jìn)行步驟204。否則,調(diào)度技術(shù)完成,步驟210。參考圖3A-3B,進(jìn)一步描述了對(duì)可重用資源預(yù)分配權(quán)重。參考圖3A, 首先,權(quán)重預(yù)分配的試探法接收將被調(diào)度的作業(yè)列表以及接收可分配給一 個(gè)或多個(gè)作業(yè)的可重用資源列表作為參數(shù),步驟300。接著從可重用資源 列表中選擇一資源,步驟302,并且可重用資源的權(quán)重(R—w)被初始化 為零。此后,進(jìn)行確認(rèn)是否存在要初始化的更多可重用資源,詢問306。 如果存在要初始化的額外可重用資源,則處理繼續(xù)進(jìn)行步驟302。否則, 處理繼續(xù)進(jìn)行將一個(gè)變量(被稱為max)初始化為零,步驟308。 max是 被預(yù)分配來使用可重用資源的作業(yè)的總數(shù)。此后,從將被預(yù)分配的作業(yè)列表中選擇最高優(yōu)先級(jí)作業(yè)J,步驟310。 進(jìn)行確定作業(yè)J是否可以在某個(gè)可重用資源R(例如一個(gè)或多個(gè)計(jì)算節(jié)點(diǎn) 的集合)中開始,詢問312。具體地,進(jìn)行決定是否存在可用于作業(yè)J的 未分配的可重用資源R,其中I^w等于零。如果存在這樣的資源,則max 被遞增l,步驟316,并且可重用資源的權(quán)重被設(shè)為max,步驟318。此后, 或者如果作業(yè)J無法在某個(gè)可重用資源R中開始,則進(jìn)行確定是否存在要 處理的更多作業(yè),詢問314。如果存在更多作業(yè),則處理繼續(xù)進(jìn)行步驟310。 否則,處理進(jìn)行到步驟320 (圖3B)。在步驟320,從可重用資源列表中選擇一個(gè)可重用資源R,步驟320。 進(jìn)行詢問是否該資源的權(quán)重R一w為零,詢問322。如果該權(quán)重不為零,則 該資源的權(quán)重被設(shè)置R_w=max + 2-R_w,步驟324。不過,如果該資源 的權(quán)重為零,則該權(quán)重被設(shè)為等于l,步驟326。在設(shè)置資源權(quán)重之后,進(jìn) 行確定是否存在更多可重用資源,詢問328。如果存在額外資源,則處理 進(jìn)行到步驟320。否則,給可重用資源預(yù)分配權(quán)重完成,步驟330。在給可重用資源預(yù)分配權(quán)重之后,將被調(diào)度的每個(gè)作業(yè)被調(diào)度。參考 圖4A-4B描述了關(guān)于作業(yè)調(diào)度的進(jìn)一步細(xì)節(jié)。參考圖4A,在調(diào)度作業(yè)J時(shí),步驟400,進(jìn)行確定是否存在可由作業(yè) J使用的某個(gè)可重用資源R,詢問402。例如,如果作業(yè)需要500個(gè)計(jì)算節(jié) 點(diǎn),則此詢問確定是否存在500個(gè)計(jì)算節(jié)點(diǎn)可用的可重用資源。如果不存 在可用于該作業(yè)的這樣的可重用資源,則用于作業(yè)J的最佳調(diào)度方案被設(shè)為空,步驟404,并且找到可用于調(diào)度作業(yè)J的下一方案S,步驟406。方 案是定義了將由作業(yè)使用的資源的一種方案。其可以包括需要被解除分配 的一個(gè)或多個(gè)可重用資源。此后,進(jìn)行確定是否任何可重用資源將被解除分配用于方案S,詢問 408。如果一個(gè)或多個(gè)資源將,皮解除分配,則在需要被解除分配用于S的可 重用資源中,選擇具有最大權(quán)重的資源,并且變量Sw被設(shè)為該權(quán)重,步 驟410。另外,變量Sc,皮設(shè)為將纟皮解除分配用于S的可重用資源的數(shù)量, 步驟412。接下來,進(jìn)行確定S的(Sw, Sc)對(duì)比起最佳方案的(Sw, Sc)對(duì)是 否為更好的方案,詢問414 (圖4B)。基于例如最小化已解除分配的資源 的數(shù)量以及最小化權(quán)重的標(biāo)準(zhǔn)來做出此決定。例如,如果方案S的Sw和 Sc小于最佳方案的Sw和Sc,則方案S是更好的方案。在另外的示例中, 如果Sw和Sc中之一大于最佳方案的Sw和變量Sc之一,并且方案S的 Sw和Sc中的另一個(gè)較小,則進(jìn)行決定哪一個(gè)更重要。例如,考慮以下情 況通過選擇具有最小權(quán)重的方案,具有較高優(yōu)先級(jí)的作業(yè)的開始時(shí)間被 最小化。通過選擇具有最小數(shù)量的將被解除分配的資源的方案,需要較少 的解除分配/分配。這是依賴于系統(tǒng)和/或用戶的,并在需要時(shí)被編碼到邏輯 中。如果S是更好的方案,則最佳方案被設(shè)為方案S,步驟416,并且進(jìn) 一步進(jìn)行決定是否存在要考慮的用于J的更多方案,詢問418。如果存在 更多方案,則處理繼續(xù)進(jìn)行步驟406 (圖4A)。不過,如果不存在要考慮 的用于J的另外的方案,則需要被解除分配用于最佳方案的可重用資源被 解除分配,步驟420。另外,S被設(shè)為等于最佳方案,步驟422,并且將J 分配給S,步驟424。這使得對(duì)作業(yè)J的調(diào)度結(jié)束,步驟426。返回圖4A,并特別是詢問402,如果存在可由J使用的可重用資源R, 則S被設(shè)為等于R,步驟430,并且處理繼續(xù)進(jìn)行步驟424 (圖4B),將 J分配給S。另外,返回圖4A,如果S不需要解除分配可重用資源,詢問 408,則處理繼續(xù)進(jìn)行將J分配給S,步驟424 (圖4B)。上述是多階段調(diào)度技術(shù),其中在第一階段中,基于例如可以使用相應(yīng) 資源的作業(yè)的優(yōu)先級(jí)的預(yù)定義標(biāo)準(zhǔn)對(duì)環(huán)境的可重用資源分配權(quán)重,以及在 第二階段中,作業(yè)被調(diào)度。如果可重用資源可用于該作業(yè),則將作業(yè)分配 給這些資源。否則,實(shí)施對(duì)下迷方案的搜索,所述方案使需要被解除分配 的可重用資源的權(quán)重和數(shù)量最小化。不符合所選擇方案的可重用資源被解 除分配,并且將作業(yè)分配給這些資源。作為示例,考慮具有作業(yè)Jl和J2的作業(yè)隊(duì)列,以及兩個(gè)可重用資源 Rl和R2。假定J2可重用Rl而非R2,并且Jl不可使用Rl和R2。同樣, 假定除非Rl或R2被解除分配,否則沒有用于Jl的足夠資源。在此情形 中,當(dāng)調(diào)度J1時(shí),優(yōu)選地解除分配R2而非R1,因?yàn)镴2可以重用R1。本發(fā)明的 一個(gè)或多個(gè)方面可以被包括在一種制品(例如一個(gè)或多個(gè)計(jì) 算機(jī)程序產(chǎn)品)中,所述制品具有例如計(jì)算機(jī)可用介質(zhì)。所述介質(zhì)在其中 具有例如計(jì)算機(jī)可讀程序產(chǎn)品工具或邏輯(例如,指令、代碼、命令等), 以提供和便利于本發(fā)明的能力。所述制品可被包括作為計(jì)算機(jī)系統(tǒng)的一部 分,或被單獨(dú)出售。參考圖5描述了引入本發(fā)明的一個(gè)或多個(gè)方面的制品或計(jì)算機(jī)程序產(chǎn) 品的一個(gè)示例。計(jì)算機(jī)程序產(chǎn)品500包括例如一個(gè)或多個(gè)計(jì)算機(jī)可用介質(zhì) 502,用于在其上存儲(chǔ)計(jì)算機(jī)可讀程序代碼工具或邏輯504,以提供和便利于本發(fā)明的一個(gè)或多個(gè)方面。所述介質(zhì)可以是電子、磁、光、電磁、紅外 或半導(dǎo)體系統(tǒng)(或裝置或設(shè)備)或傳播介質(zhì)。計(jì)算機(jī)可讀介質(zhì)的示例包括半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可移除計(jì)算機(jī)磁盤、隨才M取存儲(chǔ)器(RAM)、 只讀存儲(chǔ)器(ROM)、硬磁盤以及光盤。光盤的示例包括只讀存儲(chǔ)器致密 盤(CD-ROM)、讀/寫致密盤(CD-R/,W)和DVD。由一個(gè)或多個(gè)計(jì)算機(jī)可讀程序代碼工具或邏輯定義的一個(gè)或多個(gè)相關(guān) 模塊的邏輯組合體或程序指令序列指引本發(fā)明的 一個(gè)或多個(gè)方面的實(shí)施。有利地,提供了一種調(diào)度技術(shù),其最大化對(duì)可重用資源的使用,以及 最小化資源分配成本。所述技術(shù)自動(dòng)選擇將被解除分配的資源的集合,從
而資源重用被最大化,并且開始最高優(yōu)先級(jí)作業(yè)的時(shí)間被最小化。這通過 使得重用成本優(yōu)先于資源的分配/解除分配的成本而降低了成本。盡管以上描述了各種實(shí)施例,但這些實(shí)施例僅是示例。例如,除了 Blue Gene之外的系統(tǒng)(包括其它整體并行處理環(huán)境和包括非整體并行環(huán)境的其 它環(huán)境)可以引入和使用本發(fā)明的一個(gè)或多個(gè)方面。另外,盡管在這里的 實(shí)施例中,被分配給可重用資源的權(quán)重是整數(shù)權(quán)重,但在其它實(shí)施例中, 它們可以不是整數(shù)。而且,可以基于其它標(biāo)準(zhǔn)而不是必須基于作業(yè)優(yōu)先級(jí) 來分配權(quán)重。此外,所述資源可以不是計(jì)算節(jié)點(diǎn)。此技術(shù)可與將被分配或 調(diào)度的任何類型的資源一起使用。此外,術(shù)語"作業(yè),,不意味著以任何方 式進(jìn)行限制。它包括可被調(diào)度的任何事物。可以做出許多其它變體,而不 會(huì)背離本發(fā)明的精神。而且,引入本發(fā)明的一個(gè)或多個(gè)方面的環(huán)境可以包括模擬器(例如軟 件或其它模擬機(jī)制),其中模擬了本發(fā)明的特定體系結(jié)構(gòu)或子集。在這樣 的環(huán)境中,即使執(zhí)行模擬器的計(jì)算機(jī)可能具有與所模擬的能力不同的體系 結(jié)構(gòu),模擬器的一個(gè)或多個(gè)模擬功能也可以實(shí)現(xiàn)本發(fā)明的一個(gè)或多個(gè)方面。 作為一個(gè)示例,在模擬模式中,所模擬的特定指令或操作被解碼,并且建 立適當(dāng)?shù)哪M功能來實(shí)現(xiàn)獨(dú)立的指令或操作。在模擬環(huán)境中,主機(jī)計(jì)算機(jī)包括例如存儲(chǔ)指令和數(shù)據(jù)的存儲(chǔ)器;指 令讀取單元,用于從存儲(chǔ)器讀取指令以及可選地為所讀取的指令提供本地 緩沖;指令解碼單元,用于接收指令讀取單元以及確定已讀取的指令的類 型;以及指令執(zhí)行單元,用于執(zhí)行指令。執(zhí)行可以包括將數(shù)據(jù)加栽到寄存 器中用于存儲(chǔ)器;將數(shù)據(jù)從寄存器存儲(chǔ)回存儲(chǔ)器;或者實(shí)施如解碼單元所 確定的某種類型的算術(shù)或邏輯運(yùn)算。在一個(gè)示例中,用軟件實(shí)現(xiàn)每個(gè)單元。 例如,由所述單元實(shí)施的操作被實(shí)現(xiàn)為模擬器軟件中的一個(gè)或多個(gè)子例程。另外,適合于存儲(chǔ)和/或執(zhí)行程序代碼的數(shù)據(jù)處理系統(tǒng)是可用的,其包 括通過系統(tǒng)總線直接或間接地與存儲(chǔ)器單元耦合的至少一個(gè)處理器。所述 存儲(chǔ)器單元包括例如在實(shí)際執(zhí)行程序代碼期間使用的本地存儲(chǔ)器、海量 存儲(chǔ)裝置、以及高速緩沖存儲(chǔ)器,所述高速緩沖存儲(chǔ)器提供至少某種程序
代碼的臨時(shí)存儲(chǔ),以便在執(zhí)行期間減少代碼必須從海量存儲(chǔ)裝置進(jìn)行檢索 的次數(shù)。輸入/輸出或I/0設(shè)備(包括但不限于鍵盤、顯示器、點(diǎn)擊設(shè)備等) 可以直接地或通過中間1/0控制器與系統(tǒng)相耦合。網(wǎng)絡(luò)適配器也可以耦合 于系統(tǒng)以使得數(shù)據(jù)處理系統(tǒng)能夠通過中間的私有或公共網(wǎng)絡(luò)耦合于其它數(shù) 據(jù)處理系統(tǒng)或遠(yuǎn)程打印機(jī)或存儲(chǔ)設(shè)備。調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和以 太網(wǎng)卡僅是可用類型的網(wǎng)絡(luò)適配器中的若干種。本發(fā)明的一個(gè)或多個(gè)方面的能力可以用軟件、固件、硬件或其某種組 合來實(shí)現(xiàn)??梢蕴峁┲辽僖粋€(gè)機(jī)器可讀程序存儲(chǔ)設(shè)備,其包含可由機(jī)器執(zhí) 行來實(shí)施本發(fā)明的能力的至少一個(gè)指令程序。這里所描述的流程圖只是示例??梢源嬖趯?duì)于這些圖或其中描述的步 驟(或操作)的許多變體,而不會(huì)背離本發(fā)明的精神。例如,所述步驟可 以按不同的順序?qū)嵤?,或者步驟可以被添加、刪除或修改。所有這些變體 都被認(rèn)為是所要求保護(hù)的發(fā)明的 一部分。盡管在此已詳細(xì)描述和敘述了優(yōu)選實(shí)施例,但對(duì)于本領(lǐng)域技術(shù)人員將 顯而易見,可以做出多種修改、增加、替換等等,而不會(huì)背離本發(fā)明的精 神,并且因此這些修改、增加、替換等等被認(rèn)為是落在如權(quán)利要求所限定 的本發(fā)明的范圍內(nèi)。
權(quán)利要求
1.一種用于在處理環(huán)境中調(diào)度作業(yè)的計(jì)算機(jī)實(shí)現(xiàn)方法,所述方法包括對(duì)多個(gè)可重用資源分配多個(gè)權(quán)重,其中對(duì)可重用資源分配權(quán)重基于所選擇的標(biāo)準(zhǔn);確定在調(diào)度所選擇作業(yè)時(shí)可以使用的所述多個(gè)可重用資源中的一個(gè)或多個(gè)可重用資源是否可用于所選擇作業(yè);響應(yīng)于所述確定指示出所述一個(gè)或多個(gè)可重用資源可用于所選擇作業(yè),將所選擇作業(yè)分配給所述一個(gè)或多個(gè)可重用資源;以及響應(yīng)于所述確定指示出不可用性,解除分配所述多個(gè)可重用資源中的至少一個(gè)可重用資源,以提供在調(diào)度所選擇作業(yè)時(shí)可以使用的一個(gè)或多個(gè)可重用資源,其中所述解除分配基于對(duì)一個(gè)或多個(gè)已分配權(quán)重以及將被解除分配的可重用資源的數(shù)量的最小化中的至少一種的考慮,選擇將被解除分配的至少一個(gè)可重用資源。
2. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所選擇標(biāo)準(zhǔn)包括能夠 使用所述可重用資源的零個(gè)或多個(gè)作業(yè)的優(yōu)先級(jí)。
3. 根據(jù)權(quán)利要求2所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中可以使用將被分配權(quán) 重的可重用資源的作業(yè)的優(yōu)先級(jí)越高,被分配給該可重用資源的權(quán)重就越 高。
4. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述解除分配包括選 擇將被解除分配的至少一個(gè)可重用資源,以最大化資源重用并最小化最高 優(yōu)先級(jí)作業(yè)的開始時(shí)間。
5. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)實(shí)現(xiàn)方法,進(jìn)一步包括響應(yīng)于所述 確定指示出不可用性找到用于調(diào)度所選擇作業(yè)的一個(gè)或多個(gè)方案,其中每個(gè)方案包括對(duì)將 被分配給所選擇作業(yè)的一個(gè)或多個(gè)可重用資源的指示;從所述一個(gè)或多個(gè)方案中選擇最佳方案,其中所述最佳方案包括將被 解除分配的至少一個(gè)可重用資源;以及 響應(yīng)于解除分配所述至少一個(gè)可重用資源,將所選擇作業(yè)分配給所選 擇方案。
6. 根據(jù)權(quán)利要求5所述的計(jì)算機(jī)實(shí)現(xiàn)方法,進(jìn)一步包括對(duì)于所述一 個(gè)或多個(gè)方案中的每個(gè)方案確定所述方案是否需要對(duì)一個(gè)或多個(gè)可重用資源的解除分配; 響應(yīng)于所述確定指示出需要解除分配,將權(quán)重變量設(shè)為需要解除分配的所述方案的一個(gè)或多個(gè)可重用資源的最大權(quán)重;以及響應(yīng)于所述確定指示出需要解除分配,設(shè)置計(jì)數(shù)變量,以指示出所述方案的多少個(gè)可重用資源需要解除分配。
7. 根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述選擇最佳方案包 括在選擇最佳方案時(shí)使用所述權(quán)重變量和所述計(jì)數(shù)變量。
8. 根據(jù)權(quán)利要求6所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中多個(gè)方案被找到,并 且所述選擇包括比較所述多個(gè)方案中的若干個(gè)方案的權(quán)重變量和計(jì)數(shù)變 量,以選擇最佳方案。
9. 根據(jù)權(quán)利要求8所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述最佳方案是具有 最小權(quán)重變量和最小計(jì)數(shù)變量中的一個(gè)或多個(gè)的方案。
10. 根據(jù)權(quán)利要求l所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述分配包括 選擇將被調(diào)度的作業(yè);確定所選擇作業(yè)是否可以在可重用資源中開始;響應(yīng)于所述確定指示出所選擇作業(yè)可以在可重用資源中開始,遞增變 量max,其中max是被預(yù)分配使用可重用資源的作業(yè)的總數(shù);響應(yīng)于所述確定指示出所述作業(yè)可以在可重用資源中開始,將所述可 重用資源的權(quán)重設(shè)為max;以及如果存在將凈皮調(diào)度的一個(gè)或多個(gè)其它作業(yè),重復(fù)所述選擇、確定、遞 增和設(shè)置。
11. 根據(jù)權(quán)利要求10所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述分配進(jìn)一步包括從一個(gè)或多個(gè)可重用資源中選擇一個(gè)可重用資源;重新設(shè)置所述可重用資源的權(quán)重,被重新設(shè)置的權(quán)重是將在調(diào)度時(shí)使用的4又重;以及對(duì)于零個(gè)或多個(gè)可重用資源,重復(fù)所述選擇和重新設(shè)置。
12. 根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)實(shí)現(xiàn)方法,其中所述對(duì)可重用資源 的重新設(shè)置包括確定所述可重用資源的權(quán)重是否為零;響應(yīng)于所述確定指示出零值,將所述可重用資源的權(quán)重設(shè)為所選擇值;以及響應(yīng)于所述確定指示出非零值,將所述權(quán)重設(shè)為max + 2 -所述可重用 資源的權(quán)重。
13. —種在處理環(huán)境中調(diào)度作業(yè)的系統(tǒng),所述系統(tǒng)包括 具有對(duì)其分配了多個(gè)權(quán)重的多個(gè)可重用資源,其中基于所選擇的標(biāo)準(zhǔn)對(duì)可重用資源分配權(quán)重; 調(diào)度器,用于確定在調(diào)度所選擇作業(yè)時(shí)可以使用的所述多個(gè)可重用資源中的一個(gè)或 多個(gè)可重用資源是否可用于所選擇作業(yè);響應(yīng)于所述確定指示出所述一個(gè)或多個(gè)可重用資源可用于所選擇作業(yè),將所選擇作業(yè)分配給所述一個(gè)或多個(gè)可重用資源;以及響應(yīng)于所述確定指示出不可用性,解除分配所述多個(gè)可重用資源中的 至少一個(gè)可重用資源,以提供在調(diào)度所選擇作業(yè)時(shí)可以^吏用的一個(gè)或多個(gè)可重用資源,其中所述解除分配基于對(duì)一個(gè)或多個(gè)已分配權(quán)重以及將被解 除分配的可重用資源的數(shù)量的最小化中的至少一種的考慮,選擇將4皮解除 分配的至少一個(gè)可重用資源。
14. 根據(jù)權(quán)利要求13所述的系統(tǒng),其中響應(yīng)于所述確定指示出不可用 性,所述調(diào)度器進(jìn)一步適于找到用于調(diào)度所選擇作業(yè)的一個(gè)或多個(gè)方案,其中每個(gè)方案包括對(duì)將 被分配給所選擇作業(yè)的一個(gè)或多個(gè)可重用資源的指示;從所述一個(gè)或多個(gè)方案中選擇最佳方案,其中所述最佳方案包括將被 解除分配的至少一個(gè)可重用資源;以及響應(yīng)于解除分配所述至少一個(gè)可重用資源,將所選擇作業(yè)分配給所選 擇方案。
15. 根據(jù)權(quán)利要求14所述的系統(tǒng),對(duì)于所述一個(gè)或多個(gè)方案中的每個(gè) 方案,所述調(diào)度器進(jìn)一步適于確定所述方案是否需要對(duì)一個(gè)或多個(gè)可重用資源的解除分配;響應(yīng)于所述確定指示出需要解除分配,將權(quán)重變量設(shè)為需要解除分配 的所述方案的一個(gè)或多個(gè)可重用資源的最大權(quán)重;響應(yīng)于所述確定指示出需要解除分配,設(shè)置計(jì)數(shù)變量,以指示出所述 方案的多少個(gè)可重用資源需要解除分配;以及在選擇最佳方案時(shí)通過使用所述權(quán)重變量和所述計(jì)數(shù)變量來選擇最佳 方案。
16. 根據(jù)權(quán)利要求13所述的系統(tǒng),其中為了進(jìn)行分配,所述調(diào)度器適于選捧將被調(diào)度的作業(yè);確定所選擇作業(yè)是否可以在可重用資源中開始;響應(yīng)于所述確定指示出所選擇作業(yè)可以在可重用資源中開始,遞增變 量max,其中max是被預(yù)分配使用可重用資源的作業(yè)的總數(shù);響應(yīng)于所述確定指示出所述作業(yè)可以在可重用資源中開始,將所述可 重用資源的權(quán)重設(shè)為max;以及如果存在將被調(diào)度的一個(gè)或多個(gè)其它作業(yè),重復(fù)所述選擇、確定、遞 增和設(shè)置。
全文摘要
作業(yè)被調(diào)度,從而資源重用被最大化,以及對(duì)可重用資源的解除分配被最小化。提供了多階段調(diào)度能力,其中在第一階段中,對(duì)可重用資源分配權(quán)重,以及在第二階段中,作業(yè)被調(diào)度。如果可重用資源可用于該作業(yè),則將作業(yè)分配給這些資源。否則,實(shí)施對(duì)下述方案的搜索,所述方案使將被解除分配的可重用資源的權(quán)重和數(shù)量最小化。
文檔編號(hào)G06F9/46GK101154168SQ20071016162
公開日2008年4月2日 申請(qǐng)日期2007年9月27日 優(yōu)先權(quán)日2006年9月29日
發(fā)明者A·德魯彥, R·J·科平杰 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司