首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >4节点DGX Spark分布式大模型推理集群搭建、实测数据与踩坑总结

4节点DGX Spark分布式大模型推理集群搭建、实测数据与踩坑总结

作者头像
GPUS Lady
发布2026-05-13 17:02:48
发布2026-05-13 17:02:48
2080
举报
文章被收录于专栏:GPUS开发者GPUS开发者

近期一技术开发者完成了一套4节点DGX Spark分布式大模型推理集群的搭建与全场景性能实测,专门用于LLM分布式推理任务。

为方便技术社区复用、参考和二次优化,这位开发者将整套集群的部署架构、软硬件配置、性能基准测试结果以及实战踩坑解决方案全部整理开源,所有基础设施均通过Ansible脚本自动化部署,全程可复刻、可落地。

开源仓库地址:https://github.com/vroomfondel/dgxarley

一、整体硬件架构配置

本次集群采用「计算节点+控制节点+高速网络+管理网络」的分层架构,兼顾算力性能、网络传输效率与集群稳定性,具体硬件配置如下:

算力节点:4台 DGX Spark(华硕Ascent GX10,搭载GB10/SM121核心,单卡显存128GB),作为大模型推理核心算力载体

控制节点:1台 HP EliteDesk 800 G4(x86_64架构),承担K3s集群主节点与整体控制平面工作

高速推理网络:采用ConnectX-7 QSFP28 100GbE网状网络,通过MikroTik CRS812-8DS-2DQ-2DDQ-RM交换机组网,网络MTU设置为9000,保障分布式推理的张量通信效率

管理网络:搭配MikroTik CRS310-8G+2S+交换机,负责千兆以太网管理、VLAN转换,实现管理流量与推理高速流量隔离

二、全套软件技术栈

集群基于轻量化容器架构搭建,结合主流大模型推理后端与分布式通信组件,实现全自动化部署与高性能推理,核心软件栈配置如下:

集群编排:5个节点统一部署轻量化Kubernetes K3s,降低资源占用,适配边缘高性能推理场景

推理后端:搭载SGLang(0.5.9-dev2、0.5.10rc0双版本)、vLLM(0.17.0)两大主流分布式推理框架,适配多节点并行推理

网络调度:通过Multus CNI+host-device插件,将100GbE高速网络直通注入Pod容器,规避网络性能损耗

分布式通信:基于Socket协议的NCCL通信,依托100GbE网状网络支撑张量并行、专家并行、流水线并行等多种大模型分布式推理策略

全生命周期管理:通过Ansible实现全流程自动化,涵盖网络配置、系统初始化、K3s集群部署、K8s业务负载上线全流程

三、ConnectX-7 SR-IOV虚拟化网络部署(可选高阶能力)

本次部署的核心亮点之一,是完整适配了ConnectX-7 QSFP网卡的SR-IOV虚拟化功能,可让多个Pod共享单条100GbE高速链路,大幅提升网络资源利用率。同时我整理了实战中极易踩坑的关键细节,规避部署故障:

•虚拟网卡(VF)命名规则变化:物理网卡PF后缀为npN(如enp1s0f0np0),对应的虚拟网卡VF后缀自动替换为v0(enp1s0f0v0),部署时需适配命名规则

•VF网卡MAC地址需直接在虚拟网卡层面通过ip link set address配置,不可通过物理网卡VF指令配置,否则网卡内部交换机无法完成单播路由

•虚拟网卡不会继承物理网卡的MTU参数,需在Netplan中手动将所有VF网卡MTU固定为9000,保障大包传输性能

•传统eSwitch模式下,对物理网卡的tcpdump抓包无法捕获VF虚拟网卡的流量,排查网络问题时需注意

•VF网卡基于注解分配静态IP,必须搭配Multus host-device插件的静态IPAM空配置,否则IP分配失败

四、MiniMax-M2.5-NVFP4模型基准测试结果

我针对MiniMax-M2.5-NVFP4模型,在不同节点数量、并行策略、推理后端组合下,完成了系统化的性能 benchmark 测试,完整测试日志已上传至开源仓库。核心性能数据汇总如下:

