飞腾与鲲鹏性能差异的一些思考
背景
自己在进行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还是第一档的存在.
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net