【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

攻坚计算产业下一站,华为联合 18 城鲲鹏创新中心聚力打造开发者创享日

  • 2020-07-04
  • 本文字数:3021 字

    阅读完需:约 10 分钟

攻坚计算产业下一站,华为联合18城鲲鹏创新中心聚力打造开发者创享日

5G 时代,新基建浪潮风起云涌,新兴技术百家争鸣,推动着计算产业上新一轮的开疆拓土,大浪淘沙之下怎样才能立足未来?


如果把新基建比作一辆汽车,新兴技术就是四个轮子,算力则是提供动能的汽油。伴随着云计算、AI、5G 的快速布局,创新应用实现了加速落地,多样化应用催生出多样化算力的需求,市场既需要通用计算算力也需要异构计算算力,创新应用数量和种类的增长让计算单元更加丰富化。


同时,受摩尔定律放缓的影响,算力和性能遭遇发展瓶颈,企业的算力需求却在持续飙升,两相对冲之下,计算产业的创新与变革已经迫在眉睫。


作为先行者,华为早已为计算产业和行业生态的建设埋下伏笔。


2019 年 1 月,其推出鲲鹏 920 处理器,针对大数据、分布式存储、数据库和云服务等场景进行了优化,具备多核、并发处理效率高等特点,同时兼容 ARM 架构,未来具备独立演进能力。在强大的技术底座支撑下,华为计划在全国 18 个城市成立鲲鹏生态创新中心,吸引着越来越多的企业和开发者加入到鲲鹏生态建设中,共同推动计算产业的发展。


然而,算力要想大显身手,同样离不开软件辅助。鲲鹏早早便预见到了这一点,从软硬协同着手进一步提升处理器的性能,以软件迁移和调优两方面助力合作伙伴实现破局。在丰富的实践积累下,目前其已经沉淀了诸多迁移和调优方面的经验与方法论。

x86 向 ARM 迁移成趋势,软件迁移的知识你懂多少?

随着移动互联网、物联网和边缘计算的兴起,x86 架构称霸互联网的时代逐渐落幕,对于普通消费者来说,x86 的缺点是功耗大,对于开发者来说,则存在通用寄存器数量少、系统速度慢、对计算机硬件的利用率低等问题。由此可见,在移动互联网盛行的当下,不管是从市场角度还是从企业端的需求来看,x86 架构的不足已经非常明显,架构发展之路亟待创新。


在此背景下,蛰伏多年的 ARM 架构凭借着低能耗、低成本、与主要用户群体设备架构统一等优势实现了异军突起,成为众多主流科技公司的最优选择,从 x86 迁移到 ARM 也成为一种主流趋势。但由于两种架构之间存在的架构、指令集、向量寄存器的差异问题,也使得这条迁移之路异常坎坷,一些开发者甚至“谈迁移而色变”。


不同的开发语言面临的迁移难点也不尽相同,以最为复杂的 C/C++代码迁移为例,其最具代表性的有五类迁移问题,华为鲲鹏基于此已经存在相对成熟的迁移实战经验:


  • 编译脚本、编译选项移植。以编译 64 位应用程序为例,x86 平台可通过指定编译选项为-m64 来完成,而在鲲鹏处理器下需要-mabi=lp64 的形式指定;在 X86 平台下默认 char 类型是有符号类型,鲲鹏平台下默认是无符号类型。

  • 编译宏移植。以编译器自定义宏为例,x86 编译选项是__x86_64__或__x86_64,对应的 ARM 编译选项是__aarch64__。

  • builtin 函数移植。以替换 crc32 值计算函数为例,x86 下的__builtin_ia32_crc32qi ()对应到 ARM 中则为__builtin_aarch64_crc32cb()。实际上,需移植的普通 builtin 函数实际并不多,大部分需移植的 builtin 函数集中在 SSE intrinsic 函数内。

  • 内联汇编函数移植。这是 C/C++代码迁移过程中较难的部分,做移植前需先找到核心的汇编指令,随后结合内联汇编规则,也能够快捷的完成替换移植。

  • SSE intrinsic 函数移植。这同样是硬核技术点,SSE/NEON  intrinsic 函数是一些列 c 函数调用,编译器可将其替换为适当的 SSE/NEON 指令。SSE/Neon intrinsic 函数几乎提供与编写 SSE/NEON 汇编指令相同的功能,但是将寄存器分配等工作留给编译器,以便开发人员可以专注于算法开发。


