正文
飞腾与鲲鹏性能差异的一些思考
背景
自己在进行stress-ng以及sysbench的测试验证时发现:
飞腾的性能要比鲲鹏的性能有非常大的差距.
最近同事在现场也进行了压测, 也发现飞腾的性能不是特别好.
这里想简单总结一下自己学习过的资料,尝试分析一下为何差异这么大.
制程
注意 制程采用台积电发布的时间进行对比.主要是对比代数和年代差异
飞腾使用的应该是 16nm制程工艺.
该工艺的大量上市的时间应该是2015年.
鲲鹏使用的应该是 7nm的职称工艺
该工艺的大量上市的时间应该是2018年.
中间至少有一代10nm以及一些改良制程.
换句话说, 鲲鹏的制造工艺至少比飞腾要领先三年.
但是需要说明一点的是 阿里的倚天710 使用的是 5nm的工艺.
5nm工艺大概是2021年左右大量上市. 所以 倚天的制造工艺应该国产CPU里面最先进的
也是核心数最多的, 单芯片封装 128个 Core
飞腾和鲲鹏都是封装了 64个核心.
通过制程上面的对比会发现 鲲鹏领先与飞腾,并且按照没代能够提升15%左右的性能的话, 其实是很可观的
也是因为制程升级不够快,才导致intel的CPU性能被AMD赶超
主频
鲲鹏的CPU主频一般是 2.6Ghz
飞腾的CPU的主频一般是 2.1Ghz
这一块差异高达 20%+ 直接导致性能差异会很大
单核能力的RT以及TPS都会有至少20%甚至更高的差异.
基本相同的架构上面比拼的其实更多的都是频率的能力.
架构
说明一下同频性能一般考虑的是相同架构的服务器.
如果不同架构的服务器是无法比较同频性能的.
虽然鲲鹏和飞腾都是ARM架构的CPU
但是通过一些简单的查看会发现.
飞腾的CPU的指令集如下:
fp asimd evtstrm aes pmull sha1 sha2 crc32 cpuid
但是鲲鹏的指令集就会多一些:
fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
简单查询就会发现
飞腾应该是使用的ARMv8.0的架构,也就是第一代64位的ARMv8架构
但是对应的鲲鹏的却至少是 ARMv8.2的架构
换句话说说, 鲲鹏的架构至少比飞腾先进两小代, 这个性能差异也是很大的.
更新的指令集通过硬件实现指令, 在特殊场景下能够极大的提高性能.
但是这种新指令集一般对SPEC2006/2017的测试结果影响很小.
所以可以看出来飞腾的跑分可能不比鲲鹏低多少,但是很多高级应用可能就会比鲲鹏差的比较多
架构-2
两路的S2500可以看到有
16个numa节点
两路的鲲鹏920只有
4个numa节点
越少的numa节点说明访存一致性越好
另外发现鲲鹏的缓存比飞腾的少.
虽然一般缓存越多性能越好, 但是怀疑是飞腾的多核之间的通信做的不够好
所以都是独立的一二级缓存, 导致缓存总数多. 但是实际性能不如鲲鹏.
对应numa节点太多.缓存需要进行MESI算法就会增多,会极大的降低吞吐量.
架构设计上的不完备, 会导致飞腾的性能比不上鲲鹏.
其他硬件兼容
1. 内存
发现我这边的飞腾的内存是等效 3200MT/S
鲲鹏的是 2933MT/S
理论上飞腾的访存性能应该要比鲲鹏的带宽要搭的
但是怀疑因为上面说的numa节点划分的问题.导致飞腾的访存比较拉胯
2. 硬盘
感觉鲲鹏的RAID卡是国际大厂的. 但是飞腾的我不太认识. 这一块可能跟主机厂商关系更大
但是感觉鲲鹏毕竟有之前超聚变投入的研发, 应该不比飞腾要差, 合作关系上要比飞腾要好.
3. 网络
网络栈上面不需要比较, 这是华为看家本领, 比飞腾强..
4. 操作系统
华为有OpenEuler, 中国电子旗下的银河麒麟也基于OpenEuler. 也比飞腾强.
5. 应用层
华为有毕昇JDK.. 这个也是碾压的存在..
汇总
虽然华为已经三年不允许找台积电代工
但是三年前流传下来的祖传CPU已经比飞腾能打.
感觉除了倚天710, 鲲鹏在国产CPU还是第一档的存在.