基于Unikernel的動態(tài)內(nèi)存調(diào)整研究
發(fā)布時間:2024-03-13 19:52
虛擬化是云計算技術(shù)的關(guān)鍵組件之一。主流虛擬化技術(shù)包括虛擬機(jī)、容器與Unikernel三種。相比前兩種技術(shù),Unikernel同時具有高隔離性與輕便性兩種特點,具有較高的實用價值。Unikernel的問題之一是其不可調(diào)試性,即,運行時若是內(nèi)存分配不合理會影響系統(tǒng)性能,而在運行時,其內(nèi)存分配是無法改變的。針對具有該問題的典型應(yīng)用環(huán)境——運行JVM(JAVA虛擬機(jī)),設(shè)計并實現(xiàn)了一個能夠在運行時動態(tài)調(diào)整系統(tǒng)(Unikernel)與應(yīng)用(JVM)內(nèi)存分配的系統(tǒng)。具體而言,實現(xiàn)了一個JVM氣球,即當(dāng)系統(tǒng)內(nèi)存不足時,通過調(diào)用JVM內(nèi)存分配接口,從JVM中借用內(nèi)存,并映射為系統(tǒng)內(nèi)存,當(dāng)系統(tǒng)內(nèi)存空閑時(未被頻繁使用),則釋放該內(nèi)存空間。同時,本文結(jié)合蟻群算法實現(xiàn)了一種高效的基于預(yù)測的動態(tài)內(nèi)存調(diào)整策略,能夠通過JVM氣球技術(shù)合理分配內(nèi)存。從而達(dá)到在運行時條件下,于應(yīng)用與系統(tǒng)之間動態(tài)分配內(nèi)存的目標(biāo)。依托于典型Unikernel系統(tǒng)OSv實現(xiàn)了系統(tǒng)原型。測試結(jié)果分析表明:方法能夠有效改變JVM的堆大小,并能夠準(zhǔn)確檢測與快速處理頁面錯誤。采用該技術(shù)后,在穩(wěn)定少量I/O的情況下,能夠大幅提升系統(tǒng)性能,例如,在J...
【文章頁數(shù)】:60 頁
【學(xué)位級別】:碩士
【部分圖文】:
本文編號:3927486
【文章頁數(shù)】:60 頁
【學(xué)位級別】:碩士
【部分圖文】:
圖3-2氣球模塊流程圖
取這段地址的指針。塊運行的主要流程如下圖3-2所示。首先氣球驅(qū)動在創(chuàng)建后會申請氣球或者釋放氣球的信號,然后進(jìn)入氣球程序的主循環(huán)。的處理。如果是釋放氣球的信號,首先會判斷當(dāng)前是否有足夠存不夠的話會對內(nèi)存進(jìn)行一次釋放來增加當(dāng)前系統(tǒng)可用內(nèi)存。縮,釋放內(nèi)存還給JAVA虛擬機(jī)。如果....
本文編號:3927486
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3927486.html
最近更新
教材專著