教育房产时事环球科技商业
投稿投诉
商业财经
热点动态
科技数码
软件应用
国际环球
晨报科学
新闻时事
信息智能
汽车房产
办公手机
教育体育
生活生物

虚拟存储(虚拟存储技术)

  虚拟存储(虚拟存储技术)云与虚拟化
  云计算是通过 Internet 服务的方式提供动态可伸缩资源的计算模式,经过多年的发展已成为企业 IT 技术的重要支撑。虚拟化是云计算的核心技术之一,将一台计算机抽象为多台逻辑计算机,即虚拟机,每个虚拟机是一个单独安全的环境,可运行不同的操作系统且互不影响。
  虚拟化技术给资源使用和调度带来了极大便利,云计算系统可以根据负载情况及时进行资源调度,在提升资源利用率的同时保证应用和服务不会因资源不足而影响服务质量。然而虚拟化也是有代价的,对资源的抽象带来了性能损失,这也是虚拟化一直致力解决的问题。
  虚拟化的资源抽象可以简单划分为三部分:CPU 虚拟化、内存虚拟化和设备虚拟化。其中设备虚拟化已经可以实现网络、存储等设备直通虚拟机,没有性能损失;CPU 虚拟化在硬件特性的支持下,执行普通指令性能与裸机相同;而内存虚拟化相比裸机,仍然存在较大差异,是当下值得关注的问题。
  内存虚拟化
  虚拟内存:说到内存虚拟化,就不得不提虚拟内存的概念。早期的操作系统只有物理地址且空间有限,进程使用内存时必须小心翼翼以避免覆盖其他进程的内存。为避免此问题,虚拟内存的概念被抽象出来,保证每个进程都有一块连续的、独立的虚拟内存空间。进程直接通过 VA(Virtual Address)使用内存,CPU 访存时发出的 VA 由硬件 MMU(Memory Management Unit)拦截并转换为 PA(Physical Address),VA 到 PA 的映射使用页表进行管理,MMU 在转换时会自动查询页表。
  内存虚拟化:与虚拟内存的概念类似,一台主机上的每个虚拟机认为自己独占整个物理地址空间,因而需要对内存再做一次抽象,即内存虚拟化,保证每个虚拟机都有独立的地址空间。这样一来,在虚拟机和物理机中均有 VA 和 PA 的概念,即 GVA(Guest Virtual Address)和 GPA(Guest Physical Address),以及 HVA(Host Virtual Address)和 HPA(Host Physical Address)。虚拟机内的程序使用的是GVA,最终需要转换成 HPA。两个 VA 到 PA( GVA 到 GPA 以及 HVA 到 HPA)的映射同样使用页表管理,GPA 到 HVA 一般是几段连续的线性映射,由虚拟机的管理程序 VMM(Virtual Machine Monitor)进行管理。
  进程访存需要从 VA 转换成 PA,在引入内存虚拟化后,转换路径发生了很大的变化。原本只需要将 VA 转换为 PA,虚拟化后转换过程变成 GVA -> GPA -> HVA -> HPA。路径变得更长更复杂之后,对于访存的安全和性能都带来了挑战,这两点也是内存虚拟化需要达到的目标:1)安全 ,即地址转换的合法性,虚拟机不能访问不属于自己的内存;2)性能,即地址转换的高效性,包括转换关系建立的开销低,以及转换过程本身的开销低。
  经典方案
  为达成内存虚拟化的目标,已经有很多虚拟化方案被提出,SPT(Shadow Page Table)和 EPT(Extended Page Table)是两种典型的方案,也是大家最熟悉的方案。我们先以此为切入点,看看他们是如何工作的,然后再讨论其他的虚拟化方案。
  SPT:由于最初的硬件只支持一层页表转换,直接用来转换虚拟机或物理机上的 VA 到 PA 都无法完成 GVA 到 HPA 的转换。因此 SPT 建立了一条捷径,即影子页表,直接管理 GVA 到 HPA 的映射,如下图所示。每一个影子页表实例对应虚拟机内一个进程,影子页表的建立需要 VMM 查询虚拟机内进程的页表。
  由于影子页表管理的是 GVA 到 HPA 的直接映射,SPT 地址转换路径与物理机路径相当,直接查询一层页表就可以完成地址转换。在使用 4 级页表时,转换过程如下图所示。
  优势:SPT 地址转换过程的开销低,与物理机相当。
  劣势:
  1)地址转换关系的建立开销很大,为保证地址转换的合法性,所有的转换关系建立,即虚拟机进程的页表修改,都会被拦截之后陷出到特权的 VMM 中代为执行;
  2)影子页表本身需要占用内存,且一个影子页表只对应虚拟机内一个进程,整体会占用较多内存资源。
  EPT:后来的硬件针对虚拟化增加了嵌套页表的支持,使得硬件可以自动完成两层页表转换。EPT 即是基于硬件支持的方案,在管理 GVA 到 GPA 的虚拟机页表基础上,新增扩展页表管理 GPA 到 HPA 的映射,如下图所示。这两层页表相互独立,两层映射关系转换都由硬件自动完成。
  由于虚拟机内各级页表(gL4, gL3, gL2, gL1)内容只是 GPA,查询下一级时必须先经扩展页表(nL4, nL3, nL2, nL1)转换为 HPA,使得整个转换路径很长。在两层页表均为 4 级时,转换过程如下图所示。
  优势:地址转换关系的建立开销低,独立的 EPT 页表的存在保证了地址转换的合法性,因此虚拟机的页表可以自行修改而无需 VMM 的干预。
  劣势:转换过程的开销很大,最坏情况下需要 24(4 + 4 + 4 * 4)次硬件查表转换。
  两种经典的方案在安全上都有坚实的保证,但在性能上各有缺陷。SPT 为保证地址转换的合法性在建立转换关系时付出了很大代价,而 EPT 虽然消除了建立转换关系的开销,转换路径却更长了。
  其他探索
  业界和学术界关于内存虚拟化还有很多的探索,基本思想与 SPT 或 EPT 类似,可以据此分为三类来看:
  1)一层页表方案。与 SPT 类似,使用一层页表直接管理 GVA 到 HPA 的映射;
  2)两层页表方案。与 EPT 类似,使用两层独立页表分别管理 GVA 到 GPA 以及 GPA 到 HPA 的映射;
  3)混合方案。结合前两类方案,进行动态的选择。
  Direct Paging:一层页表方案,这是 Xen 在早期硬件仅支持一层页表时的半虚拟化方案。相比于 SPT 最大的区别是,没有单独维护 GVA 到 GPA 的虚拟机页表,虚拟机知道自己处于虚拟化环境,即知道自己的页表内容是 HPA。虚拟机修改页表也需要陷出,但是采用主动陷出的方式,可以 batch 化,而 SPT 则是被动拦截陷出;读取页表时只能拿到 HPA,需要查一张 M2P(Machine to Physical)表才能得到 GPA。
  Direct Paging 同样使用一层页表管理 GVA 到 HPA 映射,地址转换的路径与 SPT 是相同的。在使用 4 级页表时,最坏只需 4 次查表。
  优势:地址转换过程的开销低,与物理机相当。
  劣势:
  1)地址转换关系的建立开销很大,所有页表修改都需要主动陷出;
  2)需要虚拟机做半虚拟化的适配,虚拟机需要感知自己的页表管理的是 GVA 到 HPA 的映射。
  Direct Segment:两层页表方案,这是学术界基于新硬件的方案。GVA 到 GPA 的映射管理与 EPT 相同,同样采用多级页表。但 GPA 到 HPA 的映射采用分段机制, GPA 转换为 HPA 时只需要通过硬件加上一个偏移即可。
  GPA 虽然不等于 HPA,但二者的映射关系十分简单,只需要 Direct Segment 硬件添加一个偏移,整个转换路径与物理机的路径相比差别很小,仅多了几次硬件偏移。虚拟机使用 4 级页表时,转换路径如下图所示,其中 DS 表示 GPA 到 HPA 转换的硬件支持。
  优势:地址转换关系的建立开销低,同时转换过程的开销也很低。
  劣势:
  1)需要硬件支持 GPA 到 HPA 分段映射,现有的硬件不具备这样的功能;
  2)需要分配大段连续的内存,即主机不能有太多内存碎片。
  Flat EPT:两层页表方案,这也是学术界提出的基于新硬件的方案。整体与 EPT 非常相似,唯一的区别在于 EPT 管理 GPA 到 HPA 的使用多级页表,一般是 4 级,每级 512 项;而 Flat EPT 使用仅有一级的扁平页表,表项远不止 512。
  与 EPT 相同,虚拟机内各级页表的内容也是 GPA,查询下一级时需要先经过扁平扩展页表(nL4)转换为 HPA。由于扁平扩展页表只有一级,转换路径相比 EPT 缩短了非常多。在虚拟机内使用4级页表时,转换路径如下图所示,最坏只需 9(4 + 1 + 4 * 1)次查表。
  优势:地址转换关系的建立开销低,同时转换过程的开销也较低。相比于 Direct Segment 对内存分配要求很低,只需要少量连续内存用作扁平扩展页表即可(8G规格虚拟机只需要 16M)。
  劣势:需要硬件支持扁平扩展页表,当前的硬件只支持表项为 512 的多级扩展页表。
  Mix SPT and EPT:混合方案,这是学术界较早提出的方案,简单而言就是动态的分时切换 SPT 与 EPT。在虚拟机运行时监控和采集 TLB miss 与 Page Fault 的数据,在二者达到设定的阈值时进行 SPT 与 EPT 之间的切换,如下图所示:
  TLB miss 率高于阈值 T1,Page Fault 频率低于阈值 T2 时,从 EPT 切换到 SPT
  TLB miss 率低于阈值 T1,Page Fault 频率高于阈值 T2 时,从 SPT 切换到 EPT
  优势:有机会充分利用SPT与EPT的优势,达到更好的性能。
  劣势:
  1)页表切换阈值的设定很困难,硬件配置都可能影响阈值;
  2)SPT与EPT的切换也是有代价的,主要是SPT的销毁与重建。
  总结
  一层页表显著的优势是地址转换过程开销低,与物理机相同,需要解决的问题是减少地址转换建立的开销。一个可能的方向是放弃一些安全性,让页表的修改更轻量;另一个更实际的方向是在合适的场景使用,即针对页表修改不频繁的负载使用。
  两层页表的优势是地址转换建立的开销小,虚拟机可以独立修改页表,需要考虑的问题是缩短转换路径。这个方向其实可行性很高,但是依赖新硬件的支持,短期不太可能出现符合要求的新硬件。
  混合页表的设计初衷是希望充分利用两类页表的优势,但是做好动态的模式切换是非常困难的,负载的差异甚至硬件的差异都可能影响切换的效果。或许针对已知负载做定向的调优是一个可行的方向。
  长远来看,如果有新硬件的加持,两层页表(尤其是Flat EPT)是比较完善的方案,地址转换可以很高效,也不需要在安全和通用性上做一些牺牲。但是短期来看,新硬件为时尚早,在一层页表方案上做进一步的探索和优化,是更加实际的。我们将会持续在内存虚拟化这条路径探索更多的可能,欢迎大家加入 OpenAnolis 龙蜥社区讨论交流。
  关于作者:陶志恒(君川),2020年加入阿里云操作系统-云原生底层系统团队,目前从事性能优化方向的工作。
  原文链接:
  http://click.aliyun.com/m/1000287430/
  本文为阿里云原创内容,未经允许不得转载。
  举报评论2
  请先登录后发表评论~
  评论某用户1310762158赞
  转发了回复·4天前AlexText赞
  转发了回复·4天前
  让世界看到中国青年的拼搏力量光明网154评论14小时前拉萨贡嘎机场T3航站楼投运中国经济网52评论1天前有感于奥运健儿的青春气质人民网660评论19小时前刚刚看到这里,点击刷新阿里云云栖号
  阿里云计算有限公司
  关注TA的热门作品Snowflake 如日中天是否代表 Hadoop 已死?大数据体系到底是什么?
  1744阅读5天前快速界定故障:Socket Tracer 网络监控实践
  632阅读6天前当 Java 遇上机密计算,又一段奇幻之旅开始了
  540阅读3天前阿里云马涛:什么是操作系统的云原生?
  424阅读5天前获国际架构顶会ATC2021最佳论文!Fuxi2.0去中心化的调度架构详解
  374阅读4天前
  查看更多头条热榜换一换1
  于月仙丈夫发讣告
  2
  人民日报评阿里女员工被侵害事件   3
  济南华联辞退阿里员工遭侵害涉事者   4
  英国学者:美国"抗疫第一"荒谬   5
  北京报告1例来京就诊肺炭疽病例   6
  众星悼念于月仙   7
  专家:本土疫情或于8月底解决   8
  中俄联合军演开始   9
  全红婵父亲:不收房产现金等捐赠   10
  《乡村爱情》再无谢大脚   精彩视频换一换   11:26孟晚舟事件新进展!   52万次播放   08:30孩子们终于放假,回到阔别1月的小院,来个大扫除,住着倍儿舒服   18万次播放   06:28立秋,家人团聚吃饺子,妈妈擀皮,奶奶包,宸宸跟着打下手   23万次播放   10:28马霞:用离岸人民币给美元釜底抽薪   24万次播放   09:51中美正面交锋,白宫一再出笨招?3大信号表明:美国最多扛30年   73万次播放

