一、软件迁移原理及迁移过程 1.软件迁移原理 编译型语言:C/C++ GO Swift
2.迁移过程 五个阶段:
二、鲲鹏迁移指导 1.鲲鹏代码迁移工具介绍 1.代码迁移工具是什么:
2.编译型语言应用迁移 1.c/c++ 类
3.解释型语言应用迁移 基于解释型语言开发的应用,例如Java,Python无需修改和重新编译;
4.华为二进制翻译工具 ExaGear ExaGear是华为自研动态二进制翻译工具,将X86指令翻译为ARM64指令并执行
三、容器迁移指导 1.Docker 1.什么是容器:
2.isula 1.isula通用引擎特点
3.容器迁移背景及原理 1.同一架构下的容器迁移
4.容器迁移主要流程 1.鲲鹏平台构建Redis容器应用
四、迁移常见问题及解决思路 1.可能导致编译错误或告警的原因 1.编译选项不同
五、开发者支持套件 1.DevKit 开发套件Dekit包括 鲲鹏开发框架插件,编译调试插件,毕昇编译器,毕昇JDK,鲲鹏性能分析工具 等 ————————————————
原文链接:https://blog.csdn.net/qq_59630351/article/details/131151900
一、软件迁移原理及迁移过程 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无需修改和重新编译;
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,鲲鹏性能分析工具 等 ————————————————
原文链接:https://blog.csdn.net/qq_59630351/article/details/131151900