Kubernetes Gang Scheduling:多 GPU 推理任务要一起调度
Kubernetes Gang Scheduling多 GPU 推理任务要一起调度一、分片推理的痛点部分 Pod 跑起来了但有些永远调度不上大模型推理的典型部署模式是张量并行Tensor Parallelism——把一个模型切分到多张 GPU 上每张卡负责一部分计算推理时所有卡必须同时工作。在 Kubernetes 中这意味着一个推理服务需要 4 或 8 个 Pod 同时运行每个 Pod 独占一张 GPU。问题在于Kubernetes 默认调度器逐个调度 Pod。当集群中只有 5 张空闲 GPU、但你的推理服务需要 4 张时前 4 个 Pod 调度成功占满 4 张卡第 5 个 Pod 处于 Pending 状态被卡住——但前 4 个 Pod 已经运行起来了占着资源却不工作因为缺少第 5 个 Pod 无法完成模型加载。更糟的是如果同时有多个推理服务在部署它们的 Pod 会交错获取 GPU形成死锁。服务 A 拿到 3 张卡、服务 B 拿到 2 张都不够各自需要的 4 张但也没有一张卡被释放。这就是 Gang Scheduling 要解决的核心问题要么全部 Pod 一起调度成功要么全部不调度。二、Gang Scheduling 的实现原理Gang Scheduling 的核心思想是引入调度组的概念。依赖所有组成员必须同时满足调度条件才进行实际的节点绑定。工作流程分三个阶段Accumulate 阶段调度器逐个为 Pod 找节点。每找到一个通过 Filter Score不立即 Bind而是通过 Permit 插件将其放入 Gang 组中等待。Pod 在 Permit 状态等待不会占用 GPU 资源也不会被其他调度器抢占。Decision 阶段Gang 组的计数达到 minMember 时所有 Pod 同时被放行进入 Bind 阶段。如果超时未达到 minMember可以选择全部拒绝所有等待的 Pod 重新入队或部分放行允许已达到的 Pod 绑定但这违背了 Gang Scheduling 的本意。Bind 阶段调度器并行完成所有 Pod 的节点绑定。此时 Pod 从 Pending 变为 Running。Kubernetes 生态中实现 Gang Scheduling 的主要方案Volcano 的 PodGroup CRD最成熟、Coscheduling 插件轻量级、YunikornApache 项目。选型的核心差异在于对额外组件的依赖程度和与现有调度器的兼容性。三、基于 Volcano PodGroup 的 Gang Scheduling 实现Volcano 通过 PodGroup CRD 定义调度组配合 Volcano Scheduler 实现 Gang Scheduling。# 1. 创建 PodGroup 定义调度组 apiVersion: scheduling.volcano.sh/v1beta1 kind: PodGroup metadata: name: llm-infer-7b-gang spec: minMember: 4 # 至少 4 个 Pod 同时就绪才调度 minResources: nvidia.com/gpu: 4 # 最小资源需求 queue: gpu-inference # 所属队列 priorityClassName: high-priority --- # 2. StatefulSet 部署推理 Pod关联 PodGroup apiVersion: apps/v1 kind: StatefulSet metadata: name: llm-infer-7b spec: serviceName: llm-infer-7b replicas: 4 selector: matchLabels: app: llm-infer-7b template: metadata: labels: app: llm-infer-7b annotations: # 关键注解关联到 PodGroup scheduling.k8s.io/group-name: llm-infer-7b-gang spec: schedulerName: volcano # 使用 Volcano 调度器 containers: - name: infer image: llm-infer:v2.3 env: - name: TP_SIZE value: 4 # 张量并行度 - name: RANK valueFrom: fieldRef: fieldPath: metadata.name resources: requests: nvidia.com/gpu: 1 limits: nvidia.com/gpu: 1 volumeMounts: - name: shared-memory mountPath: /dev/shm volumes: - name: shared-memory emptyDir: medium: Memory sizeLimit: 32Gi关键点说明minMember: 4是核心参数。只有 4 个 Pod 都找到满足条件的节点后调度器才执行绑定。schedulerName: volcano将调度权交给 Volcano 调度器它理解 PodGroup 语义。使用 StatefulSet 而非 Deployment 的原因推理 Pod 需要稳定的网络标识和持久存储。每个 Pod 通过RANK环境变量知道自己在张量并行中的位置。四、Gang Scheduling 的边界与权衡超时处理Gang 等待不会无限进行。PodGroup 可以设置scheduleTimeoutSeconds超时后所有等待的 Pod 标记为失败。这个值的设置需要谨慎——太小会在集群繁忙时产生过多假失败太大会导致调度延迟不可控。部分资源碎片Gang Scheduling 要求全部 Pod 同时满足当集群 GPU 碎片化严重时例如 5 个节点各剩 1 张卡但推理需要 4 张同一节点的卡Gang 无法调度。这是调度策略本身的限制需要配合资源碎片整理策略Descheduler 驱逐低优 Pod来缓解。调度延迟逐个 Pod 的 Filter Score 阶段仍然串行执行Pod 数量多时调度延迟会增长。Volcano 通过 Gang 级别的批量调度优化了这一阶段但基础开销依然存在。对于推理服务调度是低频操作部署和扩缩时才会触发延迟在秒级是可接受的。与 Cluster Autoscaler 的协作Gang 等待期间如果节点资源不足CA 可能需要扩容节点。但这形成了一个循环依赖——CA 在等待 Pod 调度失败后扩容而 Gang 在等待 CA 扩容完成后调度。需要配置minResources让 CA 提前感知资源缺口。五、总结Gang Scheduling 是多 GPU 推理任务在 Kubernetes 上正确部署的基础保障。核心价值在于消除了 Pod 部分调度导致的部分资源占用和死锁问题。Volcano 的 PodGroup CRD 是目前最成熟的实现方案使用minMember和scheduleTimeoutSeconds两个参数即可定义调度组的行为。实际生产部署中需要特别关注 Gang 超时设置与 Cluster Autoscaler 扩容时机之间的时序对齐。

