• 鲲鹏devkit & boostkit


    一 devkit

    1 业务:不同环境下的开始、测试、部署、迁移、监控项目

    2 需求:x86服务器、x86处理器、复杂指令集迁移到鲲鹏服务器、鲲鹏处理器、简洁指令集。调试调优。

    3 解决方案:

    (1)功能“集”:

    1. 开发
      1. 代码迁移工具
      2. 鲲鹏开发框架
      3. 高效迁移,极简开发
    2. 编译调试

      1. 编译调试插件

      2. 鲲鹏亲和性能更高

    3. 编译调试

      1. 编译调试插件

      2. 鲲鹏亲和性能更高

    4. 调优&诊断

      1. 性能分析工具

      2. 全面分析,精准诊断

    (2)“神”冰箱:鲲鹏一站式全流程开发套件devkit 

    4 完成学习

    (1)思想、思路、体系组织,原理,流程:一站式开发套件

    (2)重:迁移:扫描快、检出全、指导精、构建易

    1. 分析扫描
      1. 知道迁移工作的工作量(时间)
      2. 多少文件需要修改
      3. 需要哪些依赖库
    2. 源代码迁移
      1. 可以对常用的语言进行快速扫描
      2. 针对某一语言,在两个不同的指令集架构上的差异点给扫描出来
      3. 对比:
        1. devkit:提供修改和优化建议,甚至一键替换
        2. 从工:差异找不全,找出来 也不知道怎么改
      4. 剩下的就是把代码进行编译,就可以把项目变成适配鲲鹏服务器的软件了。
    3. 软件包重构:针对于软件包模式的
      1. 扫描x86下的依赖包(如rpm包、jar包)
      2. 点击一键重构,可以把x86下的包,修改成适配鲲鹏的包
      3. 拿到修改后的包,就可以拿到鲲鹏服务器上安装并把项目跑来了呀。
    4. 专项软件迁移:针对一些专项项目(大数据、web、跨性能计算软件等类型项目)
      1. 社区下载包
      2. 基于鲲鹏模式进行一键盘编译、迁移,得到一个适配鲲鹏服务器的包

    (3)重:加速库:"零"开发、高性能,平均提供10%+

    1. 切换到鲲鹏服务器(ARM、简单指令集)后,有一引起手段可以立即快速提高软件的性能。
    2. 鲲鹏加速库,针对了一些常用的包、库、软件进行无偿加速。
    3. 使用方法:使用鲲鹏加速库等以后,可以立即快速提高软件的性能。

    (4)重:编译:在鲲鹏平台上翻译出性能更佳的机器指令

    1. 3种编译器,确保在鲲鹏上有很好的性能效果
    2. 毕生编译器:LLVM
    3. 毕异JDK:基于open jdk
    4. 鲲鹏GCC:GCC开发

    (5)重:调优(性能分析):精准分析、全面调优,软硬件融合释放最佳性能

    1. 像上面的“加速库、编译器”,就是加入相应的工具(库)就马上有效果了。
    2. 而“调优”则是动态来分析和提升软硬件性能的工具。
    3. 系统性能优化:收集处理器、硬件的性能指标。图形化。优化建议。3大模块8个功能。
    4. JAVA性能优化:java虚拟机调优(GC、堆、线程锁)。

    (6)纲:ExaGear:低成本完成x86无源码应用的快速迁移。

    1. 无源码
    2. 老版本的软件,找不到源码。 

    5 Devkit亮点:助力开发者高效完成应用迁移与调优

    (1)入门简单:不改变开发者习惯,快速上手。两种模式。

    1. 两种模式:
      1. IDE模式。装插件即可使用所有功能。
      2. web浏览器模式。套件部署在自己服务端,用户可以通过浏览器来访问服务器地址。通过界面操作,使用所有功能。

    (2)自动化:迁移内容自动识别,汇编代码自动翻译

      

    (3)高效:代码修改建议自动生成,开发效率倍增

    (4)便捷:(IDE)远程调测,提供更便捷的调测能力

    1.  IDE+插件使用所有功能、完成所有工作
      1. 编码、上传、编译、调测

    (5)可视:全场景性能分析可视,性能瓶颈一目了然、调优尽在掌握

    6 DevKit案例

    (1)基于DevKit打造性能最优的MSP平台

    (2)基于鲲鹏DevKit提升气象预测性能150%

    7 Devkit使用手册

    (1)获取鲲鹏Devkit开发套件、帮助资料获取方式

    1. 社区:https://www.hikunpeng.com/developer/devkit
    2. 论坛:https://bbs.huaweicloud.com/forum/forum-928-1.html
      1. 自由发贴
      2. 提问,会有华为开发人员跟踪,并保证在两小时内有回复
      3. 以前人,经验总结、优秀事件
    3. 步骤
      1. 鲲鹏社区-官网丨凝心聚力 共创行业新价值
        1. 开发者
          1. 第1步:鲲鹏开发套件DevKit
            1. 每个工具都有下载链接
            2. 每个工具都有详细的安装教程
            3. 最佳实践,可用来学习
        2. 学习
          1. 在线课程,快速学习如何使用
        3. 文档
          1. 各个工具的文档都有,能够提供更详细的工具使用说明
      2. 鲲鹏DevKit_鲲鹏_开发者论坛-华为云论坛
        1. 上面已经发布有上千个贴子了
        2. 有很多优化的案例、实践
        3. 提问。会快速回复解答。

    (2)迁移工具:VS Code版本

    0、第零步:有Demo代码

    1、第一步: 扫描。右击(code菜单)对代码进行代码扫描,看看代码有没有问题。如果有问题,根据建议把代码修改好,然后经过编译、调试就可以放到鲲鹏服务器上跑起来了。

    (1)点击“新建源码分析任务”:

     (2)登录代码迁移工具 :

    (3)点击“开始分析” :

    (4)扫描结果展示(如下,代码有一些问题,修改过后才能在鲲鹏上跑起来)

    1.  “与架构相关的依赖文件”:
      1. x86架构下的依赖库,修改成arm架构下的依赖库。下载链接。下载、安装即可。
    2. “需要迁移的源码文件”:
      1. 代码中不适配鲲鹏环境的一些代码语句(点)
      2. 点击那些“点”,跳到具体的代码行
      3. 根据建议进行修改,如依赖华为自己的高性能库(GitHub - kunpengcompute/AvxToNeon: Encapsulate the frequently used AVX instructions as independent modules to reduce repeated development workload.
      4. Quick fix:快速修复
        1. 替换成建议代码
        2. 在本文件中应用该类修改

    (3)加速工具:VS Code版本

      

    1. 推荐加速库
      1. 函数名:可以使用鲲鹏加速库中的函数进行代替
        1. 鲲鹏加速库。下载链接。下载。

    (3)性能工具:VS code模式

    (4)性能工具:web模式

     

    1. 把性能工具安装在鲲鹏服务器端
    2. ip port登录 
    3. 点击“系统性能分析”
      1. 有案例参考链接
      2. 指导文档链接
      3. 向专家求助
      4. 步骤:
        1. 创建一个工程
        2. 对工程创建一系列的任务
    4. 点击“java性能分析”
      1. cpu
      2. GC
      3. 进程
      4. 线程
      5. 内存

    8 经分二期案例

    (1)第一步:环境部署

    Mysql :root / MY_sql#567.890
    Redis:Re_Dis#567.890
    Minio:jfadmin / Jf_Admin#567.890
    nginx:/usr/local/nginx/
    openJdk/jdk8jdk8

    (2)(不)第二步:idea + 鲲鹏插件

            idea怎么安装插件

           安装idea插件: 

    (3)第三步:迁移(https://173.28.11.4:8085/porting/#/login
     ,portadmin,123456@a)

    1. 安装web模式下的kunpeng devkit迁移工具:安装-安装鲲鹏代码迁移工具-用户指南-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
    2. 扒下23服务器上经分二期的jar包:bas-admin.jar
    3. 本地PC访问web模式下的kunpeng devkit迁移工具
      1. 软件迁移评估。点击“开始分析”。生成报告。对JAR包做扫描分析-扫描分析jansi-native-1.0版本JAR包-实践1:扫描分析jansi-native-1.0-最佳实践-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
      2. 源码迁移。

     (4)第四步:性能分析

    1. 安装web模式下的kunpeng devkit性能分析工具:简介-介绍-用户指南-鲲鹏性能分析工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)

    二 boostkit

    三 其它

    1. 获取linux操作系统详细信息:
      1. cat /etc/os-release

      2. cat /etc/redhat-release

    2. 查看CPU架构:arch

    3. 项目经理

      1. 看视频教学,快速看一遍

      2. 下工具

      3. 对照文档操作

      4. 自己项目的代码  或 官网提供的demo代码,进行操作

      5. 有问题,在论坛发贴,必定快速响应

    4. 华为云账号​​​​​​​:p18878791425 123456@a

    5. web模式迁移工具:https://173.28.11.4:8085/porting/#/homeNew/home  portadmin 123456@a

    6. web模式性能分析工具:https://173.28.11.4:8086/user-management/#/login tunadmin 123456@a

    ​​​​​​​​​​​​​​


    集群与架构:(1)逻辑 (2)物理(3)11
    自己理解:
    关:【关联、对比】
    疑:【疑问,如预习、工作疑问】
    重:【实现技术,工具】
    难:【感想、体会、领悟】   【总结、归纳、规律】
    大道至简:提纲(系统化、宽度、至少是视频标题)图表短
     

  • 相关阅读:
    直击“三夏”生产:丰收喜报频传 夏播紧锣密鼓
    Selenium 中的 JUnit 注解
    【远程软件安装记录】——nomachnine、todesk、向日葵、等远程软件在ubuntu中的安装教程
    Java集合相关总结(List | Set | Map)
    一种用于环境声源的被动到达角(AoA)提取算法(Matlab代码实现)
    Web3:去中心化视频平台都有哪些?
    SpringBoot (4)开发实用篇—监控
    mysql中表与表之间的方式有几种
    比较Visual Studio Code中的文件
    JS多选答题时,选项互斥时的情况
  • 原文地址:https://blog.csdn.net/aiwokache/article/details/126103169