Intel® Xeon® Processor Scalable Family Technical Overview
Note:
- Intel® Xeon® Scalable Processors with Intel® C620 Series Chipsets,其前稱包括 Purley,Skylake-SP 和 Lewisburg。– Intel Products & Solutions
- 本文將 processer family 譯作「處理器族」;
- 本文將 socket 譯作「槽」;
- 原文刊於 2017-09-14,詳見 intel document,本文對原文進行了一定的提煉和註釋;
Executive Summary
Intel 使用 tick-tock 模型迭代處理器,而本代 Intel® Xeon® Processor Scalable Family
就是基於 14nm 技術的 tock。
跟上一代 Intel® Xeon® processor E5-2600 v4 product family
(Broadwell 微架構) 相比,這一代的新特性包括:
- 增加了核數
- 增加了內存帶寬
- Non-inclusive cache
- Intel® Advanced Vector Extensions 512 (Intel® AVX-512)
- Intel® Memory Protection Extensions (Intel® MPX)
- Intel® Ultra Path Interconnect (Intel® UPI)
- Sub-NUMA clusters
前代將 2 / 4 槽處理器族分爲兩個不同的產品線,而本代只有一個處理器族,其包含所有的處理器模型!
前後三個處理器族系列的對等關係如下圖所示。
不難發現,本代命名採用的是金屬系,其中:
- 鉑金(Platinum [ˈplætɪnəm])支持拓展至 8+ 槽;
- 金牌(Gold [gəʊld])支持拓展至 4 槽;
- 銀牌(Silver [ˈsɪlvə(r)])支持拓展至 2 槽;
- 銅牌(Bronze [brɒnz])同銀牌。
(以上羞恥度爆表的譯名是 intel 官網親自翻譯的… )
鉑金級支持上述所有特性… (亞馬遜賣 6K$ 一顆,向土豪低頭 ORZ)
微架構概觀
本代的提升在於:
- 核數多達 28(前代 22);
- Non-inclusive last-level cache;
- 1MB L2 cache;
- 2666 MHz DDR4 memory;
- 6 Memory Channels / CPU;
- New memory protection features;
- Intel® Speed Shift Technology;
- on-die PMAX detection;
- integrated Fabric via Intel® Omni-Path Architecture (Intel® OPA);
- 集成了 Omni-Path Fabric。
- Internet Wide Area RDMA Protocol (iWARP)*;
- Intel® Virtual RAID on CPU (Intel® VROC);
- 允許 NVMe SSDs 通過 PCIe 連接,並直接被 CPU 管理,從而組成 NVMe RAID。
- …
具體信息請看原文。
本代微架構概觀圖:
前後三族處理器對比表:
特性概觀
新特性 / 技術見下表:
限於時間精力有限,這裏僅摘選部分博主比較感興趣的特性,其餘特性請自行查閱原文。
在摘選的部分中:
- 第一部分談了新型的片上核心連接架構;
- 第二部分談了新平臺的 NUMA 拓撲結構;
- 第三部分談了新型處理器緩存架構;
Skylake Mesh Architecture
過去 Grantley 平臺上的處理器族(Haswell 和 Broadwell),其處理器、核心、LLC、內存控制器、I/O 控制器及槽間的 Intel® QPI 端口均使用環形架構連接。
然而隨着 CPU 中核心數的迭代,訪問延遲不斷增加,而核心可用帶寬不斷減小。
彼時 intel 爲了緩解這個問題,將芯片分爲兩半,然後引入了第二個環,用於減少路徑長及增加帶寬。
Broadwell-EP 中的雙環架構見下圖:
然而本代單處理器核心數、內存帶寬及 I/O 帶寬繼續增加,片上通信的需求隨之增加。倘若此時仍採用落後的環形架構,則可能會導致片上通信成爲處理器性能的瓶頸。
因此本代採用了新的網孔架構,其包含一系列橫豎交叉的通信路徑,使得兩個核心之間能夠以最短的路徑進行通信。
本代還以模塊化和分佈式的方式將 cache agent、home agent 和 I/O subsystem 集成到了網孔上,以消除訪問這些功能的瓶頸。
現在每個核心及其 LLC 切片都有一個 combined Cacheing and Home Agent(CHA),該組件爲 intel® Ultra Path Interconnect (Intel® UPI) 緩存一致性功提供了資源跨越的擴展性。
網孔狀架構如下圖所示:
除了降低 core-to-cache 和 core-to-memory 的延遲,該架構還降低了 I/O 啓動訪問的延遲。以前訪問 LLC / memory / IO 的資源時,若 source 和 targets 不在同一個環中,則 core 或 I/O 可能會繞環然後經過環間交換器的仲裁。而本代則可直接在網孔中,以最短路徑訪問 LLC / memory / IO 的資源。
Intel® Ultra Path Interconnect (Intel® UPI)
本代使用 UPI 替代了前代的 QPI。支持 UPI 的處理器會提供兩到三個 Intel UPI 鏈接,以提供高速、低延遲的處理器間數據傳輸。
UPI 是一個一致互聯組件,用於可拓展系統,該系統包含共享單個地址空間的多個處理器。
具體而言,其採用了 directory-based home snoop coherency protocol(詳見原文餘下章節),能夠提供高達 10.4 GT/s 的運行速度。
典型的 2 槽 / 4 槽(ring & crossbar) / 8 槽 配置:
Cache Hierarchy Changes
前代的 mid-level cache(MLC) 爲 256KB/Core,而 shared last level cache(LLC) 爲 2.5MB/Core,且是 includesive 的。
而本代 MLC 升級爲 1MB/Core,而 shared LLC 爲 1.375MB/Core,且是 non-includesive 的。
本代所有 Cache Miss 之後,核心直接將內存中的行取到其 MLC 中,而不再同時在 MLC 和 LLC 中保存一份拷貝。當然,Cache Line 被逐出後仍會放入 LLC 中。
((256 / 1024 + 2.5) - (1 + 1.375)) * 1024 = 384。沒錯,本代平均每個核心少了 384KB 緩存!
對此,Intel 的解釋詳見原文。