一種操作系統(tǒng)內(nèi)存初始化優(yōu)化算法
發(fā)布時間:2024-04-15 22:05
在操作系統(tǒng)內(nèi)核的啟動過程中,對存在較大內(nèi)存空洞的NUMA結(jié)點內(nèi)存進行初始化時會產(chǎn)生明顯的時間損耗。尤其是在頻率偏低的仿真平臺上啟動時,其影響更為顯著,導致時間損耗進一步放大。為解決這一問題,提出了一種NUMA結(jié)點內(nèi)存初始化優(yōu)化算法,該算法能夠在NUMA結(jié)點內(nèi)存初始化時識別并跳過內(nèi)存空洞,實現(xiàn)高效的內(nèi)存初始化。將該優(yōu)化算法與現(xiàn)行內(nèi)核初始化算法進行對比實驗,結(jié)果表明該優(yōu)化算法顯著提升了對存在內(nèi)存巨大空洞的NUMA結(jié)點內(nèi)存的初始化速度,進而提高了Linux系統(tǒng)內(nèi)核的啟動速度。
【文章頁數(shù)】:7 頁
【部分圖文】:
本文編號:3956015
【文章頁數(shù)】:7 頁
【部分圖文】:
圖1內(nèi)存空間功能分區(qū)
內(nèi)核對內(nèi)存的初始化過程是依據(jù)設(shè)備樹文件中對NUMA結(jié)點的劃分進行的。而一個結(jié)點的內(nèi)存空間范圍,就是從所含的第一個內(nèi)存區(qū)域的起始地址開始,到最后一個內(nèi)存區(qū)域的結(jié)束地址結(jié)束(包括內(nèi)存區(qū)域之間存在的空洞)。同時,如李慧娟等[4]所指出的,內(nèi)核對整個內(nèi)存空間按照功能又進行了一次分區(qū),如圖....
圖2系統(tǒng)內(nèi)存空間分布示意圖
此時,以設(shè)備樹文件規(guī)劃的內(nèi)存布局為例的一個NUMA結(jié)點內(nèi)存空間布局的示意圖如圖2所示。內(nèi)核對NUMA結(jié)點內(nèi)存的初始化過程可以概括為:順序處理每個結(jié)點,并為每個NUMA結(jié)點內(nèi)的物理內(nèi)存頁面建立內(nèi)核數(shù)據(jù)結(jié)構(gòu),完成內(nèi)存的初始化工作。
圖3優(yōu)化算法流程圖
根據(jù)上述原理和依據(jù),優(yōu)化算法流程圖如圖3所示。算法步驟如下所示:
本文編號:3956015
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/3956015.html
最近更新
教材專著