一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計算虛擬化技術(shù)領(lǐng)域,特別涉及一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置和方法。
【背景技術(shù)】
[0002]云計算的興起正在逐漸地改變整個計算機(jī)產(chǎn)業(yè)界和學(xué)術(shù)界。虛擬化技術(shù)和云計算平臺的結(jié)合帶來了全新的資源整合和使用模式。云計算的目標(biāo)是將計算資源、存儲資源、軟件開發(fā)、系統(tǒng)測試、系統(tǒng)維護(hù)和各種豐富的應(yīng)用服務(wù)等IT資源以服務(wù)的方式通過互聯(lián)網(wǎng)交付給用戶。虛擬化實現(xiàn)了 IT資源的邏輯抽象和統(tǒng)一表示,在大規(guī)模數(shù)據(jù)中心管理和解決方案交付方面發(fā)揮著巨大的作用,是支撐云計算偉大構(gòu)想的最重要的技術(shù)基石?;谔摂M化技術(shù)的資源按需分配與調(diào)度可以提高云平臺資源的利用率,提升云服務(wù)的服務(wù)質(zhì)量,并降低云用戶的總體擁有成本。但是,物理服務(wù)器的資源邊界限制了資源的全局優(yōu)化能力,尤其是內(nèi)存資源的大小,總是容易成為物理服務(wù)器資源的瓶頸,限制云計算的大規(guī)模發(fā)展。
[0003]而現(xiàn)有的基于云計算虛擬化的部分內(nèi)存優(yōu)化技術(shù),只能通過修改虛擬化環(huán)境中的單個虛擬機(jī)的內(nèi)核,使用氣球驅(qū)動技術(shù),半自動的實現(xiàn)對于虛擬機(jī)內(nèi)存的調(diào)節(jié)。隨著虛擬機(jī)操作系統(tǒng)內(nèi)核越來越復(fù)雜化,半自動的修改內(nèi)核的方式非常耗費時間精力,效率較低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置和方法,以解決上述問題。
[0005]本發(fā)明實施例提供了一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置,該裝置為由雙層地址空間映射構(gòu)成的分布式結(jié)構(gòu),包括全局?jǐn)U展地址空間、邏輯擴(kuò)展地址空間和地址映射組件;
[0006]全局?jǐn)U展地址空間,用于管理所有映射到本地擴(kuò)展地址空間的多個遠(yuǎn)程空閑內(nèi)存;
[0007]邏輯擴(kuò)展地址空間,用于擴(kuò)展本地物理地址空間;
[0008]地址映射組件,用于進(jìn)行所述全局?jǐn)U展地址空間和所述邏輯擴(kuò)展地址空間之間的雙向映射,按照效率優(yōu)先的訪存協(xié)議支持遠(yuǎn)程的數(shù)據(jù)存取和數(shù)據(jù)同步。
[0009]其中,全局?jǐn)U展地址空間設(shè)置有如下多個操作接口:
[0010]添加接口,用于添加一段遠(yuǎn)程內(nèi)存到所述全局?jǐn)U展地址空間,返回該內(nèi)存段在全局?jǐn)U展地址空間中的起始地址;
[0011]刪除接口,用于刪除一段全局?jǐn)U展地址空間;
[0012]映射接口,用于映射一段全局?jǐn)U展地址空間到邏輯擴(kuò)展地址空間,返回其在邏輯擴(kuò)展地址空間中的起始地址;
[0013]釋放接口,用于釋放從邏輯擴(kuò)展地址空間中起始地址開始的一段空間映射。
[0014]其中,邏輯擴(kuò)展地址空間位于虛擬機(jī)監(jiān)控器中,包括一個從零開始的獨立地址空間和一個標(biāo)識其空間的全局唯一標(biāo)識符。
[0015]其中,虛擬機(jī)監(jiān)控器用于控制邏輯擴(kuò)展地址空間的申請和回收。
[0016]本發(fā)明還提供一種基于云計算虛擬化的內(nèi)存優(yōu)化方法,包括步驟:
[0017]步驟A,獲取多個不同的全局?jǐn)U展地址空間地址段;
[0018]步驟B,將所述多個全局?jǐn)U展地址空間地址段映射到同一段邏輯擴(kuò)展地址空間上;
[0019]步驟C,判斷系統(tǒng)是否觸發(fā)對于所述邏輯擴(kuò)展地址空間的尋址,是,進(jìn)入步驟D;
[0020]步驟D,把尋址指令分別發(fā)送到多個不同的全局?jǐn)U展地址空間地址段上;
[0021]步驟E,按照效率優(yōu)先的訪存協(xié)議,完成數(shù)據(jù)讀寫操作。
[0022]本發(fā)明實施例提供了一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置和方法,構(gòu)建了從全局?jǐn)U展地址空間到邏輯擴(kuò)展地址空間的多對一的映射機(jī)制,全局?jǐn)U展地址空間包括多個被本地虛擬機(jī)監(jiān)控器所使用的遠(yuǎn)程內(nèi)存空間,通過地址映射組件維護(hù)全局?jǐn)U展地址空間和邏輯擴(kuò)展地址空間之間的映射關(guān)系,并按照效率優(yōu)先的訪存協(xié)議進(jìn)行數(shù)據(jù)讀寫,通過構(gòu)建由邏輯地址空間和全局?jǐn)U展地址空間構(gòu)成的雙層地址空間映射機(jī)制,來構(gòu)建跨物理服務(wù)器資源邊界的高效、可靠的內(nèi)存資源抽象,達(dá)到提高整個云計算平臺虛擬化內(nèi)存資源使用效率的目的,這樣相比于現(xiàn)有技術(shù)中僅能修改虛擬化環(huán)境中的單個虛擬機(jī)的內(nèi)核、使用氣球驅(qū)動技術(shù)半自動的實現(xiàn)內(nèi)存調(diào)節(jié)的方式,本發(fā)明提供的技術(shù)方案在合理的映射機(jī)制和效率優(yōu)先的訪存協(xié)議控制下,即可實現(xiàn)全自動內(nèi)存調(diào)節(jié),無需修改虛擬機(jī)內(nèi)核,因此內(nèi)存優(yōu)化效率更高,且調(diào)控的內(nèi)存資源范圍更豐富,使得內(nèi)存的優(yōu)化程度也更高。
【附圖說明】
[0023]圖1為雙層地址空間構(gòu)造圖;
[0024]圖2為本發(fā)明基于云計算虛擬化的內(nèi)存優(yōu)化方法一個實施例流程圖;
[0025]圖3為本發(fā)明映射過程及訪存的路徑圖。
【具體實施方式】
[0026]本發(fā)明實施例提供了一種基于云計算虛擬化的內(nèi)存優(yōu)化裝置和方法。
[0027]本發(fā)明的內(nèi)存優(yōu)化裝置和方法提供了一種云計算虛擬化環(huán)境下的內(nèi)存優(yōu)化技術(shù),該技術(shù)主要是構(gòu)建一個由雙層地址空間映射構(gòu)成的分布式內(nèi)存池。雙層地址空間的構(gòu)建兼顧了效率和可靠性,提供最大程度的內(nèi)存資源抽象。
[0028]參見圖1所示,圖1為雙層地址空間構(gòu)造圖。該裝置為由雙層地址空間映射構(gòu)成的分布式結(jié)構(gòu),由兩個邏輯部分和一個映射組件構(gòu)成,具體包括全局?jǐn)U展地址空間、邏輯擴(kuò)展地址空間和地址映射組件。
[0029]其中,全局?jǐn)U展地址空間用于管理所有映射到本地擴(kuò)展地址空間的多個遠(yuǎn)程空閑內(nèi)存,邏輯擴(kuò)展地址空間則用于擴(kuò)展本地物理地址空間。最終,由映射組件根據(jù)一定的規(guī)則完成從全局?jǐn)U展地址空間到邏輯擴(kuò)展地址空間的映射,并按照效率優(yōu)先的訪存協(xié)議支持遠(yuǎn)程的數(shù)據(jù)存取和數(shù)據(jù)同步。
[0030]全局?jǐn)U展地址空間用來管理所有被本地虛擬機(jī)監(jiān)控器所使用的遠(yuǎn)程內(nèi)存空間,由【服務(wù)器ID,地址段】來標(biāo)示其地址構(gòu)成。每個遠(yuǎn)程內(nèi)存服務(wù)器可以包含多個地址段,這樣的設(shè)計可以根據(jù)空閑內(nèi)存變化動態(tài)地調(diào)整可共享的地址空間。
[0031]為了支持遠(yuǎn)程空間的退出,地址映射組件實現(xiàn)了數(shù)據(jù)同步方法來迀移數(shù)據(jù)、保證數(shù)據(jù)的有效性。
[0032]遠(yuǎn)程服務(wù)器的空閑內(nèi)存通過地址映射組件被映射到邏輯擴(kuò)展空間,通過多個服務(wù)器空間映射到一個空間的方法可以實現(xiàn)數(shù)據(jù)的冗余存儲,提高遠(yuǎn)程內(nèi)存的可靠性。
[0033]該裝置引入如下接口來操作全局?jǐn)U展地址空間:
[0034](1)添加接口:Gsm_addr_space_add (server_id,start_addr, size)(服務(wù)器 ID,起始地址,空間大小),用于添加一段遠(yuǎn)程內(nèi)存到全局?jǐn)U展地址空間,返回該內(nèi)存段在地址空間中的起始地址。
[0035](2)刪除接口:Gsm_addr_space_del (server_id,start_addr, size)(服務(wù)器 ID,起始地址,