Thanks to visit codestin.com
Credit goes to github.com

Skip to content

MCP Server for Linux Scheduler Management and Auto optimization

License

Notifications You must be signed in to change notification settings

wallentx/schedcp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

321 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SchedCP - Automatically Optimize Linux Scheduler with MCP Server

WIP: We are building a benchmark for evaluating the optimizations for OS!

SchedCP is an experimental project that enables AI optimization of Linux kernel schedulers using the sched-ext framework. It provides e2e automatic scheduler selection/synthesis, workload profiling, and performance optimization without any human intervention or guidance.

Paper: SchedCP: Towards Agentic OS

The future is not just about letting AI write code for you; the AI agent should act as your system administrator, able to optimize anything for you automatically, without requiring any manual intervention!

It includes the following tools:

  • autotune - AI Agent-powered automatic OS optimization
  • schedcp - MCP server for scheduler management and generation

Demo

Start optimize any workload with AI by simply run:

autotune/target/release/autotune cc "<your workload command>"
# example for linux build
autotune/target/release/autotune cc "make -C workloads/linux-build-bench/linux clean -j && make -C workloads/linux-build-bench/linux -j" 
# example for schbench
autotune/target/release/autotune cc  workloads/basic/schbench/schbench

Allow LLM Agent to auto select and config the best scheduler:

document/schbench-optimize.gif

Allow LLM Agents to write new schedulers:

Features & design

  • Automatic workload profiling
  • Automatic scheduler selection based on workload characteristics
  • Performance tracking across different schedulers
  • Real-time scheduler management and generation

document/design.png

The current MCP tools include:

  • list_schedulers - Get detailed information about all available schedulers
  • run_scheduler - Start schedulers with custom configurations
  • stop_scheduler - Stop running scheduler instances
  • get_execution_status - Monitor scheduler performance and output
  • create_and_verify_scheduler - Create custom BPF schedulers from source code
  • system_monitor - Collect real-time CPU, memory, and scheduler metrics
  • workload - Manage workload profiles and execution history

Installation

Requirements

  • Linux kernel 6.12+ with sched-ext support
  • Rust toolchain

The major dependencies are the dependencies for the sched-ext framework. You can check the github.com/sched-ext/scx for more details.

You also need to install the deps for the workloads you want to optimize.

Build

# Clone with submodules
git clone https://github.com/eunomia-bpf/schedcp
cd schedcp
git submodule update --init --recursive scheduler/scx

# Build schedulers
cd scheduler && make && make install && cd ..
# Build autotune
cd autotune && cargo build --release && cd ..
# Build MCP server
cd mcp && cargo build --release && cd ..

Usage

You should run the claude-code on project root directory.

Autotune (Recommended)

# Set sudo password
export SCHEDCP_SUDO_PASSWORD="your_password"

# Optimize any workload
./autotune/target/release/autotune cc "<your workload command>"

MCP Server

check the .mcp.json for more details. You can just open the claude-code on the

CLI Tool

export SCHEDCP_SUDO_PASSWORD="your_password"

# List schedulers
./mcp/target/release/schedcp-cli list

# Run a scheduler
./mcp/target/release/schedcp-cli run scx_rusty --sudo

# Check status
./mcp/target/release/schedcp-cli status

Artifact from Paper

Artifact for reproducing results from "Towards Agentic OS: An LLM Agent Framework for Linux Schedulers" (arXiv:2509.01245).

Evaluation Workloads

1. Linux Kernel Build

2. schbench

3. Batch Workloads

Related Projects

License

See LICENSE for details.

About

MCP Server for Linux Scheduler Management and Auto optimization

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 74.0%
  • Python 17.9%
  • Rust 5.7%
  • Makefile 1.1%
  • C++ 0.8%
  • Shell 0.5%