E企研究院 · 2020年09月29日

大河弯弯向东流,鲲鹏为啥这么牛?

似乎一夜之间,我的整个朋友圈都在讨论鲲鹏。

无论是我看到的服务器厂商、还是我认识的软件工程师,亦或是八竿子打不着的IT从业者,大家聊天的话题总会情不自禁的拐到鲲鹏上来,似乎这个名字有着强大的魔力。

没错,我这里说的鲲鹏就是华为推出的那个“鲲鹏计算”,它的范围不仅局限于大家印象中的硬件,更包括了上层的软件乃至合作伙伴的生态圈。从这个意义上说,鲲鹏所代表的并不是单一的个体,是一个强大的生态,而是一个产业。

自去年9月华为宣布用“硬件开放、软件开源、使能合作伙伴”策略推动鲲鹏计算产业,这种新开源生态和商业模式吸引了更多业界产业伙伴的关注,

在HC 2020上,华为计算产品线总裁邓泰华提到从今年6月份开始,鲲鹏伙伴们的出货量已经超过华为自有品牌服务器出货,未来伙伴的销售占比还会进一步提升。
image001.png
华为计算产品线总裁邓泰华

换句话说,就在过去的一年中,华为团结了产业界所有可以团结的力量。在HC 2020上,华为继续向业界宣布向产业界,全面开放鲲鹏全栈,包括开放鲲鹏主板2.0,持续投入开源基础软件openEuler、openGauss,开放鲲鹏应用使能套件Kunpeng BoostKit、开放鲲鹏开发套件Kunpeng DevKit,激活产业伙伴的热情。

我们常听到一句话,“商场如战场”。那么为什么鲲鹏在推出短短一年之后就获得巨大的成功?为什么华为推出的鲲鹏能够得到业界各家友商的支持?鲲鹏生态圈又是如何运营的呢?

鲲鹏全栈开放:激发产业创新活力

从行业需求来看,眼下的应用变化使数据发生根本性变化,数据种类不同,处理和分析数据的算力也不同,从异构计算到支撑AI高速发展的暴力计算、从小到家庭再到办公室工厂等无处不在的泛在计算,到数据在流动中高效联动的端边云协同计算,要整合这几股力量、充分发挥价值,不仅需要一个能够支持全场景计算的新架构,还需要从硬件到基础软件,到应用使能的软硬件全栈协同创新。

鲲鹏正是在多样性算力时代,通过全栈创新,始终坚持并践行“硬件开放,软件开源,使能合作伙伴”的策略,构建起鲲鹏产业生态,当前鲲鹏、昇腾开发者已经超过30万,合作伙伴超过1000家,完成认证的解决方案超过3000个。
image003.png

在硬件开放层面,华为开放鲲鹏主板和部件,从通用主板开放,到基础板+扩展板的开放模式,全方面对伙伴进行能力共享。

多样性计算时代,操作系统创新空间巨大,发展基础软件需要有根,华为希望更多的开发者参与进来, “共建、共享、共治”,共同打造基础软件生态。为此,华为将openEuler开源,而后相继开源的还有openEuler、openLooKeng以及全场景AI计算框架MindSpore等等。

硬件提供算力供给,基础软件释放算力,最终还是需要通过应用全栈创新创造价值,而应用软件的迁移与适配,一直是打造鲲鹏软件生态的关键。

“夫唯不争,天下莫能与之争”,华为深谙这句话的道理,让各类生态伙伴各展其长,融合多元能力,共同做大计算产业的蛋糕。在HC 2020上,华为面向合作伙伴发布了Kunpeng BoostKit应用使能套件加速应用服务,面向开发者Kunpeng DevKit鲲鹏开发套件,两类套件加速全流程开发效率提升,解决鲲鹏软件生态难点。

Kunpeng BoostKit:应用与鲲鹏的最强化学反应

在HC 2020 “鲲鹏训练营”分论坛还没开始前,鲲鹏开发套件加速应用迁移与调优的主题就备受关注,合作伙伴和开发者提前候场,等待鲲鹏“硬核工具”的解读。

image005.png
image007.jpg
华为鲲鹏计算产品部鲲鹏解决方案研发总监梅华杰

华为鲲鹏计算产品部鲲鹏解决方案研发总监梅华杰详细介绍了华为创新推出的Kunpeng BoostKit使能套件,该套件面向8大应用场景,分别是大数据、分布式存储、数据库、虚拟化、云手机、Web、CDN和HPC等领域,这些领域一方面需要强大的算力支持,比如HPC和虚拟化应用,另一方面则需要海量数据分析能力,比如大数据、分布式存储和数据库等等,还有则是对于系统网络与延迟等综合能力有需求,比如Web、云手机、CDN之类,呈现出多场景应用的特点。

