COSCUP 2026 開源人年會

許育瑋

Ave Mujica 演唱會抽到票了,真是奇蹟

21 歲,是個學生

修了 Linux 核心設計之後踏上了探索系統軟體的旅途。
之前把系上必修課做的奇怪「微電腦」搬到 SITCON Demo 展出,最近在研究 SCX 和複習統計學。

GitHub: weiso131


議程

年8月9日
10:50
30 分鐘
藉由 sched_ext 客製化低延遲 CPU 排程器
許育瑋

「為什麼遊戲又突然卡了一下?」的答案往往並非 CPU 不夠快,而是 CPU 排程器把運算資源分給那些遊戲玩家根本不在意的背景任務。

Linux 的 EEVDF 排程器以 fairness 為主要目標,並透過 EWMA 估計負載。然而,fairness 不等於流暢體感、EWMA 只能反映短期變化,因此延遲敏感的工作負載常出現不穩定的表現。scx_teddy 是一款針對遊戲場景、建構在機器學習之上的 CPU 排程器,利用 Linux v6.12+ 引入的 sched_ext (SCX),其目標不是要求使用者手動指定重要任務,而是讓系統自行辨識哪些是影響遊戲流暢度的關鍵操作、哪些只是可退讓的背景任務,進而依據遊戲期望調整。

本系統會在 Linux 核心內部長期觀測任務行為特徵,如 runtime、sleep、iowait 等,再於使用者層級藉由 K-means 進行非監督式分群。完成分類後,scx_teddy 便可依據針對遊戲情境設計的 cluster policy,動態調整優先級、time slice,以及是否獨佔處理器。

本議程將介紹 scx_teddy 的設計與實作,包括:
* 為何選擇 ML,而非規則式分類
* 特徵工程與行為指標的取捨
* eBPF 與 user space 的資料管線設計
* 與既有 SCX 排程器(如 scx_cake)的差異與實驗結果

目標不是追求更高的 benchmark 分數,而是讓系統真正理解:哪些工作會影響玩家體感,哪些則不值得搶佔遊戲的執行時間。

System Software
TR213