OSの選択は、科学計算コードのパフォーマンスにとってどれほど重要ですか?


8

Linuxの方が高速であると言うのはよくあることですが、それには正当な理由があります。しかし、タイトルで述べたように、OSの選択は科学計算コードのパフォーマンスにとってどれほど重要ですか?オペレーティングシステムがより直接的に関与しているもの(ゲームのプレイやビデオレンダリングなど)の場合、違いがある可能性があります。しかし、MATLABでコードを実行したり、JuliaでPDEを解いたり、CUDAを使用してGPUで線形代数を実行したりする場合、実際にはWindows、MacOS、Linuxの間に測定可能なパフォーマンスの違いがあるのでしょうか。

そのような違いが存在するかどうかを確認するために誰かがベンチマークを実行したかどうか疑問に思っています。使用するコンパイラーが異なるため、MATLABなどの一部のソフトウェアを使用するときに違いがあるのでしょうか。または、CUDAドライバーは、あるOSの方が他のOSよりもかなり高速ですか?または、OSがWDDM CUDAの問題のように干渉することはありますか?

注:この質問の範囲を超えるオペレーティングシステムを選択する理由は他にもあります。特にパフォーマンスについて疑問に思っています。


6
OS間のパフォーマンスの違いは、通常、プロセスのスケジューリング、ディスクおよびネットワークのパフォーマンス(OSカーネルが処理するもの)にあります。科学計算コードは通常、CPUまたはメモリに依存しているため、わずかな違いしか生じません。CUDAとグラフィックスの場合、ベンダーが各OSのドライバーに費やす労力も問題になりますが、計算にバインドされたコードの場合は、あまり問題になりません。
キリル

そうだと私は思いますが、誰かがそれを確かめるためにいくつかの実験をしたのではないかと思います。トリプルブートWindows / MacOS / Linuxをセットアップし、同じスクリプトをベンチマークして、それが当てはまるかどうかを確認します。しかし、マルチブートを使用する他の誰かがこれを以前に行ったことがある場合は、その時間を費やす必要はないかもしれません。
Chris Rackauckas 16

2
@Kirillの言及を拡張すると、OSによってプロセスの優先度やNUMAノード(メモリやCPUアフィニティの制御など)を管理するための制御の粒度が異なり、アプリケーションのパフォーマンスに影響を与える可能性があります。
njuffa

OSを選択する他の理由は避けなければならないことを明確にしましたが(これはある意味理解できます)、答えとしてOSの安定性を許可する必要があります。OS1は、計算の99%で、20時間後にクラッシュすると、すべての計算が繰り返されるようにしている場合は、わずかに遅いよりも、それはあまりパフォーマンスを検討しますが、OS 2.上の安定compuationすることができます
ヤンハッケン

回答:


2

基礎となるツールキットは、ライブラリ、コンパイラ(およびハードウェア)が同じではないにしても、通常は類似しているため、原則としてほとんど違いはありません。実際には、「シン」ノードを使用することで改善が見込めます。それはGUIではなく、バックグラウンドで実行されている電子メールや、OSがユーザーエクスペリエンスを促進するために必要な他の多くのプロセスもありません。Linuxで「サーバー」OSを標準のディストリビューションから直接セットアップする方が簡単な場合があり、浮動小数点を多用するコードを実行するためのマシンをよりスリムにすることができます。それでも、実行中のコード以外にユーザーアクティビティがない限り、その利点はそれほど目立ちません。


2

2、3年前に、世界で最も速い500台のコンピューターのリストのOS配布に関する統計を読んだことを覚えています。Linux / unixベースの実行中のコンピューターの数は498、Windowsベースの2で、MacOSはありませんでした。残念ながら、私は再び統計を得ることができませんでした。WikipediaのSuperComputerの記事では、

「最近のほとんどのスーパーコンピューターはLinuxオペレーティングシステムを使用していますが、ハードウェアアーキテクチャの違いによりオペレーティングシステムを各ハードウェア設計に最適化するための変更が必要なため、各メーカーには独自のLinux派生製品があり、業界標準は存在しません。」 。

この記事が配布の数を示していない場合でも、Linuxベースのコンピューターに少なくとも明確な傾向を示しています。あらゆるパフォーマンスが重要な分野(およびシステムをスーパーコンピューターの仕様に適合させるために必要な費用がほとんどないため、ここではオープンソースの性質が主な利点であるとは思いません)。

どちらかと言えば通常のワークステーションでは、Linuxはリソース管理が優れている傾向があります(メモリ使用量が少ないなど)。しかし、これは私の背後にある統計の個人的な経験であり、確認なしに一般化するべきではありません(Win 7 vs Ubuntu 14.04)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.