Hypervisor如何处理二级地址转换?

日期: 2016-04-17 作者:Stephen J. Bigelow翻译:张冀川 来源:TechTarget中国 英文

虚拟化改变了为企业工作负载分配服务器资源及使用方式。一台服务器承载单个物理应用的日子一去不复返了,虚拟机几乎可以使用所有的服务器计算资源。服务器管理员必须确保每台虚拟机收到足够多的处理器、内存、存储以及网络资源。但工作负载性能及稳定性往往受内存的影响最大,而内存不足或者出现性能问题可能对虚拟机产生极大的冲击力——甚至整个服务器都会受影响。

当代计算机将内存视作虚拟资源,即使是没有使用hypervisor时也是如此。当一个程序试图访问内存时,计算机必须将虚拟地址转换为物理地址。这是通过页面表或者转换后备缓冲区实现的。 虚拟化使上述过程变得复杂。

hypervisor在计算机中增加了一个虚拟化层,必……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

虚拟化改变了为企业工作负载分配服务器资源及使用方式。一台服务器承载单个物理应用的日子一去不复返了,虚拟机几乎可以使用所有的服务器计算资源。服务器管理员必须确保每台虚拟机收到足够多的处理器、内存、存储以及网络资源。但工作负载性能及稳定性往往受内存的影响最大,而内存不足或者出现性能问题可能对虚拟机产生极大的冲击力——甚至整个服务器都会受影响。

当代计算机将内存视作虚拟资源,即使是没有使用hypervisor时也是如此。当一个程序试图访问内存时,计算机必须将虚拟地址转换为物理地址。这是通过页面表或者转换后备缓冲区实现的。

虚拟化使上述过程变得复杂。hypervisor在计算机中增加了一个虚拟化层,必须进行两次转换;第一次将虚拟机的虚拟地址翻译为主机计算机的虚拟地址模式,第二次将主机计算机的虚拟地址模式转换为物理地址。

二级地址转换(SLAT)通常是在虚拟机管理软件中处理的,虚拟机管理软件比如VMware的ESXi是hypervisor的一部分,但地址转换需要额外的内存地址转换周期,这可能会影响虚拟机性能。处理器厂商比如Intel和AMD意识到直接通过处理器完成二级地址转换可能会提升虚拟机性能。

Intel实现的二级地址转换称之为扩展页表而且是在以Westmere-EX为内核的至强处理器中实现的,部分桌面以及移动处理器也实现了该功能。对应的产品是Intel E7-88xx、E7-48xx、 E7-28xx产品线以及E56xx, L56xx、X56xx产品线。AMD通过快速虚拟索引(也称为嵌套页表)实现了SLAT,快速虚拟化索引出现在以Barcelona为核心的Opteron处理器中。

值得关注的是,Windows 8中的Hyper-V舍弃了基于软件的内存虚拟化,正常操作需要借助硬件辅助的二级地址转换。在部署或者升级hypervisor前一定要检查系统要求,以确保新hypervisor能够在非二级地址转换硬件平台上正常运行。否则需要对硬件进行升级,配置支持SLAT的处理器。

作者

Stephen J. Bigelow
Stephen J. Bigelow

数据中心和虚拟化网站的高级技术编辑,拥有20年的PC和技术写作经验。

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用

相关推荐