扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共9页)
Nehalem-EP新亮点:EPT与VPID让虚拟化系统开销更低
服务器的虚拟化现在已经成为了兵家必争之地,虽然表面上我们看到的是软件厂商在冲锋陷阵,但在硬件平台方面,如果没有辅助的硬件功能支持,建立其上的虚拟化效率乃至稳定性将会大折折扣。Intel在2006年提供了CPU辅助虚拟化技术——Intel VT-x,被应用在了至强5100、5300和7300系列CPU上。不过,当时的Intel VT-x只实现两大功能,即FlexPriority和FlexMigration,前者提供了虚拟机任务优先权的管理功能,后者通过伪装的CPUID来加速虚拟机的迁移应用。而到了2008年,Nehalem家族诞生的时候,Intel VT-x迎来了两个新功能——EPT与VPID。
Intel虚拟化的发展轨迹,随着新技术的不断加入,虚拟化中的系统开销也在逐步降低
EPT即Extended Page Tables(扩展页表)的缩写。CPU要通过主机物理地址来访问内存。如果只是一台物理服务器,这个物理地址就只为一个操作系统服务,但如果进行了虚拟化部署,有多个虚拟机时,就存在着稳定性的隐患。因为在进行VM Entry(虚拟机进入)与VM Exit(虚拟机退出)时(尤其是后者),都要对内存页进行修改。但物理内存是多个虚拟机共享的,因此不能让虚拟机直接访问物理地址,否则一个虚拟机出现内存错误,就会殃及整个物理服务器的运行。所以必须要采取虚拟地址,而EPT的作用就在于加速从虚拟机地址至主机物理地址的转换过程,节省传统软件处理方式的系统开销。
EPT的工作流程图示
在实际的工作中,每个虚拟机都拥有自己一个的IA-32/64的页表,并通过控制寄存器3将虚拟机的线性地址转换成所谓的虚拟机物理地址,最后再通过EPT转换成主机物理地址。要指出的是,IA-32/64页表是放在虚拟机中的,而EPT是放在虚拟机管理器(VMM)里。所以,虚拟机上的软件可随意去修改自己的页表,当一个虚拟机出现问题,或者出现页表错误时,由于EPT是放在VMM中,所以不受虚拟机错误的影响,从而保证了物理内存的安全。
由此可见,EPT首要的出发点是保护物理内存的安全,同时可大幅度降低了虚拟机退出时的系统开销,而且也可以减少虚拟机退出的频率。
VPID的主要途在于快速的虚拟机迁移
虚拟处理器标识(VPID,Virtual Processor IDs)是对现在的CPUID功能的一个强化,因为在每个CPU中都有一个TLB,用来缓存逻辑地址到物理地址的转换表,而每个虚拟机都有自己的虚拟CPU来对应。所以,在进行迁移时要进行TLB的转存和清除。而VPID则会跟踪每个虚拟CPU的TLB,当进行虚拟机迁移或VM Entry与VM Exit时,VMM可以动态的分配非零虚拟处理器的ID来迅速匹配(0 ID给VMM自己使用),从而避免了TLB的转存与清除的操作,节省了系统开销,并提高了迁移速度,同时也降低对系统性能的影响。
在虚拟化迁移延迟性能方面,由于系统开销更低,Nehalem-EP相比上一代Penryn(Xeon 5400)有了明显降低
可以说有了EPT和VPID的加入,让Intel处理平台的虚拟化性能有了进一步提高,为客户的服务器虚拟部署提供了更好的保障。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者