AICon 深圳站聚焦 Agent 技术、应用与生态,大咖分享实战干货 了解详情
写点什么

软件向 ARM 迁移:给代码来一次清扫优化

  • 2020-07-08
  • 本文字数:1739 字

    阅读完需:约 6 分钟

软件向ARM迁移:给代码来一次清扫优化

今天,IT 产业又一次走到了底层平台发展的十字路口:在云端服务器领域,称霸多年的 x86 指令集遇到了 ARM 这一强大对手。2020 年,不仅亚马逊和华为等厂商开始推出基于 ARM 架构的服务器芯片,众多云服务提供商和用户也开始重视 ARM 平台下的低能耗、低成本以及与主要用户群体设备架构统一等优势,越来越多的用户开始逐渐将旗下产品服务迁移至新的 ARM 平台上。随着 5G 和物联网等新兴产业的发展,可以预期 ARM 在云端服务器市场上的地位将不断上升。


在硬件领域这一新潮流推动下,软件开发产业也要同步行动,做好 x86->ARM 的软件迁移和优化工作。然而,很多程序员对于跨架构软件迁移的任务抱有抵触情绪,认为这类迁移工作耗时耗力,目标平台的知识、生态又不如源平台成熟……开发人员"谈迁移色变",无形中为跨架构转型平添了一道障碍。

平台转换的正面效应

清理技术债

其实,跨架构平台转换的一大好处经常会被开发人员忽视:这就是平台转换过程中对原有软件技术债的清理效应。


众所周知,软件开发过程中积累的历史技术债是程序员最头疼的问题之一。现代开发产业流行的快速迭代模式,行业间人员流动频繁,再加上业务发展所带来的软件规模扩张,都会让技术债问题愈演愈烈。旧代码看不懂改不掉,又难下决心对代码库做彻底清理优化,久而久之,软件项目大半成了"黑箱",改善开发效率与用户体验更是无从谈起。


而跨平台软件迁移正是对软件中积累沉疴的一次绝佳的打扫机会。以 x86 到华为鲲鹏 ARM 平台的软件迁移为例,鲲鹏平台有几项优势对代码库的清理优化意义重大:


1.基于本世纪 10 年代新开发的 ARMv8 指令集,架构包袱远少于 x86;


2.鲲鹏生态中,从操作系统到各类开源库、包均基于现代化软件标准和理念打造,更符合当下开发人员的习惯和需求;


3.鲲鹏平台的硬件与操作系统环境比较简单,开发人员无需操心过多的兼容性问题,可以集中精力应用最佳实践优化软件性能;


4.华为公司为鲲鹏生态的建设投入大量资源,帮助开发人员快速学习和适应新环境,做好软件迁移与性能调优工作;


运行在传统 x86 平台上的软件向鲲鹏平台迁移的过程中,开发人员一方面要审视软件源码,找出影响编译转换的部分做改动更新,另一方面可以借此机会处理软件中遗留的历史问题。针对老旧系统的兼容代码、陈年不用的依赖项、过时的编程范式和代码写法……都可以在迁移过程中一并清理和重构。

性能优化

在 x86 平台上,很多软件出于兼容性的考虑难以应用较新的优化技术,或者由于老旧代码复杂难改,性能优化也无从下手。但在软件迁移到鲲鹏平台并扫清积累的技术债后,性能调优工作也就很容易开展了。多线程优化、缓存优化、simd 优化……优化措施多管齐下,软件运行效率自然能得到显著提升。


此外,开发人员在性能调优时需要考虑的软硬件环境非常简单,华为又提供了较为完善的工具链和教程资源,帮助程序员快速熟悉鲲鹏平台的硬件特性,针对性采取优化措施。与 x86 平台相比,性能优化工作的复杂性显著降低,效益成本比更上一层台阶。


为了帮助开发人员更快熟悉鲲鹏平台,做好从 x86 到 ARM 的软件迁移与优化工作,华为凭借自身雄厚的技术实力与鲲鹏平台生态建设中积累的实践成果,为国内开发者送上了针对性的高水平专业课程,满足开发人员的迫切需求。

活动推荐

