マルチコアCPUエネルギー要件と負荷分散


10

マルチコアCPUシステムの負荷分散に興味があります。複数のコアで1つのCPUを使用する場合、複数のコアの負荷を分散する方がエネルギー効率がよくなりますか、または単一のコアをいっぱいにして他のコアをアイドル状態にしておく方が効率的ですか。
基本的な前提は、両方のケースで行われている作業量は、まったく同じ時間に同じであるということです。したがって、同じCPUで4つのコアをそれぞれ25%の負荷で使用するか、1つのコアを100%の負荷で使用する方が効率的です。
負荷が100%の1コアの方が効率的であると思いますが、間違っている可能性があるため、この問題に関する深刻な答えを探していました(推測ではありません)。


+1本当に面白い質問です!以下は、mshardware.com / reviews / truth - pc - power - consumption1707.html tomshardware.com/reviews/intel-cpu-power-consumption,1750.htmlへのリンクですが、実際には質問に対応していません。私はC2D T8100を持っていますが、最近、いくつかのテストを行って、どのタイプの負荷がより多くの熱を発生させるかを確認します。
AndrejaKo 2010

25%の4コアは、100%の1コアよりも確実に熱を分散します。
ブライアンKnoblauch

ユースケース全体で作業量が一定である場合、同じコアにすべての負荷を積み上げると、パフォーマンスが低下し、事実上、より多くの時間とスラッシングがかかります。同じ作業を完了するのにより長い時間が必要な場合、瞬間的なエネルギー節約を失う可能性があります。(+1、挑発的な質問だと思った)
nik

@Brianは、より多くのコアを使用すると熱が分散することに同意しましたが、合計で同じ量の熱を生成するのですか?
Kevin Panko、2010

AMDは、未使用のコアをパワーダウンして、アクティブコアをより高いクロック速度で実行できるようにするCPUを発表しました
b0fh

回答:


6

IMOこの質問は、一般的なケースでは単に答えられません。

私の机の上には、これらの新しくできたCore i7-980x 6コアTurboBoost対応CPUの1つがあります。このマシンに単一のコアをロードすると、そのコアのクロック速度が上がり、CPUの消費電力が増えるため、大きな違いが生まれます。このCPUと他の最新のCPUは、非アクティブなコアの電源を部分的にオフにして、電力の節約を増やすことができます。これは、古いCPUモデルには当てはまりません。

1つのコアで行う必要がある作業は、複数のコアで行う作業とは必ずしも異なることに注意してください。負荷を複数のコアに分散できる場合、高価なコンテキストスイッチを実行するシングルコアに多くの時間が費やされ、パフォーマンスが低下します。

とにかく、問題は本当に答えるには変数が多すぎます。さまざまな種類の負荷について何度も繰り返していく可能性があり、答えを得るためにベンチマークを試みようとすると、(おそらく誤って)リンゴとオレンジの比較が行われ、他の使用例には当てはまりません。

ああ、もう1つ。ほとんどの人はおそらく電力の面で効率を引用するでしょう。あなたはその罠に陥りたくありません。 負荷を処理する時間は、負荷のバランス方法によって必然的に異なるため、信頼できる結果を得るには、ジョブを完了するために使用される正味のエネルギー量を見つけるために、時間をかけて結果を統合する必要があります。


LOLどうやってわかりますか?ホキエエンジニアリング、ベイビー!
David Markle、2010

1つを知っている1つを取る。Go Mizzou
布袋

えっ、ちょっと待って。私は間違っていた。いくつかのベンチマークを実行して、一般的なケースで私たちに答えを与えることができる一人の男性がいます:gizmodo.com/5598885/…–
David Markle

4

今日、このコンピューター(Intel C2D T8100)と、lunaticsインストーラー0.36の最適化されたSETI @ Homeアプリケーションを使用して、いくつかのテストを行いました。M $ Joulmeterを使用して消費電力を計算しました。消費ツリー時間を測定しました。最初に、BOINCに100%のコアと100%のCPU時間を取らせ、1時間実行させます。プロセッサーは20Wを消費し、タスクマネージャーからのCPU時間のグラフは100%でフラットでした。私のコンピューターの平均消費電力は45.05Wで上昇しており、テストを停止した瞬間に消費電力は46.18Wでした。

