Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions content/en/docs/key-features/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
+++
title = "Key Features"
linktitle = "Key Features"
type = "docs"
toc = true

[menu.docs]
parent = "scheduler"
weight = 2
+++

## Overview

Volcano is a cloud-native batch system built on Kubernetes, designed to run high-performance workloads such as AI, Big Data, and HPC jobs efficiently. This section introduces the key features that make Volcano powerful and flexible for diverse scheduling scenarios.

## Core Capabilities

### Unified Scheduling on Kubernetes
Volcano is fully compatible with Kubernetes and provides unified scheduling capabilities for batch workloads, online services, and mixed workloads within a single cluster.

### Gang Scheduling
Volcano supports gang scheduling, ensuring that a group of related pods are scheduled together or not at all. This is critical for distributed workloads such as MPI and deep learning training.

### Hierarchical Queues
Hierarchical queues allow users to organize workloads into multi-level queues with fine-grained resource control, improving fairness and utilization across teams and applications.

### Colocation of Online and Offline Workloads
Volcano enables colocation of latency-sensitive online services and resource-intensive offline jobs, improving overall cluster utilization.

### Extensible Scheduling Plugins
Volcano provides a rich plugin system that allows users to customize scheduling behavior for different scenarios, such as GPU scheduling, topology-aware scheduling, and resource fairness.
68 changes: 68 additions & 0 deletions content/en/docs/key-features/hierarchical-queue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
+++
title = "Hierarchical Queue"
linktitle = "Hierarchical Queue"
type = "docs"
toc = true

[menu.docs]
parent = "Key Features"
weight = 1
+++

## Overview

Hierarchical Queue is a core scheduling feature in Volcano that allows users to organize workloads into multi-level queues. It enables fine-grained resource management and fair sharing across teams, applications, or business units.

By structuring queues hierarchically, cluster administrators can better control how resources are allocated and ensure that critical workloads receive appropriate priority.

---

## Why Hierarchical Queue Is Needed

In shared Kubernetes clusters, multiple teams and applications often compete for limited resources. Without proper queue management, some workloads may starve while others monopolize resources.

Hierarchical queues address this problem by:
- Providing isolation between different teams or workloads
- Enforcing resource quotas at different levels
- Improving overall cluster fairness and utilization

---

## Queue Models in Volcano

Volcano supports different queue models to meet various scheduling requirements.

### Capacity Queue

A capacity queue defines the **maximum amount of resources** that a queue can use. If a queue reaches its capacity limit, additional workloads must wait until resources are freed.

Capacity queues are useful when:
- Strong resource isolation is required
- Teams have fixed resource budgets
- Predictable resource usage is important

---

### Proportion Queue

A proportion queue allocates resources based on a **percentage of the total cluster capacity**. Resources are distributed proportionally among queues according to their configured shares.

Proportion queues are useful when:
- Workloads are dynamic
- Fair sharing is preferred over strict limits
- Clusters need to adapt to changing demand

---

## Typical Use Cases

Hierarchical queues are commonly used in scenarios such as:
- Multi-tenant clusters shared by multiple teams
- AI and big data platforms with diverse workloads
- Enterprises requiring both fairness and isolation in scheduling

---

## Next Steps

This page provides a high-level introduction to hierarchical queues. Detailed configuration examples and advanced scheduling policies will be covered in follow-up documentation.