成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

原創 精選
開發 前端
近年來,在編程語言界,Rust的存在感越來越強。不少公司、個人都開始對使用內存安全的Rust進行關鍵任務開發產生了濃厚興趣,以取代可能意外引入安全漏洞的C語言。

整理丨諾亞

出品 | 51CTO技術棧(微信號:blog51cto)

近日,一位Linux內核工程師出于興趣用Rust編寫了一個Linux調度器。

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

初步結果顯示:通過sched_ext實現并基于eBPF技術、能夠在運行時加載的Rust調度器具有很大的潛力和希望。

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

“結果讓我很驚訝。它不僅能夠正常工作,而且在某些負載(例如游戲)下甚至可以超越Linux內核默認的EEVDF調度器。”

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

他還分享了一段視頻:一個簡單的電腦游戲Terraria正常運行,同時該機器正在后臺進行內核編譯。

基于廣大吃瓜群眾的要求,Righi將Linux默認調度器和Rust版調度器的內核構建時間和游戲性能進行了比對。

截圖:來自X@arighi截圖:來自X@arighi

可以看到,其中:

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

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

Righi已將相關代碼托管在了GitHub上。感興趣的朋友可以繼續關注其未來的發展方向。

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

Linux內核調度器負責執行一項關鍵任務,即分配給應用程序一段段的CPU時間,旨在確保每個應用程序都能公平地獲得執行時間。

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

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

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

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

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

LWN.Net首席編輯Jonathan Corbett在今年2月評論道:“將BPF引入內核CPU調度器只是時間問題。”

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

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

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

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

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

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

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

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

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

有人更是直接指出,調度器的設計始終涉及權衡取舍。顯然,這款為游戲優化的調度器犧牲了一些其他功能以換取更好的游戲性能。

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

而對于Righi本人,他在接受媒體采訪時表示,Rust提供了極大的靈活性,這使他能夠迅速啟動并推進這個項目。

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

參考鏈接:

https://www.phoronix.com/news/Rust-Linux-Scheduler-Experiment

https://thenewstack.io/bpf-opens-a-door-to-linux-dynamic-scheduling-maybe-with-rust/

責任編輯:武曉燕 來源: 51CTO技術棧
相關推薦

2023-11-21 20:28:02

C++Pythonweb開發

2021-02-26 10:43:59

Linux 開發操作系統

2024-05-16 12:38:05

GPT-4o圖像方式

2023-04-07 07:20:05

Rust系統項目

2021-12-03 11:57:27

代碼##語言

2025-05-13 06:41:08

2017-02-09 09:00:14

Linux IO調度器

2019-12-02 09:45:45

Linux IO系統

2017-09-01 12:26:18

Linux調度器系統

2011-01-21 07:36:00

LinuxBFSCFS

2023-05-11 08:08:18

MySQL主從復制

2021-11-01 12:45:29

UbuntuLinuxRust

2021-12-26 21:49:19

微信面試參數

2011-01-13 13:59:14

2017-07-12 11:59:46

Linux游戲版Ubuntu Game

2024-06-24 07:00:00

C++RustGo

2009-04-03 09:03:12

瀏覽器Java性能測試

2009-04-02 13:13:12

Linux瀏覽器Chromium

2017-03-27 13:48:36

互聯網

2010-05-24 13:04:55

MySQL 事件調度器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕第100页 | 精品一区二区久久久久久久网站 | 一区二区三区日 | 天天爽一爽 | 欧美色性 | 不卡一区 | 波多野吉衣在线播放 | 美日韩中文字幕 | 综合伊人 | 国产精品久久久亚洲 | 91精品久久久久久久久 | 国产精品国产三级国产aⅴ无密码 | 精品国产91乱码一区二区三区 | 欧美最猛性xxxxx亚洲精品 | 欧美亚洲国语精品一区二区 | 成年免费大片黄在线观看一级 | 国产精品精品视频一区二区三区 | 成人黄视频在线观看 | 成人三级在线观看 | 久久久精品视频免费看 | 一级片网址 | 涩涩视频网站在线观看 | 91人人看 | 久久精品国产一区二区三区不卡 | 中文字幕在线免费观看 | 欧美一级在线 | 91精品国产一区二区在线观看 | 欧美激情亚洲天堂 | 蜜臀久久| 春色av| 久久成人免费 | 日韩精品四区 | 综合久久av | 福利视频网 | 免费看国产一级特黄aaaa大片 | 成人国产免费视频 | 国产精品大全 | 亚洲36d大奶网| 伊人久久精品一区二区三区 | 羞羞视频在线观免费观看 | 午夜爽爽男女免费观看hd |