最近,IEEE发布了一项研究测试内容显示,由阿里巴巴自研的倚天710 Arm处理器,被看作是当前云服务中最快的Arm处理器,在处理数据库相关任务时表现出色。
![](https://pic.doit.com.cn/2024/05/2024051503080976.png?x-oss-process=image%2Fquality,q_50%2Fresize,m_fill,w_1024,h_586)
这款发布于2021年的Arm处理器,真的这么强吗?
这项研究叫做《Arm云服务器是否准备好处理数据库工作负载?一项实验研究》,作者Dumitrel Loghin是新加坡国立大学计算学院的研究助理教授。
![](https://pic.doit.com.cn/2024/05/20240515031305100.png)
研究指出,搭载Arm 处理器的云服务器速度令人印象深刻,在处理某些任务负载时的表现甚至超过了英特尔至强处理器。
这项研究选了五款Arm服务器CPU,然后,还将它们与英特尔至强白金8488C(2023年Q1发布的第四代至强)在云平台上的表现进行了比较。
![](https://pic.doit.com.cn/2024/05/202405150313145.png?x-oss-process=image%2Fquality,q_50%2Fresize,m_fill,w_1024,h_666)
实际参与对比的有AWS的Graviton2,Graviton3,阿里倚天710,来自Ampere的Altra以及英特尔至强白金8488C。
研究者租用了基于这些处理器的云主机,然后执行了8个测试,包括:
Dhrystone 基准测试:用于测量计算机的整体性能;
Whetstone 基准测试:主要用于测量计算机的浮点运算性能;
系统调用测试:展示不同CPU在执行系统调用时的频率(以百万次/秒计);
Execl调用测试:测试各CPU执行execl调用的性能;
文件复制速度:测量数据在系统中移动的速度;
总体UnixBench分数:一个综合的基准测试,用来评估系统的多方面性能;
RSA 2048签名:用来测试系统执行加密签名操作的性能;
RSA 2048验证:测试系统执行加密验证操作的性能;
在所有这些测试中,阿里倚天710表现都非常不错。
在Whetstone测试中,它甚至超过了英特尔的至强,同样的,Ampere的Altra处理器也在这个测试中超过了至强。
研究者提到,阿里的倚天710有一些固有优势。比如,它使用了更新版本的Arm指令集架构(ISA),还有更快的DDR5内存,这是别的CPU没有的。
华为云中的kc1.15xlarge.2主机支持使用NUMA拓扑结构将一对鲲鹏920 CPU结合运行,这是其他Arm云服务器所没有的功能。
在运行Redis的测试中,亚马逊的Graviton 3处理器在这项测试中表现优于倚天710。
在测试memcached的吞吐量时,倚天710的表现又胜过Graviton 3。
在用于测试RocksDB吞吐量的三种工作负载中,倚天710在其中两种工作负载上表现更好。
![](https://pic.doit.com.cn/2024/05/2024051503132270.png?x-oss-process=image%2Fquality,q_50%2Fresize,m_fill,w_890,h_1024)
报告还对比了Arm服务器和英特尔x86服务器的成本效益。
尽管Arm处理器的系统调用次数比英特尔至强多了两倍还多,效率上差了点,但AWS的Graviton和倚天的性价比还是更高。
所以,当性能不是最重要的时候,用户就可以考虑Arm服务器了。Arm带来了性能和成本之间的新的平衡。
最后,研究者也指出了提升Arm服务器性能的三个建议。
第一个,提高主频。Arm的主频都偏低,小幅度的提升也能在成本增加不多的情况下,带来显著的性能提升。这是因为更高的主频通常意味着处理器可以更快地执行指令。
第二个,可以优化系统调用的性能。研究者希望Linux内核开发者能够分析并改进系统调用的性能。现在的Arm系统,其系统调用的速度大约是x86系统的一半。优化之后可以提高Arm服务器的执行效率和响应速度。
还有,如果软件开发者能够更好地利用Arm平台的特有功能,例如Scalable Vector Extensions(可扩展向量扩展)。它也可以显著提高应用性能,特别是在处理大量数据运算时。
如果这些改进落实之后,则可以显著提高Arm服务器在性能、成本效益和功耗方面的优势。
最后的最后,值得一提的是AWS最新的Graviton4。
它是去年年底re:Invent上发布的,目前由于采用该处理器的云主机只向部分用户提供预览,所以这里就没有测到,未来如果全面放开的话,其表现也值得期待。