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