電力効率の高いコンピューティングにおけるマルチコアの有用性

電力効率の高いコンピューティングにおけるマルチコアの有用性

新しいポータブル PC のオプションを検討しています。電力消費を最小限に抑えながら、バッチ ジョブをできるだけ速く実行できるようにしたいと考えています。バッチ ジョブは、xargs処理プログラム自体がマルチコアを活用する方法を知らない場合に、通常、並列化できます。

低電圧のマルチコア チップは非常に魅力的に思えます。ただし、デュアルコア チップの消費電力がシングルコア チップの 2 倍 (最小) になる場合は、代わりに最大クロック速度が高いシングルコアを選択するかもしれません。マルチコア CPU は、消費電力を抑えるために 1 つ以上のコアを一時的にシャットダウンできますか?

コアを 1 つ (またはクアッドコア チップの場合は 3 つ) 追加した場合の一般的な電力消費のペナルティはどれくらいですか? また、対照的に、コアあたりの処理速度を上げた場合に発生する一般的な最小電力消費のペナルティはどれくらいですか? 「最小」とは、CPU が最小周波数にスケールダウンされたときに、マシンが使用する電力をできるだけ少なくしたいという意味です。

答え1

最近のプロセッサ技術は非常に進歩しています。 1 つのコアが必要な場合は、そのコアで実行し、他のコアを待機させることができます (少なくとも Intel CPU の場合)。

マルチコア コンピューティングの理由は、特定のアーキテクチャ (例: Core i7)、特定のプロセス (例: 45nm)、特定の歩留まりで周波数を上げると、スペクトルの上限で電力が線形よりもはるかに増加するためです。

e.g. i3 processor: (**system** peak power)
i3-530 @ 2.93 GHz = 127 Watt
i3-530 @ 3.3 GHz = 133 Watt
i3-530 @ 4.4 GHz = 171 Watt

測定されるのはシステムのピーク電力であり、CPU のピーク電力ではないことに注意してください。システムのアイドル電力 (CPU が消費する約 5 ~ 7 ワットのアイドル電力を 80 から引いた値) を計算すると、CPU のピーク電力は約 54 ~ 100 ワットになります。2.9 GHz から 4.4 GHz にすると、約 50% のオーバークロックになりますが、電力はほぼ 2 倍になります。

現在販売されているほとんどの消費者向け CPU では、周波数はかなり低いレベル (たとえば 2.93GHz 以上) であるため、適度なオーバークロックではピーク電力がそれほど増加しませんが、スペクトルの上位 (最も熱心な CPU 市場) では、曲線の急勾配の部分に入ります。

マルチコア CPU は、通常、より低い電力予算で、比較的線形のパフォーマンス向上 (通常、追加コアごとに 0.6 ~ 0.7 倍) を実現します。

全体的に、周波数を低くしてコアを増やすと、並列化されたタスクのパフォーマンスが向上する傾向があります。

ps <rant>問題がある場合は、並列化して適切に動作させることを検討する必要があります。おそらく、ポータブル PC は解決策ではないでしょう。自宅の電力を大量に消費するコンピューターに接続して、リモートで数値計算を行うのはいかがでしょうか?</rant>

答え2

いずれにせよ、最近ではシングルコアプロセッサはほとんど存在しません。インテルのスペックファインダー、Core 2 Solo はクアッドコア i7 よりも大幅に少ない電力 (最大 TDP を参照) を使用することがわかりますが、低電圧デュアルコア Core i7 UM は Core 2 Solo よりもわずかに多くの電力しか使用せず、大幅に高速になります。シングルコア プロセッサは、今日では価値がありません。

最新のプロセッサはすべて、コアをシャットダウンして低電力状態に移行できます。Intel プロセッサではこれを SpeedStep と呼んでいますが、基本的にはプロセッサを非常に低いクロック速度で実行し、プロセッサのパワーが実際に必要な場合にのみ高いクロック速度で実行します。

関連情報