Koordinator logo
CNCFInfrastructure & CloudLast term 2026 T2

Koordinator

A QoS-based scheduling system brings optimal layout and status to workloads such as microservices, web services, big data jobs, AI jobs, etc.

4
Projects
1
Years active
4
In 2026 T2
View on the LFX portal GitHubWebsite
  • Go
  • Kwok
  • kube-scheduler internals
  • scheduler_perf
  • +17

Projects

4

2026

4 projects

Term 2 · Jun-Aug · 4 projects

  • End-to-End Performance and Scalability Test Harness for Koordinator Scheduler

    LFX Mentorship · Listed in the official cohort

    As the Koordinator scheduler grows additional plugins (NUMA, Device Sharing, Reservation, Coscheduling, ElasticQuota), the project needs a continuous, lightweight performance harness to detect regressions and validate scaling targets defined in the 2026 roadmap. This project will build a Kwok-based simulation framework that drives realistic workload mixes (LSR/LS/BE, gang, reservations, GPU sharing) at scale (target 10k-100k pods), captures throughput, queueing latency, and per-plugin profiling data, and publishes results from a scheduled GitHub Actions workflow.

    • Go
    • Kwok
    • kube-scheduler internals
    • scheduler_perf
    • GitHub Actions and shell scripting
  • Fragmentation-Aware Rescheduling and Scale-Down Binpack for Koordinator

    LFX Mentorship · Listed in the official cohort

    Resource fragmentation in a cluster has two common sources: (1) intra-node imbalance between resource types — e.g. a node reaches 90% CPU allocation while memory allocation stays at 50%, leaving memory stranded; and (2) scale-down that evicts the "wrong" pods, leaving many nodes partially filled instead of fully drained. Koordinator currently has no dedicated strategy for either case. This project will add two coordinated capabilities: a descheduler plugin that detects nodes whose per-resource allocation imbalance (measured via standard deviation, consistent with the kube-scheduler NodeResourcesBalancedAllocation plugin) exceeds a configurable threshold and evicts pods whose removal most reduces the std; and a scale-down binpack strategy that, when upper-layer controllers scale workloads down, picks pod victims so that remaining allocations are concentrated on fewer nodes (inspired by Volcano's scale-down binpack). Both capabilities will reuse Koordinator's ReservationFirst eviction mode to preserve workload stability, and cooperate with the scheduler's NodeResourcesBalancedAllocation so rebalanced pods land on better-balanced nodes.

    • Go
    • Kubernetes descheduler and scheduler-framework internals
    • Understanding of resource allocation metrics
    • binpack algorithms
    • and eviction safety
  • Native Support for AI Agent Orchestration and High-Concurrency Sandbox Scheduling

    LFX Mentorship · Listed in the official cohort

    AI agentic workflows (multi-agent collaboration frameworks, automated evaluation systems such as SWE-bench) frequently spawn and tear down large numbers of short-lived sandboxes (gVisor, Wasm, Kata Containers) to execute skills or tools. Current Kubernetes scheduling models are too heavy for these transient workloads, causing high latency, weak isolation, and APIServer pressure. This project will extend Koordinator to provide first-class support for AI agent scenarios by integrating sandbox runtimes with Koordinator QoS classes, implementing equivalence-class scheduling for near-identical sandbox requests, and introducing a dedicated Sandbox Pipeline that handles pre-warming, capacity reservation, and actionable scheduling feedback to enable agent self-healing.

    • Go
    • Kubernetes scheduler-framework
    • CRDs
    • controllers
    • Familiarity with sandbox runtimes (gVisor/Kata/Wasm)
    • Performance profiling and benchmarking
  • Plugin-level Cache and Nominator Shared Across Scheduler Profiles

    LFX Mentorship · Listed in the official cohort

    Today most Koordinator scheduler plugins (DeviceShare, NodeNUMAResource, Reservation, etc.) keep their own private cache per scheduling framework/profile, so configuring multiple profiles in a single KubeSchedulerConfiguration produces duplicated plugin caches even though the upstream SchedulerCache and PodNominator are singletons per scheduler instance. This duplication wastes memory, desynchronizes state across profiles, and exposes correctness bugs: in RunFilterPluginsWithNominatedPods, AddPod is invoked for pods that are still in scheduling and are therefore missing from nodeDeviceCache's used map, which causes DeviceShare and NodeNUMAResource to fail to reserve resources for high-priority pods in RDMA / VF / NV-Switch scenarios. This project will introduce a unified plugin-level Cache and Nominator abstraction that is shared across all profiles in the same scheduler instance, correctly integrates with Reserve / UnReserve lifecycle hooks, and fixes the AddPod / RemovePod handling for high-priority device and NUMA workloads.

    • Go
    • Deep understanding of the Kubernetes scheduler-framework (Cache
    • PodNominator
    • Reserve/UnReserve)
    • Familiarity with device plugins
    • NUMA topology
    • +2

Mentors

3