开发语言复杂精妙,C/C++代码迁移只是冰山一角,但仅仅这一角都不是寥寥数语能够概括的,鲲鹏的迁移实战经验远不止于此。诸如 Java/Python 代码迁移、Maven 软件构建、RPM 软件迁移,在从 x86 向 ARM 的迁移过程中都存在着诸多问题,而鲲鹏均沉淀出了相对成熟的方法论,以各地创新中心为出口,以技术沙龙为课堂,向开发者源源不断地输出着这些实践经验。


回归到现实场景,企业之所以想要迁移到不同的平台,原因只能是新的平台有着更加强悍的算力基础,方便企业更好地开展自身业务,但往往复杂的代码迁移就已经磨去了开发者们所有的耐性,更遑论在迁移过程中同步思考通过性能调优充分发挥新平台的算力优势。而如果调优做不到位,迁移的效果同样会大幅缩水。


如今,迁移已经找到捷径,调优的捷径又在何方呢?

四座大山横亘,软件调优究竟有没有捷径?

同软件迁移一样,作为提升算力的一种有效途径,软件调优也是一门复杂学问。从冯诺依曼瓶颈来看,软件调优主要包括四个方向,分别是 CPU/内存、磁盘、网卡、应用,华为鲲鹏从这四点出发,在每个方向下总结出了不同的优化方法,累计共 10 大方法,被称之为“性能调优十板斧”。


以编译器为例,如何优化才能打破 CPU/ 内存瓶颈?基于芯片微架构,鲲鹏在实践中总结的优化方式如下:


  • 指令布局优化:拆分函数代码,按照冷热指令重新排布,提升指令 Cache 命中率

  • 内存布局优化:按照内存数据访问频度,组合热数据区域,提升数据 Cache 命中率

  • 循环优化:分析循环迭代间数据访存依赖关系, 对无依赖的循环并行到多核执行,无依赖的数据自动矢量化计算,加速程序运行


同时,针对 SMP 系统(可以使多个 CPU 汇集到同一台计算机上以提升数据处理能力)下核数的扩展受到内存总线限制的问题,搭载非统一内存访问架构 NUMA 有望解决,但想要充分发挥 NUMA 的性能,就需要克服内存访问速度不均匀的挑战,鲲鹏的应对方案是采用 Nginx 绑核优化,即将 Nginx 进程分布到各个 NUMA node 之内,让系统整体的负载比较均衡,按照中断号将中断服务和 Nginx 绑定在一个 NUMA 内,性能将会有非常明显的提升。


以上均为 CPU/内存的优化方法,但受篇幅所限也只能遴选出一二知识点进行概述。在磁盘、网卡、应用这三座大山上还存在着诸多难走的路,鲲鹏通过实践也已经摸索出了一套翻越大山的有效路径。


同时,其还为开发者打造了一条登峰的捷径,那就是鲲鹏开发套件,包括 Dependency Advisor(分析扫描工具)、Porting Advisor(代码迁移工具)、Tuning Kit(性能优化工具),是一套协助开发人员面向鲲鹏处理器快速进行应用软件迁移与调优的工具集。


依托于华为代码迁移与性能调优的专家经验,开发套件能够对海量代码进行自动化扫描和分析,识别出需要移植的依赖库文件,给出专业的移植报告与建议,并提供从系统、进程、函数到代码的全景性能分析,为开发提供从软件评估、代码移植到性能调优端到端的一站式服务,助力迁移和调优达到事半功倍的效果。

