日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

Ubuntu大佬神操作!Rust版Linux調度器秀麻了,性能遠超C!

來源: 責編: 時間:2024-01-24 09:03:21 246觀看
導讀整理丨諾亞出品 | 51CTO技術棧(微信號:blog51cto)近日,一位Linux內核工程師出于興趣用Rust編寫了一個Linux調度器。這位來自Ubuntu制造商Canonical的工程師名叫Andrea Righi。他在X(推特)上發文談到,他利用圣誕假期進行了這

整理丨諾亞7Ir28資訊網——每日最新資訊28at.com

出品 | 51CTO技術棧(微信號:blog51cto)7Ir28資訊網——每日最新資訊28at.com

近日,一位Linux內核工程師出于興趣用Rust編寫了一個Linux調度器。7Ir28資訊網——每日最新資訊28at.com

這位來自Ubuntu制造商Canonical的工程師名叫Andrea Righi。他在X(推特)上發文談到,他利用圣誕假期進行了這項實驗。沒想到這個只是“出于好玩”而進行的項目卻帶來了意外驚喜。7Ir28資訊網——每日最新資訊28at.com

初步結果顯示:通過sched_ext實現并基于eBPF技術、能夠在運行時加載的Rust調度器具有很大的潛力和希望。7Ir28資訊網——每日最新資訊28at.com

1、令人意外的結果:Rust版超越默認版

“結果讓我很驚訝。它不僅能夠正常工作,而且在某些負載(例如游戲)下甚至可以超越Linux內核默認的EEVDF調度器。”7Ir28資訊網——每日最新資訊28at.com

Righi表示,盡管仍處于原型階段,但它成功完成了使命,即“證明在用戶空間實現運行的工作調度器是可行的,并且在某些特定條件下甚至可以超越Linux默認調度器的性能”。7Ir28資訊網——每日最新資訊28at.com

他還分享了一段視頻:一個簡單的電腦游戲Terraria正常運行,同時該機器正在后臺進行內核編譯。7Ir28資訊網——每日最新資訊28at.com

7Ir28資訊網——每日最新資訊28at.com

基于廣大吃瓜群眾的要求,Righi將Linux默認調度器和Rust版調度器的內核構建時間和游戲性能進行了比對。7Ir28資訊網——每日最新資訊28at.com

截圖:來自X@arighi截圖:來自X@arighi7Ir28資訊網——每日最新資訊28at.com

可以看到,其中:7Ir28資訊網——每日最新資訊28at.com

  • linux sched:內核構建280s,Terraria ~每秒30幀
  • rustland:內核構建361s,Terraria ~每秒60幀

也就是說,切換到Rust版調度器后,游戲畫面提升到了每秒60幀,是之前的兩倍,而同期內核編譯只是多花了約30%的構建時間。由此可見,“scx_rustland”調度器在游戲中表現的確優于Linux內核默認調度器。7Ir28資訊網——每日最新資訊28at.com

Righi已將相關代碼托管在了GitHub上。感興趣的朋友可以繼續關注其未來的發展方向。7Ir28資訊網——每日最新資訊28at.com

2、內核調度器之爭:Linux需要更多的調度器嗎?

Linux內核調度器負責執行一項關鍵任務,即分配給應用程序一段段的CPU時間,旨在確保每個應用程序都能公平地獲得執行時間。7Ir28資訊網——每日最新資訊28at.com

通常,這一目標是通過使用完全公平調度(Completely Fair Scheduler, CFS)算法來實現的。(注:CFS算法致力于平衡各個應用程序對處理器資源的需求,以達到整體系統性能最優化的效果。)7Ir28資訊網——每日最新資訊28at.com

盡管Linux的“一刀切”式調度器在過去很長一段時間內表現出色,但在如今分布式計算環境日益復雜、IT環境異構化加劇的背景下,可能需要對其進行更新升級。7Ir28資訊網——每日最新資訊28at.com

當傳統的單一調度策略難以滿足現實需求時,人們在尋求更多破局的路徑,比如,通過引入如BPF這樣的技術來實現更加靈活、可擴展且針對性更強的調度機制。7Ir28資訊網——每日最新資訊28at.com

簡單說明一下BPF。所謂BPF,是Berkeley Packet Filter的縮寫。BPF提供了一種當內核或應用特定事件發生時候,執行一段代碼的能力。BPF 采用了虛擬機指令規范,所以也可以看作一種虛擬機實現,使我們可以在不修改內核源碼和重新編譯的情況下,提供一種擴展內核的能力的方法。7Ir28資訊網——每日最新資訊28at.com

2013 年由技術大牛Alexei Starovoitov 向Linux社區提交了重新實現BPF的內核補丁,相關工作于2014年正式并入Linux 內核主線。此舉將其擴展成了通用的執行引擎,稱為eBPF,其可以完成多種任務,包括用來創建先進的性能分析工具。7Ir28資訊網——每日最新資訊28at.com

LWN.Net首席編輯Jonathan Corbett在今年2月評論道:“將BPF引入內核CPU調度器只是時間問題。”7Ir28資訊網——每日最新資訊28at.com

