关于信创CPU测试的一些想法和思路


背景

最近荷兰政府颁布了关于半导体设备出口管制的最新条例.

好像45nm以下的工艺的设备都可能收到限制. 
对中国的相关厂商比如长鑫还有华虹的影响应该都比较大. 
认为可能也会影响中芯国际的生产与制备. 

国家的大基金应该会加强对芯片制造类的投入.在通过各种手段来获取最新的技术支持. 
基于此, 其实信创国产化是迫在眉睫的. 
对我们IT行业从业者来说. 也是一个很大的机遇和挑战.

说明

国家宏观层面以及国际政治没法基于已有的信息进行解读. 
但是从芯片半导体工业的发展来说. 
设备和材料是源头. 设计是灵魂. 生产是骨架. 
封装测试,操作系统,数据库时国产化的肌肉与血脉. 

他们都完备了, 也只能说明全国产的信创设备可以作为一个完整的人进行工作了. 
在工控, OA, ERP, 客户端领域的使用才是推动经济和社会发展的核心. 
有了推动经济发展的能力才会有自主造血, 自主发展的能力. 

我们作为业务应用部分的厂商. 其实应该了解这条脉络.才能更好的挖掘信创的潜力.提高自己的产品力.
更好的为社会发展,国家富强做出贡献.

信创CPU的分类

首先 先排除 阿里倚天710 ,津逮CPU, 等可能无法用于实体名单企业的产品. 

其他的国产CPU按照 背景靠山可以分为:
1. 民企的华为鲲鹏等. 国产之光,民族之光加身. 
2. 军队的56所申威等. 军队使用,国防领域使用, 正在逐步往国产应用领域发展. 
3. 中科系的龙芯.     虽然上市了, 但是主要是政务办公楼领域.服务器领域的发展并不是非常尽如人意. 
4. 中国电子的飞腾等. 十大军工的靠山. 有中国长城和中国软件的兄弟单位做支撑.
5. 地方国资委的海光  AMD ZEN1的指令集与架构. 2017年左右的世界第二档次的CPU.但是有阉割.
6. 上海国资委的兆芯  基于台塑王雪红的VIA, 几乎没有市占率.架构大概是2010年底左右的intel的水准.

信创CPU测试与性能测试-1

首先性能测试时获取信创CPU测试结果的最正确和彻底的方式. 
但是如果是业务的性能测试,那么处理起来会非常麻烦. 
并且脚本,数据准备都是各种问题. 
所以我理解 信创CPU的测试可以分为两种. 
第一种是上线前的压力测试, 保证系统不会宕机,避免生产切换出现问题. 
在给定的配置和数据量的情况下, 保证业务的生产可用. 

工具主要是数据库级别的工具或者是jmeter/loadrunner等.

信创CPU的配置测试

理论上信创CPU的性能表现可以通过各种测试工具得出一些简单的结论
比如SPECCPU2006 SPECJVM FIO sysbench unixbench 等工具.

但是需要说明, 测试结果好, 实际生产不一定好, 测试结果不好,生产几乎一定不好. 
可以通过一些横向的信创CPU以及与线上的Intel CPU的新能参数比较进行验证. 

推测替代Intel的CPU的信创CPU的数量与配置. 
需要注意的是, 建议DB/WEB/redis etc. 分别还用不同的权重进行设置. 
比如DB可能要增加IO的权重比率. 
WEB 更多的是进行CPU算力的权重. 
REDIS 等应用可能更加考虑内存以及网卡等的权重.

关于部分信创CPU的性能比较与理解

申威->兆芯->龙芯->飞腾->海光->鲲鹏

自己理解性能和易用性基本上是这么一个顺序. 
飞腾的单核心算力比较垃圾. 每Ghz的SPEC2006的值非常低.
但是他毕竟是ARMv8的指令集. 很多软件都可以安装和使用, 比龙心要好一些. 
兆芯的水平不是很高, 主频虽然高,但是能力较弱. 

鲲鹏和海光属于统一档次. 
但是鲲鹏的制程要先进是 7nm工艺
海光的12nm/14nm的工艺落后一呆多.

其实基本山所有的CPU都被制裁了. 发展情况也是参差不齐的. 
很多资料里面也不是非常齐备

关于申威存在的问题

申威CPU是基于Alpha的CPU进行自行研发的产品. 
DEC破产之后,国内单独的分支进行了二十年左右的研发.

主要是适配于HPC的场景. ERP领域其实不是特别好
弱内存序,并且访存和IO的能力都非常弱. 

算力也比较差,但是应该是全部国产化的,较新的3231可能是中芯国际 14nm工艺代工. 
主流软件支持的不好, 像是docker K8S, 以及很多软件可能都不支持.

关于兆芯

VIA 的市占率极低几乎都忽略不计的程度
大部分的CPU也是用于嵌入式,pad 等非生产力工具上面.

兆芯因为是上海国资委的关系, 所以在部委,军工等领域的发展不是非常好. 
主要也是用于客户端,OA办公领域. 服务器领域的使用较少鲜见.

关于龙芯