2番目のテストでは、使用可能なコアの50%とCPU時間の100%を使用するようにBOINCを設定し、1時間実行しました。CPU消費電力は12Wと13Wの間で変化しました。平均消費量は42.72Wで上昇しています。テストを止めた瞬間の消費電力は44Wでした。対象コアのCPU時間グラフをフラットにするため、プログラムの親和性を1コア、優先度を高く設定しました。他のコアのグラフは、通常のCPU時間の使用よりもやや高いことを示しています。

3番目のテストでは、利用可能なコアの100%とCPU時間の50%を使用するようにBOINCを設定しました。消費電力は、5Wと17Wの間の大きなジャンプで変化しました。1時間のテスト後の平均消費電力は39.96Wであり、低下しています。CPU時間のグラフは次のようになりました/\/\/\/\/\/\/\/\/\/\/\/\/\。BOINCで使用される時間単位のサイズが大きいため、スパイクが予想されました。

したがって、1つのコアを全負荷で実行するよりも、2つのコアを半分の負荷で実行する方が効率的であると思います。

確かに、適切な研究を行うにはさらに多くのサンプルが必要であることはわかっていますが、現時点では、適切な統計を行うための十分なコンピュータまたは時間がないのです。


1
今、他のオペレーティングシステム用のジュールメーターに相当するものを見つけるのはいいことです。それから、入手した機器のいくつかをテストできます...
private_meta

これがGNU / Linuxラップトップ用のものですthinkwiki.org/wiki/How_to_measure_power_consumption
AndrejaKo

ここでは別の興味深いリンクです:www.lesswatts.org/と別の1 susegeek.com/general/...と別の1 publib.boulder.ibm.com/infocenter/lnxinfo/v3r0m0/...はどうやら人は、ACPIの読みを信じていないと確信していますその外部メーターが必要なので、これらのリンクのいくつかは外部メーターの使用方法を説明しています。他のオペレーティングシステムでは1337で十分ではないため、ヘルプを提供できません。
AndrejaKo 2010

ありがとう。外部メーターの問題は、処理能力だけでなく、すべての電力消費を測定することです。全体の消費電力も重要です(たとえば、アルゴリズムはハードドライブを広範囲に使用します)。ACPIの読み取り値が信頼できると思われない場合は、Windowsコンピューターの外部読み取り値も使用して、それらを比較できるようにする必要があります:-/
private_meta

しかし、ACPIの測定値は、測定値がないよりも優れていますよね?また、CPUに最も影響を与えるテストを使用して、ベース電力消費を確立し、負荷に応じてどれだけ増加するかを確認できます。これにより、消費量の変化のほとんどがCPU負荷によるものであることがわかります。後で電圧計と電流計を使ってさらにテストを行うかもしれません。ACPI測定と実際の機器測定がどのように比較されるかを見るのは本当に興味深いでしょう。そのような比較があまりにも悪いと一般化することはできません。
AndrejaKo 2010

0

あなたの質問に対する答えは2つあります。高度にベクトル化可能な並列コードを実行している場合、複数のコア間で負荷を分散する方が常に効率的です。コアはより低い負荷で稼働し、限界に追いやられた単一のコアよりも少ない熱を放出します。一方、コードが並列化できない場合は、コード間の依存関係が原因で発生するキャッシュミスの数が多いため、コードを複数のコアで実行すると効率が低下します。これでも発熱は少ないかもしれませんが、シングルコアで実行する場合と比較して、タスクの完了には明らかに時間がかかります。


1
しかし、並列化できないコードがある場合、どのようにして複数のコアで実行しますか?
AndrejaKo 2010

あなたの意見では、25%まで停止された4つのコアは、1つのコアが100%にプッシュされるよりも少ない熱量(およびより多くのエネルギー損失を生成)を生成します。
private_meta 2010

@AndrejaKo複数のプロセスまたはスレッドがある場合、それらをコア全体に分散するのは簡単です。
2010

0

質問したとおり、不明な点が多すぎます。時間効率やエネルギー効率について質問していますか?非並列コードまたは並列コード?単一のジョブまたは平均的なデスクトップのマルチタスク?あなたのコンピュータの月額$ 1000を超える電気代を持っているなら、それは心配の価値があるかもしれません。そうしないと、問題を解決する価値があるほど十分に節約できません。話をするのは楽しいですが、深刻な問題が発生した場合の最良の答えは、いくつかのことを試し、何が機能するかを確認することです。

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