第一讲:鲲鹏代码迁移工具介绍的笔记
收藏回复举报
第一讲:鲲鹏代码迁移工具介绍的笔记
新人帖
发表于2022-12-04 16:27:42
0 查看

代码迁移

是为了解决用户代码可迁移性人工排查困难、移植经验欠缺。反复依赖编译调错定位等,投入工作量大,整体效事低的问题。而鲲鹏代码迁移工具是一-款可以简化应用迁移到蝴架构服务器过程的工具。

代码迁移工具功能有以下五点:

  1. 软件迁移评估
  2. 源码迁移
  3. 软件包重构
  4. 专项软件迁移
  5. 鲲鹏和分析

代码迁移工具可以作为独立软件提供给鲲鹏生态用户安装使用,其中支持的功能特性有一点特别说明此工具不支持迁移windows环境下的软件或者IOSMacOS平台应用至Kunpeng平台Linux环境下。

代码迁移中对最常用的X86汇编指令进行识别并转换有以下两点:

  • 最常用的1000+条汇编指令自动翻译。
  • 针对受支持的嵌入式汇编指令,提供修改指导;针对完全由受支持的完整汇编指令构成的文件,支持自动转换为结果汇编文件; 支持对尚无法指导修改和转换的汇编指令的识别、提醒。

在代码迁移工具之专项软件迁移中有两点,一是一键下载开源代玛、井编译、构建鯤鹏软件包;二是支持Kudu. MySQL & Nginx等开源软件迁移;而代码迁移工具之软件包重构分为了快速构建鯤鹏软件包和支持RPM和DEB格式的软件包。

鲲鹏亲和检查又分为以下几点:

  1. 运行模式检查
  2. 字节对齐检查
  3. 缓存行对齐
  4. 内存一致性检查
  5. 构建亲和检查

   代码迁移工具采用单机部署方式,在硬盘空间中的安装空间和工作空间配置建议有工具默认安装在"/opt/portadv" 目录(可手动配置安装目录),建议安装空间至少规划8GB,用户的工作空间为工具安装目录,工具默认限制用户的工作空间占用不超过100GB。

   代码迁移工具提供两种用户访问模式分别为:

  1. CL方式:

   通过命令行方式使用代码迁移工具各功能,最终移植分析结果输出到.csv和.json文件,用户可以根据迁移建议进行处理。

  1. Web/DE插件方式:

通过浏民器/DE运程使用代码迁移工具各功能,最终迁移分析结果输出到.csv和.htm文件(可下载)中用户可以根据迁移建议进行处理。如果当前用户已经在登录使用,重复登录会挤掉前面的登录。用户的各种分析和迁移任务都在自己的工作空间内完成。

源码迁移中有一识别四支持,其中要注意的点是其源码迁移只支持Go语言迁移,对go程序使用cgo编译部分中的编译选项、宏定义提供兼容性检查,给出修改建议,以及支持python、Java、Scala语言, 对程序中的动态链接库提供兼容性检查,给出修改建议。

内存一致中有静态检查,自动恢复等功能,其中它支持下载生成的BC文件和支持一键自动恢复,不需要用户修改编译脚本。

内存一致性的内容有以下几点问题:

  • 静态检查,检查用户软件迁移到就鹏平台可能存在的弱内存序问题井修复
  • 自动修复功能,更新用户使用的GCC编译器,在用户软件的编译过程中自动完成弱内存序问题的修复
  • 支持下载静态检查工具产生的BC文件,可根据实际需要进行BC文件扫描分析
  • 静态检查工具、编译器自动修复工具组合使用,可一健式修复
  • 支持自动生成目标工程的中间文件,不需要用户修改编译脚本

本帖最后由 匿名用户2023/11/20 17:05:19 编辑

我要发帖子