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

用于動(dòng)態(tài)高速緩存共享的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)的制作方法

文檔序號(hào):6537797閱讀:311來源:國知局
用于動(dòng)態(tài)高速緩存共享的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)的制作方法
【專利摘要】本發(fā)明涉及用于動(dòng)態(tài)高速緩存共享的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)。在客戶虛擬機(jī)內(nèi)的O/S內(nèi)核層、驅(qū)動(dòng)器層和應(yīng)用層中實(shí)現(xiàn)的高速緩存控制器將高速緩存存儲(chǔ)區(qū)動(dòng)態(tài)分配給虛擬機(jī),以改善對(duì)虛擬機(jī)的不斷變化的需求的響應(yīng)性。以多個(gè)邏輯裝置的形式提供單個(gè)高速緩存裝置或者一群高速緩存裝置,并暴露給資源分配器。核心緩存算法在客戶虛擬機(jī)中執(zhí)行。當(dāng)在虛擬機(jī)監(jiān)視器的管理下,增加新的虛擬機(jī)時(shí),促使現(xiàn)有虛擬機(jī)放棄分配的供相應(yīng)的現(xiàn)有虛擬機(jī)使用的高速緩存存儲(chǔ)區(qū)的一部分。放棄的高速緩存被分配給新的虛擬機(jī)。類似地,如果虛擬機(jī)被關(guān)閉或者被遷移到新的主機(jī)系統(tǒng),那么分配給該虛擬機(jī)的高速緩存容量在由虛擬機(jī)監(jiān)視器管理的剩余的虛擬機(jī)之間被重新分配。
【專利說明】用于動(dòng)態(tài)高速緩存共享的系統(tǒng)、方法和計(jì)算機(jī)可讀介質(zhì)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)存儲(chǔ)系統(tǒng),更具體地,涉及采用基于閃存的數(shù)據(jù)高速緩存的數(shù)據(jù)存儲(chǔ)系統(tǒng)。

【背景技術(shù)】
[0002]隨著多核處理器和輸入-輸出(I/O)互連帶來的技術(shù)進(jìn)步,當(dāng)今服務(wù)器的執(zhí)行應(yīng)用程序的能力正在快速增長。然而,支持服務(wù)器的傳統(tǒng)數(shù)據(jù)存儲(chǔ)裝置,比如硬盤驅(qū)動(dòng)器的I/O速度并未按與I/O互連和多核處理器相同的速率增大。從而,對(duì)傳統(tǒng)的數(shù)據(jù)存儲(chǔ)裝置的I/o操作已成為限制應(yīng)用性能的瓶頸。換句話說,在服務(wù)器上運(yùn)行的應(yīng)用不能充分利用可獲得的計(jì)算速度和數(shù)據(jù)傳輸能力。
[0003]一些常規(guī)的計(jì)算系統(tǒng)采用非易失性存儲(chǔ)器作為較慢的數(shù)據(jù)存儲(chǔ)裝置(例如,磁盤存儲(chǔ)介質(zhì)、光盤存儲(chǔ)介質(zhì)或者可通過網(wǎng)絡(luò)訪問的一個(gè)或多個(gè)數(shù)據(jù)存儲(chǔ)裝置)的塊級(jí)或文件級(jí)存儲(chǔ)替代物,以改善計(jì)算系統(tǒng)和/或由計(jì)算系統(tǒng)執(zhí)行的應(yīng)用的性能。在這方面,由于與往來于較慢的存儲(chǔ)裝置相比,對(duì)于某些非易失性存儲(chǔ)器(為簡單起見,下面稱為“高速緩存裝置”),可以明顯較快地進(jìn)行輸入/輸出(I/o)操作,因此,高速緩存裝置的使用提供顯著提高I/o操作的速率的機(jī)會(huì)。
[0004]使用了基于企業(yè)級(jí)固態(tài)磁盤(SSD)和高速外設(shè)互聯(lián)標(biāo)準(zhǔn)(PCIe)的機(jī)載固態(tài)存儲(chǔ),力圖通過提供極優(yōu)的I/o數(shù)據(jù)速率性能來解決I/O瓶頸。然而,SSD較貴,并且性能改善并不總是證明對(duì)于所有長期存儲(chǔ),部署SSD的投資都是正確的。因而,部署SSD,以通過利用SSD作為保存頻繁使用的數(shù)據(jù)的高速緩存來提高服務(wù)器的性能。
[0005]虛擬化解決方案的最新進(jìn)展使數(shù)據(jù)中心能夠在多個(gè)仿真機(jī)之間合并和共享硬件資源。即,單個(gè)服務(wù)器能夠提供對(duì)客戶端用戶來說表現(xiàn)為專用服務(wù)器平臺(tái)的事物中的共享資源。這些允許網(wǎng)絡(luò)的虛擬化解決方案的普及對(duì)I/o性能提出了額外的壓力。例如,易于預(yù)測一些應(yīng)用將在一天的特定時(shí)間被使用和接收更多的I/O請(qǐng)求。然而,在許多客戶端訪問特定硬件平臺(tái)的情況下,當(dāng)多個(gè)客戶端I/o請(qǐng)求在特定時(shí)刻到達(dá)服務(wù)器時(shí),有時(shí)不能預(yù)測應(yīng)用性能命中。通過將頻繁訪問的“熱”數(shù)據(jù)從長期存儲(chǔ)裝置轉(zhuǎn)移到與服務(wù)器耦接的SSD,虛擬化環(huán)境中的服務(wù)器方緩存能夠顯著加速應(yīng)用性能。
[0006]在虛擬化環(huán)境中實(shí)現(xiàn)服務(wù)器方緩存的挑戰(zhàn)是如何在多個(gè)客戶機(jī)之間共享在單個(gè)基于SSD/PCIe的高速緩存裝置中可用的高速緩存存儲(chǔ)區(qū)。通過將虛擬機(jī)的文件系統(tǒng)從一個(gè)存儲(chǔ)系統(tǒng)轉(zhuǎn)移到另一個(gè)存儲(chǔ)系統(tǒng),使虛擬機(jī)能夠被遷移到新的硬件平臺(tái)的虛擬化特征(例如,vMotion),和使支持到x86處理器指令集的64位擴(kuò)展的機(jī)器上的平臺(tái)虛擬化成為可能的服務(wù)器虛擬化要求服務(wù)器方緩存需要是動(dòng)態(tài)的,以容納遷入或遷出物理機(jī)的各個(gè)虛擬服務(wù)器。


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

