web-dev-qa-db-ja.com

LinuxおよびLinux-ソフトウェア:マルチコアプロセッサの利点

新しいノートブックを入手して、クアッドコアプロセッサが通常のデュアルコアマシンよりも優れているかどうかを確認する予定です。私は一般的なLinuxディストリビューション(Ubuntu、Archなど)と主にグラフィックソフトウェア(Scribus、Inkscape、Gimp)を使用しています。この新しいプロセッサを数年間使用したいと思います。

私はたくさんの調査をしましたが、何も見つかりませんでした信頼できて最新の答え。そう:

最新のカーネルはマルチコアプロセッサを利用しています。しかし、それは私に日常的に顕著な利点を与えますか?私は一般的なLinuxアプリケーションでの通常のマルチタスクについて話している。

3
serve.chilled

広く適用できる信頼できる答えがないため、信頼できる答えは見つかりませんでした。複数のコアによるパフォーマンスの向上は、明確に定義されたタスクを除いて予測が難しく、それでも、使用可能なメモリなどの他の多くの要因に依存する可能性があります(複数のコアがすべてファイルのロードを待機している場合、複数のコアによるメリットはありません)。

通常のデスクトップでの使用では、通常、2つのコアを使用することで応答性を得ることができます。1つは応答が必要なアプリケーションを実行するためのもので、もう1つはGUIエフェクトを実行するためのものです。コアはほとんどの時間アイドル状態ですが、タスクを開始すると両方とも機能します。 2つのコアを超えると、メリットは減少する傾向があります。また、コアが2つある場合でも、GUIが非常にスリムなため、メリットが得られない可能性があります。

単一のタスクを並列化することは困難です。いくつかの非常に単純な場合(専門用語が「驚異的並列」である場合)を除いて、プログラマーの多大な努力が必要であり、多くの場合、実行不可能です。たとえば、Webページの表示は、要素を1つずつ配置し、Javascriptコードを実行することであり、すべてを順番に実行する必要があるため、複数のコアのメリットはありません。 Webブラウジングのための複数のコアの利点は、複雑なWebページがレンダリングされている間に何か他のことをしたいときです。

一部のグラフィックソフトウェアには、大きなタスク(大きな画像の変換など)用の並列ルーチンがあります。そこでは複数のコアから利益を得ることができますが、これも複数のプロセッサを利用するように作成されたタスクに対してのみです。画像変換をバックグラウンドタスクとして実行する場合は、少なくとも2つのコア(1つはタスク用、もう1つはインタラクティブな使用用)から、そしてタスク自体が複数のコアを利用する場合はさらに多くのコアから確実にメリットが得られます。

4コアを超えると、複数の同時ユーザー、大規模なコンパイル、大規模な数値計算など、凝ったことを行わないマシンにメリットがもたらされる可能性はほとんどありません。 2から4の間では、それは明確ではありません。デュアルコアが高速であると、デュアルコアからクアッドコアに移行するよりも一貫したメリットが得られますが、クロック速度が速いと、特にラップトップの場合、プロセッサがより多くの電力を使用し、より大きな冷却が必要になるため、デメリットもあります。

多くのアプリケーションは明示的にマルチスレッド化されていないため、CPUバウンドタスクは実際に一度に1つのコアに制限されます。ただし、最近のWebブラウザーは、ウィンドウごとに(少なくとも)1つのコアを使用するため、複数のウィンドウを開いている場合は、複数のコアを利用できます。

さらに重要なことに、Linuxシステムの実行は、実行中の多くのプロセスで構成され、すべてがCPUを使用して順番に実行されます。複数のコアを使用できるということは、2つのタスクが同時にCPU時間を必要とする場合(これは頻繁に発生します)、カーネルが選択する必要がないことを意味します。これにより、システムの応答性に大きな違いが生じることがわかりました。

3
Daniel Griscom

一部の操作 GIMPでは複数のコアを利用します。 他の人はしません 、しかしこれは 開発の活発な領域 であり、GIMPのバージョンを最新に保つと、時間の経過とともに改善することが期待されます。

1
pericynthion