FB 建議貼文

選取貼文複製成功(包含文章連結)!

Valve神救援!Valve掌機上的SCX-LAVD排程器,讓Meta雲端伺服器也變順暢

Valve神救援!Valve掌機上的SCX-LAVD排程器,讓Meta雲端伺服器也變順暢

根據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 處理任務佇列和時間片的方式,增加了保護快取局部性的邏輯,並對被網路中斷淹沒的核心進行補償處理。關鍵在於,所有修復都不需要人工硬式編碼規則,都是根據觀察到的行為自動觸發。

 

 

IFENG
作者

鳳凰網(科技),集綜合資訊、視訊分發、原創內容製作、網路廣播、網路直播、媒體電商等多領域於一身,並於2011年在紐交所上市(紐交所代碼:FENG),成為全球首個從傳統媒體分拆上市的新媒體公司。

使用 Facebook 留言
發表回應
謹慎發言,尊重彼此。按此展開留言規則