鲲鹏一码多芯、同辕开发的机遇和挑战
核心观点: 鲲鹏计算产业聚焦计算架构创新和开源基础软件的研发,致力于推动鲲鹏生态发展。当前阶段,鲲鹏生态进入快速发展期,但面临 x86 多平台版本并行迭代带来的重复开发验证工作和高效率需求。
关键技术理念: 鲲鹏创新性地提出“一码多芯、同辕开发”,基于鲲鹏硬件 + openEuler + 鲲鹏 DevKit + 鲲鹏 BoostKit,实现 1 套代码 + 1 条流水线构建多平台版本,提升开发效率和应用性能。
核心技术阶段:
- 代码开发阶段: 通过鲲鹏 DevKit 和 BoostKit 开发代码,应用启发式编程和多场景化 SDK,提升开发效率。
- 应用开发工具: 支持创建鲲鹏应用工程,提供 C/C++ 开发语言支持,包括字典管理、编程辅助等功能。
- BoostKit 应用使能套件: 提供高性能开源组件、基础加速软件包和应用加速软件包,涵盖大数据、分布式存储、数据库、虚拟化和 ARM 原生等场景。
- 大数据: OmniData 算子下推、OmniOperator 算子加速、OmniShuffle Shuffle 加速、OmniMV 物化视图、OmniAdvisor 参数调优、OmniHBaseGSI 全局二级索引、openEuler 和毕昇 JDK 性能优化、机器学习和图分析算法加速库等。
- 分布式存储: ECTurbo、存储算法加速库、智能写 Cache、IO 直通、数据压紧、元数据加速、存储维护工具库、RDMA 网络加速等。
- 机密计算: iTrustee 基于 TrustZone 技术实现的安全解决方案,包括 TEEOS、BMC 和 BIOS 等。
- 数据库: MySQL 可插拔向量化分析引擎、MySQL 无锁优化、MySQL 可插拔线程池、MySQL 并行查询优化、MySQL 无锁优化、MySQL 细粒度锁优化、MySQL NUMA 调度优化等。
- 虚拟化: 负载感知加速系统、MySQL 可插拔线程池、OVS 流表归一化、OVS 流表网卡加速、虚拟化 DPU 卸载、虚拟化调度优化、vKAE、鲲鹏召回算法库 SRA_Recall、MPAM 插件等。
- Web/CDN: KAE RSA 加解密、Gazelle 网络优化等。
- 搜推广: 提供基于鲲鹏平台的全栈解决方案的加速能力。
- HPC: HyperMPI、KML、毕昇编译器、多瑙 Portal、多瑙调度器、KQMalloc、HTL、KSL_ASN1、HAF、毕昇 JDK 加速库等。
- UTgen 工具: 专为 Maven 和 Gradle 项目设计的 Java 单元测试自动生成工具。
- 代码优化阶段: 通过 DevKit 亲和分析工具,实现鲲鹏亲和代码优化建议。
- 亲和分析工具: 支持 64 位运行模式检查、字节对齐检查、缓存行对齐检查、内存一致性静态检查、向量化检查、矩阵化检查、构建亲和、计算精度分析等功能。
- 编译阶段: 提供毕昇编译器、毕昇 JDK、GCCforopenEuler,提升应用性能。
- 调试阶段: 支持单机下 GPU 应用调试、HPC 场景多节点应用并行调试、鲲鹏平台远程编译调试等。
- 调优阶段: 提供系统性能分析工具、Java 性能分析工具、系统诊断工具,实现应用性能提升。
- 系统性能分析工具: 收集和分析软硬件各层次的性能指标,定位系统瓶颈点及热点函数,给出优化建议。
- Java 性能分析工具: 图形化显示 Java 程序的堆、线程、锁、垃圾回收等信息,收集热点函数、定位程序瓶颈点。
- 系统诊断工具: 分析系统运行指标,识别异常点,例如内存泄漏、内存越界、网络丢包等,并给出优化建议。
- 流水线阶段: DevKit 同辕开发插件 1 小时接入 CI/CD,高效提升鲲鹏流水线搭建及版本发布效率。
- 门禁检查: DevKit 应用迁移工具、亲和分析工具、编码规范检查。
- 编译构建: 毕昇编译器、毕昇 JDK、GCCforopenEuler。
- 测试: 兼容性测试工具、Java 性能测试工具。
- 调优: 自动反馈优化。
- 版本发布: 病毒扫描能力。
- OS 底座(openEuler 系操作系统): 提供丰富的软件包和工具,支持多样性计算。
- iSulad 轻量级容器引擎: 支持 Docker 容器技术,提供容器服务、镜像服务、卷服务和网络服务。
- StratoVirt: 基于 Linux 内核虚拟化(KVM)的开源轻量级虚拟化技术。
- openEuler AI 软件栈: 提供 SDK 镜像、AI 框架镜像和模型应用镜像。
- oeAware 智能调优框架: 在 openEuler 上实现低负载采集感知调优。
- openEuler DevStation 开发者工作站: 预装 VSCODE,提升开发者效率。
- EulerTest 测试管理平台: 承载社区全流程测试活动的管理平台。
- EulerMaker 构建系统: 软件包构建系统,支持增量 / 全量构建、分层定制与镜像定制。
- EulerPipeline 流水线: 支持 Package-CI/Code-CI/Repo-CI/ISO-CI/ 单包 test-CI/ 版本 test-CI 等模板。
- CVE Manager 漏洞管理: 对安全漏洞进行感知、收集、处理以及披露。
- 操作系统迁移: x2openEuler 迁移工具套件,支持 CentOS、Redhat、Ubuntu、SUSE 原地迁移。
- openEuler 官方仓及扩展仓: 提供一站式兼容性软件包、文件查询、下载、开源软件包的使用风险感知服务。
行业案例: 恒生电子、宇信科技、浩瀚深度、恒安嘉新、超图软件、深圳防灾减灾技术研究院、广州海颐、国能信控、卫宁健康、东华软件、星环科技、深信服等企业基于鲲鹏同辕开发,实现了应用性能提升和开发效率提升。
研究结论: 鲲鹏一码多芯、同辕开发能够有效提升开发效率和应用性能,助力企业数字化转型。