Building a Custom Linux CPU Scheduler with sched_ext

Time
2025年8月09日 15:00 ~ 15:30
Speaker
EricccTaiwan (周呈陽), 邱柏穎
Room
TR213
Collaborative Notes
https://hackmd.io/rkeYccb_le
MandarinElementary
System Software

Abstract

“I’m also not a believer in the argument that has been used (multiple times) that the BPF scheduler would keep people from participating in scheduler development.” - Linus Torvalds

Introduced in Linux v6.12, sched_ext (scx) empowers developers to implement custom CPU schedulers using eBPF, enabling dynamic loading and replacement of schedulers from user space. This talk explores integrating machine learning with scheduling, leveraging BPF maps to aggregate event data and dynamically adjust time slices, CPU affinity, and task migration based on inference results. Key discussion points include:

  • A review of CFS and EEVDF
  • Innovations and mechanisms behind sched_ext
  • Evolution from custom FCFS/RR schedulers to ML-based load prediction and adaptation
  • Retargeting upstream schedulers

About the Speaker

EricccTaiwan (周呈陽)

EricccTaiwan (周呈陽)

Cheng-Yang Chou is currently pursuing graduate studies at the Institute of Computer and Communication Engineering, National Cheng Kung University. He has interned at both an IC design company and a startup, gaining solid hands-on experience in low-level system development. Recently, he has been focusing on research related to the Linux scheduler and sched_ext, and is deeply passionate about Linux kernel development. He is actively seeking career opportunities in fields related to Linux system development.

LinkedIn: https://www.linkedin.com/in/yphbchou0911/

GitHub: https://github.com/EricccTaiwan

Kernel Contribution: https://lore.kernel.org/all/?q=yphbchou0911

周呈陽目前就讀於成功大學電腦與通信工程研究所,曾於 IC 設計公司與新創公司擔任實習生,累積了扎實的底層實務經驗。近期專注於 Linux 排程器與 sched_ext 的研究,對 Linux 核心開發懷抱高度熱忱,期望能投入相關領域,尋找與 Linux 系統開發相關的職涯機會。

邱柏穎

邱柏穎

就讀於成功大學電腦及通訊工程學系,近期致力於研究 Linux 核心排程機制,並學習 sched_ext 相關內容。