欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法和系統(tǒng)的制作方法

文檔序號(hào):6504755閱讀:130來(lái)源:國(guó)知局
經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明涉及經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法和系統(tǒng)。在處理器上運(yùn)行的當(dāng)前調(diào)度的虛擬機(jī)(VM)每次經(jīng)由當(dāng)前調(diào)度的VM、通過(guò)用于硬件資源的總線訪問(wèn)硬件資源時(shí),硬件組件在不涉及當(dāng)前調(diào)度的VM或者管理當(dāng)前調(diào)度的VM的監(jiān)管器的情況下,調(diào)整與針對(duì)硬件資源的總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器。響應(yīng)于帶寬計(jì)數(shù)器到達(dá)閾值,硬件組件發(fā)出中斷用于由監(jiān)管器處理以維護(hù)關(guān)于硬件資源的總線帶寬的帶寬服務(wù)質(zhì)量(QoS)。一旦定期時(shí)間間隔在帶寬計(jì)數(shù)器到達(dá)閾值之前到期,在不涉及當(dāng)前調(diào)度的VM或者監(jiān)管器的情況下,硬件組件將帶寬計(jì)數(shù)器重置至與當(dāng)前調(diào)度的VM相關(guān)聯(lián)的預(yù)定值,以便硬件組件不發(fā)出中斷并且監(jiān)管器不涉及重置帶寬計(jì)數(shù)器。
【專(zhuān)利說(shuō)明】經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及硬件資源帶寬,更具體,涉及經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法和系統(tǒng)。
【背景技術(shù)】
[0002]計(jì)算設(shè)備通常運(yùn)行對(duì)計(jì)算設(shè)備的硬件資源進(jìn)行訪問(wèn)的操作系統(tǒng)的一個(gè)實(shí)例。然而,作為虛擬化而已知的技術(shù)允許計(jì)算設(shè)備來(lái)運(yùn)行操作系統(tǒng)的多個(gè)實(shí)例。在虛擬化中,計(jì)算設(shè)備實(shí)例化多個(gè)此類(lèi)虛擬機(jī)(VM),并且每個(gè)VM運(yùn)行其自身的操作系統(tǒng)實(shí)例。

【發(fā)明內(nèi)容】

