高性能CPU缺乏,異構多核架構崛起
全球領先的超大規(guī)模云數(shù)據(jù)中心公司——亞馬遜、谷歌、Meta、微軟、甲骨文和Akamai——正在推出專門針對云的異構多核架構,整個芯片的高性能 CPU 開發(fā)正在感受到這種影響。
這些芯片不太可能進行商業(yè)銷售。它們針對特定數(shù)據(jù)類型和工作負載進行了優(yōu)化,具有巨大的設計預算,可以通過提高性能和降低功耗來節(jié)省成本,從而實現(xiàn)合理化。目標是以更低的冷卻成本將更多的計算能力集成到更小的區(qū)域,而實現(xiàn)這一目標的最佳方法是通過定制架構,以及緊密集成的微架構和精心設計的數(shù)據(jù)流。
這一趨勢始于近十年前,當時 AMD 采用異構架構和加速處理單元,取代了同質多核 CPU 的舊模式,但起步緩慢。從那時起,它就開始騰飛,追隨為移動消費設備創(chuàng)建的各種設計的腳步,這些設備需要滿足非常緊湊的占地面積以及嚴格的功率和散熱要求。
Quadric營銷副總裁 Steve Roddy 表示:“英特爾等行業(yè)巨頭的單片芯片幾乎在每個產(chǎn)品代碼中都配備了 AI NPU?!?“當然,人工智能先驅 NVIDIA 長期以來在其非常成功的數(shù)據(jù)中心產(chǎn)品中混合使用 CPU、著色器 (CUDA) 核心和 Tensor 核心。未來幾年向小芯片的轉變將徹底鞏固這一轉變,因為指定小芯片組合的系統(tǒng)買家可以選擇專門針對相關設計插槽定制的計算和互連類型?!?/span>
如何設計高性能CPU?
每次談到高性能設計,經(jīng)常會面臨幾個名詞:IO多路復用、零拷貝、線程池、冗余等等,關于這部分的文章非常的多,其實本質上是一個系統(tǒng)性的問題,可以從計算機體系結構的底層原來去思考,系統(tǒng)優(yōu)化離不開計算性能(CPU)和存儲性能(IO)兩個維度,總結如下方法:
如何設計高性能計算(CPU)?
減少計算成本:代碼優(yōu)化計算的時間復雜度O(N^2)->O(N),合理使用同步/異步、限流減少請求次數(shù)等;
讓更多的核參與計算:多線程代替單線程、集群代替單機等等;
如何提升系統(tǒng)IO?
加快IO速度:順序讀寫代替隨機讀寫、硬件上SSD提升等;
減少IO次數(shù):索引/分布式計算代替全表掃描、零拷貝減少IO復制次數(shù)、DB批量讀寫、分庫分表增加連接數(shù)等;
減少IO存儲:數(shù)據(jù)過期策略、合理使用內(nèi)存、緩存、DB等中間件,做好消息壓縮等;
多核不僅是多個CPU的內(nèi)核
為了充分發(fā)揮CPU功效和減少用戶支出,現(xiàn)在越來越多CPU集成GPU功能,比如Intel就在Sandy Bridge把GPU核心整合進了CPU當中,其GPU核心的圖形核心性能大幅度地提升。
多核化是無奈之舉:以前,半導體工藝的發(fā)展可以帶來“一舉三得”的效果,包括提高晶體管速度、降低功耗和縮小芯片面積。但是,當制造工藝發(fā)展到90nm或65nm時,泄漏電流的問題凸顯,沿用以往的內(nèi)部架構來提高頻率的方法難以奏效。為了在不提高工作頻率的條件下實現(xiàn)性能的提升,只能增加CPU內(nèi)核的數(shù)量。
在有許多客戶要求進行并行處理的服務器中,多核架構容易獲得比較好的效果。但是,問題發(fā)生在根據(jù)用戶的要求運行應用軟件的客戶機里。由于可能同時運行的軟件數(shù)量有限,即使可以將各個軟件分割以后并行執(zhí)行,但軟件中必須串行執(zhí)行的部分仍然會妨礙處理性能的提升。許多相關人士認為,在目前這種架構的PC中,4~8個內(nèi)核可能是多核處理器能夠獲得較好性能提升效果的極限。
集成多個不同類型的內(nèi)核:另一方面,提供新體驗的高級用戶接口、動態(tài)及靜態(tài)圖像分析等新的應用軟件的不斷出現(xiàn),對處理器的處理性能提出了更高的要求。如果處理器僅在目前以CPU內(nèi)核為主的架構上繼續(xù)發(fā)展,這些新應用可能將無法實現(xiàn)。
2007年9月,英特爾公司董事會名譽主席Gordon Moore在英特爾秋季技術峰會上表示:“眾所周知,摩爾定律在物理上是有極限的。大約10年或15年以后,摩爾定律將會遇到根本性障礙,而退出歷史舞臺?!狈催^來說,Moore認為,半導體工藝的發(fā)展很可能還會像以前那樣再延續(xù)10年左右。在把工藝發(fā)展當作技術推動力的同時,為了越過橫亙在多核架構前面的壁壘,處理器應該采用什么樣的內(nèi)部架構呢?
業(yè)界想到的方案是采用異構處理器架構,即將不同類型的內(nèi)核集成在一起。在這種架構中,CPU內(nèi)核所不擅長的浮點運算及信號處理工作,將由集成在同一塊芯片上的其它可編程內(nèi)核執(zhí)行。相關人士認為,集成多個不同類型內(nèi)核的異構多核架構將成為今后處理器的主流架構。
從同構到異構通用處理器將實現(xiàn)SoC化:Nvidia公司的總裁兼CEO指出:“目前,圖形芯片具有的浮點運算性能已經(jīng)大大超越了處理器。如果能夠靈活運用,隨著圖形芯片的發(fā)展,將會涌現(xiàn)出各種各樣新的應用?!痹谡紦?jù)PC及服務器主流地位的x86處理器中,圍繞GPU(圖形處理單元)展開的相關研發(fā)工作突然活躍起來。
GPU的集成和通用化取得進展:圍繞GPU的研發(fā)方向主要有兩個。首先,是將GPU內(nèi)核集成到處理器芯片上。AMD公司在2006年7月收購了加拿大的GPU生產(chǎn)商ATI科技公司,并提出了將ATI公司的GPU內(nèi)核集成到處理器上的Fusion處理器方案。另外,英特爾公司在2007年4月明確表示,正在開發(fā)矢量處理器Larrabee(開發(fā)代號),其中集成了許多專用于浮點運算的CPU內(nèi)核。
另一個研發(fā)方向是,利用GPU擅長對浮點運算進行并行處理的特點,將其用作矢量處理器。這就是面向通用計算領域的GPGPU(General Purpose Computing on GPU),NVIDIA公司從2006年下半年已陸續(xù)推出相關的硬件產(chǎn)品及軟件開發(fā)工具。
多芯片不可避免
芯片行業(yè)清楚地意識到,對于許多計算密集型應用來說,單芯片解決方案變得不切實際。過去十年的一個大問題是向多芯片解決方案的轉變何時會變得更加主流。
Synopsys 研發(fā)總監(jiān) Sutirtha Kabir 表示:“整個行業(yè)正處于一個拐點,你無法再避免這種情況?!薄拔覀冊诤笈_談論摩爾定律和‘SysMoore’,但設計人員必須在 CPU 和 GPU 中添加更多功能,但由于光罩尺寸限制、良率限制以及所有這些限制,他們根本無法做到這一點芯片。
多芯片芯片在這里是不可避免的,這帶來了一些有趣的考慮“第一,拿一張紙并將其折疊。這基本上就是多芯片的一個例子。你拿一個芯片,把它折疊起來,如果你能巧妙地設計它,你可以認為你實際上可以大大縮短時序,而不是有很長的時序路徑。如果你從頂部芯片到底部芯片,你所經(jīng)歷的可能只是芯片中的少量布線,但它們大多是凸塊到凸塊或鍵合到凸塊?!?/span>
多芯片設計挑戰(zhàn)包括弄清楚有多少路徑需要同步、時序是否應該放在兩個芯片之間或單獨關閉、L1 應該放在頂部芯片還是底部芯片上,以及是否可以添加 L4。
“從 3D 角度來看,平面現(xiàn)在變得非常有趣,”Kabir 解釋道?!澳阋岩粭潌螌拥姆孔痈脑斐扇龑踊蛩膶?。但還有其他設計挑戰(zhàn)。您不能再忽視熱量了。散熱曾經(jīng)是 PCB 的問題,而系統(tǒng)設計人員現(xiàn)在認為這些芯片非常熱。
Jensen Huang 最近在 SNUG 上表示,你將室溫的水從一端送入,然后從另一端流出按摩浴缸的溫度。他是在開玩笑,但事實是,從溫度的角度來看,這些都是熱芯片,如果你在布局規(guī)劃時不考慮到這一點,你就會燒毀你的處理器。這意味著您必須更早地開始這樣做。就 3D 布局規(guī)劃而言,當涉及到工作負載時,您如何知道您已經(jīng)分析了多芯片的不同工作負載,并確??紤]了 IR、熱量和時序等關鍵影響,即使您沒有考慮到這些影響甚至有一個網(wǎng)表?我們稱之為零網(wǎng)表階段。
這些考慮因素都變得非常有趣,而且因為你無法再避免使用多芯片,所以從代工廠的角度來看,從 EDA 的角度來看,這些都是生態(tài)系統(tǒng)的前沿和中心,而設計師則處于中間?!?/span>
與數(shù)據(jù)中心芯片的熱問題相關的是低功耗設計方面。
“這些數(shù)據(jù)中心使用大量電力,”Ansys 產(chǎn)品營銷總監(jiān) Marc Swinnen說?!拔耶敃r在舊金山的 ISSCC,我們在 NVIDIA 旁邊的一個展位里,那里正在展示它的一個 AI 訓練盒——一個大膽的大盒子,里面有八個芯片,還有大量的風扇和散熱器。我們詢問它使用了多少功率,他們說,“哦,最高 10,000 瓦,但平均 6,000 瓦?!惫恼娴淖兊茂偪窳??!?/span>
Arm 的 Jeff 同意,應對數(shù)據(jù)中心芯片新挑戰(zhàn)的最佳方法是采用完整的系統(tǒng)方法,涵蓋指令集架構、軟件生態(tài)系統(tǒng)和特定優(yōu)化、CPU 微架構、結構、系統(tǒng)內(nèi)存管理和中斷控制,以及封裝內(nèi)和片外 I/O?!巴暾南到y(tǒng)方法使我們能夠與合作伙伴合作,根據(jù)現(xiàn)代工作負載和工藝節(jié)點定制 SoC 設計,同時利用基于小芯片的設計方法?!?/span>
這種定制芯片設計方法使數(shù)據(jù)中心運營商能夠優(yōu)化其電力成本和計算效率?!拔覀兊?Neoverse N 系列的高效率可實現(xiàn)每個插槽 128c 至 192c 及以上的非常高的核心數(shù)量,”Jeff 說?!斑@些相同的 N 系列產(chǎn)品可以縮小到占用空間更小的 DPU 和 6g L2 設計以及邊緣服務器。我們的 V 系列產(chǎn)品線面向云,具有更高的每線程性能和更高的矢量性能(適用于 AI 推理和視頻轉碼等工作負載),同時仍然提供高效率。一系列加速器附加選項使我們的合作伙伴能夠將自定義處理和云原生計算正確組合到一個針對其工作負載量身定制的 SoC 中?!?/span>
結論
考慮到高性能計算的演進本質,特別是考慮到如何優(yōu)化數(shù)據(jù)中心存在不同的方面,所有這一切最終的結果幾乎是無法預測的。西門子的 Hand 表示:“隨著網(wǎng)絡事物的爆發(fā),人們開始在數(shù)據(jù)中心內(nèi)進行南北向和東西向路由,這改變了所有網(wǎng)絡交換架構,因為這是最大的瓶頸?!??!斑@導致人們重新思考數(shù)據(jù)中心的樣子。類似的事情也發(fā)生在內(nèi)存方面,當你開始集成光學和一些更智能的內(nèi)存時,看到它會如何改變它將會非常有趣?!?/span>
Hand指出,幾年前的英特爾開發(fā)者大會上,該公司解釋了如何使用硅光子學中的表面發(fā)射光學器件將內(nèi)存與數(shù)據(jù)中心機架中的存儲分開。“他們有一個統(tǒng)一的內(nèi)存結構,可以在服務器之間共享,并可以從不同的服務器分配內(nèi)存,”他說。
“所以數(shù)據(jù)中心的拓撲開始看起來非常有趣。即使在機架中,你也會看到NVIDIA 的 AI 系統(tǒng)結構看起來不像傳統(tǒng)服務器機架。最大的轉變是人們可以看到它,如果有市場,你就可以建立它。我們總是考慮架構的核心是否快。我們的出發(fā)點是“核心速度快嗎?” '我有足夠的核心嗎?'但它的意義遠不止于此。一旦你開始打破馮諾依曼架構并開始使用不同的內(nèi)存流并開始研究內(nèi)存計算,它就會變得非??帷?/span>
