www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > Linux閱碼場(chǎng)
[導(dǎo)讀]云與虛擬化云計(jì)算是通過(guò)Internet服務(wù)的方式提供動(dòng)態(tài)可伸縮資源的計(jì)算模式,經(jīng)過(guò)多年的發(fā)展已成為企業(yè)IT技術(shù)的重要支撐。虛擬化是云計(jì)算的核心技術(shù)之一,將一臺(tái)計(jì)算機(jī)抽象為多臺(tái)邏輯計(jì)算機(jī),即虛擬機(jī),每個(gè)虛擬機(jī)是一個(gè)單獨(dú)安全的環(huán)境,可運(yùn)行不同的操作系統(tǒng)且互不影響。虛擬化技術(shù)給資源使用...

云與虛擬化

云計(jì)算是通過(guò) Internet 服務(wù)的方式提供動(dòng)態(tài)可伸縮資源的計(jì)算模式,經(jīng)過(guò)多年的發(fā)展已成為企業(yè) IT 技術(shù)的重要支撐。虛擬化是云計(jì)算的核心技術(shù)之一,將一臺(tái)計(jì)算機(jī)抽象為多臺(tái)邏輯計(jì)算機(jī),即虛擬機(jī),每個(gè)虛擬機(jī)是一個(gè)單獨(dú)安全的環(huán)境,可運(yùn)行不同的操作系統(tǒng)且互不影響。

虛擬化技術(shù)給資源使用和調(diào)度帶來(lái)了極大便利,云計(jì)算系統(tǒng)可以根據(jù)負(fù)載情況及時(shí)進(jìn)行資源調(diào)度,在提升資源利用率的同時(shí)保證應(yīng)用和服務(wù)不會(huì)因資源不足而影響服務(wù)質(zhì)量。然而虛擬化也是有代價(jià)的,對(duì)資源的抽象帶來(lái)了性能損失,這也是虛擬化一直致力解決的問(wèn)題。

虛擬化的資源抽象可以簡(jiǎn)單劃分為三部分:CPU 虛擬化、內(nèi)存虛擬化和設(shè)備虛擬化。其中設(shè)備虛擬化已經(jīng)可以實(shí)現(xiàn)網(wǎng)絡(luò)、存儲(chǔ)等設(shè)備直通虛擬機(jī),沒(méi)有性能損失;CPU 虛擬化在硬件特性的支持下,執(zhí)行普通指令性能與裸機(jī)相同;而內(nèi)存虛擬化相比裸機(jī),仍然存在較大差異,是當(dāng)下值得關(guān)注的問(wèn)題。內(nèi)存虛擬化

虛擬內(nèi)存:說(shuō)到內(nèi)存虛擬化,就不得不提虛擬內(nèi)存的概念。早期的操作系統(tǒng)只有物理地址且空間有限,進(jìn)程使用內(nèi)存時(shí)必須小心翼翼以避免覆蓋其他進(jìn)程的內(nèi)存。為避免此問(wèn)題,虛擬內(nèi)存的概念被抽象出來(lái),保證每個(gè)進(jìn)程都有一塊連續(xù)的、獨(dú)立的虛擬內(nèi)存空間。進(jìn)程直接通過(guò) VA(Virtual Address)使用內(nèi)存,CPU 訪存時(shí)發(fā)出的 VA 由硬件 MMU(Memory Management Unit)攔截并轉(zhuǎn)換為 PA(Physical Address),VA 到 PA 的映射使用頁(yè)表進(jìn)行管理,MMU 在轉(zhuǎn)換時(shí)會(huì)自動(dòng)查詢頁(yè)表。內(nèi)存虛擬化:與虛擬內(nèi)存的概念類似,一臺(tái)主機(jī)上的每個(gè)虛擬機(jī)認(rèn)為自己獨(dú)占整個(gè)物理地址空間,因而需要對(duì)內(nèi)存再做一次抽象,即內(nèi)存虛擬化,保證每個(gè)虛擬機(jī)都有獨(dú)立的地址空間。這樣一來(lái),在虛擬機(jī)和物理機(jī)中均有 VA 和 PA 的概念,即 GVA(Guest ?Virtual Address)和 GPA(Guest Physical Address),以及 HVA(Host Virtual Address)和 HPA(Host Physical Address)。虛擬機(jī)內(nèi)的程序使用的是GVA,最終需要轉(zhuǎn)換成 HPA。兩個(gè) VA 到 PA( GVA 到 GPA 以及 HVA 到 HPA)的映射同樣使用頁(yè)表管理,GPA 到 HVA 一般是幾段連續(xù)的線性映射,由虛擬機(jī)的管理程序 VMM(Virtual Machine Monitor)進(jìn)行管理。


