国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

盤點內(nèi)存虛擬化探索之路

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

[[414450]]

本文轉(zhuǎn)載自微信公眾號「云巔論劍」,作者君川 。轉(zhuǎn)載本文請聯(lián)系云巔論劍公眾號。

云與虛擬化

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

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

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

內(nèi)存虛擬化

虛擬內(nèi)存:說到內(nèi)存虛擬化,就不得不提虛擬內(nèi)存的概念。早期的操作系統(tǒng)只有物理地址且空間有限,進(jìn)程使用內(nèi)存時必須小心翼翼以避免覆蓋其他進(jìn)程的內(nèi)存。為避免此問題,虛擬內(nèi)存的概念被抽象出來,保證每個進(jìn)程都有一塊連續(xù)的、獨立的虛擬內(nèi)存空間。進(jìn)程直接通過 VA(Virtual Address)使用內(nèi)存,CPU 訪存時發(fā)出的 VA 由硬件 MMU(Memory Management Unit)攔截并轉(zhuǎn)換為 PA(Physical Address),VA 到 PA 的映射使用頁表進(jìn)行管理,MMU 在轉(zhuǎn)換時會自動查詢頁表。

內(nèi)存虛擬化:與虛擬內(nèi)存的概念類似,一臺主機(jī)上的每個虛擬機(jī)認(rèn)為自己獨占整個物理地址空間,因而需要對內(nèi)存再做一次抽象,即內(nèi)存虛擬化,保證每個虛擬機(jī)都有獨立的地址空間。這樣一來,在虛擬機(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。兩個 VA 到 PA( GVA 到 GPA 以及 HVA 到 HPA)的映射同樣使用頁表管理,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)換過程變成 GVA -> GPA -> HVA -> HPA 。路徑變得更長更復(fù)雜之后,對于訪存的安全和性能都帶來了挑戰(zhàn),這兩點也是內(nèi)存虛擬化需要達(dá)到的目標(biāo):1)安全 ,即地址轉(zhuǎn)換的合法性,虛擬機(jī)不能訪問不屬于自己的內(nèi)存;2)性能,即地址轉(zhuǎn)換的高效性,包括轉(zhuǎn)換關(guān)系建立的開銷低,以及轉(zhuǎn)換過程本身的開銷低。

經(jīng)典方案

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

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

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

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

劣勢:

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

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

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

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

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

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

兩種經(jīng)典的方案在安全上都有堅實的保證,但在性能上各有缺陷。SPT 為保證地址轉(zhuǎn)換的合法性在建立轉(zhuǎn)換關(guān)系時付出了很大代價,而 EPT 雖然消除了建立轉(zhuǎn)換關(guān)系的開銷,轉(zhuǎn)換路徑卻更長了。

其他探索

業(yè)界和學(xué)術(shù)界關(guān)于內(nèi)存虛擬化還有很多的探索,基本思想與 SPT 或 EPT 類似,可以據(jù)此分為三類來看:1)一層頁表方案。與 SPT 類似,使用一層頁表直接管理 GVA 到 HPA 的映射;2)兩層頁表方案。與 EPT 類似,使用兩層獨立頁表分別管理 GVA 到 GPA 以及 GPA 到 HPA 的映射;3)混合方案。結(jié)合前兩類方案,進(jìn)行動態(tài)的選擇。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

總結(jié)

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

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

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

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

關(guān)于作者

 

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

 

責(zé)任編輯:武曉燕 來源: 云巔論劍
相關(guān)推薦

2021-08-05 14:56:28

hacker虛擬化虛擬內(nèi)存

2012-02-22 10:36:35

OpenFlowOpenFlow網(wǎng)絡(luò)

2009-03-19 14:50:43

虛擬化中遠(yuǎn)

2009-01-19 17:57:12

虛擬化微軟VMware

2024-08-29 14:44:01

質(zhì)檢埋點

2011-05-11 10:34:41

SQL Server虛擬化

2018-05-08 15:16:59

內(nèi)存虛擬化處理器

2013-11-11 16:19:06

方物

2009-06-26 16:57:29

中國軟件

2009-04-10 22:57:40

虛擬化IDCIT

2010-05-04 17:13:23

虛擬化

2012-09-11 09:36:21

2012-11-22 10:23:21

服務(wù)器虛擬化

2012-05-16 10:08:27

vmware虛擬化智能終端

2021-12-21 15:46:16

NFV內(nèi)存虛擬化計算虛擬化

2010-01-22 16:08:11

IT運維管理

2021-07-05 05:29:33

數(shù)據(jù)安全《數(shù)據(jù)安全法》網(wǎng)絡(luò)安全

2014-01-13 10:50:28

虛擬化存儲

2011-09-20 10:14:17

紅帽VMware虛擬化
點贊
收藏

51CTO技術(shù)棧公眾號

