專利名稱:具有對于多個虛擬服務器間的共享資源分配的軟件控制的微處理器的制作方法
技術領域:
本發(fā)明大體上涉及計算環(huán)境內的處理,且更具體而言涉及在計算環(huán)境中分配共享資源。
背景技術:
整體計算機系統(tǒng)性能受計算機結構的主要元素中的每一個影響,所述主要元素包括(一個或多個)處理器的性能/結構、(一個或多個)任何存儲器高速緩存、(一個或多個)輸出/輸出(I/O)子系統(tǒng)、(一個或多個)存儲器控制功能的效率、(一個或多個)主存儲器裝置,及(一個或多個)互連接口的類型及結構。本產業(yè)持續(xù)地投入廣泛研究及開發(fā)努力以產生改良及/或創(chuàng)新的解決方案,從而通過改良系統(tǒng)/子系統(tǒng)設計及/或結構來最大化整體計算機系統(tǒng)性能及密度。高可用性系統(tǒng)呈現了與整體系統(tǒng)可靠性相關的進一步挑戰(zhàn),這是由于消費者期望新的計算機系統(tǒng)除了提供額外的功能、增加的性能、增加的存儲、較低操作成本等之外,將在平均故障間隔時間(mean-time-between-failure,MTBF)方面顯著超越現有系統(tǒng)。其他常見的消費者要求進一步加重了計算機系統(tǒng)設計挑戰(zhàn),且包括諸如以下的項目容易升級及減少的系統(tǒng)環(huán)境影響(例如,空間、電力及冷卻)。當前微處理器具有許多處理器,每一處理器運行許多執(zhí)行線程。舉例而言,當前微處理器可具有八個處理器,每一處理器具有四個線程,其中利用管理程序(hypervisor)軟件來管理多個虛擬處理器。預測在未來被執(zhí)行的同時線程的數目將增加,且微處理器將可能具有同時運行的數十個線程。微處理器具有由在管理程序控制下的多個虛擬處理器共享的許多硬件資源。這些共享資源包括物理處理器,高速緩存,在多個高速緩存間提供高速緩存一致性的互連網絡,存儲控制器,輸入/輸出(I/O)控制器等。當前微處理器硬件設計依賴于管理程序軟件,其與每一物理處理器中的硬件定時器結合以確保虛擬處理器接收物理硬件資源的公平份額。在當前設計中,虛擬處理器依賴于管理程序以按以下方式將虛擬進程分派至物理處理器上將為每一處理器提供諸如高速緩存訪問和存儲控制器訪問的“下游”共享資源的公平份額。
發(fā)明內容
本發(fā)明的一例示性實施例包括一種用于控制共享資源的分配的系統(tǒng)。該系統(tǒng)包括一下一請求優(yōu)先權模塊,其連接至一共享資源且連接至由請求者標識符標識的多個請求者。該下一請求優(yōu)先權模塊包括一待決請求機制、一記錄機制及下一請求優(yōu)先權邏輯。該待決請求機制對來自這些請求者中的一個或多個的對該共享資源的一個或多個待決請求按照優(yōu)先權排序。每一待決請求包括一相關聯的請求者標識符。將這些待決請求中的一個指定為具有一相關聯的下一請求者標識符的下一待決請求。該記錄機制記錄與被授予對于該共享資源的優(yōu)先權的先前請求相關聯的請求者標識符。該下一請求優(yōu)先權邏輯訪問該下一待決請求及該下一請求者標識符,且判定是否應向該下一待決請求授予對于該共享資源的優(yōu)先權。該判定是響應于所記錄的請求者標識符且響應于該下一請求者標識符進行的。 響應于判定應向該下一待決請求授予對于該共享資源的優(yōu)先權而向該下一待決請求授予對于該共享資源的優(yōu)先權。響應于該授予而記錄該下一請求者標識符。另一例示性實施例包括一種用于控制共享資源的分配的方法。該方法包括接收對訪問一共享資源的一請求。該請求是接收自執(zhí)行于一處理器上的一請求者。該接收是在連接至該處理器及該共享資源的一下一請求優(yōu)先權模塊處進行的。判定對于該共享資源的指定數目的最近優(yōu)先權授予中的任一個是否是對于該請求者的。如果對于該共享資源的該指定數目的最近優(yōu)先權授予中無任何一個是對于該請求者的,則將該請求授予至該共享資源。如果判定對于該共享資源的該指定數目的最近優(yōu)先權授予中的任一個是對于該請求者的,則判定對該共享資源的一個或多個其他請求是否為待決的。如果對該共享資源的其他請求為待決的,則判定是否應向這些其他請求中的一個授予對于該共享資源的優(yōu)先權。另一例示性實施例包括一種用于控制共享資源的分配的計算機程序產品。該計算機程序產品包括一有形存儲媒體,其可由一處理電路讀取且存儲用于由該處理電路執(zhí)行以執(zhí)行一方法的指令。該方法包括接收訪問一共享資源的一請求。該請求是接收自執(zhí)行于一處理器上的一請求者。該接收是在連接至該處理器及該共享資源的一下一請求優(yōu)先權模塊處進行的。判定對該共享資源的指定數目的最近優(yōu)先權授予中的任一個是否是對于該請求者的。如果對該共享資源的該指定數目的最近優(yōu)先權授予中無任何一個是對于該請求者的,則將該請求授予至該共享資源。如果判定對該共享資源的該指定數目的最近優(yōu)先權授予中的任一個是對于該請求者的,則判定對該共享資源中的一個或多個其他請求是否為待決的。如果無任何對該共享資源的其他請求為待決的,則將該請求授予至該共享資源。如果對該共享資源的其他請求為待決的,則判定是否應向這些其他請求中的一個授予對于該共享資源的優(yōu)先權。
現在將通過參照以下附圖且僅作為示例描述本發(fā)明的優(yōu)選實施例,在附圖中,圖1描繪可由本發(fā)明的例示性實施例實施的具有若干處理器及共享系統(tǒng)資源的計算系統(tǒng);圖2描繪可由本發(fā)明的例示性實施例實施的虛擬服務器控制邏輯硬件;圖3A描繪現有技術的存儲控制器;圖;3B描繪可由本發(fā)明的例示性實施例實施的存儲控制器;圖4描繪可由本發(fā)明的例示性實施例實施的用于選擇待發(fā)送至共享系統(tǒng)資源的下一請求的一般流程圖;以及圖5描繪可由本發(fā)明的例示性實施例實施的計算機程序產品。
具體實施例方式本發(fā)明的例示性實施例在共享資源的入口處提供硬件控制,其限制可專用于單個虛擬服務器或虛擬服務器組的請求的數目。
在當前微處理器硬件設計中,具有許多虛擬處理器的單個虛擬服務器可產生對微處理器核心外部的共享硬件資源的大量需求。這些需求可能足夠大,從而對當前在同一硬件系統(tǒng)上運行的其他虛擬服務器產生性能影響。在過去,管理程序或任何類似軟件系統(tǒng)相對較容易監(jiān)視虛擬服務器的進展且限制分派在損害其他虛擬處理器的情況下而向前運行的虛擬處理器。當每個虛擬服務器存在更多線程并且單個微處理器芯片上的物理處理器核心(在本文中也稱作核心處理器或處理器)的數目從當前一至八個增長至甚至更大數目時,管理程序較難進行監(jiān)視。另外,用不良高速緩存行為運行工作負載的虛擬服務器或意欲中斷物理服務器的操作(以及其他可能結果)的惡意病毒程序可能產生對系統(tǒng)資源的過量需求。本發(fā)明的例示性實施例允許管理程序或其他控制程序對可由虛擬服務器或由虛擬服務器組消耗的硬件資源設定限制。本發(fā)明的例示性提供限制可由單個虛擬服務器消耗的資源的最大份額的能力。這些限制可由管理程序或另一控制程序設定。在一例示性實施例中,將一虛擬服務器標識符(VSID)指派給在管理程序的控制下的每一獨特虛擬服務器。 將VSID與離開處理器且試圖使用系統(tǒng)中的微處理器芯片上或其他芯片或接口上的共享資源的任何請求一起發(fā)送。硬件及/或軟件控制防止任何單個虛擬服務器或虛擬服務器組占據超過特定百分比的硬件資源。圖1描繪可由一例示性實施例實施的多處理器計算系統(tǒng)的一部分。每一核心處理器100經由專門接口 110、140及下一請求優(yōu)先權模塊120連接至一個或多個共享資源150。 在本發(fā)明的一例示性實施例中,以軟件來實施下一請求優(yōu)先權模塊120。在本發(fā)明的一例示性實施例中,下一請求優(yōu)先權模塊120為位于核心處理器100與共享資源150之間的系統(tǒng)控制邏輯(SCL)的一部分。SCL提供多個微處理器核心間以及這些核心與其他系統(tǒng)組件 (諸如,存儲器、數據高速緩存、I/O控制器、專門加速器、數據壓縮引擎等)之間的物理互連。利用集中式交換結構的當代計算系統(tǒng)可具有實施于專用于交換功能的一個或多個芯片上的SCL。這些交換芯片接著連接至微處理器芯片及存儲器芯片陣列以及系統(tǒng)的其他組件。 利用分布式交換結構的計算系統(tǒng)可將SCL的一部分實施于微處理器芯片中的每一個上。在此狀況下,微處理器芯片彼此直接連接,且用于這些連接的接口受SCL控制。SCL工作以控制源微處理器核心與共享系統(tǒng)資源之間的請求流。SCL也控制數據的返回流。在集中式交換狀況或分布式交換狀況中的任一個的情況下,除了在當前系統(tǒng)中所見的SCL的典型位置以外,使用本發(fā)明的實施例的計算系統(tǒng)也可將SCL的一部分置于最靠近共享資源的點(例如,在存儲器DRAM上)。本發(fā)明的其他例示性實施例可將SCL的一部分置于共享通信接口的任一端處,諸如,驅動一在其他方面為標準存儲器接口的存儲控制器邏輯處。SCL的部分在特定計算系統(tǒng)設計中的放置將取決于大量因素,包括(但不限于) 可用邏輯空間、電力消耗及設計復雜性。由于許多當前設計含有多線程處理器,因此在例示性實施例中,關鍵共享資源也可與核心位于同一微處理器芯片上,且因此SCL的一部分也可位于該微處理器芯片上。其他例示性實施例可將該邏輯置于邏輯的共享管通的開始處, 該共享管通通向諸如SRAM或eDRAM數據高速緩存的共享資源。圖1中所描繪的系統(tǒng)中的一個核心處理器IOOb經由接口 IlOb連接至下一請求優(yōu)先權模塊120a。同一核心處理器IOOb也經由另一專用接口 IlOc連接至下一請求優(yōu)先權模塊120b。由下一請求優(yōu)先權模塊120控制對共享資源150的訪問。
圖1中所描繪的下一請求優(yōu)先權模塊120包括虛擬服務器控制邏輯121及下一請求優(yōu)先權邏輯122。在下文中參照圖2描述虛擬服務器控制邏輯121的一例示性實施例。 在下文中參照圖4描述下一請求優(yōu)先權邏輯122的一例示性實施例。本發(fā)明的一例示性實施例使用若干IBM P6微處理器,每一 IBM P6微處理器具有四個處理核心。本發(fā)明的例示性實施例可用于具有任何數目的微處理器芯片的系統(tǒng)上。另外,例示性實施例可用任何類型的微處理器(含有任何數目的核心處理器)來實施。此外, 例示性實施例可結合微處理器來使用,這些微處理器支持若干多線程實現中的任一個。如圖1中所描繪的,為系統(tǒng)中的核心處理器100中的每一個提供一 VSID寄存器 160??捎蓤?zhí)行于核心處理器100上的軟件來對VSID寄存器160進行寫入。本發(fā)明的例示性實施例使用一管理程序來實行此任務。在預期多線程為活躍的的且個別線程可被指派同時運行來自多個虛擬服務器的軟件的系統(tǒng)中,可為每一線程提供一 VSID寄存器160。在本發(fā)明的例示性實施例中,管理程序為其控制的每一虛擬服務器選擇一 VSID。當將一虛擬服務器分派至物理處理器(例如,核心處理器100)上時,將VSID寫入到用于該核心處理器 100的VSID寄存器160中。VSID寄存器160的內容包括有命令、地址及數據,其經由接口 110向共享資源150 傳送。接口 Iio可類似于當前請求接口,諸如,用于與當代存儲控制器連接的接口。VSID信息與現有技術的命令、地址及數據信息的組合由核心處理器100下游的邏輯使用,以控制對共享資源150的訪問。本發(fā)明的例示性實施例使用下一請求優(yōu)先權模塊120來控制對在具有核心處理器lOOa-lOOc的微處理器芯片外部(即,并非位于微處理器芯片上)的共享資源150的訪問。其他實施例可使用類似硬件及方法來控制對位于微處理器芯片內部的資源(諸如,片上存儲控制器、片上I/O控制器、片上數據高速緩存或任何其他片上資源)的訪問ο在本發(fā)明的例示性實施例中,VSID對于管理程序當前正于計算系統(tǒng)上托管的每一虛擬服務器為獨特的。本發(fā)明的其他實施例可使用獨特VSID的散列或完整VSID的位的簡單子集。本發(fā)明的一項例示性實施例僅使用VSID的兩個最低階位以便減少將VSID添加至請求信息所需的硬件開銷,該請求信息必須自核心處理器100傳送至共享資源150。VSID 的子集的使用降低了將請求槽(request slot)分配到虛擬服務器的準確度,但仍將能夠防止運行于計算系統(tǒng)上的大多數虛擬服務器的不可預測的性能。如本文所使用的,VSID為請求者標識符的一示例,可利用請求者標識符以將一請求者(例如,虛擬服務器)與對共享資源(例如,存儲器)的請求相關聯。如對本領域技術人員顯然的,在其他實施例中,可利用其他請求者標識符。核心處理器100與共享資源150之間的互連在圖1中顯示為點對點總線110、140 的集合。本發(fā)明的其他例示性實施例可利用任何其他類型的互連,諸如,共享總線、全縱橫制開關(full crossbar switch)或一系列互連開關,以及許多其他配置。圖2描繪可由本發(fā)明的例示性實施例利用的虛擬服務器控制邏輯121。圖2中所描繪的虛擬服務器控制邏輯121包括一組寄存器220,其構成用于存儲對共享資源150的待決請求的請求隊列。寄存器220也含有用于每一請求的請求者標識符(例如,VSID)。請求者標識符將請求與請求者(例如,執(zhí)行于核心處理器100上的虛擬服務器)相關聯。請求隊列是排序的(例如,基于每一請求已處于該隊列中多長時間、在該隊列中的時間及與請求者相關聯的優(yōu)先權的組合等),且當共享資源150可用于處理新請求時,將這些請求中的一個指定為將被評估以便處理的下一請求。寄存器220含有已經由接口 110中的一個自核心處理器100到達的待決請求。本發(fā)明的例示性實施例允許四個請求保持待決;其他實施例可使用任何數目的額外(或更少的)寄存器用于此功能。保持于該隊列中的請求的數目也可使用可編程深度來設計。本發(fā)明的例示性實施例也包括由多個寄存器230構成的先前請求者隊列。本發(fā)明的例示性實施例使用四位置深的先進先出緩沖器來實施先前請求者隊列,以保持將被授予對于共享資源150的優(yōu)先權的最后四個請求的VSID??墒褂萌魏纹渌疃鹊木彌_器。也可使用可編程深度來設計該緩沖器。在例示性實施例中,該深度由管理程序或由任何其他合適的監(jiān)督器軟件或由合適的硬件算法來設定。在例示性實施例中,緩沖器的深度是在系統(tǒng)的初始通電序列(initial power-on sequence)期間設定的,且然后在未來時間由管理程序進行更改。圖2中所描繪的請求隊列220為可由本發(fā)明的例示性實施例實施的待決請求機制的示例。本發(fā)明的例示性實施例可利用以硬件及/或軟件實施待決請求機制的其他方式。 舉例而言,待決請求機制可被設計為有利于特定VSID。可保證受益的VSID對共享資源的特定比例(例如,百分的二十五)的使用。類似地,圖2中所描繪的先前請求者隊列230為可由本發(fā)明的例示性實施例實施的記錄機制的示例。本發(fā)明的例示性實施例可利用以硬件及/或軟件實施記錄機制的其他方式。舉例而言,可將這些記錄實施為計數器的集合,計數器在每次向具有特定VSID的請求授予接下來使用共享資源的優(yōu)先權時遞增。每一計數器可被指派VSID的一范圍。應理解,可以使用待決請求機制與記錄機制的廣泛范圍的組合來實施本發(fā)明。使用記錄機制的狀態(tài)連同待決請求機制的狀態(tài)的任何合適邏輯可用以判定待發(fā)送至共享資源的下一請求。本發(fā)明的例示性實施例將一存儲器用作共享資源150。圖3A中的來自美國專利第 7,320,047號的存儲器系統(tǒng)300為現有技術的存儲器系統(tǒng)的一示例,其可與本發(fā)明的例示性實施例一起使用。存儲器系統(tǒng)300包括一存儲控制器310、多個點到點鏈路320a-320n、 多個存儲器子系統(tǒng)330a-330c,以及接口 375上的多個存儲器子系統(tǒng)端口 378a-378n。在圖 3A中將存儲器子系統(tǒng)330a的更詳細描述示為存儲器子系統(tǒng)340。存儲器子系統(tǒng)340包括安置于存儲器子系統(tǒng)340上的緩沖器裝置350及多個存儲器裝置360。緩沖器裝置350經由通道370耦接至多個存儲器器件360。圖;3B中所描繪的存儲器系統(tǒng)300B描繪可與圖3A中描繪的現有技術的存儲器系統(tǒng)一起實施的例示性實施例。類似于圖3A,圖;3B描繪了一存儲器系統(tǒng)300B,其包括一存儲控制器310B、多個點到點鏈路320aB-320nB、多個存儲器子系統(tǒng)330aB_330cB,及接口 375B 上的多個存儲器子系統(tǒng)端口 378aB-378nB。在圖中將存儲器子系統(tǒng)330aB的更詳細描述示為存儲器子系統(tǒng)340B。存儲器子系統(tǒng)340B包括安置于存儲器子系統(tǒng)340B上的緩沖器裝置350B及多個存儲器裝置360B。緩沖器裝置350B經由通道370B耦接至多個存儲器裝置360B。圖;3B中描繪的存儲控制器310B也包括在圖中示為組件390B的下一請求優(yōu)先權邏輯120、130。所描繪的例示性實施例將下一請求優(yōu)先權模塊390B定位于存儲控制器 310B中,但應理解也可將其定位于存儲器緩沖器裝置350B中或存儲器裝置360B中。例示性實施例并不限于在存儲器系統(tǒng)中使用,因為任何其他共享資源可以類似方式來控制。
圖4描繪可由本發(fā)明的例示性實施例實施的用于選擇待發(fā)送至共享系統(tǒng)資源150 的下一請求的一般化流程圖。圖4說明實施于下一請求優(yōu)先權邏輯122中的功能,下一請求優(yōu)先權邏輯122管理虛擬服務器控制邏輯121及請求接口 140。在塊410,下一請求優(yōu)先權邏輯122檢查請求隊列中的下一項。如上文所描述的,在本發(fā)明的一例示性實施例中,下一項為請求隊列中的最舊項。在塊420,判定與下一項相關聯的請求者標識符是否匹配先前請求者隊列中的項中的任一個。在圖4中所描繪的例示性實施例中,先前請求者隊列由四位置深的先進先出緩沖器來實施,該緩沖器含有被授予對于共享資源的優(yōu)先權的最后四個請求者的請求者標識符。在此示例中,四為最近優(yōu)先權授予的指定數目,在其他實施例中, 實施其他指定數目。如果在塊420判定請求者標識符匹配先前請求者隊列中的請求者標識符中的任一個,則處理在塊450處繼續(xù),在塊450中判定該下一請求是否為請求隊列中的最后請求。 在此狀況下,應向請求者授予對于共享資源150的優(yōu)先權,因為沒有其他請求者正在等待共享資源150 ;在塊460,向該請求者授予對于共享資源150的優(yōu)先權。在替代例示性實施例中,當請求隊列中僅存在一個請求且其相關聯的請求者標識符已在先前請求者隊列中找到時,采取一不同動作。在此替代例示性實施例中,沒有優(yōu)先權被給予下一請求且在下一周期中沒有請求被發(fā)送至共享資源150。當用于該請求的服務時間相比共享資源150可同時處理的請求的數目較長時,這可能是需要的。如果在塊450判定下一請求并非該請求隊列中的最后請求,則將該隊列中的另一請求指定為下一請求(例如,基于其為下一最舊請求,或一些其他優(yōu)先權方案),且處理在塊410繼續(xù)。如果在塊420判定請求者標識符不匹配先前請求者隊列中的請求者標識符中的任一個,則處理在塊430處繼續(xù)。在塊430,向該下一請求授予對于共享資源150的優(yōu)先權。 在塊440,將與該下一請求相關聯的請求者標識符添加至先前請求者隊列。在本發(fā)明的一例示性實施例中,新的請求者標識符替換先前請求者隊列中的最舊項。被授予優(yōu)先權的請求變?yōu)榇浻山涌?140發(fā)送至共享資源150的下一請求。圖4描繪了可由例示性實施例實施的一個處理流程,且其他處理流程可由本發(fā)明的替代例示性實施例來實施。舉例而言,在本發(fā)明的另一例示性實施例中,通過將一請求者標識符指派給一個或多個虛擬服務器且通過選擇將多少先前請求者標識符存儲于先前請求者隊列(或其他記錄機制),來實施使來自一個或多個特定虛擬服務器的請求優(yōu)于所有其他虛擬服務器的請求的優(yōu)先權功能。在一項示例中,一特定虛擬服務器可被保證用于在許多CPU間共享的存儲控制器的至少百分之十的請求槽。在本發(fā)明的另一例示性實施例中,使用在功能上類似于VSID(請求者標識符的一示例)的請求標簽,但是由不同層的軟件產生的。一例示性實施例使用由管理程序產生的 VSID,然而,任何個別操作系統(tǒng)均可產生標識在該操作系統(tǒng)上運行的個別工作單元的一組進程ID(PID)。這些PID為可實施的另一類型的請求者標識符,且可在分派期間將其作為 VSID直接寫入至相同硬件寄存器。在另一例示性實施例中,硬件被設計為攔截操作系統(tǒng)改變CPU的VSID的嘗試,且然后將對CPU的控制傳遞至管理程序。在此狀況下,管理程序將使用任何數目的算法以判定VSID硬件寄存器應設定為何值。
技術效果及益處包括物理計算機服務器在運行大量虛擬服務器時提供可靠的高性能等級的能力。服務器允許管理程序或另一控制程序對可由虛擬服務器或由虛擬服務器組消耗的硬件資源設定限制。這提供了限制可由單個虛擬服務器消耗的資源的最大份額的能力,且可引起處理器的性能增加。本文所使用的術語僅為了描述特定實施例,且并不意欲限制本發(fā)明。在本文中使用時,單數形式“一”及“該”意欲也包括復數形式,除非上下文清楚地指示不是這樣。應進一步理解,術語“包含”和/或“包括”在本說明書中使用時指定所述特征、整體、步驟、操作、 要素及/或組件的存在,但不排除一個或多個其他特征、整體、步驟、操作、組件、要素及/或組件的存在或添加。以下權利要求中的相應結構、材料、動作以及所有裝置或步驟加功能組件的等價物意欲包括任何用于結合如具體所要求保護的其他所要求保護組件來執(zhí)行功能的結構、材料或動作。已出于說明及描述目的呈現了本發(fā)明的描述,但該描述并不意欲為窮盡的或將本發(fā)明限于所揭示的形式。許多修改及變化對于本領域的普通技術人員是顯而易見的。選擇并描述了實施例以便最佳地解釋本發(fā)明的原理及實際應用,且使本領域的其他普通技術人員能夠理解本發(fā)明的適合于所考慮的特定用途的具有各種修改的各種實施例。如本領域的技術人員所了解的,本發(fā)明的實施例可體現為一系統(tǒng)、方法或計算機程序產品。因此,本發(fā)明的實施例可采用完全硬件實施例、完全軟件實施例(包括固件、常駐軟件、微碼等)或組合軟件與硬件方面的實施例的形式,這些軟件和硬件方面在本文中皆可通稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的實施例可采用體現于任何有形表現介質中的一計算機程序產品的形式,該有形表現介質具有體現于該介質中的計算機可用程序代碼。可利用一個或多個計算機可用或計算機可讀介質的任何組合。計算機可用或計算機可讀介質可為例如(但不限于)電子、磁、光、電磁、紅外線或半導體系統(tǒng)、裝置、器件或傳播介質。計算機可讀介質的更具體示例(非窮盡列表)將包括以下各項具有一個或多個導線的電連接、便攜型計算機軟盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦除可編程只讀存儲器(EPR0M或閃存)、光纖、便攜型光盤只讀存儲器(CDROM)、光存儲裝置、傳輸介質(諸如,支持因特網或內部網的傳輸介質),或磁存儲裝置。應注意,計算機可用或計算機可讀介質甚至可為程序被打印于上面的紙張或另一合適介質,因為該程序可經由(例如)對紙張或其他介質的光學掃描來以電子方式捕獲,接著經編譯、解譯或以合適方式另外處理(如果有必要),且接著存儲于計算機存儲器中。在此文件的背景下,一計算機可用或計算機可讀介質可為可含有、存儲、傳達、傳播或傳送由指令執(zhí)行系統(tǒng)、裝置或器件使用或與指令執(zhí)行系統(tǒng)、裝置或器件結合使用的程序的任何介質。計算機可用介質可包括一傳播的數據信號,其具有在基頻中或作為一載波的部分體現于其中的計算機可用程序代碼。可使用任何適當的介質(包括但不限于無線、有線線路、光纖、RF等)來傳輸計算機可用程序代碼??梢砸环N或多種編程語言的任何組合撰寫用于執(zhí)行本發(fā)明的操作的計算機程序代碼,該一種或多種編程語言包括諸如Java、Smalltalk, C++或其類似者的面向對象的編程語言及諸如“C”編程語言或類似編程語言的傳統(tǒng)過程性編程語言。程序代碼可完全在使用者的計算機上執(zhí)行,部分地在使用者的計算機上執(zhí)行,作為獨立軟件包執(zhí)行,部分地在使用者的計算機上執(zhí)行且部分地在遠程計算機上執(zhí)行,或完全在遠程計算機或服務器上執(zhí)行。在后一種情形中,遠程計算機可經由任何類型的網絡(包括局域網(LAN)或廣域網 (WAN))連接至使用者的計算機,或可(例如,使用因特網服務提供者,經由因特網)連接至外部計算機。下面參考根據本發(fā)明的實施例的方法、裝置(系統(tǒng))及計算機程序產品的流程圖及/或方塊圖來描述本發(fā)明。將理解,可由計算機程序指令來實施流程圖及/或方塊圖中的每一塊及這些流程圖及/或方塊圖中的塊的組合??蓪⑦@些計算機程序指令提供至通用計算機、專用計算機或其他可編程數據處理裝置的處理器以產生一機器,以使得經由該計算機或其他可編程數據處理裝置的處理器執(zhí)行的指令建立用于實施該或該些流程圖及/ 或方塊圖塊中所指定的功能/動作的裝置。這些計算機程序指令也可存儲在一計算機可讀介質中,其可指導計算機或其他可編程數據處理裝置以特定方式起作用,以使得存儲在該計算機可讀介質中的指令產生一制品,其包括實施該或該些流程圖及/或方塊圖塊中所指定的功能/動作的指令裝置。這些計算機程序指令也可加載至計算機或其他可編程數據處理裝置上以使一系列操作步驟在該計算機或其他可編程裝置上實行以產生一計算機實施過程,使得在該計算機或其他可編程裝置上執(zhí)行的指令提供用于實施該或該些流程圖及/或方塊圖塊中所指定的功能/動作的過程。如上所述,實施例可以體現為計算機實施的過程及用于實踐這些過程的裝置的形式。在例示性實施例中,本發(fā)明體現為在一個或多個網絡組件上執(zhí)行的計算機程序碼。實施例包括如圖5中所描繪的在一計算機可用介質502上的計算機程序產品500,該計算機可用介質具有含有體現于作為制品的有形介質中的指令的計算機程序代碼邏輯504。計算機可用介質502的例示性制品可包括軟盤、CD-ROM、硬盤驅動器、通用串行總線(USB)快閃驅動器或任何其他計算機可讀存儲介質,其中當將計算機程序代碼邏輯504加載至計算機中且由計算機執(zhí)行時,計算機成為用于實踐本發(fā)明的裝置。實施例包括計算機程序代碼邏輯 504,例如,不管其是否存儲于存儲介質中,加載至計算機中及/或由計算機執(zhí)行,或經由某傳輸介質(諸如,經由電線或電纜、經由光纖、或經由電磁輻射)傳輸,其中當將計算機程序代碼邏輯504加載至計算機中且由計算機執(zhí)行時,該計算機成為用于實踐本發(fā)明的裝置。 當實施于一通用微處理器上時,計算機程序代碼邏輯504片段配置該微處理器以建立特定邏輯電路。諸圖中的流程圖及方塊圖說明根據本發(fā)明的各種實施例的系統(tǒng)、方法及計算機程序產品的可能實現的架構、功能及操作。就此而言,在流程圖或方塊圖中的每一塊可代表程序代碼的模塊、段或部分,其包含用于實施指定邏輯功能的一個或多個可執(zhí)行指令。也應注意,在一些替代實施中,塊中所述的功能可不以圖中所指出的次序發(fā)生。舉例而言,取決于所涉及的功能,相繼示出的兩個塊實際上可大體上同時執(zhí)行,或這些塊有時可以相反次序執(zhí)行。也應注意,方塊圖及/或流程圖中的每一塊及方塊圖及/或流程圖中的塊的組合可通過實行指定功能或動作的基于硬件的專用系統(tǒng)實施,或通過專用硬件與計算機指令的組合來實施。
權利要求
1.一種用于控制共享資源的分配的系統(tǒng),該系統(tǒng)包括下一請求優(yōu)先權模塊,其連接至共享資源且連接至由請求者標識符標識的多個請求者,該下一請求優(yōu)先權模塊包括待決請求機制,其將來自這些請求者中的一個或多個的對該共享資源的一個或多個待決請求按照優(yōu)先權排序,每一待決請求包括相關聯的請求者標識符,且這些待決請求中的一個被指定為具有相關聯的下一請求者標識符的下一待決請求;記錄機制,其記錄與被授予對于該共享資源的優(yōu)先權的先前請求相關聯的請求者標識符;以及下一請求優(yōu)先權邏輯,其訪問該下一待決請求及該下一請求者標識符,判定是否應向該下一待決請求授予對于該共享資源的優(yōu)先權,該判定響應于所記錄的請求者標識符且響應于該下一請求者標識符,響應于判定應向該下一待決請求授予對于該共享資源的優(yōu)先權而向該下一待決請求授予對于該共享資源的優(yōu)先權,且響應于該授予而記錄該下一請求者標識符。
2.如權利要求1的系統(tǒng),其中響應于該下一待決請求為唯一待決請求而判定應向該下一待決請求授予對于該共享資源的優(yōu)先權。
3.如權利要求1的系統(tǒng),其中該下一請求優(yōu)先權邏輯進一步響應于判定不應向該下一待決請求授予對于該共享資源的優(yōu)先權而指定一其他待決請求及相關聯的請求者標識符作為下一待決請求及下一請求者標識符。
4.如權利要求1的系統(tǒng),其中記錄對于該共享資源的指定數目的最近優(yōu)先權授予的請求標識符。
5.如權利要求1的系統(tǒng),其中響應于該下一請求者標識符不匹配所記錄的請求者標識符而判定應向該下一待決請求授予對于該共享資源的優(yōu)先權。
6.如權利要求1的系統(tǒng),其中該請求者為虛擬服務器。
7.如權利要求1的系統(tǒng),其中該請求者為虛擬服務器組。
8.如權利要求1的系統(tǒng),其中該共享資源為存儲器,且該下一請求優(yōu)先權模塊位于存儲控制器中。
9.如權利要求1的系統(tǒng),其中該下一請求優(yōu)先權邏輯進一步響應于向該下一請求授予對于該共享資源的優(yōu)先權而將該下一請求傳輸至該共享資源。
10.如權利要求1的系統(tǒng),其中該下一請求優(yōu)先權模塊是由系統(tǒng)控制邏輯SCL實施的。
11.一種用于控制共享資源的分配的方法,該方法包括接收訪問共享資源的請求,該請求接收自執(zhí)行于處理器上的請求者,該接收是在連接至該處理器且連接至該共享資源的下一請求優(yōu)先權模塊處進行的;判定對于該共享資源的指定數目的最近優(yōu)先權授予中的任一個是否是對于該請求者的;響應于判定對于該共享資源的該指定數目的最近優(yōu)先權授予中沒有任何一個是對于該請求者的而向該請求授予對于該共享資源的優(yōu)先權;以及響應于判定對于該共享資源的該指定數目的最近優(yōu)先權授予中的任一個是對于該請求者的而執(zhí)行以下操作判定對該共享資源的一個或多個其他請求是否為待決的;以及響應于判定對該共享資源的一個或多個其他請求為待決的而判定是否應向這些其他請求中的一個授予對于該共享資源的優(yōu)先權。
12.如權利要求11的方法,進一步包括響應于判定對該共享資源的其他請求并非為待決的而向該請求授予對于該共享資源的優(yōu)先權。
13.如權利要求11的方法,其中該下一請求優(yōu)先權模塊是由SCL實施的。
14.如權利要求11的方法,進一步包括響應于向該請求授予對于該共享資源的優(yōu)先權而將該請求傳輸至該共享資源。
15.一種用于控制共享資源的分配的計算機程序產品,該計算機程序產品包括有形存儲介質,其可由一處理電路讀取且存儲用于由該處理電路執(zhí)行以實行一方法的指令,該方法包括接收對訪問共享資源的請求,該請求接收自執(zhí)行于處理器上的請求者,該接收是在連接至該處理器且連接至該共享資源的下一請求優(yōu)先權模塊處進行的;判定對于該共享資源的指定數目的最近優(yōu)先權授予中的任一個是否是對于該請求者的;響應于判定對于該共享資源的該指定數目的最近優(yōu)先權授予中無任何一個是對于該請求者的而向該請求授予對于該共享資源的優(yōu)先權;及響應于判定對于該共享資源的該指定數目的最近優(yōu)先權授予中的任一個是對于該請求者的而執(zhí)行以下操作判定對該共享資源中的一個或多個其他請求是否為待決的;響應于判定對該共享資源的其他請求并非為待決的而向該請求授予對于該共享資源的優(yōu)先權;以及響應于判定對該共享資源的一個或多個其他請求為待決的而判定是否應向這些其他請求中的一個授予對于該共享資源的優(yōu)先權。
16.如權利要求15的計算機程序產品,其中該請求者為虛擬服務器。
17.如權利要求15的計算機程序產品,其中該請求者為虛擬服務器組。
18.如權利要求15的計算機程序產品,其中該方法進一步包括響應于判定對該共享資源的其他請求并非為待決的而向該請求授予對于該共享資源的優(yōu)先權。
19.如權利要求15的計算機程序產品,其中該方法進一步包括響應于向該請求授予對于該共享資源的優(yōu)先權而將該請求傳輸至該共享資源。
20.如權利要求15的計算機程序產品,其中該下一請求優(yōu)先權模塊是由SCL實施的。
全文摘要
一種用于控制共享資源的分配的系統(tǒng)、方法及計算機程序產品。該系統(tǒng)包括下一請求優(yōu)先權模塊,其連接至共享資源且連接至由請求者標識符標識的多個請求者。該下一請求優(yōu)先權模塊包括待決請求機制,其對針對該共享資源的待決請求進行優(yōu)先權排序;記錄機制,其記錄與對于該共享資源的先前授予相關聯的請求者標識符;及下一請求優(yōu)先權邏輯。該下一請求優(yōu)先權邏輯訪問下一待決請求以判定是否應向下一待決請求授予對于該共享資源的優(yōu)先權。該判定響應于所記錄的請求者標識符且響應于該下一請求者標識符。響應于判定應向該下一待決請求授予對于該共享資源的優(yōu)先權而向該下一待決請求授予對于該共享資源的優(yōu)先權。響應于該授予而記錄該下一請求者標識符。
文檔編號G06F9/50GK102334103SQ201080009315
公開日2012年1月25日 申請日期2010年2月18日 優(yōu)先權日2009年2月25日
發(fā)明者T·小赫勒 申請人:國際商業(yè)機器公司