就拿鲲鹏大数据场景来说,在生态兼容方面,目前已有17个开源社区原生支持鲲鹏,鲲鹏联合生态伙伴发布商业版的大数据软件,在生态创新的同时实现融合部署创新,具体包含两个主要场景:一是同构混部,在软件统一的前提下实现x86和鲲鹏的混合部署,也就是说x86原有集群实现鲲鹏的平滑扩容,第二种场景是异构联邦,在x86集群也有数据不迁移的情况下,实现鲲鹏集群平滑扩容。

基于生态兼容、融合部署,鲲鹏全栈优化实现性能倍级提升:在Spark ML场景和图算法场景,通过算法的优化创新,实现比原生算法性能提升50%,openEuler/openLooKeng全栈软件优化后,大数据hive spark的吞吐量提升一倍。

在鲲鹏分布式存储场景中,TaiShan200服务器 5290在同样空间中存储密度提升1倍,空间节省 50%,在存储性能方面,通过IO直通技术和IO智能预期技术,整体性能提升提升50%,基于EC和压缩技术将存储有效容量提升了1倍,可以看出鲲鹏出打造极致存储竞争力。

在Web&CDN场景中,通过采用鲲鹏内置的RSA加速方案,提升Web应用倍级的性能提升,为HTTPS网站加速。

而针对虚拟化、数据库、ARM原生三大行业应用场景,鲲鹏更是树立出标杆,在虚拟化场景中,鲲鹏通过V-Turbo技术,让同等虚机规格(4U8G) 和整机密度,轻负载场景单虚拟机计算性能提升20%,OVS网络性能提升30%,目前已经在政务云、金融、安平行业有了落地应用。

在政府、金融广泛应用的数据库场景中,鲲鹏解决MySQL 5.7支持鲲鹏技术瓶颈,打开金融行业MySQL存量市场机会点。另外在ARM原生场景中,鲲鹏为互联网和运营商领域打造云游戏解决方案,单机支持80路重载云游戏。
image009.jpg
现场踊跃互动

可以说,针对不同的场景,创新的Kunpeng BoostKit应用套件加速释放鲲鹏算力,对软件基础库做深度性能优化,构建常用软件库在鲲鹏平台上的性能竞争力,把各个场景沉淀下来的最佳能力向合作伙伴开放,让应用与鲲鹏发生最强化学反应。

Kunpeng DevKit :化解迁移难题的定海神针

软件迁移是华为鲲鹏生态布局的重点,而迁移本身也是全行业应用的“老大难”问题。除了创新推出Kunpeng BoostKit应用使能套件之外,华为还在HC 2020上面向开发者发布了Kunpeng DevKit鲲鹏开发套件,解决鲲鹏软件生态难点。在“鲲鹏训练营”分论坛中,华为鲲鹏计算工具与性能调优技术专家鲁强现场讲解、演示了如何通过统一IDE 快速完成鲲鹏代码迁移与调优。

49721cea7edc4546a64707515fa3f0a2.webp.jpg
华为鲲鹏计算工具与性能调优技术专家 鲁强

对于大多数人来说,许多人都有使用安卓手机和苹果手机的经历 ,而每次不同系统之间数据的转换是最头疼的事。尤其是对于软件来说,因为应用环境的不同,安卓系统和IOS系统不能实现互通,许多软件的定制化也就无法完成。

为此,有些手机软件企业就推出了“一键迁移”的服务。用户只要按照提示点击屏幕,最终就可以实现一键数据与应用程序迁移,这样大大方便了安卓手机和苹果手机之间的互换,也提升了用户的积极性。

Kunpeng DevKit鲲鹏开发套件也是同样的道理。华为所希望的也是打造类似的“一键迁移服务”,让传统的x86平台用户能够一键迁移到鲲鹏平台上来。
image012.gif

以鲲鹏和x86处理器的指令集来看,鲲鹏采用的是RISC指令,而x86采用的是CISC指令,这就好比不同国家的人说的不同的话,以从C/C++等编译型高级语言开发的应用迁移来说,需要考虑到很多方面。在实际操作中,对于这类编译型语言,在有源代码的情况下的迁移及优化,可以简单的分为以下几个步骤:扫描、迁移、编译和调优。

image013.png
咱们首先来说说扫描。就像我们每个人搬家的时候需要提前评估家中物品数量,计划搬家路线,寻找搬家公司一样,在软件迁移之前我们首先要做的就是分析——分析迁移软件包依赖库,评估可迁移性;分析迁移软件代码文件,评估迁移代码量和工作量。
image015.png

俗话说,“知己知彼,百战不殆”。扫描作为软件迁移的第一步,主要是帮助客户快速准确的分析迁移的可行性与迁移投入。这其中,Kunpeng DevKit鲲鹏开发套件起到的主要作用就是解决客户软件迁移评估分析过程中人工分析投入大、准确率低,整体效率低下的痛点,通过自动化的方式将迁移量数字化与UI化,以便于用户的识别。

