目前半導體行業的發展可以用冰火兩重天來形容,傳統的桌面及移動SOC(System on a Chip,系統級芯片)市場已經基本停止增長,而雲計算成了各大巨頭的兵家必爭之地。在行業整體突飛猛進的基礎上,技術之魂帕特·基辛格從VMware回歸後,英特爾便開始了史無前例的顛覆式革新,最近他們展示的全新一代計算結構Alder Lake,為x86的未來創新帶來了全新的性能分配方案,也讓英特爾徹底摘掉了「牙膏廠」的帽子。另外一家半導體公司英偉達,在今年新品發布會上,也如期拿出了首款CPU芯片Grace,劍指AI雲,不過英偉達早於去年欲收購ARM的計劃如今受阻,一定程度上也影響了其在雲計算領域的腳步。個人認為英偉達應該對於帕特·基辛格的老東家VMware給予更多的關注,一旦他們用400億美元收購ARM的交易被監管機構叫停,此時如果能將VMware收入囊中也很可能幫助他們在雲數據中心方面變得更強。畢竟放眼英特爾與英偉達的雙「英」大戰中,先搞定虛擬化平台的一方將獲得極大的競爭優勢。
Alder Lake vs. Grace,巨頭也能起舞
在競爭中,新品的誕生明顯都從競品身上得到了很多有益的靈感,比如Alder Lake本次最大的升級就是引入了能效核與性能核的設計,雖然能效核與性能核這個概念聽起來比較陌生,但從本質上看這個概念與ARM的big.LITTLE大小核架構沒有什麼大的差別,設計思路都是讓小核去處理那些對算力要求比較低的問題,大核則專注於處理計算密集型的任務。不過大小核技術在移動SOC的應用非常容易實現,在手機熄屏待機時用小核工作,而當用戶進行遊戲或者觀看視頻時則啟動大核,兩核中核心各負責一攤,界限分明井水不犯河水,應用效果很好。但是大小核技術之前一直被認為不適合於雲計算場景。由於絕大部分雲場景都依賴於SIMD單指令多數據的硬件加速技術,而一般來說傳統的小核都不支持AVX512等SIMD指令集,這也讓大核在雲計算的應用中幾乎要全程待命,沒有時間休息,所以英特爾在Alder Lake之前一般使用睿頻技術也就是通過調節主頻來進行能耗的優化。但這次不一樣了,英特爾對小核的優化簡直令人瞠目結舌,Alder Lake的小核擁有5000個條目的分支目標緩存區,實現更準確的分支預測;並將指令緩存擴充到64K;簇亂序執行解碼器,可在保持能效的同時,每周期解碼多達6條指令,直接支持了AVX指令集,並且還能在性能保持一樣的情況下,將能耗控制在前代的40%,這樣也就讓小核幾乎可以應對絕大多數雲場景,只有少量計算密度極大的場景下才需要大核下場參與,做到這麼極致的程度引入大小核的設計完全沒問題。由於Grace和M1都是基於ARM架構的處理器,我們明顯能從英偉達的Grace身上看到蘋果M1的影子,由於ARM屬於RISC精簡指令集陣營,指令都是定長的,這使得ARM處理器在指令解碼等方面天然比x86更具優勢,x86的處理器做到6路解碼基本就已經到了能耗極限,但是ARM處理器則可以輕鬆達到這一目標。根據黃仁勛在大會上的介紹,Grace最大的創新點在於把CPU與GPU之間的通信速度提升了近10倍,「這是一萬名工程人員歷經幾年的研發成果,旨在滿足當前世界最先進應用程序的計算需求,其具備的計算性能和吞吐速率是以往任何架構所無法比擬的。」類似於DMA控制器在磁盤與內存之間搭建了一條快速通道一樣,Grace體系中GPU核心與CPU核心之間的通信不需要CPU的調度,也不需要占用數據總線的帶寬,之前CPU必須將數據從其內存的區域複製到GPU使用的區域,而在Grace的加持下,CPU只需要告訴GPU在內存的某位置有30MB的向量數據,然後就可以去做其它事了,GPU則可以通過Grace複製通道迅速開始計算任務。這方面的威力我們可以從蘋果的正確示範中得到啟示,在蘋果M1中顯卡與內存加在一起只有16G,對比上一代MAC PRO內存128G,光是顯存都有16G,不過搭載M1的入門版MAC在進行圖像處理等需要CPU與GPU進行協同的運算任務時,至少比上一代頂配的MAC性能高出近一倍。其中的秘決就是將內存與顯卡進行統一管理,從而大大提高了CPU與GPU的通信效率,因此英偉達的技術路線肯定也是非常有道理的。但是這種顛覆式的革新,背後也有隱憂,想在雲計算的領域立足恐怕還有很長的路要走。
無論是Grace還是Alder Lake想在雲計算領域有所作為都必須要邁過虛擬化的坎,比如Grace打通內存、顯存的方案,在雲計算這種多租戶共存的場景下困難很多,在內存、緩存共享的方案下,CPU和GPU必須輪流訪問主存儲器,這就意味着他們要爭奪數據總線的使用權,那麼不同租戶之間的界限如何劃分就成了一個很值得討論的問題。在實踐中單獨一個GPU按照不同租戶劃分虛擬化能力的方案,都還不完全成熟,而如何將Grace這樣的CPU與GPU的融合計算處理器進行虛擬化更不會是一個容易解答的問題。Alder Lake大小核也是同樣的問題,假如用戶購買了一台1核的雲主機,那麼到底買的是大核還是小核呢?如果是大小核的綜合體那麼如何進行調度呢?為了解決調度難題,Intel在Alder Lake處理器中引入了Thread Director技術,Alder Lake處理器中集成了一個專用的MCU,用來監控當前處理器內核的運行情況,能夠監測到每個線程的特徵,比如它運行什麼樣的指令集、它的性能需求如何等等。在收集完信息之後,它會將收集到的信息反饋給操作系統,而操作將會把這些信息與自己線程調度器相結合,判斷是否應該將線程轉移到別的核心上。如果與操作系統結合的好,那麼一輪信息採集工作僅需要30微秒就能完成,而傳統的調度器可能需要100多毫秒才能判斷出結論,不過明顯可以看到這是一項需要與操作系統進行深度結合的技術,沒有軟件方面支持,Thread Director發揮不出來效果。從目前的情況看Thread Director已經與Windows 11進行了結合優化,但是在雲服務器領域Windows的份額幾乎可以忽略不計,而Thread Director如何與虛擬化平台結合以實現資源的隔離,我目前還沒有看到任何有關的動作。對於打造軟、硬結合IT生態的重要性,英偉達和英特爾都有很深刻的認識,比如英偉達還與Grace同時發布了Transformers框架Megatron、合成模型Omniverse、藥物研發加速庫Clara Discovery模型等軟件產品,這些技術與英偉達的CUDA聯合使用效果是非常好的,當然可能也是因為英偉達的產品全線都太香了,後來還引發了一個真假老黃的史詩級烏龍。英特爾這次也適時推出了oneAPI的整合框架,基於oneAPI開發軟件,無需考慮是CPU還是GPU還是TPU的問題,oneAPI會自動讓你的代碼在最適合的設備上運行。但是在雲計算虛擬化軟件的生態方面VMware是當之無愧的王者,他們的ESXi/vSphere技術棧在管理的虛擬化CPU和GPU融合計算平台方面,與英特爾和英偉達都有着巨大的互補性。在雲計算領域中「數千萬台」服務器將在雲端或者邊緣運行人工智能,並將通過GPU加速,這是一個上百億美元的巨大市場,而VMware以其特有虛擬化軟件優勢,能否成為巨頭們下一個競相收購的對象值得我們觀察。作者:馬超,CSDN博客專家,阿里雲MVP、華為雲MVP,華為2020年技術社區開發者之星。

鑽石舞台 發表在 痞客邦 留言(0) 人氣()