典型案例
这是华为公司内部的项目。一个大型的平台软件,从开始准备到最后商用历时4个月,涉及迁移的代码量共计450万行,其中C/C++代码占了50%以上,全部需要重新编译。剩下其他语言的代码中也含有不少依赖库,总共174个依赖库需要重新编译。重新编译过程中也遇到了编译迁移时提到的问题,如编译选项、数据类型、汇编指令等。而且为了一套代码支持不同的平台,我们还做了代码归一,构建脚本归一。迁移完成后经过性能调优,基本与X86持平。
这是一家互联网合作伙伴的核心应用系统迁移的案例。应用使用了Debian OS操作系统,这是一个相对小众的操作系统,在迁移到鲲鹏时打了30个补丁。业务系统有520多个源码文件,以C++代码为主,有少量汇编指令的调用和Java代码,在移植过程中先后识别到了55个依赖库要移植。软件移植完成共遇到了39个编译问题,修改了195行代码。最后调优结果CPU性能提升10%。
最后这个是金融行业伙伴的核心系统整体迁移案例,该项目涉及迁移的商业软件较多,如OS、虚拟化软件、数据库、中间件、JDK等。这些商业软件没有对应的鲲鹏的版本,全部需要替换成其他鲲鹏支持的版本。如Tomcat替换Teblogic、OpenJDK替换为Oracle JDK、高斯DB替换Oracle数据库等。迁移调优后,测试业务系统功能正常,各测试场景性能均有提升。
在经历过一系列迁移项目后,华为总结迁移过程中的痛点,开发了鲲鹏开发套件,辅助开发者进行软件迁移和调优。
父主题: 鲲鹏软件迁移概述