扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共3页)
处理器选择:虚拟化扩展
当购买处理器时,选择优化虚拟化的模式,如有AMD-V或Intel-VT 扩展。为了弄清扩展为什么重要,你需要了解环与CPU是如何工作的。
x86操作系统使用保护环提供保护级别,以便代码的执行。这些环以等级排列,从最有特权的(Ring 0)到最少特权的(Ring 3),这些都由对处理器有限制的CPU执行。在未虚拟化的服务器上,宿主在Ring 0里的操作系统拥有运行在Ring 3里的服务器硬件与应用。在虚拟化系统上,hypervisor和虚拟机监控器(VMM)需要运行在Ring 0,因此虚拟机子操作系统必须在Ring 1里。由于多数操作系统必须运行Ring 0,VMM工具通过捕获特许指令和模拟Ring 0到子虚拟机,让子操作系统以为它运行在Ring 0。
不过这个操作会降低性能,因此英特尔与AMD开发了Intel VT和AMD-V解决这个问题。这两种技术都整合在CPU里,因此VMM能运行在新的叫做Ring -1的环里,这允许子操作系统天生运行在Ring 0里。这种在CPU的扩展提升了性能。VMM不再让子操作系统以为它运行在Ring 0里,因为子操作系统能在此操作,并且不会与VMM冲突,它已经移动到新的Ring 1级别。为了从虚拟主机获取最好的性能,选择使用这些虚拟化优化的扩展CPU。
同样,继续留意AMD和英特尔未来支持嵌入页表(NPT)的处理器。AMD的版本是Rapid Virtualization Indexing(RVI),英特尔的是Extended Page Tables(EPT)。这种新CPU技术能帮助降低虚拟化大型应用(如数据库)的性能开销。
选择多核CPU
另一个关键选择是物理CPU(插座)的数量和CPU应该拥有的核心数量。多核CPU结合在单个物理CPU上的多个核心,这样的例子是拥有两个四核心CPU的服务器有八个处理器可用。取决于CPU的牌子和模式,这些核心有时候共享一个缓存,或每个核心有连个独立的Level 2缓存。多数虚拟化软件厂商通过插座销售许可,而不是通过每个插座拥有的核心数量,因此多核心处理器最适合虚拟化。对于新服务器,多核心CPU现在几乎是标准要求。
你也必须在双核和四核CPU之间作出选择。基于可以拥有多个核心的推断,你可能倾向于选择四核而不是双核。但是双核和四核有重大的差异。CPU核心数量的增加并不一定伴随着CPU时钟频率的增加。一个3.2GHz的CPU比1.6GHz的CPU快了一倍,但是四核心的CPU不比一核心的快四倍。一个双核心的CPU几乎比单核心CPU快50%(而不是你想象的100%),四核心的CPU可能只比双核心的快25%。此外,双核心的CPU一般比四核的时钟频率高。四核CPU产生过度的热量,导致频率没有单核和双核CPU高。
一般来说,在虚拟主机使用四核CPU出于两个因素。第一个是多数虚拟化软件通过服务器里的插座数量许可,而不是所拥有的核心数量。这意味着你能比购买在每个许可上获取更多的CPU。第二个因素是在主机服务器里拥有更多核心的话,当尝试调度由虚拟机发送的CPU请求时,给hypervisor CPU调度带来更高的灵活性。拥有更多可用的核心使CPU调度工作更轻松,并且提升了主机上的虚拟机性能。
不过在某些情况下,双核CPU比四核更适合(例如,如果你不打算在主机上运行六到八台虚拟机)。双核CPU更快的频率增加了虚拟机的运行速度。此外,如果你计划给虚拟机分配单独的虚拟处理器,双核处理器是更佳的选择,因为拥有单个虚拟CPU的虚拟机比拥有多个虚拟CPU的更容易让hypervisor调度。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者