Gluten在鲲鹏平台上的最佳实践:ARM架构下的性能调优技巧

发布时间:2026/6/27 20:38:11
Gluten在鲲鹏平台上的最佳实践:ARM架构下的性能调优技巧 Gluten在鲲鹏平台上的最佳实践ARM架构下的性能调优技巧【免费下载链接】GlutenThis repository is a mirror repository for the integration between the OmniRuntime system and Gluten.项目地址: https://gitcode.com/openeuler/Gluten前往项目官网免费下载https://ar.openeuler.org/ar/Gluten是openEuler社区推出的高性能计算加速框架专为ARM架构优化设计。在鲲鹏平台上部署Gluten能显著提升大数据处理效率本文将分享5个实用调优技巧帮助新手快速掌握ARM环境下的性能优化方法。一、架构选择后端引擎的黄金搭配Gluten提供Velox和ClickHouse两种后端引擎在鲲鹏平台上表现各有侧重图1GlutenVelox后端在TPCH 10查询中的性能表现数值越低越好图2GlutenClickHouse后端在TPCH 10查询中的性能表现数值越低越好选择建议分析型任务优先选择ClickHouse后端q1查询性能提升48%内存密集型场景推荐Velox后端q13查询响应速度提升35%混合负载可通过gluten-core/src/main/scala/io/glutenproject/backend/BackendManager.scala动态切换二、编译优化解锁ARM架构潜力针对鲲鹏平台的aarch64架构Gluten提供了专门的编译优化脚本# 克隆代码仓库 git clone https://gitcode.com/openeuler/Gluten cd Gluten # 使用ARM优化编译脚本 ./dev/build_helper_functions.sh关键优化点位于dev/build_helper_functions.sh第55-75行自动检测aarch64架构并设置CPU_ARCH变量启用NEON指令集加速优化内存访问模式适配鲲鹏处理器缓存结构三、内存配置鲲鹏大内存优势最大化鲲鹏平台通常配备大容量内存通过以下配置充分利用硬件特性内存分配优化 修改cpp/core/memory/MemoryManager.h调整内存池大小HBW内存利用 启用高性能内存支持export GLUTEN_USE_HBW1缓存策略调整 通过cpp/velox/memory/VeloxMemoryManager.cc优化缓存行对齐四、并行计算充分发挥多核效能鲲鹏处理器拥有多核心优势通过以下方式优化并行计算线程池配置# 设置与CPU核心数匹配的线程数 export GLUTEN_CPU_CORES$(nproc)任务调度优化 调整cpp/velox/exec/Task.cpp中的任务分配策略NUMA亲和性设置 通过dev/ci-velox-buildshared-centos-8.sh脚本启用NUMA绑定五、监控与调优持续性能提升性能指标收集# 启用详细性能日志 export GLUTEN_PERF_DEBUG1瓶颈分析工具 使用tools/workload/benchmark_velox/中的基准测试套件优化指南参考 详细调优步骤可查阅docs/developers/ProfileMemoryOfGlutenWithVelox.md结语ARM平台的性能飞跃 通过上述优化Gluten在鲲鹏平台上可实现2-4倍的性能提升。建议结合实际业务场景通过gluten-core/src/main/scala/io/glutenproject/GlutenConfig.scala进行精细化配置充分释放ARM架构的计算潜力。更多最佳实践可关注官方文档更新持续优化大数据处理性能。【免费下载链接】GlutenThis repository is a mirror repository for the integration between the OmniRuntime system and Gluten.项目地址: https://gitcode.com/openeuler/Gluten创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考