根據Tom's Hardware報導,最近於東京舉行的 Linux Plumbers 大會上,Meta 的工程師透露,他們已經將 Valve 為 Steam Deck 掌上遊戲機開發的 SCX-LAVD 排程器,大規模部署到他們的生產伺服器上。
CPU 排程器負責決定哪些程式在什麼時候使用 CPU 核心。Linux 預設的排程器在設計之初,是為了兼顧手機、筆電和伺服器等所有裝置,因此其策略相對保守。
然而,Meta 面對的是擁有數百個核心的巨型機器,以及嚴格的延遲目標,這種「通用型」方案無法滿足他們的需求。Meta 既不希望為每項服務單獨客製化排程器,也不願意依賴需要手動最佳化的配置,最後選擇了能夠自動適應負載變化、來自 Valve 的 SCX-LAVD,作為整個系統的通用解決方案。
SCX-LAVD 直接翻譯為「延遲感知虛擬截止時間排程器」,它是一種智慧指揮系統,並不是看任務的「品牌」(靜態優先級),而是看任務急不急(行為監測)。如果發現某個任務經常急停急走(對延遲很敏感),它就會給這個任務開綠燈,確保它不會遲到。
不同於依賴靜態優先級或人工指令的傳統方案,這個排程器會持續觀察任務的睡眠、喚醒和阻塞頻率,並據此估算出哪些任務對延遲很敏感,為它們設定更早的「虛擬截止時間」。
這個排程器原本旨在解決遊戲影格率下降與輸入延遲的問題,現在被證實能高效管理 Meta 龐大的資料中心工作負載,目前已在 Meta 的生產環境中廣泛執行,負責管理從訊息後端到快取服務等各式各樣的核心業務。
在 Steam Deck 掌上遊戲機上,錯過截止時間意味著影格率下降或卡頓;而在資料中心,這則表現為網頁請求變慢或訊息延遲。儘管應用情境截然不同,但兩者解決的底層邏輯完全一致。
不過,將面向掌上遊戲機的排程器擴展到伺服器級硬體並非易事。Meta 工程師指出,當數十個核心共享同一個排程佇列時,競爭會變成瓶頸,而且固定核心任務(Pinned tasks)也會產生不必要的干擾。
為此,團隊調整了 LAVD 處理任務佇列和時間片的方式,增加了保護快取局部性的邏輯,並對被網路中斷淹沒的核心進行補償處理。關鍵在於,所有修復都不需要人工硬式編碼規則,都是根據觀察到的行為自動觸發。
- 延伸閱讀:Meta防詐再進化!臉部辨識、廣告主驗證多管齊下,狂掃780萬詐騙廣告
- 延伸閱讀:AI 智慧眼鏡大評比:Meta、HTC、小米、OPPO,誰的 AI 應用最實用?選購指南一次看懂
- 延伸閱讀:祖克柏的元宇宙夢終於醒了?Meta 傳重組裁員,資源全梭哈 AI 智慧眼鏡

