硬科技:AMD選擇的Chiplet路線沒有你想像的簡單

2021.01.18 03:00PM
照片中提到了REVOLUTIONARY CHIPLET DESIGN、12nm、3.8 Billion FETS, 74 mm2,包含了多媒體、多芯片模塊、Advanced Micro Devices公司、半導體封裝、7納米

只要是內心呼喊著「AMD Yes!」的科科們,一定都知道AMD靠著「多餡水餃」的Chiplet策略,取得對Intel的核心數優勢。但AMD其實有更多的策略考量,絕非一般DIY玩家和網路鄉民想的那麼簡單,也為此帶來了更麻煩的性能調校,特別是核心數量激增的EPYC。

照片中提到了晶粒種類、主要功能、製程技術,包含了數、迷你裙、緊身連衣褲、緊身連衣褲、膠乳

硬科技:回顧AMD Zen微架構和EPYC (上)
硬科技:回顧AMD Zen微架構和EPYC (中)
硬科技:回顧AMD Zen微架構和EPYC (下)
硬科技:讓AMD產品時程準確到位的Infinity Fabric
硬科技:AMD 7nm製程CPU、GPU外 科科們更該知道的事
硬科技:AMD的CPU製程優勢和Intel的缺貨危機(上)
硬科技:AMD的CPU製程優勢和Intel的缺貨危機(下)

CPU整合記憶體控制器這件事,其實有利有弊,好處是「靠的越近,速度越快」,壞處則是在多處理器環境,主記憶體會分散在四處,作業系統須進行最佳化排程,盡量讓CPU核心使用本地端的記憶體,避免不必要的遠端存取。

這也是ACPI規範會有儲存多處理器拓樸(Topology)資訊的SRAT(Static Resource Affinity Table)和紀錄NUMA節點之間延遲差異的SLIT(System Locality Information Table)的主因,協助作業系統或虛擬機管理者(Hypervisor)「看清全局」,便於安排行程管理與配置記憶體。AMD的多晶片Chiplet封裝,也讓這件苦差事更加的複雜,更增加了快取資料一致性(Cache Coherence)協定的負擔。

AMD從Zen 2世代開始,將I/O和記憶體控制器與CPU核心拖鉤,除了為了減少風險(I/O和計體控制器的IP區塊,一般都難以快速導入最先進的製程),更有改善效能的考量,因為簡化了分散式實體記憶體的NUMA(Non-Uniform Memory Access) Domain,利於軟體最佳化。

以伺服器應用的EPYC為例,Zen 2世代將原本4個雙通道記憶體,集中成一個八通道,更像早期所有CPU共用同一塊主記憶體的SMP,雙處理器環境的實體NUMA Domain從8個變成2個,而處理器核心要存取記憶體控制器的「距離」,也從3種 (同一顆晶粒的其他CCD、同一顆EPYC的另一顆晶粒的CCD、另一顆EPYC的CCD) 精簡成2種 (本地端SIOD的記憶體控制器,遠端SIOD的記憶體控制器)。

硬科技:AMD移除用了17年的整合式記憶體控制器 AMD為何這麼做?

照片中提到了EPYCTM 7002 SERIES NUMA ADVANCEMENTS、EPYCTM 7001 SERIES PROCESSORS、EPYCTM 7002 SERIES PROCESSORS,包含了AMD EPYC 7002體系結構、py、中央處理器、Advanced Micro Devices公司、禪宗2

如果跟Intel相比,就更不難理解AMD的伺服器平台有多麼複雜,加上多晶粒架構會帶來的額外延遲,這也讓AMD EPYC平台在很多應用領域,實際上的表現並沒有比Intel Xeon-SP出色許多,甚至還比較差。同理可證,在個人電腦市場,尤其是遊戲,Intel的處理器也往往展現了超出跑分軟體的實質表現,其因在此。

照片中提到了代號、Socket、NUMA Domain,包含了數、T恤衫、連衣裙、長褲、服裝

照片中提到了12 DIMM、4 DIMM、4 DIMM,包含了羅馬vmware、py、Advanced Micro Devices公司、中央處理器、英特爾

但災難尚未結束,精簡NUMA Domain固然有其優點,但一次性存取八通道DDR4主記憶體,固然帶來最高的頻寬,卻也帶來更長的延遲,不利於原本已經高度 “NUMA Friendly” 的應用程式 (畢竟人家都已經習慣「自己吃自己」了),AMD勢必要提供可調整頻寬與延遲之間的折衷、並協助作業系統「搞清楚狀況」的工具。AMD也針對不同應用環境,從汎用型、虛擬化、資料庫、高效能運算等,提供性能調校手冊。

也因此,EPYC的系統BIOS有個叫做NUMA Nodes per Socket (NPS) 的項目,定義處理器核心群使用記憶體通道的方式。

照片中提到了作用、頻寬、延遲,包含了角度、黑與白、字形、線、儀表

照片中提到了Socketo、Socketl、NUMA Node 3,包含了數、中央處理器、Advanced Micro Devices公司、AMD 100-000000054 32核2.5-3.35 gHz Turbo SP3 180瓦OEM處理器、羅馬

四散各地的L3快取記憶體也是難搞的東西,BIOS裡面還有個ACPI SRAT L3 Cache as NUMA Domain,讓作業系統或虛擬機管理者意識到其存在,讓每個CCX盡量存取自己的L3快取。假若各位科科還看不懂的話,就請參考AMD是如何跟微軟合作,讓2019年5月更新版的Windows 10可以 “Topology Awareness”,將彼此有關連的執行緒,盡其所能的「塞」到同個CCX。

照片中提到了WINDOWS 10 OPTIMIZED FOR

那麼伺服器和虛擬機廠商是怎麼建議的?就來瞧瞧Dell和VMware的文件的內容。

照片中提到了L3 Cache as NUMA、應用場景、建議者,包含了角度、黑與白、字形、線、儀表

想必各位科科都覺得很麻煩了對不對?連微軟和VMware的官方文件,也是得從「NUMA是什麼、EPYC是多晶片水餃、1個CCD包2個CCX、所有CCD連接IOD、有哪些記憶體和I/O界面」等等從頭開始講起,否則想必讀者根本看不懂這些「有字天書」上面印的是從哪裡掉下來的聖經密碼。

照片中提到了Quadrant Top-Left、Quadrant Top Right、CCD5,包含了圖、14 nm製程、英特爾、7納米、Advanced Micro Devices公司

所以俗語說的好:天底下沒有白吃的午餐,只有吃不到午餐的白痴 (如筆者)。AMD的產品便宜歸便宜,要享受到好處之前,該做的功課一個都逃不掉。科科科科科。

 

 

 

1 則回應