マルチコアCPUは、今日の世界で収益の減少に苦しんでいますか?


8

他の質問では、コンピューターアプリケーションの状態により、マルチコアプロセッサーの収益が減少することが示されています。これは今日の世界にも当てはまりますか?

ほとんどの新しいアプリケーションはマルチスレッドを採用しているため、複数のコアを持つことを利用していますか?そうでない場合、新しい64ビットOSは、タスク/プロセスを異なるコアに割り当てることでコアを活用しますか?それとも、マルチコアプロセッサは、同じ(または同様の)減少する収益に引き続き苦しんでいますか?

参照があるクレームはすべてバックアップしてください。


2
複数のスレッドを持つプログラムがある場合、x64オペレーティングシステムであっても違いはありません。2008年と2012年のコンパイラーの風景の違いは非常に大きいです。複数のスレッドにまたがってアクションを実行する簡単な方法ができるまで、一度に複数のスレッドを実行する機能を備えたCPUがあったとしても、意味がありません。今日でも、それを行うにはまだ簡単ではありません。
ラムハウンド2012

回答:


7

それはあなたが何をするかに大きく依存します。

通常の旧式のWordとExcel、マインスイーパ、およびお母さんが使用する他のすべてのものについては、1つのコアで十分であり、2つ以上のコアでは過剰です。これらの種類のアプリケーションは、ほとんどの時間アイドリングに費やし、ユーザー入力を待機します。

ゲームでは、少なくとも2つのメリットがあります。その後はゲーム次第です。理論的には、各AI対戦相手を個別のスレッドで実行することもできますが、中央のゲームロジックを簡単に並列化することはできません。そのため、通常、誰もが待つ「メイン」スレッドが1つあります。

マルチメディア、実数処理、科学ではすべてのコアが重要です。これらは本質的にマルチスレッド化されているか、簡単に作成できるタスクであり、開発者は利用可能なすべての処理能力を利用する強い動機を持っています。

パワーユーザーはマルチタスクが好きです。トレント、VirtualBox、画面キャプチャ、ビデオ、Minecraft、およびWebブラウジングがすべて同時に実行されます。つまり、独自のコアを備えたCPUを大量に消費する各アプリからメリットを得られます。最近では、ゲームのライブストリーミングが人気です。つまり、これはゲームの2つのコアであり、少なくとも1つはエンコーダースレッド用、もう1つはシステムの他の部分用です。それは少なくとも4コアです。


1
一般に、優れたゲームAIは、複数のアクションを調整するよりもはるかに困難です。それは単なる追加です。次に、単一の中心的なゲーム状態を持つゲームを想定します。それも必ずしもそうではありません。たとえそうであっても、それは必ずしもスレッディングの障害になるわけではありません。たとえば、物理計算は通常、並行して行われます。そして最後に、ゲームにも大きなグラフィックレンダリング部分があり、スレッド化にもつながります。
MSalters 2012

私はシングルコアである疑う今まで(...ちょうどExcelに本当に遅い式を入れて)正しい選択と私はあなたが少しオーバー簡素化していると思います。たとえば、新しいプロセッサのTurbo Core(AMD)/ Turbo Boost(Intel)機能についてはどうですか?これにより、私の16進コアAMDはコアの半分をパークし、残りの半分をより高速なクロックレートで実行できます。また、Intelのバージョンはさらに細かいため、プロセッサーは必要な作業のためにその場で再最適化できます。それ。それは彼らをより良い選択にしていますか?この問題は、実際の測定とベンチマークによってのみ正確に対処できます。
DMA57361 2012

私は@ DMA57361に完全に同意します。数年前、叔父は十代前の子供たちのためにいくつかのシングルコアAMDコンピュータを購入しました。バックグラウンドプロセス(Windows Updateが最も悪質な犯罪者)は、CPUを使い果たすことにより、一度に数分間、事実上使用不能にしていた。
ダンはFirelightによっていじっている2012

ハイパースレッディングを忘れないでください。より高度なIntelプロセッサは、各コアに追加のレジスタセットを提供し、スレッドが各プロセッサコアの異なる部分を同時に使用できるようにすることで、追加のプロセッサコアをシミュレートして、マルチタスクのパフォーマンスをさらに向上させることができます。
bwDraco 14年

3Dレンダリングは、大きな利点を示すもう1つのレンダリングです。あなたがアニメーターまたはグラフィックデザイナーであり、多くのレンダリングを行う場合。すべてのプロフェッショナルレベルのソフトウェアには、マシンが提供する必要があるすべてのコア(ネットワーク化されたクラスターの場合はさらに多く)を利用できるという利点があります。パフォーマンスはコアの数に応じて直線的に拡張します。
Jason C

