[CNCF LFX Proposal] Volcano Generic xPU Topology-Aware Scheduling
- Dominant language
- JavaScript
- Stars
- 3.1k
- Forks
- 816
- Avg merge
- 12h 32m
- Merged PRs (30d)
- 8
Description
### CNCF Project
Volcano
### Term
2026 Term 3 (Sep-Nov)
### Program Name
Generic xPU Topology-Aware Scheduling
### Program Description
Volcano currently schedules xPU resources mainly by their aggregate quantity on each Node, without considering whether the available devices belong to the same physical interconnect domain. For example, a 16-NPU server may contain two independent 8-NPU HCCS domains: eight free devices split across both domains cannot satisfy an 8-device same-domain request. Similar constraints exist for NVLink-connected GPU groups, NVSwitch fabrics, ordinary multi-node clusters with only node-local xPU interconnects, and cross-node fabrics such as GB200 NVL72.
This project will add a generic scheduler-side xPU topology-aware plugin to Volcano. The scheduler will select an appropriate HyperNode or fabric domain, Node, local device domain, and concrete device IDs before binding. It will support required and preferred topology affinity, track device availability and reservations, and coordinate device planning and rollback for gang workloads.
Topology ingestion must be independent of scheduling policy. A generic provider interface will normalize data from Node annotations, topology CRDs, Device Plugin companion components, vendor APIs, or DRA `ResourceSlice`s into one scheduler-facing model. The initial implementation can use mock topology data and KWOK, without requiring physical NVL72 or other accelerator hardware.
**Expected outcomes**
1. Define a vendor-neutral topology model and provider interface for node-local device domains and cross-node fabric domains, including their relationship with HyperNode. The scheduling logic must remain independent of whether topology is reported through Node annotations, CRDs, Device Plugins, vendor APIs, or DRA.
2. Implement an optional topology-aware scheduling plugin that filters and scores placements using actual domain availability, selects concrete device IDs, and supports gang-level planning, reservation, and rollback. Topology state should be integrated into Volcano's existing scheduler cache and updated incrementally.
3. Validate correctness and performance with KWOK-based scenarios covering multi-domain Nodes, multi-node workloads without a cross-node xPU backplane, and an NVL72-style fabric. Deliver benchmark results, tests, documentation, and examples. Integration with a mock or real Device Plugin is desirable but not required for project validation.
### Technologies
Go, Kubernetes, Volcano, Kubernetes scheduling, Device Plugin, Dynamic Resource Allocation
### Skills same as Technologies?
- [ ] Yes, the required skills are the same as the technologies listed above.
### Required/Desirable Skills
Strong Go programming and hands-on Kubernetes experience; familiarity with scheduler; practical experience with GPUs or other xPUs, accelerator resource management; experience with Volcano, Kubernetes Device Plugins, DRA, NVLink, NVSwitch, HCCS, or similar accelerator interconnects is a plus
### Mentors
Zicong Chen(Jesse Stutler) | @JesseStutler | jessestutler97@gmail.com | jessestutler
Yang Wang | @wangyang0616 | wangyang8216@gmail.com | wangyang0616
João Azevedo | @devzizu | jazevedo960@gmail.com | joaoprazevedo
Hajnal Mate | @hajnalmt | hajnalmt@gmail.com | hajnalmt
### Upstream Issue URL
https://github.com/volcano-sh/volcano/issues/5751
### Application Prerequisites
- [x] Resume
- [x] Cover Letter
- [ ] School Enrollment Verification
- [ ] Participation Permission from school or employer
- [ ] Coding Challenge
- [ ] Custom Prerequisite (fill in details below)
### Coding Challenge URL
_No response_
### Custom Prerequisite Name
_No response_
### Custom Prerequisite Description
_No response_
### Custom Prerequisite — File Upload
- [ ] Yes — completion of this task requires the mentee to submit a file.
---
**LFX program:** [CNCF - Volcano: Generic xPU Topology-Aware Scheduling (2026 Term 3)](https://mentorship.lfx.linuxfoundation.org/project/087b7172-482e-4ae8-af7a-a27f56fbe09f)
Contributor guide
Research direction
Start with upstream Volcano issue #5751 and the proposal's scheduler-side topology-aware plugin requirements. Review how the existing scheduler cache and Kubernetes resource mechanisms are organized before defining the vendor-neutral topology model and provider boundary. Done means topology-aware filtering, scoring, device selection, gang planning, reservation, rollback, KWOK validation, benchmarks, tests, documentation, and examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100