Google宣布发布最新的Compute Engine虚拟机E2系列,E2系列能以更低的价钱,但是与N1系列类似的性能执行应用程序,而且搭载动态资源管理技术,在提供可靠且持续的性能的同时,还可依需求弹性地配置计算资源。
Google提到,E2提供Google云计算上虚拟机最低的总体拥有成本,与N1系列相比,可节省31%的成本,而且能以一致的价格获得可靠且持续的性能,E2虚拟机在高CPU负载时,不会有人工调频(Artificial Throttling)或是复杂计价的问题。用户也可以自由的配置E2执行实例配置,可自定义机器类型或是使用预定义的配置。
E2系列应用了一种称为动态资源管理的技术,Google后台的管理程序,会动态地按需将E2虚拟CPU(vCPU)和内存,映射到实体的CPU和内存上,这种动态管理技术能够良好的利用物理资源,提高E2虚拟机的成本效率。
Google解释,虚拟CPU实例方法,就像是按需调度线程在主机上执行的概念,当虚拟CPU有工作需要执行时,系统便会为其分配一个可用的物理CPU,直到该CPU再次进入睡眠状态,虚拟内存也是类似的概念,虚拟内存是通过分页表格映射到实体主机分页,这个映射会持续到虚拟机指示不再需要物理分页。
而当前物理CPU运行情况,有非常多的空闲时间(下图),但又很少有连续多空闲时间,Google希望可以通过虚拟机的调度,善用这些物理CPU空闲时间,以及优化在物理CPU上调度虚拟CPU线程,使得等待时间最小化。而现在Google可以用更少的服务器执行更多虚拟机,因此能以更低的价格提供E2虚拟机。
对于绝大多数的工作负载来说,E2虚拟机和传统虚拟机的性能几乎没有差异,Google表示,性能差异发生在最差的1%或0.1%事件,像是网页服务器中的每1,000个请求,可能会出现一次请求回应时间略微增加,而在绝大多数的应用程序上,这种差异会被其他的性能变化抵销。Google提到,性能影响的原因在于,有时资源分配需要等待几微秒的时间,才能使物理资源释放。
Google提供了15种预配置,用户可以依照需求,选择最高16 vCPU以及最高128 GB内存等各种配置的组合,特别的是,E2还有新的共享核心执行实例类型,类似f1-micro和g1-small机器类型,特别适合微服务或是开发环境这类不需要完整vCPU的工作负载。
E2虚拟机使用英特尔Xeon与AMD EPYC处理器,系统会自动依照可用性进行分配。由于芯片为业界标准的x86芯片,因此用户不需要修改程序代码,或是重新编译,就能将应用程序用在新的E2虚拟机上。E2虚拟机以按需以及先占式虚拟机的方式提供,同时也适用承诺使用折扣方案,最高3年承诺可获得55%的折扣。
E2虚拟机适用于广泛的工作负载,包括网页服务器、商业应用程序、中小型的数据库或是开发环境等,Google表示,用户原本以N1系列运行的工作负载,且没有大型执行实例配置、GPU或是本地SSD的需求,便能考虑将工作负载移到E2虚拟机,以大幅降低运行成本。