[0003]本公開(kāi)的一個(gè)實(shí)施方式的方法包括:每次在處理器上運(yùn)行的當(dāng)前調(diào)度的虛擬機(jī)(VM)經(jīng)由所述當(dāng)前調(diào)度的VM、通過(guò)用于硬件資源的總線訪問(wèn)所述硬件資源時(shí),在不涉及所述當(dāng)前調(diào)度的VM或者管理所述當(dāng)前調(diào)度的VM的監(jiān)管器(hypervisor)的情況下,硬件組件調(diào)整與針對(duì)所述硬件資源的所述總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器。所述方法包括,響應(yīng)于所述帶寬計(jì)數(shù)器到達(dá)閾值,由所述硬件組件發(fā)出中斷用于由所述監(jiān)管器處理以維護(hù)關(guān)于所述硬件資源的總線帶寬的帶寬服務(wù)質(zhì)量(QoS)。所述硬件資源和所述硬件組件各自是不同于所述處理器的硬件。所述帶寬計(jì)數(shù)器相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器而言直接以硬件實(shí)現(xiàn)。
[0004]本公開(kāi)的一個(gè)實(shí)施方式的系統(tǒng)包括:處理器;虛擬機(jī)(VM),用以在所述處理器上運(yùn)行;監(jiān)管器,用以管理所述VM并且用以調(diào)度所述VM來(lái)在所述處理器上運(yùn)行;硬件資源;總線,將所述處理器連接至所述硬件資源;帶寬計(jì)數(shù)器以及硬件組件。所述帶寬計(jì)數(shù)器與所述硬件資源的所述總線的使用相關(guān)聯(lián),并且相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器直接以硬件實(shí)現(xiàn)。硬件組件用以當(dāng)每次所述VM運(yùn)行在所述處理器上通過(guò)所述總線訪問(wèn)所述硬件資源時(shí),在不涉及所述VM或者所述監(jiān)管器的情況下調(diào)整所述帶寬計(jì)數(shù)器。所述硬件資源和所述硬件組件各自是不同于所述處理器的硬件。
[0005]本公開(kāi)的一個(gè)實(shí)施方式的計(jì)算機(jī)可讀數(shù)據(jù)存儲(chǔ)介質(zhì)存儲(chǔ)由處理器可執(zhí)行的計(jì)算機(jī)程序以實(shí)現(xiàn)監(jiān)管器。所述處理器運(yùn)行由所述監(jiān)管器管理的、并且用于由所述監(jiān)管器調(diào)度用于在所述處理器上運(yùn)行的第一虛擬機(jī)(VM)和第二 VM。所述計(jì)算機(jī)程序使得所述監(jiān)管器執(zhí)行一種方法,所述方法包括如下:響應(yīng)于與用于硬件資源的總線的使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器到達(dá)閾值、并且指示當(dāng)前運(yùn)行在所述處理器上的所述第一 VM已經(jīng)使用了相關(guān)于所述硬件資源的帶寬分配,由硬件組件發(fā)出中斷。切換使得所述第二 VM而不是所述第一 VM在所述處理器上運(yùn)行。所述帶寬計(jì)數(shù)器重置至與所述第二 VM相關(guān)聯(lián)的預(yù)定值。所述硬件資源和所述硬件組件是各自不同于所述處理器的硬件。所述帶寬計(jì)數(shù)器相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器而言直接以硬件實(shí)現(xiàn)。
[0006]本公開(kāi)的另一實(shí)施方式的方法包括:每次在處理器上運(yùn)行的當(dāng)前調(diào)度的虛擬機(jī)(VM)經(jīng)由所述當(dāng)前調(diào)度的VM、通過(guò)用于所述硬件存儲(chǔ)器的總線訪問(wèn)所述硬件存儲(chǔ)器時(shí),由硬件存儲(chǔ)器控制器在不涉及當(dāng)前調(diào)度的VM或者管理所述當(dāng)前調(diào)度的VM的監(jiān)管器的情況下,將與用于所述硬件資源的所述總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器遞減。所述方法包括,響應(yīng)于所述帶寬計(jì)數(shù)器到達(dá)O,由所述硬件存儲(chǔ)器控制器發(fā)出中斷,用于由所述監(jiān)管器處理以維護(hù)相關(guān)于所述硬件存儲(chǔ)器的總線帶寬服務(wù)質(zhì)量(QoS)。相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器,所述帶寬計(jì)數(shù)器直接地以硬件實(shí)現(xiàn)。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0007]在此所引用的附圖形成說(shuō)明書(shū)的一部分。在附圖中示出的特征僅僅示出了本公開(kāi)的某些實(shí)施方式,而并非示出本公開(kāi)的全部實(shí)施方式,除非詳細(xì)描述中明確給出相反指示,說(shuō)明書(shū)的讀者不應(yīng)當(dāng)理解為相反暗示。
[0008]圖1是示例計(jì)算系統(tǒng)的圖示,其中硬件資源帶寬服務(wù)質(zhì)量(QoS)是經(jīng)由硬件計(jì)數(shù)器維護(hù)的;
[0009]圖2是用于經(jīng)由圖1的計(jì)算系統(tǒng)中的硬件計(jì)數(shù)器來(lái)維護(hù)的硬件資源帶寬QoS的示例方法;
[0010]圖3是其中硬件資源帶寬QoS經(jīng)由硬件計(jì)數(shù)器來(lái)維護(hù)的計(jì)算系統(tǒng)的另一示例,并且該計(jì)算系統(tǒng)與圖1的計(jì)算系統(tǒng)相一致但是更加具體;
[0011]圖4是用于經(jīng)由圖3的計(jì)算系統(tǒng)中的硬件技術(shù)器來(lái)維護(hù)的硬件資源帶寬QoS的示例方法的流程圖,并且該流程與圖2的方法相一致但是更加具體。
【具體實(shí)施方式】
[0012]在下文中,本公開(kāi)的示例性實(shí)施方式的詳細(xì)說(shuō)明引用了形成描述的一部分的附圖。附圖示出了其中可以實(shí)踐本公開(kāi)的具體示例性實(shí)施方式。詳細(xì)描述(包括附圖)以充分的細(xì)節(jié)描述了這些實(shí)施方式,以支持本領(lǐng)域技術(shù)人員來(lái)實(shí)踐本公開(kāi)。本領(lǐng)域技術(shù)人員可以進(jìn)一步利用本公開(kāi)的其他實(shí)施方式,并且在不脫離本公開(kāi)的精神和范圍的情況下,可以做出邏輯上、機(jī)械上和其他方面的改變。下文的詳細(xì)描述的讀者不應(yīng)將描述理解為限制性方式,而是僅有所附的權(quán)利要求書(shū)限定本公開(kāi)的實(shí)施方式的范圍。
[0013]如【背景技術(shù)】部分所記載,虛擬化技術(shù)允許計(jì)算設(shè)備在相同計(jì)算設(shè)備上運(yùn)行操作系統(tǒng)的一個(gè)以上的實(shí)例,就如同存在多個(gè)計(jì)算設(shè)備那樣,這些實(shí)例被稱(chēng)作虛擬機(jī)(VM)。VM通常共享給定計(jì)算設(shè)備的硬件資源(如,存儲(chǔ)器和處理器)。VM管理器(VMM)或者監(jiān)管器管理VM,確保他們按照特定保留、分配或者優(yōu)先級(jí)來(lái)適當(dāng)?shù)毓蚕碛?jì)算設(shè)備的硬件資源,這通常被稱(chēng)作賦予VM的庇護(hù)期項(xiàng)(umbrella term)或者階段服務(wù)質(zhì)量(QoS)。
[0014]對(duì)于如硬件存儲(chǔ)器的給定硬件資源,盡管可以保留被分配給給定VM的計(jì)算設(shè)備的全部數(shù)量的存儲(chǔ)器,然而對(duì)于或者相關(guān)于此類(lèi)存儲(chǔ)器的相關(guān)度量、總線帶寬是難以指定的。當(dāng)VM運(yùn)行在計(jì)算設(shè)備上的處理器上時(shí),VM通過(guò)總線來(lái)訪問(wèn)硬件存儲(chǔ)器,該總線可以將存儲(chǔ)器控制器(諸如存儲(chǔ)器管理單元,MMU)互聯(lián)至硬件存儲(chǔ)器和處理器兩者。這樣,由VM進(jìn)行的對(duì)存儲(chǔ)器的訪問(wèn)(借助于其在所討論處理器上運(yùn)行)使用總線的帶寬。確保每個(gè)VM被賦予適當(dāng)量的帶寬,然而,特別是在沒(méi)有以協(xié)作性方式包括VM的情況下,和/或在不涉及監(jiān)管器自身的情況下,這是難以實(shí)現(xiàn)的。使用此類(lèi)面向軟件的解決方案來(lái)管理存儲(chǔ)器帶寬QoS,可能會(huì)導(dǎo)致VM不期望的性能降級(jí)。[0015]通過(guò)比較,在此公開(kāi)的技術(shù)提供硬件為中心的、并且實(shí)際上至少在某些實(shí)現(xiàn)中是僅硬件的解決方案,以管理涉及硬件存儲(chǔ)器和其他硬件資源的總線帶寬,從而維護(hù)此類(lèi)總線帶寬QoS。硬件寄存器直接地由特定硬件組件(諸如存儲(chǔ)器控制器)可訪問(wèn),而無(wú)需涉及如監(jiān)管器的軟件,或者,VM可以被設(shè)置至與VM相關(guān)聯(lián)的預(yù)定值,該VM當(dāng)前正調(diào)度用于在處理器上運(yùn)行。當(dāng)VM開(kāi)始時(shí)或者剛好在開(kāi)始在處理器上運(yùn)行之前,預(yù)定值被從硬件寄存器拷貝至帶寬計(jì)數(shù)器。帶寬計(jì)數(shù)器自身可以是由所討論硬件組件直接可訪問(wèn)的不同的硬件寄存器。
[0016]當(dāng)VM通過(guò)相應(yīng)總線訪問(wèn)所討論的硬件存儲(chǔ)器或者其他硬件資源時(shí),硬件組件調(diào)整與總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器。此類(lèi)調(diào)整例如可以是減量式的,并且不涉及當(dāng)前調(diào)度的VM、管理此VM的監(jiān)管器或者任何其他VM。VM實(shí)際上可以不知曉并且不具有關(guān)于正在被跟蹤的硬件資源的總線帶寬的知識(shí)。
[0017]如果在定期時(shí)間間隔(regular time interval,諸如I毫秒)之前逝去的帶寬計(jì)數(shù)器到達(dá)閾值,則硬件組件發(fā)出中斷。在帶寬計(jì)數(shù)器為減量的情況下,該閾值可以是O。監(jiān)管器處理此中斷(該中斷典型地是硬件中斷),因而關(guān)于所討論硬件資源的總線帶寬的QoS得到維護(hù)。例如,監(jiān)管器可以將當(dāng)前調(diào)度的VM切換用于不同的VM以在處理器上運(yùn)行,即使在已經(jīng)逝去了定期時(shí)間間隔也是如此,這是因?yàn)楫?dāng)前調(diào)度的VM已經(jīng)用盡其總線帶寬分配(對(duì)應(yīng)于從硬件寄存器拷貝至帶寬計(jì)數(shù)器的VM的預(yù)定值)達(dá)到定期時(shí)間間隔。
[0018]通過(guò)比較,如果在帶寬計(jì)數(shù)器到達(dá)閾值之前逝去了定期時(shí)間間隔,則硬件組件通過(guò)將用于VM的預(yù)定值從硬件寄存器拷貝至帶寬計(jì)數(shù)器,來(lái)重置帶寬計(jì)數(shù)器。在此情況下,帶寬計(jì)數(shù)器的重置中沒(méi)有涉及監(jiān)管器,并且硬件組件沒(méi)有發(fā)出任何中斷。這樣,經(jīng)由直接以硬件實(shí)現(xiàn)的帶寬計(jì)數(shù)器(相對(duì)于軟件實(shí)現(xiàn)的計(jì)數(shù)器),所討論硬件資源的總線帶寬的使用在硬件中被完全跟蹤。因而,除非并且直到當(dāng)前VM使用其所允許的帶寬,QoS維護(hù)不涉及監(jiān)管器,這導(dǎo)致硬件組件發(fā)出中斷。
[0019]此過(guò)程被重復(fù)直到生成中斷,或者直到到達(dá)作為處理器的定期調(diào)度的一部分而使得當(dāng)前VM被切換用于新的VM在處理器上運(yùn)行。在后一情況下,監(jiān)管器拷貝預(yù)定值,該預(yù)定值對(duì)應(yīng)于向硬件寄存器進(jìn)行的新的VM的總線帶寬分配,并且上述過(guò)程針對(duì)新的VM而再次開(kāi)始以在處理器上運(yùn)行,通過(guò)將預(yù)定值從硬件寄存器拷貝至帶寬計(jì)數(shù)器,每次當(dāng)通過(guò)總線訪問(wèn)硬件資源時(shí)則調(diào)整計(jì)數(shù)器,等等。每個(gè)VM可以具有不同的預(yù)定值,該預(yù)定值對(duì)應(yīng)于其針對(duì)硬件資源的總線帶寬分配。
[0020]由此,至少在某些實(shí)現(xiàn)中,監(jiān)管器僅被涉及到兩次:當(dāng)硬件組件發(fā)出中斷時(shí),并且當(dāng)當(dāng)前正運(yùn)行在處理器上的VM將被切換用于不同處理器時(shí)。因此,在此描述的技術(shù)不需要監(jiān)管器部分的過(guò)多開(kāi)銷(xiāo)(如果有的話),這是由于當(dāng)此類(lèi)帶寬正在被使用時(shí),監(jiān)管器自己不必保持由VM對(duì)硬件資源的帶寬使用的跟蹤,而是,硬件組件執(zhí)行。此外,如上所述,至少在某些實(shí)施方式中,VM不必并且實(shí)際上不知曉其帶寬使用正在被跟蹤。
[0021]圖1示出了示例計(jì)算系統(tǒng)100,其可以在單一計(jì)算設(shè)備(諸如單一計(jì)算機(jī))上執(zhí)行,或者可以在多個(gè)計(jì)算設(shè)備(諸如多計(jì)算機(jī))上實(shí)現(xiàn)。計(jì)算系統(tǒng)100包括硬件102和軟件104。軟件104由硬件102實(shí)現(xiàn)(如由符號(hào)105指示),在此情況下硬件102執(zhí)行軟件104。
[0022]計(jì)算系統(tǒng)100的硬件102包括至少一個(gè)處理器106、硬件組件108和硬件資源110。處理器106、硬件組件108和硬件資源110通過(guò)硬件總線112 (相關(guān)于和/或用于硬件資源110)物理地彼此連接。例如,當(dāng)硬件資源110是硬件存儲(chǔ)器時(shí),硬件組件108可以是MMU或者其他存儲(chǔ)器控制器,因而總線112是硬件存儲(chǔ)器先。除了如圖1中繪出的處理器106、硬件組件108、硬件資源110和總線112,硬件102可以并且典型地包括其他硬件。僅作為一個(gè)示例,在處理器106以外還可以存在多個(gè)處理器。
[0023]在圖1的示例中,處理器106直接通過(guò)硬件總線112訪問(wèn)硬件資源110。當(dāng)硬件資源110是硬件存儲(chǔ)器時(shí),此類(lèi)實(shí)現(xiàn)可以被稱(chēng)作直接存儲(chǔ)器訪問(wèn)(DMA)方案,其中處理器106訪問(wèn)硬件存儲(chǔ)器。然而,在其他實(shí)現(xiàn)中,由處理器106對(duì)硬件資源110的訪問(wèn)可能會(huì)通過(guò)硬件組件108自身來(lái)實(shí)現(xiàn)。注意,在此使用的術(shù)語(yǔ)處理器106可以涵蓋多核處理器的單核處理器,其中這里的核是虛擬的或者實(shí)際的物理處理器的核。例如,某些處理器具有兩個(gè)或者更多的物理核,并且每個(gè)物理核可以被劃分為兩個(gè)或者更多虛擬核。術(shù)語(yǔ)處理器由此涵蓋每個(gè)多核處理器的此類(lèi)物理核和/或每個(gè)虛擬核。
[0024]計(jì)算系統(tǒng)100的硬件102還包括帶寬計(jì)數(shù)器114,從而當(dāng)處理器106訪問(wèn)硬件資源110時(shí),硬件組件108調(diào)整以跟蹤總線112的使用。例如,硬件組件108可以在每次處理器106訪問(wèn)硬件資源110時(shí)將帶寬計(jì)數(shù)器114遞減。帶寬計(jì)數(shù)器114可以是硬件寄存器,并且在沒(méi)有涉及計(jì)算系統(tǒng)110的任何軟件104或者輔助的情況下由硬件組件108直接可訪問(wèn)。帶寬計(jì)數(shù)器114可以是硬件組件108自身或者硬件資源110或者處理器106的部分,諸如其硬件寄存器,盡管出于清楚的目的而在圖1中計(jì)數(shù)器114是單獨(dú)命名的。
[0025]計(jì)算系統(tǒng)100的軟件104包括監(jiān)管器116和多個(gè)VMl 18,諸如至少一個(gè)VMl 18。監(jiān)管器116管理VM118的安裝和刪除,并且進(jìn)一步管理運(yùn)行在處理器106上的VM的調(diào)度。監(jiān)管器116還可以稱(chēng)作VMM。每個(gè)虛擬機(jī)112是實(shí)際物理機(jī)(也即,計(jì)算機(jī)或者計(jì)算設(shè)備)的軟件實(shí)現(xiàn),其如同單獨(dú)的物理機(jī)那樣執(zhí)行軟件。每個(gè)VM118通常包括其自身的操作系統(tǒng)(稱(chēng)作訪客操作系統(tǒng)),并且其僅管理VMl 18而不管理所討論的可以運(yùn)行在相同宿主計(jì)算系統(tǒng)100上的其他VM。
[0026]圖2示出了示例方法200,通過(guò)該方法來(lái)以硬件中心的方式在計(jì)算系統(tǒng)100內(nèi),出于QoS的目的而管理硬件資源110的總線帶寬。方法200可以在調(diào)度方法內(nèi)操作,其中監(jiān)管器116在不同時(shí)間調(diào)度不同VM118以運(yùn)行在處理器106上。具體地,可以存在定期時(shí)間間隔,諸如每個(gè)I毫秒。監(jiān)管器116可以調(diào)度第一 VMl 18以在處理器106上運(yùn)行持續(xù)X個(gè)時(shí)間間隔,接著是第二 VM118在處理器106上運(yùn)行Y個(gè)時(shí)間間隔,以此類(lèi)推,其中X可以等于或者不同于Y。然而,如果第一 VM118使用其所分配的總線帶寬在給定的時(shí)間間隔內(nèi)用于硬件資源110,則監(jiān)管器116可以在處理器106已經(jīng)使用其X個(gè)時(shí)間間隔的處理器時(shí)間之前,提前切換出第一 VMl 18而用于第二 VMl 18在處理器106上運(yùn)行。
[0027]監(jiān)管器116由此調(diào)度VMl 18在處理器106上運(yùn)行(202)。此VMl 18被稱(chēng)作當(dāng)前調(diào)度的VM118。針對(duì)當(dāng)前調(diào)度的VMl 18的預(yù)定值被拷貝至帶寬計(jì)數(shù)器114(204)。預(yù)定值是與當(dāng)前被調(diào)度VM118相關(guān)聯(lián)的,并且對(duì)應(yīng)于VM118被允許在每個(gè)定期時(shí)間間隔期間使用的總線112的帶寬數(shù)量,當(dāng)訪問(wèn)硬件資源110時(shí),VM118運(yùn)行在處理器106上。即,預(yù)定值對(duì)應(yīng)于在每個(gè)定期時(shí)間間隔中硬件資源110的當(dāng)前調(diào)度的VM118的總線帶寬QoS。定期時(shí)間間隔由此開(kāi)始(206)。
[0028]當(dāng)運(yùn)行在處理器106上時(shí),每次當(dāng)前調(diào)度的VM118通過(guò)總線112訪問(wèn)硬件資源110時(shí),硬件組件108相應(yīng)地調(diào)整帶寬計(jì)數(shù)器114(208)。作為此類(lèi)調(diào)整的結(jié)果,如果帶寬計(jì)數(shù)器114到達(dá)閾值(210),則硬件組件108發(fā)出中斷,諸如硬件中斷(212)。中斷向監(jiān)管器116發(fā)送信號(hào):當(dāng)前調(diào)度的VM118將被從處理器106上切換出而用于不同的新的VM118(也即,新近調(diào)度的VM118),以便方法在部分202處循環(huán)。
[0029]然而,如果帶寬計(jì)數(shù)器114沒(méi)有到達(dá)閾值(210),并且如果當(dāng)前定期時(shí)間間隔尚未過(guò)去或者到期(214),則方法200返回部分208。如果帶寬計(jì)數(shù)器114在當(dāng)前定期時(shí)間間隔期間沒(méi)有到達(dá)閾值,則方法200從部分210前進(jìn)至部分214,繼而前進(jìn)至部分216。如果還沒(méi)有到達(dá)調(diào)度新的VM118(也即,新近調(diào)度的VM118)在處理器106上運(yùn)行的時(shí)間,則硬件組件108重置帶寬計(jì)數(shù)器114至用于當(dāng)前調(diào)度VM118的預(yù)定值(218),并且方法200返回部分206并以新的定期時(shí)間間隔開(kāi)始。
[0030]這樣,如果當(dāng)前調(diào)度的VM118沒(méi)有超過(guò)其相關(guān)于硬件資源110的總線帶寬,則帶寬計(jì)數(shù)器114在當(dāng)此VM118正在處理器106上運(yùn)行的任何時(shí)間間隔期間內(nèi)從來(lái)不會(huì)到達(dá)閾值,這樣,將會(huì)有時(shí)間在處理器106上調(diào)度新的VMl 18在處理器106上運(yùn)行。此時(shí),方法200從部分216進(jìn)行至部分212,此時(shí)硬件組件108可以發(fā)出硬件中斷,還可以信號(hào)通知監(jiān)管器116:現(xiàn)在是將正在處理器106上運(yùn)行的VM118切換出的時(shí)間。例如,上述示例中,第一 VMl 18被調(diào)度以在處理器106上運(yùn)行X個(gè)定期時(shí)間間隔,在任何給定間隔期間一旦X這樣的間隔已經(jīng)流逝而第一 VMl 18沒(méi)有用盡其帶寬QoS,則第一 VMl 18被在處理器106上切換出以用于第二 VM118。
[0031]由此,應(yīng)當(dāng)注意,除了當(dāng)監(jiān)管器116必須調(diào)度VM118用于在處理器106上運(yùn)行時(shí),在跟蹤當(dāng)前正在處理器106上運(yùn)行的VMl 18的總線帶寬并且此VMl 18正在通過(guò)總線112訪問(wèn)硬件資源110時(shí),沒(méi)有涉及軟件。尤其是,沒(méi)有涉及監(jiān)管器或者任何VM118。在跟蹤此類(lèi)帶寬使用中僅涉及硬件,尤其是,硬件組件108調(diào)節(jié)帶寬計(jì)數(shù)器114,這是直接以硬件實(shí)現(xiàn)的并且組件108可以直接訪問(wèn)。當(dāng)常規(guī)時(shí)間間隔結(jié)束并且還不是用于調(diào)度新的VM118在處理器上106上運(yùn)行的時(shí)間時(shí),硬件組件108在沒(méi)有涉及任何軟件的情況下在部分218中重置帶寬計(jì)數(shù)器114。
[0032]這樣,至少在某些實(shí)施方式中,僅響應(yīng)于由硬件組件108發(fā)出的中斷而涉及監(jiān)管器116,并且更一般地,如上所述,在當(dāng)VM118被調(diào)度用于在處理器106上運(yùn)行時(shí)涉及監(jiān)管器116。從部分210,硬件組件108在部分212中發(fā)出中斷,以便信號(hào)通知監(jiān)管器116:當(dāng)前運(yùn)行的VMl 18已經(jīng)超過(guò)其對(duì)于硬件資源110的定期時(shí)間間隔帶寬QoS。從部分216,硬件組件108可以發(fā)出中斷以信號(hào)通知監(jiān)管器116 (或者監(jiān)管器116可以以其他方式知曉):當(dāng)前調(diào)度的VM118沒(méi)有過(guò)早地結(jié)束其在處理器106上預(yù)調(diào)度的定期時(shí)間間隔的數(shù)量(相對(duì)于在部分210中到達(dá)閾值而提前此類(lèi)結(jié)束的情況)。
[0033]此外,如上所述,不同VM118可以具有不同的總線帶寬QoS,從而不同的VM118可以在部分204中將不同的預(yù)定值拷貝至帶寬計(jì)數(shù)器114,并且在部分218中將帶寬計(jì)數(shù)器114進(jìn)行重置。例如,在計(jì)算亦服務(wù)的情況下,用戶或者客戶可以不管理其自身的計(jì)算系統(tǒng),而是向服務(wù)提供者支付費(fèi)用,以針對(duì)相同或者不同用戶來(lái)提供此服務(wù)作為一個(gè)或者多個(gè)VM118。給定用戶可以支付較高費(fèi)用以用于相關(guān)于所討論的硬件資源110較高帶寬QoS,從而此用戶的一個(gè)或者多個(gè)VM118被提供有較高預(yù)定值用于帶寬計(jì)數(shù)器114。
[0034]出于清楚示出的目的而以特定順序描述的方法200的各個(gè)部分。然而實(shí)際上,方法200的至少某些部分可以更多地是事件驅(qū)動(dòng)的,而不是以圖2所示的順序來(lái)指示。例如,當(dāng)前調(diào)度的VM118運(yùn)行于其上的處理器106通過(guò)總線112訪問(wèn)硬件資源110的事件可以觸發(fā)執(zhí)行部分208。帶寬計(jì)數(shù)器114到達(dá)閾值的事件可以觸發(fā)執(zhí)行部分212。定期時(shí)間間隔到期的事件可以觸發(fā)執(zhí)行部分218。到達(dá)調(diào)度新的VM118用于在處理器106上運(yùn)行的事件可以觸發(fā)執(zhí)行部分212。
[0035]圖3示出了計(jì)算系統(tǒng)100的另一示例,該示例與圖1中繪出的示例相一致卻更為具體。在圖3中,硬件102、軟件104、處理器106、硬件組件108、總線112、監(jiān)管器116和VM如圖1中所繪。然而,硬件資源110在圖3中更為具體地示出為硬件存儲(chǔ)器310,該硬件存儲(chǔ)器310作為硬件資源110的一個(gè)特定類(lèi)型。此外,硬件組件108示出為包括兩個(gè)硬件寄存器320和322,其分別存儲(chǔ)緩存114和預(yù)定值324。換言之,帶寬計(jì)數(shù)器114實(shí)現(xiàn)為硬件寄存器320。
[0036]注意,計(jì)算系統(tǒng)100的其他實(shí)現(xiàn)可以包括將圖1具體化的圖3中的某些但不是全部方面。例如,硬件存儲(chǔ)器310可以由其他類(lèi)型的硬件資源110替換,然而硬件寄存器320和322實(shí)現(xiàn)為如圖3所示,反之亦然。此外,硬件寄存器320和322可以是硬件組件108以外的硬件的一部分,諸如硬件存儲(chǔ)器310自身、處理器106、另一硬件資源110或者其他類(lèi)型的硬件。
[0037]在圖3中,硬件資源320由此存儲(chǔ)上文已經(jīng)相關(guān)于圖1和圖2描述的帶寬計(jì)數(shù)器114。硬件寄存器322存儲(chǔ)預(yù)定值324,該預(yù)定值324是:當(dāng)新的VMl 18正在調(diào)度用于在處理器106上運(yùn)行時(shí)帶寬計(jì)數(shù)器114被設(shè)置,以及當(dāng)尚未到達(dá)預(yù)定閾值時(shí)在定期數(shù)據(jù)間隔結(jié)束時(shí)計(jì)數(shù)器114被重置的預(yù)定值。當(dāng)調(diào)度新的VM118用于在處理器106上運(yùn)行時(shí),監(jiān)管器116可以在硬件寄存器322內(nèi)設(shè)置預(yù)定值324,其中硬件組件108繼而可以將該預(yù)定值324拷貝至硬件寄存器320內(nèi)的帶寬計(jì)數(shù)器114。通過(guò)比較,當(dāng)尚未到達(dá)預(yù)定閾值時(shí)在定期時(shí)間間隔結(jié)束處,硬件組件108將硬件寄存器320內(nèi)的帶寬計(jì)數(shù)器114重置至硬件寄存器322內(nèi)的預(yù)定值。
[0038]圖4示出了示例方法200,通過(guò)該方法來(lái)管理硬件存儲(chǔ)器310的總線帶寬,用于以圖3的示例計(jì)算機(jī)系統(tǒng)100內(nèi)的硬件中心方式來(lái)管理QoS的目的。在圖4中,部分202、206、212,214和216繪出為如圖2中所示。然而,圖2的部分204已經(jīng)被圖4中的部分404所替代,并且圖4的部分418還可以認(rèn)為是在圖2的部分204內(nèi)被執(zhí)行。圖2的部分208已經(jīng)由部分408所替代,并且部分210已經(jīng)由圖4的部分410所替代。此外,圖4的部分418可以被認(rèn)為是替代或者針對(duì)圖2的部分218而被執(zhí)行。圖4的部分418由此可以被認(rèn)為是在圖2的部分204和216的每一個(gè)內(nèi)被執(zhí)行。
[0039]監(jiān)管器116調(diào)度VMl 18用于在處理器106上運(yùn)行(202)。監(jiān)管器116進(jìn)一步將預(yù)定值來(lái)作為預(yù)定值324來(lái)拷貝至硬件寄存器322(404),該預(yù)定值對(duì)應(yīng)于針對(duì)硬件存儲(chǔ)器310的當(dāng)前調(diào)度的VM118的總線帶寬QoS。在定期時(shí)間間隔開(kāi)始之前或者開(kāi)始時(shí),硬件組件108 (可以是例如MMU的存儲(chǔ)器控制器)從硬件寄存器322來(lái)向硬件寄存器320拷貝預(yù)定值324,作為帶寬計(jì)數(shù)器114(418)。定期時(shí)間間隔由此開(kāi)始(206)。
[0040]每次當(dāng)前調(diào)度的VM118(運(yùn)行在處理器106上)通過(guò)總線112訪問(wèn)硬件存儲(chǔ)器310時(shí),硬件組件108相應(yīng)地遞減硬件寄存器320的帶寬計(jì)數(shù)器114(408)。作為這種遞減的結(jié)果,如果帶寬計(jì)數(shù)器114到達(dá)閾值“O”(410),則硬件組件108發(fā)出中斷(212)。此中斷信號(hào)通知監(jiān)管器116:當(dāng)前調(diào)度的VM118將被在處理器106上切換出而用于不同的新的VMl 18(即,新近調(diào)度的VMl 18),繼而方法200在部分202處重復(fù)。
[0041]然而,如果硬件寄存器320的帶寬計(jì)數(shù)器114尚未到達(dá)“O”(410),并且如果當(dāng)前定期時(shí)間間隔尚未逝去或者過(guò)期(214),則方法200返回部分214。如果硬件寄存器320的帶寬計(jì)數(shù)器114在當(dāng)前定期時(shí)間間隔期間沒(méi)有到達(dá)“0”,則方法200從部分410前進(jìn)至部分214,繼而前進(jìn)至部分216。如果尚未到達(dá)調(diào)度新的VM118在處理器106上運(yùn)行的時(shí)間,則硬件組件108將硬件寄存器320的帶寬計(jì)數(shù)器114重置為用于當(dāng)前調(diào)度VM118的預(yù)定值324。即,方法200返回部分418,此時(shí)硬件組件108再次從硬件寄存器322將預(yù)定值324拷貝至硬件寄存器320,以重置帶寬計(jì)數(shù)器114。方法200繼而在部分206開(kāi)始繼續(xù)新的定期時(shí)間間隔。
[0042]圖4繼而至少以如下方式來(lái)具體化圖2。首先,相對(duì)于在參見(jiàn)圖2描述的方法200情況下的圖1的示例,參見(jiàn)圖4來(lái)描述的方法200涉及圖3示例中的計(jì)算系統(tǒng)100。第二,參見(jiàn)圖4描述的方法200提供了經(jīng)由如下方式來(lái)提供用于拷貝圖2的部分204中的VM118的預(yù)定值:在部分404中向硬件寄存器322拷貝預(yù)定值324,以及繼而在部分418中將此預(yù)定值324從硬件寄存器322拷貝至作為帶寬計(jì)數(shù)器114的硬件寄存器320。類(lèi)似地,第三,參見(jiàn)圖4描述的方法200還提供了經(jīng)由如下方法來(lái)提供圖2中部分218的重置帶寬計(jì)數(shù)器114:在部分418中,從硬件寄存器322向作為帶寬計(jì)數(shù)器114的硬件寄存器320拷貝預(yù)定值324。經(jīng)由圖3來(lái)具體化圖1,經(jīng)由圖4來(lái)具體化圖2可以包括圖4中的某些但不是全部的方面。
[0043]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱(chēng)為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0044]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0045]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0046]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括——但不限于——無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。[0047]通常,計(jì)算機(jī)程序產(chǎn)品包括其上存儲(chǔ)一個(gè)或者多個(gè)計(jì)算機(jī)程序的計(jì)算機(jī)可讀介質(zhì)。由一個(gè)或者多個(gè)硬件設(shè)備的一個(gè)或者多個(gè)處理器從計(jì)算機(jī)可讀介質(zhì)執(zhí)行計(jì)算機(jī)程序,這使得執(zhí)行一種方法。例如,該方法可以是上文已經(jīng)描述的一個(gè)或者多個(gè)方法。
[0048]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言-諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言-諸如“C”語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(yǔ)言。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)-連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0049]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0050]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。
[0051]計(jì)算機(jī)程序指令還可以被加載至計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或者其他設(shè)備,用以使得在計(jì)算機(jī)、其他可編程裝置或者其他設(shè)備上執(zhí)行一系列操作步驟,以便產(chǎn)生計(jì)算機(jī)執(zhí)行的過(guò)程,從而在計(jì)算機(jī)或者其他可編程裝置上執(zhí)行的執(zhí)行提供處理,用以執(zhí)行在流程圖和/或框圖的一個(gè)或者多個(gè)方框中指定的功能/動(dòng)作。
[0052]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專(zhuān)用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專(zhuān)用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0053]最后應(yīng)當(dāng)注意,盡管已經(jīng)在此示出并描述了【具體實(shí)施方式】,應(yīng)當(dāng)理解,本領(lǐng)域技術(shù)人員利用實(shí)現(xiàn)相同目的的計(jì)算設(shè)置可以替代所示出【具體實(shí)施方式】。此申請(qǐng)由此旨在覆蓋本發(fā)明的實(shí)施方式的調(diào)整或者變形。這樣并且繼而,其旨在表明本發(fā)明僅受到權(quán)利要求書(shū)及其等效設(shè)置的限制。
【權(quán)利要求】
1.一種方法,包括: 每次在處理器上運(yùn)行的當(dāng)前調(diào)度的虛擬機(jī)(VM)經(jīng)由所述當(dāng)前調(diào)度的VM、通過(guò)用于硬件資源的總線訪問(wèn)所述硬件資源時(shí),通過(guò)硬件組件并且在不涉及所述當(dāng)前調(diào)度的VM或者管理所述當(dāng)前調(diào)度的VM的監(jiān)管器的情況下,調(diào)整與針對(duì)所述硬件資源的所述總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器;以及 響應(yīng)于所述帶寬計(jì)數(shù)器到達(dá)閾值,由所述硬件組件發(fā)出中斷用于由所述監(jiān)管器處理以維護(hù)關(guān)于所述硬件資源的總線帶寬的帶寬服務(wù)質(zhì)量(QoS), 其中所述硬件資源和所述硬件組件各自是不同于所述處理器的硬件, 以及其中所述帶寬計(jì)數(shù)器相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器而言直接以硬件實(shí)現(xiàn)。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 一旦定期時(shí)間間隔在所述帶寬計(jì)數(shù)器到達(dá)所述閾值之前到期,通過(guò)硬件組件并且在不涉及當(dāng)前調(diào)度的VM或者監(jiān)管器的情況下,將所述帶寬計(jì)數(shù)器重置至與所述當(dāng)前調(diào)度的VM相關(guān)聯(lián)的預(yù)定值, 以便由所述硬件組件不發(fā)出中斷并且所述監(jiān)管器不涉及重置所述帶寬計(jì)數(shù)器。
3.根據(jù)權(quán)利要求2所述的方法,其中由所述硬件組件將所述帶寬計(jì)數(shù)器重置至所述預(yù)定值包括: 通過(guò)所述硬件組件并且在不涉及所述當(dāng)前調(diào)度的VM或者所述監(jiān)管器的情況下,從由所述硬件組件直接可訪問(wèn)的硬件寄存器來(lái)拷貝所述預(yù)定值。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 一旦所述當(dāng)前調(diào)度的VM必須被切換用于新近調(diào)度的VM而不是所述當(dāng)前調(diào)度的VM來(lái)現(xiàn)在在所述處理器上運(yùn)行,則由所述監(jiān)管器將所述帶寬計(jì)數(shù)器重置至與所述新近調(diào)度的VM相關(guān)聯(lián)的預(yù)定值。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括: 一旦所述當(dāng)前調(diào)度的VM必須被切換用于所述新近調(diào)度的VM,則相對(duì)于作為軟件實(shí)現(xiàn)的寄存器,由所述監(jiān)管器將所述預(yù)定值拷貝至直接以硬件實(shí)現(xiàn)的硬件寄存器,所述硬件寄存器由所述硬件組件直接可訪問(wèn)。
6.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在每次所述當(dāng)前調(diào)度的VM通過(guò)用于所述硬件資源的所述總線訪問(wèn)所述硬件資源而調(diào)整所述帶寬計(jì)數(shù)器之前,將所述帶寬計(jì)數(shù)器重置至與所述當(dāng)前調(diào)度的VM相關(guān)聯(lián)的預(yù)定值。
7.根據(jù)權(quán)利要求6所述的方法,進(jìn)一步包括: 在每次所述當(dāng)前調(diào)度的VM通過(guò)用于所述硬件資源的所述總線訪問(wèn)所述硬件資源而調(diào)整所述帶寬計(jì)數(shù)器之前,相對(duì)于作為軟件實(shí)現(xiàn)的寄存器,由所述監(jiān)管器來(lái)將所述預(yù)定值拷貝至以硬件直接實(shí)現(xiàn)的硬件寄存器,所述硬件寄存器由所述硬件組件直接可訪問(wèn)。
8.根據(jù)權(quán)利要求1所述的方法,其中所述帶寬計(jì)數(shù)器是由所述硬件組件直接可訪問(wèn)的硬件寄存器。
9.根據(jù)權(quán)利要求1的方法,其中所述硬件資源是硬件存儲(chǔ)器,而所述硬件組件是硬件存儲(chǔ)器控制器。
10.一種系統(tǒng),包括:` 處理器;虛擬機(jī)(VM),用以在所述處理器上運(yùn)行; 監(jiān)管器,用以管理所述VM并且用以調(diào)度所述VM來(lái)在所述處理器上運(yùn)行; 硬件資源; 總線,將所述處理器連接至所述硬件資源; 帶寬計(jì)數(shù)器,與用于所述硬件資源的所述總線的使用相關(guān)聯(lián),并且相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器而言直接以硬件實(shí)現(xiàn);以及 硬件組件,用以在不涉及所述VM或者所述監(jiān)管器的情況下,當(dāng)每次所述VM運(yùn)行在所述處理器上通過(guò)所述總線訪問(wèn)所述硬件資源時(shí),調(diào)整所述帶寬計(jì)數(shù)器, 其中所述硬件資源和所述硬件組件各自是不同于所述處理器的硬件。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述硬件組件響應(yīng)于所述帶寬計(jì)數(shù)器到達(dá)閾值,而發(fā)出中斷以用于由所述監(jiān)管器處理,以維護(hù)關(guān)于所述硬件資源的總線帶寬的帶寬服務(wù)質(zhì)量(QoS)。
12.根據(jù)權(quán)利要求10所述的系統(tǒng),其中一旦定期時(shí)間間隔在所述帶寬計(jì)數(shù)器到達(dá)所述閾值之前到期,所述硬件組件在不涉及VM或者監(jiān)管器的情況下,將所述帶寬計(jì)數(shù)器重置至與所述VM相關(guān)聯(lián)的預(yù)定值, 以便由所述硬件組件不發(fā)出中斷并且所述監(jiān)管器不涉及重置所述帶寬計(jì)數(shù)器。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),進(jìn)一步包括:由所述硬件組件直接可訪問(wèn)的硬件寄存器,所述硬件寄存器用以存儲(chǔ)所述預(yù)定值,以及所述硬件組件通過(guò)從所述硬件寄存器拷貝所述預(yù)定值來(lái)重置所述帶寬計(jì)數(shù)器。
14.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述VM是第一VM, 其中所述系統(tǒng)進(jìn)一步包括第二 VM用以在所述處理器上運(yùn)行,所述監(jiān)管器用以管理所述第二 W,并且用以調(diào)度所述第二 VM在所述處理器上運(yùn)行, 以及其中一旦所述第一 VM運(yùn)行在所述處理器上并且必須被切換用于將所述第二 VM而不是所述第一 VM現(xiàn)在將在所述處理器上運(yùn)行,則所述監(jiān)管器將所述帶寬計(jì)數(shù)器重置至與所述第二 VM相關(guān)聯(lián)的預(yù)定值。
15.根據(jù)權(quán)利要求14所述的系統(tǒng),進(jìn)一步包括:由所述硬件組件直接可訪問(wèn)的硬件寄存器,所述監(jiān)管器用以將所述預(yù)定值拷貝至所述硬件寄存器。
16.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述帶寬計(jì)數(shù)器是由所述硬件組件直接可訪問(wèn)的硬件寄存器。
17.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述硬件資源是硬件存儲(chǔ)器,以及所述硬件組件是硬件存儲(chǔ)器控制器。
18.—種由監(jiān)管器執(zhí)行的用于維護(hù)硬件資源帶寬服務(wù)質(zhì)量的方法,其中處理器被用于實(shí)現(xiàn)所述監(jiān)管器,并且進(jìn)一步運(yùn)行由所述監(jiān)管器管理的、并且用于由所述監(jiān)管器調(diào)度用于在所述處理器上運(yùn)行的第一虛擬機(jī)(VM)和第二 VM,所述方法包括: 響應(yīng)于與用于硬件資源的總線的使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器到達(dá)閾值、并且指示當(dāng)前運(yùn)行在所述處理器上的所述第一 VM已經(jīng)使用了相關(guān)于所述硬件資源的預(yù)定帶寬分配,響應(yīng)于由硬件組件正在發(fā)出中斷, 切換使得所述第二 VM而不是所述第一 VM在所述處理器上運(yùn)行;以及 將所述帶寬計(jì)數(shù)器重置至與所述第二 VM相關(guān)聯(lián)的預(yù)定值,其中所述硬件資源和所述硬件組件是各自不同于所述處理器的硬件, 以及其中所述帶寬計(jì)數(shù)器相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器而言直接以硬件實(shí)現(xiàn)。
19.根據(jù)權(quán)利要求18所述的方法,其中所述方法進(jìn)一步包括:響應(yīng)于由所述硬件組件發(fā)出中斷: 相對(duì)于作為軟件實(shí)現(xiàn)的寄存器,向直接以硬件實(shí)現(xiàn)的硬件寄存器拷貝所述預(yù)定值,所述硬件寄存器直接由所述硬件組件可訪問(wèn)。
20.根據(jù)權(quán)利要求18所述的方法,其中所述帶寬計(jì)數(shù)器是由所述硬件組件直接可訪問(wèn)的硬件寄存器。
21.根據(jù)權(quán)利要求18所述的方法,其中所述硬件資源是硬件存儲(chǔ)器,而所述硬件組件是硬件存儲(chǔ)器控制器。
22.—種方法,包括: 每次在處理器上運(yùn)行的當(dāng)前調(diào)度的虛擬機(jī)(VM)經(jīng)由所述當(dāng)前調(diào)度的VM、通過(guò)用于所述硬件存儲(chǔ)器的總線訪問(wèn)所述硬件存儲(chǔ)器時(shí),由硬件存儲(chǔ)器控制器在不涉及所述當(dāng)前調(diào)度的VM或者管理所述當(dāng)前調(diào)度的VM的監(jiān)管器的情況下,將與用于所述硬件資源的所述總線使用相關(guān)聯(lián)的帶寬計(jì)數(shù)器遞減;以及 響應(yīng)于所述帶寬計(jì)數(shù)器到達(dá)0,由所述硬件存儲(chǔ)器控制器發(fā)出中斷以用于由所述監(jiān)管器處理,以維護(hù)相關(guān)于所述硬件存儲(chǔ)器的總線帶寬服務(wù)質(zhì)量(QoS), 其中相對(duì)于作為軟件實(shí)現(xiàn)的計(jì)數(shù)器,所述帶寬計(jì)數(shù)器直接地以硬件實(shí)現(xiàn)。
23.根據(jù)權(quán)利要求22所述的`方法,進(jìn)一步包括: 一旦定期時(shí)間間隔在所述帶寬計(jì)數(shù)器到達(dá)O之前到期,則通過(guò)硬件存儲(chǔ)器控制器并且在不涉及所述當(dāng)前調(diào)度的VM或者所述監(jiān)管器的情況下,將所述帶寬計(jì)數(shù)器重置至與所述當(dāng)前調(diào)度的VM相關(guān)聯(lián)的預(yù)定值, 以便由所述硬件組件不發(fā)出中斷并且所述監(jiān)管器不涉及重置所述帶寬計(jì)數(shù)器。
24.根據(jù)權(quán)利要求22所述的方法,進(jìn)一步包括: 一旦所述當(dāng)前調(diào)度的VM必須被切換用于新近調(diào)度的VM而不是所述當(dāng)前調(diào)度的VM來(lái)現(xiàn)在在所述處理器上運(yùn)行,則由所述監(jiān)管器將所述帶寬計(jì)數(shù)器重置至與所述新近調(diào)度的VM相關(guān)聯(lián)的預(yù)定值。
25.根據(jù)權(quán)利要求22所述的方法,進(jìn)一步包括: 相對(duì)于作為軟件實(shí)現(xiàn)的寄存器,由所述監(jiān)管器將與所述當(dāng)前調(diào)度的VM相關(guān)聯(lián)的預(yù)定值拷貝至直接以硬件實(shí)現(xiàn)的第一硬件寄存器,所述第一硬件寄存器直接由所述硬件存儲(chǔ)器控制器可訪問(wèn), 其中所述帶寬計(jì)數(shù)器是由所述硬件存儲(chǔ)器控制器直接可訪問(wèn)的第二硬件寄存器。
【文檔編號(hào)】G06F9/50GK103514045SQ201310259553
【公開(kāi)日】2014年1月15日 申請(qǐng)日期:2013年6月26日 優(yōu)先權(quán)日:2012年6月30日
【發(fā)明者】C·J·亞格斯, J·H·肖普, M·T·斯特羅薩克爾, N·D·方特諾特, J·D·喬治, M·范德威爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
惠东县| 博湖县| 集安市| 德昌县| 承德市| 若尔盖县| 阳曲县| 合山市| 乌兰县| 宁海县| 岳普湖县| 汉沽区| 萝北县| 武冈市| 松原市| 乐东| 恩施市| 茶陵县| 万山特区| 绥江县| 巴青县| 红安县| 昭觉县| 辉南县| 辽源市| 双桥区| 呼图壁县| 鞍山市| 洞口县| 赤壁市| 霍邱县| 南川市| 肥城市| 乐至县| 永德县| 昌图县| 海宁市| 旌德县| 施甸县| 白朗县| 洛川县|