云社区 博客 博客详情
云社区 博客 博客详情

【鲲鹏展翅】华为云·云享专家刘坤:一次刻苦铭心的鲲鹏软件迁移,让我学会太多

我们都是云专家 发表于 2020-08-29 16:53:51 08-29 16:53
我们都是云专家 发表于 2020-08-29 16:53:51 2020/08/29
0
0

【摘要】 在计算行业,如何提供更强的算力一直是永恒的话题,也是无数科研技术人员努力的方向和目标。刘坤便是这其中的一员,作为鲲鹏计算产品部的研发工程师,他每天的工作内容就是鲲鹏软件的迁移和性能调优,让上层软件业务得以在国产化高性能算力平台上得到最佳运行体验。从小试牛刀遇到一堆技术坑,到推出便捷的迁移开发套件,国产化改造的过程总是充满了未知的艰辛,刘坤形容当时那种徒手、死磕的迁移过程还挺痛苦的,万幸在一次...

在计算行业,如何提供更强的算力一直是永恒的话题,也是无数科研技术人员努力的方向和目标。

刘坤便是这其中的一员,作为鲲鹏计算产品部的研发工程师,他每天的工作内容就是鲲鹏软件的迁移和性能调优,让上层软件业务得以在国产化高性能算力平台上得到最佳运行体验。

从小试牛刀遇到一堆技术坑,到推出便捷的迁移开发套件,国产化改造的过程总是充满了未知的艰辛,刘坤形容当时那种徒手、死磕的迁移过程还挺痛苦的,万幸在一次次的尝试和调优后,他们找到了鲲鹏迁移的康庄大道。

 

 

一次刻苦铭心的鲲鹏软件迁移

去年1月,由华为自主设计完成的鲲鹏920芯片正式发布,作为目前业界较高性能的arm架构处理器,鲲鹏920采用7nm制造工艺,主频为2.6GHz,单芯片可支持32/48/64核,最大支持8通道DDR4,足够提供强劲的内存带宽。

基于华为鲲鹏处理器,适合为大数据、分布式存储、原生应用、高性能计算和数据库等应用高效加速,而且鲲鹏920SPECint Benchmark评分中也有较高的分值水平,以更低功耗为数据中心提供更强性能。

刘坤表示,实操过后更能体会到鲲鹏处理器的妙处。

这一年里,刘坤迁移过很多软件到鲲鹏处理器上,既有C/C++编译型语言软件,也有像JavaPython这种解释型语言软件。

其中,令他印象最深的是涉及大量汇编、编译选项、SSE intrinsic函数的impalakudu组件,这个组件的迁移,牵涉到非常多的重新编译工作。

首先当一个软件从其他架构平台搬迁到鲲鹏处理器,需要对其重新编译。刘坤解释道,“鲲鹏处理器采用的是精简指令集,其汇编指令和其他架构存在差异,指令的不同导致鲲鹏处理器无法识别其他架构的指令,自然需要针对汇编指令进行移植。”

其次,编译器针对不同平台有相应的编译选项进行匹配,指示编译时需要使用该架构特有的属性编译,毫无疑问地也需要对应迁移。

比如SSE intrinsic这类X86下特有的SIMD扩展指令集函数,由于基于X86架构特有向量寄存器支持设计,在鲲鹏处理器下也应该替换成鲲鹏处理器的NEON intrinsic函数。

“当时和同事们鏖战了很久,真的是艰苦奋战,还好最终顺利完成了组件的迁移,并在保证基本功能完善的同时还优化得到较好的性能。”

 

 

投身鲲鹏生态建设,乐在其中

虽然迁移过程中困难重重,但刘坤也是乐在其中。

“一个复杂组件的迁移,让我从软件到硬件层面理解了架构差异带来的变化,也第一次接触到了NEON向量指令、向量寄存器,并对软件的编译、加载、运行过程有了更深刻的认识。”

基于多个鲲鹏迁移项目的经验,刘坤和团队也将技术进行系统化的优化,开发了华为鲲鹏开发套件,这其中包含分析扫描工具(dependency advisor)、代码迁移工具(porting advisor)以及性能优化工具(Tuning Kit)。

举个例子,之后的软件迁移中,只需用代码迁移工具就可以快速的完成以上组件的迁移,让软件迁移变的轻松、快速。

经过一年多的努力,目前获得鲲鹏认证的行业解决方案已达2000多个,包括操作系统(麒麟、普华、统信),数据库(达梦、金仓、高斯),中间件(金蝶、东方通、宝兰德)都已完成了对鲲鹏的适配。

鲲鹏计算产业是一片沃土,未来会有大量的软件、集群、系统等上层应用迁移和运行在鲲鹏处理器上,也会有更多的厂商、ISV合作伙伴、开发者参与到这个大产业中。

最后,刘坤表示自己非常庆幸参与和见证鲲鹏计算产业的崛起和发展,未来也将继续投入这片热潮中,作为一个研发工程师,继续耕耘。


登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您还没有写博客的权限!

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消