本文来自微信公众号“twt企业IT社区”。
【前言】
在Intel、AMD等基于X86指令架构的国外CPU厂商产品几乎统治市场的同时,我们作为世界最重要计算机市场和引领全球数字化变革的国家的相关行业不断呼唤着基于自己设计生产CPU——“中国芯”,自2018年我国刚刚踩下加速油门的CPU产业及重点企业开始受到西方无情打压和裁制,要将其“扼杀”在摇篮中之的同时,更吸引到了亿万国人的目光,国家、行业,科技界围绕这一“卡脖子”领域吹起了“补短板”的号声。华为、海光、飞腾、兆芯、龙芯、申威等国内较有实力的厂商通过各种途径和方式推出各型不同指令集和架构的通用CPU产品,并装备在各家国产服务器厂商的产品中,表现出产品迭代速度快,技术架构差异大,厂商侧重场景各有不同的发展特点。
作为目前“国芯”的典型厂商及其技术路线,主要有三个方向:
一、采用主流X86指令集的海光、兆芯,他们通过接受主流厂商技术注入的方式获得有限专利许可,从而推出了能够基本兼容现有应用代码运行的产品,具备天然软件生态优势,并且部分产品表现出了相对良好的单核性能;但由于其专利授权为国外厂商2016的技术,难以获得最新技术授权,只能走增加物理CPU核心数量的技术发展路径。
二、采用主流ARM指令集的华为、飞腾,其技术授权源于英国ARM公司的商业专利授权,通过购买相应IP授权后设计出自有产品,由于目前大多数手机应用都基于该架构指令集开发,因此相应产品也拥有相对良好的软件生态和应用代码兼容性,具备核心数量多和高能耗比的特点;但国内厂商也同样受捆于专利授权的问题(本月ARM公司已经明确拒绝向我国企业出售最新高性能服务器的IP授权)。
三、采用自主、开源指令集的厂商,这其中的代表是采用完全自主CPU指令集LoongArch的国芯鼻祖“龙芯”,以及采用开源指令集RISC-V联盟的国内厂商(如:中科院、阿里、腾讯),这些新厂商产品进步速度很快,其中龙芯团队基于多年的坚苦深耕,最新流片产品已达到接近2021年INTEL主流产品的单核和综合性能,而RISC-V联盟厂商因为参与厂商众多而发展速度喜人;但这两者都因软件生态不足,编译代码困难问题,难以短期内获得众多应用开发者的青睐。
作为企业数字化转核心动力的应用开发者们,所关心的问题便在于代码开发生态(甭管快慢能跑起来,出了问题能找支持),而对于测试和运维人员的关注点则在于性能(单核、多核)和稳定性,X86架构经历过充分时间打磨,可谓“独孤求败、傲视武林”,ARM虽然相对年轻,但也凭借移动终端领域的积累而获有众多开发人员的佣促,其他技术厂商则还需要迈过很多时间和技术的积累考验。
最后,面对国芯信创大潮,企业IT选型架构师及IT专家们在信创技术路线中应该如何应对抉择?社区之前围绕企业服务器信创技术路线(ARM、x86、龙芯)选型中关注的一些核心问题组织进行交流,活动中有有很多值得参考的观点分享,在此文中进行了总结梳理,希望给同业带来帮助。
*以下问题和观点分享均来自社区会员,不代表社区倾向性;本文如涉及产品技术参数等请以官方发布为准
1、信创服务器和商业服务器的故障率对比情况?
【问题描述】有没有统计过,信创服务器,相比现有商业芯片服务器,总体故障率比较怎么样?
summit某城商银行架构管理岗:
从我们使用的服务器情况大概说一下,仅作为参照。XC服务器主要是浪潮(飞腾S2500)、长城(飞腾S2500)、紫光恒越(海光7280)、百信恒山(鲲鹏920),近一年的使用情况来说紫光恒越(海光7280)和百信恒山(鲲鹏920)在资源使用率达到90%以上,未出过问题;浪潮(飞腾S2500)、长城(飞腾S2500)在资源使用率达到70%-80%左右就出现问题,可能跟相关产品的适配不兼容有关联。从性价比考虑,建议此类服务器主要应用在开发测试环境或者非关键应用的生产环境。
朱向东中原银行技术支持:
信创服务器和商业服务器的来对比的话,因为服务器内部都是电子元器件,电子元器件都有故障和老化的现象,无论是信创服务器还是商业服务器,设备在其生命周期内基本上都有设备故障现象发生的,一般情况下分三个阶段:
1)初期故障期,就是新采购的服务器在上架安装投产前后,由于设备设计、物料制造不良,物料保管不善、运输颠簸、接口松动、操作不当等而造成的设备故障,比如设备初次加电就发现某些部件出现故障,这种故障相对来说比较少见。
2)偶发故障期,就是设备投产后,且设备的零部件未达到使用寿命,但一部分零件出现故障的情况,这种故障是不可预测的,若服务器设备长期处于高负载运行状态可能硬盘故障率会高一些,一般是高IO连续运行一年多以上,硬盘故障率会有所升高。
3)磨损故障期,就是设备投产三到五年后设备零件磨损过度,造成故障率上升,如果加强设备维修,及时更换即将到达寿命的零部件,则可能会降低一些故障率,但维修费也会过高,此时则应考虑更新设备了。
针对总体故障率比较的话,不同厂商的服务器产品其设备故障率还是有一些特点的,当然结合用户对服务器使用场景不同其故障率特点也不同,需要用户积累一些运维数据才能分析出来。
Yufu338平安科技信息技术经理:
故障率相当,但因为信创服务器较少,所以数据仅供参考;信创服务器最大的问题不是故障率,而是出现故障后的故障修复能力比较弱,很多故障都无法做根因分析,而且因为美国制裁的原因,鲲鹏跟海光平台的服务器无法得到国外关键部件厂商的技术支持,有些故障根本无法解决。
actor168中国联通软件研究院研发工程师:
从亲身体验来看,其实都差不多,服务器故障是多方面的:内存条坏掉、磁盘坏、网卡坏、莫名死机、CPU坏,目前来看,这些硬件制作工艺都一致,只是设计上有所不同,故障率基本一致。
2、ARM、x86、龙芯现在都各有优缺点,从未来5年内看,哪个平台更有优势?
【问题描述】按照文章介绍X86指令集专利授权为国外厂商2016的技术,难以获得最新技术授权;ARM指令集已经明确拒绝向我国企业出售最新高性能服务器的IP授权;RISC软件生态不足,编译代码困难,各有各的优缺点。从未来看都面临比较大的卡脖子的情况。如果从短期考虑,例如5年内,哪个平台目前更具有优势呢?
kingdonwang人民银行清算中心系统工程师:
ARM的优势在功耗比,应用主要在移动互联网,同时向新兴后端服务器业务领域有一定渗透(归功于互联网厂商);X86的优势在于性能和完善的生态,在传统PC特别是后端服务器领域是独孤求败的;龙芯的优势则在于技术和供应链的自主可控,另外龙芯可以在某些Linux上可以跑.net的应用(虽然场景并不多)。
个人评估未来5年:ARM在后端服务器领域应该会发生萎缩;X86的占有率也会因为国内信创推进而萎缩,但仍占主流;龙芯会因为国内领先的自主可控以及相对性能优势而在PC和服务器占有率上快速发展,有可能成为“国芯”旗首。
有人说RISC-V也会有迅速发展,这点本人并不完全赞同,“国芯”在ARM和X86的技术专利上都栽过大跟头,到现在仍然走不出这两家的阴霾,而今天的所谓开源并不意味着未来不会改变(MIPS指令集就因为龙芯的发展从开源改为闭源了),关键领域一定要控制在中国人自己手上。
ARM在中国和世界的发展已经越来越窄了。
随着美国芯片大棒的挥动,ARM已经明确宣布停止新的服务器大核架构向中国企业的授权,也就意味着不论ARM还是X86,目前还能挂牌售卖“国产”CPU的厂商(海光、兆芯、飞腾,勉强再算上阿里倚天吧),都将无法推出更新CPU架构的更高性能产品,只能靠堆核摊煎饼苦撑,中国芯走借道发展的路已经到头了~~
中国芯未来的路在何方?借用那句著名歌词“路在自己脚下”,只有掌握CPU设计的根本,才不会受制于人——龙芯发布了自有指令集LoongArch后性能正在突飞猛进,据模拟演算出即将推出的3A6000可以达到Intel 11代酷睿的单核性能;RISC-V的性能进步也很大,并且因为开源特性获得了如高通、INTEL等国际企业的青睐和重视。但这两者也都还处于发展初期,都面临软件支持和行业生态等方面的发展问题,需要花大力气通过不断扩大应用场景,增强服务支撑,拓展兼容能力来实现完善产业生态。从芯片制造角度,估计会有更长的“卡脖子”时间,7nm及以下的芯片制造工艺不是可以短时间突破的,其涉及的产业链条很长且技术壁垒更深,更需要“工匠精神”和“弯道超车”两手并举,忍得下更耐得住,不为一时之利,相信中国人自己的智慧(看看AMD、英伟达、TSMC的老板)。总之,当下的中国芯,需要“努力+时间”,才能走上自我循环的良性发展道路。
PS一句,本人一哥们是SMIC的,他从去年底开始加班频率越来越高,也不再对国内芯片产业愤青,想必这是一个很好的迹象。
某金融企业系统工程师:
个人比较看好ARM,鲲鹏性能目前在几个国产芯片中,属于比较好的。生态也比较丰富,大部分开源都有ARM版本。但是目前需要最高优先级考虑的是是否能够供货。
actor168中国联通软件研究院研发工程师:
短期内哪个生态好、哪个供货足,性能满足就最好,ARM>x86>>龙芯>>RISC-V;
长期:龙芯
晨晨金融公司:
我们只是测试了两个平台,海光和鲲鹏,目前来看,鲲鹏的性能要优于海光、适配性海光的优于鲲鹏。
3、国产IT整体适配性问题,如遇到各厂商互相推诿,如何有力有效协调推进解决问题?
【问题描述】国产CPU、服务器、OS、虚拟化平台之间,适配性等问题较多,遇到时难以定位是谁的原因,各厂家之间相互推诿,如何有力有效的协调各方厂家,共同推进解决问题?
zzy3620北部湾银行系统环境管理:
作为使用用户,也还是需要从集成的角度,对问题进行综合分析,牵头协调各层面厂商进行联合排查问题,对于能明确定位的兼容性问题,为快速解决问题,需要根据当地不同厂商对于金融行业的研发资源和技术支持资源进行评估,协调研发能力较强更大的厂商往往解决问题更快,但根本上还是需要两个产品厂商进行对接。
cpc1989某保险公司存储工程师:
一方面,信创项目落地可从两条主线展开,信创云主要对应的是信创基础硬件+操作系统的集成解决方案,应用信创适配对应的是信创操作系统+其他软件的集成解决方案,着重抓这两条主线,选择落地经验更丰富、案例更多的厂商,可以显著降低落地难度。
另外一方面,在遇到适配问题时,往往是多方因素共同作用的结果。从解决问题的思路来看,不管是硬件还是软件层面,做一些组件替换的效率是更高的,选择成熟落地方案,去避开兼容性问题。
Chenli某保险企业:
由于现在平台和发行版本较多,要自由组合来实现技术栈自由有些难度,一般某个芯片和某个OS版本和某个中间件服务都有合作,这种情况下,问题响应会相对较快,但是不同系统不可能都用不同的技术。
一个解决方案就是再这个技术方案中,找到一家技术能力比较强的厂商,或是自身培养技术能力较强的员工,牵头定位。
4、目前鲲鹏的ARM架构何去何从?
【问题描述】目前面对制裁国内如鲲鹏(ARM架构)、海光(X86,AMD授权)这些需要授权的架构该何去何从,如何更新迭代,怎么发展?还有像申威,公版已经不再更新,那如何进行迭代?
kingdonwang人民银行清算中心系统工程师:
架构授权是比指令集授权更严格的控制,技术灵活空间是很低的,不论海光还是鲲鹏的CPU架构已经因为专利限制而难以延续发展,华为的供货更因为美国的“卡死”而处于只闻其声的囧境。ARM给华为鲲鹏的IP授权只到V8,AMD给海龙的IP授权只能是10年前的ZEN一代,如此来CPU单核性能基本不可能产生突破,只能靠摊大饼堆核心数,但问题是拼接技术和安装空间能无限放大么?本人对授权这个路线的前景不看好,与其坐以待毙不如去做能掌握自己命运的事——自有指令集+IP+应用生态。
gavin_zhang某股份制银行系统架构师:
鲲鹏和海光的情形可能还不太一样,鲲鹏限制稍低。
鲲鹏是买断了v8的授权,后续基于V8的架构,不受实体清单影响。目前最大的问题是晶圆制造,等待国内芯片工艺的突破。生态其实还行,移动设备,Mac都是用的ARM同架构,很多开源的,都有ARM版本。
海光在授权和制造的问题都比较多。最大优势就是x86指令集,可以兼容大部分现有应用。
目前最好的是龙芯,loongArch是我们自己的指令集,目前最大问题也是制造。可惜生态游稍微欠佳,服务器CPU也才推出。
5、如何最大限度减少应用改造实现国产芯片平滑升级?
【问题描述】在国产芯片选型过程中,最大的阻碍莫过于新国产芯片对现有操作系统、应用、基础平台的兼容性,能够最大限度的减少改造成本、可移植性将是优先考虑的芯片选型。但是一些关键应用如数据库、高并发应用场景中,芯片性能也将是重要的考察点。
吴室长安徽省农村信用社联合社:
目前围绕国产芯片的操作系统、应用以及数据库都基本形成了一定的生态环境,在实际生产部署过程中会遇到不少问题。目前可以部分业务系统通在x86虚拟化芯片上先部署国产操作系统及相关应用、数据库、验证相关功能。并同步在国产芯片上部署相应的应用、数据库,在稳定性达到一定要求后,可以作为生产环境发布使用。目前来说鲲鹏芯片的上下游支持的厂商较多,可以作为首选。对于性能要求高,的高并发,可以通过集群的方式来找到对应解决方案。
ljm327银行系统运维工程师:
现在各个厂商无论是基础平台的还是应用层面的,基本上都有针对各种国产芯片的技术解决方案,也都有兼容性测试证明。选择一个市场案例多的,基本问题不大。
如果选海光或鲲鹏芯片,芯片性能我觉得是不需要太考虑的因素,因为在绝大部分场景下,CPU的性能是大量富余的。
6、国产CPU替代的成本问题?
【问题描述】国产CPU相对国外同等规格下性能较弱,支撑同样量的业务需要更多的国产CPU,如何在这样的情况下尽可能降低成本?
吴室长安徽省农村信用社联合社:
其实在这一点上我想并不是国产CPU性能弱的问题,因为不管是x86还是ARM,或是国产还是ADM、Intel,CPU的主频都已经没有太大的差距。除了CPU还要考虑内存、IO存储等一系列部件的性能。服务器是一个整体,现在都是大内存、大缓存,高速交换机以及NVME的存储磁盘会让整个服务器的性能得到提升,且整体成本降低。很多时候瓶颈不在服务器本身,我们要从业务、应用、数据库来找原因,只有足够了解自己的业务,才能更好的提高系统的并发,例如通过负载均衡技术、集群技术等等。
朱向东中原银行技术支持:
从市场销售情况看,基于国产CPU的服务器价格要略高一些,就如何降低成本的问题,个人观点:
一是在设备选型时尽可能精准的适配应用场景,多做POC测试,从众多产品中实地压测,性能指标满足未来五年的业务发展需要即可,因为,电子设备都是有使用寿命的,一般情况下五年就需要更新换代了,原则就是不超纲不减配择优配置,籍此来降低成本。
二是根据自身情况尽可能选择规模化的采购,当采购数量达到一定量级后,厂商或代理商会申请相应的折扣,数量多可能折扣就大。另外尽可能多引入几家品牌供应商,通过公开招标方式开展市场化竞争,也许会降低一些成本。
zzy3620北部湾银行系统环境管理:
国产CPU目前相同处理性能的价位相对是要高一些,要降低成本需提高CPU的使用效能,尽可能的在部署环节,将业务高峰错峰的部署到一起,通过虚拟化尽量提高CPU使用效率,尽量准确评估业务需要的CPU计算能力,合理采购。
7、信创服务器在金融行业内的核心系统替代情况及产品稳定性及故障率如何?
summit某城商银行架构管理岗:
根据人行的XC试点单位项目建设要求,主要分四类:管理类、机具类、一般类、核心类。核心类指的是核心系统,目前基本上没有全站替代,都是进行部分XC改造或者双轨建设。XC产品替代主要有操作系统、数据库、中间件、服务器。
1)操作系统主要是统信V20和麒麟V10,目前麒麟投入市场时间比较早,服务器端使用比较多,且稳定比较好,统信操作系统主要桌面端市场占有比较高,目前也正在进军服务器端。
2)中间件主要是东方通、金蝶、普元、宝兰德等,主要替代产品是nginx、和weblogic,应用比较多的是东方通,只要使用它的tonghttpserver和tongweb来进行替换;对于部分应用使用Redis的要求,通过测试金蝶的AMDC要比东方通的RDS在单线程的性能要高,多线程都差不多,具体根据业务系统要求进行选择。
3)数据库主要是达梦、人大金仓、神舟通用、南大通用等,目前使用比较多的达梦和人大金仓,我们使用的是人大金仓,基本上都能满足业务系统的要求,测试的指标也能到5000并发的情况下tpmC能达到65万左右。
4)服务器主要是鲲鹏920、飞腾S2500、海光7280等CPU品牌,目前主流服务器厂商都有相关CPU的服务器,性能从高到低依次是海光7280(32C)、鲲鹏920(48C)、飞腾S2500(64C)。目前稳定性也是海光和鲲鹏要优于飞腾,且通过测试鲲鹏和飞腾的应用适配可以在这两种类型的CPU服务器上可以兼容并可以进行迁移。其他龙芯、兆芯目前金融行业应用较少,使用多的也只是在桌面端使用。
8、单从技术层面来看,不同应用场景下企业服务器CPU的信创选型对比?
【问题描述】单从技术层面来看,在追求稳定可靠的基础上,不同的应用场景对计算资源的需求并不完全一致,也对应着不同的技术选型需求:1)云平台,着重于计算资源的虚拟化,需关注物理CPU对虚拟化技术的支持、物理CPU与虚拟CPU的超分比、虚拟CPU的处理能力等指标;2)数据处理平台,着重于并发处理能力,关注CPU单核性能、CPU超线程或多核能力、IO吞吐能力等;3)软件定义存储,不同的底层存储介质IO能力适配不同的算力需求;4)其他应用。想请教下,在如上四类应用场景下,不同的CPU应用的优劣对比和技术选型?
actor168中国联通软件研究院研发工程师:
云平台上优选x86/amd64架构,他们对于虚拟化的积累比ARM要多得多,因此海光>鲲鹏;
数据处理平台,具体情况具体分析,以我们的场景来看,Kakfa、MongoDB这些的测试结果看,intel>鲲鹏>海光;
存储类,这个场景发现ARM要优于海光;
业务应用:鲲鹏几乎与海光等同,差别不大。
kingdonwang人民银行清算中心系统工程师:
云平台所提供的能力重点在于通用算力,而看重CPU性能;业务让对于代码的适配性有要求,并且对硬件设施的整体稳定性也有有要求,因此对CPU主频、核心数,以及程序代码开发门槛等都有要求,在目前条件下优先建议海光X86、其次建议飞腾ARM;
对于数据处理平台不知是否面向AI方面的,业务方面应该是人工智能业务领,这个重点是看GPU,只能CPU能把GPU资源调度好就可以了,主要操作系统和AI平台的兼容性,对性能要求相对云平台要低,ARM架构是不错的选择;
对于软件定义存储,业务核心是IO性能和容量,一般对CPU的通用算力要求不高,只要SDS软件适配过,能够兼容CPU指令集就可以了。
匿名用户:
云平台,从兼容性上来说c86的稍好,不过ARM的目前看来,支持也没有问题,其他的没有测试过;
数据处理平台,从并发能力上,ARM由于核数较多,并发能力强一点;
软件定义存储,鲲鹏本家的存储都在ARM上,技术积累较多;
其他应用,c86需要的改动是最少的,但是性能一般。
9、如何能够更好的发挥信创CPU的优势?
【问题描述】金融行业目前正在广泛的进行信创化改造,一方面是政策要求,另一方面我们也不应该为了信创而信创,而是应该思考在实践中如何能更好的发挥鲲鹏/海光的优势?例如多numa,多核心,在我们实际使用中如何能更好的提升应用的性能?海光与鲲鹏在使用过程中应该有怎样的侧重?是否有一些具体的案例?希望与各位一同交流。
吴室长安徽省农村信用社联合社:
其实这个侧重可以很好理解,一般金融企业的预算充足,可以海光、鲲鹏多路并发的模式。但是建议一套业务系统,尽量使用一个技术路线,这样在后期运行维护过程中会减少工作量。如果说要有所侧重,性能高的芯片,例如单核主频高的,可以用于数据库的部署。而核心多、主频不一定高的芯片,可以部署资源池用于应用部署等。这样才能发挥芯片的优势。
匿名用户:
信创CPU大部分单核能力不强,核数相对较多,可以通过多线程来提升CPU算力,但是由于线程存在上下文切换,线程也不宜过多。
绑核确实可以提升性能,但是也降低了多进程的调度能力,需要谨慎使用,只对核心进程,如SDN的控制进程等对延迟极端敏感的服务,进行绑核。
10、在众多的国产芯片中,中小金融企业如何进行选择?
【问题描述】在众多的国产芯片中,我们中小金融机构应该如何进行选择,才不会给自己未来埋下坑?
朱向东中原银行技术支持:
目前主要有六大国产CPU厂商。
海光CPU代表产品有海光1号、海光2号、海光3号、海光4号等,是X86(AMD)指令集体系,当前在市场主推海光3号,海光CPU主要有X86最新授权,性能较强,应用生态丰富等优势,但目前自主化程度相对低,股权结构复杂,无桌面授权,因此,其产品主要覆盖服务器领域,未覆盖桌面领域。
龙芯CPU代表产品有龙芯1号、龙芯2号、龙芯3号等,是LongISA+MIPS指令集体系,龙芯起步最早,适配厂商多,自主化程度高,但MIPS生态应用匮乏、性能一般,不利于商用市场拓展。目前产品覆盖桌面和服务器领域;
鲲鹏CPU代表产品主要有鲲鹏920,是ARMv8的精简指令集体系,ARM前景广阔,产品线极其丰富,性能最强,DZ和商用市场接收程度高,但受制裁中,未来存在不确定性,目前产品覆盖服务器、桌面、嵌入式,以及HW存储等领域;
飞腾CPU代表产品有腾云S系列、腾云D系列、腾珑E系列,是ARMv8的精简指令集体系,ARM前景广阔,产品线极其丰富,性能最强,DZ和商用市场接收程度高,但产品起步晚,性能相对弱势,目前产品覆盖服务器、桌面、嵌入式等领域;
兆芯CPU代表产品有ZX-C、ZX-D、KX-5000、KX-6000、KH-20000,是X86(VIA)指令集体系,在上海地区覆盖广,X86应用生态丰富,但是早期的X86内核层级授权,市场开拓不足,目前产品覆盖服务器、桌面、嵌入式等领域;
申威CPU代表产品有SW1600、SW1610、SW26010,是ALPHA,SW64指令集体系,在JF市场占有率高,底层应用和超算方向为主力,但是商用产品开发不足,目前产品覆盖服务器、桌面、领域。
对于中小金融机构来说,建议选择生态覆盖面广的、处理性能最优的,并结合自身应用系统对国产芯片的适配情况,选择迁移改造工作最优的产品。