使用过3A4000的客户端 流畅度只能说尚可. 
铁流一直孜孜不倦的宣传龙芯
但是感觉龙芯在北斗导航. 工控芯片. 嵌入式, 客户端的发展挺好
但是服务器领域的发展感觉不好, 虽然一直有3C5000/3D5000 等传闻.
但是用于实际核心生产的服务器不是非常多.

关于飞腾

自从飞腾1500A摆脱了 SUN的Sparc的架构之后 换用了ARM架构
本身是一个很好的事情 
但是因为上了 entry list 导致 只能用ARMv8.0的架构
很多AI大数据的心指令集无法使用. 导致性能明显不如鲲鹏和倚天

FT2000+/64支持单路. S2500 至少支持双路.
但是自己经过验证. 2500的单核心算力甚至比2000+有一定的倒退. 
核心数多了. 但是算力提升真的不是很好.

关于海光

plantegg大神的文章里面其实仔细的计算了多种CPU的架构以及优缺点

海关其实阉割了很多加解密的硬件指令集, 增加了SM3等国密芯片. 
并且ZEN1 其实不是一个非常成俗的CPU架构. 还没有使用 IO die的模式
扩展性和性能都不是很好
很不幸的是AMD活过来之后在也不给海光新的知识产权了. 
看很多评测,虽然海光有超线程,但是FPU数量太少.导致超线程的能力非常弱. 
做数据库时的性能并不是非常好

关于鲲鹏

鲲鹏是2019年发布的一款CPU, 其实距今已经是第五个年头
但是主流的信创CPU里面依旧他的表现较好.
他使用台积电的 7nm代工. 可能留存的CPU数量并不是非常多了.
但是在国资还有很多特定领域鲲鹏在服务器端的占用量非常之多.
并且表现的确是最好的 

华为因为在运营商网络部分的积累. 他有非常强大的技术实力和储备.
在网络,安全,以及品控方面的能力很多厂商比不过他.

关于一些问题

Intel和AMD的CPU型号繁多 但是国产信创CPU的型号几乎就几个. 
也没有分级(除了海光和鲲鹏有多个CPU核心的型号)

国产CPU的主频和核心数比较固定
但是按照芯片的生产物理学知识, 肯定有体质好和体质不好的芯片. 
国产的CPU型号都是一样的.导致很难区分那些是好芯片,哪些是有坏点的芯片. 

也是基于此 不同的服务器不同批次不同厂商的服务器的性能表现可能差距比较大. 
有时候并不能一概而论. 需要进行严格的论证

其实国产的CPU也需要使用Intel 这样的命令方式. 避免芯片的良莠不齐. 
希望国产信创发展越来越好, 能够支撑核心业务. 保证安全与稳定.

关于一些知识

https://plantegg.github.io/2021/06/18/几款CPU性能对比/

大神做了很多总结:
对纯CPU 运算场景,并发不超过物理core时,比如Prime运算,比如DRDS(CPU bound,IO在网络,可以加并发弥补)
海光的IPC能保持稳定;
intel的IPC有所下降,但是QPS在IPC下降后还能完美线性
在openssl和MySQL oltp_read_only场景下
如果并发没超过物理core数时,海光和Intel都能随着并发的翻倍性能能增加80%
如果并发超过物理core数后,Intel还能随着并发的翻倍性能增加50%,海光增加就只有20%了
简单理解在这两个场景下Intel的HT能发挥半个物理core的作用,海光的HT就只能发挥0.2个物理core的作用了
海光zen1的AMD 架构,每个core只有一个fpu,综上在多个场景下HT基本上都可以忽略
飞腾2500性能比较差
国产CPU:飞腾、鲲鹏、龙芯、申威、海光(AMD授权)、兆芯(威盛via 授权x86)
CPU性能验证公式:频率 x 核数 x 发射数/周期 x 1.3/1.5(smt2/smt4) (smt是指超线程数量)
大吞吐量计算由多核CPU数量决定,多核CPU数量由制程工艺决定,制程工艺由资本决定,制程工艺资本由主流消费电子决定, 摩尔定律仍在持续

关于CPU生产知识的一些总结

https://plantegg.github.io/2021/06/01/CPU的制造和概念/
总结
Wafer:晶圆,一片大的纯硅圆盘,新闻里常说的12寸、8寸晶圆厂说的就是它,光刻机在晶圆上蚀刻出电路
Die:从晶圆上切割下来的裸片(包含多个core、北桥、GPU等),Die的大小可以自由决定,得考虑成本和性能, Die做成方形便于切割和测试
封装:将一个或多个Die封装成一个物理上可以售卖的CPU
路:就是socket、也就是封装后的物理CPU
node:同一个Die下的多个core以及他们对应的内存,对应着NUMA
现在计算机系统的CPU和芯片组内核Die都是先封装到一个印制板上(PCB,printed circuit board),再通过LGA等等插槽(Socket)连上主板或直接焊接在主板上。这个过程叫做封装(Package),相关技术叫做封装技术。

欢迎关注我的公众号一起学习提高

关于信创CPU测试的一些想法和思路_龙芯