

近期一技术开发者完成了一套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的新版本,补充更多大模型的分布式推理性能数据。欢迎社区开发者下载部署、复现测试,也可随时交流部署问题、优化思路与并行推理方案。
更多: