软件迁移=重复造轮子?不重写代码如何完成迁移

2020 年 7 月 08 日

软件迁移=重复造轮子?不重写代码如何完成迁移

生存和发展,是 2020 年互联网企业绕不开的两个主题。


这半年里,太多传统服务型产业受到冲击,其中部分甚至走到了不变则亡的十字路口。但放眼来看,企业线上办公业务需求增长强劲,基于云计算、机器学习等前沿技术而打造的线上业务平台又成为新的支撑点。


善于拥抱变化的企业,总能够找到更多生存的要素。但大多企业并非不想求变,而是实在难以改变。纠其原因不外乎以下三点:


  • 业务限制:传统业务改革必然需要从组织架构到业务架构进行全面的调整,甚至以往所搭建的业务架构乃至于平台都需要变迁,这种变革让很多企业望而生畏。

  • 算力限制:业务变化必然面临算力需求的变化,从当前的平台迁移到其他平台时必然需要大动干戈,这其中不仅仅面临成本的变化,还可能需要对代码进行重构。

  • 迁移限制:由于IT系统硬件底层是由物理材料、晶体管等组成的CPU微架构,中间是CPU指令集,上层是由各种语言开发的程序,当算力平台迁移时,软件程序的迁移编译等工作都要重新执行,再造轮子的难题几乎必不可免。


十字路口没有英雄,有的只是一个个不断耕耘的码农。


在不同平台中,代码差异巨大,这让开发者的工作量骤然提升,而且其中绝大多数都属于高强度低价值的编程工作。举例一个简单的例子来看,在 x86 处理器和华为鲲鹏处理器上编译同样一行简单的 C/C++代码 c=a+b 时,将会出现截然不同的两种结果。x86 芯片上使用的汇编指令是三条 mov 指令和一条 add 指令;而基于 ARM 架构打造的鲲鹏处理器则使用的是两条 ldr 指令将数据加载到寄存器,一条 add 指令完成加法运算,最后再使用 str 指令将结果存储到内存中。


由此不难看出,不同的 CPU 处理器所使用的指令集全然不同, x86 上编译的程序自然也无法直接在鲲鹏处理器上运行,那么这是否就意味着开发者需要重新造一遍轮子呢?


答案并非如此。针对算力升级过程,每个公司都有各自不同的办法来帮助开发者减负。鲲鹏开发套件便是辅助开发者进行软件迁移和调优的工具之一,通过对迁移过程中的痛点解析,华为提供了分析扫描工具、代码迁移工具及性能优化工具等诸多针对性的开发工具,降低开发难度。那么这些开发套件是如何发挥其功效的呢?


7 月 11 日, 18 城鲲鹏创新中心开发者创享日·上海鲲鹏+昇腾生态创新中心专场即将正式与大家见面,揭开应用代码迁移的迷局。在本次课程中,开发者可以通过了解相关技术原理、实践经验和对应方法论,提升开发效率,实现在 ARM 架构鲲鹏处理器的基础上打造更出具优势的商业化价值解决方案。


参会收益


  • 了解上海信息技术创新产业的发展前景与规划;

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

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

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

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



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


点击此链接即可直达本节课堂


2020 年 7 月 08 日 09:50396

评论

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

2020年10月公有云性能评测:盛大云-华东蝉联冠军,腾讯云-北京无缘前三

BonreeAPM

云计算 腾讯云 ucloud 公有云 评测

第11代酷睿处理器出色体验的奥秘原来是这个!

intel001

SpringCloud Alibaba微服务实战一基础环境准备

AI乔治

Java 架构 微服务 Spring Cloud

利用区块链数字化人民币,中国有望从追随者变为新秩序的领导者

CECBC区块链专委会

区块链 数字人民币

一文带你读懂!华为云在ACMUG技术沙龙上都透露了些啥?

华为云开发者社区

数据库 大数据 数据

探秘RocketMQ源码【1】——Producer视角看事务消息

阿里云金融线TAM SRE专家服务团队

开源 RocketMQ 中间件 开源代码 消息中间件

重点人员管控系统开发,情报研判系统搭建

t13823115967

重点人员管控系统开发 情报研判系统搭建

今年最火的 Golang 云原生开源项目,可能就是它了!

阿里巴巴云原生

go 开源 Kubernetes 云原生

面试官都爱问的ThreadLocal

花火

ThreadLocal 哈希表 弱引用

阿里P8熬夜完成这两份800页Java面试核心知识原理+框架

马士兵老师

Java 程序员 面试 编程语言 架构师

数据库:我没有带闪,不讲武德

比伯

Java 编程 程序员 面试 计算机

SpringCloud Alibaba微服务实战二 - 服务注册

AI乔治

Java 架构 微服务 Spring Cloud

年轻人你不讲武德,自己偷着学习!spring Security五套「源码级」笔记哪里来的?我也要!

Java架构追梦

Java 源码 架构 面试 spring security

anyRTC uni-app 跨平台SDK 发布!总有一款适合你!

anyRTC开发者

uni-app 音视频 WebRTC RTC

OpenKruise:阿里巴巴 双11 全链路应用的云原生部署基座

阿里巴巴云原生

Kubernetes 运维 云原生 中间件 存储

从资源管理角度认识K8S

LorraineLiu

Kubernetes 云原生 k8s k8s入门

想了解物联网应用的自动部署,看这篇就够了

华为云开发者社区

服务器 华为云 部署

区块链的常识之,什么是区块链股份授权证明机制DPoS?

CECBC区块链专委会

区块链 共识机制

很认真的谈一谈程序员的自我修养

linux亦有归途

程序员自我修养

字节跳动的这份《算法中文手册》火了,完整版PDF开放下载!不少小伙伴靠这份指南成功掌握了算法的核心技能,成功拿到了 BATJ等大厂offer。

Java架构之路

Java 程序员 架构 面试 编程语言

大整数算法

落曦

聊聊在国企当程序员的这三年,这样的生活真的是你想要的吗?

Java架构师迁哥

软件测试流程

测试人生路

软件测试

对于CRM之于现代化企业的影响以及作用的分析

Learun

敏捷开发 CRM 客户关系管理

区块链商品溯源系统开发,数据上链应用落地方案

WX13823153201

新思科技:ISO/SAE 21434标准即将发布 你准备好了吗?

InfoQ_434670063458

新思科技 汽车软件安全

区块链能修复企业云计算吗?

CECBC区块链专委会

区块链 云计算

架构师训练营第 1 期 -week9

习习

区块链司法可信存证,版权维护应用落地

t13823115967

区块链司法可信存证 版权维护应用落地

linux开发各种I/O操作简析,以及select、poll、epoll机制的对比

良知犹存

linux开发

基于ELK的日志平台介绍

Rayzh

ELK 日志系统

软件迁移=重复造轮子?不重写代码如何完成迁移-InfoQ