鲲鹏展翅 18 城,共话计算新时代

秉持着“硬件开放、软件开源、使能伙伴”的初心,华为一直毫不吝啬于对外开放自己的技术能力。以技术创新为动力,以技术布道为使命, 鲲鹏生态愈发强大,携手越来越多的开发者和合作伙伴共同攻坚计算产业下一站,推动计算产业新时代的到来。


7 月 11 日,华为将在全国 18 个城市同时举办鲲鹏开发者技术沙龙,本次活动的主题为「18 城鲲鹏创新中心开发者创享日」,届时华为技术专家将为 18 个城市的开发者带来关于鲲鹏生态发展战略、软件迁移与调优的实践经验和对应方法论、Open Euler 操作系统的介绍等课程,同时还将发布各区域下半年的技术沙龙活动日历,并启动鲲鹏应用创新大赛的招募,联合全国的开发者共同推动鲲鹏计算产业的发展。



码上选择你的专属城市课堂参与活动报名


赶快来鲲鹏 18 城创新中心课堂前排占座,不仅有与名师一对一沟通交流的机会,更有上机实操演练环节让你轻松将晦涩难懂的技术转化为身经百战才能练就的技能!


点击阅读原文获取开发者的专属报名通道


公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2020-07-04 21:501596

评论

发布
暂无评论
发现更多内容

MySQL client 命令 pager/edit/tee 介绍

ba0tiao

MySQL

WorkPlus即时通讯软件,以自主安全为底座,连接工作的一切

WorkPlus

真香定律再现!中小企业数字化逃不过华为云轻量应用服务器

平平无奇爱好科技

开启数字化转型之选,探寻华为云耀云服务器L实例的独特魅力

YG科技

新手站长网站开发常犯错?有了华为云这款轻量应用服务器不再踩坑

YG科技

向场景而生,移动数字化底座WorkPlus支持场景化定制

WorkPlus

传统服务器成“氪金”无底洞,华为云服务器才是中小企业开“肝”首先

轶天下事

mac电脑受欢迎的矢量绘图软件Sketch for Mac中文破解版下载

影影绰绰一往直前

sketch Mac Sketch 99

专业PDF编辑软件Adobe Acrobat Pro DC 2023 for mac完美激活版下载

影影绰绰一往直前

华为云耀云服务器L实例,引领企业数字化新时代

轶天下事

WorkPlus稳定服务助力行业千万用户,打造无界沟通协作平台

WorkPlus

HyperDock for Mac(mac窗口调整工具)v1.8.0.10中文激活版

影影绰绰一往直前

6. 账号系统

Joy

独家丨小程序开发支出明细,快Get华为云低成本高效率开发秘诀!

平平无奇爱好科技

无脑推荐的轻量应用服务器有没有?华为云是最佳选择

平平无奇爱好科技

智能管理、极致性能:华为云耀云服务器L实例引领小程序开发新潮流

平平无奇爱好科技

小程序开发遭老板砍预算?快用华为云轻量应用服务器保效果!

YG科技

华为云耀云服务器L实例:中小企业数字化转型的智选

YG科技

华为云耀云服务器L实例:数字化转型的得力伙伴

YG科技

华为云服务器,中小企业数字化升级的明智之选

轶天下事

4. 爬虫系统

Joy

爬虫实战

5. IM系统

Joy

7. 电商全球化架构

Joy

阿里云太“氪金”?试试华为云超高性价比轻量应用服务器

平平无奇爱好科技

企业网站建设容易维护难?华为云服务器保障长期高效运营

轶天下事

“跪求”老板加预算项目才能继续?快试试华为云轻量应用服务器吧

轶天下事

攻坚计算产业下一站,华为联合18城鲲鹏创新中心聚力打造开发者创享日_开源_马红伟_InfoQ精选文章