飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

软件向 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:072761

评论

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

官宣|焱融科技完成1.2亿元A+轮融资

焱融科技

分布式 存储 焱融科技 企业融资 创业公司

从JNOS商业操作系统,看京东零售商业化之路新探索

京东科技开发者

零售 数字化转型

程序员成长第二篇:如何快速入门

石云升

程序员 28天写作 2月春节不断更

【LeetCode】双指针反转字符串

Albert

算法 LeetCode 2月春节不断更

解读|2020年CNCF云原生调研报告

焱融科技

容器 云原生 存储 cncf

超好用的文件转换神器!拿走不谢~

白色蜗牛

程序员 软件工具 生产工具

火出圈的Clubhouse,究竟有什么奥秘?

拍乐云Pano

flutter RTC 语音聊天室 社交APP出海 clubhouse

怎么和小伙伴语音连麦,你造吗?

anyRTC开发者

ios android WebRTC sdk 语音通话

【经验分享】如何融合CMMI与企业需求,自定义推进数字化转型

嘉为蓝鲸

DevOps 敏捷 持续交付 CMMI 能力成熟度模型

KubeEdge@MEC:Kubernetes容器生态与5G的结合

华为云开发者联盟

5G 边缘计算 网络 kubeedge 5G MEC

webpack | 进阶用法4:如何进行构建速度和体积分析

梁龙先森

大前端 webpack 28天写作 2月春节不断更

DCache 分布式存储系统|Key-Value 缓存模块的创建与使用

TARS基金会

nosql 微服务 MySQL 高可用 分布式数据储存 TARS

GitHub 标星 167k!你要的优质书籍这都有,还开源!

沉默王二

GitHub 开源 电子书

区块链矿机挖矿游戏开发,区块链矿机游戏开发

v16629866266

数据中心网络技术新贵:VXLAN与园区网络虚拟化

华为云开发者联盟

网络 数据中心 虚拟化 VXLAN 二层网络

智汇华云 | ArSDN之多集群简介

华云数据

华云数据

2天完成17TB数据量迁移,华为云数据库是如何做的?

华为云开发者联盟

数据库 mongodb 大数据 智慧地图 地理信息服务

盘点软件开发中那些有趣的边际效应

架构精进之路

认知提升 七日更 28天写作 2月春节不断更

你需要的Docker知识点都在这里了。

后台技术汇

28天写作 2月春节不断更

资本市场发展趋势学习笔记

JiangX

28天写作

深入理解 ProtoBuf 原理与工程实践(概述)

vivo互联网技术

数据结构 序列化 protobuf

工业互联网的“第一高地”,在哪?

工业互联网

android开发实战!面试的时候突然遇到答不上的问题怎么办?Android校招面试指南

欢喜学安卓

android 程序员 面试 移动开发

最最新版钱包tok量化区块链挖矿系统源码

luluhulian

深入理解JVM中的类加载机制

Simon郎

JVM

并发队列:ArrayBlockingQueue实际运用场景和原理

叫练

阻塞队列 LinkedBlockingQueue 并发队列 阻塞List ArrayBlockingQueue

腾讯基于 Flink SQL 的功能扩展与深度优化实践

Apache Flink

flink

京东扫描平台EOS—JS扫描落地与实践

京东科技开发者

大前端

混合云的五个优势

混合云

浏览器同源策略,听说过么?

华为云开发者联盟

浏览器 jsonp CORS 同源策略 跨域

Elasticsearch Document 查询内部原理

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试 2月春节不断更

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