一 devkit
1 业务:不同环境下的开始、测试、部署、迁移、监控项目
2 需求:x86服务器、x86处理器、复杂指令集迁移到鲲鹏服务器、鲲鹏处理器、简洁指令集。调试调优。
3 解决方案:
(1)功能“集”:
- 开发
- 代码迁移工具
- 鲲鹏开发框架
- 高效迁移,极简开发
-
编译调试
-
编译调试插件
-
鲲鹏亲和性能更高
-
编译调试
-
编译调试插件
-
鲲鹏亲和性能更高
-
调优&诊断
-
性能分析工具
-
全面分析,精准诊断
(2)“神”冰箱:鲲鹏一站式全流程开发套件devkit
4 完成学习
(1)思想、思路、体系组织,原理,流程:一站式开发套件
(2)重:迁移:扫描快、检出全、指导精、构建易
- 分析扫描
- 知道迁移工作的工作量(时间)
- 多少文件需要修改
- 需要哪些依赖库
- 源代码迁移
- 可以对常用的语言进行快速扫描
- 针对某一语言,在两个不同的指令集架构上的差异点给扫描出来
- 对比:
- devkit:提供修改和优化建议,甚至一键替换
- 从工:差异找不全,找出来 也不知道怎么改
- 剩下的就是把代码进行编译,就可以把项目变成适配鲲鹏服务器的软件了。
- 软件包重构:针对于软件包模式的
- 扫描x86下的依赖包(如rpm包、jar包)
- 点击一键重构,可以把x86下的包,修改成适配鲲鹏的包
- 拿到修改后的包,就可以拿到鲲鹏服务器上安装并把项目跑来了呀。
- 专项软件迁移:针对一些专项项目(大数据、web、跨性能计算软件等类型项目)
- 社区下载包
- 基于鲲鹏模式进行一键盘编译、迁移,得到一个适配鲲鹏服务器的包
(3)重:加速库:"零"开发、高性能,平均提供10%+
- 切换到鲲鹏服务器(ARM、简单指令集)后,有一引起手段可以立即快速提高软件的性能。
- 鲲鹏加速库,针对了一些常用的包、库、软件进行无偿加速。
- 使用方法:使用鲲鹏加速库等以后,可以立即快速提高软件的性能。
(4)重:编译:在鲲鹏平台上翻译出性能更佳的机器指令
- 3种编译器,确保在鲲鹏上有很好的性能效果
- 毕生编译器:LLVM
- 毕异JDK:基于open jdk
- 鲲鹏GCC:GCC开发
(5)重:调优(性能分析):精准分析、全面调优,软硬件融合释放最佳性能
- 像上面的“加速库、编译器”,就是加入相应的工具(库)就马上有效果了。
- 而“调优”则是动态来分析和提升软硬件性能的工具。
- 系统性能优化:收集处理器、硬件的性能指标。图形化。优化建议。3大模块8个功能。
- JAVA性能优化:java虚拟机调优(GC、堆、线程锁)。
(6)纲:ExaGear:低成本完成x86无源码应用的快速迁移。
- 无源码
- 老版本的软件,找不到源码。
5 Devkit亮点:助力开发者高效完成应用迁移与调优
(1)入门简单:不改变开发者习惯,快速上手。两种模式。
- 两种模式:
- IDE模式。装插件即可使用所有功能。
- web浏览器模式。套件部署在自己服务端,用户可以通过浏览器来访问服务器地址。通过界面操作,使用所有功能。
(2)自动化:迁移内容自动识别,汇编代码自动翻译
(3)高效:代码修改建议自动生成,开发效率倍增
(4)便捷:(IDE)远程调测,提供更便捷的调测能力
- IDE+插件使用所有功能、完成所有工作
- 编码、上传、编译、调测
(5)可视:全场景性能分析可视,性能瓶颈一目了然、调优尽在掌握
6 DevKit案例
(1)基于DevKit打造性能最优的MSP平台
(2)基于鲲鹏DevKit提升气象预测性能150%
7 Devkit使用手册
(1)获取鲲鹏Devkit开发套件、帮助资料获取方式
- 社区:https://www.hikunpeng.com/developer/devkit
- 论坛:https://bbs.huaweicloud.com/forum/forum-928-1.html
- 自由发贴
- 提问,会有华为开发人员跟踪,并保证在两小时内有回复
- 以前人,经验总结、优秀事件
- 步骤
- 鲲鹏社区-官网丨凝心聚力 共创行业新价值
- 开发者
- 第1步:鲲鹏开发套件DevKit
- 每个工具都有下载链接
- 每个工具都有详细的安装教程
- 最佳实践,可用来学习
- 学习
- 在线课程,快速学习如何使用
- 文档
- 各个工具的文档都有,能够提供更详细的工具使用说明
- 鲲鹏DevKit_鲲鹏_开发者论坛-华为云论坛
- 上面已经发布有上千个贴子了
- 有很多优化的案例、实践
- 提问。会快速回复解答。
(2)迁移工具:VS Code版本
0、第零步:有Demo代码
1、第一步: 扫描。右击(code菜单)对代码进行代码扫描,看看代码有没有问题。如果有问题,根据建议把代码修改好,然后经过编译、调试就可以放到鲲鹏服务器上跑起来了。
(1)点击“新建源码分析任务”:
(2)登录代码迁移工具 :
(3)点击“开始分析” :
(4)扫描结果展示(如下,代码有一些问题,修改过后才能在鲲鹏上跑起来)
- “与架构相关的依赖文件”:
- x86架构下的依赖库,修改成arm架构下的依赖库。下载链接。下载、安装即可。
- “需要迁移的源码文件”:
- 代码中不适配鲲鹏环境的一些代码语句(点)
- 点击那些“点”,跳到具体的代码行
- 根据建议进行修改,如依赖华为自己的高性能库(GitHub - kunpengcompute/AvxToNeon: Encapsulate the frequently used AVX instructions as independent modules to reduce repeated development workload.)
- Quick fix:快速修复
- 替换成建议代码
- 在本文件中应用该类修改
(3)加速工具:VS Code版本
- 推荐加速库
- 函数名:可以使用鲲鹏加速库中的函数进行代替
- 鲲鹏加速库。下载链接。下载。
(3)性能工具:VS code模式
(4)性能工具:web模式
- 把性能工具安装在鲲鹏服务器端
- ip port登录
- 点击“系统性能分析”
- 有案例参考链接
- 指导文档链接
- 向专家求助
- 步骤:
- 创建一个工程
- 对工程创建一系列的任务
- 点击“java性能分析”
- cpu
- GC
- 锁
- 进程
- 线程
- 内存
8 经分二期案例
(1)第一步:环境部署
Mysql : | root / MY_sql#567.890 |
Redis: | Re_Dis#567.890 |
Minio: | jfadmin / Jf_Admin#567.890 |
nginx: | /usr/local/nginx/ |
openJdk/jdk8 | jdk8 |
(2)(不)第二步:idea + 鲲鹏插件
idea怎么安装插件
安装idea插件:
- 安装web模式下的kunpeng devkit迁移工具:安装-安装鲲鹏代码迁移工具-用户指南-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
- 扒下23服务器上经分二期的jar包:bas-admin.jar
- 本地PC访问web模式下的kunpeng devkit迁移工具
- 软件迁移评估。点击“开始分析”。生成报告。对JAR包做扫描分析-扫描分析jansi-native-1.0版本JAR包-实践1:扫描分析jansi-native-1.0-最佳实践-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
- 源码迁移。
(4)第四步:性能分析
- 安装web模式下的kunpeng devkit性能分析工具:简介-介绍-用户指南-鲲鹏性能分析工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
二 boostkit
三 其它
- 获取linux操作系统详细信息:
-
cat /etc/os-release
-
cat /etc/redhat-release
-
查看CPU架构:arch
-
项目经理
-
看视频教学,快速看一遍
-
下工具
-
对照文档操作
-
自己项目的代码 或 官网提供的demo代码,进行操作
-
有问题,在论坛发贴,必定快速响应
-
华为云账号:p18878791425 123456@a
-
web模式迁移工具:https://173.28.11.4:8085/porting/#/homeNew/home portadmin 123456@a
-
web模式性能分析工具:https://173.28.11.4:8086/user-management/#/login tunadmin 123456@a
集群与架构:(1)逻辑 (2)物理(3)11
自己理解:
关:【关联、对比】
疑:【疑问,如预习、工作疑问】
重:【实现技术,工具】
难:【感想、体会、领悟】 【总结、归纳、规律】
大道至简:提纲(系统化、宽度、至少是视频标题)图表短