相关新闻

AIOps的ROI量化模型:如何用业务指标证明智能运维投资的价值与建立内部推动话语体系

AIOps的ROI量化模型:如何用业务指标证明智能运维投资的价值与建立内部推动话语体系

AIOps的ROI量化模型:如何用业务指标证明智能运维投资的价值与建立内部推动话语体系 一、AIOps投资决策中的"价值证明困境" 在企业IT预算评审会上,AIOps项目负责人最常遇到的质问是:"投入200万的AI平台、3个算法工程师和半年的…

2026/7/17 14:56:17 阅读更多 →
fheroes2:重燃英雄无敌II经典传奇的现代游戏引擎 [特殊字符]

fheroes2:重燃英雄无敌II经典传奇的现代游戏引擎 [特殊字符]

fheroes2:重燃英雄无敌II经典传奇的现代游戏引擎 🏰 【免费下载链接】fheroes2 fheroes2 is a recreation of Heroes of Might and Magic II game engine 项目地址: https://gitcode.com/gh_mirrors/fh/fheroes2 你是否曾想在现代电脑上重温《魔法…

2026/7/17 14:56:17 阅读更多 →
AI写综述总缺参考文献支撑?分享一套完整落地SOP

AI写综述总缺参考文献支撑?分享一套完整落地SOP

不少科研人赶开题、结项、课程作业时,习惯直接用通用AI一键生成文献综述,可交稿后常常被导师直接退回修改,甚至在后续查重、投稿环节出现严重学术问题。深究这类综述大面积翻车的核心原因无非三点:大模型依托文本预测机制凭空杜撰…

2026/7/17 14:50:13 阅读更多 →

最新新闻

【Cursor埋点统计代码实战指南】:20年资深工程师亲授5大避坑法则与性能优化黄金公式

【Cursor埋点统计代码实战指南】:20年资深工程师亲授5大避坑法则与性能优化黄金公式

更多请点击: https://kaifayun.com 第一章:Cursor埋点统计代码的核心价值与演进脉络 Cursor作为现代AI编程助手,其埋点统计系统并非简单的日志采集工具,而是支撑产品迭代、体验优化与模型训练闭环的关键数据基础设施。早期版本仅…

2026/7/17 15:47:19 阅读更多 →
行业首份SD LoRA数据集健康度评估白皮书(2024Q3最新版):覆盖17项指标,仅限前500名开发者领取

行业首份SD LoRA数据集健康度评估白皮书(2024Q3最新版):覆盖17项指标,仅限前500名开发者领取

更多请点击: https://intelliparadigm.com 第一章:SD LoRA训练数据集健康度评估白皮书发布背景与核心价值 随着Stable Diffusion生态中LoRA(Low-Rank Adaptation)微调技术的广泛应用,社区面临一个日益突出的共性挑战&…

2026/7/17 15:47:19 阅读更多 →
5分钟快速上手:EmulatorJS前端游戏模拟器终极指南

5分钟快速上手:EmulatorJS前端游戏模拟器终极指南

