开发者
资源
鲲鹏应用移植
鲲鹏应用移植
发表于2024/01/31
2931

一、软件迁移原理及迁移过程 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,鲲鹏性能分析工具 等 ————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_59630351/article/details/131151900

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