龍蜥白皮書精選:敏捷開發場景下的排程器熱升級 SDK
文/Cloud Kernel SIG
01 背景概述
不同的應用程式,通常需要不同的排程策略來最佳化效能。而核心釋出週期很長,升級核心的成本通常較高,最佳化無法快速規模化部署。並且針對特定應用的排程器最佳化,常常造成其他場景的效能回退,發生問題也難以回滾。透過傳統熱修復技術,可以在不升級核心的情況下,實現核心區域性更新和最佳化,針對性提升一些應用的效能。但傳統技術無法實現整個子系統升級,不支援大型排程特性,停機時間長。而排程器熱升級技術解決了以上問題。
02 技術方案
排程器熱升級 SDK 透過模組化、資料重建、熱替換等技術,實現排程器研發、測試、上線、維護的敏捷化和定製化。其中,模組化技術自動地從核心中解耦出排程器模組程式碼,面向核心開發者提供敏捷開發的 SDK 。熱替換技術使得管理員可在毫秒級 downtime 內部署。資料重建技術將資料狀態從升級前的排程器遷移到升級後的排程器。透過這些技術,可以實現定製化排程器,從而解決不同應用和負載需要不同排程器的問題,並實現生產可用。相關論文「Efficient Scheduler Live Update for Linux Kernel with Modularization 」已經發表在體系結構頂會 ASPLOS '23 上。軟體架構如下圖所示:
方案相容多架構、核心版本。已測試透過的包括 AArch64、x86-64 架構,4.19、5.10 系列核心。對 3.10 系列核心提供有限支援。方案同時支援各種排程器特性,經測試驗證透過的包括以下:微型排程器、物理核排程器(Core Scheduling)、刪除限流功能(CFS bandwidth control)、龍蜥 CPU 混部特性等、上游 Linux 社群的各種 bugfix。
03 應用場景及效能收益
排程器熱升級 SDK 適合於下面幾種場景,這些場景均已得到驗證。
-
架構上有針對特殊硬體、應用、負載來定製化排程器的需求。
-
管理員不能切換核心,或週期很長;或由於社群運作停止核心版釋出和維護。
-
核心開發者需要敏捷且可回滾地開發測試上線排程器。
某雲 Serverless 服務,透過排程器熱升級 SDK,將 Linux 上游物理核排程器特性,以及基於之上自研的算力穩定技術,安裝到龍蜥 4.19 核心老系統上。最後透過這一最佳化,他們的客戶例項減少了約 10% 的 P99 延遲,並降低了效能的抖動,還大幅降低了啟動時間。驗證了排程器熱升級方便支援大型特性以及擴充套件研發的能力。
某網際網路金融服務公司,利用排程器熱升級 SDK,敏捷地將他們自研的排程器最佳化安裝到他們的核心業務中。包括了 Linux CFS 排程器和龍蜥核心的 CPU 資源隔離技術的最佳化。穩定減少了 5% 的 CPU 資源浪費,同時降低業務 rt。上線過程中,在 40,000 執行緒的環境中,停機時間小於 12 ms。最終最佳化效果得到運維人員的認可,排程器熱升級 SDK 的易用性也得到研發人員的認可,希望繼續使用排程器熱升級 SDK 進行系統最佳化。
Cloud Kernel SIG 主頁:
附:
2022 龍蜥社群全景白皮書(或公眾號回覆關鍵字“白皮書”獲取)
—— 完 ——
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70004278/viewspace-2941960/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 龍蜥開源Plugsched:首次實現 Linux kernel 排程器熱升級 | 龍蜥技術Linux
- 龍蜥白皮書精選:面向 DPU 場景的軟硬協同協議棧協議
- 龍蜥白皮書精選:龍蜥全面支援 Intel 第四代可擴充套件處理器 SPR 平臺Intel套件
- 龍蜥白皮書精選:跨雲-邊-端的只讀檔案系統 EROFS
- 龍蜥白皮書精選:基於 SM4 演算法的檔案加密(fscrypt)實踐演算法加密
- Kernel SIG直播:關於 Plugsched 排程器熱升級 | 第 18 期
- 龍蜥開發者說:海納百川,有容乃大,我在龍蜥社群的升級之旅 | 第 11 期
- 深入解讀雲場景下的網路抖動 | 龍蜥技術
- Go runtime 排程器精講(五):排程策略Go
- Go runtime 排程器精講(二):排程器初始化Go
- RxJava排程器的選擇RxJava
- 大資料場景下Volcano高效排程能力實踐大資料
- 熱門API精選,加速開發效率API
- 中興通訊加入龍蜥社群,共建ICT全場景開源生態
- 系統效能監控工具ssar例項精選 | 龍蜥SIG
- 適用場景全新升級!擴充套件 Dragonfly2 作為分散式快取系統架構 | 龍蜥技術套件Go分散式快取架構
- 「龍蜥開發者說」徵稿啦!
- 如何選擇IO排程器
- 華為:室內5G場景化白皮書(附下載)
- 一場版本升級引發的效能血案的追凶過程
- 龍蜥社群聯合浪潮資訊釋出《eBPF技術實踐白皮書》(附下載連結)eBPF
- 商派:2020鞋服新零售升級白皮書(附下載)
- Go runtime 排程器精講(七):案例分析Go
- Flink排程之排程器、排程策略、排程模式模式
- 華為iLab:2019年Cloud VR+2B 場景白皮書(附下載)CloudVR
- 2021年擁抱資料智慧:場景與實踐白皮書(附下載)
- 艾瑞諮詢:2020年玻尿酸應用場景白皮書(附下載)
- 一場有關場景的消費升級如何破題?
- 龍蜥開發者說:我眼裡的龍蜥社群:一個包容的大家庭 | 第 10 期
- 龍蜥開發者說:首次觸電,原來你是這樣的龍蜥社群? | 第 8 期
- 首次!龍蜥社群生態使用者實踐精選集釋出在即
- Go runtime 排程器精講(三):main goroutine 建立GoAI
- “區塊鏈+”應用場景白皮書重磅釋出區塊鏈
- 工位出租,場景服務領域升級
- 搜尋EE場景排序鏈路升級排序
- IDC&華為:2022年建築近零碳升級白皮書(附下載)
- 今日家居:2023中國傢俱環保塗裝升級白皮書(附下載)
- 中興通訊&資料法盟:GDPR執法案例精選白皮書(附下載)