节点数

并行策略

SGLang版本

单并发1‖生成速度(tok/s)

8并发8‖生成速度(tok/s)

核心配置

3

PP=3(流水线并行)

0.5.9-dev2

16.1

约52

triton MoE、flashinfer注意力、CUDA图加速

3

PP=3(流水线并行)

0.5.10rc0

16.0

77.4

triton MoE、triton注意力、CUDA图加速

4

TP=4+EP=4(张量并行+专家并行)

0.5.9-dev2

15.6

70.7

fi_cutlass MoE、triton注意力、即时执行模式

五、核心实战发现与问题解决方案

在多版本、多策略测试过程中,我遇到了大量硬件适配、框架兼容、并行推理异常等问题,同时总结出多项性能优化结论,为同类集群部署提供参考:

1. 硬件内核兼容报错(Xid 13 非法指令)

GB10/SM121核心运行flashinfer_cutlass MoE调度内核时,会触发Xid 13非法指令报错。解决方案:将MoE运行后端固定为triton;同时自动模式的fp4_gemm后端会调用flashinfer_cudnn即时编译引发同类报错,需强制指定flashinfer_cutlass后端。

2. 专家并行(EP)兼容故障

当专家并行数大于1(如4节点TP4+EP4场景)时,triton MoE会持续出现推理异常,导致工作节点崩溃,无法正常运行。在当前硬件与系统镜像环境下,仅fi_cutlass MoE可稳定支持EP=4的超高并行推理。

3. RoCE传输性能异常

实测中发现,即便GPU Direct RDMA显示已开启,RoCE传输协议的速度仍比100GbE网络下的TCP/Socket传输慢一倍。初步判断为PFC/ECN配置错误或驱动降级回落导致,在问题彻底修复前,推荐优先使用Socket传输协议完成分布式NCCL通信。

4. CUDA图加速性能收益显著

CUDA图对高并发推理的提升效果极强:在3节点PP=3并行策略下,8并发推理吞吐量从18.9 tok/s提升至31.5 tok/s,性能涨幅达67%;但该优化对单请求推理速度几乎无影响,仅适配高并发业务场景。同时,分段式CUDA图会因256个专家的变长分块触发显存溢出(OOM),必须永久开启disable_piecewise_cuda_graph=true参数。

5. SGLang端口占用BUG

多节点集群环境中,SGLang调度子进程会默认绑定全局端口,与uvicorn的0.0.0.0监听地址冲突,触发EADDRINUSE报错,该问题在0.5.10rc0版本仍未修复。临时稳定方案:取消--host参数(uvicorn默认监听127.0.0.1),搭配HAProxy边车组件转发外部流量。

六、开源仓库完整能力清单

本次开源的Ansible仓库实现了集群从零到一的全自动化部署,无需手动配置,涵盖所有核心能力:

•全流程Ansible自动化脚本:包含交换机配置、系统安全加固、K3s集群初始化、K8s业务负载部署

•SGLang、vLLM标准化部署清单:内置HAProxy边车、NCCL参数调优、启动与存活探测机制

•高速网络适配方案:Multus+host-device CNI配置,实现100GbE网络直通Pod

•SR-IOV虚拟化网络自动化:自动创建VF虚拟网卡、配置Netplan、实现业务Pod专属VF网卡分配

•完整测试矩阵:收录50+套测试配置,所有测试日志标准化归档(TESTLOG_*.md)

•模型预热部署:支持跨节点rsync同步的HuggingFace模型预加载任务

•监控运维体系:集成Prometheus+Grafana性能监控、NUT UPS断电保护监控

•轻量化工具包:发布PyPI第三方工具dgxarley,提供集成测试命令行工具

结语

该仓库目前持续迭代维护,这位开发者表示会持续适配SGLang、vLLM的新版本,补充更多大模型的分布式推理性能数据。欢迎社区开发者下载部署、复现测试,也可随时交流部署问题、优化思路与并行推理方案。

更多:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GPUS开发者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档