L3 快取對效能的影響 - 值得使用雙處理器系統嗎?

L3 快取對效能的影響 - 值得使用雙處理器系統嗎?

我將購買一個新的高階系統,並且我想更好地了解雙處理器 Xeon 系統(我正在考慮新的高階 Xeon E5-2687W)實際上是否可以提供由於L3 快取加倍(每個CPU 20 MB),性能顯著提高。

(這還不包括由於核心和 RAM 加倍而偶爾帶來的額外優勢。)

我的使用場景大致是,我有許多後台應用程式隨時運行- 3 或4 個資料壓縮/備份應用程式、一個低影響的Web 伺服器、任意給定時間的一到兩個虛擬機(通常相當空閒) ,以及大約 20 個實用程式使用了 CPU 核心的顯著(但很小)部分。總的來說,當我不經常使用電腦時,我目前的 i7-970 6 核心(12 執行緒)系統大約使用了總 CPU 功率的 25%。

當我做日常工作時,CPU利用率經常超過50%,偶爾會達到75%-80%。

Xeon E5-2687W 不僅是第二代 i7(因此應該會提高效能),而且還具有 8 核心(16 執行緒),而不是 6 核心。因此,我預計運行 75% CPU 範圍的頻率會更低。儘管如此,將核心和 RAM 加倍的能力也是一個考慮因素。

不過,最終,我相信這個決定取決於 L3 快取加倍是否會帶來明顯的改進。關於 CPU 效能,有許多基準測試和大量討論。然而,我發現很少討論 L3 快取利用率,以及 L3 快取的增加(例如使用雙處理器將其加倍)如何影響效能。

例如:如果只有進程運行,但每個進程都受益於大型 L3 快取(例如頻繁掃描文件系統的後台進程的情況),也許雙 CPU 的整體系統性能可能會顯著提高 - 即使只有一個核心處於活動狀態每個CPU -由於每個進程都有雙倍的有效L3 快取。

我希望有人能夠感受到增加(或加倍)L3 快取大小的好處。

注意:我正在考慮的 CPU(Xeon E5-2687W)具有 20 MB L3 快取,因此具有雙 CPU 的系統將具有 40 MB L3 快取。

答案1

與快取問題一樣,答案是「這完全取決於您的工作負載」。只有當正在運行的進程花費大量時間存取記憶體時,快取才有用表現出明顯的記憶體定址參考局部性(並且對每個核心存在的較小的 L1/L2 快取不滿意)。

在不同執行緒中執行大量進程會增加共享快取崩潰的幾率,從而降低本來可以實現的效能增益。這也是透過增加核心數量來增加快取大小的原因 - 運行的記憶體競爭線程越多,共享快取可能需要越大才能發揮作用。

有一篇舊文章來自湯姆的硬體比較有和沒有 L3 快取的兩個舊 P4 晶片的大量渲染/圖形工作負載。這些數字和整個基準測試一樣都是垃圾,但它包含了對一般快取架構,特別是 L3 快取的很好的解釋。

底線:您可能不會注意到差異,但如果您需要確切的數字,則必須購買兩個 CPU 並在它們上運行工作負載以比較運行時間。

答案2

人們說「L3 快取僅增加 20 MB」根本不知道他們在說什麼。即使在平均負載下,給定架構的快取大小的合理增加也可能導致效能的顯著提升。當您考慮 Sandy Bridge 和 Ivy Bridge 處理器中實現的 Turbo Boost 架構時,情況更是如此。

我有機會在 x86/x86_64 架構的幾個不同階段親自進行實驗:Sempron 與 Athlon、Celeron 與 Pentium 4、Pentium4 與 Athlon、Pentium4-m 與 Pentium-m、Pentium 4 與 Xeon、i7 與 Xeon E5。每當快取更大時(通常是雙倍或幾乎雙倍)。

加倍快取的成本是否可以承受,取決於您。但 Xeon 的穩定性更好,因為它們支援 ECC 記憶體和此類技術,這顯然是某些應用中必須具備的(例如鋁壓鑄的 3D 模擬,這就是我的情況)。

答案3

從您對您所做的事情以及當前系統如何處理它的描述中,我只能想知道您為什麼要替換它。在最好的情況下,L3 快取只會帶來一點點提升,但代價卻很大,但在您所描述的用例中,您不能指望看到 L3 快取僅增加 20MB 會帶來任何差異。

相關內容