專利名稱:改進計算機系統(tǒng)中的塊分配時間的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及計算機系統(tǒng)和開發(fā),并且更具體地說,涉及在超級計算機或分布式計算機系統(tǒng)中通過系統(tǒng)映像和數(shù)據(jù)文件預(yù)加載來改進塊分配時間。
背景技術(shù):
超級計算機持續(xù)被開發(fā)以處理復(fù)雜的計算作業(yè)。對于高性能計算(HPC)應(yīng)用(包括生命科學(xué)、金融建模、流體動力學(xué)、量子化學(xué)、分子動力學(xué)、天文學(xué)和空間研究以及氣候建模)來說,這些計算機對科學(xué)家尤其有用。針對日益復(fù)雜的計算需求,超級計算機開發(fā)者已將精力集中于大規(guī)模并行計算機結(jié)構(gòu)來解決此需求。國際商業(yè)機器公司(IBM)正在以BlueGene的名稱開發(fā)這種大規(guī)模并行計算機族。Blue Gene/L系統(tǒng)是一種可伸縮的系統(tǒng),其中當前計算節(jié)點的最大數(shù)目為65,536。Blue Gene/P系統(tǒng)是一種可伸縮的系統(tǒng),其中計算節(jié)點的最大設(shè)計數(shù)目為73,728。Blue Gene/P節(jié)點包括具有4個CPU以及存儲器的單個ASIC(專用集成電路)。完整的計算機將被容納在72個機架或機柜(其中每個都具有32個節(jié)點板)中。
在Blue Gene超級計算機以及其他超級計算機中,將計算節(jié)點布置在通過服務(wù)網(wǎng)絡(luò)與服務(wù)節(jié)點中的控制系統(tǒng)通信的計算和I/O節(jié)點的群集中。將一個或多個計算機硬件的群集分配到塊中以運行軟件應(yīng)用。所述計算和I/O節(jié)點具有用于其操作系統(tǒng)的易失性存儲器,每次為要運行的軟件應(yīng)用分配了硬件塊時,都必須通過所述服務(wù)網(wǎng)絡(luò)來加載所述操作系統(tǒng)。因為系統(tǒng)時間被用于將操作系統(tǒng)映像加載到硬件、使I/O節(jié)點和計算節(jié)點內(nèi)核完成其引導(dǎo)以及此后所有硬件向控制系統(tǒng)報告,所以這種塊分配的現(xiàn)有技術(shù)方法導(dǎo)致每個作業(yè)花費更長的時間運行。只有在完成此過程后,控制系統(tǒng)才可以開始將應(yīng)用或作業(yè)加載到塊以便執(zhí)行的過程。在Blue Gene之類的大規(guī)模并行超級計算機系統(tǒng)上,由于總體系統(tǒng)的高成本,系統(tǒng)的利用率很重要。因此,能夠通過降低塊分配時間來減少總體系統(tǒng)停機時間是有利的。
分布式計算機系統(tǒng)具有與大規(guī)模并行計算機系統(tǒng)類似的總體體系結(jié)構(gòu)。但是,分布式計算機具有若干可能不是同類的并且可能位于遠程的計算節(jié)點,而不是一組在單個位置中互連的可能相同的計算節(jié)點。分布式計算機系統(tǒng)可以具有與上面描述的問題類似的問題,這是因為直到計算實體具有用于完成指定任務(wù)所必需的系統(tǒng)和數(shù)據(jù)文件后,才能將工作分配給分布式計算節(jié)點或節(jié)點塊。
在沒有減少塊分配時間的方法的情況下,超級計算機和分布式計算機在繼續(xù)進行加載應(yīng)用的過程之前,將繼續(xù)需要等待將操作系統(tǒng)映像和數(shù)據(jù)文件加載到所有硬件塊中,由此浪費了潛在的計算機處理時間。
發(fā)明內(nèi)容
根據(jù)優(yōu)選實施例,提供了一種改進計算機系統(tǒng)中塊分配時間的方法和裝置。在優(yōu)選實施例中,所述并行計算機系統(tǒng)中的計算節(jié)點的每個塊都具有存儲的硬件狀態(tài)以指示該塊是否正在被預(yù)加載或已被預(yù)加載。在優(yōu)選實施例中,將所述硬件狀態(tài)存儲在計算機控制系統(tǒng)內(nèi)的數(shù)據(jù)庫中。此外,優(yōu)選實施例包括預(yù)加載控制器,所述預(yù)加載控制器根據(jù)預(yù)置參數(shù)和所述計算機系統(tǒng)的先前使用來確定何時預(yù)加載所述計算節(jié)點以及確定塊大小以分配所述節(jié)點。
根據(jù)Blue Gene體系結(jié)構(gòu)描述了并行計算機實施例,但是所述實施例可以在任何在網(wǎng)絡(luò)結(jié)構(gòu)中布置了多個處理器的并行計算機系統(tǒng)上實現(xiàn)。優(yōu)選實施例對大規(guī)模并行計算機系統(tǒng)尤為有利。使用分布式計算機系統(tǒng)體系結(jié)構(gòu)描述了其他實施例。
如附圖中示出的,從以下對本發(fā)明的優(yōu)選實施例的更具體的描述,本發(fā)明的上述以及其他特征和優(yōu)點將是顯而易見的。
下面將結(jié)合附圖描述本發(fā)明的優(yōu)選實施例,其中相同的標記表示相同的部件,這些附圖是圖1是根據(jù)優(yōu)選實施例的大規(guī)模并行計算機系統(tǒng)的框圖;圖2是根據(jù)優(yōu)選實施例的大規(guī)模并行計算機系統(tǒng)的另一個系統(tǒng)框圖;圖3是根據(jù)優(yōu)選實施例的大規(guī)模并行計算機系統(tǒng)中的硬件狀態(tài)寄存器的框圖;圖4是根據(jù)優(yōu)選實施例的大規(guī)模并行計算機系統(tǒng)中與預(yù)加載控制器關(guān)聯(lián)的侵占設(shè)置(aggressiveness settings)的框圖;圖5是根據(jù)優(yōu)選實施例的分布式計算機系統(tǒng)的系統(tǒng)框圖;圖6是根據(jù)優(yōu)選實施例的用于改進塊分配時間的方法流程圖;以及圖7是根據(jù)優(yōu)選實施例的用于改進塊分配時間的另一個方法流程圖。
具體實施例方式
本發(fā)明涉及一種用于改進并行或分布式計算機系統(tǒng)中的塊分配時間的方法和裝置。預(yù)計到來自用戶應(yīng)用的需求,預(yù)加載控制器預(yù)加載計算機群集中的硬件塊。在優(yōu)選實施例中,根據(jù)預(yù)置參數(shù)和計算機系統(tǒng)的先前使用,所述預(yù)加載控制器確定何時預(yù)加載計算節(jié)點以及確定塊大小以分配節(jié)點。此外,在優(yōu)選實施例中,所述并行計算機系統(tǒng)中的計算節(jié)點的每個塊都具有存儲的硬件狀態(tài)以指示該塊是否正在被預(yù)加載或已被預(yù)加載。在優(yōu)選實施例中,將所述硬件狀態(tài)存儲在連接到計算機控制系統(tǒng)的數(shù)據(jù)庫中。將根據(jù)由國際商業(yè)機器公司(IBM)開發(fā)的Blue Gene/P大規(guī)模并行計算機系統(tǒng)來描述所述優(yōu)選實施例。文中所用的術(shù)語“大規(guī)模并行”意味著不只是并行計算機系統(tǒng)中的少量處理器。
圖1示出了代表諸如Blue Gene/P計算機系統(tǒng)的大規(guī)模并行計算機系統(tǒng)100的框圖。Blue Gene/P系統(tǒng)是一種可伸縮的系統(tǒng),其中計算節(jié)點的最大數(shù)目為73728。每個節(jié)點110都包括具有4個CPU以及在節(jié)點子卡114上的存儲器的單個專用集成電路(ASIC)112。每個節(jié)點110通常具有512兆字節(jié)的本地存儲器。節(jié)點板120容納有32個節(jié)點子卡114,每個節(jié)點子卡114都具有節(jié)點110。因而,每個節(jié)點板具有32個節(jié)點,具有用于每個節(jié)點的4個處理器以及用于每個處理器的關(guān)聯(lián)存儲器。機架130是包含32個節(jié)點板120的外殼。完整的Blue Gene/P計算機系統(tǒng)將被容納在72個機架130或機柜中,每個機架或機柜中具有32個節(jié)點板120。完整的系統(tǒng)于是有294,912個CPU(72個機架×32個節(jié)點板×32個節(jié)點×4個CPU)。如文中所使用的,術(shù)語計算節(jié)點指具有一個或多個CPU的計算資源,并且它不限于所描述的實施例的體系結(jié)構(gòu)。
再次參考圖1,計算機系統(tǒng)100包括處理使用軟件加載節(jié)點以及控制整個系統(tǒng)的運行的服務(wù)節(jié)點140。服務(wù)節(jié)點140通常是包括控制臺(未示出)的小型計算機系統(tǒng)。使用控制系統(tǒng)網(wǎng)絡(luò)150將服務(wù)節(jié)點140連接到計算節(jié)點的機架130。服務(wù)節(jié)點140包括在下面進一步描述的根據(jù)優(yōu)選實施例的預(yù)加載控制器142??刂葡到y(tǒng)網(wǎng)絡(luò)150包括各種為大規(guī)模并行計算機系統(tǒng)提供必要的通信的網(wǎng)絡(luò)。將在以下進一步描述網(wǎng)絡(luò)接口。
Blue Gene/P超級計算機通過若干通信網(wǎng)絡(luò)來通信。位于某些節(jié)點板120上的I/O處理器處理在這些網(wǎng)絡(luò)上的從服務(wù)節(jié)點140到多個節(jié)點的通信。73,728個計算節(jié)點和1024個I/O處理器被布置成邏輯樹狀網(wǎng)絡(luò)和邏輯三維環(huán)面網(wǎng)絡(luò)。所述環(huán)面網(wǎng)絡(luò)以網(wǎng)格狀結(jié)構(gòu)邏輯地連接計算節(jié)點,該結(jié)構(gòu)允許每個計算節(jié)點110與其最接近的6個鄰節(jié)點通信。此外,Blue Gene/P計算機系統(tǒng)結(jié)構(gòu)可以被描述為具有I/O節(jié)點表面的計算節(jié)點核心,其中由具有連接到服務(wù)節(jié)點140的I/O處理器170的每個I/O節(jié)點來處理到1024個計算節(jié)點110的通信。所述I/O節(jié)點沒有本地存儲。所述I/O節(jié)點通過樹狀網(wǎng)絡(luò)連接到計算節(jié)點,并且通過千兆位以太網(wǎng)還具有實用的廣域網(wǎng)能力。
圖2示出了代表查看Blue Gene/P計算機系統(tǒng)的系統(tǒng)體系結(jié)構(gòu)的另一種方式以說明優(yōu)選實施例的更多細節(jié)的另一個框圖。圖2包括作為與計算機系統(tǒng)100的控制系統(tǒng)212相連的計算核心210的計算機系統(tǒng)100的所有計算節(jié)點110的表示。如以上參考圖1簡要說明的,計算核心210在控制系統(tǒng)網(wǎng)絡(luò)150上與控制系統(tǒng)212的服務(wù)節(jié)點140通信。通過經(jīng)由JTAG網(wǎng)絡(luò)219連接到各I/O節(jié)點216和計算節(jié)點110的硬件控制器270,計算核心210被連接到控制系統(tǒng)網(wǎng)絡(luò)150。硬件控制器270位于機架130(圖1)中,并且為控制系統(tǒng)212提供接口以配置計算節(jié)點110并將數(shù)據(jù)加載到計算節(jié)點的存儲器中。在Blue Gene/L計算機系統(tǒng)中,硬件控制器270被稱為AIDochip。
進而,如圖2所示,計算核心210還通過功能網(wǎng)絡(luò)240與文件服務(wù)器220和前端節(jié)點230通信。文件服務(wù)器220存儲用于用戶應(yīng)用和系統(tǒng)映像的數(shù)據(jù)。前端節(jié)點230保存用于用戶與計算機網(wǎng)絡(luò)100交互的編譯器和程序。控制系統(tǒng)212包括稱為ADB2”250的連接到前端節(jié)點230和服務(wù)節(jié)點140的數(shù)據(jù)庫。DB2保存由服務(wù)節(jié)點140內(nèi)的中間背板管理和控制系統(tǒng)(MMCS)144使用的塊表和其他硬件信息。MMCS144負責(zé)控制在計算核心210中分配硬件。在優(yōu)選實施例中,MMCS144包括如下面進一步描述的使用系統(tǒng)和數(shù)據(jù)文件預(yù)加載計算節(jié)點的預(yù)加載控制器142。在優(yōu)選實施例中,預(yù)加載控制器142包括同樣在下面描述的侵占設(shè)置146。在文中的優(yōu)選實施例中,DB2 250保存如下面進一步描述的計算節(jié)點110的塊的硬件狀態(tài)252??刂葡到y(tǒng)212也被連接到功能網(wǎng)絡(luò)240。在優(yōu)選實施例中,此連接允許控制系統(tǒng)檢測硬件塊在如下所述被加載了系統(tǒng)映像和數(shù)據(jù)文件后何時完成引導(dǎo)過程??刂葡到y(tǒng)212還包括由系統(tǒng)管理員使用的控制臺260。
再次參考圖2,計算核心210示出了容納在機架130(圖1)中的計算節(jié)點110。計算節(jié)點被分組成通過表示示出的1024個處理器組(Pset),其中明確示出了Pset0 213a和Pset1023 213b,并且隱含其余的Pset(Pset1到Pset1022)。Pset是一組64個節(jié)點,它們被一起分組到集合中以便與I/O節(jié)點216通信。I/O節(jié)點216在功能網(wǎng)絡(luò)和其他網(wǎng)絡(luò)上提供了到處理器組中的計算節(jié)點110的通信。在Blue Gene/P系統(tǒng)中,I/O節(jié)點216與8和128之間的計算節(jié)點110(由節(jié)點0和節(jié)點63表示)通信。如所示出的和以上簡要描述的,節(jié)點110通過樹狀網(wǎng)絡(luò)214連接。
再次參考圖2,每個計算節(jié)點110包括存儲在計算節(jié)點110的本地存儲器中的系統(tǒng)映像和數(shù)據(jù)文件218。系統(tǒng)映像文件包括諸如操作系統(tǒng)內(nèi)核之類的系統(tǒng)文件。具有操作系統(tǒng)內(nèi)核的系統(tǒng)映像文件218被存儲在計算節(jié)點的易失性存儲器中,并且在可以使用計算節(jié)點之前,系統(tǒng)映像文件218必須被加載所需的軟件并被分配到塊中。在優(yōu)選實施例中,如下面進一步描述的,預(yù)加載所述操作系統(tǒng)內(nèi)核以改進超級計算機中的塊分配時間。
在Blue Gene/P超級計算機中,每個機架被分為兩個具有服務(wù)卡的中間背板,所述服務(wù)卡提供從服務(wù)節(jié)點140到各中間背板的通信。所述中間背板各自具有機架32個節(jié)點板120中的一半。在Blue Gene/P計算機系統(tǒng)中,中間背板是計算節(jié)點和I/O節(jié)點群集的基本粒度大小。當硬件(一個或多個中間背板)的群集被一起使用以運行軟件應(yīng)用時,它就被稱為塊。因而,硬件的一個或多個中間背板可以被分配給塊。
當用戶建立在計算機系統(tǒng)上運行的應(yīng)用時,做出對服務(wù)節(jié)點140的請求以將計算機硬件的群集分配成塊以運行軟件應(yīng)用。由于計算和I/O節(jié)點具有用于其操作系統(tǒng)的易失性存儲器,所以在能夠運行應(yīng)用之前,所述節(jié)點必須被加載合適的軟件以及分配的硬件。在現(xiàn)有技術(shù)的方法中,在應(yīng)用的請求之后完成塊分配。相比之下,在優(yōu)選實施例中,由位于服務(wù)節(jié)點140中的預(yù)加載控制器在應(yīng)用的請求之前使用系統(tǒng)軟件來預(yù)加載塊。進而,在優(yōu)選實施例中,將新的硬件狀態(tài)指派給計算節(jié)點110和I/O節(jié)點216的塊。硬件狀態(tài)252被存儲在DB2 250中。現(xiàn)有技術(shù)的硬件包括狀態(tài)用于空閑的或可用的“F”或用于丟失的“M”以及用于已初始化的“I”。
圖3示出了根據(jù)優(yōu)選實施例的硬件狀態(tài)。存儲在DB2表中的硬件狀態(tài)252包括現(xiàn)有技術(shù)狀態(tài)F310、M312和I318,還包括狀態(tài)加載(狀態(tài)L314)和預(yù)加載(狀態(tài)P316)。將新的狀態(tài)L和P指派給任何處于加載過程中或已被成功地預(yù)加載的硬件。通過在計算節(jié)點110中預(yù)加載系統(tǒng)軟件,控制系統(tǒng)使用這些新的狀態(tài)來更有效地運行作業(yè)。在現(xiàn)有技術(shù)中,當硬件已經(jīng)被加載并且被分配給用戶后,其被更改為“I”狀態(tài)318以等待用戶請求。相比之下,在優(yōu)選實施例中,預(yù)加載硬件并將其設(shè)置為“P”狀態(tài)316,然后當將塊分配給用戶時,硬件狀態(tài)被更改為“I”狀態(tài)318。
在優(yōu)選實施例中,計算機100的預(yù)加載控制器監(jiān)視預(yù)加載計算機資源或硬件的時機。預(yù)加載控制器周期性地搜索系統(tǒng)以查找計算機資源或硬件,例如當前可用并且當前沒有與塊關(guān)聯(lián)的計算節(jié)點。當找到空閑資源時,預(yù)加載控制器檢查施加到計算機系統(tǒng)上的當前工作負荷,并且檢查運行作業(yè)的請求的最近的級別。這些變量用于為控制系統(tǒng)確定預(yù)加載任何空閑資源或硬件的最佳時間,以便能夠在下一用戶請求其他塊之前加載所述資源或硬件,但又不太會減緩正在運行的其他作業(yè)的進度。當預(yù)加載了計算機資源或硬件時,在DB2 250中更改硬件狀態(tài)252并將其置于硬件池中。所述硬件池可以被看作具有預(yù)加載的硬件狀態(tài)252的資源或硬件的集合。文中所使用的計算機資源指物理硬件或虛擬硬件。
在優(yōu)選實施例中,用戶可以調(diào)整預(yù)加載控制器用于預(yù)加載硬件的侵占級別。圖4示出了若干與預(yù)加載控制器142關(guān)聯(lián)的侵占設(shè)置146的實例。這些設(shè)置由系統(tǒng)管理員通過服務(wù)節(jié)點140(圖1)來建立。頻率侵占設(shè)置410設(shè)置了調(diào)用預(yù)加載控制器以查找可用硬件之間的頻率或時間。最小/最大塊大小侵占設(shè)置412設(shè)置了預(yù)加載控制器分配和加載到預(yù)加載硬件池中的最小和最大塊大小。如下所述,最小/最大塊大小侵占設(shè)置412將取代由預(yù)加載控制器確定的歷史塊大小。分配的塊的最大數(shù)目414設(shè)置了在預(yù)加載控制器停止嘗試分配塊之前分配給硬件池的塊的最大數(shù)目。在周期中最多分配的塊416設(shè)置了單次調(diào)用預(yù)加載控制器時分配的塊的最大數(shù)目,以便控制預(yù)加載控制器施加于系統(tǒng)的負荷量。池中塊的最小數(shù)目418設(shè)置了預(yù)加載塊的池中期望的塊的最小(目標)數(shù)目。如果所述池低于設(shè)置值,會導(dǎo)致預(yù)加載控制器更頻繁地搜索空閑硬件。
在優(yōu)選實施例中,預(yù)加載控制器根據(jù)先前的需求確定可能被重復(fù)請求的硬件塊,以便自動地調(diào)整硬件的預(yù)加載配置和可選性。例如,如果用戶在過去頻繁地請求128節(jié)點的塊,則一組512個空閑計算節(jié)點將被預(yù)加載為4個128節(jié)點的塊,盡管在該大小的塊被更頻繁地請求的系統(tǒng)上它會被加載為一個512節(jié)點的塊。相應(yīng)地標記處于加載過程中的硬件,并且在加載過程完成后,將所述硬件標記為成功地預(yù)加載。對于成功地預(yù)加載的硬件,將控制連接暫時指派給控制系統(tǒng)以防止其他用戶接管所述硬件。
圖5示出了根據(jù)文中優(yōu)選實施例的分布式計算機系統(tǒng)500的系統(tǒng)框圖。在一個特定的分布式計算環(huán)境中,將一組位于遠程的計算機組合在一起,以便以與以上在Blue Gene計算機實例中描述的方式類似的方式共同工作。在分布式計算機系統(tǒng)中,各計算節(jié)點的距離更加遙遠并且可能不具有相同的性質(zhì)(因為分布式計算機可以為不同的類型)。但是,體系結(jié)構(gòu)與所描述的Blue Gene實例相當類似。在分布式計算機系統(tǒng)中,存在多個計算機,所述計算機包括由控制系統(tǒng)控制并且由網(wǎng)絡(luò)互連的計算節(jié)點。所述分布式計算機系統(tǒng)同樣地可以得益于具有包括預(yù)加載控制器的控制系統(tǒng),所述預(yù)加載控制器在資源請求之前使用系統(tǒng)映像和/或數(shù)據(jù)文件預(yù)加載可用的硬件。在所述分布式計算機系統(tǒng)中,系統(tǒng)映像文件和數(shù)據(jù)文件可以不同,以說明在分布式計算機系統(tǒng)中不同的計算機平臺中的差異。
再次參考圖5,示出了根據(jù)文中的優(yōu)選實施例的分布式控制系統(tǒng)500。分布式計算機系統(tǒng)500包括通過網(wǎng)絡(luò)530連接到多個計算節(jié)點520a、520b的控制系統(tǒng)510。計算節(jié)點520a、520b代表多個可以在分布式計算機500中互連的各種類型的計算機。計算節(jié)點520a、520b各自具有CPU 521a、521b,本地存儲器522a、522b以及存儲裝置523a、523b。網(wǎng)絡(luò)530可以是用于分布式計算機系統(tǒng)的任何類型的網(wǎng)絡(luò)??刂葡到y(tǒng)510可以集中位于分布式計算機系統(tǒng)500的單個計算機中,或者所述控制系統(tǒng)也可以分布于多個計算機(未示出)上??刂葡到y(tǒng)510具有多個請求訪問計算機資源的客戶機511??蛻魴C511包括可以位于本地的或分布式的軟件應(yīng)用(未示出)。
再次參考圖5,控制系統(tǒng)510包括控制到計算節(jié)點的工作流以便為來自客戶機511的請求服務(wù)的分布式系統(tǒng)控制器512。根據(jù)優(yōu)選實施例的分布式系統(tǒng)控制器的運行類似于現(xiàn)有技術(shù)的分布式系統(tǒng)控制器,但是包括如以上參考并行計算機系統(tǒng)描述的那樣運行的預(yù)加載控制器513。預(yù)加載控制器513包括如以上參考圖4描述的侵占設(shè)置514??刂葡到y(tǒng)510包括用于存儲計算節(jié)點520a、520b的狀態(tài)516的存儲裝置515。與塊不太可能包括單個節(jié)點的并行計算機系統(tǒng)相比,在分布式計算機實施例中,預(yù)加載控制器可以將單個節(jié)點分配到塊中,以便為塊存儲的狀態(tài)516可以包括單個節(jié)點。在多數(shù)方面,涉及分布式計算機系統(tǒng)的實施例以與以上參考并行計算機系統(tǒng)實施例描述的方式相同的方式運行。
圖6示出了根據(jù)文中的實施例的用于改進大規(guī)模并行計算機系統(tǒng)中的塊分配時間的方法600。在優(yōu)選實施例中,由MMCS144控制系統(tǒng)軟件在周期性的基礎(chǔ)上啟動方法600的步驟序列以便執(zhí)行如所描述的任務(wù)。預(yù)加載控制器監(jiān)視諸如塊大小之類的系統(tǒng)使用率并存儲此歷史數(shù)據(jù)(步驟610)。預(yù)計到用戶對硬件的請求,預(yù)加載控制器還周期性地搜索可用于預(yù)加載的空閑硬件(步驟620)。檢查找到的空閑硬件以判定其是否具有與用戶硬件請求的歷史需求和/或侵占設(shè)置(圖4中的146)相一致的可以被分配的足夠大小(步驟630)。如果空閑硬件與對硬件的歷史需求或侵占設(shè)置不一致(步驟630=否),則所述方法結(jié)束直到下一周期的循環(huán)。如果空閑硬件與對硬件的歷史需求和/或侵占設(shè)置一致(步驟630=是),則預(yù)加載所述空閑硬件(步驟640),并且將預(yù)加載的硬件置于預(yù)加載硬件池中以滿足將來用戶對硬件的請求(步驟650)。
圖7示出了根據(jù)文中的實施例的用于改進大規(guī)模并行計算機系統(tǒng)中的塊分配時間的另一方法700。在優(yōu)選實施例中,啟動方法700的步驟序列以響應(yīng)來自用戶應(yīng)用的對硬件塊的請求。響應(yīng)于此請求,啟動預(yù)加載控制器以檢查預(yù)加載硬件池(步驟710)。如果存在合適的預(yù)加載硬件的塊(步驟720=是),則預(yù)加載控制器將可用的預(yù)加載硬件塊指派給發(fā)出請求的用戶應(yīng)用(步驟730),然后所述方法結(jié)束。如果不存在合適的預(yù)加載硬件的塊(步驟720=否),則預(yù)加載控制器搜索合適的硬件的塊(步驟740)。如果不存在合適的可用于用戶應(yīng)用的請求的硬件(步驟750=否),則將無硬件可用的錯誤返回用戶應(yīng)用(步驟760)并且所述方法結(jié)束。如果存在合適的可用于用戶應(yīng)用的請求的硬件(步驟750=是),則使用系統(tǒng)映像加載合適塊大小的硬件并且將塊指派給發(fā)出請求的用戶應(yīng)用(步驟770)。所述方法然后結(jié)束。
如上所述,諸實施例提供了一種用于改進大規(guī)模并行超級計算機系統(tǒng)中的塊分配時間的方法和裝置。通過提供具有預(yù)加載硬件的動態(tài)能力的預(yù)加載控制器,文中的實施例可以顯著地減少停機時間量以便提高計算機系統(tǒng)的效率。在計算和I/O節(jié)點的塊變得可用并且控制系統(tǒng)資源允許時分配所述計算和I/O節(jié)點的塊。當接收到來自用戶應(yīng)用的請求時,硬件于是可以被動態(tài)地關(guān)聯(lián)為滿足用戶的硬件需求的塊。從用戶的角度來看,當請求運行作業(yè)時所察覺的僅有延遲是將預(yù)加載硬件收集成塊、將該塊與用戶關(guān)聯(lián)以及提交所請求的作業(yè)所需的時間。與需要在請求硬件后加載并引導(dǎo)操作系統(tǒng)映像的現(xiàn)有技術(shù)系統(tǒng)相比,此簡單的過程將花費少得多的時間。
本領(lǐng)域的技術(shù)人員將理解,在本發(fā)明的范圍內(nèi)許多變型都是可能的。因此,雖然參考本發(fā)明的優(yōu)選實施例具體示出和描述了本發(fā)明,但是本領(lǐng)域的技術(shù)人員將理解,可以在不偏離本發(fā)明的精神和范圍的情況下做出這些以及其他形式和細節(jié)上的更改。
權(quán)利要求
1.一種計算機系統(tǒng),所述計算機系統(tǒng)包括多個計算節(jié)點,所述計算節(jié)點被分配到計算資源塊中,其中所述多個計算節(jié)點中的每個計算節(jié)點都包括用于保存系統(tǒng)映像文件的易失性存儲器;控制系統(tǒng),所述控制系統(tǒng)通過網(wǎng)絡(luò)連接到所述計算節(jié)點并管理將相應(yīng)的系統(tǒng)映像文件加載到所述多個計算節(jié)點中;以及預(yù)加載控制器,所述預(yù)加載控制器在對所述計算資源塊的請求之前將所述相應(yīng)的系統(tǒng)映像文件加載到所述多個計算節(jié)點中的每個計算節(jié)點中。
2.根據(jù)權(quán)利要求1所述的計算機系統(tǒng),其中在對所述計算資源塊的請求之前,所述預(yù)加載控制器還將數(shù)據(jù)文件加載到所述多個計算節(jié)點中。
3.根據(jù)權(quán)利要求1所述的計算機系統(tǒng),還包括為每個計算資源塊存儲的硬件狀態(tài),以便指示所述相應(yīng)的計算資源塊是當前正在被預(yù)加載還是已被預(yù)加載。
4.根據(jù)權(quán)利要求3所述的計算機系統(tǒng),其中所述硬件狀態(tài)包括從以下項中選擇的狀態(tài)正在加載和已預(yù)加載。
5.根據(jù)權(quán)利要求1所述的計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)來自在所述計算機系統(tǒng)上運行的應(yīng)用的硬件請求的先前歷史來分配可用的硬件塊和預(yù)加載所述系統(tǒng)映像文件。
6.根據(jù)權(quán)利要求1所述的計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)在所述計算機系統(tǒng)上運行的用戶應(yīng)用的硬件使用的先前歷史來分配可用的硬件塊和預(yù)加載系統(tǒng)映像。
7.根據(jù)權(quán)利要求1所述的計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)所述計算機系統(tǒng)的系統(tǒng)管理員設(shè)置的侵占設(shè)置來分配可用的硬件塊和預(yù)加載系統(tǒng)映像文件。
8.一種大規(guī)模并行計算機系統(tǒng),所述并行計算機系統(tǒng)包括多個計算節(jié)點,所述計算節(jié)點被分配到計算資源塊中以供用戶應(yīng)用使用,其中所述多個計算節(jié)點包括用于保存系統(tǒng)映像文件的易失性存儲器;服務(wù)節(jié)點,所述服務(wù)節(jié)點通過控制系統(tǒng)網(wǎng)絡(luò)連接到所述計算節(jié)點并管理將所述系統(tǒng)映像文件加載到所述計算節(jié)點中;為每個計算資源塊存儲的硬件狀態(tài),以便指示相應(yīng)的計算資源塊是當前正在被預(yù)加載還是已被預(yù)加載;以及預(yù)加載控制器,所述預(yù)加載控制器在所述用戶應(yīng)用對所述計算資源塊的請求之前將所述系統(tǒng)映像文件加載到所述計算節(jié)點中。
9.根據(jù)權(quán)利要求8所述的并行計算機系統(tǒng),其中在對所述計算資源塊的請求之前,所述預(yù)加載控制器還將數(shù)據(jù)文件加載到所述多個計算節(jié)點中。
10.根據(jù)權(quán)利要求8所述的并行計算機系統(tǒng),其中所述硬件狀態(tài)包括從以下項中選擇的狀態(tài)正在加載和已預(yù)加載。
11.根據(jù)權(quán)利要求8所述的并行計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)在所述計算機系統(tǒng)上運行的應(yīng)用的硬件使用的先前歷史來分配可用的硬件塊和預(yù)加載系統(tǒng)映像文件。
12.根據(jù)權(quán)利要求8所述的并行計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)所述計算機系統(tǒng)的系統(tǒng)管理員設(shè)置的侵占設(shè)置來分配可用的硬件塊和預(yù)加載系統(tǒng)映像文件。
13.根據(jù)權(quán)利要求12所述的并行計算機系統(tǒng),其中從以下項中選擇所述侵占設(shè)置搜索可用硬件的頻率、最小和最大的塊大小、分配的塊的最大數(shù)目、在周期中分配的塊的最大數(shù)目,以及池中塊的最小期望數(shù)目。
14.一種分布式計算機系統(tǒng),所述分布式計算機系統(tǒng)包括多個計算節(jié)點,所述計算節(jié)點被分配到計算資源塊中,其中所述多個計算節(jié)點包括用于保存系統(tǒng)和數(shù)據(jù)文件的存儲器;控制系統(tǒng),所述控制系統(tǒng)通過網(wǎng)絡(luò)連接到所述計算節(jié)點并管理將所述系統(tǒng)和數(shù)據(jù)文件加載到所述計算節(jié)點中;以及預(yù)加載控制器,所述預(yù)加載控制器在對所述計算資源塊的請求之前將所述系統(tǒng)和數(shù)據(jù)文件加載到所述計算節(jié)點中。
15.根據(jù)權(quán)利要求14所述的分布式計算機系統(tǒng),其中在對所述計算資源塊的請求之前,所述預(yù)加載控制器還將數(shù)據(jù)文件加載到所述多個計算節(jié)點中。
16.根據(jù)權(quán)利要求14所述的分布式計算機系統(tǒng),還包括為每個計算資源塊存儲的硬件狀態(tài),以便指示所述相應(yīng)的計算資源塊是當前正在被預(yù)加載還是已被預(yù)加載。
17.根據(jù)權(quán)利要求16所述的分布式計算機系統(tǒng),其中所述硬件狀態(tài)包括從以下項中選擇的狀態(tài)正在加載和已預(yù)加載。
18.根據(jù)權(quán)利要求14所述的分布式計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)來自在所述計算機系統(tǒng)上運行的應(yīng)用的硬件請求的先前歷史來分配可用的硬件塊和預(yù)加載所述系統(tǒng)映像文件。
19.根據(jù)權(quán)利要求14所述的分布式計算機系統(tǒng),其中所述預(yù)加載控制器根據(jù)在所述計算機系統(tǒng)上運行的用戶應(yīng)用的硬件使用的先前歷史來分配可用的硬件塊和預(yù)加載系統(tǒng)映像。
20.一種用于在計算機系統(tǒng)中分配資源塊的計算機實現(xiàn)的方法,所述方法包括以下步驟搜索所述計算機系統(tǒng)的空閑資源;使用系統(tǒng)映像和數(shù)據(jù)文件預(yù)加載所述空閑資源;以及將所述預(yù)加載的資源置于預(yù)加載資源池中。
21.根據(jù)權(quán)利要求20所述的計算機實現(xiàn)的方法,還包括以下步驟監(jiān)視系統(tǒng)資源的使用;以及記錄硬件的使用以產(chǎn)生歷史資源需求的模式。
22.根據(jù)權(quán)利要求21所述的計算機實現(xiàn)的方法,其中根據(jù)所述歷史資源需求的模式來完成所述預(yù)加載所述空閑資源的步驟。
23.根據(jù)權(quán)利要求20所述的計算機實現(xiàn)的方法,還包括將所述預(yù)加載的資源置于所述預(yù)加載資源池內(nèi)的塊中的步驟。
24.根據(jù)權(quán)利要求23所述的計算機實現(xiàn)的方法,還包括將來自所述預(yù)加載資源池的預(yù)加載資源的塊指派給發(fā)出請求的用戶應(yīng)用。
25.根據(jù)權(quán)利要求21所述的計算機實現(xiàn)的方法,其中根據(jù)系統(tǒng)管理員設(shè)置的侵占設(shè)置來完成所述預(yù)加載所述空閑資源的步驟。
26.根據(jù)權(quán)利要求25所述的計算機實現(xiàn)的方法,其中從以下項中選擇所述侵占設(shè)置搜索可用硬件的頻率、最小和最大的塊大小、分配的塊的最大數(shù)目、在周期中分配的塊的最大數(shù)目,以及池中塊的最小期望數(shù)目。
全文摘要
本發(fā)明提供了一種改進并行計算機系統(tǒng)中的塊分配時間的方法和裝置。預(yù)計到來自用戶應(yīng)用的需求,預(yù)加載控制器預(yù)加載超級計算機群集中的硬件的塊。在優(yōu)選實施例中,根據(jù)預(yù)置參數(shù)和所述計算機系統(tǒng)的先前使用,所述預(yù)加載控制器確定何時預(yù)加載計算節(jié)點以及確定分配節(jié)點的塊大小。進而,在優(yōu)選實施例中,所述并行計算機系統(tǒng)中的計算節(jié)點的每個塊都具有存儲的硬件狀態(tài)以指示該塊是否正在被預(yù)加載或已被預(yù)加載。在優(yōu)選實施例中,將所述硬件狀態(tài)存儲在連接到計算機的控制系統(tǒng)的數(shù)據(jù)庫中。在其他實施例中,所述計算節(jié)點是分布式計算機系統(tǒng)中的遠程計算機。
文檔編號G06F9/445GK1987794SQ20061013931
公開日2007年6月27日 申請日期2006年9月22日 優(yōu)先權(quán)日2005年12月22日
發(fā)明者J·S·布賴恩特, D·P·科爾茲, D·J·帕特爾 申請人:國際商業(yè)機器公司