[0007]用于動(dòng)態(tài)管理高速緩存存儲(chǔ)區(qū),以便改善對(duì)虛擬機(jī)的不斷變化的需求的響應(yīng)性的系統(tǒng)和方法的實(shí)施例以多個(gè)邏輯裝置的形式,提供單個(gè)高速緩存裝置或者一群高速緩存裝置,并向虛擬機(jī)監(jiān)視器暴露所述單個(gè)高速緩存裝置或者一群高速緩存裝置。核心緩存算法在客戶虛擬機(jī)中執(zhí)行。當(dāng)在虛擬機(jī)監(jiān)視器的管理下,添加新的虛擬機(jī)時(shí),促使現(xiàn)有虛擬機(jī)放棄分配的供相應(yīng)的現(xiàn)有虛擬機(jī)使用的高速緩存存儲(chǔ)區(qū)的一部分。放棄的高速緩存被分配給新的虛擬機(jī)。類似地,如果虛擬機(jī)被關(guān)閉或者被遷移到新的主機(jī)系統(tǒng),那么分配給該虛擬機(jī)的高速緩存容量在由虛擬機(jī)監(jiān)視器管理的剩余虛擬機(jī)之間被重新分配。
[0008]在例證實(shí)施例中,公開一種適合于動(dòng)態(tài)管理由一群一個(gè)或多個(gè)基于閃存的裝置和管理一組虛擬機(jī)的主計(jì)算機(jī)系統(tǒng)支持的高速緩存存儲(chǔ)區(qū)的高速緩存資源管理系統(tǒng)。系統(tǒng)包括高速緩存資源管理器、虛擬機(jī)管理器、插件和驅(qū)動(dòng)器。高速緩存資源管理器是在主計(jì)算機(jī)系統(tǒng)上運(yùn)行的應(yīng)用。高速緩存資源管理器配置有按照主計(jì)算系統(tǒng)支持的虛擬機(jī)的數(shù)目,分配可用的高速緩存存儲(chǔ)容量的標(biāo)識(shí)部分(例如,區(qū)間)的倍數(shù)的一個(gè)或多個(gè)策略。虛擬機(jī)管理器集成在運(yùn)行于主計(jì)算機(jī)系統(tǒng)上的Ο/s的內(nèi)核中。虛擬機(jī)管理器布置有高速緩存資源分配器和基于閃存的高速緩存裝置驅(qū)動(dòng)器。高速緩存資源分配器要求一群基于閃存的高速緩存裝置,向每個(gè)虛擬機(jī)分配邏輯驅(qū)動(dòng)器,并標(biāo)識(shí)由一群基于閃存的裝置提供的可用高速緩存存儲(chǔ)容量的一部分。插件與虛擬基礎(chǔ)架構(gòu)客戶端通信,向至少一個(gè)基于閃存的高速緩存裝置提供虛擬機(jī)、虛擬機(jī)管理器和客戶虛擬機(jī)角度的上下文。每個(gè)虛擬機(jī)可用的驅(qū)動(dòng)器使能夠?qū)崿F(xiàn)與一群基于閃存的高速緩存裝置的通信,好像該虛擬機(jī)在與專用存儲(chǔ)裝置通信似的。
[0009]在另一個(gè)例證實(shí)施例中,公開一種管理由一群一個(gè)或多個(gè)基于閃存的裝置和管理一組虛擬機(jī)的主計(jì)算機(jī)系統(tǒng)支持的高速緩存存儲(chǔ)區(qū)的方法。所述方法包括以下步驟:向虛擬機(jī)管理器提供高速緩存資源管理器應(yīng)用,高速緩存資源管理器利用按照主計(jì)算系統(tǒng)支持的虛擬機(jī)的數(shù)目,分配可用的高速緩存存儲(chǔ)容量的標(biāo)識(shí)部分的倍數(shù)的一個(gè)或多個(gè)策略,向虛擬機(jī)管理器提供高速緩存資源分配器和基于閃存的高速緩存裝置驅(qū)動(dòng)器,高速緩存資源分配器要求一群基于閃存的高速緩存裝置,向每個(gè)虛擬機(jī)分配邏輯驅(qū)動(dòng)器,并標(biāo)識(shí)由一群基于閃存的裝置提供的可用高速緩存存儲(chǔ)容量的一部分,向虛擬基礎(chǔ)架構(gòu)客戶端提供插件,插件向至少一個(gè)基于閃存的高速緩存裝置提供虛擬機(jī)、虛擬機(jī)管理器和客戶上下文,并將驅(qū)動(dòng)器暴露給每個(gè)虛擬機(jī),以使虛擬機(jī)能夠與一群基于閃存的高速緩存裝置通信,好像虛擬機(jī)在與專用存儲(chǔ)裝置通信似的。
[0010]在另一個(gè)例證實(shí)施例中,公開一種具有以非臨時(shí)的形式保存在其上的可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)在主計(jì)算機(jī)的處理系統(tǒng)上執(zhí)行時(shí),所述可執(zhí)行指令指示處理系統(tǒng)協(xié)調(diào)以下任務(wù)。指示高速緩存資源分配器要求耦接到主計(jì)算機(jī)的高速緩存裝置。高速緩存資源管理器被啟動(dòng),與高速緩存資源分配器通信,以確定可用的高速緩存裝置,并掃描主計(jì)算機(jī),以確定主計(jì)算機(jī)支持的數(shù)目。一旦標(biāo)識(shí)出虛擬機(jī)的數(shù)目和可用的高速緩存裝置,高速緩存資源管理器就指示高速緩存資源分配器將可用的高速緩存容量分成相同大小的區(qū)間,創(chuàng)建邏輯驅(qū)動(dòng)器,并按照高速緩存分配策略,創(chuàng)建區(qū)間映射。處理系統(tǒng)還指示高速緩存資源管理器將每個(gè)邏輯驅(qū)動(dòng)器映射到相應(yīng)的虛擬機(jī),并將區(qū)間映射與每個(gè)邏輯驅(qū)動(dòng)器聯(lián)系起來。之后,處理系統(tǒng)指示虛擬機(jī)將高速緩存裝置添加到高速緩存群中。

【專利附圖】

【附圖說明】
[0011]圖1是圖解說明按照本發(fā)明的例證實(shí)施例的主計(jì)算機(jī)環(huán)境的示意圖。
[0012]圖2是圖解說明圖1的高速緩存群內(nèi)的高速緩存數(shù)據(jù)布局的方框圖。
[0013]圖3是圖1的動(dòng)態(tài)高速緩存共享系統(tǒng)的體系結(jié)構(gòu)的示意圖。
[0014]圖4是單個(gè)高速緩存裝置在一組虛擬機(jī)之間的分配的示意圖。
[0015]圖5是圖解說明準(zhǔn)備圖3的動(dòng)態(tài)高速緩存共享系統(tǒng)的方法的流程圖。
[0016]圖6是在引入新的虛擬機(jī)之后的區(qū)間映射的示意圖。
[0017]圖7是圖解說明利用圖3的動(dòng)態(tài)高速緩存共享系統(tǒng),處理I/O操作的方法的流程圖。
[0018]圖8A和8B包括圖解說明動(dòng)態(tài)管理高速緩存存儲(chǔ)區(qū)的方法的流程圖。

