漫谈第六代EC2实例

时间拉回2019年12月re:Invent,Graviton 2接过Graviton (A1)的衣钵,第一次展现在世人面前。

2020年6月M6g、R6g、C6g第六代EC2实例正式登场,基本上标志着云计算正式迈入ARM时代。

近一年来,AWS提供的大部分PaaS (例如RDS、ElastiCache)以及Serverless (例如Lambda)都已经开始使用Graviton 2,并且随着M6gd、R6gd、C6gd带有NVMe本地存储的实例陆续提供,在2021 re:Invent前,AWS又发布了RDS多可用区集群部署以及Redis数据分层(将一部分数据存储在NVMe实例存储中以节约成本)。

第六代的x86实例呢?

2020年12月Intel为腾讯站台放出Ice Lake的消息,直到2021年4月Intel才正式发布,譬如阿里云也提供了基于Ice Lake的第七代ECS的公测,那么,AWS呢?

8月16日M6i发布,10月28日C6i发布,11月22日R6i发布。基于x86的第六代EC2实例终于赶在re:Invent前登场了。

基于Nitro的第五代EC2实例始于2017,一改第四代实例平淡无奇的例行改进,Nitro已经事实成为基础设施的最佳实践。

然而第五代EC2实例各个类型使用的CPU是不同的,比如M5和R5使用8175M,而C5则存在8124M和8259CL两种型号。这其实是很令人烦恼的,在C5小规格实例上,你能使用新U还是老U完全随缘,根据我们的测试,它们存在10%的性能差距。

到了第六代x86实例,则类似于Graviton 2,统一采用了8375C,不同类型的实例只有CPU内存比的差别,计算性能上已经没有差异了。

另外一个很重要的改进则是,x86的内存频率终于和ARM一样了。大部分的第五代EC2实例,CPU频率均为DDR4-2666 (8269CL的C5为2933),而Graviton 2的内存频率为DDR4-3200,这其实也是Graviton 2在一些工作负载表现优于第五代EC2的原因。第六代x86实例采用的Ice Lake也终于使用了DDR4-3200。

AWS如此费尽心思的推广他们的ARM解决方案,不惜放慢了更新x86的脚步是为了什么?我又想到,今年下半年我陆续对一些官方博客做出的Graviton 2测试,得到了不一样的测试结果。

相信这篇文章,可以或多或少为我们解答一些疑问。

https://www.servethehome.com/aws-ec2-m6-instance-intel-ice-lake-and-graviton-2-acceleration-matters/