国产理论电影在线| 欧美xxxx免费虐| 久久精品夜夜夜夜夜久久| 欧美国产一区视频在线观看| 亚洲东热激情| 91精品综合久久久久久久久久久| 国产精久久久| 免费看av不卡| 欧美福利在线播放| 伊人久久精品一区二区三区| 色婷婷在线播放| 秋霞在线视频| 成人黄色片视频| 欧美日韩亚洲一区二区三区在线观看 | 欧美激情极品| caopeng在线| 国产精品视频分类| 欧美高清中文字幕| 444亚洲人体| 久久久久久成人精品| 中文字幕精品久久| 亚洲免费成人av电影| 欧美乱妇20p| 欧美视频第一页| 亚洲欧美在线观看| 国产亚洲欧美色| 欧美激情中文字幕一区二区| 福利电影一区二区| 成人综合婷婷国产精品久久免费| 免费精品视频| 亚洲无毛电影| 亚洲高清电影| 亚洲一区区二区| 亚洲久色影视| 蜜臀av性久久久久蜜臀aⅴ| 99亚洲视频| 日本免费新一区视频| 91香蕉国产在线观看软件| 国产精品无人区| 一区二区三区四区国产精品| 欧美午夜影院在线视频| 欧美一区二区网站| 日韩在线观看网站| 97视频在线观看免费| 国产伦精品一区二区三区四区视频 | 国产一区二区三区中文| 九九热精品视频在线播放| 国产精品亚洲аv天堂网| 国产乱码精品一区二区三区日韩精品| 一本久久a久久精品vr综合| 免费特级黄色片| 日本一二三区视频免费高清| 天堂社区在线视频| 欧美aaa大片| 午夜激情福利在线| 日韩精品久久一区二区三区| 57pao成人国产永久免费| 2020国产精品| 久久中文字幕av| 一级欧洲+日本+国产| 午夜一区二区三区不卡视频| 日韩视频在线一区二区三区 | 久久伊人亚洲| 中文字幕在线视频久| 日本24小时在线高清视频| 成年人在线观看网站| 中日韩一区二区三区| 你懂的视频在线免费| 50度灰在线| 精品91久久| 国产一区二区三区日韩精品| 红杏一区二区三区| 亚洲国产美女| 国产精品国产三级国产a | 97视频在线观看免费高清完整版在线观看| 国产欧美日韩三区| 亚洲成人tv| 国产精品白丝久久av网站| av中文字幕在线| 97在线资源| 日本免费在线观看| 欧美人与性动交xxⅹxx| 伊人春色精品| 天天综合日日夜夜精品| 亚洲欧美成人网| 一区二区三区四区不卡| 青草青在线视频| 欧美视频四区| 日韩av久操| 91精品国产自产在线观看永久∴| 欧美一区视频| 国产成人午夜精品5599| 亚洲国产高清高潮精品美女| 久久久久九九九九| 欧美a v在线播放| 日本亚洲精品| 免费在线亚洲欧美| 欧美亚洲一区二区在线| 久久免费国产视频| 国产精品夫妻激情| 国产精品久久亚洲| 欧美xxxx18| 麻豆国产欧美一区二区三区r| 久久日韩精品一区二区五区| 青青草原一区二区| 欧美整片在线观看| 成人中心免费视频| 精品国产乱码久久久久久郑州公司 | 国产精品国产三级国产专区53 | 日本欧美三级| 亚洲欧美小说色综合小说一区| 最新超碰在线| 国产精品www994| 天天综合网 天天综合色| 色哟哟一区二区| 久久久这里只有精品视频| 91亚洲一区精品| 在线观看三级网站| www黄色在线| av在线播放一区二区| 粉嫩在线一区二区三区视频| 91精品综合久久久久久| 国产一区在线免费观看| 在线看免费av| 狠狠入ady亚洲精品经典电影| 日本韩国欧美三级| 国产乱子伦一区二区三区国色天香| 国产精品丝袜久久久久久app| 欧美一区二区视频97| 两个人hd高清在线观看| 亚洲欧美日韩国产综合精品二区| 亚洲三级黄色在线观看| 女人扒开屁股爽桶30分钟| 少妇精品久久久一区二区| 678五月天丁香亚洲综合网| 亚洲乱码日产精品bd在线观看| 日韩在线电影| 亚洲不卡一区二区三区| 九九99玖玖| 亚洲精品一区二区三区在线| 色婷婷精品久久二区二区蜜臀av| 夜夜爽99久久国产综合精品女不卡 | 欧美一区二区中文字幕| 欧美视频免费| 日韩不卡在线观看| 国产一区亚洲二区三区| 欧美日韩国产色综合一二三四| 亚洲欧美日韩天堂| videoxxxx另类日本极品| 久久99国产精品久久99| 欧美亚洲第一页| 黄色视屏免费在线观看| 久久精品一区二区三区不卡牛牛 | 乱色588欧美| 啪啪亚洲精品| 精品国产一区二区三区久久久| av每日在线更新| 久久蜜臀中文字幕| 亚洲精品高清视频| 在线观看免费一区二区| 精品国产一区二区在线| 老司机在线看片网av| 一区二区在线观看免费 | 午夜成在线www| av在线一区二区| 欧美一区免费视频| 超碰成人久久| 久久久久免费视频| 黄色软件视频在线观看| 欧洲在线/亚洲| 麻豆影视在线观看| 国产欧美日韩久久| 国产99久久九九精品无码| 美腿丝袜在线亚洲一区| av日韩中文字幕| 91综合在线| 国产精品一区二区久久精品| 久久亚洲精精品中文字幕| 日韩精品中文字幕一区| 成人在线免费观看| 调教+趴+乳夹+国产+精品| 亚洲成熟丰满熟妇高潮xxxxx| 久久无码av三级| 欧美日韩在线中文| 久久亚洲一级片| 91视频免费版污| 国产天堂亚洲国产碰碰| 成人一区二区av| 国产成人免费视频一区| 欧美精品久久久久久久自慰| 成人精品在线视频观看| www.av91| 久久精品男人天堂av| wwwav91| 欧美性开放视频| 啊啊啊久久久| 欧美激情在线视频二区| 色综合综合网| 欧美在线播放一区二区| 国产精品一区二区久久不卡|