做技術的朋友可能有過類似這樣的感覺——每天都會遇到新的問題,或者學到新的知識。然而一個人的時間和精力畢竟有限,不是所有的崗位都能做到總是親力親為,每人最擅長的領域也各不相同。為了使工程師自己踩過的坑、那些實用的心得體會也能給大家帶來幫助,把經驗記錄和分享出來就顯得尤為可貴,這就是我們開設《工程師筆記》專欄的目的。
xeon phi要自我互連,cpu靠邊站
在《從260核異構申威看hpc top500縮影》一文中,我給大家介紹過在最新的超算榜單上為國争光的“神威太湖之光”。而在同一次大會上,intel也正式釋出了代号為knights landing的新一代xeon phi processor x200(注意:不再是coprocessor/協處理器了)。

我們知道此前的xeon phi(至強融核)協處理器家族包括3100、5100和7100系列,都是像gpu那樣通過pcie x16插槽安裝在x86伺服器上。xeon phi x100有闆載記憶體(類似于nvidia/amd的顯存),但通路系統主記憶體就要繞道cpu的記憶體控制器,進而影響到效率。
而在上圖中間的伺服器節點裡,我們已經看不到傳統的xeon cpu,取而代之的就是“bootable”(可獨立運作)的xeon phi processor。左右兩邊是兩種不同的xeon phi x200,其中右邊的多伸出一個金手指,整合了intel omni-path fabric(opa,又稱矽光互連)高速網絡。
xeon phi 7200系列的核心數有64、68和72三種,主頻1.3-1.5ghz,擁有16gb 高帶寬mcdram片上高速記憶體(類似于hbm、hcm),并支援最大384gb ddr4記憶體。xeon phi 7200的基礎功耗有215w和245w兩種,如果是結尾帶“f”支援omni-path的型号會增加15w fabric功耗。
這個照片應該是intel的參考平台,尺寸上大緻符合2u 4節點的密度,在xeon phi processor兩側有6個ddr4記憶體插槽。用紅圈标出的部分應該就是将omni-path網絡引出機箱的連接配接器件。
至本文截稿之時,官網上我還沒找到關于xeon phi x200的詳細資料,不過早在去年底翻譯自國外的新聞中已經有過不錯的介紹。
如上圖,“self boot socket”的knights landing除了ddr4記憶體控制器之外,還可以提供36個pcie gen3 lane,感覺是移植了xeon cpu的uncore部分設計。不過,提供2個omni-path 100gb/s網口的型号就少了2個pcie x16,讓我覺得這一代産品的片上opa互連控制器走的還是pcie?最右邊的pcie插卡形态,去掉了ddr記憶體通道,能不能不要那個pch南橋呢?
xeon-phi-processor-block-diagram——來自intel網站
上下兩張圖可以結合起來看。我數了一下紅色processing tile的數量是38個,如此則該架構設計應該支援最多76個核心,目前限制在72個可能是為了保證良品率,或者功耗考慮?
根據右邊的解釋,每個“tile”中有2個core共享1mb l2 cache,每個core支援4線程并包含2個avx-512矢量單元(浮點計算應該就是靠它來進行的)。intel還提到了這些core是基于atom處理器核心,記得之前還有一種說法是p54c。p54c即當年intel pentium 75-166的核心代号,1997年我自己的第一台電腦用的就是奔騰133。
在2011年春季北京idf上,我曾經看到這套由微伺服器廠商seamicro打造的高密度系統,展闆上介紹在10u機箱内容納了256個雙核atom,當時負責展台的朋友也提到了p54c。不知大家有沒有覺得神威太湖之光的節點布局有點像這個?
我猜測這個系統很早就開始用于預研今天的xeon phi processor,當然此時它還談不上晶片內建度和成本效益。從照片中看每顆atom旁邊應該都有一顆南橋(當時還不是soc),記憶體等可能在pcb背面,4顆印着seamicro的晶片估計是用于互連。
不同的avx boost頻率與整數/浮點單元配比
撰寫上一篇《工程師筆記:一項xeon e5-2600 v4測試資料的背後》的過程中,在dell的solutions performance analysis文檔中我看到了以上規格表,其中有non-avx和avx單元不同的turboboost超頻頻率。讓我們放大來看一下:
對于所有核心一起工作時的turboboost,non-avx的頻率比avx要高,而最大(少數核心工作)turboboost頻率有些型号的cpu也存在差别。
上圖來自intel資料,描述了xeon e5v4(broadwell)的一點改進。在此之前如果avx和non-avx負載在不同core上混合運作,隻能統一跑在兩者中較低的turboboost頻率上。而在xeon e5v4上,則運作avx的core頻率不會降低到其它core的turboboost水準。
我有個了解不知是否準确:由于用途的原因,整數/浮點單元的設計偏重與配比是xeon phi processor與xeon cpu的重要差別。至于intel為什麼沒有進一步像申威26010那樣“将mpe(管理單元)減少到4個來搭配256個cpe(計算單元)”?我覺得是考慮到通用性,畢竟xeon phi仍屬于x86指令集的一個擴充。
伺服器平台——supermicro
目前正式釋出支援xeon phi processor x200伺服器産品的公司還不多,其中包括supermicro的主機闆和準系統(就是加個塔式機箱),或許隻是先出個通用平台還沒有太多特點。
supermicro k1spa/e (-t) 主機闆示意圖,可以看到“巨大”的lga-3647 cpu插座,據了解下一代xeon e5可能也會用這個socket。
上面是supermicro這款主機闆的結構圖。涉及pch 612的部分與傳統xeon伺服器并沒有明顯的不同;除了記憶體通道之外,從處理器引出的pcie x16 gen3插槽也許不再支援拆分成x8或者x4,因為xeon phi的定位就是hpc,除了高速網絡互連應該啥也不缺了。
dell poweredge c6320p:可選ib和omni-path
戴爾的這款poweredge c6320p,可以了解為是在2u 4節點機箱基礎上将c6320 xeon e5計算節點換成了xeon phi processor節點。它比較接近前面我們列出的intel參考平台,具備計算密度并适合大規模部署。
可能是由于初版資料,規格表中xeon phi processor 72xx不支援的qpi還沒來得及修改徹底。c6320p有幾種硬碟/閃存支援選項,提供戴爾統一的idrac8伺服器管理,聽說可以直接安裝red hat企業版linux,具體注意事項有待後續确認。不過為了發揮avx-512計算單元的能力,還是需要運作相應的編譯好的程式。
關于內建單端口mellanox connectx-4 100gbe網卡這個可選項,為什麼不是infiniband edr呢?其實該公司近幾年對以太網的支援也不錯,可以在同樣的硬體上實作兩種網絡支援,比如eoib這樣的方式。
上圖來自戴爾網站,可見這個100gb網口應該是支援ib的。據了解poweredge c6320p也做好了支援omni-path的準備,除了現在可以使用intel omni-path host fabric adapter 100 series pcie網卡之外,等今年四季度xeon phi processor 72xxf推出之後,像intel參考平台中那樣将omni-path引出機箱的連接配接器件也可以使用。
infiniband和omni-path誰會勝出?
自從intel收購了qlogic ib業務和cray的部分hpc互連技術之後,就開始醞釀着後續的戰略。他們認為ib網絡的成本在hpc系統中占比過高,在使用者投資不變的情況下會影響到intel cpu等的出貨量。不過問題是,intel到底是想賣cpu送網絡呢,還是将cpu賣得更貴?
來自mellanox的反擊大概是這樣說的:“omni-path缺乏像ib那樣的硬體解除安裝能力,使網絡對cpu的占用率提高,變相導緻需要買更高端的cpu,而從使用者tco的角度來看反而不劃算。”下面是他們給出的一些對比數字。
以上圖表僅供參考,因為在intel的宣傳資料中您很可能會看到另外一些不同的測試數字。
true scale就是當初qlogic的40gb/s infiniband産品線,可以看出100gb/s的intel omni-path在端口延時、發包速率上的優勢。既然是在ib技術上發展而來,omni-path可能需要一個成熟的過程,但我不認為有太大的困難。
intel還列出了交換機方面的一些優勢。比如edge(邊緣)交換機48口比ib的36口多,伺服器節點可以不通過邊緣交換機直連director(導向器)等。
關于hpc網絡方面的最終戰局,我覺得要看intel omni-path怎麼個賣法。如果未來某一代cpu/xeon phi processor無論你用不用全都內建的話……
====================================分割線================================
本文轉自d1net(轉載)