黄豆芽怎么发(黄豆芽怎么发又粗又快)黄豆芽怎么发(黄豆芽怎么发又粗又快)昨天,我在日志里发了一篇自发绿豆芽,因为,发绿豆芽,不能见光,我拍的照片不多,这次,发的黄豆芽,步骤较详细,希望对大家有所帮助。黄豆芽的营养价值素圈戒指(卡地亚素圈戒指)素圈戒指(卡地亚素圈戒指)中央广播电视总台中国之声生活中有些东西一直在变化,比如时间,比如空间,比如身边的事物也有些东西一直没变,比如热爱,比如理想,比如勇气。在纷繁的岁月中,在时科普下黄河凌汛发生的河段与产生的原因关于到现在黄河凌汛发生的河段与产生的原因这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道黄河凌汛发生的河段与产生的原因,小律诗的特点(律诗的四个基本特征)律诗的特点(律诗的四个基本特征)岭南诗词大会七言律诗就是指七言八句而又合乎律诗规范的诗歌。其格律非常严谨,在字句押韵平仄对仗各方面都有严格规定。七言律诗共有以下四个特点一篇幅固定。目标管理的特点(目标管理的四个特点包括)目标管理的特点(目标管理的四个特点包括),南京疫情与河南水灾,牵动着无数人的心,这些意外,总是让人猝不及防。在我们的生活中,类似这样的黑天鹅与灰犀牛事件频繁发生,又不可预测,无论是lifevc丽芙家居(上海丽芙家居用品有限公司)lifevc丽芙家居(上海丽芙家居用品有限公司)08071136蓝装家博会lifevc丽芙家居怎么样?LifeVC,一个源自欧洲生活灵感的家居品牌,始终坚持品质和人本精神。很多人都送女朋友生日礼物(女朋友生日应该送什么)送女朋友生日礼物(女朋友生日应该送什么)生活需要仪式感,更何况是女友的生日。送礼物是表达心意的方式,但是送什么样的礼物就是考验我们直男的时候了,其实女生更多在意的是心意而不是礼物价梅花的秉性(梅花的特点有哪些)梅花的秉性(梅花的特点有哪些)梅花是蔷薇科李属的落叶乔木,有时也指其果(梅子)或花(梅花),通常在冬春季节开放,与兰花竹子菊花一起列为四君子,也与松树竹子一起被称为岁寒三友,凭着耐珠峰高度是多少米(玉龙雪山海拔高度是多少米)珠峰高度是多少米(玉龙雪山海拔高度是多少米)世界最高峰珠穆朗玛峰,最新高度数据已经出炉,为8848。86米。珠穆朗玛峰位于我国与尼泊尔的交界处。12月8日,根据我国最新的珠峰测量数科普下长江黄河发源地和尽头是哪里哪个更长关于到现在长江黄河发源地和尽头是哪里哪个更长这个话题相信很多小伙伴都是非常有兴趣了解的吧因为这个话题也是近期非常火热的那么既然现在大家都想要知道长江黄河发源地和尽头是哪里哪个更长小黄河发源地(黄河源头在哪里哪个省)黄河发源地(黄河源头在哪里哪个省)中国文化博大精深,源远流长,从原始社会开始,中华民族便经历各个时期,各个朝代,而在历史中第一次将中国划分为区域的时期便称为两河流域,是由长江和黄河
有没有黑客可以同步微信聊天记录怎么查(怎么查询别人聊天记录)有没有黑客可以同步微信聊天记录怎么查(怎么查询别人聊天记录)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机到哪里去查微信的聊天记录(怎么样查找聊天记录微信)到哪里去查微信的聊天记录(怎么样查找聊天记录微信)微信现已成为我们最常用的谈天东西,因为微信的运用率十分高,我们也常常会收拾一下微信谈天记载和其他软件的缓存文件来腾出手机空间。但有科普下学霸和学渣的区别疫情期间都在做什么关于到现在科普下学霸和学渣的区别疫情期间都在做什么这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下学霸和学渣的区别疫科普下成绩较好的同学们复习时需注意关于到现在科普下成绩较好的同学们复习时需注意这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道科普下成绩较好的同学们复习时需孺子不可教(到底是孺子可教还是孺子不可教?)孺子不可教(到底是孺子可教还是孺子不可教?)有时候,当长辈教育孩子,孩子能够听从长辈教导,长辈就会夸孩子孺子可教也有时候,当长辈教育孩子,孩子怎么都不听从教导,依旧我行我素时,长辈韵母的分类(韵母分为哪4类)韵母的分类(韵母分为哪4类)一韵母概念韵母是一个中国汉语音韵学术语,汉语字音中声母字调以外的部分。二韵母分类普通话中共有39个韵母。其中元音23个,16个元音附带鼻辅音韵尾构成。韵科普下内力作用如何形成山岳地貌关于到现在内力作用如何形成山岳地貌这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个话题也是近期非常火热的,那么既然现在大家都想要知道内力作用如何形成山岳地貌,小编也是到网上火烧圆明园的时间(圆明园是什么时候烧的)火烧圆明园的时间(圆明园是什么时候烧的)圆明园是中国古代园林建造中的珍宝,但如今它却无迹可寻,在清朝末期,圆明园被英法联军烧毁,现在留下的只是圆明园的遗憾。在我们的印象中,是法国和行车制动器(新手如何踩好离合器)行车制动器(新手如何踩好离合器)卡车之家原创目前,危险品车辆,仓栏挂车等越来越多的车型被要求必须配盘式制动器,也就是我们常说的碟刹。那么和鼓式制动相比,盘式制动器的优势是什么?又该行车制动(行车制动系)行车制动(行车制动系)大家都知道,制动系统是汽车上最重要的主动装置,我们在开车时也离不开刹车。那么关于制动系统,你又了解多少呢?一些常识性的知识,比如制动系统的组成工作原理等,我们全国有多少个国家(世界十大弱国)世界所有国家和地区(2019版)(197个国家36个地区,共计233个)亚洲(48个国家)中国朝鲜韩国蒙古日本越南挝柬埔寨缅甸泰国来西亚文莱新加坡印度尼西亚东帝汶菲律宾印度尼泊尔不