每當論及提高CPU性能時,大多數人第一反應都是加頻率、加核心數。而現在,對許多數據中心的應用很多時候存在一些特殊需求,比如可能需要做一些壓縮/解壓縮、加/解密,或者會有一些内存搬移的工作。
對上述工作負載,其實增加CPU核心并不一定是高效的,反而爲其提供一個專有的加速器會更高效。此外,通過增加加速器,可以提升每瓦性能,也就是說效比。而這些,又不是外置加速器能夠解決的。
加速,是開啓算力芯片新紀元的重要抓手。最近,英特爾宣布其高度創新的平台第四代至強可擴展處理器“七大神器”又添新助力,而這豐富的加速器将爲第四代至強可擴展處理器提供超高的性能和能效比。
具備七大“神器”的CPU
CPU是承載一切的基底,過硬的基礎才能發揮出加速器真正的本領。
第四代至強可擴展處理器采用Intel 7制程工藝制造,具有全新的芯片架構,并集成了高性能核、更多内核數量、業内高需求的數據中心工作負載的相關加速器,以及業界領先的DDR5、CXL1.1、PCIe 5.0。
有了強大的CPU作爲支撐,加速器就像爲CPU插上翅膀,面對各種場景不會占用更多寶貴的CPU資源,而是單獨使用加速器進行計算加速。
此前,英特爾所宣布的“七大神器”包括英特爾高級矩陣擴展AMX、英特爾動态負載均衡器DLB、英特爾數據流加速器DSA、英特爾存内分析加速器IAA、英特爾數據中心與壓縮加速技術QAT、英特爾安全引擎、英特爾至強CPU Max系列,而最新的“神器”則是集成vRAN Boost的第四代至強可擴展處理器。
事實上,加速計算有着異構與内置加速器兩種方式,那麽爲什麽英特爾選擇了内置加速器?
将一些功能放在CPU内部,可以離内存更近,速度更快,這樣CPU可以做更多事情,可以完成想在其他設備上卸載的工作,其通路很短。不過,這并不代表着有加速器就不再需要其他外置加速器,這些内置加速器更多是從市場需求而來。
英特爾的加速器并非改變算法,而是加速算法的計算。但算法和計算能力,有時是相輔相成的,算得更快客戶就有動力去設計新的算法。
相比核心數,似乎第四代至強可擴展處理器更爲強調加速器,但事實并非如此。英特爾不隻是強調加速器,而是在CPU上增加了一些更好的特性。實際上,英特爾之前也曾考慮采用外置的加速器,但從整體來看,諸多計算擁有共同的專有應用,從能效比角度和市場需求來考慮,内置加速器當屬最佳的方案。
需要注意的是,英特爾不僅在第四代至強可擴展處理器中擁有極強的内置加速器,還擁有幾乎市面上最全的外置加速器,一内一外,全面加速各種計算。
第四代至強的AMX更強勁
其中最具創新價值的加速器,當屬英特爾高級矩陣擴展AMX,它是第一次在CPU平台上應用到的用于矩陣運算的單元。
從CPU角度來看,AMX可以有效提升算力,同時它可以支持很大内存。對大模型領域的中長文本處理,它本身并不需要太高的實時性,而是要求吞吐,這就是一個比較合适的應用場景。
在之前,如果要做大數據、人工智能這些數據密集型業務,應用的CPU上的計算單元像AVX-512運算單元是向量的,英特爾引入了硬件矩陣的積存器——Tiles。同時配合這些硬件的寄存器,英特爾也有一些運算的單元,以實現每一個CPU指令都可以進行矩陣運算。
AMX計算單元支持兩種數據精度,一種是8bit的整形數據,另一種是16bit的浮點數據,英特爾稱之爲BF16,并與普通的16bit的浮點有所區别。
回溯以往CPU,第三代至強可擴展處理器有兩個系列,分别是Cooper Lake和Ice Lake,兩款産品均支持INT8的,但僅有Cooper Lake處理器支持BF16。反觀現在,産品叠代到了第四代至強可擴展處理器上,不僅支持了前代所有指令,同時也引入了一個新的AMX的運算單元。
在人工智能運算領域,對數據精度的選擇往往是有要求的。通常來說,如果需要高精度就需要數據位寬比較多的,如FP32、FP16這樣的數據來運算;如果要求運算速度更快,可能會選擇數據寬度更小的,如INT8這種數據精度。
人工智能一般有兩種場景,一種場景是訓練,就是根據數據不斷叠代出模型;另外一個場景是基于這個模型,針對新場景做出判斷,這種業務模式被稱爲推理。
保證模型數據精度通常要用BF16以上的數據精度來進行運算,對推理來說,因爲運算量相對比較小,INT8就可以滿足要求。
從實際應用案例來看,阿裏與英特爾在地址标準化方面展開合作,所謂地址标準化其實每天我們都有所涉獵。比如當用戶在淘寶先新增加一個收貨地址,在輸入幾個關鍵字之後,淘寶系統會不斷給用戶提示,最終幫用戶定位到某個地址,這裏面就涉及到語義分析。這個業務在淘寶應用相當廣泛,每天有着千萬級的服務。基于第四代至強可擴展處理器的AMX單元INT8數據類型精度,輔以相關軟件優化,最終相比基于第三代Ice Lake的整機,提升到原來的2.48倍。
不止如此,淘寶APP首頁能爲每一個客戶提供定制化首頁,而這一服務每日請求數高達億次。該業務用到AMX的BF16數據類型的精度,同時英特爾也針對業務做了一些軟件方面的優化,包括操作的融合以及在AVX-512深入的調優,最終性能達到了原來的3倍。
另外,第四代至強處理器的AMX也曾幫助過騰訊的太極機器學習平台支撐搜索和廣告業務。部署于騰訊雲上的太極機器學習平台支撐的搜索業務性能指标有兩方面的要求,首先是搜索次數越多越好,其次搜索延時要小于5毫秒。經過第四代至強可擴展處理器優化以及英特爾對軟件的優化,針對高精度實例采用了BF16進行數據處理,低精度實例選擇了INT8的數據處理,不僅幫助騰訊降低了對雲服務實例的CPU數量的要求,同時性能上也得到提升,高精實例性能是原來的3倍,低精實例性能是原來的2倍。
壓縮和解壓縮的利器IAA
IAA(In-Memory Analytics Accelerator)顧名思義就是針對大數據、内存分析類數據庫而設計的加速器,一個典型的場景就是對數據壓縮和解壓縮。
實際上,使用數據時,壓縮解壓縮包括查詢、過濾等工作都可以交由加速器完成,這樣的好處是,可以釋放CPU的計算資源,同時也可以發揮整個計算的最大的性能,可以提升每瓦的性能,提升能效比。
第四代至強可擴展處理器的IAA加速器能夠應用各種場景,對于一些主流的OS操作系統,IAA支持各種OS,比如Linux操作系統、客制化的OS、雲計算當中的K8S等;而在虛拟層IAA也支持如KVM、Hyper-V等;此外,英特爾還提供了簡單高效的庫QPL,而它是用戶态的庫。
ClickHouse是國内互聯網用得非常廣泛的分析數據庫,但它數據壓縮/解壓縮會占用很多CPU資源,影響數據查詢性能。ClickHouse原生支持LZ4, ZSTD壓縮算法,在增加了IAA-Deflate插件之後,利用IAA加速這部分功能,基于SSB 數據集(Query 4.1)測試,查詢性能最大提升40%,壓縮比提升42%,而這也将爲客戶節省大量磁盤成本、帶寬成本以及内存、帶寬的使用。
MongoDB是國内外使用率一度榜首的文檔數據庫,很多客戶也會基于MongoDB進行開發,而它的海量數據則也存在離線分析和在線分析,存儲過盤時一定是要壓縮和解壓縮的。與Clickhouse類似,英特爾的方案也是通過IAA-Deflate實現的,使用IAA對比Snappy性能可提升1.44倍,此外,也可提升47%的壓縮比。
内存搬運神器DSA
DSA(Data Streaming Accelerator)是針對内存搬移和傳輸操作的一個加速器,可以将這些操作卸載到DSA上執行,這樣就可以讓CPU核心釋放出來,去做更多業務場景。
比如,假若内存搬移操作時沒有DSA,如果要搬移64個數據,就需要消耗64個CPU cycles,CPU一條指令一條指令移動數據;但如果有DSA,隻要CPU告訴DSA,需要移動64個數據,這時候CPU就可以去做其他的工作。
DSA的帶寬是非常充足的,如果一個設備支持30GB/s雙向的帶寬,且CPU内有四個核心,就可以支持120GB/s的雙向帶寬。
在使用方面,DSA不僅支持現有的軟件庫DML,同時也已集成了業界比較廣泛應用的DPDK、SPDK等軟件。
在體育直播場景下,一定是通過端側設備錄制視頻,通過網絡傳到數據中心處理,而應用DSA就可簡化這一過程,數據中心收到數據包(RTP包)後,第一件事就是把真正的内容拿出來,這裏面需要很多内存拷貝工作。基于此,英特爾針對上述場景進行了優化,使用英特爾的Media Transport library這一開源項目,即可讓體育直播更爲流暢。
從結果來看,在沒有DSA前,體育直播的内存拷貝完全依賴CPU,有了DSA之後,CPU做一路,DSA就可以做2.25路,也就是2.25倍。當網絡帶寬是一定時,DSA隻需要兩個核心,節省66%的CPU資源。
此外,利用DSA加速器,在處理大數據報文時,可以達到1.6倍的性能提升以及37%的延時降低。
總結
毋庸置疑的是,在“七大神器”加持之下,第四代至強可擴展處理器的能效比獲得了極緻的提升,在面對各種應用場景之下,它仿佛一個毫無短闆的六邊形戰士,應對各種常見計算需求,分走CPU一部分計算壓力,讓CPU去做更多更難計算的任務。
不止如此,英特爾不會就此止步,這家公司依然會根據多個特定的應用領域設計不同的CPU型号,在今後的數據中心産品線裏,還會有除至強之外的其它産品來應對不同的應用負載。
與此同時,英特爾也是軟硬兼修的一家公司,從軟件角度來說,英特爾在開源的投入也比較多。未來,英特爾将會擁有越來越多的利器,他們也将會針對這些利器推出相配合的軟件,真正成爲沒有弱點處理器。
文/付斌