2024鲲鹏原生开发技术白皮书-华为_81页_5mb
报告摘要
鲲鹏原生开发技术白皮书总结
文档发布信息:文档版本v01,发布日期2024年9月30日,由华为技术有限公司发布,涵盖鲲鹏原生开发技术的全面介绍。
机遇与挑战
鲲鹏计算产业聚焦计算架构创新、开源基础软件研发及华为云服务,旨在推动生态发展。其核心目标包括:解决伙伴应用在鲲鹏平台的持续发布问题,以及支持高效开发高性能、多平台兼容的应用。面临的主要技术挑战包括:
- 多架构兼容性:需一套流水线支持多算力架构,但现有方案改造繁琐。
- 性能优化:需通过鲲鹏微架构特性、安全合规扫描工具及多算力测试用例,实现性能与质量提升。
- 开发效率:需减少代码迁移和优化的工作量,提升开发流程自动化与工具链支持。
核心技术理念
鲲鹏原生开发以“硬件开放+软件开源+使能伙伴+发展人才”为核心策略,基于鲲鹏硬件、openEuler操作系统及DevKit/BoostKit开发工具,实现:
- 一套代码对应多版本:通过1套代码+1条流水线+N个版本的方式,支持持续优化和快速商用。
- 多场景适配:覆盖代码开发、流水线构建、系统调优等阶段,提升开发效率和应用性能。
- 性能导向:通过鲲鹏亲和工具、编译器优化、高性能库整合(如BoostKit)实现应用性能倍增。
核心能力与工具
代码开发阶段
- 应用开发工具:
- 支持C/C++语言,提供鲲鹏加速库函数智能提示、高亮、在线文档和示例Demo。
- 鲲鹏应用工程模板:如通用计算、高性能计算、数据IO等,减少代码迁移动作。
- 字典管理:支持本地字典上传与自动更新,辅助开发者匹配加速库函数。
- BoostKit应用使能套件:
- 集成高性能组件与框架,提供场景化优化能力。
- ARM原生云手机Turbo套件:通过Kbox容器、指令流引擎、视频流引擎,实现云手机性能提升与成本降低(如H265带宽减少30%、GPU免部署等)。
- 大数据加速:支持Hive/Spark性能提升9%~32%、OmniRuntime优化SQL性能(Spark提升40%、HBase索引效率翻倍等)。
- 分布式存储优化:如KAEzlib压缩算法(压缩率提升25%)、ECTurbo存算分离(成本降低50%)。
- 数据库加速:优化MySQL的向量化分析引擎、无锁机制、并行查询等,提升OLAP/OLTP性能。
- 虚拟化加速:提供OVS网卡卸载、DPU卸载技术,提升虚拟化网络与存储吞吐。
- Web/CDN优化:通过RSA加速(性能比x86方案高35%)、NUMA优化提升_https响应速度。
- 基础加速库:覆盖系统、压缩、加解密、媒体、数学、AI等8类库,如KQMalloc内存优化、Glibc-patch算术加速。
流水线阶段
- 门禁检查工具:
- 支持x86平台代码迁移评估,生成兼容性报告,拦截非适配代码。
- 亲和分析命令行:检查字节对齐、缓存行对齐、内存一致性等问题,提供修复建议。
- 编码规范检查:基于SonarQube实现多语言代码质量分析(Java、C/C++、JavaScript等)。
- 编译构建工具:
- 毕昇编译器:支持C11/C++14/17、Fortran2018,优化循环展开、矢量化处理等。
- 毕昇JDK:基于OpenJDK,适配鲲鹏架构,支持Java8/11/17/21,优化GC与内存管理。
- GCC for openEuler:覆盖C/C++/Fortran语言标准,支持鲲鹏全栈性能调优。
- 调优与测试工具:
- 自动反馈优化(A-FOT):通过特征分析与AI调参技术,支持AutoFDO、AutoPrefetch、AutoBOLT模式,提升编译效率。
- 系统性能分析工具:涵盖微架构分析、访存统计、I/O分析、锁与等待检测等功能,定位瓶颈并提供优化路径。
- Java性能分析工具:支持在线分析(火焰图、GC统计、线程状态)与采样分析,优化应用性能。
- 兼容性测试工具:提供自动化测试用例集,检测鲲鹏平台适配性。
- 版本发布安全扫描:集成ClamAV病毒检测工具,确保发布安全合规。
OS底座:openEuler
- 操作系统特性:
- 支持服务器、云计算、边缘计算等场景,引入35万+软件包,兼容主流商业发行版。
- iSulad容器引擎:轻量级、支持CRI接口(对接Kubernetes),优化容器启动与资源占用。
- StratoVirt虚拟化:基于KVM,支持UEFI启动、轻量级虚拟机运行,降低资源消耗。
- AI与智能调优:
- A-Tune智能调优引擎:通过AI分析系统负载,动态调整7000+参数,实现性能最优。
- openEuler AI软件栈:兼容NVIDIA、Ascend算力,提供SDK、AI框架(PyTorch/TensorFlow)及模型应用镜像容器化部署。
生态与工具链
- 鲲鹏DevKit:集成开发、调试、调优工具,支持CI/CD流水线1小时内接入,提供1小时流水线分发能力。
- 社区服务:
- EulerMaker:支持分层定制OS镜像及软件包,实现增量构建与批量任务复现。
- EulerTest:管理全流程测试,支持自动化测试结果集成与版本质量追踪。
- EulerPipeline:基于6类模板(如Package-CI、Code-CI、ISO-CI)实现多架构构建与测试自动化。
- CVEManager:集成漏洞感知、修复与公告系统,采用CVSSv3评分机制,保障安全性。
关键优势
- 性能提升:通过硬件级加速(如CRC32、RSA)和软件调优(如A-Tune),应用性能提升显著(如Spark性能提升40%、Hive性能提升30%)。
- 多架构兼容:一套流水线支持ARM、x86等多平台部署,降低开发复杂度。
- 安全性与可靠性:集成安全计算、漏洞管理、内存诊断等工具,保障应用安全性和系统稳定性。
- 生态适配:覆盖数据库、分布式存储、虚拟化、Web等场景,适配主流开源与商业生态。
适用场景
- 大数据处理、云手机服务、AI/深度学习、HPC并行计算、安全敏感业务(如金融、隐私计算)。
- 企业级应用迁移、云原生架构优化、多平台兼容性开发与测试。
总结
鲲鹏原生开发技术白皮书系统性地提出了从代码开发、流水线构建到OS底座的全栈优化方案,通过硬件特性与软件工具链结合,解决多架构适配、性能瓶颈、安全合规等核心问题,助力开发者高效构建鲲鹏原生应用生态。
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载