5

答えは今でもそうであるように、「それはあなたが何をしているのかにかかっている」のです。

はい、そこに、より多くのコアを追加から収穫逓減されており、そこには常にでしょう あなたが一度に単一のアプリケーションを実行する場合

適切に作成されたマルチスレッドアプリケーションでも、スレッド化されるタスクの多くは、ユーザーの見かけのパフォーマンスに影響を与えることなく、マシン内の最も遅いコンポーネント(ハードドライブ、ネットワーク)を待つように実行されます。これらは並列化を大きくしても改善できません。そのため、理論上のスピードアップの制限は、実用的な目的には到達できません。

マルチスレッド化されていない「大きな」アプリケーションはほとんどないことに注意してください(OSのタスクマネージャーで同等のものを確認してください。各プロセスに属している数を確認できるはずです。たとえば、私のFirefoxは現在31を使用しています。 )。

もちろん、相互に依存しない複数のアプリケーションを実行することは、これらの制限による制約を受けません。コアを追加すると、処理パフォーマンスをほとんど低下させることなく、より多くのアプリケーションを同時に実行できます(ただし、ハードドライブ、ネットワーキングなどのパフォーマンスは、それほどうまく拡張できません)。実際には、コアや通信パイプラインなどの間の作業の分散を管理するために避けられないオーバーヘッドがあるため、これでも収益が減少する可能性があります。

たとえば、このトムのハードウェアに関する投稿(2009年から)は、同時アプリケーションでのいくつかのマルチコアプロセッサのパフォーマンスを調べようとしています。クアッドコア、トライコア、デュアルコアのプロセッサーはすべてゲームのみで同様に動作しますが、同時AVGスキャンを追加すると、パフォーマンス(平均FPSで測定)がそれぞれ22%、40%、59%低下します。

したがって、1つの集中的なアプリケーションを実行すると、クアッドコアはデュアルコアよりもパフォーマンスを向上させませんでしたが、別の集中的なタスクが表示されるとすぐに、パフォーマンスが2倍になりました。残念ながら、より多くのコアとより集中的なタスクでこれがどれだけうまく拡張できるかを調査する他の多くを見つけることができません。


そして、IntelのTurbo Boost / AMDのTurbo Coreなどのプロセッサの最新機能に注意する必要があります。これらの特定の機能により、マルチコアプロセッサはコアをパークし(低速、低消費電力、モードに移行)、予備のエネルギーを使用してアクティブなままのコアをオーバークロックします。これにより、プロセッサはそれ自体を最適化して、できるだけ多くの処理能力を提供できます。提示されるタスクの数については可能な限り。


2

火に燃料を追加するために、私はここを読ん、Androidは実際には複数のコアを持っていることによって速度が低下します:

マルチコアプロセッサを使用すると、実際にAndroidデバイスの速度が低下する可能性があると、Intelのモバイルおよび通信グループのゼネラルマネージャーであるMike Bellは、Androidのマルチスレッド機能またはその欠如が、強力なCPUを効果的に処理する上でのオペレーティングシステムの難しさを非難していると言いました。

デバイスに搭載されているコアの数が多いほど、デバイスに必要な電力も増加します。当面、その電力量は、Androidデバイスのバランスを取るには単純に多すぎます。


うーん、これを元の質問に編集するとうまくいきませんか?
ジャーニーマンオタク

このスレッド全体がコミュニティのwiki / FAQに変換されると思います。質問はそのままにして、これを個別に追加するのが最善だと思いました。@モデレーター-この回答は質問とマージするか、そのままにする必要がありますか?
rishimaharaj

0

もちろん、それはあなたが何をしているかに依存しますが、はい、減少しているリターンがあります。

ワープロやWebブラウジングなどのシンプルな日常のアプリケーションは、2つ以上のプロセッサコアを搭載してもほとんどメリットがありません。科学計算およびゲームアプリケーションは、最新のハードウェアを最大限に活用するように設計されている傾向があるため、4つ(またはそれ以上)のコアやハイパースレッディング機能をよりよく利用する傾向がありますが、4つを超えるコアの利点は限られています。

さらに、すべてが計算に拘束されているわけではありません。ワークロードがI / Oバウンドの場合、プロセッサコアを追加しても効果はありません。SSDを取り付けて機械的なハードドライブを交換したことがある場合、日常のコンピューティングパフォーマンスがコンピューターのストレージによって制限されているよりも頻繁に制限されていることをご存知でしょう。多数のコアを使用してシステムが多数のユーザーと要求を同時に処理できるようにするビジーサーバー環境では、専用のディスクアレイ、SSD、およびその他のストレージシステムを使用して、負荷がかかった状態で最大のパフォーマンスを確保します。

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