鲲鹏应用移植(动态更新)

系列文章目录


第二章 鲲鹏应用移植



前言

本文章主要针对 华为鲲鹏认证 中部分知识点进行框架式汇总,如有错误或不足请评论指正。文章仅作学习参考,动态更新当中


一、软件迁移原理及迁移过程

1.软件迁移原理

        编译型语言:C/C++  GO  Swift

                编译型语言从X86处理器迁移到鲲鹏处理器必须经过重新编译

        解释型语言:Java  Python  Ruby PHP

                解释型语言迁移一般不需要重新编译。但是如果调用了编译型语言所开发的SO库,则                    SO库需要重新编译

2.迁移过程

        五个阶段:

                1.技术分析:

                        A 制定迁移计划
                        B 确定当前系统使用的CentOS版本与鲲鹏处理器是否兼容
                        C 申请或准备调试环境
                        D 分析C/C++代码中调用的boost库能否移植

                2.编译迁移

                3.功能验证

                4.性能调优

                5.规模商用


二、鲲鹏迁移指导

1.鲲鹏代码迁移工具介绍

        1.代码迁移工具是什么:

                是提供客户应用迁移到基于鲲鹏916/920服务器的工具;

                仅支持X86 Linux软件迁移,不支持Windows

        2.代码迁移工具有什么用:

                软件迁移评估:

                        评估可移植性;

                源码迁移:

                        检查用户软件C/C++源码和x86汇编源码并指导用户如何移植源文件
                        检查用户软件C/C++软件结构工程文件,并指导用户如何移植文件
                        检查用户C/C++软件,构建工程文件使用的链接库并提供可移植信息

                软件包重构;

                专项软件评估;

                鲲鹏亲和分析;

        3.代码迁移流程

                输入:

                分析处理:

                输出:

                        生成内容:

                        A html格式的移植报告
                        B 源码移植建议
                        D csv格式的移植报告

2.编译型语言应用迁移

        1.c/c++ 类

                移植流程:源码分析,根据建议修改源码,编译安装,测试验证

        2. Fortran类

3.解释型语言应用迁移

        基于解释型语言开发的应用,例如Java,Python无需修改和重新编译;

        依赖SO文件需要移植。

4.华为二进制翻译工具 ExaGear

        ExaGear是华为自研动态二进制翻译工具,将X86指令翻译为ARM64指令并执行


三、容器迁移指导

1.Docker

        1.什么是容器:

                容器是一种轻量级、可移植、自包含的软件打包技术

        2.什么是Docker

                Docker是最受大众关注的容器技术,容器标准。

        3.Docker相关概念:

                  Repository

                  Image

                  volume

        4.Docker容器创建:          

        (1)Docker pull 获取镜像
        (2)Dockerfile 构建镜像

        5.容器删除

                可通过“docker rm <容器ID>“删除已停止的容器

        6.dockerfile

                Dockerfile 是一个文本格式的配置文件,包含创建镜像所需要的全部指令。基于在 Dockerfile中的指令,用户可以快速创建自定义的镜像。

                1)dockerfile一般包含四个部分:基础镜像信息、维护者信息、镜像操作指令和容器启动 指令

                2)dockerfile中,第一条指令必须为FROM指令

                3)完成Dockerfile编写后,可以通过dockerbuild命令来创建镜像

2.isula

        1.isula通用引擎特点

                .A、升级不中断业务
                .B、增强安全性和调测特性
                .D、快速灵活

        2.isula部署模式

                .A、应用容器
                .B、安全容器
                .C、系统容器

3.容器迁移背景及原理

        1.同一架构下的容器迁移

                将容器备份为镜像快照,然后将该镜像推送到仓库或者保存本地

        2.不同架构下的容器兼容性

                跨平台容器无法运行,X86迁移到鲲鹏平台,容器无法执行

4.容器迁移主要流程

        1.鲲鹏平台构建Redis容器应用

                (Redis:是跨平台的非关系型数据库)

                鲲鹏平台上通过编写Dockerfile构建新的Redis镜像并运行。

        2.容器配置步骤

                isulad安装,容器与镜像管理,isula-build构建容器镜像,验证应用镜像


 四、迁移常见问题及解决思路

1.可能导致编译错误或告警的原因

        1.编译选项不同

        2.数据类型不同

        3.汇编指令


                

 五、开发者支持套件

1.DevKit

                开发套件Dekit包括 鲲鹏开发框架插件,编译调试插件,毕昇编译器,毕昇JDK,鲲鹏性能分析工具 


总结

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值