全球化竞争日益激烈的今天,大国都已把科技作为战略博弈的核心。在这样的宏观态势下,核心技术和产品的国产替代迫在眉睫。

以数据中心为例,X86的江湖地位已大不如从前,ARM服务器的崛起正在撬动英特尔一统天下的格局。

去年,华为就推出了首款基于ARM架构的服务器芯片鲲鹏920,强势闯入服务器市场。经过一年多的沉淀,国产化的步伐在鲲鹏这个后浪的推动下,满地开花。

曾琼,是中软国际的系统工程师,也是第一批投入到鲲鹏适配调优浪潮中的专业技术人才。经过60多个鲲鹏迁移项目的洗礼,他总结了一些鲲鹏适配移植的经验,让后来者少走点弯路,少踩点坑。

投入到鲲鹏移植,推动技术国产化

作为一个接触Linux差不多10年的IT老人,曾琼做过5年的嵌入式Linux系统开发,5年的操作系统运维,长年苦于交叉编译的繁琐:在当前编译平台下,编译出来的程序能运行在体系结构不同的另一种目标平台上,但编译平台本身却不能运行该程序。

对此,曾琼分析了4个原因:

1、即使目标平台资源很充足,可以本地编译,但是第一个在目标平台上运行的本地编译器总需要通过交叉编译获得;

2、目标平台的运行速度往往比主机慢得多,许多专用的嵌入式硬件被设计为低成本和低功耗,没有太高的性能;

3、整个编译过程是非常消耗资源的,嵌入式系统往往没有足够的内存或磁盘空间;

4、交叉编译使我们不需要花时间将各种支持包移植到目标板上。

总结下来就是场景、算力和生态的问题。

这个情况一直在持续,直到鲲鹏的出现,改变了整个使用格局。

当时曾琼在西安做EulerOS的系统运维,回想初次接触国产操作系统,他形容自己是满心的期待和感慨。

“那时EulerOS还没有被扶正,我因为工作原因,18年开始接触鲲鹏,记得第一次直接在鲲鹏架构上编译出AArch64软件包的那种舒爽,真实且感慨。后来随着不断的整合编译,越来越多的开源包被整合到EulerOS。作为一个尝鲜人,真实体验到EulerOS运行在鲲鹏上的感觉。”

后来曾琼所在的公司成立了负责鲲鹏迁移工作的专家团队,从早期的鲲鹏适配、行业方案验证、数据迁移到性能测试、调优,一路走来,曾琼和团队在鲲鹏上积累了一套端到端交付的能力。

图: 2019年在陕西鲲鹏训练营上分享鲲鹏移植适配经验

图:2019年获得公司鲲鹏移植金牌团队

从8小时缩短到1.5小时,高效完成鲲鹏迁移的秘诀

这一年时间里,曾琼参与了60多个鲲鹏迁移项目,涉及航运额20多个。

他总结,“在整个项目交付过程中,除了对鲲鹏架构的差异适配,各个开源组件与自研代码的适配外,还要掌握IaaS\PaaS\SaaS各层级的技术。而且得理解华为云的各个云服务,才能高效快速的帮助客户设计合理的上云规划,高性价比、高效的解决客户的痛点,加快客户的业务改造。”

基于一年的鲲鹏迁移经验,曾琼将迁移项目分为三大类:大数据类,数据库类,容器类。

以大数据为例,这部分客户主要的问题在于平台的适配。

很多用到大数据的客户都是采用CDH进行管理,然而CDH不支持鲲鹏且是闭源的,因此要推荐客户首选华为云的MRS服务。同时曾琼和团队也在第一时间适配了Ambari大数据管理平台,为客户提供最小改造,完善行业场景的适配。

如果遇到平台在拉起过程中出现适配不到位的情况,曾琼表示需要尽可能使用华为的迁移工具提前进行扫描,找出并整改所有架构不适配的部分,确保一次迁移成功。

另外,当客户需要业务改造时,曾琼推荐最多的方案是大数据的算存分离。

“OBS服务的物美价廉让人爱不释手,它提供了与大数据存储组件无感知接口的方式,业务代码不用做任何改动,安全高效地完成业务能力提升,我们团队内部当前的资料和产品也都开始放到了OBS上。”

图:数据库存算分离方案

图:大数据问题定位思维导图

对于数据库类的客户,华为云鲲鹏云的RDS与DRS基本是数据库资源申请与数据迁移的首选。曾琼表示,“DRS服务简洁的设计让很多只会开发的兄弟们也过了一把迁移专家的瘾,轻松搞定数据迁移。”