image017.png
在明确了需要迁移的代码之后,接下来要进行的就是实际的代码迁移。这里华为提供了智能化的迁移工具,可以分析待迁移软件源码等文件,给出可视化的代码迁移指导报告。不仅如此,软件还能够实现一键式代码替换或建议,降低迁移难度,提升迁移效率。
image019.png
这就好比搬家过程中,比如床柜、冰箱之类的大件都由搬家公司负责,这样一方面自己省心省力,另一方面也避免磕碰。但是对于古玩玉器、黄金饰品等“细软”物品,搬家公司多会建议客户自行搬运或携带,或者有些异形大件物品双方也需要协商解决,共同实现搬运的目标。

那么,是不是代码全部迁移之后就可以使用了呢?当然不是的,事实上这时候软件工程师的工作才刚刚开始,因为对于大部分程序来说,从x86迁移到ARM架构之后的关键问题就是进行代码重新编译与与进一步的优化。也只有这样,才能保证在迁移之后的软件运行效率保持在最佳状态,使得业务运行不受影响。

就比如我们从30平米的开间搬进了180平米的大平层,或者反过来也一样,都需要对家居、电器进行重新的摆放和设计,以便我们日后使用方便。而由于住房面积、户型的差异,我们势必要对原有的位置进行调整,床头朝东还是朝西、冰箱放在厨房还是客厅都要根据实际情况来判断,这也正如代码迁移之后需要重新编译与调优一样。

当然这时候如果有人帮忙,就能达到事半功倍的效果。为此Kunpeng DevKit鲲鹏开发套件也提供了基于鲲鹏加速库的辅助开发工具,能够在VSCode中对鲲鹏加速库函数进行智能编码联想、语法渲染、加速库函数快速查找、扫描分析等功能,帮助不熟悉鲲鹏加速库能力的程序员发现并使能鲲鹏加速库,快速便捷的获得加速库带来的性能提升。

image021.png
而为了提高程序员的迁移开发效率,鲲鹏也提供了可视化的编译及调试工具,可以帮助客户在远端快速部署鲲鹏编译器,并实现一键式构建等等功能,帮助用户快速获得鲲鹏编译器更新,并满足客户可视化的调试鲲鹏程序的需求。

image023.png
最终,当整个软件代码迁移完成并调试结束之后,我们就需要分析实际的效果。这里,Kunpeng DevKit鲲鹏开发套件还提供了性能分析及调优工具,通过提供各种分析方法,通过采集多维系统数据,分析出系统性能特征,并能够精准定位到瓶颈点及热点函数等。最终,这些分析结果都会以图表化的报告形式体现,并且给出多维度数据聚合展示及相应的优化建议。

image025.png
由此也实现了代码的迁移全过程。在整个迁移过程中,Kunpeng DevKit鲲鹏开发套件都针对用户的不同步骤给与了智能化的软件支持,同时“一键迁移”的操作和图表化的报告也大大降低了用户的迁移难度,UI画面也提升了迁移体验。

值得一提的是,我们提到的所有Kunpeng DevKit鲲鹏开发套件都是以二进制安装包的形式交付的,客户也可以针对自己的开发状况选择在整体或者某个开发环节中采用对应的工具。当然受限于篇幅,许多鲲鹏开发套件的功能我们不能一一叙述,但是在下面的图表中我们可以看到整个开发套件家族的全貌。

image028.gif
这不但解决了鲲鹏软件生态最困难的“从0到1”问题,也让客户在鲲鹏生态上的开发更加便利。借助于智能化的Kunpeng DevKit鲲鹏开发套件,原本那些“手动迁移、试错定位”的日子已经一去不复返,软件迁移变成了“傻瓜式”的操作。无论是经验丰富的软件工程师还是初出茅庐的“精神小伙”,都可以轻松的加入鲲鹏软件生态中来,华为将会在鲲鹏生态中贡献更大的力量。。

正如华为计算产品线总裁邓泰华在本次大会所强调的那样,套件“南向屏蔽多样性算力开发复杂性,北向使能分布式并行应用的高效开发,高效释放多样性算力潜力,助力分布式应用价值创造。”

可以说,通过本次华为全联接2020大会,我们已经见证了鲲鹏计算强大的生命力,并借此机会了解到了鲲鹏计算的生态全貌。秉承着“硬件开放,软件开源,使能合作伙伴”的策略,如今的华为鲲鹏已经受到业内越来越多用户的认可,也与越来越多的企业达成合作伙伴关系。

“大鹏一日同风起,扶摇直上九万里”。如今的鲲鹏也正乘着合作伙伴的“东风”,扶摇直上,构建开放共赢的全新生态。

推荐阅读
关注数
5020
内容数
334
E企实验室由E企研究院专职产品技术分析师针对数据中心、云计算、AI和5G等领域最新技术和应用研究、验证、试用、分析,数据中心级新产品新技术的市场教育,国内唯一同时研究互联网和传统企业IT基础设施的机构和部门
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息