Corbett解釋說,基于BPF的調度器之所以有意義,有多個原因:它使得嘗試新的調度方法變得更加容易。如今的系統遠比過去幾十年要復雜得多,因此需要更多領域特定和針對性的調度解決方案(例如針對游戲和網絡應用的調度器)。此外,它還能為開發者提供一種針對其自身應用程序優化CPU使用方式的方法。7Ir28資訊網——每日最新資訊28at.com

而Righi開發的scx_rustland是對sched_ext這一實驗性Linux內核特性的實現,sched_ext允許運行可在內核中創建并加載的基于BPF的內核線程調度器。該特性由來自Meta和Google的一組工程師以及其他內核社區成員共同研發,并希望有一天能將其合并到Linux內核的核心代碼庫中。7Ir28資訊網——每日最新資訊28at.com

值得注意的是,并非Linux社區中的每個人都支持動態調度這一理念,其中包括Linus Torvalds本人。Linux調度器維護者Peter Zijlstra在評論sched_ext的首次發布時提到:“我討厭這一切”,并補充道,鑒于替代調度器引入的復雜性,Torvalds曾否決了之前關于此類調度器的所有嘗試。7Ir28資訊網——每日最新資訊28at.com

此外,AMD和Google兩家公司也提出了各自的替代調度器方案。這些舉措表明,在如何優化Linux內核調度以適應更復雜異構環境的問題上,業內依舊各執一詞。7Ir28資訊網——每日最新資訊28at.com

3、使用Rust,真的會比C更有優勢嗎?

近年來,在編程語言界,Rust的存在感越來越強。不少公司、個人都開始對使用內存安全的Rust進行關鍵任務開發產生了濃厚興趣,以取代可能意外引入安全漏洞的C語言。7Ir28資訊網——每日最新資訊28at.com

此前,我們也曾在《Linux 誕生32年:“暴君”Linus 平和了》一文中報道過,Torvalds對于在內核中使用Rust持開放態度。他曾談到,從明年開始會著手將Rust引入驅動程序、甚至是某些主要子系統,總之“Rust確實有成為內核重要部分的趨勢”。7Ir28資訊網——每日最新資訊28at.com

因此,在Linux新聞網站Phoronix報道Righi的工作時,將關注點放在了Rust的使用上。讓這篇文章引起討論的焦點從調度器本身挪開,集中到了關于使用Rust而非C語言是否更有優勢上面。7Ir28資訊網——每日最新資訊28at.com

有人質疑:“這個調度器到底有何與眾不同,使其表現出了實質性的差異?是因為它尚未完成還是確實因為它更優秀?因為我不相信Rust本身會比C語言更好。究竟有什么是在Rust中能做而在C中做不到的呢?”7Ir28資訊網——每日最新資訊28at.com

有人更是直接指出,調度器的設計始終涉及權衡取舍。顯然,這款為游戲優化的調度器犧牲了一些其他功能以換取更好的游戲性能。7Ir28資訊網——每日最新資訊28at.com

當然也有人對此持更為積極的態度。在Hacker News討論中,有網友寫道:“這篇新聞告訴我們的是,Rust實現的調度器在這一領域可以與C語言實現相媲美。這一消息為我們解鎖了更多選擇,無論是C語言調度器還是Rust調度器,意味著Linux社區在處理各種工作負載時可以獲得更好的體驗。”7Ir28資訊網——每日最新資訊28at.com

而對于Righi本人,他在接受媒體采訪時表示,Rust提供了極大的靈活性,這使他能夠迅速啟動并推進這個項目。7Ir28資訊網——每日最新資訊28at.com

“我不能說Rust在性能提升方面貢獻巨大,但它讓我能夠在幾周內編寫出這個調度器,同時實現和重用了優雅的高級抽象,并在我需要的時候能夠深入到底層細節。”7Ir28資訊網——每日最新資訊28at.com

參考鏈接:

https://www.phoronix.com/news/Rust-Linux-Scheduler-Experiment7Ir28資訊網——每日最新資訊28at.com

https://thenewstack.io/bpf-opens-a-door-to-linux-dynamic-scheduling-maybe-with-rust/7Ir28資訊網——每日最新資訊28at.com

本文鏈接:http://www.www897cc.com/showinfo-26-66964-0.htmlUbuntu大佬神操作!Rust版Linux調度器秀麻了,性能遠超C!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: Stream幫你無感知切換消息中間件

下一篇: 谷歌裁員政策引發內部不滿,多名員工控訴公司“作惡”“混亂”“失去創新”

標簽:
  • 熱門焦點
Top 主站蜘蛛池模板: 哈巴河县| 太保市| 修水县| 定结县| 开阳县| 张家港市| 桐柏县| 彭水| 聊城市| 扶风县| 赣州市| 咸宁市| 静海县| 太白县| 丽江市| 惠来县| 佛教| 大理市| 金昌市| 神农架林区| 崇州市| 赣州市| 剑河县| 宝清县| 安福县| 北安市| 柳州市| 句容市| 巴彦淖尔市| 昔阳县| 阿瓦提县| 澳门| 景宁| 辰溪县| 汾西县| 普陀区| 濮阳县| 嘉定区| 宜黄县| 永福县| 开远市|