Skip to content

Add Cloud Native AI Scheduling Challenges Whitepaper#2164

Merged
angellk merged 1 commit into
cncf:mainfrom
rajaskakodkar:scheduling-whitepaper
Jul 12, 2026
Merged

Add Cloud Native AI Scheduling Challenges Whitepaper#2164
angellk merged 1 commit into
cncf:mainfrom
rajaskakodkar:scheduling-whitepaper

Conversation

@rajaskakodkar

Copy link
Copy Markdown
Contributor

Adds the Cloud Native Scheduling Challenges Whitepaper

@rajaskakodkar
rajaskakodkar requested review from a team as code owners May 15, 2026 16:51
@github-actions github-actions Bot added needs-triage Indicates an issue or PR that has not been triaged yet (has a 'triage/foo' label applied) needs-kind Indicates an issue or PR that is missing an issue type or kind (a kind/foo label) needs-group Indicates an issue or PR that has not been assigned a group (toc or tag/foo label applied) and removed needs-triage Indicates an issue or PR that has not been triaged yet (has a 'triage/foo' label applied) needs-kind Indicates an issue or PR that is missing an issue type or kind (a kind/foo label) needs-group Indicates an issue or PR that has not been assigned a group (toc or tag/foo label applied) labels May 15, 2026

@andreyvelich andreyvelich left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this effort @rajaskakodkar!
Overall, looks great, I left few thoughts.

riaankleinhans added a commit to cncf/automation that referenced this pull request May 22, 2026
processLabelRule previously computed `shouldApply = !foundNamespace`
unconditionally, so a `kind: label` rule with `matchCondition: AND`
behaved identically to a `NOT` rule. Paired NOT/AND rules (e.g. apply
`needs-triage` when no `triage/*` exists, remove it when one does) ended
up firing in exactly the wrong situations: on a fresh PR with no labels
the labeler would add `needs-triage`/`needs-kind`/`needs-group` and
immediately remove them in the same run, and when a `triage/*` label was
later added manually via the UI the paired `needs-*` label would never
be cleared.

Also teach the label-rule `match` parser to understand a single level of
comma-separated brace alternation such as `{toc,tag/*,sub/*}`.
`filepath.Match` on its own does not support braces, so previously such
a pattern only matched a literal label whose name began with `{`.

Adds focused tests for both behaviors, including a regression test that
mirrors the cncf/toc#2164 scenario.

Co-authored-by: Cursor <cursoragent@cursor.com>
Signed-off-by: Riaan Kleinhans <riaankleinhans@gmail.com>
@brandtkeller brandtkeller linked an issue May 29, 2026 that may be closed by this pull request
@angellk
angellk requested review from angellk and salaboy June 2, 2026 15:49

| Stage | Primary Resources | Duration | Scheduling Characteristics |
| :---- | :---- | :---- | :---- |
| Data Preparation | CPU, storage I/O, network | Minutes to hours | Parallelizable, event-driven, no gang requirement |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's helpful to denote that there is no gang requirement -- could you please rephrase your suggesetion @andreyvelich


### **Traditional HPC Schedulers: Task-Level Scheduling**

In traditional high-performance computing (HPC) environments, schedulers such as Slurm operate at the task level (also called a rank or process group member).

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we need link for Slurm? are there other schedulers in that space? Is Slurm the most used one? Asking for context.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd defer to @catblade on this one.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocker - recommend publishing if all comments are resolved and this can be included in the next version


This model naturally supports gang scheduling, topology-aware placement, and reservation-based execution. These capabilities are particularly well-suited for model training workloads.

In HPC-style schedulers, the scheduling unit is a task within a job, with all tasks scheduled together.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would love to see a diagram here, to make the relationship between the concepts such as tasks and jobs more easily understandable for people that haven't use these systems in the past.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not a blocker - recommend publishing if all comments are resolved and this can be included in the next version

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@catblade @asm582 any ideas for diagram here?

* New data arrives in a storage bucket → trigger a data preparation pipeline
* A model training job completes → trigger an evaluation job
* An upstream job fails → trigger a notification or retry

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

having a diagram here might also help to solidify how concepts connect to each other.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though helpful, not a blocker - recommend publishing if all comments are resolved and this can be included in the next version

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A diagram here would be pretty straight-forward on the text mentioned. I wonder if it would add any value.

@salaboy

salaboy commented Jun 11, 2026

Copy link
Copy Markdown

Folks, congratulations, these papers are great reads. I've added some comments to improve the reader experience, but besides that this looks awesome.

I've noticed that some terms like (all-reduce) have no references and for the non ML/AI engineer those thing might require some concrete references, as they are mentioned in several places.

I can't wait for this to get published.

@riaankleinhans riaankleinhans added toc toc specific issue triage/valid Issue or PR is valid with enough information to be actionable kind/publication Item related to a publication (blog, tech-paper, etc.) pub/tech-paper Technical paper / whitepaper publication labels Jun 16, 2026

@mesutoezdil mesutoezdil left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two small fixes: a broken markdown link in paper 3 (gang scheduling section) and missing references for the all-reduce term, which salaboy noted has no citations for readers unfamiliar with ML.


| Stage | Primary Resources | Duration | Scheduling Characteristics |
| :---- | :---- | :---- | :---- |
| Data Preparation | CPU, storage I/O, network | Minutes to hours | Parallelizable, event-driven, no gang requirement |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you clarify please @angellk? As I mentioned data processing jobs might also require gang-scheduling requirements to ensure driver and executors have sufficient capacity to run.
The only differences is that such jobs can tolerate executor failures, which is uncommon for training jobs.

This is what I ment by elastic by nature

@pmady

pmady commented Jun 24, 2026

Copy link
Copy Markdown

+1 on @kfaseela point about keda in the scalability row. the whitepaper covers scheduling well but gpu-aware autoscaling is the runtime counterpart once a workload is scheduled, something still needs to scale it based on actual gpu load.

kubernetes hpa can't see gpu utilization, so the common path is dcgm-exporter → prometheus → keda. that works but adds latency. i maintain keda-gpu-scaler which reads nvml directly from a daemonset — same approach documented in kedacore/keda#7538. might be worth a mention in the solutions section alongside the prometheus-based patterns.

also +1 on @archlitchi re: HAMi. i've contributed to HAMi (#1893) and the topology-awareness piece is relevant to the numa/scheduling challenges covered in section 4.

@rajaskakodkar
rajaskakodkar force-pushed the scheduling-whitepaper branch from 4133a2b to 23510aa Compare July 12, 2026 20:20
@rajaskakodkar
rajaskakodkar requested a review from angellk July 12, 2026 20:20
Signed-off-by: Rajas Kakodkar <rajaskakodkar16@gmail.com>
@rajaskakodkar
rajaskakodkar force-pushed the scheduling-whitepaper branch from 23510aa to 81d3652 Compare July 12, 2026 20:25

@angellk angellk left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! thanks for addressing all the blocker comments @rajaskakodkar - any outstanding comments can be saved for the next version of this whitepaper

@salaboy
salaboy self-requested a review July 12, 2026 21:19

@salaboy salaboy left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@angellk
angellk merged commit 33ab249 into cncf:main Jul 12, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from New to Done in CNCF TOC Board Jul 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/publication Item related to a publication (blog, tech-paper, etc.) pub/tech-paper Technical paper / whitepaper publication toc toc specific issue triage/valid Issue or PR is valid with enough information to be actionable

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

[Initiative]: Cloud Native AI Scheduling Challenges Whitepaper