5分钟快速上手:EmulatorJS前端游戏模拟器终极指南 【免费下载链接】EmulatorJS A web-based frontend for RetroArch 项目地址: https://gitcode.com/GitHub_Trending/em/EmulatorJS EmulatorJS是一款基于RetroArch内核的纯JavaScript游戏模拟器前端&#xf…

2026/7/17 15:47:19 阅读更多 →
黑苹果新手指南:如何用OpCore-Simplify图形化工具30分钟搞定OpenCore EFI

黑苹果新手指南:如何用OpCore-Simplify图形化工具30分钟搞定OpenCore EFI

黑苹果新手指南:如何用OpCore-Simplify图形化工具30分钟搞定OpenCore EFI 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 还在为复杂的黑苹…

2026/7/17 15:45:18 阅读更多 →
SharpSCADA:如何用这款C开源SCADA系统快速搭建工业监控平台?

SharpSCADA:如何用这款C开源SCADA系统快速搭建工业监控平台?

SharpSCADA:如何用这款C#开源SCADA系统快速搭建工业监控平台? 【免费下载链接】SharpSCADA C# SCADA 项目地址: https://gitcode.com/gh_mirrors/sh/SharpSCADA 还在为工业监控系统的高昂授权费用而烦恼吗?想要一个既能满足专业需求又…

2026/7/17 15:43:18 阅读更多 →
龙虾企业 AI 智能体软件哪家好?本地自主运行AionClaw适配企业数字化全流程

龙虾企业 AI 智能体软件哪家好?本地自主运行AionClaw适配企业数字化全流程

一、引言 2026年 AI 智能体技术持续落地企业数字化赛道,业内将基于 OpenClaw 衍生的桌面自动化智能体统一称作龙虾 AI。当下市面上存在多种类型龙虾类 AI 智能体产品,不同产品在部署架构、数据存储模式、自动化执行能力、多端协同适配、安全管控机制上存…

2026/7/17 15:43:18 阅读更多 →

日新闻

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行,含零代码SAAS、AI编程、源码定制

2026全国外贸独立站搭建公司推荐排行 外贸工厂、工贸企业建设官网,核心需求与普通展示型网站并不相同。除了页面整洁、多语言适配和海外访问体验,企业还要重点考虑数据能否导出、站点能否迁移、源码是否可控、后续费用是否透明,以及更换服务…

2026/7/17 0:02:10 阅读更多 →
HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

HarmonyOS 应用开发《掌上英语》第19篇:3D 翻转动画实现——ArkTS 动画系统全解析

3D 翻转动画实现——ArkTS 动画系统全解析引言 在移动应用中,卡片翻转动画是最受欢迎的交互动效之一,它能给用户带来直观的"物理世界"操作感。在我们的英语学习 App 的单词学习页面(CourseHomePage.ets)中,就…

2026/7/17 0:02:10 阅读更多 →
2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

2026键盘推荐|IQUNIX EV63多场景适配,不允许有人不知道!

现在很多用户都需要一款能适配多场景的键盘,既能满足交流码字的需求,又能应对居家电竞的性能需求,最好还得有点小颜值。而大多键盘都只能兼顾其中一两个场景。这次我实测了IQUNIX EV63三款配色(银武士、黑武士、紫罗兰&#xff09…

2026/7/17 0:04:10 阅读更多 →

周新闻

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨

互联网大厂 Java 求职面试:燕双非的搞笑回答与技术探讨 在一个阳光明媚的上午,互联网大厂的面试官坐在桌前,准备迎接他的面试候选人——燕双非,一个以搞笑和幽默著称的程序员。第一轮提问 面试官:燕双非,作…

2026/7/17 3:22:28 阅读更多 →
车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估

车载以太网PMA测试设备选型:示波器、VNA、信号源3类仪器关键参数与预算评估在智能驾驶和车联网技术快速发展的今天,车载以太网作为新一代车载网络的核心传输技术,其物理层性能直接决定了数据传输的可靠性和稳定性。1000BASE-T1作为当前主流的…

2026/7/17 3:01:28 阅读更多 →
VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战,5步完成Keil工程转换

VSCode EIDE 插件 2.0:APM32/STM32 项目迁移实战指南嵌入式开发领域正经历一场工具链的静默革命。当传统Keil用户首次打开VSCode的扩展市场搜索EIDE时,往往会惊讶于这个看似简单的插件竟能重构十余年的开发习惯。本文将揭示如何用五个精准步骤&#xff0…

2026/7/16 23:40:37 阅读更多 →

月新闻