比如有个制造类的企业,想要从SQL Server迁移到MySQL,曾琼原本的调研规划需要割接8个小时的数据,最终采用RDS服务仅花了1.5个小时就完成所有的迁移。然后再使用校验功能,快速识别数据库数据表差异,做了轻微改动便完成了业务上线。

另外,对于国产数据库的迁移,前期调研与方案设计也非常重要。曾琼附上了他们总结的数据库选型导图与数据库信息调研表。

图:数据库的选型方案

数据库信息收集调研表

 

调研类型

调研项

 

硬件信息

CPU型号

 

服务器配置(CPU:内存)

 

存储类型

 

网络带宽

 

数据库

待迁移用户/Schema个数

 

TOP5表数据量

 
 
 
 
 

数据库字符集

 

开发接口

 

时区

 

最大连接数

 

峰值TPS/QPS

 

运行模式

 

是否使用数据库高级特性

 
 
 
 
 
 

容灾备份

全量备份时间周期

 

增量备份周期

 

应用系统

开发语言

 

框架

 

如何走上性能调优之路?

在鲲鹏移植过程中,最关键的是做好业务切换,即在不改动代码的情况下,完成性能调优。

性能调优分为系统调优(CPU、内存、IO、网络)和应用调优(配置、代码、编译、环境)。

要想做好调优,既要了解鲲鹏多核优势,也要从计算、存储中找到网络的问题,因为“一切呈现都是计算,瓶颈多在资源。”

基于60多个鲲鹏迁移项目经验,曾琼总结了他的鲲鹏性能调优之路。

首先是基础知识的掌握和能力的提高:

1、鸟哥的书,马哥的培训视频,快速切入对Linux的基本掌握与入门;
2、Linux内核设计与实现;
3、韦东山的嵌入式视频,从软件层面切入到底层,以及系统启动,驱动编写,内核原理实战;
4、《性能之巅》,了解基本常见的性能定位讨论与方法;
5、系统编程,网络编程;
6、掌握寄存器架构、汇编、内嵌汇编、C、Python、Java至少三种以上;
7,掌握虚拟化KVM、QEMU、OpenStack;
8、掌握Docker,K8S等虚拟化技术,掌握各类云服务,不限于华为云;
9、掌握大数据开发、数据库开发、高性能运算、云原生、AI、异构计算等技能;
10、从物理层、虚拟化、容器化,从SaaS、PaaS、IaaS,从应用、接口、库、平台、系统调用、内核、驱动、硬件到总线和CPU;掌握自上至下的业务与系统架构,纵深理解业务与系统,从计算(CPU)、存储(内存,磁盘)、网络和硬件加速等四方面全面整合上面的技能;

11、了解鲲鹏与X86的差异,多核,硬件加速模式,SSE与NENO区别等.

其次,具备以下能力,方能更好的做好性能调优:

1、基本技能之熟悉软件架构(业务架构);
2、在调优过程中要对代码熟悉(代码架构);
3、对系统进行测试验证 (测试设计);
4、掌握整个服务器的软硬件的基本配置:网络,内存,磁盘(系统架构)。

工具和方向之外,还要具备对内核、CPU、调度、驱动、内存、中断,各个子系统以及代码能力的软实力。

总的来看,既要用好工具,结合自身经验做好提问,精准找到问题根因,快速闭合;也要善于利用网络资源,打开思路,查询开源bug,多做总结整理。

图:Linux性能调优工具全景

最后

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

曾琼强调,基础组件的完善对鲲鹏的适配起到了非常大的进步。而且昇腾、OpenEuler与OpenGauss给行业注入了新的活力与动能,势必将进一步加快鲲鹏生态的完善。

“作为鲲鹏领域的先行者,希望个人能够紧跟鲲鹏社区节奏,不断提升自己在适配与迁移领域的技术,在性能调优和国产化改造方面突破自己,提供行业领先的鲲鹏移植服务,为国产化改造贡献一份力量 。”

