From f6891afde50470866b8d2e07b7fd47f66aa78c3f Mon Sep 17 00:00:00 2001 From: Yash Israni <118755067+yashisrani@users.noreply.github.com> Date: Thu, 18 Jun 2026 08:32:26 +0530 Subject: [PATCH 1/3] docs: add Volcano v1.14.0 release blog post Co-authored-by: JesseStutler Signed-off-by: Yash Israni <118755067+yashisrani@users.noreply.github.com> --- blog/Volcano-1.14.0-release-en.md | 383 +++++++++++++++++ .../Volcano-1.14.0-release-en.md | 385 ++++++++++++++++++ 2 files changed, 768 insertions(+) create mode 100644 blog/Volcano-1.14.0-release-en.md create mode 100644 i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md diff --git a/blog/Volcano-1.14.0-release-en.md b/blog/Volcano-1.14.0-release-en.md new file mode 100644 index 00000000..da184804 --- /dev/null +++ b/blog/Volcano-1.14.0-release-en.md @@ -0,0 +1,383 @@ +--- +title: "Volcano v1.14 Released: Entering a New Era of Unified AI Scheduling" +description: "New Features: Agent Scheduler for AI Agent workloads, Dynamic Node Sharding, Network Topology-Aware Scheduling, NPU and vNPU support, CPU Burst and Cgroup V2 support, and more" +authors: ["volcano"] +date: 2025-11-30 +tags: + ["release", "volcano", "kubernetes", "scheduling", "agent", "sharding", "npu"] +--- + +# Volcano v1.14 Released: Entering a New Era of Unified AI Scheduling + +[Volcano](https://volcano.sh/en/) community [v1.14]([volcano-sh/volcano v1.14.0](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0)) is now officially released. As AI workloads evolve from single offline training to diverse scenarios including online inference and AI Agents, the scheduling system faces unprecedented challenges. v1.14 delivers architecture-level innovations that maintain Volcano's advantages in large-scale batch computing while closing the gap for latency-sensitive workloads, taking a solid step toward the goal of becoming a "unified scheduling platform for AI training, inference, RL, and Agent scenarios." + + + +## Highlights + +v1.14.0 brings the following major updates: + +**Unified Scheduling Platform Architecture** + +- Multi-scheduler architecture upgrade: Dynamic node sharding (Alpha) +- Ultra-fast scheduling for AI Agent workloads (Alpha) + +**Network Topology-Aware Scheduling Enhancements** + +- HyperNode-level Binpack strategy +- SubGroup-level fine-grained topology awareness +- PodGroup and SubGroup multi-level Gang Scheduling +- Volcano Job partition support + +**Colocation Enhancements** + +- Full support for general-purpose operating systems (Ubuntu, CentOS, etc.) +- Comprehensive Cgroup V2 adaptation +- CPU dynamic suppression +- Memory QoS based on Cgroup V2 +- CPU Burst support +- Automatic systemd driver detection + +**Heterogeneous Hardware Support** + +- Ascend vNPU scheduling (MindCluster and HAMi modes) + +**Volcano Global Enhancements** + +- HyperJob multi-cluster job auto-splitting +- Data-aware multi-cluster scheduling + +**Volcano Dashboard Enhancements** + +- PodGroup panoramic visualization +- Job / Queue full lifecycle management + +## Key Features + +### Multi-Scheduler Architecture Upgrade: Dynamic Node Sharding (Alpha) + +As the workload types and scale managed by Volcano continue to grow, the single-scheduler architecture gradually reveals its bottlenecks. Different workload types — batch training, AI Agents, microservices — have different requirements for scheduling latency and resource utilization patterns. A single scheduler cannot serve all of them well, while static resource partitioning leads to low utilization. + +The newly introduced Sharding Controller builds an extensible multi-scheduler architecture that dynamically computes candidate node pools for each scheduler based on real-time cluster state. Unlike traditional static partitioning, the Sharding Controller uses dynamic computation rather than hard isolation. This flexible mechanism makes Volcano a true "one platform for all workloads" unified scheduling platform while maintaining high throughput and low latency. + +Core capabilities: + +- Dynamic sharding policies: Supports multiple strategies for computing dynamic candidate node pools. The current release first supports CPU-utilization-based sharding, with an extensible architecture for integrating more sharding algorithms in the future. +- Node pool management: Introduces the NodeShard CRD to manage dedicated dynamic candidate node pools for specific schedulers. +- Large-scale cluster support: Naturally fits large-scale clusters by flexibly distributing load across multiple schedulers. +- Multi-scheduler coordination: Supports seamless collaboration between various scheduler combinations — whether deploying multiple Batch Schedulers for load sharing, or mixing Agent Scheduler with Batch Scheduler for different workload requirements. + +Configuration: + +```bash +# Sharding Controller startup parameters +--scheduler-configs="volcano:volcano:0.0:0.6:false:2:100,agent-scheduler:agent:0.7:1.0:true:2:100" +--shard-sync-period=60s +--enable-node-event-trigger=true +# Parameter format: name:type:min_util:max_util:prefer_warmup:min_nodes:max_nodes +``` + +Related PR: volcano-sh#4777 + +Design Doc: [Sharding Controller Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/sharding_controller.md) + +Contributors: [@ssfffss](https://github.com/ssfffss), [@Haoran](https://github.com/Haoran), [@qi-min](https://github.com/qi-min) + +### Ultra-Fast AI Agent Workload Scheduling (Alpha) + +AI Agent workloads are extremely latency-sensitive — tasks are created frequently with short lifecycles, imposing strict requirements on scheduler response speed and throughput. The native Volcano Batch Scheduler is designed for batch computing, processing Pods in fixed cycles, and cannot meet the millisecond-level response demands of Agent scenarios. + +To build a unified scheduling platform that handles both batch computing and latency-sensitive workloads, v1.14 introduces a dedicated Agent Scheduler. It works in coordination with the Batch Scheduler through the Sharding Controller — each handling its own domain while collaborating seamlessly, truly achieving "one platform, multiple workloads." + +Core capabilities: + +- Ultra-fast scheduling channel: A dedicated scheduler built for latency-sensitive workloads (such as AI Agents), delivering extreme response speed. +- Multi-worker parallel processing: A multi-worker architecture that concurrently consumes the scheduling queue, significantly improving scheduling throughput. +- Optimistic concurrency control: Introduces the Conflict-Aware Binder mechanism that resolves conflicts before actual binding, reducing wasted operations. +- Enhanced scheduling queue: Optimized queue mechanism supporting urgent task retries, ensuring critical tasks are not blocked. +- Unified platform integration: Seamlessly collaborates with the Batch Scheduler through the Sharding Controller, sharing cluster resources. + +Related PRs: volcano-sh#4804, volcano-sh#4801, volcano-sh#4805 + +Design Doc: [Agent Scheduler Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-scheduler.md) + +Contributors: [@qi-min](https://github.com/qi-min), [@JesseStutler](https://github.com/JesseStutler), [@handan-yxh](https://github.com/handan-yxh) + +### Network Topology-Aware Scheduling Enhancements + +Volcano v1.14.0 further enhances network topology-aware scheduling to meet the growing demands of distributed workloads including LLM training, inference, HPC, and other network-intensive applications. + +Core enhancements: + +- SubGroup-level fine-grained topology awareness: Supports setting network topology constraints at SubGroup/Partition granularity for finer scheduling control. +- Flexible network tier constraints: Adds `highestTierName` to specify the highest network tier allowed to be crossed by name. +- Multi-level Gang Scheduling: Supports Gang Scheduling at both PodGroup and SubGroup levels, ensuring the integrity of distributed tasks. +- Volcano Job partitioning: Supports splitting a Job into multiple partitions for managing TP/PP/DP parallel strategies and optimizing network affinity. +- HyperNode-level Binpacking: Performs resource bin-packing at the HyperNode level (e.g., switch, rack) to reduce network fragmentation and improve communication efficiency. + +Configuration example - Volcano Job: + +```yaml +apiVersion: batch.volcano.sh/v1alpha1 +kind: Job +metadata: + name: llm-training-job +spec: + networkTopology: + mode: hard + highestTierAllowed: 2 # Job can span at most Tier 2 HyperNode + tasks: + - name: trainer + replicas: 8 + partitionPolicy: + totalPartitions: 2 # Split into 2 partitions + partitionSize: 4 # 4 Pods per partition + minPartitions: 2 # At least 2 partitions required + networkTopology: + mode: hard + highestTierAllowed: 1 # Each partition must stay within Tier 1 + template: + spec: + containers: + - name: trainer + image: training-image:v1 + resources: + requests: + nvidia.com/gpu: 8 +``` + +Related PRs: volcano-sh#4721, volcano-sh#4810, volcano-sh#4795, volcano-sh#4785, volcano-sh#4889 + +Design Doc: [Network Topology Aware Scheduling](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/Network%20Topology%20Aware%20Scheduling.md) + +Contributors: [@ouyangshengjia](https://github.com/ouyangshengjia), [@3sunny](https://github.com/3sunny), [@zhaoqi](https://github.com/zhaoqi), [@wangyang0616](https://github.com/wangyang0616), [@MondayCha](https://github.com/MondayCha), [@Tau721](https://github.com/Tau721) + +### Colocation Upgrade: General-Purpose OS Support + +This release comprehensively improves Volcano's colocation capabilities, with an important milestone: Volcano colocation now officially supports general-purpose operating systems (Ubuntu, CentOS, etc.), no longer limited to OpenEuler. This means more users can leverage Volcano Agent for online-offline colocation, improving overall cluster resource utilization. + +#### CPU Dynamic Suppression + +Online workload traffic typically exhibits tidal patterns. To maximize resource utilization while guaranteeing online service SLAs, offline Pod CPU quotas need to be dynamically adjusted based on online usage — suppressing offline quotas when online usage is high and gradually recovering when usage drops, achieving adaptive resource allocation. + +Core design: + +- Dynamically adjusts BestEffort root cgroup CPU quota based on node allocatable CPU and real-time usage. +- Uses a "monitor-event-process" architecture with conservative update strategies to effectively suppress jitter. + +Configuration: + +```yaml +cpuThrottlingConfig: + enable: true + cpuThrottlingThreshold: 80 # BE quota capped at 80% of allocatable CPU + cpuJitterLimitPercent: 1 # Update triggered only when quota changes > 1% + cpuRecoverLimitPercent: 10 # Single recovery capped at 10% +``` + +#### Memory QoS (Cgroup V2) + +Implements memory isolation for colocation scenarios based on Cgroup V2. Introduces the `ColocationConfiguration` CRD for configuring memory QoS policies for specified workloads. + +Core capabilities: + +- New API: `ColocationConfiguration` CRD that defines memory isolation policies via label selectors +- Dynamic computation: + - `memory.high` = `pod.limits.memory` \* `highRatio` % + - `memory.low` = `pod.requests.memory` \* `lowRatio` % + - `memory.min` = `pod.requests.memory` \* `minRatio` % +- Unified interface: Reliable Cgroup V2 environment detection and support + +Configuration: + +```yaml +apiVersion: config.volcano.sh/v1alpha1 +kind: ColocationConfiguration +metadata: + name: colo-config1 +spec: + selector: + matchLabels: + app: offline-test + memoryQos: + highRatio: 100 # memory.high = memory.limits * 100% + lowRatio: 50 # memory.low = memory.requests * 50% + minRatio: 0 # memory.min = memory.requests * 0% +``` + +#### CPU Burst and Comprehensive Cgroup V2 Support + +CPU Burst capability has been extended to general-purpose operating systems. Meanwhile, Volcano Agent now fully supports Cgroup V2 environments with automatic detection of Cgroup version and driver type (e.g., systemd driver), running seamlessly on modern Linux distributions without manual intervention. + +Related PRs: volcano-sh#4632, volcano-sh#4945, volcano-sh#4913, volcano-sh#4984 + +Design Docs: [CPU Throttle Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/cpu-throttle-design.md), [Agent Cgroup V2 Adaptation](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-cgroup-v2-adaptation.md) + +Contributors: [@Haibara-Ai97](https://github.com/Haibara-Ai97), [@JesseStutler](https://github.com/JesseStutler), [@ouyangshengjia](https://github.com/ouyangshengjia) + +### Ascend vNPU Scheduling + +v1.14 natively integrates Ascend vNPU (virtual NPU) scheduling, enabling efficient compute multiplexing of Ascend AI processors across multiple workloads. Two modes are provided to flexibly adapt to different deployment scenarios. + +Supported modes: + +**1. MindCluster Mode** + +- Integrated from the Ascend MindCluster scheduling plugin: [Ascend/mind-cluster](https://gitcode.com/Ascend/mind-cluster) +- Supports dynamic virtualization of Ascend 310P series + +**2. HAMi Mode** + +- Developed by the HAMi community +- Supports both Ascend 310 and 910 series +- Supports heterogeneous Ascend clusters (910A, 910B2, 910B3, 310P) + +Scheduler configuration: + +```yaml +# MindCluster mode +- name: deviceshare + arguments: + deviceshare.AscendMindClusterVNPUEnable: true + +# HAMi mode +- name: deviceshare + arguments: + deviceshare.AscendHAMiVNPUEnable: true + deviceshare.SchedulePolicy: binpack # or spread +``` + +Related PRs: volcano-sh#4656, volcano-sh#4717 + +User Guide: [How to Use vNPU](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/user-guide/how_to_use_vnpu.md) + +Contributors: [@JackyTYang](https://github.com/JackyTYang), [@DSFans2014](https://github.com/DSFans2014) + +### Volcano Global Enhancements + +Volcano Global v0.3.0 introduces two important features that significantly expand Volcano Global's capabilities for AI/ML and big-data workloads through intelligent scheduling based on compute resources and data locality. + +#### HyperJob: Multi-Cluster Job Auto-Splitting + +As AI training workloads grow in scale and complexity, enterprises increasingly face the challenge of managing large-scale training jobs across multiple heterogeneous clusters. HyperJob is a higher-level abstraction built on top of Volcano Job. It composes multiple Volcano Job templates, extending training capabilities beyond single-cluster boundaries while preserving all existing Volcano Job capabilities within each cluster. + +Core capabilities: + +- Deep Karmada integration: Automatically generates PropagationPolicy with precise cluster affinity and replica scheduling. +- Unified status aggregation: Consolidates sub-task status from each cluster into a unified HyperJob status for global observability. +- Automatic resource generation: Automatically creates VCJob and PropagationPolicy based on ReplicatedJob definitions. + +HyperJob example (splitting a large training job across 2 clusters, 256 GPUs total): + +```yaml +apiVersion: training.volcano.sh/v1alpha1 +kind: HyperJob +metadata: + name: llm-training +spec: + replicatedJobs: + - name: trainer + replicas: 2 + templateSpec: + tasks: + - name: worker + replicas: 128 + template: + spec: + containers: + - name: trainer + image: training-image:v1 + resources: + requests: + nvidia.com/gpu: 1 +``` + +#### Data-Aware Scheduling + +In high-performance computing scenarios such as AI training and big-data analytics, task execution depends not only on compute resources but also heavily on data resources. In multi-cluster environments, the scheduler may dispatch tasks to clusters physically distant from data sources, resulting in excessive cross-region bandwidth costs and I/O latency. + +The data-aware scheduling framework introduces the DataDependencyController, bridging the gap between logical data requirements and physical cluster distribution. Through external plugins (such as Amoro), it obtains real-time data distribution information and automatically injects scheduling constraints into Karmada, achieving a fully automated "compute follows data" workflow. + +Core capabilities: + +- Plugin architecture: Extensibly supports Amoro, Hive, S3, and other data systems. +- Declarative API: DataSourceClaim / DataSource CRDs using a "declare-cache" pattern. +- Automatic affinity injection: Transforms data locality into ClusterAffinity constraints injected into ResourceBinding. + +See: [Volcano Global v0.3.0 Release Notes]([volcano-sh/volcano-global v0.3.0](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0)) + +Contributors: [@JesseStutler](https://github.com/JesseStutler), [@fx147](https://github.com/fx147), [@Monokaix](https://github.com/Monokaix), [@zhoujinyu](https://github.com/zhoujinyu), [@anryko](https://github.com/anryko), [@tanberBro](https://github.com/tanberBro) + +### Volcano Dashboard v0.2.0 + +Volcano Dashboard v0.2.0 significantly enhances resource management capabilities, making it more convenient to manage Volcano resources through a web interface. + +Core enhancements: + +- PodGroup panoramic visualization: View, search, and filter PodGroups across namespaces with YAML syntax highlighting. +- Job lifecycle management: Create and delete Volcano Jobs directly from the UI. +- Queue management enhancements: Edit Queue quotas and weights online, with direct YAML modification support. +- Security hardening: Default configuration with SELinux, Seccomp, non-root execution, and privilege escalation prevention for production safety. + +See: [Volcano Dashboard v0.2.0 Release Notes]([volcano-sh/dashboard v0.2.0](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0)) + +Contributors: [@vzhou-p](https://github.com/vzhou-p), [@Shrutim1505](https://github.com/Shrutim1505), [@JesseStutler](https://github.com/JesseStutler), [@karanBRAVO](https://github.com/karanBRAVO), [@Sayan4444](https://github.com/Sayan4444), [@jayesh9747](https://github.com/jayesh9747), [@Alivestars24](https://github.com/Alivestars24), [@kuldeep](https://github.com/kuldeep), [@Monokaix](https://github.com/Monokaix) + +### Scheduler Stability and Performance Improvements + +**Reclaim Refactoring and Enhancement** + +Comprehensively refactored Reclaim Action and fixed critical logic issues in the Capacity Plugin, significantly improving the accuracy, stability, and performance of resource reclamation in multi-tenant clusters. + +Key improvements: + +- Reclaim Action refactoring: Restructured the reclaim workflow for improved code readability, maintainability, and test coverage. +- Enhanced Capacity Plugin logic: Fixed `reclaimableFn` and `preemptiveFn` to correctly handle scalar resources and prevent incorrect preemption decisions. +- Stability improvements: Resolved edge cases in resource computation, preventing scheduling deadlocks and erroneous evictions. + +Related PRs: volcano-sh#4794, volcano-sh#4659, volcano-sh#4919 + +Contributors: [@guoqinwill](https://github.com/guoqinwill), [@hajnalmt](https://github.com/hajnalmt) + +### Kubernetes 1.34 Support + +Volcano keeps pace with the Kubernetes community. v1.14 fully supports the latest Kubernetes v1.34, with comprehensive unit tests and E2E tests ensuring functionality and stability. + +Related PR: volcano-sh#4704 + +Contributors: [@suyiiyii](https://github.com/suyiiyii), [@tunedev](https://github.com/tunedev) + +## Summary: Volcano v1.14.0 — A Unified Scheduling Platform for the AI Era + +Volcano v1.14 is a milestone release. By introducing the multi-scheduler architecture and Agent Scheduler, Volcano officially enters a new phase as a unified scheduling platform — efficiently handling batch AI training while meeting the extreme latency requirements of AI Agents. Network topology-aware enhancements, general-purpose OS colocation support, and Ascend vNPU integration further solidify Volcano's leading position in AI infrastructure. + +Meanwhile, Volcano Global v0.3.0 extends multi-cluster capabilities through HyperJob for large-scale distributed training and data-aware scheduling. Volcano Dashboard v0.2.0 significantly improves user experience with comprehensive resource management features. + +## References + +- v1.14.0 Release: [volcano-sh/volcano v1.14.0](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0) +- Volcano Global v0.3.0 Release: [volcano-sh/volcano-global v0.3.0](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0) +- Volcano Dashboard v0.2.0 Release: [volcano-sh/dashboard v0.2.0](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0) + +## Acknowledgements + +Volcano v1.14 ecosystem releases (including Volcano Global v0.3.0 and Dashboard v0.2.0) had 55 community contributors. Sincere thanks to every contributor! + +| | | | +| -------------- | ----------------- | --------------- | +| \@3sunny | \@3th4novo | \@acsoto | +| \@Aman-Cool | \@archlitchi | \@dafu-wu | +| \@DSFans2014 | \@FAUST-BENCHOU | \@fengruotj | +| \@Freshwlnd | \@goyalpalak18 | \@guoqinwill | +| \@Haibara-Ai97 | \@hajnalmt | \@halcyon-r | +| \@handan-yxh | \@JackyTYang | \@JesseStutler | +| \@jiahuat | \@kingeasternsun | \@kiritoxkiriko | +| \@kube-gopher | \@LiZhenCheng9527 | \@medyagh | +| \@MondayCha | \@Monokaix | \@mvinchoo | +| \@neeraj542 | \@nitindhiman314e | \@ouyangshengjia | +| \@PersistentJZH | \@qi-min | \@rhh777 | +| \@ruanwenjun | \@RushabhMehta2005 | \@sailorvii | +| \@ssfffss | \@suyiiyii | \@Tau721 | +| \@tunedev | \@wangyang0616 | \@weapons97 | +| \@Wonki4 | \@zhaoqi612 | \@zhengchenyu | +| \@zjj2wry | diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md new file mode 100644 index 00000000..a6f1123d --- /dev/null +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md @@ -0,0 +1,385 @@ +--- +title: "Volcano v1.14 重磅发布!迈向 AI 统一调度新纪元" +description: "新特性:AI Agent 工作负载极速调度、动态节点分片机制、网络拓扑感知调度增强、NPU 和 vNPU 支持、CPU Burst 和 Cgroup V2 支持等" +authors: ["volcano"] +date: 2025-11-30 +tags: + ["release", "volcano", "kubernetes", "scheduling", "agent", "sharding", "npu"] +--- + +# Volcano v1.14 重磅发布!迈向 AI 统一调度新纪元 + +[Volcano](https://volcano.sh/en/) 社区 v1.14 现已正式发布。随着 AI 业务形态从单一的离线训练向在线推理、Agent 智能体等多元化场景延伸,调度系统面临着前所未有的挑战。[v1.14](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0) 通过架构级的创新,在保持大规模批量计算优势的同时,补齐了对延迟敏感型业务的调度短板,向着"AI 训推、RL、Agent 全场景统一调度平台"的目标迈出了坚实一步。 + + + +## 版本亮点 + +v1.14.0 版本带来以下重磅更新: + +**统一调度平台架构** + +- 多调度器架构升级:动态节点分片机制 (Alpha) +- AI Agent 工作负载极速调度能力 (Alpha) + +**网络拓扑感知调度增强** + +- HyperNode 级 Binpack 策略 +- SubGroup 级精细化拓扑感知 +- PodGroup 与 SubGroup 多层级 Gang Scheduling +- Volcano Job 分区支持 + +**混部能力增强** + +- 全面支持通用操作系统(Ubuntu、CentOS 等) +- Cgroup V2 全面适配 +- CPU 动态压制 +- 基于 Cgroup V2 的内存 QoS +- 支持 CPU Burst +- 支持 systemd driver 自动检测 + +**异构硬件支持** + +- 昇腾 vNPU 调度(支持 MindCluster 和 HAMi 模式) + +**Volcano Global 增强** + +- HyperJob 多集群作业自动拆分 +- 数据感知多集群调度 + +**Volcano Dashboard 增强** + +- PodGroup 全景可视化 +- Job / Queue 全生命周期管理 + +## 重点特性 + +### 多调度器架构升级:动态节点分片机制 (Alpha) + +随着 Volcano 承载的工作负载类型日益丰富、规模持续扩大,单一调度器架构逐渐显露瓶颈。批量训练、AI Agent、微服务等不同类型的工作负载,对调度时延、资源利用模式的诉求各不相同。单调度器难以兼顾,而静态资源划分又会造成利用率低下。 + +新引入的 Sharding Controller 构建了一套可扩展的多调度器架构,能够根据集群实时状态,为每个调度器动态计算候选节点池。与传统的静态分区不同,Sharding Controller 采用动态计算的方式划分资源,而非强制硬隔离。这种灵活机制让 Volcano 真正成为"一个平台调度所有负载"的统一调度平台,同时保持高吞吐、低时延。 + +核心能力: + +- 动态分片策略:支持多种策略来计算动态候选节点池。当前版本率先支持基于 CPU 利用率的分片策略,并采用了可扩展的架构设计,以便未来轻松集成更多分片算法。 +- 节点池化管理:引入 NodeShard CRD,为特定调度器管理专属的动态候选节点池。 +- 支持大规模集群:通过在多个调度器之间灵活分配负载,天然适配大规模集群场景。 +- 多调度器协同:支持多种调度器组合的无缝协作。无论是部署多个 Batch Scheduler 进行负载分担,还是混合部署 Agent Scheduler 与 Batch Scheduler 以应对不同业务需求,都能灵活适配。 + +配置示例: + +```bash +# Sharding Controller 启动参数 +--scheduler-configs="volcano:volcano:0.0:0.6:false:2:100,agent-scheduler:agent:0.7:1.0:true:2:100" +--shard-sync-period=60s +--enable-node-event-trigger=true +# 参数格式: name:type:min_util:max_util:prefer_warmup:min_nodes:max_nodes +``` + +相关 PR:[volcano-sh#4777](https://github.com/volcano-sh/volcano/pull/4777) + +设计文档:[Sharding Controller Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/sharding_controller.md) + +感谢社区开发者:[@ssfffss](https://github.com/ssfffss), [@Haoran](https://github.com/Haoran), [@qi-min](https://github.com/qi-min) + +### AI Agent 工作负载极速调度 (Alpha) + +AI Agent 类业务对时延极度敏感,任务创建频繁且生命周期短,对调度器的响应速度和吞吐量提出了严苛要求。原生 Volcano Batch Scheduler 专为批量计算设计,按固定周期处理 Pod,难以满足 Agent 场景的毫秒级响应需求。 + +为打造兼容批量计算与延迟敏感型业务的统一调度平台,v1.14 引入了专用的 Agent Scheduler。它通过 Sharding Controller 与批量调度器协同工作,各司其职又无缝配合,真正实现"一个平台、多种负载"。 + +核心能力: + +- 极速调度通道:专为延迟敏感型负载(如 AI Agent)打造的独立调度器,提供极致响应速度。 +- 多 Worker 并行处理:采用多 Worker 并发消费调度队列的架构,大幅提升调度吞吐量。 +- 乐观并发控制:引入 Conflict-Aware Binder 机制,在实际绑定前预先解决冲突,减少无效操作。 +- 增强型调度队列:优化队列机制,支持紧急任务重试,确保关键任务不阻塞。 +- 统一平台融合:通过 Sharding Controller 与批量调度器无缝协作,共享集群资源。 + +相关 PR:[volcano-sh#4804](https://github.com/volcano-sh/volcano/pull/4804), [volcano-sh#4801](https://github.com/volcano-sh/volcano/pull/4801), [volcano-sh#4805](https://github.com/volcano-sh/volcano/pull/4805) + +设计文档:[Agent Scheduler Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-scheduler.md) + +感谢社区开发者:[@qi-min](https://github.com/qi-min), [@JesseStutler](https://github.com/JesseStutler), [@handan-yxh](https://github.com/handan-yxh) + +### 网络拓扑感知调度增强 + +Volcano v1.14.0 对网络拓扑感知调度进行了进一步增强,满足分布式工作负载(包括 LLM 训练、推理、HPC 和其他网络密集型应用)日益增长的需求。 + +核心增强: + +- SubGroup 级精细化拓扑感知:支持在 SubGroup / Partition 粒度设置网络拓扑约束,调度颗粒度更精细。 +- 灵活的网络层级约束:新增 `highestTierName`,支持按名称指定允许跨越的最高网络层级。 +- 多层级 Gang Scheduling:同时支持 PodGroup 级别和 SubGroup 级别的 Gang Scheduling,确保分布式任务的整体性。 +- Volcano Job 分区:支持将 Job 拆分为多个分区(Partition),便于管理 TP/PP/DP 等并行策略,并优化网络亲和性。 +- HyperNode 级 Binpacking:在 HyperNode(如交换机、机架)层级进行资源装箱,减少网络碎片,提升通信效率。 + +配置示例 - Volcano Job: + +```yaml +apiVersion: batch.volcano.sh/v1alpha1 +kind: Job +metadata: + name: llm-training-job +spec: + networkTopology: + mode: hard + highestTierAllowed: 2 # 整个 Job 最多跨越 Tier 2 HyperNode + tasks: + - name: trainer + replicas: 8 + partitionPolicy: + totalPartitions: 2 # 拆分为 2 个分区 + partitionSize: 4 # 每个分区 4 个 Pod + minPartitions: 2 # 至少需要 2 个分区 + networkTopology: + mode: hard + highestTierAllowed: 1 # 单个分区必须在 Tier 1 内 + template: + spec: + containers: + - name: trainer + image: training-image:v1 + resources: + requests: + nvidia.com/gpu: 8 +``` + +相关 PR:[volcano-sh#4721](https://github.com/volcano-sh/volcano/pull/4721), [volcano-sh#4810](https://github.com/volcano-sh/volcano/pull/4810), [volcano-sh#4795](https://github.com/volcano-sh/volcano/pull/4795), [volcano-sh#4785](https://github.com/volcano-sh/volcano/pull/4785), [volcano-sh#4889](https://github.com/volcano-sh/volcano/pull/4889) + +设计文档:[Network Topology Aware Scheduling](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/Network%20Topology%20Aware%20Scheduling.md) + +感谢社区开发者:[@ouyangshengjia](https://github.com/ouyangshengjia), [@3sunny](https://github.com/3sunny), [@zhaoqi](https://github.com/zhaoqi), [@wangyang0616](https://github.com/wangyang0616), [@MondayCha](https://github.com/MondayCha), [@Tau721](https://github.com/Tau721) + +### 混部能力全面升级:支持通用操作系统 + +本次发布对 Volcano 的混部能力进行了全面改进,其中一个重要里程碑是:Volcano 混部能力正式支持通用操作系统(Ubuntu、CentOS 等),不再局限于 OpenEuler。这意味着更多用户可以使用 Volcano Agent 实现在离线混部,提升集群整体资源利用率。 + +#### CPU 动态压制 (CPU Suppression) + +在线业务流量通常具有潮汐特性。为了在保障在线业务 SLA 的同时最大化资源利用,离线 Pod 的 CPU 配额需要随在线用量动态调整:在线用量高时压制离线配额,用量回落时逐步恢复,实现自适应的资源分配。 + +核心设计: + +- 根据节点可分配 CPU 和实时用量,动态调整 BestEffort root cgroup 的 CPU 配额。 +- 采用"监控-事件-处理"架构,并实施保守更新策略,有效抑制抖动。 + +配置示例: + +```yaml +cpuThrottlingConfig: + enable: true + cpuThrottlingThreshold: 80 # BE 配额上限为可分配 CPU 的 80% + cpuJitterLimitPercent: 1 # 配额变化超过 1% 才触发更新 + cpuRecoverLimitPercent: 10 # 单次恢复上限 10% +``` + +#### 内存 QoS (Cgroup V2) + +基于 Cgroup V2 实现混部场景的内存隔离。新增 `ColocationConfiguration` CRD,支持为指定工作负载配置内存 QoS 策略。 + +核心能力: + +- New API:通过标签选择器定义内存隔离策略的 `ColocationConfiguration` CRD +- 动态计算: + - `memory.high` = `pod.limits.memory` \* `highRatio` % + - `memory.low` = `pod.requests.memory` \* `lowRatio` % + - `memory.min` = `pod.requests.memory` \* `minRatio` % +- 统一接口:可靠检测和支持 Cgroup V2 环境 + +使用示例: + +```yaml +apiVersion: config.volcano.sh/v1alpha1 +kind: ColocationConfiguration +metadata: + name: colo-config1 +spec: + selector: + matchLabels: + app: offline-test + memoryQos: + highRatio: 100 # memory.high = memory.limits * 100% + lowRatio: 50 # memory.low = memory.requests * 50% + minRatio: 0 # memory.min = memory.requests * 0% +``` + +#### CPU Burst 与 Cgroup V2 全面支持 + +CPU Burst 能力已扩展至通用操作系统。同时,Volcano Agent 现已全面适配 Cgroup V2 环境,支持自动检测 Cgroup 版本及驱动类型(如 systemd driver),无需人工干预即可在现代 Linux 发行版上无缝运行。 + +相关 PR:[volcano-sh#4632](https://github.com/volcano-sh/volcano/pull/4632), [volcano-sh#4945](https://github.com/volcano-sh/volcano/pull/4945), [volcano-sh#4913](https://github.com/volcano-sh/volcano/pull/4913), [volcano-sh#4984](https://github.com/volcano-sh/volcano/pull/4984) + +设计文档:[CPU Throttle Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/cpu-throttle-design.md), [Agent Cgroup V2 Adaptation](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-cgroup-v2-adaptation.md) + +感谢社区开发者:[@Haibara-Ai97](https://github.com/Haibara-Ai97), [@JesseStutler](https://github.com/JesseStutler), [@ouyangshengjia](https://github.com/ouyangshengjia) + +### 昇腾 vNPU 调度 + +v1.14 原生集成了昇腾 vNPU(虚拟 NPU)调度能力,实现昇腾 AI 处理器在多个工作负载之间的高效算力复用。提供两种模式,灵活适配不同部署场景。 + +支持模式: + +**1. MindCluster 模式** + +- 集成自 Ascend MindCluster 调度插件:[mind-cluster](https://gitcode.com/Ascend/mind-cluster) +- 支持昇腾 310P 系列的动态虚拟化 + +**2. HAMi 模式** + +- 由 HAMi 社区开发 +- 同时支持昇腾 310 和 910 系列 +- 支持异构昇腾集群(910A、910B2、910B3、310P) + +调度器配置: + +```yaml +# MindCluster 模式 +- name: deviceshare + arguments: + deviceshare.AscendMindClusterVNPUEnable: true + +# HAMi 模式 +- name: deviceshare + arguments: + deviceshare.AscendHAMiVNPUEnable: true + deviceshare.SchedulePolicy: binpack # 或 spread +``` + +相关 PR:[volcano-sh#4656](https://github.com/volcano-sh/volcano/pull/4656), [volcano-sh#4717](https://github.com/volcano-sh/volcano/pull/4717) + +使用文档:[How to Use vNPU](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/user-guide/how_to_use_vnpu.md) + +感谢社区开发者:[@JackyTYang](https://github.com/JackyTYang), [@DSFans2014](https://github.com/DSFans2014) + +### Volcano Global 增强 + +Volcano Global v0.3.0 引入了两个重要功能,通过基于计算资源和数据局部性的智能调度,显著扩展了 Volcano Global 对 AI/ML 和大数据工作负载的能力。 + +#### HyperJob:多集群作业自动拆分 + +随着 AI 训练工作负载规模和复杂性的增长,企业越来越面临跨多个异构集群管理大规模训练作业的挑战。HyperJob 是构建在 Volcano Job 之上的更高级抽象。它组合多个 Volcano Job 模板,将训练能力扩展到单集群边界之外,同时保留每个集群内现有 Volcano Job 的全部能力。 + +核心能力: + +- Karmada 深度集成:自动生成 PropagationPolicy,精准配置集群亲和性与副本调度。 +- 状态统一聚合:将各集群子任务状态汇总为统一的 HyperJob 状态,全局可观测。 +- 自动资源生成:根据 ReplicatedJob 定义自动创建 VCJob 和 PropagationPolicy。 + +HyperJob 资源示例(跨 2 个集群拆分大规模训练作业,共 256 个 GPU): + +```yaml +apiVersion: training.volcano.sh/v1alpha1 +kind: HyperJob +metadata: + name: llm-training +spec: + replicatedJobs: + - name: trainer + replicas: 2 + templateSpec: + tasks: + - name: worker + replicas: 128 + template: + spec: + containers: + - name: trainer + image: training-image:v1 + resources: + requests: + nvidia.com/gpu: 1 +``` + +#### 数据感知调度 + +在 AI 训练和大数据分析等高性能计算场景中,任务执行不仅依赖计算资源,还严重依赖数据资源。在多集群环境中,调度器可能会将任务分派到与数据源物理距离较远的集群,导致跨地域带宽成本过高和 I/O 延迟过高。 + +数据感知调度框架引入 DataDependencyController,打通了逻辑数据需求与物理集群分布的壁垒。通过外部插件(如 Amoro)实时获取数据分布信息,自动将调度约束注入 Karmada,实现"计算随数据而动"的全自动工作流。 + +核心能力: + +- 插件化架构:可扩展支持 Amoro、Hive、S3 等多种数据系统。 +- 声明式 API:DataSourceClaim / DataSource CRD,采用"声明-缓存"模式。 +- 自动亲和注入:将数据局部性转化为 ClusterAffinity 约束,注入 ResourceBinding。 + +详见:[Volcano Global v0.3.0 Release Notes](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0) + +感谢社区开发者:[@JesseStutler](https://github.com/JesseStutler), [@fx147](https://github.com/fx147), [@Monokaix](https://github.com/Monokaix), [@zhoujinyu](https://github.com/zhoujinyu), [@anryko](https://github.com/anryko), [@tanberBro](https://github.com/tanberBro) + +### Volcano Dashboard v0.2.0 + +Volcano Dashboard v0.2.0 对资源管理能力进行了重大增强,使得通过 Web 界面管理 Volcano 资源更加便捷。 + +核心增强: + +- PodGroup 全景可视化:跨命名空间查看、搜索、过滤 PodGroup,支持 YAML 语法高亮。 +- Job 生命周期管理:直接在界面创建、删除 Volcano Job,操作更便捷。 +- Queue 管理增强:在线编辑 Queue 配额、权重,支持 YAML 直接修改。 +- 安全加固:默认配置 SELinux、Seccomp、非 root 运行及禁止提权,保障生产安全。 + +详见:[Volcano Dashboard v0.2.0 Release Notes](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0) + +感谢社区开发者:[@vzhou-p](https://github.com/vzhou-p), [@Shrutim1505](https://github.com/Shrutim1505), [@JesseStutler](https://github.com/JesseStutler), [@karanBRAVO](https://github.com/karanBRAVO), [@Sayan4444](https://github.com/Sayan4444), [@jayesh9747](https://github.com/jayesh9747), [@Alivestars24](https://github.com/Alivestars24), [@kuldeep](https://github.com/kuldeep), [@Monokaix](https://github.com/Monokaix) + +### 调度器稳定性与性能提升 + +**Reclaim 重构与增强** + +对 Reclaim Action 进行了全面重构,并修复了 Capacity Plugin 中的关键逻辑问题,大幅提升多租户集群资源回收的准确性、稳定性和性能。 + +主要改进: + +- Reclaim Action 重构:重构了 reclaim 工作流,提高代码可读性、可维护性和测试覆盖率。 +- 增强的 Capacity Plugin 逻辑:修复了 `reclaimableFn` 和 `preemptiveFn`,正确处理标量资源并防止错误的抢占决策。 +- 稳定性提升:解决了资源计算中的边缘情况,防止调度死循环和误驱逐。 + +相关 PR:[volcano-sh#4794](https://github.com/volcano-sh/volcano/pull/4794), [volcano-sh#4659](https://github.com/volcano-sh/volcano/pull/4659), [volcano-sh#4919](https://github.com/volcano-sh/volcano/pull/4919) + +感谢社区开发者:[@guoqinwill](https://github.com/guoqinwill), [@hajnalmt](https://github.com/hajnalmt) + +### 支持 Kubernetes 1.34 + +Volcano 版本紧跟 Kubernetes 社区。v1.14 已全面支持最新的 Kubernetes v1.34,并通过完整的单元测试和 E2E 测试保障功能与稳定性。 + +相关 PR:[volcano-sh#4704](https://github.com/volcano-sh/volcano/pull/4704) + +感谢社区开发者:[@suyiiyii](https://github.com/suyiiyii), [@tunedev](https://github.com/tunedev) + +## 总结:Volcano v1.14.0 — AI 时代的统一调度平台 + +Volcano v1.14 是一个里程碑式的版本。通过引入多调度器架构和 Agent Scheduler,Volcano 正式迈入统一调度平台新阶段,既能高效处理批量 AI 训练,又能满足 AI Agent 的极致时延要求。网络拓扑感知增强、通用操作系统混部支持、昇腾 vNPU 集成,进一步夯实了 Volcano 在 AI 基础设施领域的领先地位。 + +同时,Volcano Global v0.3.0 通过 HyperJob 实现大规模分布式训练和数据感知调度,扩展了多集群能力。Volcano Dashboard v0.2.0 通过全面的资源管理功能显著改善了用户体验。 + +立即体验 Volcano v1.14,共启 AI 时代统一调度新篇章! + +## 参考链接 + +- [v1.14.0 发布地址](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0) +- [Volcano Global v0.3.0 发布地址](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0) +- [Volcano Dashboard v0.2.0 发布地址](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0) + +## 致谢 + +Volcano v1.14 生态版本(含 Volcano Global v0.3.0、Dashboard v0.2.0)共有 55 位社区贡献者参与。衷心感谢每一位贡献者! + +| | | | +| --------------- | ------------------ | ---------------- | +| \@3sunny | \@3th4novo | \@acsoto | +| \@Aman-Cool | \@archlitchi | \@dafu-wu | +| \@DSFans2014 | \@FAUST-BENCHOU | \@fengruotj | +| \@Freshwlnd | \@goyalpalak18 | \@guoqinwill | +| \@Haibara-Ai97 | \@hajnalmt | \@halcyon-r | +| \@handan-yxh | \@JackyTYang | \@JesseStutler | +| \@jiahuat | \@kingeasternsun | \@kiritoxkiriko | +| \@kube-gopher | \@LiZhenCheng9527 | \@medyagh | +| \@MondayCha | \@Monokaix | \@mvinchoo | +| \@neeraj542 | \@nitindhiman314e | \@ouyangshengjia | +| \@PersistentJZH | \@qi-min | \@rhh777 | +| \@ruanwenjun | \@RushabhMehta2005 | \@sailorvii | +| \@ssfffss | \@suyiiyii | \@Tau721 | +| \@tunedev | \@wangyang0616 | \@weapons97 | +| \@Wonki4 | \@zhaoqi612 | \@zhengchenyu | +| \@zjj2wry | From e5bfd86c988c323fa68fe2d3d14affd30b563ad9 Mon Sep 17 00:00:00 2001 From: Yash Israni <118755067+yashisrani@users.noreply.github.com> Date: Wed, 24 Jun 2026 10:42:02 +0530 Subject: [PATCH 2/3] docs: removed en from file name and change the date of v1.14.0 blog Co-authored-by: JesseStutler Signed-off-by: Yash Israni <118755067+yashisrani@users.noreply.github.com> --- .../{Volcano-1.14.0-release-en.md => Volcano-1.14.0-release.md} | 2 +- .../{Volcano-1.15.0-release-en.md => Volcano-1.15.0-release.md} | 0 .../{Volcano-1.14.0-release-en.md => Volcano-1.14.0-release.md} | 2 +- .../{Volcano-1.15.0-release-en.md => Volcano-1.15.0-release.md} | 0 4 files changed, 2 insertions(+), 2 deletions(-) rename blog/{Volcano-1.14.0-release-en.md => Volcano-1.14.0-release.md} (99%) rename blog/{Volcano-1.15.0-release-en.md => Volcano-1.15.0-release.md} (100%) rename i18n/zh-Hans/docusaurus-plugin-content-blog/{Volcano-1.14.0-release-en.md => Volcano-1.14.0-release.md} (99%) rename i18n/zh-Hans/docusaurus-plugin-content-blog/{Volcano-1.15.0-release-en.md => Volcano-1.15.0-release.md} (100%) diff --git a/blog/Volcano-1.14.0-release-en.md b/blog/Volcano-1.14.0-release.md similarity index 99% rename from blog/Volcano-1.14.0-release-en.md rename to blog/Volcano-1.14.0-release.md index da184804..b805d153 100644 --- a/blog/Volcano-1.14.0-release-en.md +++ b/blog/Volcano-1.14.0-release.md @@ -2,7 +2,7 @@ title: "Volcano v1.14 Released: Entering a New Era of Unified AI Scheduling" description: "New Features: Agent Scheduler for AI Agent workloads, Dynamic Node Sharding, Network Topology-Aware Scheduling, NPU and vNPU support, CPU Burst and Cgroup V2 support, and more" authors: ["volcano"] -date: 2025-11-30 +date: 2026-1-30 tags: ["release", "volcano", "kubernetes", "scheduling", "agent", "sharding", "npu"] --- diff --git a/blog/Volcano-1.15.0-release-en.md b/blog/Volcano-1.15.0-release.md similarity index 100% rename from blog/Volcano-1.15.0-release-en.md rename to blog/Volcano-1.15.0-release.md diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release.md similarity index 99% rename from i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md rename to i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release.md index a6f1123d..f0bca284 100644 --- a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release-en.md +++ b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.14.0-release.md @@ -2,7 +2,7 @@ title: "Volcano v1.14 重磅发布!迈向 AI 统一调度新纪元" description: "新特性:AI Agent 工作负载极速调度、动态节点分片机制、网络拓扑感知调度增强、NPU 和 vNPU 支持、CPU Burst 和 Cgroup V2 支持等" authors: ["volcano"] -date: 2025-11-30 +date: 2026-1-30 tags: ["release", "volcano", "kubernetes", "scheduling", "agent", "sharding", "npu"] --- diff --git a/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md b/i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release.md similarity index 100% rename from i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release-en.md rename to i18n/zh-Hans/docusaurus-plugin-content-blog/Volcano-1.15.0-release.md From 60d959ef14284b5a8fd9739c1309fe7676ab0d03 Mon Sep 17 00:00:00 2001 From: Yash Israni <118755067+yashisrani@users.noreply.github.com> Date: Fri, 26 Jun 2026 11:24:45 +0530 Subject: [PATCH 3/3] fix: solved gemini's review comments Co-authored-by: JesseStutler Signed-off-by: Yash Israni <118755067+yashisrani@users.noreply.github.com> --- blog/Volcano-1.14.0-release.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/blog/Volcano-1.14.0-release.md b/blog/Volcano-1.14.0-release.md index b805d153..a288145c 100644 --- a/blog/Volcano-1.14.0-release.md +++ b/blog/Volcano-1.14.0-release.md @@ -9,7 +9,7 @@ tags: # Volcano v1.14 Released: Entering a New Era of Unified AI Scheduling -[Volcano](https://volcano.sh/en/) community [v1.14]([volcano-sh/volcano v1.14.0](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0)) is now officially released. As AI workloads evolve from single offline training to diverse scenarios including online inference and AI Agents, the scheduling system faces unprecedented challenges. v1.14 delivers architecture-level innovations that maintain Volcano's advantages in large-scale batch computing while closing the gap for latency-sensitive workloads, taking a solid step toward the goal of becoming a "unified scheduling platform for AI training, inference, RL, and Agent scenarios." +[Volcano](https://volcano.sh/en/) community [v1.14](https://github.com/volcano-sh/volcano/releases/tag/v1.14.0) is now officially released. As AI workloads evolve from single offline training to diverse scenarios including online inference and AI Agents, the scheduling system faces unprecedented challenges. v1.14 delivers architecture-level innovations that maintain Volcano's advantages in large-scale batch computing while closing the gap for latency-sensitive workloads, taking a solid step toward the goal of becoming a "unified scheduling platform for AI training, inference, RL, and Agent scenarios." @@ -77,7 +77,7 @@ Configuration: # Parameter format: name:type:min_util:max_util:prefer_warmup:min_nodes:max_nodes ``` -Related PR: volcano-sh#4777 +Related PR: [volcano-sh#4777](https://github.com/volcano-sh/volcano/pull/4777) Design Doc: [Sharding Controller Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/sharding_controller.md) @@ -97,7 +97,7 @@ Core capabilities: - Enhanced scheduling queue: Optimized queue mechanism supporting urgent task retries, ensuring critical tasks are not blocked. - Unified platform integration: Seamlessly collaborates with the Batch Scheduler through the Sharding Controller, sharing cluster resources. -Related PRs: volcano-sh#4804, volcano-sh#4801, volcano-sh#4805 +Related PRs: [volcano-sh#4804](https://github.com/volcano-sh/volcano/pull/4804), [volcano-sh#4801](https://github.com/volcano-sh/volcano/pull/4801), [volcano-sh#4805](https://github.com/volcano-sh/volcano/pull/4805) Design Doc: [Agent Scheduler Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-scheduler.md) @@ -146,7 +146,7 @@ spec: nvidia.com/gpu: 8 ``` -Related PRs: volcano-sh#4721, volcano-sh#4810, volcano-sh#4795, volcano-sh#4785, volcano-sh#4889 +Related PRs: [volcano-sh#4721](https://github.com/volcano-sh/volcano/pull/4721), [volcano-sh#4810](https://github.com/volcano-sh/volcano/pull/4810), [volcano-sh#4795](https://github.com/volcano-sh/volcano/pull/4795), [volcano-sh#4785](https://github.com/volcano-sh/volcano/pull/4785), [volcano-sh#4889](https://github.com/volcano-sh/volcano/pull/4889) Design Doc: [Network Topology Aware Scheduling](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/Network%20Topology%20Aware%20Scheduling.md) @@ -209,7 +209,7 @@ spec: CPU Burst capability has been extended to general-purpose operating systems. Meanwhile, Volcano Agent now fully supports Cgroup V2 environments with automatic detection of Cgroup version and driver type (e.g., systemd driver), running seamlessly on modern Linux distributions without manual intervention. -Related PRs: volcano-sh#4632, volcano-sh#4945, volcano-sh#4913, volcano-sh#4984 +Related PRs: [volcano-sh#4632](https://github.com/volcano-sh/volcano/pull/4632), [volcano-sh#4945](https://github.com/volcano-sh/volcano/pull/4945), [volcano-sh#4913](https://github.com/volcano-sh/volcano/pull/4913), [volcano-sh#4984](https://github.com/volcano-sh/volcano/pull/4984) Design Docs: [CPU Throttle Design](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/cpu-throttle-design.md), [Agent Cgroup V2 Adaptation](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/design/agent-cgroup-v2-adaptation.md) @@ -247,7 +247,7 @@ Scheduler configuration: deviceshare.SchedulePolicy: binpack # or spread ``` -Related PRs: volcano-sh#4656, volcano-sh#4717 +Related PRs: [volcano-sh#4656](https://github.com/volcano-sh/volcano/pull/4656), [volcano-sh#4717](https://github.com/volcano-sh/volcano/pull/4717) User Guide: [How to Use vNPU](https://github.com/volcano-sh/volcano/blob/v1.14.0/docs/user-guide/how_to_use_vnpu.md) @@ -304,7 +304,7 @@ Core capabilities: - Declarative API: DataSourceClaim / DataSource CRDs using a "declare-cache" pattern. - Automatic affinity injection: Transforms data locality into ClusterAffinity constraints injected into ResourceBinding. -See: [Volcano Global v0.3.0 Release Notes]([volcano-sh/volcano-global v0.3.0](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0)) +See: [Volcano Global v0.3.0 Release Notes](https://github.com/volcano-sh/volcano-global/releases/tag/v0.3.0) Contributors: [@JesseStutler](https://github.com/JesseStutler), [@fx147](https://github.com/fx147), [@Monokaix](https://github.com/Monokaix), [@zhoujinyu](https://github.com/zhoujinyu), [@anryko](https://github.com/anryko), [@tanberBro](https://github.com/tanberBro) @@ -319,7 +319,7 @@ Core enhancements: - Queue management enhancements: Edit Queue quotas and weights online, with direct YAML modification support. - Security hardening: Default configuration with SELinux, Seccomp, non-root execution, and privilege escalation prevention for production safety. -See: [Volcano Dashboard v0.2.0 Release Notes]([volcano-sh/dashboard v0.2.0](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0)) +See: [Volcano Dashboard v0.2.0 Release Notes](https://github.com/volcano-sh/dashboard/releases/tag/v0.2.0) Contributors: [@vzhou-p](https://github.com/vzhou-p), [@Shrutim1505](https://github.com/Shrutim1505), [@JesseStutler](https://github.com/JesseStutler), [@karanBRAVO](https://github.com/karanBRAVO), [@Sayan4444](https://github.com/Sayan4444), [@jayesh9747](https://github.com/jayesh9747), [@Alivestars24](https://github.com/Alivestars24), [@kuldeep](https://github.com/kuldeep), [@Monokaix](https://github.com/Monokaix) @@ -335,7 +335,7 @@ Key improvements: - Enhanced Capacity Plugin logic: Fixed `reclaimableFn` and `preemptiveFn` to correctly handle scalar resources and prevent incorrect preemption decisions. - Stability improvements: Resolved edge cases in resource computation, preventing scheduling deadlocks and erroneous evictions. -Related PRs: volcano-sh#4794, volcano-sh#4659, volcano-sh#4919 +Related PRs: [volcano-sh#4794](https://github.com/volcano-sh/volcano/pull/4794), [volcano-sh#4659](https://github.com/volcano-sh/volcano/pull/4659), [volcano-sh#4919](https://github.com/volcano-sh/volcano/pull/4919) Contributors: [@guoqinwill](https://github.com/guoqinwill), [@hajnalmt](https://github.com/hajnalmt) @@ -343,7 +343,7 @@ Contributors: [@guoqinwill](https://github.com/guoqinwill), [@hajnalmt](https:// Volcano keeps pace with the Kubernetes community. v1.14 fully supports the latest Kubernetes v1.34, with comprehensive unit tests and E2E tests ensuring functionality and stability. -Related PR: volcano-sh#4704 +Related PR: [volcano-sh#4704](https://github.com/volcano-sh/volcano/pull/4704) Contributors: [@suyiiyii](https://github.com/suyiiyii), [@tunedev](https://github.com/tunedev) @@ -363,8 +363,8 @@ Meanwhile, Volcano Global v0.3.0 extends multi-cluster capabilities through Hype Volcano v1.14 ecosystem releases (including Volcano Global v0.3.0 and Dashboard v0.2.0) had 55 community contributors. Sincere thanks to every contributor! -| | | | -| -------------- | ----------------- | --------------- | +| | | | +| --------------- | ------------------ | ---------------- | | \@3sunny | \@3th4novo | \@acsoto | | \@Aman-Cool | \@archlitchi | \@dafu-wu | | \@DSFans2014 | \@FAUST-BENCHOU | \@fengruotj | @@ -380,4 +380,4 @@ Volcano v1.14 ecosystem releases (including Volcano Global v0.3.0 and Dashboard | \@ssfffss | \@suyiiyii | \@Tau721 | | \@tunedev | \@wangyang0616 | \@weapons97 | | \@Wonki4 | \@zhaoqi612 | \@zhengchenyu | -| \@zjj2wry | +| \@zjj2wry | | |