進(jìn)程訪存需要從 VA 轉(zhuǎn)換成 PA,在引入內(nèi)存虛擬化后,轉(zhuǎn)換路徑發(fā)生了很大的變化。原本只需要將 VA 轉(zhuǎn)換為 PA,虛擬化后轉(zhuǎn)換過(guò)程變成 GVA -> GPA -> HVA -> HPA 。路徑變得更長(zhǎng)更復(fù)雜之后,對(duì)于訪存的安全和性能都帶來(lái)了挑戰(zhàn),這兩點(diǎn)也是內(nèi)存虛擬化需要達(dá)到的目標(biāo):1)安全 ,即地址轉(zhuǎn)換的合法性,虛擬機(jī)不能訪問(wèn)不屬于自己的內(nèi)存;2)性能,即地址轉(zhuǎn)換的高效性,包括轉(zhuǎn)換關(guān)系建立的開(kāi)銷低,以及轉(zhuǎn)換過(guò)程本身的開(kāi)銷低。

經(jīng)典方案

為達(dá)成內(nèi)存虛擬化的目標(biāo),已經(jīng)有很多虛擬化方案被提出,SPT(Shadow Page Table)和 EPT(Extended Page Table)是兩種典型的方案,也是大家最熟悉的方案。我們先以此為切入點(diǎn),看看他們是如何工作的,然后再討論其他的虛擬化方案。

SPT:由于最初的硬件只支持一層頁(yè)表轉(zhuǎn)換,直接用來(lái)轉(zhuǎn)換虛擬機(jī)或物理機(jī)上的 VA 到 PA 都無(wú)法完成 GVA 到 HPA 的轉(zhuǎn)換。因此 SPT 建立了一條捷徑,即影子頁(yè)表,直接管理 GVA 到 HPA 的映射,如下圖所示。每一個(gè)影子頁(yè)表實(shí)例對(duì)應(yīng)虛擬機(jī)內(nèi)一個(gè)進(jìn)程,影子頁(yè)表的建立需要 VMM 查詢虛擬機(jī)內(nèi)進(jìn)程的頁(yè)表。

由于影子頁(yè)表管理的是 GVA 到 HPA 的直接映射,SPT 地址轉(zhuǎn)換路徑與物理機(jī)路徑相當(dāng),直接查詢一層頁(yè)表就可以完成地址轉(zhuǎn)換。在使用 4 級(jí)頁(yè)表時(shí),轉(zhuǎn)換過(guò)程如下圖所示。

優(yōu)勢(shì):SPT 地址轉(zhuǎn)換過(guò)程的開(kāi)銷低,與物理機(jī)相當(dāng)。

劣勢(shì):1)地址轉(zhuǎn)換關(guān)系的建立開(kāi)銷很大,為保證地址轉(zhuǎn)換的合法性,所有的轉(zhuǎn)換關(guān)系建立,即虛擬機(jī)進(jìn)程的頁(yè)表修改,都會(huì)被攔截之后陷出到特權(quán)的 VMM 中代為執(zhí)行;