【具體實(shí)施方式】
[0019]當(dāng)增加或者從虛擬機(jī)管理器的控制中除去虛擬機(jī)時(shí),在客戶虛擬機(jī)內(nèi)的0/S內(nèi)核層、驅(qū)動(dòng)器層和應(yīng)用層中實(shí)現(xiàn)的動(dòng)態(tài)高速緩存共享系統(tǒng)將高速緩存存儲(chǔ)區(qū)動(dòng)態(tài)分配給虛擬機(jī),以改善對(duì)主計(jì)算機(jī)上的虛擬機(jī)的不斷變化的存儲(chǔ)需求的響應(yīng)性。以多個(gè)邏輯裝置的形式提供單個(gè)高速緩存裝置或者一群高速緩存裝置,并暴露給資源分配器。核心緩存算法在客戶虛擬機(jī)中執(zhí)行。借助定義的接口,核心緩存算法起Ο/s不可知的可移植庫作用。ο/s棧中的過濾驅(qū)動(dòng)器截取I/o請(qǐng)求,并通過高速緩存管理庫路由I/O請(qǐng)求,以實(shí)現(xiàn)緩存功能。高速緩存管理庫與過濾驅(qū)動(dòng)器通信,以實(shí)現(xiàn)Ο/s特定動(dòng)作和I/O路由。當(dāng)在虛擬機(jī)管理器的管理下,增加新的虛擬機(jī)時(shí),促使現(xiàn)有虛擬機(jī)放棄分配的供相應(yīng)的現(xiàn)有虛擬機(jī)使用的高速緩存存儲(chǔ)區(qū)的一部分。放棄的高速緩存被分配給新的虛擬機(jī)。類似地,如果虛擬機(jī)被關(guān)閉或者被遷移到新的主機(jī)系統(tǒng),那么分配給該虛擬機(jī)的高速緩存容量在由虛擬機(jī)監(jiān)視器管理的剩余的虛擬機(jī)之間被重新分配。
[0020]如圖1中圖解所示,在按照本發(fā)明的主計(jì)算機(jī)環(huán)境100的說明性或例證實(shí)施例中,諸如FB高速緩存卡132和FB高速緩存卡134之類的基于閃存的高速緩存裝置的高速緩存群130通過相應(yīng)的高速外設(shè)接口(PCIe)總線耦接到主機(jī)系統(tǒng)110。FB高速緩存卡132和FB高速緩存卡134是獨(dú)立標(biāo)識(shí)的高速緩存裝置,所述高速緩存裝置被管理,并且其相應(yīng)的高速緩存存儲(chǔ)區(qū)作為高速緩存群130被共享。
[0021]另外,主機(jī)系統(tǒng)110通過外設(shè)互連卡140耦接到一組本地存儲(chǔ)裝置145,并通過外設(shè)互連卡150,耦接到對(duì)應(yīng)的一組遠(yuǎn)程數(shù)據(jù)存儲(chǔ)裝置155。本地存儲(chǔ)裝置145和遠(yuǎn)程數(shù)據(jù)存儲(chǔ)裝置155用作為復(fù)合數(shù)據(jù)存儲(chǔ)區(qū)暴露于虛擬環(huán)境100的各組物理磁盤驅(qū)動(dòng)器實(shí)現(xiàn)。外設(shè)互連卡140和/或外設(shè)互連卡150可利用將物理磁盤驅(qū)動(dòng)器組合成單個(gè)邏輯單元的獨(dú)立磁盤冗余陣列管理技術(shù),來管理由各組物理磁盤驅(qū)動(dòng)器提供的存儲(chǔ)空間。取決于對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)區(qū)支持的應(yīng)用所要求的可靠性和性能,用通常稱為“RAID級(jí)”的幾種方式之一,在物理驅(qū)動(dòng)器之間分配數(shù)據(jù)。
[0022]如圖1中所示,主機(jī)系統(tǒng)110是諸如具有通過總線相互耦接的處理器112和存儲(chǔ)器120的服務(wù)器計(jì)算機(jī)之類的計(jì)算機(jī)。操作中,處理器112在應(yīng)用層128、文件系統(tǒng)126和動(dòng)態(tài)高速緩存共享系統(tǒng)300中執(zhí)行指令,以使主機(jī)系統(tǒng)110上的虛擬機(jī)的托管成為可能。處理器112通過高速緩存裝置驅(qū)動(dòng)器121與高速緩存群130通信。處理器112通過串行連接小型計(jì)算機(jī)系統(tǒng)接口 /高級(jí)主計(jì)算機(jī)接口(SAS/AHCI)驅(qū)動(dòng)器122和外設(shè)互連卡140,與本地卷145通信。處理器112還通過存儲(chǔ)區(qū)域網(wǎng)/網(wǎng)絡(luò)接口連接器(SAN/NIC)驅(qū)動(dòng)器123和外設(shè)互連卡150,與遠(yuǎn)程卷155通信。
[0023]按照本發(fā)明的主計(jì)算機(jī)環(huán)境100高度可縮放,并不局限于單個(gè)處理器112或單個(gè)存儲(chǔ)器120。在備選實(shí)施例(未示出)中,主機(jī)系統(tǒng)110可包括與處理器112相似或不相似的多個(gè)處理器。另外,主機(jī)系統(tǒng)110可包括與存儲(chǔ)器120相似或不相似的附加存儲(chǔ)元件。類似地,通過產(chǎn)生多個(gè)實(shí)例高速緩存裝置驅(qū)動(dòng)器121、SAS/ACHI驅(qū)動(dòng)器122和SAN/NIC驅(qū)動(dòng)器123,另外的存儲(chǔ)裝置可被并入主機(jī)系統(tǒng)110。
[0024]操作中,動(dòng)態(tài)高速緩存共享系統(tǒng)300動(dòng)態(tài)管理由一群一個(gè)或多個(gè)基于閃存的裝置(例如,高速緩存群130)和管理一組虛擬機(jī)的主機(jī)系統(tǒng)110支持的高速緩存存儲(chǔ)區(qū)200。動(dòng)態(tài)高速緩存共享系統(tǒng)300是在位于應(yīng)用層128和文件系統(tǒng)126之下的共享裝置驅(qū)動(dòng)器層實(shí)現(xiàn)的。動(dòng)態(tài)高速緩存共享系統(tǒng)300是與基于閃存的高速緩存裝置(例如,F(xiàn)B高速緩存卡132和FB高速緩存卡134)和常規(guī)的數(shù)據(jù)存儲(chǔ)系統(tǒng)(例如,利用諸如因特網(wǎng)小型計(jì)算機(jī)系統(tǒng)接口(iSCSI)、以太網(wǎng)光纖通道(FCoE)、光纖通道(FC)、SAS和串行高級(jí)技術(shù)附件(SATA)之類的各種接口實(shí)現(xiàn)的數(shù)據(jù)存儲(chǔ)系統(tǒng))結(jié)合的通用緩存層。動(dòng)態(tài)高速緩存共享系統(tǒng)300在塊設(shè)備層工作,對(duì)文件系統(tǒng)126和應(yīng)用層128中的應(yīng)用來說透明。動(dòng)態(tài)高速緩存共享系統(tǒng)300標(biāo)識(shí)和消耗存在于并入高速緩存群130中的FB高速緩存卡132和FB高速緩存卡134中的存儲(chǔ)空間。另外,動(dòng)態(tài)高速緩存共享系統(tǒng)300提供跨常規(guī)數(shù)據(jù)存儲(chǔ)系統(tǒng),比如本地卷145和遠(yuǎn)程卷155的緩存功能。利用相對(duì)于物理磁盤和高速緩存資源管理應(yīng)用的定義明確的接口,核心緩存功能被實(shí)現(xiàn)成0/S不可知的可移植庫。
[0025]高速緩存元數(shù)據(jù)管理(比如散列表、LRU、空閑列表、高速緩存分配單元管理數(shù)據(jù)結(jié)構(gòu))對(duì)極大的高速緩存存儲(chǔ)區(qū)的設(shè)計(jì)來說重要。由于固態(tài)磁盤(SSD)高速緩存可擴(kuò)展到千兆字節(jié),并且主機(jī)系統(tǒng)110上的每個(gè)I/O涉及查尋散列列和高速緩存分配單元數(shù)據(jù)結(jié)構(gòu),以決定高速緩存命中/缺失,因此必要的是應(yīng)考慮到性能而優(yōu)化高速緩存元數(shù)據(jù)管理,元數(shù)據(jù)足跡(footprint)應(yīng)小到足以保存在雙倍數(shù)據(jù)速率(DDR)隨機(jī)存取存儲(chǔ)器(RAM)中,以便快速查尋。
[0026]圖2是圖解說明圖1的高速緩存群130內(nèi)的高速緩存存儲(chǔ)區(qū)200的方框圖。高速緩存存儲(chǔ)區(qū)200被分區(qū)或分割成至少兩個(gè)獨(dú)立的存儲(chǔ)區(qū)。第一部分或分區(qū)包括高速緩存元數(shù)據(jù)210。第二或數(shù)據(jù)存儲(chǔ)部分220包括一組高速緩存窗口 222。如圖2中進(jìn)一步圖解所示,高速緩存元數(shù)據(jù)210包括關(guān)于每個(gè)高速緩存窗口 222的對(duì)應(yīng)條目215。高速緩存存儲(chǔ)區(qū)300的相當(dāng)大量的存儲(chǔ)容量被分配給在例證中被標(biāo)識(shí)成高速緩存窗口的區(qū)域。每個(gè)高速緩存窗口被進(jìn)一步細(xì)分成期望大小的多行的高速緩存塊225。
[0027]高速緩存存儲(chǔ)區(qū)200的分配單元和高速緩存塊大小相當(dāng)大,從而降低元數(shù)據(jù)存儲(chǔ)器需求。在例證實(shí)施例中,整個(gè)高速緩存數(shù)據(jù)存儲(chǔ)部分200被分成多個(gè)大塊的分配單元(稱為高速緩存窗口,每個(gè)1MB)。高速緩存窗口大小是可調(diào)的參數(shù),可根據(jù)主機(jī)系統(tǒng)配置和I/O工作負(fù)荷而調(diào)整。高速緩存窗口 222是用于高速緩存管理的分配/解除分配單元。每個(gè)高速緩存窗口 222由均為64KB多個(gè)高速緩存塊組成。高速緩存塊大小是可調(diào)的參數(shù),可根據(jù)主機(jī)系統(tǒng)配置和I/O工作負(fù)荷而調(diào)整。整個(gè)高速緩存存儲(chǔ)區(qū)200可被用于緩存多個(gè)塊裝置,每個(gè)高速緩存窗口 222代表單個(gè)塊裝置上的空間的連續(xù)區(qū)域。
[0028]散列表、空閑高速緩存列表、最近最少使用(LRU)列表和高速緩存替換算法在高速緩存窗口級(jí)工作。這顯著減小了為表示高速緩存元數(shù)據(jù)210而需要的存儲(chǔ)器的數(shù)量,因?yàn)槊總€(gè)高速緩存窗口 222是相當(dāng)大的分配單元。高速緩存元數(shù)據(jù)210被保存在用于讀緩存的內(nèi)存中,以便快速查尋。高速緩存替換以需求、閾值、壽命、或許其它因素為基礎(chǔ),并利用基于多優(yōu)先權(quán)的LRU隊(duì)列?;趦?yōu)先權(quán)的LRU隊(duì)列利用有效高速緩存行的數(shù)目和高速緩存窗口 222被訪問的次數(shù)來確定高速緩存窗口 222的優(yōu)先權(quán)。已滿并且被訪問最多的高速緩存窗口 222被賦予最高的優(yōu)先權(quán),并被放置在最高優(yōu)先權(quán)LRU隊(duì)列的結(jié)尾。一旦整個(gè)高速緩存存儲(chǔ)區(qū)200已滿,優(yōu)先權(quán)最低的高速緩存窗口 222將首先被替換,從而保留最頻繁訪問的數(shù)據(jù)。智能熱圖生成算法緩存被反復(fù)訪問的區(qū)域。本地卷145或遠(yuǎn)程卷155中的很少被訪問的數(shù)據(jù)區(qū)不被放入高速緩存存儲(chǔ)區(qū)200中。
[0029]圖3是圖1的動(dòng)態(tài)高速緩存共享系統(tǒng)300的體系結(jié)構(gòu)的示意圖。動(dòng)態(tài)高速緩存共享系統(tǒng)300包括直接與主機(jī)系統(tǒng)硬件310通信的虛擬機(jī)管理器320,和在應(yīng)用層128中工作以支持使在主機(jī)系統(tǒng)110上運(yùn)行的虛擬環(huán)境的實(shí)時(shí)監(jiān)視成為可能的各種功能的高速緩存資源管理器330。虛擬機(jī)管理器320是通常稱為內(nèi)核的0/S組件。虛擬機(jī)管理器320從虛擬服務(wù)器接收監(jiān)視信息,并集中管理將高速緩存群130中的一個(gè)或多個(gè)基于閃存的高速緩存裝置暴露給由主機(jī)系統(tǒng)硬件310及本地卷145和遠(yuǎn)程卷155提供的數(shù)據(jù)存儲(chǔ)區(qū)支持的數(shù)十個(gè)或數(shù)百個(gè)虛擬機(jī)的機(jī)制。
[0030]虛擬機(jī)管理器320能夠支持多個(gè)0/S,每個(gè)0/S具有與虛擬機(jī)管理器320的應(yīng)用層128接口。在圖解所示的實(shí)施例中,0/S A(例如,Linux、Unix)由接口 350支持,接口 350包括用戶層中的管理API354,和通過SCSI HBA仿真器與虛擬機(jī)管理器320通信的內(nèi)核層中的過濾驅(qū)動(dòng)器和庫352。類似地,0/S B(例如,Windows Server2008)由接口 360支持,接口 360包括管理API364及過濾驅(qū)動(dòng)器和庫362。
[0031]虛擬機(jī)管理器320布置有高速緩存資源分配器322、高速緩存裝置驅(qū)動(dòng)器324和CICOM提供器326,以管理和控制高速緩存存儲(chǔ)區(qū)200,并與高速緩存資源管理器330通信。這些和其它組件在主機(jī)系統(tǒng)110上的客戶虛擬機(jī)中執(zhí)行,以提供I/O過濾、熱數(shù)據(jù)分類和緩存功能。虛擬機(jī)管理器320利用SCSI HBA仿真器,向虛擬機(jī)模仿高速緩存裝置。按照兩種方式將裝置暴露給虛擬機(jī)。在第一種方式中,原始磁盤訪問模塊328以原始裝置的方式暴露數(shù)據(jù)存儲(chǔ)裝置。原始磁盤訪問模塊328裝置直接向虛擬機(jī)暴露SCSI塊裝置。另一方面,借助集成在虛擬機(jī)管理器320中的虛擬機(jī)文件系統(tǒng)(VMFS)模塊,通過VMFS向虛擬機(jī)暴露數(shù)據(jù)存儲(chǔ)區(qū)。VMFS模塊可保存和管理將虛擬裝置邏輯塊地址和物理磁盤或高速緩存存儲(chǔ)區(qū)200聯(lián)系起來的映射。VMFS還創(chuàng)建精簡配置的邏輯存儲(chǔ)區(qū),以利用虛擬磁盤支持?jǐn)?shù)據(jù)快照、備份和其它操作。配置VMFS的磁盤所在的物理裝置被稱為數(shù)據(jù)存儲(chǔ)區(qū)。利用帶有管理插件340的虛擬基礎(chǔ)架構(gòu)客戶端(VIC),這些虛擬磁盤可被動(dòng)態(tài)轉(zhuǎn)移到動(dòng)態(tài)高速緩存共享系統(tǒng)300中的不同數(shù)據(jù)存儲(chǔ)區(qū)(物理磁盤),而不存在虛擬機(jī)的任何停機(jī)時(shí)間。
[0032]高速緩存資源分配器322負(fù)責(zé)標(biāo)識(shí)和要求動(dòng)態(tài)高速緩存共享系統(tǒng)300中的所有高速緩存裝置,并為該系統(tǒng)上的被配置成與動(dòng)態(tài)高速緩存共享系統(tǒng)300的管理組件通信的每個(gè)虛擬機(jī)分配邏輯驅(qū)動(dòng)器。高速緩存資源分配器322創(chuàng)建的邏輯驅(qū)動(dòng)器作為RAW裝置被映射到客戶虛擬機(jī)。高速緩存資源分配器322將整個(gè)高速緩存容量分成相同大小的多個(gè)區(qū)間或塊。區(qū)間大小被調(diào)整為等于高速緩存窗口大小。高速緩存存儲(chǔ)容量被分配給在區(qū)間邊界中的不同虛擬機(jī)。
[0033]高速緩存資源分配器322提供一組定義明確的API,以便為每個(gè)虛擬機(jī)創(chuàng)建和破壞邏輯驅(qū)動(dòng)器。高速緩存資源分配器創(chuàng)建的每個(gè)邏輯驅(qū)動(dòng)器具有動(dòng)態(tài)高速緩存共享系統(tǒng)300支持的最大高速緩存容量的容量,然而整個(gè)高速緩存裝置只有少數(shù)區(qū)間被映射到每個(gè)虛擬機(jī)。映射信息由高速緩存資源管理器330提供。根據(jù)在資源管理器330中定義的策略,和隨著時(shí)間的推移的虛擬機(jī)的增加和去除,在動(dòng)態(tài)高速緩存共享系統(tǒng)300的使用期限內(nèi),映射信息可動(dòng)態(tài)變化。
[0034]高速緩存資源分配器322通過確保對(duì)照當(dāng)前的有效區(qū)間映射,證實(shí)對(duì)應(yīng)于每個(gè)邏輯驅(qū)動(dòng)器的1/0,強(qiáng)制實(shí)施由高速緩存資源管理器定義的區(qū)間映射。高速緩存資源分配器322根據(jù)區(qū)間映射,通過高速緩存裝置驅(qū)動(dòng)器324或其它裝置(未示出),將I/O請(qǐng)求重定向到物理裝置。
[0035]高速緩存資源管理器330是起主機(jī)系統(tǒng)110上的客戶虛擬機(jī)作用的較小并且高效的軟件模塊。在虛擬機(jī)管理器320的控制下,高速緩存資源管理器324監(jiān)視和管理在所有虛擬機(jī)之間的高速緩存裝置利用和分配。在初始化期間,高速緩存資源管理器324連接到所有的虛擬機(jī),分配高速緩存容量,并監(jiān)視高速緩存利用。高速緩存資源管理器324還通過虛擬機(jī)管理器320的虛擬化服務(wù)API,向虛擬服務(wù)器注冊(cè)和等待諸如虛擬機(jī)增加、除去、遷移之類的事件,并協(xié)調(diào)高速緩存存儲(chǔ)容量在當(dāng)前執(zhí)行的虛擬機(jī)之間的重新分配。
[0036]另外,高速緩存資源管理器324執(zhí)行負(fù)責(zé)以受控的方式在虛擬機(jī)間分配高速緩存的策略引擎。策略引擎可包括在所有虛擬機(jī)之間平等共享高速緩存容量,向某些虛擬機(jī)保證最小的高速緩存容量,并在其它虛擬機(jī)之間重新分配剩余的高速緩存容量,在所有虛擬機(jī)之間保持熱圖,并根據(jù)每個(gè)虛擬機(jī)進(jìn)行的I/O活動(dòng),根據(jù)當(dāng)前工作負(fù)荷重新分配高速緩存的策略。
[0037]當(dāng)新的虛擬機(jī)被增加或遷移到物理機(jī)時(shí),高速緩存資源管理器324檢測該事件,并嘗試通過進(jìn)行以下步驟,在可用的虛擬機(jī)之間重新分配高速緩存。首先,高速緩存資源管理器324通過客戶虛擬機(jī)中的管理API354、356,請(qǐng)求分配有高速緩存容量的當(dāng)前運(yùn)行的客戶虛擬機(jī)放棄一定量的高速緩存。由于高速緩存分配的區(qū)間大小等于高速緩存窗口大小,因此客戶虛擬機(jī)將從其LRU隊(duì)列的頂部放棄最不熱的數(shù)據(jù),從而降低由減少的高速緩存分配引起的性能影響。一旦主機(jī)系統(tǒng)110上的所有虛擬機(jī)都放棄分配給它們的一定量的高速緩存,釋放的高速緩存區(qū)間被分配給被增加或遷移的新的虛擬機(jī)。
[0038]插件340被安排成與虛擬基礎(chǔ)架構(gòu)客戶端(VIC)通信,以提供在虛擬環(huán)境中管理動(dòng)態(tài)高速緩存共享系統(tǒng)解決方案的管理能力。插件340向就數(shù)據(jù)中心群集、主機(jī)和客戶機(jī)而論的管理動(dòng)作提供上下文。系統(tǒng)管理員將能夠利用插件340來監(jiān)視和管理動(dòng)態(tài)高速緩存共享系統(tǒng)解決方案。插件340利用管理API354、364和高速緩存資源管理器330與虛擬機(jī)交互,以提供上述管理功能。
[0039]虛擬機(jī)將根據(jù)在虛擬機(jī)中執(zhí)行的0/S,使用過濾驅(qū)動(dòng)器和庫352、362。過濾驅(qū)動(dòng)器和庫352、362使高速緩存裝置能夠被配置以區(qū)間映射,并確保高速緩存裝置只利用分配給它的區(qū)間。另外,過濾驅(qū)動(dòng)器和庫352、362使得能夠在作為增加新的虛擬機(jī)、虛擬機(jī)離線或者被遷出主機(jī)系統(tǒng)110的結(jié)果的高速緩存重新分配期間,實(shí)現(xiàn)向虛擬機(jī)增加區(qū)間和從虛擬機(jī)除去區(qū)間。此外,過濾驅(qū)動(dòng)器和庫352、362確保暴露給虛擬機(jī)的原始裝置被配置成高速緩存裝置。
[0040]圖4是借助平等的高速緩存分配管理策略,在一組虛擬機(jī)之間分配單個(gè)高速緩存裝置的示意圖。圖4中圖解所示的實(shí)施例是用于舉例說明3個(gè)虛擬機(jī)如何平等共享基于閃存的高速緩存存儲(chǔ)區(qū)200的高速緩存窗口 222的小規(guī)模布置。
[0041]在舉例說明的實(shí)施例中,基于閃存的高速緩存存儲(chǔ)區(qū)200包括30個(gè)高速緩存窗口(用塊0-29表示),高速緩存窗口 0-9與虛擬機(jī)I關(guān)聯(lián),并且對(duì)虛擬機(jī)I來說被標(biāo)識(shí)成邏輯磁盤1,高速緩存窗口 10-19與虛擬機(jī)2關(guān)聯(lián),并且對(duì)虛擬機(jī)2來說被標(biāo)識(shí)成邏輯磁盤2,高速緩存窗口 20-29與虛擬機(jī)3關(guān)聯(lián),并且對(duì)虛擬機(jī)3來說被標(biāo)識(shí)成邏輯磁盤3。與高速緩存資源分配器322 —起工作的原始磁盤訪問模塊328完成邏輯驅(qū)動(dòng)器和高速緩存存儲(chǔ)區(qū)200中的指定的一組連續(xù)塊之間的上述關(guān)聯(lián)或鏈接。
[0042]圖5是圖解說明準(zhǔn)備圖3的動(dòng)態(tài)高速緩存共享系統(tǒng)的方法500的流程圖。方法500始于方框502,在方框502,高速緩存資源分配器標(biāo)識(shí)并要求耦接到主機(jī)系統(tǒng)的基于閃存的高速緩存裝置。在方框504,虛擬機(jī)管理器確定將由主機(jī)系統(tǒng)支持的虛擬機(jī)的數(shù)目。在方框506,在主計(jì)算機(jī)中運(yùn)行的動(dòng)態(tài)高速緩存共享系統(tǒng)指令高速緩存資源分配器將可用的高速緩存容量分成相等的區(qū)間或塊。在方框508,進(jìn)一步指令高速緩存資源分配器為將由主機(jī)系統(tǒng)支持的每個(gè)虛擬機(jī)創(chuàng)建邏輯驅(qū)動(dòng)器。在方框510,指令高速緩存資源分配器按照高速緩存分配策略,創(chuàng)建區(qū)間映射。在方框512,資源管理器將邏輯驅(qū)動(dòng)器作為相應(yīng)的原始裝置映射到每個(gè)虛擬機(jī),還指令虛擬機(jī)依據(jù)區(qū)間映射,將高速緩存裝置加入高速緩存群中。之后,如在方框514中所示,根據(jù)使用頻度算法,緩存主機(jī)系統(tǒng)上的I/O操作。
[0043]圖6是在引入新的虛擬機(jī)之后的區(qū)間映射的示意圖。圖6中圖解說明的實(shí)施例是舉例說明當(dāng)采用平等共享基于閃存的高速緩存存儲(chǔ)區(qū)200的高速緩存窗口 222的分配策略時(shí),如何實(shí)現(xiàn)第4個(gè)虛擬機(jī)的增加的小規(guī)模布置。
[0044]在舉例說明的實(shí)施例中,基于閃存的高速緩存存儲(chǔ)區(qū)200包括30個(gè)高速緩存窗口(用塊0-29表示),高速緩存窗口 3-9與虛擬機(jī)I關(guān)聯(lián),并且對(duì)虛擬機(jī)I來說被標(biāo)識(shí)成邏輯磁盤1,高速緩存窗口 13-19與虛擬機(jī)2關(guān)聯(lián),并且對(duì)虛擬機(jī)2來說被標(biāo)識(shí)成邏輯磁盤2,高速緩存窗口 23-29與虛擬機(jī)3關(guān)聯(lián),并且對(duì)虛擬機(jī)3來說被標(biāo)識(shí)成邏輯磁盤3。用帶標(biāo)記的塊0-2、10-12、20-22表示的釋放的高速緩存窗口作為邏輯磁盤4被重新分配給虛擬機(jī)4。在重新分配之后,虛擬機(jī)1-3分別被分配總共30個(gè)高速緩存窗口中的7個(gè)高速緩存窗口,而虛擬機(jī)4被分配剩余的9個(gè)高速緩存窗口。與高速緩存資源分配器322 —起工作的原始磁盤訪問模塊328完成邏輯驅(qū)動(dòng)器和高速緩存存儲(chǔ)區(qū)200中的指定的各組塊之間的上述關(guān)聯(lián)或鏈接。
[0045]圖7是圖解說明利用圖3的動(dòng)態(tài)高速緩存共享系統(tǒng)300,處理I/O操作的方法700的流程圖。如圖所示,方法700始于方框702,在方框702,動(dòng)態(tài)高速緩存共享系統(tǒng)驅(qū)動(dòng)器按照映射到高速緩存裝置的區(qū)間,發(fā)出對(duì)于高速緩存裝置的命中或高速緩存填充I/O操作。在方框704,資源分配器接收與映射到特定虛擬機(jī)的暴露的邏輯驅(qū)動(dòng)器標(biāo)識(shí)符相關(guān)的I/O操作。在方框706,資源分配器確認(rèn)該I/O操作在區(qū)間映射中,被標(biāo)識(shí)成屬于指定虛擬機(jī)的區(qū)間的范圍內(nèi)。在方框708,高速緩存資源管理器通過適當(dāng)?shù)腟CSI驅(qū)動(dòng)器,將I/O重定向到物理裝置。
[0046]圖8A和8B包括圖解說明動(dòng)態(tài)管理高速緩存存儲(chǔ)區(qū)的方法800的流程圖。方法800始于方框802,在方框802,動(dòng)態(tài)高速緩存共享系統(tǒng)關(guān)于將在主機(jī)系統(tǒng)上支持的虛擬機(jī)的數(shù)目的變化,來監(jiān)視虛擬化服務(wù)API。如在判定框804中所示,判定是在向主機(jī)支持的虛擬機(jī)的集合中添加虛擬機(jī),還是在從所述集合中除去虛擬機(jī)。當(dāng)在增加虛擬機(jī)時(shí)(如用退出判定框804的標(biāo)記“是”的流程控制箭頭所示),處理繼續(xù)進(jìn)行方框806,在方框806,高速緩存資源分配器根據(jù)分配策略,確定待分配給新的虛擬機(jī)的高速緩存的量。否則,處理轉(zhuǎn)到方框812,如用連接符B所示。在方框808,高速緩存資源管理器與每個(gè)現(xiàn)有的虛擬機(jī)通信,以釋放適當(dāng)量的高速緩存存儲(chǔ)容量,以便重新分配給新的虛擬機(jī)。另外,更新區(qū)間映射,并傳送給高速緩存資源分配器。在方框810,指令高速緩存資源分配器創(chuàng)建新的邏輯驅(qū)動(dòng)器,并使之與最近釋放的區(qū)間或高速緩存窗口相聯(lián)系。另外,指令高速緩存資源分配器向該虛擬機(jī)暴露新生成的邏輯驅(qū)動(dòng)器。之后,處理繼續(xù)進(jìn)行方框802的功能。
[0047]當(dāng)虛擬機(jī)被遷離主機(jī)系統(tǒng)時(shí),處理繼續(xù)進(jìn)行方框812,在方框812,高速緩存資源分配器確定在從離開主機(jī)系統(tǒng)的虛擬機(jī)釋放之后,變得可供重新分配給剩余虛擬機(jī)的高速緩存容量的量。在方框814,按照分配策略,資源管理器確定應(yīng)使之可供剩余的虛擬機(jī)使用的釋放的存儲(chǔ)容量的量。應(yīng)注意當(dāng)分配策略如此規(guī)定時(shí),重新分配給每個(gè)虛擬機(jī)的存儲(chǔ)容量的量可能不必相等。在方框816,指令高速緩存資源分配器除去與舊的虛擬機(jī)相聯(lián)系的邏輯驅(qū)動(dòng)器,和更新修正的區(qū)間映射,并利用可用的高速緩存容量的相應(yīng)部分重新配置剩余的虛擬機(jī)。
[0048]應(yīng)理解,圖5、7、8A和8B的流程圖只是用來例證或說明成為所述方法的基礎(chǔ)的邏輯。本領(lǐng)域的技術(shù)人員會(huì)理解,在各個(gè)實(shí)施例中,可以按照任意各種方式設(shè)計(jì)或配置包括動(dòng)態(tài)高速緩存處理系統(tǒng)或高速緩存控制器的數(shù)據(jù)處理系統(tǒng),以實(shí)現(xiàn)所述方法。上面說明的步驟或動(dòng)作可按任何適當(dāng)?shù)捻樞蚧蛐蛄邪l(fā)生,包括并行或者彼此同步地發(fā)生。在一些實(shí)施例中,上面關(guān)于圖5、7、8A和SB說明的步驟或動(dòng)作可以與其它步驟或動(dòng)作結(jié)合,或者被省略。盡管為了清楚起見,以圖5、7、8A和SB中的流程圖的形式進(jìn)行了說明,不過基礎(chǔ)的邏輯可被模塊化,或者以任何適當(dāng)?shù)姆绞讲贾?。本領(lǐng)域的技術(shù)人員能夠容易地編程或配置適當(dāng)?shù)能浖蜻m當(dāng)?shù)倪壿?,比如以專用集成電?ASIC)或者類似裝置或者裝置的組合的形式,以實(shí)現(xiàn)上面說明的方法。另外,應(yīng)理解軟件指令或類似邏輯與其中保存或包含這樣的軟件指令或類似邏輯,以便由處理器112執(zhí)行的局部存儲(chǔ)器120或其它存儲(chǔ)器的組合包括“計(jì)算機(jī)可讀介質(zhì)”或“計(jì)算機(jī)程序產(chǎn)品”,如在專利詞典中使用該術(shù)語一樣。
[0049]應(yīng)注意為了說明本發(fā)明的原理和概念,參考一個(gè)或多個(gè)例證實(shí)施例,說明了本發(fā)明。本發(fā)明并不局限于這些實(shí)施例。鑒于這里提供的說明,本領(lǐng)域的技術(shù)人員會(huì)明白,可對(duì)這里說明的實(shí)施例作出許多變化,所有這樣的變化都在權(quán)利要求書中限定的本發(fā)明的范圍之內(nèi)。
【權(quán)利要求】
1.一種管理高速緩存存儲(chǔ)區(qū)的方法,所述高速緩存存儲(chǔ)區(qū)由一群一個(gè)或多個(gè)基于閃存的裝置和管理一組虛擬機(jī)的主計(jì)算機(jī)系統(tǒng)支持,所述方法包括: 向虛擬機(jī)管理器提供高速緩存資源管理器應(yīng)用,高速緩存資源管理器被配置有用于根據(jù)由主計(jì)算系統(tǒng)支持的虛擬機(jī)的數(shù)目來分配可用的高速緩存存儲(chǔ)容量的標(biāo)識(shí)部分的倍數(shù)的一個(gè)或多個(gè)策略; 向虛擬機(jī)管理器提供高速緩存資源分配器和基于閃存的高速緩存裝置驅(qū)動(dòng)器,高速緩存資源分配器被配置成要求一群基于閃存的高速緩存裝置,向每個(gè)虛擬機(jī)分配邏輯驅(qū)動(dòng)器,并標(biāo)識(shí)由一群基于閃存的裝置提供的可用高速緩存存儲(chǔ)容量的一部分; 向虛擬基礎(chǔ)架構(gòu)客戶端提供插件,該插件被配置成向至少一個(gè)基于閃存的高速緩存裝置提供虛擬機(jī)、虛擬機(jī)管理器和客戶上下文;和 將驅(qū)動(dòng)器暴露給每個(gè)虛擬機(jī),以使虛擬機(jī)能夠與一群基于閃存的高速緩存裝置通信,好像虛擬機(jī)在與專用存儲(chǔ)裝置通信似的。
2.按照權(quán)利要求1所述的方法,其中將驅(qū)動(dòng)器暴露給每個(gè)虛擬機(jī)是對(duì)在虛擬機(jī)上執(zhí)行的操作系統(tǒng)和高速緩存資源管理器定義的區(qū)間映射起反應(yīng)。
3.按照權(quán)利要求2所述的方法,其中每個(gè)虛擬機(jī)只響應(yīng)于區(qū)間映射而將I/O操作指向區(qū)間。
4.按照權(quán)利要求2所述的方法,其中高速緩存資源管理器響應(yīng)于在主計(jì)算系統(tǒng)上工作的虛擬機(jī)的數(shù)目的變化,來動(dòng)態(tài)地修改區(qū)間映射。
5.按照權(quán)利要求1所述的方法,其中插件被配置成向人機(jī)接口提供信息。
6.按照權(quán)利要求1所述的方法,其中插件還被配置成代表高速緩存資源管理器來與虛擬機(jī)通信。
7.按照權(quán)利要求1所述的方法,其中每個(gè)驅(qū)動(dòng)器以映射到基于閃存的高速緩存裝置的區(qū)間,發(fā)出對(duì)于來自所述一群基于閃存的高速緩存裝置中的基于閃存的一個(gè)高速緩存裝置的命中或高速緩存填充1/0,所述I/O由與映射到特定虛擬機(jī)的邏輯驅(qū)動(dòng)器關(guān)聯(lián)的高速緩存資源分配器接收,高速緩存資源分配器確認(rèn)I/o范圍,并將該I/O重定向到物理裝置。
8.一種高速緩存資源管理系統(tǒng),適合于動(dòng)態(tài)管理由一群一個(gè)或多個(gè)基于閃存的裝置和管理一組虛擬機(jī)的主計(jì)算機(jī)系統(tǒng)支持的高速緩存存儲(chǔ)區(qū),所述系統(tǒng)包括: 在主計(jì)算機(jī)系統(tǒng)上運(yùn)行的高速緩存資源管理器應(yīng)用,該高速緩存資源管理器應(yīng)用被配置有用于根據(jù)由主計(jì)算系統(tǒng)支持的虛擬機(jī)的數(shù)目來分配可用的高速緩存存儲(chǔ)容量的標(biāo)識(shí)部分的倍數(shù)的一個(gè)或多個(gè)策略; 在主計(jì)算機(jī)系統(tǒng)上運(yùn)行的虛擬機(jī)管理器,該虛擬機(jī)管理器布置有高速緩存資源分配器和基于閃存的高速緩存裝置驅(qū)動(dòng)器,高速緩存資源分配器被配置成要求一群基于閃存的高速緩存裝置,向每個(gè)虛擬機(jī)分配邏輯驅(qū)動(dòng)器,并標(biāo)識(shí)由該群基于閃存的裝置提供的可用高速緩存存儲(chǔ)容量的一部分; 被布置成與虛擬基礎(chǔ)架構(gòu)客戶端通信的插件,所述插件被配置成向至少一個(gè)基于閃存的高速緩存裝置提供虛擬機(jī)、虛擬機(jī)管理器和客戶上下文;和 每個(gè)虛擬機(jī)可用的至少一個(gè)驅(qū)動(dòng)器,使得能夠?qū)崿F(xiàn)與一群基于閃存的高速緩存裝置的通信,好像該虛擬機(jī)在與專用存儲(chǔ)裝置通信似的。
9.按照權(quán)利要求8所述的系統(tǒng),其中所述至少一個(gè)驅(qū)動(dòng)器是根據(jù)在虛擬機(jī)上運(yùn)行的操作系統(tǒng)配置的,并且對(duì)高速緩存資源管理器定義的區(qū)間映射起反應(yīng)。
10.按照權(quán)利要求9所述的系統(tǒng),其中每個(gè)虛擬機(jī)只響應(yīng)于區(qū)間映射而將I/O操作指向區(qū)間。
11.按照權(quán)利要求9所述的系統(tǒng),其中高速緩存資源管理器響應(yīng)于在主計(jì)算系統(tǒng)上工作的虛擬機(jī)的數(shù)目的變化,動(dòng)態(tài)地修改區(qū)間映射。
12.按照權(quán)利要求8所述的系統(tǒng),其中插件還被配置成向人機(jī)接口提供信息。
13.按照權(quán)利要求8所述的系統(tǒng),其中插件還被配置成代表高速緩存資源管理器來與虛擬機(jī)通信。
14.按照權(quán)利要求8所述的系統(tǒng),其中每個(gè)驅(qū)動(dòng)器以映射到基于閃存的高速緩存裝置的區(qū)間,發(fā)出對(duì)于來自所述一群基于閃存的高速緩存裝置中的一個(gè)基于閃存的高速緩存裝置的命中或高速緩存填充1/0,所述I/O由與映射到特定虛擬機(jī)的邏輯驅(qū)動(dòng)器關(guān)聯(lián)的高速緩存資源分配器接收,高速緩存資源分配器確認(rèn)I/O范圍,并將該I/O重定向到物理裝置。
15.一種計(jì)算機(jī)可讀介質(zhì),具有以非臨時(shí)的形式存儲(chǔ)在其上的計(jì)算機(jī)可執(zhí)行指令,所述可執(zhí)行指令當(dāng)在主計(jì)算機(jī)的處理系統(tǒng)上執(zhí)行時(shí)指示處理系統(tǒng): 指示高速緩存資源分配器要求耦接到主計(jì)算機(jī)的高速緩存裝置; 指示高速緩存資源管理應(yīng)用: 與高速緩存資源分配器通信,以確定可用的高速緩存裝置,和 掃描主計(jì)算機(jī),以確定由主計(jì)算機(jī)支持的虛擬機(jī)的數(shù)目,一旦標(biāo)識(shí)出虛擬機(jī)的數(shù)目和可用的高速緩存裝置,高速緩存資源管理器就指示高速緩存資源分配器: 將可用的高速緩存容量分成相同大小的區(qū)間,和 創(chuàng)建邏輯驅(qū)動(dòng)器,并按照高速緩存分配策略創(chuàng)建區(qū)間映射;還指示高速緩存資源管理器: 將每個(gè)邏輯驅(qū)動(dòng)器映射到相應(yīng)的虛擬機(jī);和 將區(qū)間映射與每個(gè)邏輯驅(qū)動(dòng)器聯(lián)系起來;和 指示虛擬機(jī):將高速緩存裝置添加到高速緩存群中。
16.按照權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中處理器還被指示指令虛擬機(jī)通過高速緩存裝置之一來處理I/o操作。
17.按照權(quán)利要求15所述的計(jì)算機(jī)可讀介質(zhì),其中處理器還被指示指令虛擬機(jī)管理器監(jiān)視由主計(jì)算機(jī)活動(dòng)地支持的虛擬機(jī)的數(shù)目。
18.按照權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)虛擬機(jī)管理器檢測到支持額外的虛擬機(jī)的請(qǐng)求時(shí),高速緩存資源分配器利用策略來確定待分配給新虛擬機(jī)的高速緩存的量,資源管理器確定將從目前在主計(jì)算機(jī)上執(zhí)行的虛擬機(jī)收回的高速緩存的量,指示目前在主計(jì)算機(jī)上執(zhí)行的虛擬機(jī)釋放所述量的高速緩存,將該高速緩存分配給新的虛擬機(jī),更新區(qū)間映射,指示資源分配器創(chuàng)建新的邏輯驅(qū)動(dòng)器,并用高速緩存裝置配置該新的虛擬機(jī)。
19.按照權(quán)利要求17所述的計(jì)算機(jī)可讀介質(zhì),其中當(dāng)虛擬機(jī)管理器檢測到禁止支持虛擬機(jī)的請(qǐng)求時(shí),高速緩存資源分配器將可供在主計(jì)算機(jī)上執(zhí)行的剩余虛擬機(jī)之間重新分配的高速緩存存儲(chǔ)空間的量通知給高速緩存資源管理器,資源管理器按照策略將可用的高速緩存分配給每個(gè)剩余的虛擬機(jī),更新區(qū)間映射,指令資源分配器除去該邏輯驅(qū)動(dòng)器,并利用可用高速緩存存儲(chǔ)空間的相應(yīng)部分來重新配置剩余的虛擬機(jī)。
20.按照權(quán)利要求18所述的計(jì)算機(jī)可讀介質(zhì),其中所述策略以平等的高速緩存分配、最低保證高速緩存容量和相應(yīng) 虛擬機(jī)的當(dāng)前工作負(fù)荷中的一個(gè)或多個(gè)為基礎(chǔ)。
【文檔編號(hào)】G06F3/06GK104049906SQ201410051986
【公開日】2014年9月17日 申請(qǐng)日期:2014年2月17日 優(yōu)先權(quán)日:2013年3月11日
【發(fā)明者】P·R·凡卡泰紗, S·K·潘達(dá), P·R·瑪哈拉納, L·伯特 申請(qǐng)人:Lsi公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
徐州市| 灵武市| 襄樊市| 扶余县| 永年县| 上饶县| 张家界市| 宝山区| 平塘县| 砀山县| 营山县| 紫金县| 霍州市| 黄龙县| 米脂县| 丽江市| 永济市| 铜川市| 当雄县| 堆龙德庆县| 册亨县| 宜良县| 宿松县| 阿克苏市| 鄂托克前旗| 江油市| 卢湾区| 云林县| 比如县| 阳春市| 全南县| 桐城市| 平安县| 邢台市| 镇坪县| 宜城市| 临沂市| 凉城县| 屏东市| 徐闻县| 六盘水市|