2020 年 7 月 11 日,「18 城鲲鹏创新中心开发者创享日·长江鲲鹏生态创新中心专场」将以线上直播形式举办。届时,华为鲲鹏技术专家将多角度全方位深入讲解鲲鹏软件迁移和性能调优技术,带领开发者全面了解软件迁移和性能调优工程的流程、技术要点与难点、注意事项和项目管理优化等内容,助力技术当场转化为技能。

参会收益

  1. 深度了解长江鲲鹏生态创新中心的职责与理念;

  2. 通过了解应用代码迁移相关技术原理、实践经验和对应方法论,能够快速实现业务迁移;

  3. 丰富的案例讲解和落地经验分享,能够帮助开发者在 ARM 架构鲲鹏处理器的基础上,打造更具优势的商业化解决方案;

  4. 熟悉鲲鹏软件迁移和调优工具套件的使用,能够先人一步快速发挥出鲲鹏先进算力的真正力量;

  5. 奖金丰厚,机会超多的华为鲲鹏开发者大赛即将开启,参与者将提前了解大赛详情。



每一次架构的变迁都是企业的生死战,但我们能看到的是,凡是敢于变化,敢于迁移的企业,往往都能取得非凡的成果。通过这场线上沙龙,一同开启变革之旅吧!


点击此链接直达本节课堂


2020-07-08 11:072901

评论

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

在线文本转二进制工具

入门小站

工具

10天用Flutter撸了个高仿携程App(附小技巧积累总结),小红书安卓面试题目

android 程序员 移动开发

130-余个相见恨晚的超实用网站(建议收藏),2021年是做Android开发人员的绝佳时机

android 程序员 移动开发

2019-Android-高级面试题总结-从java语言到AIDL使用与原理

android 程序员 移动开发

2019-阿里、头条、腾讯,小白以及计算机类学生的福音

android 程序员 移动开发

Java 主函数 main 中的关键字 static

HoneyMoose

模块七作业

potti

10道阿里Android岗必问题摆这儿了,你爱刷不刷!,透彻解析

android 程序员 移动开发

15个经典面试问题及回答思路,很多人死在了最后一个问题上

android 程序员 移动开发

2018年6月份Android上海找工作经历(1),android蓝牙开发rom

android 程序员 移动开发

2018年6月份Android上海找工作经历(2),面试安卓开发十大问题

android 程序员 移动开发

解决报错:Couldn't create temporary file /tmp/apt.conf.IRqbCz

liuzhen007

11月日更

2019(1),揭秘ARouter路由机制

android 程序员 移动开发

2019Android-网络编程总结篇,你想要的三次握手和四次握手

android 程序员 移动开发

tar 备份linux系统

入门小站

Linux

JavaScript基础篇运算符与表达式

你好bk

JavaScript html 大前端 html/css

王者荣耀商城异地多活架构

白开水又一杯

#架构实战营

12年高级工程师的“飞升之路”,腾讯大牛教你自己写Android第三方库

android 程序员 移动开发

2019初中级Android开发社招面试解答之性能优化(1),被面试官问的Android问题难倒了

android 程序员 移动开发

2018年6月份Android上海找工作经历,2021华为Android面试真题解

android 程序员 移动开发

2019-年赚钱最多的-13-个技术岗位,移动开发框架对比

android 程序员 移动开发

2019AndroidBATJ面试题设计模式&算法专题总结,真牛

android 程序员 移动开发

Android编译器及编译工具之编译器

轻口味

android 编译器 11月日更

2019年Android-非科班硕士的阿里&腾讯&字节&爱奇艺&网易&华为实习面试大汇总分享

android 程序员 移动开发

王者荣耀商城异地多活架构设计

Geek_db27b5

架构实战营 - 模块七作业

Alex.Wu

1549页Android最新面试题含答案,成功入职腾讯

android 程序员 移动开发

架构实战营模块七 - 王者荣耀商城异地多活架构设计

Yina🌝很浪🌊

#架构实战营

2019初中级Android开发社招面试解答之性能优化,kotlin转android代码

android 程序员 移动开发

2019年Android-非科班硕士的阿里&腾讯&字节&爱奇艺&网易&华为实习面试大汇总分享(1)

android 程序员 移动开发

[ CloudWeGo 微服务实践 - 05 ] 服务注册(1)

baiyutang

golang 微服务 11月日更

软件向ARM迁移:给代码来一次清扫优化_架构_马红伟_InfoQ精选文章