2)影子頁(yè)表本身需要占用內(nèi)存,且一個(gè)影子頁(yè)表只對(duì)應(yīng)虛擬機(jī)內(nèi)一個(gè)進(jìn)程,整體會(huì)占用較多內(nèi)存資源。

EPT:后來(lái)的硬件針對(duì)虛擬化增加了嵌套頁(yè)表的支持,使得硬件可以自動(dòng)完成兩層頁(yè)表轉(zhuǎn)換。EPT 即是基于硬件支持的方案,在管理 GVA 到 GPA 的虛擬機(jī)頁(yè)表基礎(chǔ)上,新增擴(kuò)展頁(yè)表管理 GPA 到 HPA 的映射,如下圖所示。這兩層頁(yè)表相互獨(dú)立,兩層映射關(guān)系轉(zhuǎn)換都由硬件自動(dòng)完成。

由于虛擬機(jī)內(nèi)各級(jí)頁(yè)表(gL4, gL3, gL2, gL1)內(nèi)容只是 GPA,查詢下一級(jí)時(shí)必須先經(jīng)擴(kuò)展頁(yè)表(nL4, nL3, nL2, nL1)轉(zhuǎn)換為 HPA,使得整個(gè)轉(zhuǎn)換路徑很長(zhǎng)。在兩層頁(yè)表均為 4 級(jí)時(shí),轉(zhuǎn)換過(guò)程如下圖所示。

優(yōu)勢(shì):地址轉(zhuǎn)換關(guān)系的建立開(kāi)銷低,獨(dú)立的 EPT 頁(yè)表的存在保證了地址轉(zhuǎn)換的合法性,因此虛擬機(jī)的頁(yè)表可以自行修改而無(wú)需 VMM 的干預(yù)。

劣勢(shì):轉(zhuǎn)換過(guò)程的開(kāi)銷很大,最壞情況下需要 24(4 4 4 * 4)次硬件查表轉(zhuǎn)換。

兩種經(jīng)典的方案在安全上都有堅(jiān)實(shí)的保證,但在性能上各有缺陷。SPT 為保證地址轉(zhuǎn)換的合法性在建立轉(zhuǎn)換關(guān)系時(shí)付出了很大代價(jià),而 EPT 雖然消除了建立轉(zhuǎn)換關(guān)系的開(kāi)銷,轉(zhuǎn)換路徑卻更長(zhǎng)了。其他探索業(yè)界和學(xué)術(shù)界關(guān)于內(nèi)存虛擬化還有很多的探索,基本思想與 SPT 或 EPT 類似,可以據(jù)此分為三類來(lái)看:1)一層頁(yè)表方案。與 SPT 類似,使用一層頁(yè)表直接管理 GVA 到 HPA 的映射;2)兩層頁(yè)表方案。與 EPT 類似,使用兩層獨(dú)立頁(yè)表分別管理 GVA 到 GPA 以及 GPA 到 HPA 的映射;3)混合方案。結(jié)合前兩類方案,進(jìn)行動(dòng)態(tài)的選擇。

Direct Paging:一層頁(yè)表方案,這是 Xen 在早期硬件僅支持一層頁(yè)表時(shí)的半虛擬化方案。相比于 SPT 最大的區(qū)別是,沒(méi)有單獨(dú)維護(hù) GVA 到 GPA 的虛擬機(jī)頁(yè)表,虛擬機(jī)知道自己處于虛擬化環(huán)境,即知道自己的頁(yè)表內(nèi)容是 HPA。虛擬機(jī)修改頁(yè)表也需要陷出,但是采用主動(dòng)陷出的方式,可以 batch 化,而 SPT 則是被動(dòng)攔截陷出;讀取頁(yè)表時(shí)只能拿到 HPA,需要查一張 M2P(Machine to Physical)表才能得到 GPA。

Direct Paging 同樣使用一層頁(yè)表管理 GVA 到 HPA 映射,地址轉(zhuǎn)換的路徑與 SPT 是相同的。在使用 4 級(jí)頁(yè)表時(shí),最壞只需 4 次查表。

