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

在客戶機-服務(wù)器或主機環(huán)境中計算作業(yè)的多目標(biāo)分配的制作方法

文檔序號:6461390閱讀:163來源:國知局
專利名稱:在客戶機-服務(wù)器或主機環(huán)境中計算作業(yè)的多目標(biāo)分配的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及將計算作業(yè)分派到物理資源(節(jié)點)用于在客戶機-服務(wù)器或 主機環(huán)境中處理,更具體地講,涉及在客戶機-服務(wù)器或主機環(huán)境中計算作業(yè) 的多目標(biāo)分配。
背景技術(shù)
服務(wù)器或主機環(huán)境可以由用于處理不同客戶的計算請求的大量節(jié)點組 成。這樣,各個客戶請求的處理能夠盡可能獨立于所述請求分派的實際硬件 資源,系統(tǒng)開始使用"虛擬機"處理用戶的請求,該虛擬機是各個物理資源 的集合。利用物理資源的虛擬化,執(zhí)行不同客戶請求的虛擬機能夠被移植到 系統(tǒng)中的其它硬件,而不影響相應(yīng)用戶請求的結(jié)果。此外,不需要重新配置 用于處理用戶請求的應(yīng)用以適合新的硬件。當(dāng)前,計算作業(yè)可以由調(diào)度程序分配以便預(yù)定義在主機環(huán)境中的特定硬 件上運行的虛擬機。可替換地,在主機環(huán)境中運行的負載平衡器能夠以系統(tǒng) 中的全部資源具有相似利用率的方式分發(fā)當(dāng)前運行的任務(wù)。技術(shù)上,負載平 衡器移動不同的虛擬機,并且這可以通過已有的虛擬化技術(shù)容易地完成。負 載平衡的意圖是盡可能有效地利用系統(tǒng)資源來最大化系統(tǒng)中計算作業(yè)的總體吞吐量。為此,可以使用管理軟件,例如IBM的Virtual Machine Manager或 者HP的ProLiant Essential Workload Management Pack。從客戶的角度來看,期望硬件資源的高度可用性和對他們請求的較短的 響應(yīng)時間。從提供商的角度來看,期望較高的客戶滿意度,因為這保證了與 客戶的未來業(yè)務(wù)。但是,提供商與不同的客戶具有不同的商業(yè)關(guān)系。例如, 一些客戶會比其他客戶愿意為更高的可用性和更短的響應(yīng)時間支付更多。因 此,提供商愿意向客戶提供不同的服務(wù)等級(例如,資源可用性和響應(yīng)時間), 以便他們能夠更迎合高優(yōu)先級的客戶,同時還維持對較低優(yōu)先級客戶的適當(dāng) 服務(wù)。到此為止,這種將重心放在特定客戶上已經(jīng)通過下述方式得以實現(xiàn)將用于處理客戶請求的主機環(huán)境劃分為若干分區(qū),其中不同分區(qū)具有不同的處 理帶寬,并將來自不同客戶的作業(yè)分派給不同分區(qū)。不幸的是,這導(dǎo)致這樣的結(jié)果因為在一個分區(qū)中的空閑資源不能被用于為客戶處理分派給其它分區(qū)的作業(yè),所以主機環(huán)境的總體利用率降低。而且,即使在其它分區(qū)中有足 夠的空閑資源可用,被分派給已經(jīng)被完全利用(例如,為了處理分派給該分 區(qū)的其它請求)的分區(qū)的客戶請求也完全不能被處理。在另一種實施方式中, 使用了客戶份額來實現(xiàn)不同客戶之間的一種分級,這樣,每個客戶每個時間 段對系統(tǒng)具有受限量的處理時間。這樣,如果已經(jīng)使用了時間段中分配給客 戶的時間,那么在那個時間段中,來自該客戶的其它請求不能被處理。這又 導(dǎo)致了低的總體利用率,因為即使資源空閑, 一些請求也不能被處理。在第一一般方面,公開了一種利用多個處理器處理計算作業(yè)的方法。接 收處理作業(yè)的請求,其中該作業(yè)具有與該作業(yè)相關(guān)聯(lián)的優(yōu)先級。第一組處理 器被指定為可用于處理作業(yè),其中第一組中的處理器數(shù)量基于與該作業(yè)相關(guān) 聯(lián)的優(yōu)先級。第二組處理器被指定為可用于處理作業(yè),其中對于第二組中的 每個處理器,處理器的當(dāng)前利用率小于第二預(yù)定利用率。然后,作業(yè)利用從 第 一組處理器和第二組處理器中選4奪的 一個或多個處理器進行處理。實施方式可以包括一個或多個以下特征。例如,第二預(yù)定利用率可以基 于作業(yè)的優(yōu)先級以及基于該處理器所屬的處理器子集??梢源_定處理作業(yè)的處理器數(shù)量(N),并且可以利用從第一和第二組中選^^具有最低當(dāng)前利用率 的N個處理器來處理作業(yè)。確定處理作業(yè)的處理器數(shù)量可以包括接收對利用 至少N個處理器來處理作業(yè)的請求。可以通過廣域網(wǎng)來接收該請求。第三組處理器可以被指定為可用于處理作業(yè),其中對于第三組中的每個 處理器,處理器的當(dāng)前利用率小于第三預(yù)定利用率,并且其中第三預(yù)定利用 率低于第二預(yù)定利用率;并且可以利用從第一、第二和第三組處理器中選擇 的一個或多個處理器來處理作業(yè)??梢源_定處理作業(yè)的處理器數(shù)量(N);當(dāng) 第一和第二組中的處理器數(shù)量的總和小于N時,請求可以被排隊;并且,當(dāng) 第一和第二組中的處理器數(shù)量的總和大于或等于N時,可以利用從第一和第 二組中選擇的具有最低當(dāng)前利用率的N個處理器來處理作業(yè)??梢源_定處理作業(yè)的處理器數(shù)量;可以確定第一組中的處理器的當(dāng)前利發(fā)明內(nèi)容用率;可以重新指定第一組處理器,以便將當(dāng)前利用率大于預(yù)定第一利用率 的那些處理器排除在外;當(dāng)重新指定的第一組中和第二組中的處理器數(shù)量的總和小于N時,請求可以被排隊;并且,當(dāng)重新指定的第一組中和第二組中 的處理器數(shù)量的總和大于或等于N時,可以利用從重新指定的第 一組中以及 從第二組中選擇的具有最低當(dāng)前利用率的N個處理器來處理作業(yè)。可以確定第二組中的處理器的新的當(dāng)前利用率,然后可以重新指定第二 組處理器,以便將具有大于第二預(yù)定利用率的、新的當(dāng)前利用率的那些處理 器排除在外,然后可以利用從第一組處理器以及重新指定的第二組處理器中選^r的一個或多個處理器來處理作業(yè)。在另一個一般方面,公開了一種利用多個處理器處理計算作業(yè)的方法。 利用多個處理器來處理多個計算作業(yè)。第一組處理器被指定為可用于處理第 一作業(yè),其中第一組中的處理器數(shù)量基于與第一作業(yè)相關(guān)聯(lián)的優(yōu)先級。第二 組處理器^c指定為可用于處理作業(yè),其中對于第二組中的每個處理器,處理 器的初始利用率小于或等于基于優(yōu)先級以及基于處理器所屬的處理器子集的 預(yù)定利用率。利用從第一組處理器中以及從第二組處理器中選擇的多個處理 器處理第一作業(yè)。確定處理第一作業(yè)的第二組中的處理器具有大于預(yù)定利用 率的更新的利用率。然后,響應(yīng)于所述確定,利用從第一組處理器和不包括 具有大于第一預(yù)定利用率的利用率的處理器的第二組中選擇的多個處理器來 處理第一作業(yè)。實施方式可以包括一個或多個以下特征。例如,對于利用多個處理器處 理的每個計算作業(yè),基本組多個處理器被指定為可用于處理作業(yè),其中用于 每個作業(yè)的基本組中的處理器數(shù)量基于與作業(yè)相關(guān)聯(lián)的優(yōu)先級,可以利用從 用于作業(yè)的基本組處理器以及不屬于基本組的補充集的多個處理器中選擇的 處理器組來處理作業(yè)。確定用于處理作業(yè)的補充集中的處理器具有大于由作 業(yè)優(yōu)先級確定的利用率的利用率。響應(yīng)于所述確定,可以利用從第一組處理 器和不包括具有大于第一預(yù)定利用率的利用率的處理器的第二組中選擇的多 個處理器來處理作業(yè)。在另一個一il殳方面,用于處理計算作業(yè)的系統(tǒng),包括輸入隊列、多個處 理器、利用率服務(wù)引擎、以及調(diào)度引擎。輸入隊列適用于接收待處理的計算 作業(yè),其中優(yōu)先級與該作業(yè)相關(guān)聯(lián)。利用率服務(wù)引擎適用于確定處理器的利 用率,其中第一組的多個處理器被指定為可用于處理作業(yè),其中第一組中的處理器數(shù)量基于與作業(yè)相關(guān)聯(lián)的優(yōu)先級,并且其中當(dāng)前利用率小于第二預(yù)定 利用率的第二組的多個處理器被指定為可用于處理作業(yè)。調(diào)度引擎適用于接 收關(guān)于作業(yè)的優(yōu)先級以及關(guān)于處理器的利用率的信息,并適用于調(diào)度要由從 第一組處理器和第二組處理器中選擇的一個或多個處理器處理的作業(yè)。實施方式可以包括一個或多個以下特4正。例如,第一組可以由一個處理 器組成。多個處理器適用于并行處理作業(yè)。調(diào)度引擎能夠適用于確定處理作 業(yè)的處理器數(shù)量(N),以及適用于調(diào)度利用從第一和第二組中選擇的具有最低當(dāng)前利用率的N個處理器來處理作業(yè)。調(diào)度引擎能夠適用于接收對利用至 少N個處理器來處理作業(yè)的請求,并且可以基于該請求來確定處理作業(yè)的處 理器數(shù)量(N)。處理器的當(dāng)前利用率小于第三預(yù)定利用率的第三組的多個處 理器可以被指定為可用于處理作業(yè),其中第三預(yù)定利用率低于第二預(yù)定利用 率,并且調(diào)度引擎還能夠適用于調(diào)度由通過從第一、第二和第三組處理器中 選擇的一個或多個處理器進行處理的作業(yè)。調(diào)度引擎還能夠適用于確定處理作業(yè)的處理器數(shù)量(N),當(dāng)?shù)谝缓偷诙?組中的處理器數(shù)量的總和小于N時將作業(yè)保持在隊列中,以及當(dāng)?shù)?一和第二 組中的處理器數(shù)量的總和大于或等于N時釋放作業(yè)以便由從具有作業(yè)的最低 當(dāng)前利用率的第一和第二組中選擇的N個處理器來處理。利用率服務(wù)引擎還能夠適用于確定第一組中的處理器的當(dāng)前利用率'并 且系統(tǒng)還包括處理器分組引擎,該處理器分組引擎適用于重新指定第一組處 理器以便將具有大于預(yù)定第一利用率的當(dāng)前利用率的那些處理器排除在外。 在這種實施方式中,調(diào)度引擎還能夠適用于確定處理作業(yè)的處理器數(shù)量(N ), 當(dāng)重新指定的第一組中和第二組中的處理器數(shù)量的總和小于N時將作業(yè)保持 在隊列中,以及當(dāng)重新指定的第一組中和第二組中的處理器數(shù)量的總和大于 或等于N時釋放作業(yè)以便由從重新指定的第 一組中以及從第二組中選擇的具 有最低當(dāng)前利用率的N個處理器來處理。利用率服務(wù)引擎還能夠適用于確定第二組中處理器的新的當(dāng)前利用率, 并且系統(tǒng)還包括處理器分組引擎,該處理器分組引擎適用于重新指定第二組 處理器,以便將具有大于第二預(yù)定利用率的新的當(dāng)前利用率的那些處理器排 除在外。在這種實施方式中,調(diào)度引擎還能夠適用于調(diào)度將由從第一組處理 器和重新指定的第二組處理器中選擇的一個或多個處理器進行處理的作業(yè)。在附圖和以下描述中對一個或多個實施方式的細節(jié)進行論述。其它特征將從說明書和附圖以及從權(quán)利要求書中變得清楚。