鲲鹏迁移第一批吃螃蟹的人,践行技术国际化相关推荐

  1. 第一批吃螃蟹的人:浙大全日制英文MBA复试经验分享

          去年浙大全日制MBA项目第一年开始招收全英文,我作为第一批尝试全英文MBA的考生,几经波折总算顺利上岸,听说今年已经没有中文全日制了,把自己去年复试的经验梳理出来,供今年的学弟学妹们参考. ...

  2. 【做第一批吃螃蟹的人】试用 React 18 !

    React 团队最近发布了 React 18 的 alpha 版本.这个版本主要是增强 React 应用程序的 并发渲染 能力,你可以在 React 18 中尝试体验以下几个新特性: 新的 React ...

  3. 快手团购小程序红利来了,想做第一个吃螃蟹的人赶快来

    今天告诉大家可以第一个吃螃蟹的机会.抖音团购相信大家都知道,但是快手也要出团购了,大家知道吗?快手团购将在2022年开始进军到本地生活领域,从开始的美团团购到现在的抖音团购,一直都是近两年比较火爆的项 ...

  4. 苹果要做第一个吃螃蟹的人!将率先尝试台积电5nm工艺

    [TechWeb]据外媒报道,台积电首席财务官(CFO)何丽梅称,受5G智能手机需求的推动,台积电5纳米制造工艺预计于2020年上半年实现量产,这意味着苹果公司的下一代A系列处理器将率先采用5纳米制造 ...

  5. 车载VPA形象发展史:谁是第一个吃螃蟹的人?

    今天我们来聊一聊汽车上的虚拟个人助理 它有个洋气的英文名VPA 话说汽车VPA发展到现在 大致可以分为三种类型  嵌入式VPA . 第三方VPA 和  OEM VPA  嵌入式VPA可以直接集成到车辆 ...

  6. 台积电5nm来了!谁会是第一个吃螃蟹的人

    在今年的科技圈新品之中苹果A13芯片无疑是一个焦点,A13相比上一代保持了20%的性能增长,以及40%左右的功耗降低,而此前被寄予厚望的麒麟990虽然使用了最新的7纳米EUV工艺,但是在集成5G的影响 ...

  7. 保险集团CMAF想成为法国量子优势“第一个吃螃蟹的人”

    ​ (图片来源:网络) 11月8日,法国CMAF保险金融集团(Crédit Mutuel Alliance Fédérale)和IBM在巴黎宣布启动转向量子计算的准备工作,包括探索量子计算在银行和保险 ...

  8. 云计算企业密集上市 金山云赴美“第一个吃螃蟹”

    2020年上半年,中国云计算企业迎来了一波密集的筹备上市潮.继4月初QingCloud青云递交了科创板上市的招股说明书之后,5月8日晚,金山云也正式在美国纳斯达克挂牌交易,成为当前美股中唯一的中国纯云 ...

  9. 第一批富起来的人,正在悄悄变“穷”

    上周在成都,一个开火锅连锁的老板对我说,他的开发理念来自于,他原来的川菜馆的员工收入不高,每次吃火锅好几百元的消费还是比较拮据,每次都要找他让开火锅店的朋友打折.所以他自己做了一个员工都吃得起的火锅. ...

最新文章

  1. 创建ssh 服务的镜像
  2. 第十三周学习进度情况
  3. 二叉树查找python_二叉搜索树的python实现
  4. java 注解生成实例_Java 8 开发的 Mybatis 注解代码生成工具
  5. Code片段 : .properties属性文件操作工具类 JSON工具类
  6. (c语言)和与积的运算第二篇
  7. StatusBar style的那点事
  8. aftool刷工具提示15天_【15天】【指数600+】关键词百度首页【实战分析】【面授学员】...
  9. preg使用。还是一样,只是个人记录,不放博客园首页
  10. docker部署在linux怎么代理,如何在linux 上部署docker
  11. 计算机对比度亮度调整,显示器亮度对比度调多少眼睛舒服_亮度和对比度正确调整方法...
  12. SaltStack源码分析之Redis Returner
  13. SEO基础知识简介(一)
  14. 波士顿大学计算机科学与技术专业,波士顿大学计算机科学专业.pdf
  15. Jquery 禁止键盘Backspace键
  16. Echarts柱状图,实现不同系列,柱体之间的部分重叠效果
  17. python中如何把xlsx、xls文件转换为txt文件?安排
  18. Dynamic Head: Unifying Object Detection Heads with Attentions 阅读
  19. 校园建设的一个实例:校园网规划与设计
  20. Java集合的接口和类层次结构图以及代码示例

热门文章

  1. Bootstrap 弹出提示插件Popover 的方法
  2. Bootstrap 标签导航的布局
  3. 常熟理工C语言试卷带答案,常熟理工学院 C语言 考试样卷.doc
  4. java中的holder类_java – HashMap中Holder类的用途是什么?
  5. 有了代码怎么用python爬虫_python实现简单爬虫功能
  6. manacher(马拉车)算法详解
  7. html头部中各式各样的meta
  8. 6.042 Mathematics for Computer Science
  9. Ubuntu14.04 + KinectV2驱动安装 以及 Ros接口(基于网上方法试错 改进版)
  10. 前端学习之路之CSS (一)