優(yōu)勢(shì):地址轉(zhuǎn)換過(guò)程的開(kāi)銷低,與物理機(jī)相當(dāng)。

劣勢(shì):1)地址轉(zhuǎn)換關(guān)系的建立開(kāi)銷很大,所有頁(yè)表修改都需要主動(dòng)陷出;2)需要虛擬機(jī)做半虛擬化的適配,虛擬機(jī)需要感知自己的頁(yè)表管理的是 GVA 到 HPA 的映射。

Direct Segment:兩層頁(yè)表方案,這是學(xué)術(shù)界基于新硬件的方案。GVA 到 GPA 的映射管理與 EPT 相同,同樣采用多級(jí)頁(yè)表。但 GPA 到 HPA 的映射采用分段機(jī)制, GPA 轉(zhuǎn)換為 HPA 時(shí)只需要通過(guò)硬件加上一個(gè)偏移即可。

GPA 雖然不等于 HPA,但二者的映射關(guān)系十分簡(jiǎn)單,只需要 Direct Segment 硬件添加一個(gè)偏移,整個(gè)轉(zhuǎn)換路徑與物理機(jī)的路徑相比差別很小,僅多了幾次硬件偏移。虛擬機(jī)使用 4 級(jí)頁(yè)表時(shí),轉(zhuǎn)換路徑如下圖所示,其中 DS 表示 GPA 到 HPA 轉(zhuǎn)換的硬件支持。

優(yōu)勢(shì):地址轉(zhuǎn)換關(guān)系的建立開(kāi)銷低,同時(shí)轉(zhuǎn)換過(guò)程的開(kāi)銷也很低。

劣勢(shì):1)需要硬件支持 GPA 到 HPA 分段映射,現(xiàn)有的硬件不具備這樣的功能;2)需要分配大段連續(xù)的內(nèi)存,即主機(jī)不能有太多內(nèi)存碎片。

Flat EPT:兩層頁(yè)表方案,這也是學(xué)術(shù)界提出的基于新硬件的方案。整體與 EPT 非常相似,唯一的區(qū)別在于 EPT 管理 GPA 到 HPA 的使用多級(jí)頁(yè)表,一般是 4 級(jí),每級(jí) 512 項(xiàng);而 Flat EPT 使用僅有一級(jí)的扁平頁(yè)表,表項(xiàng)遠(yuǎn)不止 512。

與 EPT 相同,虛擬機(jī)內(nèi)各級(jí)頁(yè)表的內(nèi)容也是 GPA,查詢下一級(jí)時(shí)需要先經(jīng)過(guò)扁平擴(kuò)展頁(yè)表(nL4)轉(zhuǎn)換為 HPA。由于扁平擴(kuò)展頁(yè)表只有一級(jí),轉(zhuǎn)換路徑相比 EPT 縮短了非常多。在虛擬機(jī)內(nèi)使用4級(jí)頁(yè)表時(shí),轉(zhuǎn)換路徑如下圖所示,最壞只需 9(4 1 4 * 1)次查表。

優(yōu)勢(shì):地址轉(zhuǎn)換關(guān)系的建立開(kāi)銷低,同時(shí)轉(zhuǎn)換過(guò)程的開(kāi)銷也較低。相比于 Direct Segment 對(duì)內(nèi)存分配要求很低,只需要少量連續(xù)內(nèi)存用作扁平擴(kuò)展頁(yè)表即可(8G規(guī)格虛擬機(jī)只需要 16M)。

劣勢(shì):需要硬件支持扁平擴(kuò)展頁(yè)表,當(dāng)前的硬件只支持表項(xiàng)為 512 的多級(jí)擴(kuò)展頁(yè)表。

