web-dev-qa-db-ja.com

L3キャッシュがパフォーマンスに与える影響-デュアルプロセッサシステムの価値はありますか?

新しいハイエンドシステムを購入する予定ですが、デュアルプロセッサXeonシステム(新しいハイエンドXeon E5-2687Wを検討しています)が現実的に提供できるかどうかをよりよく理解したいと思います。 L3キャッシュ(CPUあたり20 MB)が2倍になるため、パフォーマンスが大幅に向上します。

(これは、コアとRAMが2倍になるために時折追加される利点に追加されます。)

私の使用シナリオは、大まかに言って、いつでも多くのバックグラウンドアプリケーションを実行していることです。3つまたは4つのデータ圧縮/バックアップアプリケーション、影響の少ないWebサーバー、常に1つまたは2つの仮想マシン(通常はかなりアイドル状態)、 CPUコアの目立つ(しかし小さい)部分を利用するおそらく20のユーティリティプログラム。合計すると、コンピューターを積極的に使用していないときは、現在のi7-970 6コア(12スレッド)システムで合計CPUパワーの約25%が使用されています。

私が日常業務を行っているとき、CPU使用率は50%を超えることが多く、75%〜80%に達することもあります。

Xeon E5-2687Wは、第2世代のi7であるだけでなく(そのため、パフォーマンスが向上するはずです)、6コアではなく8コア(16スレッド)を備えています。このため、75%のCPU範囲に達する頻度はさらに少なくなると思います。それでも、コアとRAMを2倍にする機能は考慮事項です。

ただし、最終的には、この決定は、L3キャッシュを2倍にすることで顕著な改善が得られるかどうかにかかっていると思います。 CPUパワーに関しては、多くのベンチマークと多くの議論があります。ただし、L3キャッシュの使用率、およびL3キャッシュの増加(デュアルプロセッサでの2倍化など)がパフォーマンスにどのように影響するかについてはほとんど説明していません。

例:実行中のプロセスがtwoしかないが、それぞれが大きなL3キャッシュの恩恵を受けている場合(ファイルシステムを頻繁にスキャンするバックグラウンドプロセスの場合など)、おそらくシステム全体のパフォーマンスが各プロセスの有効L3キャッシュが2倍になるため、デュアルCPUを使用すると(各CPUでアクティブなコアが1つだけの場合でも)大幅に向上します。

L3キャッシュサイズを増やす(または2倍にする)ことの利点を誰かが感じてくれることを願っています。

注:私が検討しているCPU(Xeon E5-2687W)には20 MBのL3キャッシュがあるため、デュアルCPUを搭載したシステムには40MBのL3キャッシュがあります。

4
Dan Nissenbaum

キャッシングの質問でいつもそうであるように、答えは「それは完全にあなたのワークロードに依存します」でしょう。キャッシュは、実行中のプロセスがメモリへのアクセスにかなりの時間を費やしていてがメモリアドレス指定の参照の局所性を示している場合にのみ役立ちます(およびこの問題に関して、コアごとに存在する小さいL1/L2キャッシュに満足していません)。

異なるスレッド内で多数のプロセスを実行すると、共有キャッシュがスラッシングされる可能性が高くなるため、他の方法では達成できたはずのパフォーマンスの向上が低下します。これは、コア数を増やしてキャッシュサイズを増やす理由でもあります。実行しているメモリ競合スレッドが多いほど、有用であるためには共有キャッシュを大きくする必要があります。

Tom's Hardware からの古い記事があります。レンダリング/グラフィカルワークロードの数について、L3キャッシュがある場合とない場合の2つの古いP4チップを比較しています。ベンチマーク全体と同様に、数値はごみですが、一般的なキャッシングアーキテクチャ、特にL3キャッシングについての優れた説明が含まれています。

結論:違いに気付かない可能性がありますが、正確な数が必要な場合は、両方のCPUを購入し、両方でワークロードを実行してランタイムを比較する必要があります。

5
syneticon-dj

「L3キャッシュがわずか20MB増加した」と言う人は、何について話しているのかわかりません。特定のアーキテクチャのキャッシュサイズを大幅に増やすと、平均的な負荷であっても、パフォーマンスが大幅に向上する可能性があります。 SandyBridgeおよびivybridgeプロセッサに実装されているターボブーストアーキテクチャについて考えると、これはより真実です。

これをx86/x86_64アーキテクチャのいくつかの異なる段階で個人的に実験する機会がありました:Sempron vs Athlon、Celeron vs Pentium 4、Pentium4 vs Athlon、Pentium4-m vs Pentium-m、Pentium 4 vs Xeon、i7 vs XeonE5。キャッシュが大きいときはいつでも(通常は2倍またはほぼ2倍)。

キャッシュを2倍にするコストが手頃かどうかは、あなた次第です。ただし、Xeonは、ECCメモリなどのテクノロジをサポートしているため、安定性に優れています。これらのテクノロジは、特定のアプリケーション(私の場合はアルミニウムダイカストの3Dシミュレーションなど)で明らかに必須です。

2
zizzithefox

あなたが何をしているのか、そしてあなたの現在のシステムがそれをどのように扱っているのかについてのあなたの説明から、なぜあなたがそれを交換したいのか疑問に思うだけです。せいぜいL3キャッシュはささいなブーストを与えるでしょうが、多大な費用がかかりますが、説明したユースケースでは、L3キャッシュのわずか20MBの増加による違いは期待できません。

1
John Gardeniers