本發明專利技術公開了一種適用于虛擬化平臺的內存節能系統,包括內存狀態調節模塊、內存訪問集管理模塊、內存分配模塊以及上層控制模塊,內存狀態調節模塊用于為上層控制模塊提供應用程序接口,并管理物理機中最小可控單元的狀態查詢和調節,內存分配模塊用于采用基于內存訪問集的動態擴展算法為虛擬機分配和回收內存,內存訪問集管理模用于在內存分配模塊分配和回收內存以后,為虛擬機設置內存訪問集以保存虛擬機內存的分布信息,并管理該內存訪問集,上層控制模塊用于為VMM上層的虛擬機提供接口,以查詢VMM的內部狀態,并對整個內存節能系統進行調試。本發明專利技術能很好地降低虛擬化環境系下的內存高能耗問題,并對現存系統的性能產生很小的影響。
【技術實現步驟摘要】
本專利技術屬于計算機系統結構虛擬化環境下內存
,更具體地,涉及ー種適用于虛擬化平臺的內存節能系統和方法。
技術介紹
隨著IT基礎設施的規模日益増大,能耗問題越來越嚴峻。綠色計算已經是計算機エ業界和學術界的研究重點。在大型數據中心中,內存能耗如今已經占據相當大的一部分,尤其是對于裝備大物理內存的用于大規模數據處理和虛擬機租賃服務的物理機集群,內存能耗已經超越CPU能耗,成為能耗的主要產出者。因此減少內存的能耗是降低數據中心整體能耗的ー個非常關鍵的部分。在大型數據中心中,虛擬化技術以其在IT基礎設施資源管理的高效性和可擴展性方面的優勢被廣泛使用。PC的物理資源不再被單個操作系統直接管理,而是通過虛擬機管理器(Virtual Machine Monitor,簡稱VMM)來管理,VMM可以創建多個虛擬機,讓不同類型的操作系統運行其上,從而大大提高了物理資源的利用率。現有的物理內存芯片廠商已經為內存節能提供了物理支持。ー塊物理內存通常可以分為多個小的可控單元,稱為最小控制單元,每個最小控制單元有多個運行狀態,其中就包括低能耗狀態。當最小控制單元處理正常的讀寫狀態是能耗很高,但是通過一條指令使其變為低能耗狀態時,該物理最小控制單元不能被訪問,但是內存的數據并沒有丟失,同時內存的能耗大大降低。因此內存節能的核心就是讓盡量多的最小可控單元設置為低能耗狀態,降低整體的能耗。當前關于內存節能的研究大多關注于傳統操作系統。虛擬機環境下的內存節能研究較少。在虛擬機運行時,任何時刻ー個處理器上面最多只有一個虛擬機在運行,因此只有部分運行的虛擬機的物理內存需要處于正常的讀寫狀態,其它未被訪問的物理最小可控單元可以轉為低能耗狀態。虛擬機的物理內存越分散,運行該虛擬機時需要處于正常狀態的最小可控單元越多,因此能耗也越大。
技術實現思路
針對現有技術的缺陷,本專利技術的目的在于提供一種適用于虛擬化平臺的內存節能系統,g在解決現有虛擬化環境下物理內存能耗過大的問題。為實現上述目的,本專利技術提供了一種適用于虛擬化平臺的內存節能系統,包括內存狀態調節模塊、內存訪問集管理模塊、內存分配模塊以及上層控制模塊,內存狀態調節模塊用于為上層控制模塊提供應用程序接ロ,并管理物理機中最小可控單元的狀態查詢和調節,內存分配模塊用于采用基于內存訪問集的動態擴展算法為虛擬機分配和回收內存,內存訪問集管理模用于在內存分配模塊分配和回收內存以后,為虛擬機設置內存訪問集以保存虛擬機內存的分布信息,并管理該內存訪問集,上層控制模塊用于為VMM上層的虛擬機提供接ロ,以查詢VMM的內部狀態,并對整個內存節能系統進行調試。內存訪問集的信息包括虛擬機內存占用的最小可控單元序列號、最小可控單元中物理頁的數目以及處于正常狀態的維持時間。內存訪問集的管理主要是通過截獲VMM中與內存相關的關鍵函數來實現,關鍵函數包括有內存分配函數、回收函數以及映射函數。上層控制模塊具體是在VMM內核中建立一片緩沖區,將虛擬機內存的分部區域、最小可控單元的狀態、最小可控單元能耗消耗狀態信息以規定的格式寫入到該緩沖區,在VMM上層的虛擬機中實現了一個讀取該緩沖區的驅動,用來讀取該緩沖區的內存,供上層的分析工具進行數據的分析和調試。通過本專利技術所構思的以上技術方案,與現有技術相比,本專利技術的系統具有以下的優點和技術效果:1,由于采用了內存訪問集管理模塊和內存狀態調節模塊,使得虛擬化環境下每個處理器上面只有一個虛擬機的內存訪問集中的最小可控單元處于正常讀寫狀態,從而減少了系統的物理內存能耗;2、由于采用了內存分配模塊,通過更加簡單的數據結構來組織虛擬機的物理內存,從而提高了內存操作的性能。新的內存分配算法使得虛擬機物理內存占用的最小可控単元比傳統環境下大大減少,從而進一歩的減少了系統的物理內存能耗。本專利技術的另一目的在于提供一種適用于虛擬化平臺的內存節能方法,g在現有解決虛擬化環境下物理內存能耗過大的問題。為實現上述目的,本專利技術提供了一種適用于虛擬化平臺的內存節能方法,包括以下步驟:(I)內存分配模塊接收用戶的虛擬機創建請求;(2)內存分配模塊根據虛擬機創建請求創建內存大小為N個物理頁的虛擬機,其中N為正整數;(3)內存訪問集管理模塊獲取步驟(2)中創建的虛擬機ID,將該虛擬機的內存訪問集加入到內部管理內存訪問集的數據結構中,然后切換到VMM的虛擬機調度器;(4)虛擬機調度器通過調度算法獲取虛擬機,然后將該虛擬機的ID傳入內存狀態調節模塊;(5)內存狀態調節模塊通過虛擬機ID從內存訪問集管理模塊獲取該該虛擬機的內存訪問集,將內存訪問集內所有最小控制單元設置為正常讀寫態,并繼續切換到虛擬機調度器;(6)虛擬機調度器執行上下文切換,并返回用戶態;(7)上層控制模塊為用戶提供已創建虛擬機的內存狀態查詢,以供該用戶執行調試;內存訪問集管理模塊用來管理虛擬機的內存訪問集的數據結構為哈希表,即通過虛擬機的ID可以利用哈希表查詢到對應的內存訪問集。步驟(2)包括以下子步驟:(2-1)內存分配模塊判斷是否可以從內存訪問集管理模塊中找到虛擬機對應的內存訪問集,如果找不到內存訪問集,則進入步驟(2-2),否則進入步驟(2-3);(2-2)內存分配模塊在內存訪問集管理模塊中建立內存訪問集,并將該內存訪問集初始化為空集;(2-3)內存分配模塊判定物理頁的數量N是否大于系統總的空閑內存,如果是則返回內存不足的錯誤信息,然后過程結束,否則進入步驟(2-4);(2-4)內存分配模塊判定物理頁的數量N是否大于零,如果是則進入(2-5),否則返回內存分配成功信,然后過程結束;(2-5)內存分配模塊判斷是否在內存訪問集中成功分配了大小為N的物理頁,若分配成功則返回內存分配成功信息,否則進入步驟(2-6);(2-6)內存分配模塊查找ー個空閑頁最多的最小可控單元,并將其加入到內存訪問集中,并返回到步驟(2-4)。通過本專利技術所構思的以上技術方案,與現有技術相比,本專利技術的方法具有以下優點:1、由于采用了步驟(3)和步驟(5),在系統運行時只有正在被虛擬機訪問的最小可控單元處于正常讀寫狀態,其它最小可控單元只處于節能狀態,因此系統的能耗降低;1、由于采用了步驟(2-5)和(2-6),虛擬機的內存訪問集只有在自身空閑內存不夠的情況下才會增加新的最小可控單元,因此虛擬機的內存更加的聚集,所以虛擬機運行時占用的最小可控單元較傳統環境下更加的少,因此能耗進ー步降低。附圖說明圖1為本專利技術適用于虛擬化平臺的內存節能系統的模塊框圖。圖2為本專利技術適用于虛擬化平臺的內存節能系統模塊工作方法的流程圖。圖3為本專利技術適用于虛擬化平臺的虛擬機內存分配方法的流程圖。具體實施例方式為了使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進ー步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本專利技術,并不用于限定本專利技術。如圖1所示,本專利技術適用于虛擬化平臺的內存節能系統包括內存狀態調節模塊1、內存訪問集管理模塊2、內存分配模塊3以及上層控制模塊4,這四個模塊都是在VMM中實現。內存狀態調節模塊I用于為上層控制模塊4提供應用程序接ロ(ApplicationProgram Interface,簡稱API),并管理物理機中最小可控單元(Rank)的狀態查詢和調本文檔來自技高網...
【技術保護點】
一種適用于虛擬化平臺的內存節能系統,包括內存狀態調節模塊、內存訪問集管理模塊、內存分配模塊以及上層控制模塊,其特征在于,內存狀態調節模塊用于為上層控制模塊提供應用程序接口,并管理物理機中最小可控單元的狀態查詢和調節;內存分配模塊用于采用基于內存訪問集的動態擴展算法為虛擬機分配和回收內存;內存訪問集管理模用于在內存分配模塊分配和回收內存以后,為虛擬機設置內存訪問集以保存虛擬機內存的分布信息,并管理該內存訪問集;上層控制模塊用于為VMM上層的虛擬機提供接口,以查詢VMM的內部狀態,并對整個內存節能系統進行調試。
【技術特征摘要】
【專利技術屬性】
技術研發人員:金海,廖小飛,余施展,
申請(專利權)人:華中科技大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。