Mix SPT and EPT:混合方案,這是學(xué)術(shù)界較早提出的方案,簡(jiǎn)單而言就是動(dòng)態(tài)的分時(shí)切換 SPT 與 EPT。在虛擬機(jī)運(yùn)行時(shí)監(jiān)控和采集 TLB miss 與 Page Fault 的數(shù)據(jù),在二者達(dá)到設(shè)定的閾值時(shí)進(jìn)行 SPT 與 EPT 之間的切換,如下圖所示:
  • TLB miss 率高于閾值 T1,Page Fault 頻率低于閾值 T2 時(shí),從 EPT 切換到 SPT

  • TLB miss 率低于閾值 T1,Page Fault 頻率高于閾值 T2 時(shí),從 SPT 切換到 EPT

優(yōu)勢(shì):有機(jī)會(huì)充分利用SPT與EPT的優(yōu)勢(shì),達(dá)到更好的性能。

劣勢(shì):1)頁(yè)表切換閾值的設(shè)定很困難,硬件配置都可能影響閾值;2)SPT與EPT的切換也是有代價(jià)的,主要是SPT的銷毀與重建。

總結(jié)

一層頁(yè)表顯著的優(yōu)勢(shì)是地址轉(zhuǎn)換過(guò)程開(kāi)銷低,與物理機(jī)相同,需要解決的問(wèn)題是減少地址轉(zhuǎn)換建立的開(kāi)銷。一個(gè)可能的方向是放棄一些安全性,讓頁(yè)表的修改更輕量;另一個(gè)更實(shí)際的方向是在合適的場(chǎng)景使用,即針對(duì)頁(yè)表修改不頻繁的負(fù)載使用。

兩層頁(yè)表的優(yōu)勢(shì)是地址轉(zhuǎn)換建立的開(kāi)銷小,虛擬機(jī)可以獨(dú)立修改頁(yè)表,需要考慮的問(wèn)題是縮短轉(zhuǎn)換路徑。這個(gè)方向其實(shí)可行性很高,但是依賴新硬件的支持,短期不太可能出現(xiàn)符合要求的新硬件。

混合頁(yè)表的設(shè)計(jì)初衷是希望充分利用兩類頁(yè)表的優(yōu)勢(shì),但是做好動(dòng)態(tài)的模式切換是非常困難的,負(fù)載的差異甚至硬件的差異都可能影響切換的效果?;蛟S針對(duì)已知負(fù)載做定向的調(diào)優(yōu)是一個(gè)可行的方向。

長(zhǎng)遠(yuǎn)來(lái)看,如果有新硬件的加持,兩層頁(yè)表(尤其是Flat EPT)是比較完善的方案,地址轉(zhuǎn)換可以很高效,也不需要在安全和通用性上做一些犧牲。但是短期來(lái)看,新硬件為時(shí)尚早,在一層頁(yè)表方案上做進(jìn)一步的探索和優(yōu)化,是更加實(shí)際的。我們將會(huì)持續(xù)在內(nèi)存虛擬化這條路徑探索更多的可能,歡迎大家加入 OpenAnolis 龍蜥社區(qū)討論交流。

關(guān)于作者

陶志恒(君川),2020年加入阿里云操作系統(tǒng)-云原生底層系統(tǒng)團(tuán)隊(duì),目前從事性能優(yōu)化方向的工作。

招賢納士

我們是來(lái)自阿里云的操作系統(tǒng)團(tuán)隊(duì),尋找有內(nèi)核、虛擬化、容器、網(wǎng)絡(luò)、存儲(chǔ)、安全等系統(tǒng)技術(shù)經(jīng)驗(yàn),并有志于打造云原生底層系統(tǒng)的優(yōu)秀人才,歡迎聯(lián)系我們(郵箱:shaokang.hwd@alibaba-inc.com)。

加入組織添加龍蜥社區(qū)_小龍微信可入官方社群,也可隨時(shí)獲取最新動(dòng)態(tài)。

戳“閱讀原文”直達(dá) OpenAnolis 龍蜥社區(qū)官網(wǎng)https://openanolis.cn/

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