題 不同的Linux發行版如何處理多個內核和多線程?


我意識到,通過提出這個問題,我已經將自己標記為對高性能工作站“毫無準備”,但無論如何,你必須從某個地方開始!

我想知道不同的Linux發行版如何處理多個內核和多線程,以幫助確定哪個最適合HPC工作站。

默認情況下,我知道Linux利用了幾個核心,但是有沒有人有關於它如何處理多核的參考鏈接(英文,即我不想閱讀源代碼;))以及性能比較圖表( re:核心利用率隨時間推移,線程分配,編譯時間等)。我知道應用程序也必須針對多核支持進行優化,但第一步是充分利用操作系統。

或者我錯了,在這方面Linux本質上是相同的,無論分佈如何,而且性能將基於所有應用程序?


7
2017-10-11 05:40


起源


這個問題可能也是標題。 “開始一場關於Linux發行版最好的火焰戰爭。”老實說,對於要回答的問題,我們需要更多的繼續而不僅僅是“高績效”。如果您的問題確實是“分佈在處理多線程方面有何不同?”然後問這個問題,而不是這個問題。 - frabjous
我並不是要開始一場火焰戰:(我討厭他們和下一個實際的人一樣。我會重新解釋我的問題。抱歉。 - Jonathan
我認為這個問題構成得非常好,然後我再次知道並且不關心火焰。這是一個我想看到回答的問題...... - invert
wez,自從我寫評論以來,這個問題已經改變了,而且好多了! (原來它是“哪種Linux發行版最適合高性能?”) - frabjous


答案:


不同的Linux發行版如何處理多個內核和多線程?

進程的調度完全取決於內核。看到 一個bC 和 d。是的,其中一些鏈接中有源代碼。但是當處理這種低級別的東西時,它並不是真的可以避免。


3
2017-10-11 09:10



這些都是很好的來源,謝謝! - Jonathan
這是真的,大多數(如果不是全部)發行版使用多核就緒內核。但內核並不是操作系統的唯一部分。不幸的是,大多數應用程序,系統實用程序都充滿了傳統的同步單核代碼。有時會有它們的並行版本,並且可以通過單核版本選擇它們進行分發。在一個極端的情況下,我可以想像一個發行版只允許他們的回購中的多核代碼。雖然,我認為它缺乏系統中最重要的部分。令人遺憾的是,記住12年前發布的第一款英特爾酷睿雙核處理器。 - Maciek Łoziński


分發之間會有細微差別。 Ubuntu可能會使用XYZ調度程序,而Fedora可能會使用ABC調度程序,這會導致X%的改進。但更大的問題是應用程序支持。您可以擁有單核CPU或12核CPU,但如果應用程序是單線程的,那麼您最終將獲得相同的性能。在這種情況下,我會使用從長遠來看我感覺更舒服的任何東西。


5
2017-10-11 05:59



我以為調度程序是內核的一部分。當然,有人可以改變它,但這似乎是一個 批量 工作的。發行版通常會有微妙的不同用戶空間,但有多少實際上對內核本身做了重大改變? - cHao
@cHao - 您可以告訴內核使用不同的調度程序。 - ta.speot.is
您的回答非常有用,謝謝,但我真的很喜歡taspeotis提供的來源。感謝大家的幫助! - Jonathan
@cHao - 內核有幾個調度選項,因為對於某些CPU安排和任務來說,最佳選擇對於其他人而言並非最佳。大多數庫存內核都將它們全部編譯進去,因此您可以在它們之間作為啟動時選項進行切換,大多數桌面發行版默認為在發行版發佈時通常持有的發行版,是一般的最佳選擇。桌面使用。 - David Spillett


多年來,Linux發行版一直通過SMP在內核中實現多核和多線程。

在這種情況下,分佈不是重要的,而是內核。由於所有主要發行版都是基於相同的內核,所以請選擇。

該網站應該有助於決定Linux發行版: Linux發行版的比較


1
2017-10-11 06:19



謝謝回答。我已經使用linux了近十年,所以我對每個發行版之間的通用差異有很好的處理。我特別希望關注與這些相關的多核方面和性能指標。但我正在努力思考如何說出我想要的東西。乾杯! - Jonathan
在這種情況下,您可能會保持最清楚的知識。 - harrymc


雖然大多數發行版都使用庫存內核,但有一些發行版存在影響特定計算需求的差異。紅帽 (http://www.redhat.com/mrg/realtime/)和SUSE(http://www.novell.com/products/realtime/)都有實時內核,這會影響線程的調度方式。


0
2017-10-11 15:24