專利名稱:作業(yè)調(diào)度設(shè)備和作業(yè)調(diào)度方法
技術(shù)領(lǐng)域:
這里討論的實(shí)施例涉及作業(yè)調(diào)度設(shè)備和作業(yè)調(diào)度方法。
背景技術(shù):
近幾年來,用作執(zhí)行科學(xué)和技術(shù)計(jì)算的信息處理設(shè)備的超級計(jì)算機(jī)具有例如多至 數(shù)以萬計(jì)的計(jì)算節(jié)點(diǎn)。每個(gè)計(jì)算節(jié)點(diǎn)連接到網(wǎng)狀網(wǎng)絡(luò)。一類網(wǎng)狀網(wǎng)絡(luò)的示例是被形成為多 個(gè)標(biāo)準(zhǔn)組件的集合的網(wǎng)狀網(wǎng)絡(luò),所述集合構(gòu)成整個(gè)網(wǎng)狀網(wǎng)絡(luò)。因此,網(wǎng)狀網(wǎng)絡(luò)具有可以在標(biāo) 準(zhǔn)組件單元中擴(kuò)展的特性,即,網(wǎng)狀網(wǎng)絡(luò)具有高的可擴(kuò)展性的特性。利用超級計(jì)算機(jī),為了防止作業(yè)之間的通信干擾,系統(tǒng)被劃分成構(gòu)成網(wǎng)狀網(wǎng)絡(luò)的 一部分的矩形或立方體局部區(qū)域(在下文中稱為“子網(wǎng)”),并且劃分后的系統(tǒng)執(zhí)行分配給 它們的作業(yè)。然而,對子網(wǎng)的作業(yè)分配引起系統(tǒng)中的碎片,由此存在不能向其分配作業(yè)的子 網(wǎng)。這可造成系統(tǒng)中有效率的降低。在超級計(jì)算機(jī)運(yùn)行的科學(xué)和技術(shù)計(jì)算領(lǐng)域(也被稱為高性能計(jì)算(HPC)領(lǐng)域) 中,由于超級計(jì)算機(jī)在執(zhí)行各種作業(yè)的同時(shí)不斷地運(yùn)行,因此子網(wǎng)上碎片的效應(yīng)特別嚴(yán)重。 因此,為了減輕碎片,存在用于在作業(yè)調(diào)度中執(zhí)行的回填的技術(shù)。在作業(yè)調(diào)度中,控制作業(yè)并執(zhí)行作業(yè)。并且,存在以下方法其中通過提高低優(yōu)先 級作業(yè)的優(yōu)先級來在執(zhí)行大型作業(yè)之前執(zhí)行從一開始被給定低優(yōu)先級的作業(yè)或小型作業(yè) (由于執(zhí)行先到達(dá)的大型作業(yè)或從一開始被給定高優(yōu)先級的作業(yè),所以從一開始被給定低 優(yōu)先級的作業(yè)或小型作業(yè)等待很長一段時(shí)間)。這里,術(shù)語“大型”意味著“處理時(shí)間相對 較長”,反之,術(shù)語“小型”意味著“處理時(shí)間相對較短”。該調(diào)度方法被稱為回填(回填)。針對回填,提出了兩個(gè)算法,即,保守型的和積極型的。例如,積極型回填僅針對 最高優(yōu)先級排隊(duì)作業(yè)確保執(zhí)行開始時(shí)間;而保守型回填針對所有排隊(duì)作業(yè)確保執(zhí)行開始時(shí) 間。由于該原因,保守型回填可以避免特定作業(yè)不被執(zhí)行的資源缺乏現(xiàn)象,并且可以向用戶 提交排隊(duì)作業(yè)的執(zhí)行開始時(shí)間,這些都是具有優(yōu)勢的。然而,當(dāng)與積極型回填相比時(shí),保守 型回填需要大量計(jì)算工作量,因此不利地影響調(diào)度性能。此外,關(guān)于積極型回填,由于對不能開始的排隊(duì)作業(yè)沒有執(zhí)行操作,因此執(zhí)行積極 型回填的計(jì)算工作量的數(shù)量與排隊(duì)作業(yè)的數(shù)目成正比。相反,保守型回填為將來的使用保 留了計(jì)算資源(硬件資源)。由保守型回填執(zhí)行的計(jì)算資源的保留具有兩個(gè)事件,即,資源 獲取和資源釋放。事件按照發(fā)生的順序被列出并且由被稱為事件列表的列表來管理。關(guān)于保守型回填的算法,通過掃描事件列表并且搜索如下時(shí)段來執(zhí)行調(diào)度在該 時(shí)段期間,對于需要的時(shí)段可以確保作業(yè)需要的計(jì)算資源(硬件資源)。因此,執(zhí)行保守型 回填的計(jì)算工作量的數(shù)量與排隊(duì)作業(yè)的數(shù)目的平方成正比。利用積極型和保守型回填,按 照高優(yōu)先級的順序來確定排隊(duì)作業(yè)是否可以執(zhí)行。需要大量計(jì)算工作量用于子網(wǎng)分配,并且此外,當(dāng)同時(shí)執(zhí)行子網(wǎng)分配和回填時(shí),需 要另外的大量計(jì)算工作量。因此,利用保守型技術(shù),很難研究出考慮網(wǎng)狀拓?fù)涞挠糜趯?shí)際使 用的保守回填;因此,使用積極型回填或更簡單的方法。更簡單的方法的示例是如下技術(shù)其中,不考慮優(yōu)先級并且不對子網(wǎng)進(jìn)行保留,將在較短時(shí)間內(nèi)執(zhí)行的小作業(yè)首先向前移動(dòng) 來執(zhí)行。[專利文獻(xiàn)1]日本專利公布第2005-310139號。[非專利文獻(xiàn) 1]Y. Zhu 的文章,題為 “Efficient Processor AllocationStrategies for Mesh-Connected Parallel Computers,,,1992 年 12 月發(fā)表于 Journal of Parallel and Distributed Computing, vol. 16, issue 4,pp.328—327。[非專利文獻(xiàn) 2]Lifka,D. A 的文章,題為"The ANL/IBM SPScheduling System”, 1995 年發(fā)表于 In Proceedings of the Workshop onjob Scheduling Strategies For Parallel Processing, D. G. Feitelson and L. Rudolph, Eds.Lecture Notes In Computer Science,vol.949. Springer-Verlag, London, pp.295—303。[非專利文獻(xiàn) 3]Mu,alem, A. W.和 Feitelson 的文章,題為"Utilization, Predictability, Workloads, and User Runtime Estimates in Scheduling theIBM SP2with Backfilling,,,2001 年 6 月發(fā)表于 D.G. 2001IEEE Tran. Parallel Distrib. Syst. Vol. 12,No. 6,pp. 529-543。然而,利用上述技術(shù),存在如下問題降低了執(zhí)行作業(yè)的系統(tǒng)的有效率。具體地,利 用不考慮優(yōu)先級而將小作業(yè)先向前移動(dòng)的技術(shù),由于花費(fèi)較長執(zhí)行時(shí)間的大作業(yè)可能出現(xiàn) 資源缺乏,因此需要使用其中對延遲作業(yè)給予提高的優(yōu)先級的策略控制。此時(shí),由于對延遲 作業(yè)執(zhí)行優(yōu)先化,因此不可能避免開始大作業(yè)的執(zhí)行中的延遲。此外,使用回填來向前移動(dòng) 被給定較高優(yōu)先級的大作業(yè)最終是不可能的。結(jié)果,利用上述技術(shù),降低了執(zhí)行作業(yè)的系統(tǒng) 的有效率。因此,本發(fā)明實(shí)施例的一個(gè)方面中的目的是提供可以改善執(zhí)行作業(yè)的系統(tǒng)的有效 率的作業(yè)調(diào)度設(shè)備和作業(yè)調(diào)度。
發(fā)明內(nèi)容
根據(jù)本發(fā)明實(shí)施例的方面,用于向多個(gè)信息處理設(shè)備分配作業(yè)的作業(yè)調(diào)度設(shè)備包 括存儲(chǔ)單元,在其中存儲(chǔ)二維陣列,在所述二維陣列中存儲(chǔ)將被分配到多個(gè)信息處理設(shè)備 的作業(yè),使得將被分配的作業(yè)被數(shù)字化和被轉(zhuǎn)換成與多個(gè)信息處理設(shè)備對應(yīng)的陣列元素; 深度值計(jì)算單元,其使用存儲(chǔ)在存儲(chǔ)單元中的二維陣列來計(jì)算表示作業(yè)之間干擾程度的深 度值,基于二維陣列中被分配作業(yè)的陣列元素中存儲(chǔ)的數(shù)值而計(jì)算深度值;搜索單元,其基 于由深度值計(jì)算單元計(jì)算的深度值而在二維陣列中搜索可以用于對應(yīng)于將被分配的作業(yè) 的分配的陣列元素;以及安排單元,如果存在由搜索單元獲得的可以用于分配的陣列元素, 那么安排單元通過數(shù)字化和轉(zhuǎn)換成可以用于分配的陣列元素來安排將被分配的作業(yè)。
圖1是示出包括作業(yè)調(diào)度設(shè)備的系統(tǒng)的示例配置的示意圖;圖2是解釋排隊(duì)作業(yè)分配的示意圖;圖3是示出根據(jù)第一實(shí)施例的作業(yè)調(diào)度設(shè)備的示例配置的框圖;圖4是示出活動(dòng)作業(yè)列表的示例的表格;圖5是示出排隊(duì)作業(yè)列表的示例的表格;
4
圖6是示出事件列表的示例的表格;圖7是示出根據(jù)第一實(shí)施例的排隊(duì)作業(yè)分配處理的流程的流程圖;圖8是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖;圖9是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖;圖10是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖;圖11是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖;圖12是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖;圖13是示出作業(yè)分配時(shí)段的時(shí)序圖的示例的示意圖;圖14是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的事件列表的示例的表格;圖15是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的事件列表的示例的表格;圖16是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的事件列表的示例的表格;圖17是示出在其中存儲(chǔ)差值的CDA的示例的圖;以及圖18是示出執(zhí)行作業(yè)調(diào)度程序的計(jì)算機(jī)的框圖。
具體實(shí)施例方式將參考附圖解釋本發(fā)明的優(yōu)選實(shí)施例。本發(fā)明不限于下述實(shí)施例。[a]第一實(shí)施例首先,將參考圖1描述包括在本發(fā)明中公開的作業(yè)調(diào)度設(shè)備的系統(tǒng)配置。圖1是 示出包括作業(yè)調(diào)度設(shè)備的系統(tǒng)的示例配置的示意圖。如圖1所示,根據(jù)本發(fā)明的作業(yè)調(diào)度設(shè)備連接到例如并行計(jì)算機(jī),并且指示并行 計(jì)算機(jī)執(zhí)行作業(yè)。并行計(jì)算機(jī)具有多個(gè)計(jì)算節(jié)點(diǎn),并且根據(jù)從作業(yè)調(diào)度設(shè)備接收的作業(yè)執(zhí) 行指示而在每個(gè)計(jì)算節(jié)點(diǎn)中執(zhí)行目標(biāo)作業(yè)。這里使用的并行計(jì)算機(jī)可以是例如緊耦合系 統(tǒng),諸如具有多個(gè)信息處理設(shè)備的系統(tǒng)、具有多個(gè)控制單元(系統(tǒng)板或服務(wù)器刀片)的信息 處理設(shè)備等,或者可以是其中多個(gè)信息處理設(shè)備連接到網(wǎng)絡(luò)的松耦合系統(tǒng)。此外,作業(yè)調(diào)度設(shè)備接收來自終端裝置諸如屬于多個(gè)用戶的個(gè)人計(jì)算機(jī)(PC)的 作業(yè)提交。在圖1中,示出了用戶A、用戶B、和用戶C作為多個(gè)用戶的示例。每個(gè)用戶使用 輸入設(shè)備諸如包括在PC中的鍵盤或鼠標(biāo)來輸入將由并行計(jì)算機(jī)執(zhí)行的作業(yè)。然后,根據(jù)來自作業(yè)調(diào)度設(shè)備的作業(yè)執(zhí)行指示,在每個(gè)計(jì)算節(jié)點(diǎn)中執(zhí)行作業(yè)之后, 并行計(jì)算機(jī)將消息(諸如關(guān)于作業(yè)執(zhí)行指令的響應(yīng)消息或包含作業(yè)完成或異常條件通知 的事件通知消息)傳送到作業(yè)調(diào)度設(shè)備。利用上述配置,作業(yè)調(diào)度設(shè)備為排隊(duì)作業(yè)保留用作計(jì)算資源(硬件資源)的子網(wǎng)。 具體地,作業(yè)調(diào)度設(shè)備首先創(chuàng)建空事件列表、為活動(dòng)作業(yè)添加子網(wǎng)釋放事件,然后從排隊(duì)作 業(yè)中按照優(yōu)先級的順序來保留子網(wǎng)。然后,作業(yè)調(diào)度設(shè)備在事件列表中掃描子網(wǎng)的保留。如果確定了用于保留子網(wǎng)的 坐標(biāo)和時(shí)間,那么作業(yè)調(diào)度設(shè)備將子網(wǎng)獲取事件和子網(wǎng)釋放事件添加到事件列表。子網(wǎng)獲 取事件包括例如指定用于分配排隊(duì)作業(yè)的位置和時(shí)間。子網(wǎng)釋放事件包括例如指定用于釋 放活動(dòng)作業(yè)的時(shí)間。作業(yè)調(diào)度設(shè)備通過重復(fù)地執(zhí)行以上處理來為所有排隊(duì)作業(yè)保留子網(wǎng)。在下面,將參考圖2描述排隊(duì)作業(yè)分配。圖2是解釋排隊(duì)作業(yè)分配的示意圖。頭定位指針“FP”、尾定位指針“RP”和覆蓋部分深度陣列“CDA”用于排隊(duì)作業(yè)分配。FP和RP是用于掃描事件列表的指針。如圖2所示,CDA通過重疊覆蓋部分來保持 用于確定子網(wǎng)分配的可用性的覆蓋部分。事件列表是以時(shí)間順序排序的。以這種方式執(zhí)行 掃描RP被給予高于FP的優(yōu)先級,BP, FP的事件時(shí)間被給予高于RP的事件時(shí)間的優(yōu)先級。在CDA中的每個(gè)元素中,如果在對應(yīng)于作為原點(diǎn)的元素的計(jì)算節(jié)點(diǎn)中執(zhí)行排隊(duì)作 業(yè),那么存儲(chǔ)干擾記錄在事件列表中的作業(yè)的作業(yè)號。當(dāng)作業(yè)調(diào)度設(shè)備使用FP來處理子網(wǎng) 獲取事件時(shí),作業(yè)調(diào)度設(shè)備在CDA上重疊對應(yīng)的覆蓋部分。當(dāng)作業(yè)調(diào)度設(shè)備使用RP來處理 子網(wǎng)獲取事件時(shí),它從CDA上消除對應(yīng)的覆蓋部分。簡而言之,利用CDA,檢查存儲(chǔ)在預(yù)定坐 標(biāo)中的作業(yè)號,如果排隊(duì)作業(yè)被分配到這些預(yù)定坐標(biāo),那么可以檢測該排隊(duì)作業(yè)是否干擾 在FP與RP之間出現(xiàn)的已分配的作業(yè)。在圖2中,CDA具有8X8子網(wǎng),并且四個(gè)作業(yè)被分配到子網(wǎng)。此外,圖2示出了 4X3作業(yè)被分配到CDA的情況。在圖2的左面部分,示出了四個(gè)作業(yè)被分配到子網(wǎng)的情況; 由于用于確定子網(wǎng)分配的可用性的覆蓋部分相互重疊,因此子網(wǎng)重疊。當(dāng)作業(yè)調(diào)度設(shè)備分配4X3作業(yè)時(shí),如在圖2的右面部分中的圖中那樣,基于8X8 網(wǎng)絡(luò)的尺寸限制,其中4X3子網(wǎng)不能被分配到計(jì)算節(jié)點(diǎn)的原點(diǎn)的每個(gè)計(jì)算節(jié)點(diǎn)被設(shè)置為 “拒絕組”。隨后,作業(yè)調(diào)度設(shè)備創(chuàng)建對應(yīng)于圖2的左面部分中示出的子網(wǎng)的覆蓋部分。如 由圖2中的虛線所表示,對應(yīng)于圖2的左面部分中示出的子網(wǎng)的覆蓋部分是矩形的。如果分配4X3子網(wǎng),那么覆蓋部分表示由與該4X3子網(wǎng)重疊的已分配的子網(wǎng)引 起的干擾區(qū)域。具體地,在8X8網(wǎng)絡(luò)的垂直軸和水平軸中,通過將已經(jīng)被分配的子網(wǎng)朝原 點(diǎn)的方向擴(kuò)展到(3,2)中來獲得每個(gè)矩形覆蓋部分,其對應(yīng)于通過從將被分配的4X3子網(wǎng) 減去一行和一列而獲得的區(qū)域。作為以該方式分配排隊(duì)作業(yè)的結(jié)果,具有值“0”的計(jì)算節(jié)點(diǎn)出現(xiàn)在CDA上。該計(jì) 算節(jié)點(diǎn)成為子網(wǎng)可以被分配到的原點(diǎn)。在圖2中,計(jì)算節(jié)點(diǎn)的坐標(biāo)(4,0)用于具有值“0” 的計(jì)算節(jié)點(diǎn)。簡而言之,在CDA上,作業(yè)調(diào)度設(shè)備將排隊(duì)作業(yè)分配到位于除拒絕組區(qū)域之外 的某處并且具有值“0”的計(jì)算節(jié)點(diǎn)。該具有值“0”的計(jì)算節(jié)點(diǎn)用作子網(wǎng)被分配到的原點(diǎn)。 作業(yè)調(diào)度設(shè)備通過執(zhí)行與排隊(duì)作業(yè)相同次數(shù)的上述處理來執(zhí)行排隊(duì)作業(yè)分配。當(dāng)作業(yè)調(diào)度設(shè)備在已經(jīng)安排了活動(dòng)作業(yè)的CDA上安排未被分配的排隊(duì)作業(yè)時(shí),作 業(yè)調(diào)度設(shè)備以使得可分配的子網(wǎng)的位置和時(shí)間重疊的方式安排可分配的子網(wǎng)。因此,可以 改善執(zhí)行作業(yè)的系統(tǒng)的有效率。作業(yè)調(diào)度設(shè)備的配置接下來,將參考圖3描述根據(jù)第一實(shí)施例的作業(yè)調(diào)度設(shè)備的配置。圖3是示出根 據(jù)第一實(shí)施例的作業(yè)調(diào)度設(shè)備的示例配置的框圖。如圖3所示,作業(yè)調(diào)度設(shè)備100包括輸入單元101、顯示單元102、存儲(chǔ)單元110、以 及控制單元120。作業(yè)調(diào)度設(shè)備100指示其連接的并行計(jì)算機(jī)執(zhí)行作業(yè)。并行計(jì)算機(jī)執(zhí)行 各種作業(yè)。此外,作業(yè)調(diào)度設(shè)備連接到例如多個(gè)PC并且從這些PC接收作業(yè)提交。輸入單元101具有例如鍵盤或鼠標(biāo),并且接收包含在作業(yè)調(diào)度設(shè)備100中的各種 信息。顯示單元102具有例如用作顯示單元的監(jiān)視器(或顯示器、觸摸屏等)或揚(yáng)聲器,并 且顯示及輸出包含在作業(yè)調(diào)度設(shè)備100中的各種信息。存儲(chǔ)單元110在其中存儲(chǔ)由控制單元120執(zhí)行的各種處理所需的數(shù)據(jù)、或者由控
6制單元120執(zhí)行的各種處理的結(jié)果。例如,存儲(chǔ)單元110在其中存儲(chǔ)活動(dòng)作業(yè)列表、排隊(duì)作 業(yè)列表、事件列表、以及CDA(見圖2)。如圖4所示,存儲(chǔ)在存儲(chǔ)單元110中的活動(dòng)作業(yè)列表具有例如關(guān)于并行計(jì)算機(jī)執(zhí) 行的作業(yè)的信息。該信息包括開始時(shí)間、坐標(biāo)、尺寸、執(zhí)行時(shí)間、用戶名等。開始時(shí)間表示關(guān)于由并行計(jì)算機(jī)執(zhí)行的作業(yè)的開始時(shí)間的信息。坐標(biāo)和尺寸表示 關(guān)于CDA中作業(yè)的原點(diǎn)和該作業(yè)的尺寸的信息。執(zhí)行時(shí)間表示關(guān)于用于執(zhí)行作業(yè)所花費(fèi)的 時(shí)間的信息。用戶名表示關(guān)于連接到作業(yè)調(diào)度設(shè)備的PC的用戶名的信息。圖4是示出活 動(dòng)作業(yè)列表的示例的表格。如圖5所示,排隊(duì)作業(yè)列表具有例如關(guān)于來自連接到作業(yè)調(diào)度設(shè)備100的PC的作 業(yè)提交的信息。該信息包括作業(yè)提交時(shí)間、優(yōu)先級、尺寸、執(zhí)行時(shí)間、用戶名等。作業(yè)提交時(shí)間表示關(guān)于從連接到作業(yè)調(diào)度設(shè)備100的PC接收的作業(yè)提交時(shí)間的 信息。優(yōu)先級表示關(guān)于將被執(zhí)行的作業(yè)的優(yōu)先級程度的信息;隨著值變得更大,優(yōu)先級的程 度越高。尺寸表示代表CDA中作業(yè)的幅度的信息。執(zhí)行時(shí)間表示關(guān)于用于執(zhí)行作業(yè)的時(shí)間 的信息。用戶名表示關(guān)于連接到作業(yè)調(diào)度設(shè)備100的PC的用戶名的信息。圖5是示出排 隊(duì)作業(yè)列表的示例的表格。如圖6所示,事件列表具有如下信息該信息包括例如有效作業(yè)和排隊(duì)作業(yè)的地 址、下一個(gè)地址、時(shí)間、類型、坐標(biāo)、尺寸等。事件列表是以時(shí)間順序排序的。地址包含用于識(shí)別事件的信息,下一個(gè)地址包含關(guān)于在在前的事件之后執(zhí)行的事 件的識(shí)別信息。時(shí)間表示關(guān)于執(zhí)行事件的時(shí)間的信息。類型是關(guān)于事件類型的信息,例如 “釋放”和“分配”。坐標(biāo)和尺寸是代表CDA中作業(yè)的原點(diǎn)和該作業(yè)的尺寸的信息。簡而言之,事件列表包括如下信息如果作業(yè)是活動(dòng)作業(yè),那么該信息是關(guān)于其類 型是“釋放”的事件的信息,以及如果作業(yè)是排隊(duì)作業(yè),那么該信息是關(guān)于其類型是“分配” 或“釋放”的事件的信息。例如,事件列表中其坐標(biāo)和尺寸都相同的信息代表單個(gè)作業(yè)的分 配事件和釋放事件。圖6是示出事件列表的示例的表格??刂茊卧?20具有控制程序和用于存儲(chǔ)規(guī)定各種過程的程序和必要的數(shù)據(jù)的內(nèi) 部存儲(chǔ)器。特別地,與本發(fā)明密切相關(guān),控制單元120包括消息傳輸/接收單元121、列表控 制單元122、作業(yè)分配控制單元123以及指針控制單元124。更具體地,控制單元120可以 通過允許用作計(jì)算處理單元的CPU(中央處理單元)起消息傳輸/接收單元121、列表控制 單元122、作業(yè)分配控制單元123、以及指針控制單元124的作用來實(shí)現(xiàn)以上控制。消息傳輸/接收單元121發(fā)送并接收與連接到作業(yè)調(diào)度設(shè)備100的并行計(jì)算機(jī)交 換的各種信息。例如,當(dāng)執(zhí)行稍后描述的由作業(yè)分配控制單元123分配的作業(yè)時(shí),消息傳輸 /接收單元121向并行計(jì)算機(jī)發(fā)送指示并行計(jì)算機(jī)開始執(zhí)行作業(yè)的消息。此外,消息傳輸/ 接收單元121接收表示作業(yè)執(zhí)行完成的消息,并且利用來自連接到作業(yè)調(diào)度設(shè)備100的并 行計(jì)算機(jī)的消息來通知列表控制單元122完成。稍后將描述列表控制單元122。列表控制單元122執(zhí)行存儲(chǔ)單元110中存儲(chǔ)的各種列表的控制。例如,列表控制 單元122接收來自連接到作業(yè)調(diào)度設(shè)備100的PC的作業(yè)提交,將所接收作業(yè)添加到排隊(duì)作 業(yè)列表,并且通知作業(yè)分配控制單元123和指針控制單元124作業(yè)被添加到排隊(duì)作業(yè)列表。此外,列表控制單元122根據(jù)來自消息傳輸/接收單元121的從并行計(jì)算機(jī)接收 的、表示作業(yè)執(zhí)行完成的消息而從活動(dòng)作業(yè)列表刪除目標(biāo)作業(yè),并且通知作業(yè)分配控制單
7元123和指針控制單元124已從活動(dòng)作業(yè)列表刪除作業(yè)。此外,列表控制單元122根據(jù)從 作業(yè)分配控制單元123或指針控制單元124接收的通知而創(chuàng)建并更新事件列表。通過更新CDA,作業(yè)分配控制單元123分配排隊(duì)作業(yè)列表上的排隊(duì)作業(yè)。例如,如 果作業(yè)分配控制單元123接收表示列表控制單元122添加排隊(duì)作業(yè)的通知,那么作業(yè)分配 控制單元123通過將它安排在CDA上來分配被添加和排隊(duì)的作業(yè)。然后,作業(yè)分配控制單 元123在與指針控制單元124協(xié)作的同時(shí),根據(jù)CDA上的排隊(duì)作業(yè)的安排而向列表控制單 元122傳送用于事件列表的更新請求。當(dāng)執(zhí)行被分配的作業(yè)時(shí),作業(yè)分配控制單元123還 指示消息傳輸/接收單元121向并行計(jì)算機(jī)傳送執(zhí)行所分配的作業(yè)的指示。指針控制單元124控制用于掃描事件列表的指針。例如,指針控制單元124使用 頭定位指針FP和尾定位指針RP來控制事件列表的掃描,其中,所述頭定位指針FP掃描子 網(wǎng)獲取事件,所述尾定位指針RP掃描子網(wǎng)釋放事件。分配排隊(duì)作業(yè)的處理接下來,將參考圖7描述根據(jù)第一實(shí)施例的用于分配排隊(duì)作業(yè)的處理的流程。圖7 是解釋根據(jù)第一實(shí)施例的用于分配排隊(duì)作業(yè)的處理的流程的流程圖。在下面描述中,假設(shè) 提前創(chuàng)建包含了關(guān)于活動(dòng)作業(yè)的釋放的信息的事件列表,并且假設(shè)事件列表是以時(shí)間順序 排序的。此外,下面處理是當(dāng)接收表示由連接到作業(yè)調(diào)度設(shè)備100的并行計(jì)算機(jī)執(zhí)行的作 業(yè)完成的消息時(shí)、或者當(dāng)由于來自連接到作業(yè)調(diào)度設(shè)備100的PC的作業(yè)提交而記錄排隊(duì)作 業(yè)時(shí),被執(zhí)行與排隊(duì)作業(yè)相同次數(shù)的處理。例如,如圖7所示,如果作業(yè)調(diào)度設(shè)備100接收表示由連接到作業(yè)調(diào)度設(shè)備100的 并行計(jì)算機(jī)執(zhí)行的作業(yè)完成的消息、或者當(dāng)由連接到作業(yè)調(diào)度設(shè)備100的PC執(zhí)行作業(yè)提交 時(shí),作業(yè)調(diào)度設(shè)備100將CDA清零(步驟S101)。然后,作業(yè)調(diào)度設(shè)備100將用于事件列表 上的作業(yè)的子網(wǎng)覆蓋部分添加到CDA(步驟S102)。如這里使用,術(shù)語“將覆蓋部分添加到 CDA”意味著子網(wǎng)相互重疊的程度,即,作業(yè)之間干擾的程度被表示為深度值。例如,如果兩 個(gè)子網(wǎng)此時(shí)相互重疊,那么設(shè)置值“2”,反之,如果安排了一個(gè)子網(wǎng),那么設(shè)置值“1”。隨后,作業(yè)調(diào)度設(shè)備100重設(shè)RP,以便指向事件列表的頂部(步驟S103)。此后, 作業(yè)調(diào)度設(shè)備100重設(shè)FP,以便指向事件列表中的第一個(gè)子網(wǎng)獲取事件(步驟S104)。然后,作業(yè)調(diào)度設(shè)備100確定FP是否到達(dá)事件列表的結(jié)尾(步驟S105)。如果FP 沒有到達(dá)事件列表的結(jié)尾(步驟S105處的“否”),那么作業(yè)調(diào)度設(shè)備100確定FP與RP之 間的事件時(shí)間差是否等于或大于排隊(duì)作業(yè)的分配時(shí)段(步驟S106)。如果FP與RP之間的事件時(shí)間差小于排隊(duì)作業(yè)的分配時(shí)段(步驟S106處的“否”), 那么作業(yè)調(diào)度設(shè)備100將FP所在的子網(wǎng)的覆蓋部分添加到CDA,作為用于FP所在的子網(wǎng)的 子網(wǎng)獲取事件的處理(步驟S107)。如這里使用,術(shù)語“將覆蓋部分添加到CDA”意味著值 “1”被加到此時(shí)由FP指向的子網(wǎng)的覆蓋部分的每個(gè)值。此后,作業(yè)調(diào)度設(shè)備100將FP的位置移到下一個(gè)子網(wǎng)獲取事件(步驟S108),并且 執(zhí)行步驟S105的處理。此外,如果FP到達(dá)事件列表的結(jié)尾(步驟S105處的“是”),或者 如果FP與RP之間的事件時(shí)間差等于或大于排隊(duì)作業(yè)的分配時(shí)段(步驟S106處的“是”), 那么作業(yè)調(diào)度設(shè)備100確定是否在CDA上出現(xiàn)零值元素(步驟S109)。然后,如果在CDA上沒有出現(xiàn)零值元素(步驟S109處的“否”),那么作業(yè)調(diào)度設(shè) 備100將RP的位置移到下一個(gè)子網(wǎng)釋放事件(步驟S110)。隨后,作業(yè)調(diào)度設(shè)備100從CDA減去RP所在的子網(wǎng)的覆蓋部分,作為用于RP所在的子網(wǎng)的子網(wǎng)釋放事件的處理(步驟 Sill).如這里使用,術(shù)語“從CDA減去覆蓋部分”意味著從此時(shí)由RP指向的子網(wǎng)的覆蓋部 分的每個(gè)值減去值“1”。然后,作業(yè)調(diào)度設(shè)備100確定FP與RP之間的時(shí)間差是否等于或大于排隊(duì)作業(yè)的 分配時(shí)段(步驟S112)。如果FP與RP之間的時(shí)間差小于排隊(duì)作業(yè)的分配時(shí)段(步驟S112 處的“否”),那么作業(yè)調(diào)度設(shè)備100執(zhí)行步驟S105的處理。如果FP與RP之間的時(shí)間差等 于或大于排隊(duì)作業(yè)的分配時(shí)段(步驟S112處的“是”),那么作業(yè)調(diào)度設(shè)備100執(zhí)行步驟 S109的處理。如果在步驟S109處在CDA上出現(xiàn)零值元素(步驟S109處的“是”),那么作業(yè)調(diào) 度設(shè)備100結(jié)束處理。作業(yè)調(diào)度設(shè)備100以與排隊(duì)作業(yè)相同的次數(shù)重復(fù)地執(zhí)行以上處理。在下面,將參考圖8到16描述根據(jù)圖7中示出的流程而執(zhí)行的分配排隊(duì)作業(yè)的具 體示例。圖8到12是示出根據(jù)排隊(duì)作業(yè)分配處理而處理的CDA的示例的示意圖。圖13是 示出作業(yè)分配時(shí)段的時(shí)序圖的示例的示意圖。圖14到16是示出根據(jù)排隊(duì)作業(yè)分配處理而 處理的事件列表的示例的表格。使用圖4中示出的活動(dòng)作業(yè)列表和圖5中示出的排隊(duì)作業(yè)列表,將描述創(chuàng)建事件 列表的同時(shí)而在CDA上安排排隊(duì)作業(yè)的示例。活動(dòng)作業(yè)的子網(wǎng)是在根據(jù)活動(dòng)作業(yè)列表的圖 8中示出的子網(wǎng)。在圖8中,標(biāo)號(1)到(3)被指定到每個(gè)對應(yīng)的網(wǎng)絡(luò)。例如,作業(yè)調(diào)度設(shè)備100根據(jù)活動(dòng)作業(yè)列表而創(chuàng)建事件列表(見圖14)。圖14中 示出的事件列表是以時(shí)間順序排序的。由于所有作業(yè)被執(zhí)行,因此在類型中僅記錄“釋放” 事件。在圖14中,分別對應(yīng)于CDA中網(wǎng)絡(luò)的標(biāo)號⑴到(3)(見圖8)分別被指定到對應(yīng)的 事件之一。隨后,作業(yè)調(diào)度設(shè)備100將CDA清零。然后,如圖9所示,當(dāng)作業(yè)調(diào)度設(shè)備100分 配排隊(duì)作業(yè)列表上的尺寸(8,3)的排隊(duì)作業(yè)時(shí),作業(yè)調(diào)度設(shè)備100將活動(dòng)作業(yè)的子網(wǎng)朝原 點(diǎn)的方向擴(kuò)展(7,2),并且將此時(shí)獲得的覆蓋部分添加到CDA。此后,作業(yè)調(diào)度設(shè)備100將RP重設(shè)為事件列表的頂端,并且將RP設(shè)置為 “81B40020h”。此外,作業(yè)調(diào)度設(shè)備100將FP重設(shè)為原始子網(wǎng)獲取事件,并且將FP設(shè)置為 “00000000h”。此時(shí),由于在事件列表上僅有活動(dòng)作業(yè),因此在事件列表上沒有子網(wǎng)獲取事 件。因此,當(dāng)使用FP重設(shè)子網(wǎng)獲取事件時(shí),F(xiàn)P被安排在表示事件列表上未分配的地址的 “OOOOOOOOh” 位置。在FP =“00000000h”的地址被安排在事件列表的結(jié)尾之后,作業(yè)調(diào)度設(shè)備100確 定是否在CDA上出現(xiàn)零值元素(見圖9)。由于在這種情況下在CDA上沒有出現(xiàn)零值元素, 因此作業(yè)調(diào)度設(shè)備100將RP移到下一個(gè)子網(wǎng)獲取事件,并且將RP設(shè)置為“81B40010h”。作業(yè)調(diào)度設(shè)備100從CDA減去對應(yīng)于RP的子網(wǎng)“(2) ”的覆蓋部分,作為用于在其 中RP被安排在“81B40010h”上的子網(wǎng)的子網(wǎng)釋放事件的處理(見圖10)。由于FP與RP之 間的時(shí)間差“12小時(shí)43分鐘”大于排隊(duì)作業(yè)的“四小時(shí)”的分配時(shí)段,因此作業(yè)調(diào)度設(shè)備 100確定是否在CDA上出現(xiàn)零值元素(見圖10)。然后,由于在CDA上的坐標(biāo)(0,0)處出現(xiàn)零值元素,因此作業(yè)調(diào)度設(shè)備100結(jié)束處 理。如圖11所示,如果假設(shè)以此方式分配的排隊(duì)作業(yè)是(4),那么排隊(duì)作業(yè)對應(yīng)于尺寸(8, 3)、其中坐標(biāo)(0,0)被設(shè)置為原點(diǎn)的子網(wǎng)(4)。此外,如圖15所示,當(dāng)排隊(duì)作業(yè)(4)被添加到事件列表時(shí),分配事件(4)和釋放事件(4)被插入到釋放事件(2)與(1)之間。作業(yè)調(diào)度設(shè)備100還通過執(zhí)行上述相同處理來將列出在排隊(duì)列表上的尺寸(5,3) 的排隊(duì)作業(yè)安排在CDA上。如圖12所示,如果假設(shè)尺寸(5,3)的排隊(duì)作業(yè)是(5),那么排隊(duì) 作業(yè)對應(yīng)于其中坐標(biāo)(3,5)被設(shè)置為原點(diǎn)的子網(wǎng)。如圖16所示,當(dāng)排隊(duì)作業(yè)(5)被添加到 事件列表時(shí),分配事件(5)被插入到釋放事件(3)與(2)之間,并且釋放事件(5)被插入到 釋放事件(1)之后。如上所述,根據(jù)圖13中示出的表示用于事件(1)到(5)的分配時(shí)段的時(shí)序圖,當(dāng) 釋放事件(3)完成時(shí)開始分配事件(5),并且當(dāng)釋放事件(2)完成時(shí)開始分配事件(4)。對 于排隊(duì)作業(yè)(4),在釋放事件(2)與釋放事件(1)之間執(zhí)行分配事件和釋放事件。在釋放事 件(1)之后執(zhí)行釋放事件(5)。第一實(shí)施例的優(yōu)點(diǎn) 如上所述,作業(yè)調(diào)度設(shè)備100通過使用CDA來重疊子網(wǎng)而安排子網(wǎng),其中,所述CDA 表示將被分配的作業(yè)之間的干擾程度;因此,作業(yè)調(diào)度設(shè)備100可以利用少量的計(jì)算工作 量來分配排隊(duì)作業(yè),因此改善執(zhí)行作業(yè)的系統(tǒng)的有效率。[b]第二實(shí)施例描述了本發(fā)明中公開的作業(yè)調(diào)度設(shè)備的實(shí)施例;然而,本發(fā)明不限于此,并且可以 利用各種實(shí)施例實(shí)現(xiàn)。因此,如下所述,將按下面內(nèi)容描述另一個(gè)實(shí)施例(1)限制由RP執(zhí) 行的掃描區(qū)域,⑵在CDA中存儲(chǔ)差值,(3)作業(yè)調(diào)度設(shè)備的配置,以及⑷程序。(1)限制由RP執(zhí)行的掃描區(qū)域在第一實(shí)施例中,描述了如下情況在其中,使用RP來執(zhí)行掃描,直到保留目標(biāo)作 業(yè)的子網(wǎng);然而,本發(fā)明不限于此。例如,通過使用RP來限制掃描區(qū)域,可以實(shí)現(xiàn)有效回填。例如,在圖7中的步驟SllO處,當(dāng)RP偏離掃描區(qū)域時(shí),作業(yè)調(diào)度設(shè)備100立即停 止搜索可分配的子網(wǎng),并且不為目標(biāo)作業(yè)保留子網(wǎng)。此外,關(guān)于使用RP的掃描,在圖7中的 步驟SllO處,作業(yè)調(diào)度設(shè)備100在不允許RP掃描的情況下可以停止搜索子網(wǎng);在這種情況 下執(zhí)行最有效的回填。(2)在⑶A中存儲(chǔ)差值在第一實(shí)施例中,描述了在CDA上執(zhí)行用于具有用作原點(diǎn)的計(jì)算節(jié)點(diǎn)的子網(wǎng)的子 網(wǎng)分配可用性的情況;然而,本發(fā)明不限于此。例如,可以通過在覆蓋部分的角落中的元素 中存儲(chǔ)差值來加速CDA的更新。將參考圖17描述在其中存儲(chǔ)差值的CDA。圖17是示出在其中存儲(chǔ)差值的CDA的 示例的示意圖。在下面,將描述如下情況在其中,固定了用于在CDA上搜索零值元素的搜 索順序。例如,在圖17的上面部分中示出的覆蓋部分中包括三個(gè)作業(yè)。如在圖17的中間部 分所示,當(dāng)更新用于三個(gè)作業(yè)覆蓋部分的所有元素時(shí),需要執(zhí)行總共14個(gè)加法以更新CDA。 如在圖17的下面部分所示,當(dāng)存儲(chǔ)差值時(shí),需要執(zhí)行五個(gè)更新,即,三個(gè)加法和兩個(gè)減法, 以更新CDA。當(dāng)存儲(chǔ)差值時(shí),依次在CDA上計(jì)算值,并且在計(jì)算之后,搜索包括零值結(jié)果的元素。(3)作業(yè)調(diào)度設(shè)備的配置此外,處理過程、控制過程、具體名稱以及包含在以上說明書中描述或在圖中示出的各種數(shù)據(jù)或參數(shù)(例如,包括在“事件列表”中的數(shù)據(jù)等)的信息都可以被任意改變,除 非有相反注釋。在圖中示出的每個(gè)裝置的組件僅用于概念地示出其功能,并且不一定被物理配置 為如圖中所示。換句話說,獨(dú)立或集成裝置的具體形狀不限于附圖;相反,根據(jù)各種負(fù)載或 使用條件,可以通過功能上或物理上分離或集成任意單元(例如,消息傳輸/接收單元121 被分離成消息傳輸單元和消息接收單元)來配置裝置的全部或部分。此外,由每個(gè)單元執(zhí) 行的處理功能的全部或任意部分可以由用作計(jì)算處理單元的CPU和由CPU分析并執(zhí)行的程 序?qū)崿F(xiàn)、或者通過布線邏輯實(shí)現(xiàn)為硬件。(4)程序在上述實(shí)施例中,敘述了由硬件邏輯實(shí)現(xiàn)各種處理的情況;然而,本發(fā)明不限于 此。例如,可以通過預(yù)先準(zhǔn)備的由計(jì)算機(jī)執(zhí)行的程序來實(shí)現(xiàn)各種處理。因此,將參考圖18 描述作為示例的執(zhí)行作業(yè)調(diào)度程序(具有與上述實(shí)施例中敘述的作業(yè)調(diào)度設(shè)備100執(zhí)行的 功能相同的功能)的計(jì)算機(jī)。圖18是示出執(zhí)行作業(yè)調(diào)度程序的計(jì)算機(jī)的框圖。如圖18所示,用作作業(yè)調(diào)度設(shè)備100的計(jì)算機(jī)11包括都經(jīng)由總線18連接的硬盤 驅(qū)動(dòng)器(HDD) 13、中央處理單元(CPU) 14、只讀存儲(chǔ)器(ROM) 15、隨機(jī)存取存儲(chǔ)器(RAM) 16等。ROM 15預(yù)先存儲(chǔ)展現(xiàn)與第一實(shí)施例中描述的作業(yè)調(diào)度設(shè)備100相同功能的作業(yè) 調(diào)度程序,即,如圖18所示,消息傳輸/接收程序15a、列表控制程序15b、作業(yè)分配控制程 序15c以及指針控制程序15d。這些程序15a到15d可以以與圖3中示出的作業(yè)調(diào)度設(shè)備 100的組件相同的方式被適當(dāng)?shù)丶苫蚍蛛x。如圖18所示,由于CPU 14從ROM 15讀取并執(zhí)行這些程序15a到15d,因此程序 15a到15d分別作用為消息傳輸/接收處理14a、列表控制處理14b、作業(yè)分配控制處理14c 以及指針控制處理14d。此外,處理14a到14d分別對應(yīng)于圖3中示出的消息傳輸/接收單 元121、列表控制單元122、作業(yè)分配控制單元123以及指針控制單元124。CPU 14根據(jù)存儲(chǔ)在RAM 16中的數(shù)據(jù)(例如,活動(dòng)作業(yè)列表、排隊(duì)作業(yè)列表、事件列 表、CDA等)執(zhí)行作業(yè)調(diào)度程序。上述程序15a到15d不一定從一開始被存儲(chǔ)在ROM 15中。例如,它們可以被存儲(chǔ) 在“便攜物理介質(zhì)”諸如可以被插入到計(jì)算機(jī)11的軟盤(FD)、致密盤只讀存儲(chǔ)器(⑶-ROM)、 磁光(MO)盤、數(shù)字多功能盤(DVD)、IC卡等;“固定物理介質(zhì)”諸如可以被布置在計(jì)算機(jī)11 內(nèi)部/外部的HDD ;以及經(jīng)由公共電路、因特網(wǎng)、LAN(局域網(wǎng))、WAN(廣域網(wǎng))等連接到計(jì) 算機(jī)11的“另一計(jì)算機(jī)系統(tǒng)”。計(jì)算機(jī)11然后從以上介質(zhì)讀取并執(zhí)行程序。根據(jù)本發(fā)明中公開的作業(yè)調(diào)度設(shè)備和作業(yè)調(diào)度方法的內(nèi)容,可以提高執(zhí)行作業(yè)的 系統(tǒng)的有效率。
1權(quán)利要求
一種向多個(gè)信息處理設(shè)備分配作業(yè)的作業(yè)調(diào)度方法,所述作業(yè)調(diào)度方法包括通過使用二維陣列來計(jì)算表示作業(yè)之間干擾程度的深度值,在所述二維陣列中以這種方式存儲(chǔ)了將被分配到所述多個(gè)信息處理設(shè)備的作業(yè)將被分配的作業(yè)被數(shù)字化和被轉(zhuǎn)換成與所述多個(gè)信息處理設(shè)備對應(yīng)的陣列元素,并且基于所述二維陣列中分配了作業(yè)的陣列元素中存儲(chǔ)的數(shù)值來執(zhí)行計(jì)算;基于通過深度值計(jì)算而計(jì)算出的深度值,在所述二維陣列中搜索與作業(yè)對應(yīng)的可以用于分配的陣列元素;以及如果存在通過搜索獲得的可以用于分配的陣列元素,那么通過將作業(yè)數(shù)字化和轉(zhuǎn)換成可以用于分配的陣列元素來安排作業(yè)。
2.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度方法,還包括使用掃描作業(yè)的分配事件的第一指針和掃描將被分配的作業(yè)的釋放事件的第二指針 來掃描包括關(guān)于分配事件和/或釋放事件的信息的事件列表;以及確定是否可以在所述第一指針和所述第二指針掃描所述事件列表的時(shí)段內(nèi)分配作業(yè)。
3.根據(jù)權(quán)利要求2所述的作業(yè)調(diào)度方法,其中,所述掃描包括基于所述第二指針而結(jié) 束所述事件列表的掃描。
4.根據(jù)權(quán)利要求1所述的作業(yè)調(diào)度方法,其中,所述計(jì)算包括針對深度值從陣列的一 端變化的元素計(jì)算差值。
5.一種用于向多個(gè)信息處理設(shè)備分配作業(yè)的作業(yè)調(diào)度設(shè)備(100),包括存儲(chǔ)單元(110),在其中存儲(chǔ)二維陣列,在所述二維陣列中以這種方式存儲(chǔ)將被分配到 所述多個(gè)信息處理設(shè)備的作業(yè)作業(yè)被數(shù)字化和被轉(zhuǎn)換成與所述多個(gè)信息處理設(shè)備對應(yīng)的 陣列元素;深度值計(jì)算單元,其使用存儲(chǔ)在所述存儲(chǔ)單元中的所述二維陣列,基于所述二維陣列 中被分配作業(yè)的陣列元素中存儲(chǔ)的數(shù)值來計(jì)算表示作業(yè)之間干擾程度的深度值;搜索單元,其基于所述深度值計(jì)算單元計(jì)算的深度值而在所述二維陣列中搜索與作業(yè) 對應(yīng)的可以用于分配的陣列元素;以及安排單元,如果存在由所述搜索單元獲得的可以用于分配的陣列元素,所述安排單元 通過數(shù)字化和轉(zhuǎn)換成可以用于分配的陣列元素來安排將被分配的作業(yè)。
全文摘要
作業(yè)調(diào)度設(shè)備和作業(yè)調(diào)度方法。當(dāng)分配未分配的排隊(duì)作業(yè)時(shí),通過使用具有分配了活動(dòng)作業(yè)的網(wǎng)狀結(jié)構(gòu)的CDA,作業(yè)調(diào)度設(shè)備(100)掃描包括關(guān)于作業(yè)的分配事件和釋放事件的信息的事件列表、確定被保留的對應(yīng)于排隊(duì)作業(yè)的子網(wǎng)處的坐標(biāo)和時(shí)間并且通過在CDA上重疊它們來安排子網(wǎng)。
文檔編號G06F9/50GK101923490SQ20101017847
公開日2010年12月22日 申請日期2010年5月13日 優(yōu)先權(quán)日2009年5月13日
發(fā)明者久門耕一, 住元真司, 安島雄一郎 申請人:富士通株式會(huì)社