开发者
资源
【BoostKit学习分享】十天鲲鹏生态与 BoostKit 学习心得:从基础到加速的实践之路
【BoostKit学习分享】十天鲲鹏生态与 BoostKit 学习心得:从基础到加速的实践之路
新人帖
发表于2025/10/05
3570

十天的学习围绕鲲鹏处理器生态与 BoostKit 工具链展开,从底层架构到上层加速技术,我逐步摸清了 “硬件 + 软件 + 工具” 协同优化的逻辑。以下结合每日具体内容,分享我的学习方法、遇到的困难及感悟。

一、分阶段学习:锚定核心,循序渐进

我将十天学习划分为 “基础生态认知 - 工具链实践 - 综合优化应用” 三阶段,避免碎片化学习:

前三天:基础生态认知

第一天,学习鲲鹏处理器架构与 openEuler 操作系统:用思维导图梳理鲲鹏多核架构(如 ARMv8 指令集)的优势,以及 openEuler 从开源到成为企业级服务器操作系统的发展历程,还标记了社区贡献的关键流程(如 PR 提交、代码评审);通过浏览 openEuler 社区论坛,直观感受开源协作模式。

第二天,深耕 GCC for openEuler 的安装使用与反馈优化

  • 安装与验证:跟着教程在 openEuler 系统中执行 dnf install gcc gcc-c++ 完成部署,再用 gcc --version 验证安装(重点关注适配鲲鹏架构的版本特性)。
  • 反馈优化原理与类别:理解 “反馈优化” 核心逻辑 —— 收集程序运行时的性能数据(如热点函数、分支预测信息),反馈给编译器以针对性优化代码。区分不同优化类别:
    • PGO(Profile-Guided Optimization,基于概要文件的优化):需先 “生成训练概要文件”,再 “用概要优化编译”,是 “先训练后优化” 的两步走模式。
    • AutoFDO(Automatic Feedback-Directed Optimization):更自动化,可直接从perf等工具采集的热点数据生成优化信息,减少手动步骤。
  • 实验视频辅助实操:通过实验视频,复现 “用 PGO 优化简单计算程序” 的全流程 —— 先编译带概要采集的版本 gcc -fprofile-generate -o test_pgo test.c,运行程序生成 *.gcda 概要文件;再用 gcc -fprofile-use -o test_opt test.c 编译优化版;最后对比 test_opt 与普通编译版的执行时间,直观感受反馈优化的性能提升。我同步记录每一步的命令与输出,加深对 “反馈优化链路” 的理解。

第三天,学习 iSula 容器技术:了解 iSula 全量容器软件栈,重点掌握 iSulad 轻量化容器引擎的核心特点,以及 isula-build 等工具在镜像构建与管理中的作用,为后续容器化部署打基础。

中间四天:工具链与加速技术

第四天,学习 A-tune 智能调优:理解其 “解决手动调优效率低” 的背景,拆解架构(数据采集层、分析层、执行层),重点记忆数据采集的核心维度(CPU、内存、IO)。

第五天,初步接触 BoostKit 大数据使能套件:结合数据库场景,整理 “不同场景的应用性能优化方案与效果”(如读密集场景的缓存优化思路)。

第六天,深入 OmniRuntime 的 OmniData 特性:绘制架构图,对比传统存算分离与 “算子下推 + 存算协同” 的差异,理解其如何通过 “减少跨节点数据传输” 解决带宽浪费与计算低效问题。

第七天,学习分布式存储:梳理存储技术的架构演进,用表格对比 Ceph 中 filestore 与 bluestore 的存储差异(如读写性能、空间利用率),掌握 FCEPH 的场景分类与架构逻辑。

最后三天:综合优化应用

第八天,深化 BoostKit 分布式存储认知:结合前序知识,复习 Ceph 存储接口分类,总结 “从硬件(如 SSD 选型)、OS(如文件系统配置)到 Ceph(如池参数调整)” 的三层调优思路,还记录了部分调优命令(如 ceph osd pool set),为实操做准备。

第九天,学习 BoostKit 加速库套件:明确其 “解决传统开源软件在 ARM 平台性能瓶颈” 的核心定位,梳理其覆盖的关键场景(大数据、数据库、分布式存储等)与 “基础加速→应用优化” 的多层次能力。

第十天,综合实践:用 BoostKit 加速库优化简单数据库查询,并结合 A-tune 调优 CPU 参数,验证端到端的加速效果。

二、困难与解决:在卡点中深化理解

学习第一天理解 openEuler 社区贡献流程时,对 “CLA 签署”“代码评审标准” 困惑。我先看社区的 “新手指南”,再找已合并的 PR 案例(如简单的文档修改),跟着模拟提交一次测试 PR,逐步理清流程;

三、学习感悟:技术背后的 “底层逻辑”

十天学习让我收获远超技术本身:

  • “硬件 - 软件” 协同的关键:GCC 的反馈优化是核心桥梁 —— 它把程序运行特征与鲲鹏架构特性深度结合,才能最大化性能。
  • 实验驱动的重要性:跟着视频复现 GCC 优化实验,比单纯阅读文档更能理解 “每一步优化为什么有效”。
  • 开源生态的协同价值:openEuler 上的 GCC 适配、BoostKit 的加速能力,都是生态中 “硬件、编译器、工具链” 等环节协同的结果。

十天的学习,不仅掌握了鲲鹏与 BoostKit 的核心技术,更学会了 “围绕工具链拆解知识、通过实验验证原理” 的方法,这对后续技术学习至关重要。

收藏举报
Level 1
0
帖子
0
粉丝
0
获赞