圖1是具有用于并行處理多個計算作業(yè)的多個處理器的系統(tǒng)的框圖。 圖2是能夠用在圖1的系統(tǒng)中以處理計算作業(yè)的示例處理器的框圖。圖3是能夠用在圖1的系統(tǒng)中以處理計算作業(yè)的其它示例處理器的框圖。 圖4是例示能夠被分派給提交用于處理的不同計算作業(yè)的不同優(yōu)先級的表格。圖5是用于將計算作業(yè)調(diào)度到一個或多個處理器進行處理的調(diào)度處理器 的框圖。圖6是示出依據(jù)作業(yè)的優(yōu)先級和作業(yè)運行的處理器子集的不同利用率閾 值的矩陣。圖7是例示利用多個處理器處理計算作業(yè)的示例操作的流程圖。圖8是例示利用多個處理器處理計算作業(yè)的附加示例操作的流程圖。
具體實施方式
圖l是具有用于并行處理多個計算作業(yè)的多個處理器的系統(tǒng)ioo的框圖。 計算作業(yè)可以從許多不同的客戶機102、 104、 106、 108、 110提交,這些客 戶機可以是例如膝上型計算機102和104、個人計算機108和110、工作站 106、或任何其它計算設(shè)備??蛻魴C102-110可以通過網(wǎng)絡(luò)115與數(shù)據(jù)中心(例 如,服務(wù)器)120進行通信,網(wǎng)絡(luò)115包括客戶機102-UO和服務(wù)器UO之間 的、用以方便客戶機和服務(wù)器之間數(shù)據(jù)交換的有線和/或無線鏈接。網(wǎng)絡(luò)可以 是諸如內(nèi)聯(lián)網(wǎng)之類的局域網(wǎng)("LAN")或諸如因特網(wǎng)之類的廣域網(wǎng)("WAN"), 或者可以包括一個或多個LAN和WAN。數(shù)據(jù)中心120通常具有比客戶機更多的計算資源(例如,更多的存儲空 間、更多的存儲容量、和/或每秒執(zhí)行更多flops的能力)。因此,數(shù)據(jù)中心從 多個客戶機102-110接收請求,以便使用數(shù)據(jù)中心的計算資源為客戶機處理 計算作業(yè)。例如,在一種實施方式中,客戶機可以是自主計算設(shè)備,所述自 主計算設(shè)備運行它們自己的操作系統(tǒng)并且通常運行它們自己的應(yīng)用程序,但 依靠數(shù)據(jù)中心應(yīng)它們的請求為它們執(zhí)行計算密集型作業(yè)(computationally intense job )。例如,涉及物理事件的高精度、三維、依賴于時間的仿真可能會超出客戶機資源的能力,因此客戶機將該作業(yè)提交到數(shù)據(jù)中心120進行處理。在另一個示例中,數(shù)據(jù)中心可以為客戶機存儲大量數(shù)據(jù),并且可以應(yīng)客戶機的請求提供(host)用以處理作業(yè)的應(yīng)用。例如,數(shù)據(jù)中心120可以存儲 關(guān)于銀行客戶的財務(wù)信息,并且^l艮行可以調(diào)用數(shù)據(jù)中心的資源來處理信息, 例如,來執(zhí)行客戶財務(wù)交易的每日核對。類似地,在另一種實施方式中,數(shù) 據(jù)中心120可以執(zhí)行為客戶機102-110的利益運行的應(yīng)用,因此客戶機不必 維持用于本地運行該應(yīng)用的必要資源,而只需要將需要的信息提交到數(shù)據(jù)中 心120,以便數(shù)據(jù)中心能夠運行該應(yīng)用并將運行該應(yīng)用的結(jié)果返回給客戶機。數(shù)據(jù)中心120包括多個處理器(或處理節(jié)點)122-130,用于執(zhí)行計算 任務(wù)以滿足客戶機102-110的請求;以及調(diào)度服務(wù)器(或調(diào)度節(jié)點140),其 將不同的客戶機作業(yè)分發(fā)到不同的處理器。在另一種實施方式中,數(shù)據(jù)中心 120可以包括多個調(diào)度服務(wù)器來執(zhí)行與將輸入的客戶機作業(yè)分發(fā)到不同處理 器來進行處理相關(guān)聯(lián)的任務(wù)。如這里更詳細解釋的,當(dāng)將輸入的作業(yè)分配到 不同處理器來進行處理時,調(diào)度服務(wù)器140可以考慮與該作業(yè)相關(guān)聯(lián)的優(yōu)先 級來確定分配哪個處理器122-130來處理客戶機作業(yè)。通過在調(diào)度處理期間 考慮不同作業(yè)的優(yōu)先級,調(diào)度服務(wù)器140可以保證具有最高優(yōu)先級的作業(yè)將 從處理器接收到最大可用性的計算資源,可能在資源被嚴重消耗時以犧牲具 有較低優(yōu)先級的作業(yè)為代價,同時還保證較高優(yōu)先級作業(yè)不需要資源時有足 夠的資源可用于較低優(yōu)先級作業(yè)。而且,當(dāng)多個作業(yè)運行在多個處理器 122-130上時,調(diào)度服務(wù)器140可以監(jiān)控由不同作業(yè)使用的計算資源的利用率, 并且如果需要的話,還能夠動態(tài)地將作業(yè)重新分配到不同處理器122-130。動 態(tài)重新分配會導(dǎo)致較低優(yōu)先級作業(yè)被重新分配到不同的處理器,以保證最高 優(yōu)先級將繼續(xù)接收最大可用性的計算資源。數(shù)據(jù)中心120中的處理器122-130可以是例如服務(wù)器計算機、刀片服務(wù) 器(blade server )、個人計算機、單個處理器、或適用于執(zhí)行計算作業(yè)的任何 其它類型的處理設(shè)備。 一般說來,處理器122-130包括處理核心和對存儲空 間的i方問。圖2是可以用在圖1的系統(tǒng)中以處理計算作業(yè)的示例處理器200的框圖。 處理器200可以是例如個人計算機、服務(wù)器計算機、刀片服務(wù)器、工作站、 個人數(shù)字助理(PDA)、或能夠通過網(wǎng)絡(luò)220可操作地鏈接到調(diào)度服務(wù)器140 的任何其它種類的計算設(shè)備 因此,處理器200可以接收已經(jīng)由調(diào)度服務(wù)器140調(diào)度到處理器的待處理的作業(yè)。當(dāng)處理器200完成了作業(yè)或部分作業(yè)時, 處理器200可以通知調(diào)度服務(wù)器140有關(guān)它已經(jīng)結(jié)束作業(yè)或部分作業(yè),并將 處理結(jié)果返回給請求處理的客戶機102-110。所述結(jié)果可以通過包括或不包括 調(diào)度服務(wù)器140的路徑返回。處理器200可以包括可操作地耦接在一起的中央處理器(CPU) 202、固 定存儲設(shè)備(例如,硬盤、非易失性存儲器(例如,閃存))、或可移動可記 錄的介質(zhì)(例如,CD)) 203、隨機存取存儲器(RAM) 204,并且能夠通過 總線206 (例如,外設(shè)部件互連(Peripheral Component Interconnect, PCI)總 線或其它這樣的計算機擴展總線)交換信息。存儲設(shè)備203可以是能夠存儲 計算機可讀指令(例如,軟件)的非易失性存儲器設(shè)備,所述計算機可讀指 令能夠被傳送到RAM 204用于由CPU 202執(zhí)行。例如,存儲設(shè)備203能夠 存儲可由處理器200的CPU202執(zhí)行的操作系統(tǒng)和/或一個或多個應(yīng)用程序。 網(wǎng)絡(luò)220可以是例如LAN、 WAN、因特網(wǎng)、或內(nèi)聯(lián)網(wǎng)。網(wǎng)絡(luò)220可以耦接到 處理器,例如通過其傳播電信號的物理介質(zhì)(例如,銅線)、通過其傳播廣信 號的光纜(例如,玻璃纖維)、通過其傳播電磁信號的無線通信信道、或通過 各種通信信道的一些組合。處理器200還包括網(wǎng)絡(luò)接口設(shè)備(NID) 216,該網(wǎng)絡(luò)接口設(shè)備216被配 置為將處理器200耦接到網(wǎng)絡(luò)220。 NID 216可以包括使處理器200能夠與計 算機網(wǎng)絡(luò)220交換數(shù)據(jù)的各種協(xié)議處理模塊。為了適應(yīng)傳送支持這些應(yīng)用所 需要的數(shù)據(jù)分組,可以使用傳輸控制協(xié)議(TCP)和其它相關(guān)技術(shù)以正確地 格式化數(shù)據(jù)分組。這種格式化方便了通過網(wǎng)絡(luò)220連接到處理器200的遠端 裝備接收這些分組。NID216可以通過主機總線212和橋214耦接到CPU 102 和存儲器204。為使連接到網(wǎng)絡(luò)220的處理器200與調(diào)度服務(wù)器140和/或其它處理器和 /或客戶機102-110進行通信,各種設(shè)備必須能夠相互識別。因此,連接到網(wǎng) 絡(luò)220的每個NID 216具有唯一的序列號(例如,48位的號),有時稱為MAC 地址,其可以被用來為網(wǎng)絡(luò)220和連接到網(wǎng)絡(luò)的其它處理器和客戶機唯一地 識別NID 216 (并且從而識別處理器200 )。圖3是可用在圖1的系統(tǒng)中來處理計算作業(yè)的其它示例處理器302、304、 306和308的框圖。處理器302、 304、 306和308可以是多核單片系統(tǒng)(a multi-core System on a Chip, "SOC',)的一部分,該多核單片系統(tǒng)可以被指代為處理器,如這里所使用的那樣。處理器302、 304、 306和308中的每一個 可以是中央處理器核心、數(shù)字信號處理器("DSP,,)、或其它數(shù)據(jù)處理模塊。處理器302、 304、 306和308連接到控制對主存儲器312 (例如,高速 隨機存取存儲器)的存取的存儲器控制器310。處理器302、 304、 306和308 還連接到管理處理器和外部設(shè)備之間的輸入和輸出操作的輸入/輸出(I/O )處 理器314。例如,1/0處理器314可以處理處理器302、 304、 306和308與外 部j茲盤驅(qū)動器之間的通信。處理器302、 304、 306和308中的每一個可以分別與緩沖與主存儲器312 交換的數(shù)據(jù)的高速緩存元件316、 318、 320和322相關(guān)If關(guān)。高速緩存元件316、 318、 320和322與處理器302、 304、 306和308共同使用,因為處理器302、 304、 306和308的處理速度一般遠遠高于訪問主存儲器32的速度。利用高 速緩存元件316、 318、 320和322,可以從存儲器312整批地檢索數(shù)據(jù),并 且以能夠被迅速存取的格式將數(shù)據(jù)臨時地存儲在位于靠近關(guān)聯(lián)處理器302、 304、 306和308的高速緩存元件316、 318、 320、 322中。然后,處理器302、 304、 306和308從它們的關(guān)聯(lián)高速緩存元件316、 318、 320和322中存取數(shù) 據(jù),這比如果必需從主存儲器312中檢索數(shù)據(jù)的情況更加迅速。處理器302、 304、 306和308與高速緩存元件316、 318、 320和322以 及主存儲器312之間的通信一般發(fā)生在共享總線上,所述共享總線可以包括 地址和命令總線324和數(shù)據(jù)總線326。雖然分開示出了地址和命令總線 和數(shù)據(jù)總線326,在一些實施方式中它們可以合并到一條物理總線中。無論 共享總線被實現(xiàn)為雙總線還是單總線,都可以使用 一套協(xié)議來管理連接到總 線的各個元件302-322 (即,"總線代理")是如何使用總線在它們自己當(dāng)中進 行通信的。在許多情況下,在芯片300的操作期間,處理器302、 304、 306和308 對同一數(shù)據(jù)進行操作,在這種情況下,從主存儲器312中檢索并存儲在與處 理器302相關(guān)聯(lián)的本地高速緩存316中的數(shù)據(jù)副本必須與存儲在與所有其它 處理器304、 306和308相關(guān)聯(lián)的本地高速緩存318、 320和322中的副本相 同。因此,如果一個處理器修改了存儲在其本地高速緩存中的數(shù)據(jù),這個改 變必須被傳輸?shù)脚c其它處理元件相關(guān)聯(lián)的高速緩存,以使得所有的處理器將 對同 一共同的數(shù)據(jù)繼續(xù)進行操作。因為對總線代理間的高速緩存一致性的這種需要,建立了協(xié)議來保證對由各個總線代理對其相關(guān)聯(lián)的高速緩存所做的對本地存儲的數(shù)據(jù)的改變被通信發(fā)送到與連接到該總線的其它總線代理相關(guān) 聯(lián)的所有其它高速緩存。參考圖2和圖3描述的示例處理器僅僅提供了可用在一定實施方式中的處理器的一些部分的示例,而不是為了對可使用的處理器的體系結(jié)構(gòu)施加任 何限制。可以使用任何適于處理計算作業(yè)的處理器。圖4是例示能夠被分派給提交進行處理的不同計算作業(yè)的不同優(yōu)先級的 表格。計算作業(yè)可以-陂提交處理作業(yè)的請求的用戶402識別。用戶402可以 由與處理作業(yè)的請求相關(guān)聯(lián)的公司、組織、或客戶機來識別,或者用與請求 相關(guān)聯(lián)的各個人員來識別。計算作業(yè)還可以由發(fā)送處理作業(yè)的請求的域名 404、發(fā)送請求的IP地址406、或發(fā)送請求的硬件的MAC地址408來識別。 優(yōu)先級412可以與作業(yè)相關(guān)聯(lián),所述優(yōu)先級可以基于例如關(guān)于處理作業(yè)的請 求的信息來確定,這些信息包括用戶402、域名404、 IP地址、以及MAC地 址408。在一種實施方式中,當(dāng)調(diào)度服務(wù)器140接收到處理作業(yè)的請求時, 調(diào)度服務(wù)器可以提取關(guān)于作業(yè)的信息,諸如在表格400中列出的信息,并且 可以通過查找所提取的信息與優(yōu)先級之間的關(guān)系來使用該信息以便確定優(yōu)先 級,其中所述關(guān)系被存儲在服務(wù)器140的數(shù)據(jù)庫中。在一個示例中,當(dāng)調(diào)度服務(wù)器140接收到處理作業(yè)的請求時,調(diào)度服務(wù) 器可以從請求中提取列在行420中的信息,并且使用這個信息確定作業(yè)的優(yōu) 先級。當(dāng)在客戶機和調(diào)度服務(wù)器之間建立會話時,可以從登錄信息中確定用 戶信息402 (即,"SAP/Polk")。可以由調(diào)度服務(wù)器從自客戶機發(fā)送到服務(wù)器 的分組中的標(biāo)題(header)信息中提取域名404、 IP地址406、以及MAC地 址408信息?;诮邮招?20中的信息,調(diào)度服務(wù)器可以確定所請求的作業(yè) 的優(yōu)先級應(yīng)當(dāng)盡量高,因此可以給作業(yè)分派優(yōu)先級'T,。(這里的習(xí)慣用法是 將較高優(yōu)先級的作業(yè)指定較低數(shù)值的優(yōu)先級412。作為示例,在這里使用優(yōu) 先級1-10,其中用"1"表示最高優(yōu)先級,而用"10"表示最低優(yōu)先級的作業(yè)。) 該確定可以基于一條或多條接收到的信息402、 404、 406和408或其它在表 格400中沒有列出的信息。在接收到的和所提取的信息中的差別可以指示請求作業(yè)的不同的優(yōu)先 級。例如,除了IP地址的值之外,在行422中列出的請求的信息與在行420 中列出的請求的信息相同,而分派給行422中作業(yè)請求的優(yōu)先級的值為"3", 而不是像分派給作業(yè)420的值'T,,這表示基于IP地址信息,已經(jīng)分派給行14422中的作業(yè)的較低優(yōu)先級。這可能是這種情況用戶(即,"Polk")使用同 一臺筆記本計算機提交請求420和422,但是卻是從與不同IP地址相關(guān)聯(lián)的 不同地點提交的請求。例如,IP地址"192.168.99.23"可能與"SAP"公司 的重要研究實驗室相關(guān)聯(lián),而IP地址"192.168.99.4"可能與"SAP"公司的 自助餐廳區(qū)域相關(guān)聯(lián),因此作業(yè)請求420與比作業(yè)請求422更高的優(yōu)先級相 關(guān)聯(lián)。在另一個示例中,除了對于在行424中列出的請求是用戶"Polk"發(fā)出 請求而在行426中是用戶"Adams"發(fā)出請求之外,在行424中列出的請求 的信息與在行426中列出的請求的信息相同,,而分派給由Polk請求的作業(yè) 的優(yōu)先級高于分派給由Adams其功能求的作業(yè)的優(yōu)先級。這可能是這種情況 由Polk提交的作業(yè)被認為比Adams提交的作業(yè)更有價值??梢曰诓煌脩?的工作對公司的相對價值或者因為一個用戶比另一個用戶支付更多來使其作 業(yè)更快被處理來確定附加到作業(yè)的值以及隨后作業(yè)的優(yōu)先級。在這個示例中, 與Adams付款使其作業(yè)以較低優(yōu)先級處理相比,Polk可能支付更多以使其作 業(yè)以較高優(yōu)先級處理。在另一個示例中,除了在行430和432中設(shè)定了標(biāo)記410之外(即,對 于行430的請求,標(biāo)記=1,而對于行432的請求,標(biāo)記=10),在行428、 430和432中列出的請求的信息相同。標(biāo)記值可以由用戶設(shè)定并與作業(yè)請求 相關(guān)聯(lián),用以優(yōu)先于否則要基于諸如用戶402、域名404、 IP地址406、以及 MAC地址408等關(guān)于請求的信息來確定的優(yōu)先級。因此,當(dāng)沒有設(shè)定標(biāo)記 410的值時,在行428中所請求的作業(yè)的優(yōu)先級被確定為默認級別"3"。但 是,如果用戶有特別重要的作業(yè),那么用戶可能愿意額外支付以使該作業(yè)以 較高優(yōu)先級來處理,因此用戶可以如行430所示通過標(biāo)記410給作業(yè)分派高 于默認級別的值。類似地,如果用戶有相對不重要或不急迫的作業(yè),那么用 戶可能想要支付更少以使該作業(yè)以較低優(yōu)先級來處理,因此用戶可以如行432 中所示通過標(biāo)記410給作業(yè)分派^^于默認級別的值。從其接收作業(yè)請求的域名404還可以用來確定處理所請求的作業(yè)的優(yōu)先 級。因此,行428和434中的信息的比較顯示,當(dāng)作業(yè)請求中的差別僅在于 該請求來自域名"abc.com"而不是"sap.com"時,作業(yè)的優(yōu)先級可能4交低。在另 一個示例中,不同的優(yōu)先級可以被分派給由組織中的不同用戶和/或MAC地址或客戶機請求的作業(yè)。因此,在行436、 438和440中的請求的 信息的比較示出在ABC組織中,由用戶"Harding"和/或從MAC地址"08:00:69:02:01 :FC"提交的作業(yè)可以收到比由用戶"Bush"和"Johnson" 和/或從MAC地址"08:00:69:02:88:CT"和"08:00:69:02:BM:77"提交的作業(yè) 更高的優(yōu)先級。圖5是用于從一個或多個客戶機102、 104、 106、 108和110向一個或多 個處理器502調(diào)度計算作業(yè)以便由處理器進行處理的調(diào)度處理器140的框圖。 可用于處理作業(yè)的處理器庫520中的處理器502的總數(shù)可以用m表示。調(diào)度 服務(wù)器140可以直接或通過另一個網(wǎng)絡(luò)504將作業(yè)路由到處理器502。通過 網(wǎng)絡(luò)115從客戶機接收執(zhí)行計算作業(yè)的請求,并且該作業(yè)保持在隊列506中, 直到調(diào)度服務(wù)器140中的調(diào)度引擎508確定哪個處理器502應(yīng)當(dāng)處理該作業(yè)。 如這里更詳細解釋的那樣,調(diào)度引擎可以基于處理器502的利用率和所請求 的作業(yè)的優(yōu)先級對處理所請求的作業(yè)的特定處理器進行選擇。第/個處理器 的當(dāng)前利用率可以用".表示,并且可以與作業(yè)相關(guān)聯(lián)的不同優(yōu)先級的數(shù)量可 以用/表示,其中Km。利用率服務(wù)引擎510可以輪詢(poll )處理器502以確定處理器的利用率, 并可以將這個信息報告給調(diào)度引擎508。利用率可以是對處理器可用的計算 資源的利用率的測量。例如,利用率可以是對處理器的CPU負載的測量,例 如,在一段時間期間CPU處于激活狀態(tài)的時間部分。大多數(shù)現(xiàn)有操作系統(tǒng)包 含用于執(zhí)行這樣的測量的例程,因而利用率服務(wù)引擎510能夠輪詢處理器以 執(zhí)行這樣的例程并將結(jié)果報告給調(diào)度引擎508。在另一個示例中,利用率可 以是對由處理器使用的存儲空間除以處理器可用的存儲空間的總量的測量。調(diào)度服務(wù)器140還可以包括處理器分組引擎512,該處理器分組引擎512 可用來指定在可用于處理計算作業(yè)的處理器庫520中的全部處理器502的子 集。如以下更詳細解釋的,不同子集的處理器可以被一般指定用于基于作業(yè) 的優(yōu)先級來處理作業(yè)。具體來講, 一些子集可以被指定用于處理高優(yōu)先級作 業(yè)(即,具有較低數(shù)值的優(yōu)先級412的作業(yè)),而其它子集可以被指定用于處 理高或低優(yōu)先級作業(yè)。但是,如果屬于用于處理高優(yōu)先級作業(yè)的子集的處理 器的利用率足夠低,則調(diào)度服務(wù)器140可以在處于那個子集的處理器上起動 低優(yōu)先級作業(yè)。以這種方式,總的處理資源不處于閑置狀態(tài),以使它們在高優(yōu)先級作業(yè)被請求時可用。此外,每當(dāng)?shù)蛢?yōu)先級作業(yè)運行在指定給高優(yōu)先級 作業(yè)的處理器子集中、并且那些處理節(jié)點的利用率變得太高以至于無法容納 新的高優(yōu)先級作業(yè)時,調(diào)度服務(wù)器140能夠啟動重新分配程序以便將低優(yōu)先 級作業(yè)轉(zhuǎn)移到其它處理器,從而釋放處理器來處理高優(yōu)先級作業(yè)。 在一種實施方式中,利用與特定優(yōu)先級相關(guān)聯(lián)的作業(yè)將被屬于為該優(yōu)先級的作業(yè)定義的特定子集的處理器所處理的預(yù)期,處理器分組引擎512能夠為可 分派給作業(yè)的每個優(yōu)先級定義處理器子集(即,處理器分組引擎512能夠定 義/個不同的處理器子集)。每個子集中的處理器數(shù)量可以依賴于客戶對處理 每個優(yōu)先級的作業(yè)的要求,其中所述要求應(yīng)當(dāng)從過去的經(jīng)驗中估計。因此, 尸c可以表示子集c (在處理器數(shù)量上)的大小(其中1^-),并且J^尸jW。 但是,具有特定優(yōu)先級的作業(yè)并不限于只由為那個優(yōu)先級的作業(yè)而定義 的特定子集中的處理器來處理。反而是,低優(yōu)先級請求可以在屬于已經(jīng)被分 派為處理更高優(yōu)先級作業(yè)的子集的處理器上執(zhí)行,只要在分派為處理更高優(yōu)樣做的算法??梢詾樽蛹痗中的處理器預(yù)先定義闊值利用率f/c 。當(dāng)子集c中的處理器 的當(dāng)前、或瞬時利用率大于",時,則調(diào)度引擎508能夠禁止具有優(yōu)先級高 于w (其中1Si^/)的作業(yè)在該處理器上起動。因此' 一旦處理器達到活動的 閾值等級,那么低優(yōu)先級作業(yè)就不能使用該處理器,但是更高優(yōu)先級作業(yè)(即,具有小于或等于w的數(shù)的優(yōu)先級)可以在該處理器上起動。對于其中定義了/個不同子集的處理器并且/個不同優(yōu)先級可以被分派給不同的作業(yè)的系統(tǒng)中,還必須有(t丄]個非平凡利用率值以強制這個規(guī)則。例如,圖6是示出取決于作業(yè)的優(yōu)先級和作業(yè)在其上運行的處理器子集 的不同利用率閾值的矩陣。矩陣頂行表示作業(yè)的優(yōu)先級,矩陣的最左列表示 作業(yè)在其上運行的處理器子集。在矩陣中示出了取決于作業(yè)的優(yōu)先級以及作 業(yè)在其上運行的處理器子集的利用率閾值。例如,具有優(yōu)先級為"3"的作業(yè) 被允許在最高優(yōu)先級子集的處理器上運行(如果該處理器具有小于30%的利 用率)或者能夠在第二高的優(yōu)先級子集的處理器上運行(如果那個處理器具 有小于50%的利用率)。具有優(yōu)先級=3的作業(yè)總能夠在來自子集3或子集4 的處理器上運行。因此,對于具有優(yōu)先級W的作業(yè),其中1^/-,可用于處理作業(yè)的第一 組處理器由具有C^M的子集中的全部處理器組成。第二組處理器也可用于處 理該作業(yè),但是只是在那些處理器的利用率低于閾值的情況下,該閾值取決 于作業(yè)的優(yōu)先級以及那些處理器中的每一個所分配的子集的閾值。例如,如 果存在10個不同的作業(yè)優(yōu)先級以及IO個不同的處理器子集,則當(dāng)接收到處理具有優(yōu)先級"3"的作業(yè)的請求時,子集c-3、 4.......IO中的所有處理器均可用于處理該作業(yè),并且子集。=1和c-2中的處理器只在它們的利用率 低于預(yù)定利用率時才可用于處理該作業(yè)。一旦調(diào)度引擎508已經(jīng)基于從利用率服務(wù)引擎510接收到的信息和關(guān)于 作業(yè)的優(yōu)先級的信息確定了可用于處理該作業(yè)的處理器時,調(diào)度引擎就能夠 選擇特定處理器來處理該作業(yè)。例如,如果處理作業(yè)的請求包括對利用N個 處理器處理作業(yè)的請求,并且調(diào)度引擎508確定N^N個處理器當(dāng)前可用,則 調(diào)度引擎能夠調(diào)度該作業(yè)由至少N個具有最低利用率的當(dāng)前可用的處理器來 處理。如果調(diào)度引擎508確定M〈N個處理器當(dāng)前可用,則調(diào)度引擎可以將該 作業(yè)保持在隊列506中,直到至少N個處理器可用于處理該作業(yè)。如果請求 沒有明確地請求用于作業(yè)的處理器的特定最小數(shù)量,但是請求了 一定的性能 標(biāo)準(例如,處理速度或結(jié)束時間),則調(diào)度引擎508可以基于所提供的信息 來確定處理該作業(yè)所需要的處理器的數(shù)量。在一些情形下,第一組處理器中的處理器的利用率可以很高(例如,95 %以上的最大CPU利用率),以致在實踐中這些處理器處理新的作業(yè)的效率 較低。在這樣的情況下,處理器分組引擎512可以重新指定這些過度使用的 處理器為暫時不可用于處理新的作業(yè)。然后,如果這樣的重新指定使得在第 一組和第二組中的可用處理器的數(shù)量總和小于N時,調(diào)度引擎508可以將作 業(yè)保持在隊列506中,直到至少N個處理器可用于處理該作業(yè)。根據(jù)這些規(guī)則和指導(dǎo)方針,對于每個輸入的作業(yè)請求r,可以根據(jù)以下 算法來確定作業(yè)對處理器庫520的處理器502的最終分配。首先,提取請求 r的優(yōu)先級w,以及請求執(zhí)行該請求的處理器的數(shù)量N。然后,可用于處理作 業(yè)的處理器的集合被設(shè)定為零。然后,屬于與大于或等于w的優(yōu)先級相關(guān)聯(lián)的子集A.的所有處理器,被添加到可用處理器("AP")的集合。然后,對于 屬于子集A的所有剩余的處理器/,其中l(wèi)》<w,確定處理器的實際利用率 K.,M。如果對于第/處理器,K,M<^W,則第/處理器被添加到可用處理器的集合。然后,在確定可用處理器的集合之后,所有處理器/按照t4w增大的 次序排序。最后,如果N個處理器可用,在具有最低t4.w的可用處理器的集合中的N個處理器上起動在請求中所指定的作業(yè)r。如果N個處理器不可用,則該作業(yè)被保持在隊列中,等待另外的資源可用。當(dāng)在多個處理器502上運行一個或多個作業(yè)時,可以由利用率服務(wù)引擎 510周期性地監(jiān)控處理器的利用率,如果處理器沒有被有效地使用,則作業(yè) 可以被重新分配到不同的處理器??梢杂冒磿r間發(fā)生順序分派的作業(yè)編號來 跟蹤各個作業(yè),以便將各個作業(yè)相互區(qū)分。在一種實施方式中,如果需要的 話,可以根據(jù)以下算法來監(jiān)控和重新分配作業(yè)。首先,選擇運行作業(yè)r之一用于監(jiān)控。該作業(yè)具有作業(yè)編號和優(yōu)先級w, 并且在N個處理器上運行。利用率服務(wù)引擎510測量運行作業(yè)的N個處理器 中的每一個的利用率。如果作業(yè)運行在子集尸c中具有利用率^省的處理器/ 上,那么,如果wS(即,如果處理器是低于或等于優(yōu)先級子集的一部分), 則不需要重新分配運行在第i處理器上的處理。如果w〉c并且",a^R,,(即, 如果處理器是高優(yōu)先級子集的一部分,并且處理器的利用率處于或高于闊值 比率),則該作業(yè)必須被重新分配到不同的處理器。為了將作業(yè)重新分配到不同的處理器,首先,調(diào)度引擎508內(nèi)的計數(shù)器 中可用于處理該作業(yè)的處理器的集合被設(shè)定為零。然后,屬于與大于或等于 w的優(yōu)先級相關(guān)聯(lián)的子集&的所有處理器/被添加到可用處理器的集合。然 后,對于屬于子集幾的剩余處理器/中的每一個,其中l(wèi)》<w,確定處理器 的實際利用率Kw。如果對于第/個處理器,t/cM/<K,w,則第,'處理器被添加 到可能的可用處理器的集合。然后,在確定了可能的可用處理器的集合之后, 所有處理器/按照K.,.,w增大的次序排序。最后,如果N個處理器可用,在請 求中所指定的作業(yè)r被移動到具有最低K,w的可用處理器的集合中的N個處 理器。如果N個處理器不可用,則該作業(yè)被保持在隊列中,等待另外的資源 可用。對于所有的運行作業(yè)執(zhí)行該處理監(jiān)控處理器的利用率,并且如果超 過了閾值利用率則移動作業(yè)。圖7是例示用于利用多個處理器處理計算作業(yè)的圖1-6的系統(tǒng)的示例操 作的流程圖700。如圖7中所示,接收對利用多個處理器處理作業(yè)的請求, 其中優(yōu)先級與該作業(yè)相關(guān)聯(lián)(步驟702)。例如,調(diào)度服務(wù)器140可以從客戶 機102接收請求以便利用處理器庫520中的處理器502處理作業(yè)。該請求可以包括對利用特定數(shù)量的處理器來處理作業(yè)的請求。第一組處理器被指定為可用于處理作業(yè),其中第一組中的處理器數(shù)量基于與該作業(yè)相關(guān)聯(lián)的優(yōu)先級(步驟704)。例如,處理器分組引擎512能夠?qū)?處理器庫520中的全部處理器502劃分為多個處理器子集。子集數(shù)量可以等 于可能的用于作業(yè)的不同優(yōu)先級的數(shù)量。當(dāng)接收到請求并且確定了與該請求 相關(guān)聯(lián)的優(yōu)先級時,分組引擎512和/或調(diào)度引擎508可以指定第一組處理器 以便包括與等于或大于所請求的作業(yè)的優(yōu)先級(即,較低優(yōu)先級)的優(yōu)先級 值412相關(guān)聯(lián)的所有子集中的處理器。第二組處理器被指定為可用于處理作業(yè),其中對于第二組中的每個處理 器,處理器的當(dāng)前利用率小于第二預(yù)定利用率(步驟706)。例如,利用率服 務(wù)引擎510可以監(jiān)控每個處理器502的利用率,并將該比率報告給調(diào)度器508。 調(diào)度器可以在調(diào)度服務(wù)器140中比較所測量的比率與數(shù)據(jù)庫中所存儲的閾值 比率,以確定當(dāng)前利用率是否大于或等于處理器的閾值比率??赡鼙仨毧紤] 多個利用率閾值,因為如參考圖6所說明的那樣,對于作業(yè)的優(yōu)先級值和與 低于作業(yè)優(yōu)先級值的優(yōu)先級相關(guān)聯(lián)的子集的每一個組合都需要閾值。因此, 調(diào)度器可以確定來自第二組中可以包括來自多個不同子集的處理器。利用這些確定,可以利用從第一子集處理器和第二子集處理器中選擇的 一個或多個處理器502來處理作業(yè)(步驟708 )。圖8是例示用于利用多個處理器處理計算作業(yè)的圖1-6的系統(tǒng)的附加示 例操作的流程圖800。如圖8所示,利用多個處理器處理多個計算作業(yè)(步 驟802 )。第一組處理器被指定為可用于處理第一作業(yè),其中第一組中處理器 的數(shù)量基于與第一作業(yè)相關(guān)聯(lián)的優(yōu)先級(步驟804)。第二組處理器被指定為 可用于處理作業(yè),其中對于第二組中的每一個處理器,處理器的初始利用率 小于或等于預(yù)定利用率(步驟806 )。預(yù)定利用率基于優(yōu)先級和處理器所屬的 處理器子集。第一作業(yè)利用從第一組處理器和第二組處理器中選擇的多個處 理器來處理(步驟808 )。然后,確定處理第一作業(yè)的第二組中的處理器具有 大于預(yù)定利用率的更新的利用率(步驟810)。響應(yīng)于所述確定,第一作業(yè)利 用從第 一組處理器和不包括具有大于第 一預(yù)定利用率的利用率的處理器的第 二組中選^^的多個處理器來處理(812)。這里描述的各種技術(shù)的實施方式可以被實施在數(shù)字電子電路中,或者實 施在計算機硬件、固件、軟件或它們的組合中。實施方式可以實施為計算機程序產(chǎn)品,即實實在在地具體實施在信息載體中,例如在機器可讀存儲設(shè)備 中或者在傳播的信號中,的計算機程序,以供數(shù)據(jù)處理裝置執(zhí)行,或者控制 數(shù)據(jù)處理裝置的操作,所述數(shù)據(jù)處理裝置例如可編程處理器、計算機、多個 計算機。計算機程序,例如上面描述的計算機程序,可以用任何形式的編程 語言編寫,包括匯編語言或解釋語言,并且,它可以;波以任何形式部署,包 括作為獨立的程序或者作為模塊、組件、子程序或其他適于在計算環(huán)境中使 用的單元。計算機程序可以被部署成在一個計算機上或在位于一個地點或跨 過多個地點分布并被通信網(wǎng)絡(luò)互連起來的多個計算機上執(zhí)行。方法步驟可以被一個或更多個可編程處理器執(zhí)行,所述可編程處理器執(zhí) 行計算機程序,通過對輸入數(shù)據(jù)操作和產(chǎn)生輸出來執(zhí)行功能。方法步驟還可 以被專用邏輯電路執(zhí)行,或者裝置可以被實施為專用邏輯電路,所述專用邏輯電路例如FPGA (現(xiàn)場可編程門陣列)或ASIC (專用集成電^各)。作為例子,適于執(zhí)行計算機程序的處理器包括通用和專用微處理器,以 及任何類型的數(shù)字計算機的任意一個或更多個處理器。 一般來說,處理器將 從只讀存儲器或隨機存取存儲器接收指令和數(shù)據(jù),或者從兩者都接收指令和 數(shù)據(jù)。計算機的要素可以包括至少一個用于執(zhí)行指令的處理器,和用于儲存 指令和數(shù)據(jù)的一個或更多個存儲器設(shè)備。一^:來說,計算機還可以包括、或 者被可操作地連接,以從一個或更多個用于存儲數(shù)據(jù)的海量儲存設(shè)備接收數(shù) 據(jù),或把數(shù)據(jù)傳送到海量儲存設(shè)備,或者二者皆有,所述海量儲存設(shè)備例如 磁盤、磁光盤或光盤。適于具體實施計算機程序指令和數(shù)據(jù)的信息載體包括 所有形式的非易失性存儲器,作為例子,包括半導(dǎo)體存儲器器件'例如, EPROM、 EEPROM和閃存設(shè)備;石茲盤,例如內(nèi)置石更盤或可移動箱t盤、箱t光 盤和CD-ROM以及DVD-ROM盤。處理器和存儲器可以被專用邏輯電路補 充,或被包含在專用邏輯電路中。為了提供和用戶的交互,實施方式可以在具有顯示設(shè)備和鍵盤以及定點 設(shè)備的計算機上實施,顯示設(shè)備例如陰極射線管(CRT)或液晶顯示器(LCD) 監(jiān)視器,用于向用戶顯示信息,鍵盤和指示設(shè)備例如鼠標(biāo)或軌跡球,用戶利 用它們可以提供到計算機的輸入。其他種類的設(shè)備也可以被用來提供和用戶 的交互;例如,提供給用戶的反饋可以是任何形式的感覺反饋,例如視覺反 饋、聽覺反饋或觸覺反饋,并且,來自用戶的輸入可以被以任何形式接收, 包括聲音、語音或觸覺輸入。算系統(tǒng)中實施,或者在這些后端、中間件、前端組件的任意組合中實施,后 端組件例如數(shù)據(jù)服務(wù)器,中間件組件例如應(yīng)用服務(wù)器,前端組件例如具有圖形用戶界面或Web瀏覽器的客戶機計算機,通過圖形用戶界面或Web瀏覽器, 用戶可以和實施方式進行交互??梢岳脭?shù)字數(shù)據(jù)通信的任何形式或介質(zhì)互 連組件,數(shù)字數(shù)據(jù)通信介質(zhì)例如通信網(wǎng)絡(luò)。通信網(wǎng)絡(luò)的例子包括局域網(wǎng)(LAN ) 和例如因特網(wǎng)這樣的廣域網(wǎng)(WAN )。雖然如這里所描述的那樣已經(jīng)示出了所描述的實施方式的某些特征,但 是本領(lǐng)域普通技術(shù)人員現(xiàn)在將想到很多修改、替換、變化或等同物。因此應(yīng)當(dāng)理解,所附權(quán)利要求旨在覆蓋所有這些落入實施方式的基本精神中的修改 和變化。
權(quán)利要求
1.一種利用多個處理器處理計算作業(yè)的方法,該方法包括接收處理作業(yè)的請求,其中,優(yōu)先級與所述作業(yè)相關(guān)聯(lián);指定第一組處理器為可用于處理所述作業(yè),其中,該第一組中的處理器數(shù)量基于與所述作業(yè)相關(guān)聯(lián)的所述優(yōu)先級;指定第二組處理器為可用于處理所述作業(yè),其中,對于第二組中的每一個處理器,處理器的當(dāng)前利用率小于第二預(yù)定利用率;以及利用從所述第一組處理器和第二組處理器中選擇的一個或多個處理器來處理所述作業(yè)。
2. 如權(quán)利要求l所述的方法,其中,所述第二預(yù)定利用率基于所述作業(yè) 的優(yōu)先級以及處理器所屬的處理器子集。
3. 如權(quán)利要求1所述的方法,還包括 確定處理所述作業(yè)的處理器數(shù)量(n);以及利用從所述第一和第二組中選擇的具有最低當(dāng)前利用率的n個處理器來 處理所述作業(yè)。
4. 如權(quán)利要求3所述的方法,其中,確定處理所述作業(yè)的處理器數(shù)量包 括接收對利用至少n個處理器來處理所述作業(yè)的請求。
5. 如權(quán)利要求1所述的方法,還包括指定第三組處理器為可用于處理所述作業(yè),其中,對于該第三組中的每 一個處理器,處理器的當(dāng)前利用率小于第三預(yù)定利用率,其中,該第三預(yù)定 利用率小于所述第二預(yù)定利用率;以及利用從所述第一、第二和第三組處理器中選擇的一個或多個處理器來處 理所述作業(yè)。
6. 如權(quán)利要求l所述的方法,還包括 確定處理所述作業(yè)的處理器數(shù)量(n);當(dāng)所述第一和第二組中的處理器數(shù)量的總和小于n時排隊所迷請求;以及當(dāng)所述第一和第二組中的處理器數(shù)量的總和大于或等于n時,利用從所 述第一和第二組中選擇的具有最低當(dāng)前利用率的n個處理器來處理所述作業(yè)。
7. 如權(quán)利要求l所述的方法,還包括 確定處理所述作業(yè)的處理器凄t量(N); 確定所述第一組中處理器的當(dāng)前利用率;重新指定第一組處理器,以便將具有大于預(yù)定第一利用率的當(dāng)前利用率 的那些處理器排除在外;當(dāng)重新指定的第 一組中和第二組中的處理器數(shù)量的總和小于N時排隊所 述請求;以及當(dāng)重新指定的第一組中和第二組中的處理器數(shù)量的總和大于或等于N 時,利用從重新指定的第 一組以及從第二組中選擇的具有最低當(dāng)前利用率的 N個處理器來處理所述作業(yè)。
8. 如權(quán)利要求l所述的方法,還包括 確定所述第二組中處理器的新的當(dāng)前利用率;然后 重新指定第二組處理器,以便將具有大于所述第二預(yù)定利用率的新的當(dāng)前利用率的那些處理器排除在外;然后利用從第一組處理器以及重新指定的第二組處理器中選擇的一個或多個 處理器來處理所述作業(yè)。
9. 如權(quán)利要求l所述的方法,其中,通過廣域網(wǎng)來接收所述請求。
10. —種利用多個處理器處理計算作業(yè)的方法,該方法包括 利用所述多個處理器處理多個計算作業(yè);指定第一組處理器為可用于處理第一作業(yè),其中,該第一組中的處理器數(shù)量基于與該第 一作業(yè)相關(guān)聯(lián)的優(yōu)先級;指定第二組處理器為可用于處理所述作業(yè),其中,對于該第二組中的每一個處理器,處理器的初始利用率小于或等于基于所述優(yōu)先級以及基于所述 處理器所屬的處理器子集的預(yù)定利用率;利用從所述第一組處理器和第二組處理器中選擇的多個處理器來處理所 述第一作業(yè);確定處理所述第一作業(yè)的所述第二組中的處理器具有大于所述預(yù)定利用 率的更新的利用率;然后響應(yīng)于所述確定,利用從第 一組處理器和不包括具有大于所述第 一預(yù)定 利用率的利用率的處理器的第二組中選擇的多個處理器來處理所述第一作 業(yè)。
11. 如權(quán)利要求10所述的方法,還包括,對于利用所述多個處理器處理的每一個計算作業(yè)指定基本組多個處理器為可用于處理所述作業(yè),其中,所述基本組中用 于每一個作業(yè)的處理器數(shù)量基于與該作業(yè)相關(guān)聯(lián)的優(yōu)先級,利用從用于所述作業(yè)的基本組處理器和不屬于所述基本組的多個處理器的補充集中選擇的一組處理器來處理所述作業(yè);確定用于處理所述作業(yè)的補充集中的處理器具有大于由所述作業(yè)的優(yōu)先 級確定的利用率的利用率;以及響應(yīng)于所述確定,利用從所述第一組處理器和不包括具有大于所述第一 預(yù)定利用率的利用率的處理器的第二組中選擇的多個處理器來處理所述作 業(yè)。
12. —種處理計算作業(yè)的系統(tǒng),該系統(tǒng)包括輸入隊列,適用于接收待處理的計算作業(yè),其中優(yōu)先級與所述作業(yè)相關(guān)聯(lián);多個處理器;利用率服務(wù)引擎,適用于確定所述處理器的利用率,其中,第一組的多個處理器被指定為可用于處理所述作業(yè),其中所 述第一組中的處理器數(shù)量基于與該作業(yè)相關(guān)聯(lián)的優(yōu)先級,并且其中,當(dāng)前利用率小于第二預(yù)定利用率的第二組的多個處理器被指 定為可用于處理所述作業(yè);以及調(diào)度引擎,適用于接收關(guān)于所述作業(yè)的優(yōu)先級以及關(guān)于所述處理器的利 用率的信息,并適用于調(diào)度要由從所述第 一組處理器和第二組處理器中選擇 的一個或多個處理器來處理的所述作業(yè)。
13. 如權(quán)利要求12所述的系統(tǒng),其中,所迷第一組由一個處理器組成。
14. 如權(quán)利要求12所述的系統(tǒng),其中,所述調(diào)度引擎適用于確定處理所 述作業(yè)的處理器數(shù)量(N),并適用于調(diào)度要由從所述第一和第二組中選擇的 具有最低當(dāng)前利用率的N個處理器來處理的所述作業(yè)。
15. 如權(quán)利要求i2所述的系統(tǒng),其中,所述調(diào)度引擎適用于接收對利用 N個處理器來處理所述作業(yè)的請求,并且其中,所述對處理所述作業(yè)的處理 器數(shù)量(N)的確定基于所述請求。
16. 如權(quán)利要求12所述的系統(tǒng),其中,所述處理器的當(dāng)前利用率小于第三預(yù)定利用率的第三組的多個處理器被指定為可用于處理所述作業(yè),并且其 中,所述第三預(yù)定利用率小于所述第二預(yù)定利用率;以及其中,所述調(diào)度引擎還適用于調(diào)度要由從所述第一、第二、以及第三組 處理器中選擇的一個或多個處理器來處理的所述作業(yè)。
17. 如權(quán)利要求12所述的系統(tǒng),其中,所述調(diào)度引擎還適用于 確定處理所述作業(yè)的處理器^:量(N);以及適用于 當(dāng)所述第一和第二組中的處理器數(shù)量的總和小于N時將所述作業(yè)保持在隊列中;以及適用于當(dāng)所述第 一和第二組中的處理器數(shù)量的總和大于或等于N時釋放所述作 業(yè),以便由從具有所述作業(yè)的最低當(dāng)前利用率的第一和第二組中選擇的N個 處理器來進行處理。
18. 如權(quán)利要求12所述的系統(tǒng),其中,所述利用率服務(wù)引擎還適用于確 定所述第一組中處理器的當(dāng)前利用率;還包括處理器分組引擎,適用于重新指定所述第一組處理器,以便將具 有大于預(yù)定第一利用率的當(dāng)前利用率的那些處理器排除在外;其中,所述調(diào)度引擎還適用于確定處理所述作業(yè)的處理器數(shù)量(N);其中,所述調(diào)度引擎還適用于在重新指定的第 一組中和第二組中的處理 器數(shù)量的總和小于N時將所述作業(yè)保持在隊列中;以及其中,所述調(diào)度引擎還適用于在重新指定的第一組中和第二組中的處理 器數(shù)量的總和大于N時釋放所述作業(yè),以便由從重新指定的第一組和第二組 中選擇的具有最低當(dāng)前利用率的N個處理器來進行處理。
19. 如權(quán)利要求12所述的系統(tǒng),其中,所述利用率服務(wù)引擎還適用于確定所述第二組中處理器的新的當(dāng) 前利用率;以及還包括處理器分組引擎,適用于重新指定第二組處理器,以便將具有大 于所述第二預(yù)定利用率的新的當(dāng)前利用率的那些處理器排除在外;以及其中,所述調(diào)度引擎還適用于調(diào)度要由從所述第一組處理器和重新指定 的第二組處理器中選"^的一個或多個處理器來處理的作業(yè)。
20. 如權(quán)利要求12所述的系統(tǒng),其中,多個處理器適用于并行處理所述 作業(yè)。
全文摘要
本發(fā)明公開了在客戶機-服務(wù)器或主機環(huán)境中計算作業(yè)的多目標(biāo)分配。根據(jù)本發(fā)明,一種利用多個處理器處理計算作業(yè)的方法包括處理作業(yè)的請求被接收,其中,所述作業(yè)具有與該作業(yè)相關(guān)聯(lián)的優(yōu)先級;第一組處理器被指定為可用于處理所述作業(yè),其中,第一組中的處理器數(shù)量基于與該作業(yè)相關(guān)聯(lián)的優(yōu)先級;第二組處理器被指定為可用于處理所述作業(yè),其中,對于第二組中的每一個處理器,處理器的當(dāng)前利用率小于第二預(yù)定利用率;然后,利用從第一組處理器和第二組處理器中選擇的一個或多個處理器來處理作業(yè)。
文檔編號G06F9/50GK101266557SQ200810083000
公開日2008年9月17日 申請日期2008年3月17日 優(yōu)先權(quán)日2007年3月16日
發(fā)明者卡斯滕·弗蘭克 申請人:Sap股份公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1