專(zhuān)利名稱(chēng):利用加速器的、目標(biāo)指向的工作負(fù)載性能管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及工作負(fù)載管理的領(lǐng)域,并且更具體而言,涉及利用硬件加速器
管理工作負(fù)載。
背景技術(shù):
諸如Intel 、AMD 以及ibmPOWER z類(lèi)的通用處理器均被設(shè)計(jì)成支持
廣泛的工作負(fù)載。如果需要超過(guò)現(xiàn)有能力的處理能力,則硬件加速器可能會(huì)被附接至計(jì)算 機(jī)系統(tǒng),以滿足特定應(yīng)用的需求。硬件加速器也可用于應(yīng)對(duì)性能瓶頸。這些加速器被視為可以由系統(tǒng)利用的計(jì)算資源。硬件加速器的示例包括現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、IBM CellB. E. (Broad Engine (寬帶引擎))處理器以及圖形處理單元(GPU)。加速器針對(duì)其特定任務(wù)具有比系統(tǒng)的通用處理器更好的價(jià)格/性能點(diǎn)。硬件加速器諸如會(huì)通過(guò)PCI-express I/O插槽或使用高速網(wǎng)絡(luò)(諸如以太網(wǎng)絡(luò)及Infiniband )被直接附接至處理器復(fù)合體或者嵌套(processor complex or nest)。常規(guī)的工作負(fù)載管理系統(tǒng)會(huì)將指派給特定主機(jī)系統(tǒng)的加速器資源在該主機(jī)上執(zhí)行的工作之間分配。然而,一般而言,這些常規(guī)的工作負(fù)載管理系統(tǒng)并未有效并高效地利用被指派給多個(gè)系統(tǒng)的可用加速器資源。
發(fā)明內(nèi)容
因此,本發(fā)明在第一方面提供一種動(dòng)態(tài)管理加速器資源的方法,該計(jì)算機(jī)實(shí)現(xiàn)的方法包括如下步驟將硬件加速器資源的第一集合初始地指派給第一信息處理系統(tǒng),并且將硬件加速器資源的第二集合初始地指派給第二信息處理系統(tǒng);由至少ー個(gè)處理器監(jiān)視在第一信息處理系統(tǒng)和第二信息處理系統(tǒng)上運(yùn)行的多個(gè)工作;以及當(dāng)工作之一無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的第二集合中的至少ー個(gè)硬件加速器資源從第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給第一信息處理系統(tǒng)。優(yōu)選地,監(jiān)視步驟包括分析與工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息。優(yōu)選地,當(dāng)與ー個(gè)工作相關(guān)聯(lián)的優(yōu)先級(jí)在閾值之上時(shí)執(zhí)行動(dòng)態(tài)地重新指派的步驟。優(yōu)選地,監(jiān)視步驟包括如下子步驟分析與工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息;以及確定重新指派一個(gè)或多個(gè)硬件加速器資源給第一信息處理系統(tǒng)是否將會(huì)提高ー個(gè)工作滿足目標(biāo)的可能性。優(yōu)選地,如果可能性在閾值之上,則執(zhí)行該動(dòng)態(tài)地重新指派的步驟。優(yōu)選地,監(jiān)視步驟包括如下子步驟將如果ー個(gè)或多個(gè)硬件加速器資源被重新指派給該第一信息處理系統(tǒng)則由第一信息處理系統(tǒng)將獲得的值、與如果ー個(gè)或多個(gè)硬件加速器資源被重新指派給第一信息處理系統(tǒng)則由第二信息處理系統(tǒng)將失去的值進(jìn)行比較;以及如果第一信息處理系統(tǒng)將獲得的值高于第二信息處理系統(tǒng)將失去的值,則執(zhí)行動(dòng)態(tài)地重新指派的步驟。優(yōu)選地,動(dòng)態(tài)地重新指派的步驟包括如下子步驟指示第二信息處理系統(tǒng)停止發(fā)出新工作給至少一個(gè)硬件加速器資源;以及確定由第二信息處理系統(tǒng)送至至少ー個(gè)硬件加速器資源的所有工作何時(shí)完成。在第二方面,提供一種動(dòng)態(tài)地管理加速器資源的信息處理系統(tǒng),該信息處理系統(tǒng)包括存儲(chǔ)器;通信地耦合至該存儲(chǔ)器的處理器;指派管理器,通信地耦合至存儲(chǔ)器和處理器,該指派管理器被配置成將硬件加速器資源的第一集合指派給第一信息處理系統(tǒng),并將硬件加速器資源的第二集合指派給第二信息處理系統(tǒng)。監(jiān)視在第一信息處理系統(tǒng)與第二信息處理系統(tǒng)上運(yùn)行的多個(gè)工作。當(dāng)工作之一無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的第二集合中的至少ー個(gè)硬件加速器資源從第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給第一信息處理系統(tǒng)。優(yōu)選地,監(jiān)視多個(gè)工作包括分析與工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息。優(yōu)選地,當(dāng)與ー個(gè)工作相關(guān)聯(lián)的優(yōu)先級(jí)在閾值之上時(shí)執(zhí)行動(dòng)態(tài)地重新指派。優(yōu)選地,監(jiān)視多個(gè)工作包括分析與工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息;以及確定重新指派一個(gè)或多個(gè)硬件加速器資源給第一信息處理系統(tǒng)是否會(huì)提高ー個(gè)工作滿足目標(biāo)的可能性。優(yōu)選地,如果可能性在閾值之上,則執(zhí)行該動(dòng)態(tài)地重新指派的步驟。優(yōu)選地,監(jiān)視多個(gè)工作包括將如果一個(gè)或多個(gè)硬件加速器資源被重新指派給該第一信息處理系統(tǒng)則由第一信息處理系統(tǒng)將獲得的值、與如果ー個(gè)或多個(gè)硬件加速器資源被重新指派給第一信息處理系統(tǒng)則由第二信息處理系統(tǒng)將失去的值進(jìn)行比較,其中如果第一信息處理系統(tǒng)將獲得的值高于第二信息處理系統(tǒng)將失去的值,則執(zhí)行動(dòng)態(tài)地重新指派。優(yōu)選地,動(dòng)態(tài)地重新指派包括 指示第二信息處理系統(tǒng)停止發(fā)出新工作給至少一個(gè)硬件加速器資源;以及確定由第二信息處理系統(tǒng)發(fā)出至至少ー個(gè)硬件加速器資源的所有工作何時(shí)完成。在第三方面,提供了存儲(chǔ)在包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,當(dāng)該計(jì)算機(jī)程序代碼被加載進(jìn)如計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行吋,使得該計(jì)算機(jī)系統(tǒng)執(zhí)行第一方面的方法的所有步驟。第一方面的方法的優(yōu)選特征具有對(duì)應(yīng)的優(yōu)選的計(jì)算機(jī)程序代碼特征。本發(fā)明的一個(gè)實(shí)施例提供了一種用于動(dòng)態(tài)地管理加速器資源的計(jì)算機(jī)實(shí)現(xiàn)的方法。根據(jù)該方法,將硬件加速器資源的第一集合初始地指派給第一信息處理系統(tǒng),并且將硬件加速器資源的第二集合初始地指派給第二信息處理系統(tǒng)。由至少ー個(gè)處理器監(jiān)視在第一信息處理系統(tǒng)和第二信息處理系統(tǒng)上運(yùn)行的工作。當(dāng)工作之一無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的第二集合中的至少ー個(gè)硬件加速器資源從第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給第一信息處理系統(tǒng)。本發(fā)明的另ー實(shí)施例提供了用于動(dòng)態(tài)地管理加速器資源的信息處理系統(tǒng)。該信息處理系統(tǒng)包括存儲(chǔ)器和通信地耦合至存儲(chǔ)器的處理器。該信息處理系統(tǒng)還包括通信地耦合至存儲(chǔ)器和處理器的指派管理器。該指派管理器被配置成初始地將硬件加速器資源的第一集合指派給第一信息處理系統(tǒng),并且將硬件加速器資源的第二集合指派給第二信息處理系統(tǒng)。監(jiān)視在第一信息處理系統(tǒng)和第二信息處理系統(tǒng)上運(yùn)行的工作。當(dāng)工作之一無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的第二集合中的至少ー個(gè)硬件加速器資源從第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給第一信息處理系統(tǒng)。
下面將僅通過(guò)示例的方式參考所附附圖描述本發(fā)明的一些優(yōu)選實(shí)施例,其中圖I為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的操作環(huán)境的方塊圖;圖2為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例初始指派加速器資源給主機(jī)系統(tǒng)的方塊圖3為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)態(tài)重新指派加速器資源給主機(jī)系統(tǒng)的方塊圖;圖4至圖6為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例動(dòng)態(tài)管理加速器資源的方法的操作流程圖;圖7為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的信息處理系統(tǒng)的方塊圖;以及圖8示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的、在服務(wù)類(lèi)中的工作等待使用加速器的時(shí)間和被指派給主機(jī)系統(tǒng)的加速器數(shù)量之間的關(guān)系。
具體實(shí)施例方式操作環(huán)境
圖I顯示了可應(yīng)用于本發(fā)明的一些實(shí)施例的示例性操作環(huán)境。圖I的示例性環(huán)境100在SMP計(jì)算環(huán)境中操作的并行分布式處理系統(tǒng)。在SMP計(jì)算環(huán)境中,并行應(yīng)用可以具有在相同處理節(jié)點(diǎn)上多個(gè)處理器上執(zhí)行的若干工作(處理)。雖然圖I的示例性環(huán)境是SMP環(huán)境,但是本發(fā)明并不受限于此。也可以應(yīng)用其他架構(gòu),并且本發(fā)明的一些實(shí)施例在單個(gè)系統(tǒng)內(nèi)操作。圖I顯示了多個(gè)主機(jī)系統(tǒng)102、104和106。每個(gè)主機(jī)系統(tǒng)102、104和106具有一個(gè)或多個(gè)工作負(fù)載108、110以及112,每個(gè)工作負(fù)載都包括待執(zhí)行的ー個(gè)或多個(gè)工作114、116和118。每個(gè)主機(jī)系統(tǒng)102、104和106還具有加速器指派信息119,加速器指派信息119標(biāo)識(shí)當(dāng)前指派給主機(jī)系統(tǒng)的硬件加速器。每個(gè)主機(jī)系統(tǒng)102、104和106通信地耦合至諸如以太網(wǎng)絡(luò)或Inflniband 之類(lèi)的互連結(jié)構(gòu)(interconnect fabric) 120。多個(gè)硬件加速器122、124和126還被通信地耦合至互連結(jié)構(gòu)120。每個(gè)硬件加速器122、124和126都是特殊用途硬件組件或裝置,其能夠以?xún)?yōu)化的性能(與通用處理器相比)執(zhí)行有限的特定功能集合。主機(jī)系統(tǒng)102、104和106中的ー個(gè)或多個(gè)利用加速器122、124和126中的一個(gè)或多個(gè)來(lái)執(zhí)行其工作負(fù)載中的至少一部分。圖I還顯示了具有指派管理器130的信息處理系統(tǒng)128。指派管理器130動(dòng)態(tài)指派ー個(gè)或多個(gè)加速器122、124和126給主機(jī)系統(tǒng)102、104和106?;谠诟鱾€(gè)主機(jī)上運(yùn)行的服務(wù)類(lèi)/工作的性能與重要性,加速器的該動(dòng)態(tài)重新指派可以允許加速器被指派給各種主機(jī)。如果主機(jī)運(yùn)行未滿足其性能目標(biāo)的高優(yōu)先級(jí)工作,則指派管理器可以從正在運(yùn)行較低優(yōu)先級(jí)工作或未受到動(dòng)態(tài)重新指派影響的工作的其他主機(jī),來(lái)動(dòng)態(tài)重新指派加速器資源。這種基于工作負(fù)載來(lái)平衡加速器資源的能力允許實(shí)現(xiàn)較高的總體利用率。此外,在加速器資源受制約的情況中,可以?xún)?yōu)先處理最重要的工作。指派管理器130包括工作監(jiān)視器132、工作分類(lèi)器134、主機(jī)查詢(xún)模塊136、加速器指派器138以及初始指派配置數(shù)據(jù)140。信息處理系統(tǒng)128還包括工作統(tǒng)計(jì)數(shù)據(jù)142、工作分類(lèi)信息144、以及服務(wù)類(lèi)信息146。在又一些實(shí)施例中,指派管理器130可以會(huì)駐留在主機(jī)系統(tǒng)的ー個(gè)或多個(gè)上。加速器資源的動(dòng)態(tài)重新分配在示出的實(shí)施例中,指派管理器130的工作分類(lèi)器134分析駐留在主機(jī)系統(tǒng)102、104和106處的工作114、116和118中的每個(gè),并且將每個(gè)工作分類(lèi)為特定類(lèi)型的工作,其被稱(chēng)為“服務(wù)類(lèi)”。每個(gè)服務(wù)類(lèi)具有相關(guān)聯(lián)的目標(biāo)與優(yōu)先級(jí)。例如,目標(biāo)可以是對(duì)對(duì)象的響應(yīng)時(shí)間,諸如“在五秒內(nèi)完成”。在該實(shí)施例中,服務(wù)類(lèi)的目標(biāo)與重要性系由管理者來(lái)設(shè)定。該信息被儲(chǔ)存在服務(wù)類(lèi)信息146內(nèi)。工作分類(lèi)器134分析工作的屬性(諸如工作名稱(chēng)、提交該工作的用戶(hù)的用戶(hù)身分以及類(lèi)似屬性),并且基于工作屬性和服務(wù)類(lèi)信息146來(lái)標(biāo)識(shí)該工作落入哪個(gè)服務(wù)類(lèi)。在一個(gè)備選實(shí)施例中,工作分類(lèi)器134使用與工作相關(guān)聯(lián)的統(tǒng)計(jì)信息142來(lái)確定哪個(gè)服務(wù)類(lèi)與該工作相關(guān)聯(lián)。還可以基于其他相關(guān)聯(lián)的屬性將工作分類(lèi)進(jìn)服務(wù)類(lèi)。在所示的實(shí)施例中,指派管理器基于初始指派配置數(shù)據(jù)140將加速器122、124和126指派給主機(jī)系統(tǒng)102、104和106。在該實(shí)施例中,初始指派配置數(shù)據(jù)140是預(yù)定義的加速器分配,該加速器分配告知主機(jī)系統(tǒng)哪些加速器已經(jīng)被分配給該特定系統(tǒng)。如圖2的示例中所示,加速器W 122被初始地指派給主機(jī)系統(tǒng)A 102,加速器X124被初始地指派給主機(jī)系統(tǒng)B 104,而加速器Y被指派給主機(jī)系統(tǒng)N 106。在指派管理器130將加速器指派給主機(jī)系統(tǒng)之后,該主機(jī)系統(tǒng)可以將其工作負(fù)載的一部分傳送給所指派的加速器。在該實(shí)施例中,指派管理器的工作監(jiān)視器132監(jiān)視每個(gè)工作負(fù)載108、110、112中的每個(gè)工作114、116和118以確定工作統(tǒng)計(jì)數(shù)據(jù)142。工作監(jiān)視 器132監(jiān)視如下統(tǒng)計(jì)數(shù)據(jù)諸如工作在該加速器處的執(zhí)行時(shí)間、由工作正在使用的加速器的數(shù)量、工作在被加速器執(zhí)行之前在該加速器的隊(duì)列中保留時(shí)間等等。該信息被儲(chǔ)存為エ作統(tǒng)計(jì)信息142。在工作分類(lèi)器134使用統(tǒng)計(jì)信息將工作指派至服務(wù)類(lèi)的實(shí)施例中,工作分類(lèi)器134使用工作統(tǒng)計(jì)信息142來(lái)確定與工作相關(guān)聯(lián)的服務(wù)類(lèi)。在一個(gè)示例中,如果工作花五秒完成并使用兩個(gè)加速器,則工作分類(lèi)器134將服務(wù)類(lèi)和實(shí)質(zhì)上匹配這些統(tǒng)計(jì)數(shù)據(jù)的工作產(chǎn)生關(guān)聯(lián)并且將該分類(lèi)結(jié)果儲(chǔ)存在工作分類(lèi)信息144中??梢灶A(yù)定義服務(wù)類(lèi)的優(yōu)先級(jí),但這并非必要。在一個(gè)示例中,工作監(jiān)視器132監(jiān)視如下參數(shù)諸如留在加速器隊(duì)列內(nèi)的每個(gè)工作等待被的時(shí)間、加速器完成工作所花費(fèi)的時(shí)間、工作使用的加速器的數(shù)量等等。接著,工作監(jiān)視器132基干與該統(tǒng)計(jì)信息確定與工作相關(guān)聯(lián)的服務(wù)類(lèi)的平均值。接著,指派管理器能夠基于與給定服務(wù)類(lèi)的工作相關(guān)聯(lián)的平均值,確定針對(duì)該給定服務(wù)類(lèi)的完成目標(biāo)、隊(duì)列時(shí)間平均值等等。在一個(gè)示例中,如果由加速器完成給定服務(wù)類(lèi)的所有工作的平均時(shí)間為五秒,則這被設(shè)為該服務(wù)類(lèi)的性能目標(biāo)。在ー個(gè)備選實(shí)施例中,每個(gè)主機(jī)系統(tǒng)都監(jiān)視自己的工作并記錄統(tǒng)計(jì)信息,而不是使得指派管理器130執(zhí)行這些操作。接著,在必要時(shí)將該信息傳送至指派管理器130。指派管理器130使用和服務(wù)類(lèi)相關(guān)聯(lián)的信息(例如,目標(biāo)與優(yōu)先級(jí))來(lái)確定如何動(dòng)態(tài)指派加速器給主機(jī)系統(tǒng)。在工作已指派給服務(wù)類(lèi)之后并且當(dāng)每個(gè)主機(jī)系統(tǒng)傳送工作給它的(多個(gè))已指派加速器時(shí),工作監(jiān)視器132監(jiān)視每個(gè)工作以確保服務(wù)類(lèi)滿足它們的目標(biāo)。例如,針對(duì)服務(wù)類(lèi)中的每個(gè)工作從運(yùn)行的工作收集統(tǒng)計(jì)數(shù)據(jù)(例如,工作統(tǒng)計(jì)信息142)并且聚合。利用該經(jīng)聚合的性能數(shù)據(jù),服務(wù)類(lèi)的性能為可以被確定為被指派給服務(wù)類(lèi)的所有工作的平均值。エ作監(jiān)視器132標(biāo)識(shí)服務(wù)類(lèi)的(多個(gè))目標(biāo)。在一個(gè)示例中,這些目標(biāo)與以下項(xiàng)有關(guān)加速器隊(duì)列時(shí)間、執(zhí)行時(shí)間等等。指派管理器130基于經(jīng)聚合的統(tǒng)計(jì)信息來(lái)確定該服務(wù)類(lèi)是否未實(shí)現(xiàn)其(多個(gè))目標(biāo)。例如,服務(wù)類(lèi)具有如下目標(biāo)指定該服務(wù)類(lèi)中的工作應(yīng)該有10秒的平均響應(yīng)時(shí)間。如果服務(wù)類(lèi)中有3項(xiàng)工作的響應(yīng)時(shí)間為5秒、10秒以及30秒,則平均響應(yīng)時(shí)間是15秒,因而該服務(wù)類(lèi)無(wú)法滿足它的目標(biāo)。指派管理器130基于該信息來(lái)確定是否動(dòng)態(tài)改變發(fā)出無(wú)法實(shí)現(xiàn)其目標(biāo)的服務(wù)類(lèi)的工作的主機(jī)系統(tǒng)的加速器指派配置。在該實(shí)施例中,指派管理器130在確定何時(shí)應(yīng)該添加附加加速器資源時(shí)確定服務(wù)類(lèi)的優(yōu)先級(jí)。例如,每個(gè)服務(wù)類(lèi)(及其工作)均具有優(yōu)先級(jí)。如果服務(wù)類(lèi)的優(yōu)先級(jí)在閾值之上,則指派管理器130可以決定動(dòng)態(tài)重新指派加速器資源。如果優(yōu)先級(jí)在給定閾值之下,則指派管理器130決定不必動(dòng)態(tài)重新指派加速器資源。在一些實(shí)施例中,服務(wù)類(lèi)不具有優(yōu)先級(jí)。當(dāng)確定是否向給定主機(jī)動(dòng)態(tài)重新指派附加加速器時(shí),指派管理器130確定該重新指派對(duì)該主機(jī)造成的影響。指派管理器130使用與服務(wù)類(lèi)的(多個(gè))工作相關(guān)聯(lián)的統(tǒng)計(jì)信 息142,以確定增加附加加速器是否確保實(shí)現(xiàn)與該服務(wù)類(lèi)相關(guān)聯(lián)的目標(biāo)。在一個(gè)示例中,指派管理器130監(jiān)視主機(jī)系統(tǒng)中ー個(gè)或多個(gè)服務(wù)類(lèi)的工作,以標(biāo)識(shí)服務(wù)類(lèi)中每個(gè)工作的隊(duì)列時(shí)間、執(zhí)行時(shí)間、平均時(shí)間等等,并且將該信息聚合在工作的服務(wù)類(lèi)中。使用該信息以基于這些統(tǒng)計(jì)數(shù)據(jù)來(lái)估計(jì)添加附加加速器的影響。例如,指派管理器130使用針對(duì)服務(wù)類(lèi)所收集的數(shù)據(jù)(即,工作統(tǒng)計(jì)信息142,諸如指示加速器的工作用途的服務(wù)類(lèi)中每個(gè)工作的隊(duì)列時(shí)間、執(zhí)行時(shí)間、平均時(shí)間等等),并為每個(gè)服務(wù)類(lèi)生成曲線圖,諸如圖8中所示的示例性曲線圖800。該曲線圖的X軸顯示指派給主機(jī)系統(tǒng)的加速器的數(shù)量,而y軸顯示服務(wù)類(lèi)中的工作在針對(duì)加速器的隊(duì)列中的時(shí)間。利用此信息,指派管理器130能夠得知服務(wù)類(lèi)的工作使用加速器的等待時(shí)間和被指派給主機(jī)系統(tǒng)的加速器數(shù)量之間的關(guān)系。根據(jù)諸如圖8中所示的隊(duì)列模型,指派管理器130可以預(yù)計(jì)在執(zhí)行加速器的動(dòng)態(tài)分配的情形下對(duì)服務(wù)類(lèi)的平均響應(yīng)時(shí)間的影響。如果向主機(jī)系統(tǒng)添加更多加速器,則工作在隊(duì)列中等待的時(shí)間會(huì)縮短。如果從主機(jī)系統(tǒng)取走加速器,則工作在隊(duì)列中等待的時(shí)間會(huì)增加。服務(wù)類(lèi)中的工作在隊(duì)列中平均等待的時(shí)間變化會(huì)直接影響服務(wù)類(lèi)的平均響應(yīng)時(shí)間。在另ー實(shí)施例中,主機(jī)系統(tǒng)本身而非指派管理器130執(zhí)行該估計(jì)。在該實(shí)施例中,如果主機(jī)系統(tǒng)確定可從被指派的附加加速器處獲益,則主機(jī)系統(tǒng)向指派管理器130請(qǐng)求附加的加速器資源。如果指派管理器確定通過(guò)指派一個(gè)或多個(gè)附加加速器給給定主機(jī)系統(tǒng)可以獲益(或者如果指派管理器從主機(jī)系統(tǒng)處收到附加加速器資源的請(qǐng)求),則指派管理器130繼而確定動(dòng)態(tài)重新指派附加加速器資源給給定主機(jī)系統(tǒng)對(duì)其他主機(jī)系統(tǒng)的影響。在一個(gè)示例中,如果指派管理器130(或給定主機(jī)系統(tǒng))確定未能實(shí)現(xiàn)其目標(biāo)的服務(wù)類(lèi)的平均排隊(duì)等待時(shí)間會(huì)因動(dòng)態(tài)重新指派一個(gè)或多個(gè)附加加速器資源而縮短(以至于導(dǎo)致較快的完成時(shí)間),則指派管理器130確定該加速器指派對(duì)其他主機(jī)系統(tǒng)的影響。因?yàn)閯?dòng)態(tài)重新指派附加加速器資源給給定主機(jī)系統(tǒng)使得當(dāng)前指派給其他主機(jī)系統(tǒng)的加速器資源被動(dòng)態(tài)重新指派給給定主機(jī)系統(tǒng),所以會(huì)對(duì)其他主機(jī)系統(tǒng)有影響。在該實(shí)施例中,指派管理器130通過(guò)分析與ー個(gè)或多個(gè)服務(wù)類(lèi)/主機(jī)系統(tǒng)相關(guān)聯(lián)的曲線圖800,來(lái)估計(jì)從其他系統(tǒng)處解除分配ー個(gè)或多個(gè)加速器資源對(duì)它們的工作負(fù)載有何影響。指派管理器130分析該曲線圖以確定從主機(jī)系統(tǒng)處解除分配加速器資源并將該資源分配給另一系統(tǒng)對(duì)這兩個(gè)主機(jī)系統(tǒng)有何影響。在主機(jī)系統(tǒng)為其工作/服務(wù)類(lèi)維持其自身統(tǒng)計(jì)信息的實(shí)施例中,指派管理器130經(jīng)由主機(jī)查詢(xún)模塊136來(lái)查詢(xún)其他主機(jī)系統(tǒng)。該查詢(xún)請(qǐng)求來(lái)自其他主機(jī)系統(tǒng)中的每ー個(gè)的影響估計(jì)。當(dāng)主機(jī)系統(tǒng)從該指派管理器處收到該查詢(xún)時(shí),主機(jī)系統(tǒng)執(zhí)行影響估計(jì)。在ー個(gè)示例中,主機(jī)系統(tǒng)中的每個(gè)都分析其與工作相關(guān)聯(lián)的統(tǒng)計(jì)信息142,以確定解除分配ー個(gè)或多個(gè)加速器資源對(duì)其工作負(fù)載有何影響。統(tǒng)計(jì)信息可以包括排隊(duì)等待時(shí)間、執(zhí)行時(shí)間、正被使用的加速器的數(shù)量等等。每個(gè)主機(jī)系統(tǒng)可以通過(guò)分析與它的每個(gè)服務(wù)類(lèi)相關(guān)聯(lián)的統(tǒng)計(jì)信息或曲線圖,來(lái)估計(jì)解除分配ー個(gè)或多個(gè)加速器資源對(duì)其工作負(fù)載有何影響。繼而,其他主機(jī)系統(tǒng)將它們的估計(jì)傳送給指派管理器。每個(gè)估計(jì)均指示解除分配與重新指派對(duì)系統(tǒng)有負(fù)面影響或有中性影響,并且還可以量化結(jié)果。在一個(gè)示例中,對(duì)主機(jī)系統(tǒng)的影響估計(jì)結(jié)果指示排隊(duì)等待時(shí)間增加5%、5秒等等;完成時(shí)間保持相同或增加給定量;以及工作無(wú)法滿足其目標(biāo)的概率增加給定量。
接著,指派管理器130比較添加附加加速器資源至給定主機(jī)系統(tǒng)的影響和從其他主機(jī)系統(tǒng)處解除分配加速器資源的影響。如果對(duì)給定系統(tǒng)造成的正面影響大于對(duì)其他系統(tǒng)造成的負(fù)面影響,則指派管理器130將目前指派給其他主機(jī)系統(tǒng)的ー個(gè)或多個(gè)加速器資源動(dòng)態(tài)重新指派給給定主機(jī)系統(tǒng)。在該實(shí)施例中,該比較過(guò)程利用各種指派閾值。在一個(gè)示例中,如果指派管理器130確定與給定主機(jī)系統(tǒng)相關(guān)聯(lián)的正面影響在第一閾值之上(諸如排隊(duì)等待時(shí)間縮減大于3秒或滿足工作目標(biāo)的概率大于80% )并且對(duì)其他主機(jī)系統(tǒng)的負(fù)面影響在第二閾值之下(諸如排隊(duì)等待時(shí)間增加3秒),則指派管理器130將加速器資源動(dòng)態(tài)重新指派給給定主機(jī)系統(tǒng)。另外,指派管理器130可以比較其他主機(jī)系統(tǒng)的影響估計(jì)以確定從哪個(gè)主機(jī)系統(tǒng)處取走加速器資源。在一個(gè)示例中,如果存在兩個(gè)其他主機(jī)系統(tǒng)并且對(duì)第一主機(jī)系統(tǒng)的解除分配的影響大于對(duì)第二主機(jī)系統(tǒng)的解除分配的影響,則指派管理器130選擇與第二主機(jī)系統(tǒng)相關(guān)聯(lián)的加速器資源來(lái)重新指派給給定主機(jī)系統(tǒng)。這降低了重新指派對(duì)其他主機(jī)系統(tǒng)的負(fù)面影響。在一個(gè)實(shí)施例中,在標(biāo)識(shí)加速器資源以動(dòng)態(tài)地重新指派之后,指派管理器130通知當(dāng)前指被派給這些加速器資源的主機(jī)系統(tǒng)停止傳送新工作至這些加速器資源。在所有現(xiàn)有工作都已經(jīng)完成之后,指派管理器130從目前的主機(jī)系統(tǒng)處解除分配加速器資源,并且主機(jī)系統(tǒng)會(huì)更新其指派信息以便反映該解除分配。接著,指派管理器130將這些加速器資源指派給給定主機(jī)系統(tǒng),該給定主機(jī)系統(tǒng)后續(xù)更新其指派信息以便反映該指派。接著,該給定主機(jī)系統(tǒng)開(kāi)始從其工作負(fù)載中發(fā)出工作至新指派的加速器資源。圖3顯示了如下示例,其中如圖2中所示的原始指派給主機(jī)系統(tǒng)B 104的加速器X 124已被動(dòng)態(tài)重新指派給主機(jī)系統(tǒng)A 102。主機(jī)系統(tǒng)A 102現(xiàn)在能夠從其工作負(fù)載處發(fā)出工作至其初始加速器、加速器W 122、以及新指派的加速器(加速器X 124)。因此,本發(fā)明有效并且高效地管理加速器資源池。這些加速器資源被初始地指派給各個(gè)主機(jī)系統(tǒng)。接著,這些加速器資源基于諸如在這些系統(tǒng)中的每個(gè)上運(yùn)行的工作的性能和優(yōu)先級(jí)之類(lèi)的系數(shù)而被重新指派給其他主機(jī)系統(tǒng)。操作流程4、圖5和圖6為示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的用于動(dòng)態(tài)管理加速器資源的過(guò)程的操作流程圖。圖4的操作流程圖開(kāi)始于步驟402處并直接進(jìn)入到步驟404。在步驟404處,指派管理器130初始地指派加速器資源給多個(gè)主機(jī)系統(tǒng)102、104和106。在步驟406處,指派管理器會(huì)指派服務(wù)類(lèi)給每個(gè)主機(jī)系統(tǒng)102、104和106的每個(gè)工作114、116和118。
在步驟408處,指派管理器收集與第一主機(jī)系統(tǒng)上每個(gè)工作114相關(guān)聯(lián)的統(tǒng)計(jì)信息142,并且將該統(tǒng)計(jì)信息聚合成每個(gè)工作的服務(wù)類(lèi)。在步驟410處,指派管理器130基于經(jīng)聚合至每個(gè)服務(wù)類(lèi)的統(tǒng)計(jì)信息,來(lái)確定每個(gè)服務(wù)類(lèi)是否在第一主機(jī)系統(tǒng)上實(shí)現(xiàn)其目標(biāo)。在步驟412處,指派管理 器130確定是否存在最近沒(méi)有受到通過(guò)添加加速器資源幫助的任何服務(wù)類(lèi)未實(shí)現(xiàn)其目標(biāo)。如果確定結(jié)果為否,則指派管理器130在步驟414處等待下ー個(gè)監(jiān)視間隔。當(dāng)下ー個(gè)監(jiān)視間隔開(kāi)始時(shí),指派管理器130返回步驟408。如果步驟412處的確定結(jié)果為是,則指派管理器130在步驟416處選擇未實(shí)現(xiàn)其目標(biāo)的最重要服務(wù)類(lèi)。如上面討論的那樣,可以以下列項(xiàng)來(lái)測(cè)量“重要性”:優(yōu)先級(jí)、因加入附加加速器資源而獲得最大好處的服務(wù)類(lèi)等等。選定的服務(wù)類(lèi)稱(chēng)為接收器服務(wù)類(lèi)。此時(shí),控制流程進(jìn)入圖5的進(jìn)入點(diǎn)A(502)。在步驟504處,指派管理器130分析接收器服務(wù)類(lèi)的統(tǒng)計(jì)信息。在步驟506處,指派管理器130基于該分析來(lái)確定將ー個(gè)或多個(gè)加速器資源加入第一主機(jī)系統(tǒng)對(duì)接收器服務(wù)類(lèi)的性能的影響。在步驟508處,指派管理器130確定該影響是否提供足夠的值(例如,如果給定主機(jī)系統(tǒng)的獲利大于對(duì)于資源要被解除分配的系統(tǒng)的損失)以證明重新分配資源合理。美國(guó)專(zhuān)利第5,473,773號(hào)更詳細(xì)討論接收器類(lèi)值,該專(zhuān)利為共有并且通過(guò)引用將其完整并入本文。如果該確定的結(jié)果為否,則指派管理器130在步驟509處確定不重新分配資源,并且控制返回進(jìn)入點(diǎn)B處的步驟412以確定是否存在其他服務(wù)類(lèi)未實(shí)現(xiàn)它們的目標(biāo)。如果步驟506處的確定結(jié)果為是,則指派管理器130在步驟510處分析與第二主機(jī)系統(tǒng)相關(guān)聯(lián)的統(tǒng)計(jì)信息142。指派管理器130在步驟512處基于該統(tǒng)計(jì)信息142,來(lái)確定從第二主機(jī)系統(tǒng)處解除分配ー個(gè)或多個(gè)加速器資源對(duì)具有第二主機(jī)系統(tǒng)上的工作的服務(wù)類(lèi)的影響。在步驟514處,指派管理器130將這些資源加入第一主機(jī)系統(tǒng)所獲得的值與因重新指派這些資源而從第二主機(jī)系統(tǒng)處取走的值進(jìn)行比較。在步驟516處,指派管理器130確定所獲得的值是否超過(guò)失去的值。如果確定的結(jié)果為否,則控制流程返回進(jìn)入點(diǎn)B處的步驟412,以確定是否存在其他服務(wù)類(lèi)未實(shí)現(xiàn)它們的目標(biāo)。如果該確定的結(jié)果為是,則控制流程進(jìn)入圖6的進(jìn)入點(diǎn)C(602)。指派管理器130在步驟602處指示第二主機(jī)系統(tǒng)停止向初始地指派給第二主機(jī)系統(tǒng)的ー個(gè)或多個(gè)加速器資源發(fā)出新請(qǐng)求的工作。指派管理器130在步驟606處確定這些加速器資源處的當(dāng)前工作是否已完成。如果確定的結(jié)果為否,則指派管理器130繼續(xù)確定該工作是否已完成。如果確定結(jié)果為是,則指派管理器在步驟608處將ー個(gè)或多個(gè)加速器資源動(dòng)態(tài)重新指派給第一主機(jī)系統(tǒng)。在步驟610處,第一主機(jī)系統(tǒng)上的工作使用初始指派的加速器資源和新指派的加速器資源兩者。控制流程返回進(jìn)入點(diǎn)D處的步驟414以等待下一個(gè)監(jiān)視間隔。信息處理系統(tǒng)圖7為示出了在本發(fā)明實(shí)施例中使用的示例性信息處理系統(tǒng)的方塊圖。在本發(fā)明的又一些實(shí)施例中可以使用任何適當(dāng)配置的處理系統(tǒng)作為信息處理系統(tǒng)(例如,個(gè)人計(jì)算機(jī)、工作站等等)。信息處理系統(tǒng)包括計(jì)算機(jī)702。計(jì)算機(jī)702包括經(jīng)由系統(tǒng)總線712通信地耦合至主存儲(chǔ)器706的一個(gè)或多個(gè)處理器 704。計(jì)算機(jī)702還包括大容量?jī)?chǔ)存接ロ 708和網(wǎng)絡(luò)適配器硬件710。大容量?jī)?chǔ)存接ロ708用于將大容量?jī)?chǔ)存裝置714連接至信息處理系統(tǒng)。ー種特殊類(lèi)型的數(shù)據(jù)儲(chǔ)存裝置為光驅(qū)Disc,其可以用于儲(chǔ)存數(shù)據(jù),并且從諸如CD 716或DVD之類(lèi)的計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì)處讀取數(shù)據(jù)。另ー種類(lèi)型的數(shù)據(jù)儲(chǔ)存裝置為硬盤(pán),例如其被配置成用以支持JFS類(lèi)型文件系統(tǒng)操作。在該實(shí)施例中,主存儲(chǔ)器708為易失性存儲(chǔ)器,諸如隨機(jī)存取存儲(chǔ)器(RAM)。該實(shí)施例的主存儲(chǔ)器708包括指派管理器、其部件、工作統(tǒng)計(jì)數(shù)據(jù)、工作分類(lèi)信息以及服務(wù)類(lèi)信
息ο網(wǎng)絡(luò)適配器硬件710提供去往互連結(jié)構(gòu)的接ロ,從而實(shí)現(xiàn)與其他計(jì)算機(jī)的數(shù)據(jù)通信。本發(fā)明的實(shí)施例能夠被適配成與任何數(shù)據(jù)通信連接(包括現(xiàn)今的模擬及/或數(shù)字技木)或經(jīng)由未來(lái)的聯(lián)網(wǎng)機(jī)制一同工作。雖然已在完整功能的計(jì)算機(jī)系統(tǒng)的情形下描述本發(fā)明的示例性實(shí)施例,但是又一些實(shí)施例能夠經(jīng)由CD及其等效物、軟盤(pán)或其他形式的可記錄介質(zhì)、或是經(jīng)由任何類(lèi)型的電子傳送機(jī)制作為程序產(chǎn)品散布。雖然已經(jīng)說(shuō)明和描述了當(dāng)前被認(rèn)為是本發(fā)明的優(yōu)選實(shí)施例,但是本領(lǐng)域技術(shù)人員可以理解,可以做出各種其他修改,并且在并不脫離本發(fā)明的真實(shí)范圍的情況下可以等效物來(lái)替代。
權(quán)利要求
1.一種用于動(dòng)態(tài)地管理加速器資源的方法,所述計(jì)算機(jī)實(shí)現(xiàn)的方法包括步驟 將硬件加速器資源的第一集合初始地指派給第一信息處理系統(tǒng),并且將硬件加速器資源的第二集合初始地指派給第二信息處理系統(tǒng); 由至少ー個(gè)處理器監(jiān)視在所述第一信息處理系統(tǒng)和所述第二信息處理系統(tǒng)上運(yùn)行的多個(gè)工作;以及 當(dāng)所述工作中的ー個(gè)工作無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的所述第二集合中的至少ー個(gè)硬件加速器資源從所述第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給所述第一信息處理系統(tǒng)。
2.根據(jù)權(quán)利要求I所述的方法,其中,所述監(jiān)視步驟包括分析與所述工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息。
3.根據(jù)權(quán)利要求I或2所述的方法,其中,當(dāng)與所述ー個(gè)工作相關(guān)聯(lián)的優(yōu)先級(jí)在閾值之上時(shí),執(zhí)行所述動(dòng)態(tài)地重新指派的步驟。
4.根據(jù)權(quán)利要求I至3中任一項(xiàng)所述的方法,其中,所述監(jiān)視步驟包括子步驟 分析與所述工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息;以及 確定重新指派一個(gè)或多個(gè)硬件加速器資源給所述第一信息處理系統(tǒng)是否將會(huì)提高所述ー個(gè)工作滿足所述目標(biāo)的可能性。
5.根據(jù)權(quán)利要求4所述的方法,其中,如果所述可能性在閾值之上,則執(zhí)行所述動(dòng)態(tài)地重新指派的步驟。
6.根據(jù)任一前述權(quán)利要求所述的方法,其中,所述監(jiān)視步驟包括子步驟 將如果一個(gè)或多個(gè)硬件加速器資源被重新指派給所述第一信息處理系統(tǒng)則由所述第一信息處理系統(tǒng)將獲得的值、與如果所述一個(gè)或多個(gè)硬件加速器資源被重新指派給所述第一信息處理系統(tǒng)則所述第二信息處理系統(tǒng)將失去的值進(jìn)行比較;以及 其中,如果由所述第一信息處理系統(tǒng)將獲得的值高于由所述第二信息處理系統(tǒng)將失去的值,則執(zhí)行所述動(dòng)態(tài)地重新指派的步驟。
7.根據(jù)任一前述權(quán)利要求所述的方法,其中,所述動(dòng)態(tài)地重新指派的步驟包括子步驟 指示所述第二信息處理系統(tǒng)停止發(fā)出新工作給所述至少ー個(gè)硬件加速器資源;以及確定由所述第二信息處理系統(tǒng)發(fā)出至所述至少一個(gè)硬件加速器資源的所有工作何時(shí)完成。
8.ー種用于動(dòng)態(tài)管理加速器資源的信息處理系統(tǒng),所述信息處理系統(tǒng)包括 存儲(chǔ)器; 處理器,通信地耦合至所述存儲(chǔ)器;以及 指派管理器,通信地耦合至所述存儲(chǔ)器和處理器,所述指派管理器被配置成 初始地將硬件加速器資源的第一集合指派給第一信息處理系統(tǒng),并且將硬件加速器資源的第二集合指派給第二信息處理系統(tǒng); 監(jiān)視在所述第一信息處理系統(tǒng)和所述第二信息處理系統(tǒng)上運(yùn)行的多個(gè)工作;以及當(dāng)所述工作中的ー個(gè)工作無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的所述第二集合中的至少ー個(gè)硬件加速器資源從所述第二信息處理系統(tǒng)動(dòng)態(tài)地重新指派給所述第一信息處理系統(tǒng)。
9.根據(jù)權(quán)利要求8所述的信息處理系統(tǒng),其中,所述監(jiān)視多個(gè)工作包括分析與所述エ作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息。
10.根據(jù)權(quán)利要求8或9所述的信息處理系統(tǒng),其中,當(dāng)與所述ー個(gè)工作相關(guān)聯(lián)的優(yōu)先級(jí)在閾值之上時(shí),執(zhí)行所述動(dòng)態(tài)地重新指派。
11.根據(jù)權(quán)利要求8至10中任一項(xiàng)所述的信息處理系統(tǒng),其中,所述監(jiān)視多個(gè)工作包括 分析與所述工作相關(guān)聯(lián)的運(yùn)行時(shí)統(tǒng)計(jì)信息;以及 確定重新指派一個(gè)或多個(gè)硬件加速器資源給所述第一信息處理系統(tǒng)是否將會(huì)提高所述ー個(gè)工作滿足目標(biāo)的可能性。
12.根據(jù)權(quán)利要求11所述的信息處理系統(tǒng),其中,如果所述可能性在閾值之上,則執(zhí)行所述動(dòng)態(tài)地重新指派。
13.根據(jù)權(quán)利要求8至12中任一項(xiàng)所述的信息處理系統(tǒng),其中,所述監(jiān)視所述多個(gè)工作包括 將如果一個(gè)或多個(gè)硬件加速器資源被重新指派給所述第一信息處理系統(tǒng)則由所述第一信息處理系統(tǒng)將獲得的值、與如果ー個(gè)或多個(gè)硬件加速器資源被重新指派給所述第一信息處理系統(tǒng)則由所述第二信息處理系統(tǒng)將失去的值進(jìn)行比較, 其中,如果由所述第一信息處理系統(tǒng)將獲得的值高于所述第二信息處理系統(tǒng)將失去的值,則執(zhí)行所述動(dòng)態(tài)地重新指派。
14.根據(jù)權(quán)利要求8至13中任一項(xiàng)所述的信息處理系統(tǒng),其中,所述動(dòng)態(tài)地重新指派包括 指示所述第二信息處理系統(tǒng)停止發(fā)出新工作給所述至少ー個(gè)硬件加速器資源;以及確定由所述第二信息處理系統(tǒng)發(fā)出至所述至少一個(gè)硬件加速器資源的所有工作何時(shí)完成。
15.一種存儲(chǔ)在包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上的計(jì)算機(jī)程序,當(dāng)所述計(jì)算機(jī)程序代碼被加載進(jìn)入計(jì)算機(jī)系統(tǒng)并在其上執(zhí)行時(shí),使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行權(quán)利要求I至7中任一項(xiàng)所述的方法的所有步驟。
全文摘要
提供一種用于動(dòng)態(tài)管理加速器資源的方法、信息處理系統(tǒng)以及計(jì)算機(jī)可讀取儲(chǔ)存介質(zhì)。將硬件加速器資源的第一集合(122)初始地指派給第一信息處理系統(tǒng)(104),并且將硬件加速器資源的第二集合(124)初始地指派給第二信息處理系統(tǒng)(106)。監(jiān)視在第一信息處理系統(tǒng)與第二信息處理系統(tǒng)(116,118)上執(zhí)行的工作(132)。當(dāng)工作中的一個(gè)無(wú)法滿足目標(biāo)時(shí),將硬件加速器資源的第二集合中的至少一個(gè)硬件加速器資源從第二信息處理系統(tǒng)動(dòng)態(tài)重新指派給第一信息處理系統(tǒng)(138)。
文檔編號(hào)G06F9/50GK102667724SQ201080058875
公開(kāi)日2012年9月12日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2009年12月24日
發(fā)明者D·N·E·迪倫伯格, M·索伊內(nèi)斯, P·尤康姆 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司