本文來自CSDN。
從云而上,以邊緣為終。
計算支持的層面上云計算、霧計算、邊緣計算等相繼而起,從場景層面上,智能家居、工業(yè)制造、交通政務(wù)、環(huán)境勘測等各自芬芳。我們能看到的算力形態(tài)已開始百花爭艷,而在我們看不到的地方,依然有著旺盛的算力需求。
隨著“十四五”計劃的不斷落地,加快數(shù)字化發(fā)展,大力發(fā)展數(shù)字經(jīng)濟,打造具有國際競爭力的數(shù)字產(chǎn)業(yè)集群,全面實施智能制造行動計劃,業(yè)已成為我國當(dāng)前發(fā)展的重點之一。而企業(yè)想要從中脫穎而出,如何突破算力的迷局,找到更加高效的算力形態(tài),就變得至關(guān)重要。據(jù)英特爾預(yù)測,全球的算力需求預(yù)計到2025年將提升1000倍。那么算力需求如此旺盛,哪里才能得到這樣的算力呢?算力的形態(tài)如此豐富,最終的答案究竟是什么?是CPU?GPU?ASIC?還是FPGA?近年來,我們看到了一個更加可靠的答案,那就是:“我全都要。”
異構(gòu)計算:不僅僅是多面手
“我全都要”并非一種貪心,而是一種趨勢。
數(shù)字化建設(shè)的根源在數(shù)據(jù),也在智能。而各行業(yè)日趨復(fù)雜的大數(shù)據(jù)和AI應(yīng)用環(huán)境下,算力需求爆發(fā)式增長,這不僅是量在增加,形態(tài)也在變化。但是,作為一家企業(yè),算力與架構(gòu)及系統(tǒng)的綁定關(guān)系使得他們不可能頻繁更換底層,因此,當(dāng)算力的供給增長無法跟上算力需求的腳步,多元化算力的概念就被人開始提起。
異構(gòu)計算是多元算力的典型。跨越標(biāo)量(CPU)、矢量(GPU)、矩陣(ASIC)、空間(FPGA)的異構(gòu)計算,如今已經(jīng)成為企業(yè)推動IT基礎(chǔ)設(shè)施重構(gòu)的重要力量。其能夠?qū)⒉煌軜?gòu)的運算單元整合到一起進行并行計算,以最適合的專用硬件去做最適合的事如密集計算或外設(shè)管理等,從而達到性能和成本的最優(yōu)化。因此很多企業(yè)開始嘗試使用異構(gòu)計算來化解算力瓶頸,挖掘和實現(xiàn)算力增長。
多元算力的應(yīng)用場景正在變得越發(fā)廣泛,以快手為例,其在內(nèi)容生產(chǎn)、內(nèi)容理解、內(nèi)容分發(fā)、內(nèi)容消費等過程中都多元算力有著大量需求。尤其是在推薦系統(tǒng)方面,快手采用了計算與存儲分離的架構(gòu)模式,推薦系統(tǒng)中的存儲型服務(wù)主要是用來存儲和實時更新上億規(guī)模的用戶畫像、數(shù)十億規(guī)模的短視頻特征、以及千億規(guī)模的排序模型參數(shù)。其中參數(shù)服務(wù)器是一個容量和帶寬受限的系統(tǒng),需要支撐每秒數(shù)億次的KV請求;參數(shù)服務(wù)器的KV請求也高達每秒數(shù)億次,大規(guī)模查表會消耗大量CPU資源,成為其性能的主要瓶頸。
異構(gòu)計算正是快手與英特爾聯(lián)手給出的答案,通過將負(fù)載卸載到專門優(yōu)化的芯片上,將有助于消除性能瓶頸,在吞吐量與延時方面實現(xiàn)顯著改善。
快手LaoFe NDP異構(gòu)計算架構(gòu)
快手可提供異構(gòu)加速選項的LaoFe NDP架構(gòu)在計算層采用英特爾CPU、FPGA、PMEM等器件,實現(xiàn)了基于LaoFeNDP架構(gòu)的FPGA based KVS實踐落地,進一步提升快手在推薦、搜索、廣告、風(fēng)控等各種場景的應(yīng)用性能。同時,其通過計算體系結(jié)構(gòu)創(chuàng)新、軟硬一體化、領(lǐng)域?qū)S眉铀倨髟O(shè)計,通過網(wǎng)絡(luò)存、存儲、計算三重加速來提供低延遲、高并發(fā)、高吞吐、低總體擁有成本(TCO)的基礎(chǔ)資源。
三重加速,正是異構(gòu)計算獨有的魅力所在。
快手LaoFe NDP架構(gòu)圖
網(wǎng)絡(luò)方面,LaoFe NDP架構(gòu)將CPU收發(fā)網(wǎng)絡(luò)數(shù)據(jù)操作,卸載到FPGA上。Client發(fā)送的請求包直接發(fā)送給FPGA。相比gRPC基于TCP/IP,功能過于復(fù)雜,性能和延時方案無法保證。而使用基于FPGA實現(xiàn)了一套SD-RDMA協(xié)議,通過應(yīng)用層添加字段的方式,保證了類似gRPC的可靠性傳輸,這大大降低了請求時延。
存儲方面,LaoFe NDP架構(gòu)將CPU存儲操作也卸載到FPGA上。為了可以最大程度發(fā)揮FPGA的能力,快手基于通用KV存儲場景定制了一套易于FPGA訪問的KV(Key-Value)引擎。同時,其支持SSD/英特爾®傲騰™持久內(nèi)存/DRAM內(nèi)存、基于hash的Key-Value存儲引擎,能夠有效加速存儲性能。通過實戰(zhàn)檢驗,使用KV查表的吞吐相比CPU方案提升了足足5倍以上。
計算方面,LaoFe NDP架構(gòu)通過DSA的方式將計算操作卸載到FPGA上,實現(xiàn)了一個領(lǐng)域?qū)S锰幚砥鳌nI(lǐng)域?qū)S锰幚砥魇且活愥槍μ囟I(lǐng)域量身定制的處理器。它針對特定領(lǐng)域可編程,同時在特定領(lǐng)域問題處理上能帶來顯著的性能和效率的提升。再加上英特爾®至強®可擴展處理器、英特爾®FPGA等設(shè)備,可以幫助快手將LaoFe NDP架構(gòu)優(yōu)勢發(fā)揮到極致。
網(wǎng)絡(luò)、存儲、計算加速后示意圖
異構(gòu)計算背后,一場性能的變局
事實上,異構(gòu)計算并非新的概念,其早在上世紀(jì)80年代中期就已經(jīng)被踢出,當(dāng)時便被認(rèn)為有著計算能力強、可擴展性好、資源利用率高等特點。但是,為什么異構(gòu)計算時至今日,才再次發(fā)揮出巨大作用呢?
我們知道技術(shù)是發(fā)展的,很多在以往無法實現(xiàn)的構(gòu)思,可能在若干年后發(fā)光發(fā)熱。就比如1956年提出的人工智能技術(shù),在半個世紀(jì)后才發(fā)展壯大并成為了社會生活必不可缺的一部分。支撐起其變化的一方面是數(shù)據(jù)處理技術(shù)的成熟,另一方面就是算力自身的發(fā)展。異構(gòu)計算也是如此,英特爾在其發(fā)展的過程中起到的關(guān)鍵作用。
在快手的LaoFe NDP架構(gòu)中,英特爾®Stratix®10 FPGA表現(xiàn)十分出眾。全新的英特爾Hyperflex™FPGA架構(gòu)相比前一代時鐘頻率提高了2倍,功耗降低了70%。此外,更快的時鐘頻率減小了總線寬度和知識產(chǎn)(IP)的規(guī)模,釋放了更多分FPGA資源,以添加更強大的功能。同時它采用了超感知設(shè)計工具,減少了布線擁塞和設(shè)計迭代,提高了設(shè)計工作的效率。
一只蝴蝶都可能引發(fā)一場風(fēng)暴,更何況是產(chǎn)品效能的全面提升。當(dāng)英特爾®Stratix®10 FPGA在LaoFe NDP每個環(huán)節(jié)中頻繁出現(xiàn),其帶來的影響是巨大的。
通過將負(fù)載從CPU卸載到FPGA中,并采用Hash表查找優(yōu)化、隨機訪存、讀寫分離等方式,快手將單節(jié)點參數(shù)服務(wù)器的吞吐性能提升了5-6倍,整體請求延時則降低70%-80%,這有助于提升上層應(yīng)用的實時性,提供更佳的用戶交互體驗。
由于FPGA based KVS方案能夠在單節(jié)點服務(wù)器中提供遠(yuǎn)超傳統(tǒng)方案的吞吐性能,因此僅需要部署少量的服務(wù)器就能夠滿足特定的性能指標(biāo)要求(替代比可達1:5),從而降低參數(shù)服務(wù)器的TCO。
通過使用FPGA來進行查表,能夠有效地降CPU由于高頻率更新而產(chǎn)生的性能抖動。
總結(jié)一下,英特爾®Stratix®10 FPGA為快手LaoFe NDP架構(gòu)提供了富于彈性的可編程硬件能力,減少延時,實現(xiàn)精確控制,而且其單位算力功耗低、片上內(nèi)存大,能夠適用于延時要求高、批處理(Batch)比較小、并發(fā)性和重復(fù)性強的應(yīng)用場景。
FPGA based KVS方案與傳統(tǒng)方案性能對比
英特爾®至強®可擴展處理器針對眾多工作負(fù)載類型和性能等級而優(yōu)化的平衡架構(gòu),其對于LaoFe NDP非常重要,能夠為之提供內(nèi)置的人工智能加速和高級安全功能,可提供無縫性能基礎(chǔ),幫助從邊緣到云加快數(shù)據(jù)的變革性影響。除此以外它橫跨計算、網(wǎng)絡(luò)、存儲的平臺創(chuàng)新和硬件增強虛擬化,均支持新型內(nèi)存創(chuàng)新,促進以經(jīng)濟實惠、靈活、可擴展的方式實現(xiàn)邊緣到云的傳輸,從而一致地提供出色的企業(yè)對企業(yè)(B2B)和企業(yè)對消費者(B2C)體驗。同時英特爾硬件增強的安全性有助于抵御惡意攻擊,同時保持工作負(fù)載的完整性和性能。
英特爾®傲騰™持久內(nèi)存集高速、高性價比、大容量、持久數(shù)據(jù)保護和高級加密等優(yōu)勢于一體,在其推出之時便引發(fā)了巨大反響。它能夠為LaoFe NDP增加全新的內(nèi)存和存儲層級,縮小內(nèi)存和存儲層次架構(gòu)之間的關(guān)鍵差距,從而實現(xiàn)更智能、更靈活的架構(gòu)。其能實現(xiàn)每臺服務(wù)器的內(nèi)存容量翻倍,且每臺虛擬機的成本降低達25%,在進行實時分析和AI工作負(fù)載等需要處理大量數(shù)據(jù)集的服務(wù),性能提升可高達2倍。除此以外它還提供了內(nèi)存模式(Memory Mode)和應(yīng)用直接訪問模式(App Direct Mode)兩種模式。在內(nèi)存模式下,英特爾®傲騰™持久內(nèi)存可作為經(jīng)濟高效的DRAM替代品。CPU內(nèi)存控制器會把持久內(nèi)存視作易失性的系統(tǒng)內(nèi)存,表現(xiàn)與DRAM類似,同時CPU內(nèi)存控制器會將DRAM內(nèi)存用作持久內(nèi)存的高速緩存。該模式能夠提供更大的內(nèi)存容量,這對于異構(gòu)計算的提升效果是巨大的。
軟硬并進,異構(gòu)即兼容
你見,或者不見,算力就在那里。異構(gòu)計算衍生發(fā)展數(shù)十年,其就像一座礦山,等待用戶的去發(fā)掘。寶劍贈英雄,開發(fā)者們?nèi)绾纬浞滞诰颥F(xiàn)有異構(gòu)硬件的性能,獲得最優(yōu)性價比的IT資源才是關(guān)鍵。
“軟硬兼施”才能更好的應(yīng)對異構(gòu)計算的需求。
在硬件層面,英特爾提出XPU戰(zhàn)略,完善在CPU、GPU、ASIC、FPGA領(lǐng)域的產(chǎn)品線。不僅通過性能核心和能效核心戰(zhàn)略,使CPU中不同核心負(fù)責(zé)不同工作負(fù)載,實現(xiàn)CPU集群自身的異構(gòu),同時通過AMX、SSE、AVX、AVX-512等指令集擴展,大幅度提升CPU的AI運算性能。在全新的第四代英特爾®至強®可擴展處理器中,加入了更多異構(gòu)加速引擎,比如加速內(nèi)存拷貝的DSA,加速網(wǎng)絡(luò)處理的DLB,加速大數(shù)據(jù)分析的IAA,加速數(shù)據(jù)加解密、壓縮解壓縮的QAT,使CPU彈性進一步提升,輕松應(yīng)對多種工作負(fù)載的性能加速需求。
除了CPU,英特爾還提供面向云游戲、視頻處理、虛擬桌面和AI推理的Flex系列GPU,面向HPC和AI訓(xùn)練/推理的GPU Ponte Vecchio。而針對特定的AI加速,英特爾還打造了面向AI訓(xùn)練和推理的專用人工智能處理器Habana,豐富ASIC AI芯片的生態(tài)系統(tǒng)。
針對數(shù)據(jù)中心部署和應(yīng)用中的數(shù)據(jù)流處理、計算加速和存儲加速等問題,英特爾®Stratix®10和最新的Agilex™FPGA芯片,以編程的靈活性、高并發(fā)、高吞吐性能和低延遲特性,被廣泛使用在各大云計算公司的數(shù)據(jù)中心中。值得一提的是,為了幫助云服務(wù)提供商轉(zhuǎn)移基礎(chǔ)設(shè)施功能任務(wù),最大化CPU資源,獲得更多收入,英特爾還提供能夠清晰隔離基礎(chǔ)設(shè)施功能和租戶工作負(fù)載的,且基于FPGA和ASIC的IPU,以滿足用戶的多樣化需求。
在軟件層面,英特爾也在持續(xù)發(fā)力,最大化硬件性能。其重磅推出的oneAPI,作為統(tǒng)一的軟件編程架構(gòu),可以支持多種異構(gòu)計算單元,為上層的軟件開發(fā)者提供一套應(yīng)用開發(fā)接口,以解決未來應(yīng)用功能在CPU、GPU等因為分布或是硬件升級后需要重寫軟件代碼的問題。OneAPI不局限于支持英特爾硬件,也支持其他廠商的硬件。同時提供基于API的各種高性能庫,可以在多種異構(gòu)平臺上運行并提供極高的性能,其中很多庫將開源,英特爾鼓勵生態(tài)協(xié)作創(chuàng)新,共同推動異構(gòu)計算的發(fā)展與演進。
我們不難發(fā)現(xiàn),異構(gòu)計算的網(wǎng),正在鋪成智能時代的路。英特爾對于異構(gòu)計算架構(gòu)在軟硬件層面不斷進行調(diào)優(yōu)與支持,軟硬兼?zhèn)?,幫助開發(fā)者更加高效地進行數(shù)據(jù)的存儲與處理,推動智能化發(fā)展進程。LaoFeNDP架構(gòu)就是英特爾與快手的一次成功嘗試,其證明了通過異構(gòu)計算來加速不同的負(fù)載,能夠顯著提升在推薦等場景下的系統(tǒng)吞吐與延時表現(xiàn)。
面向未來,為構(gòu)建高性能、低成本、靈活高效的異構(gòu)計算平臺,需要更多的技術(shù)協(xié)同應(yīng)用,共同推進數(shù)據(jù)中心升級??梢灶A(yù)見,PCIe 5.0、DDR5、Scalable IOV、虛擬內(nèi)存共享技術(shù)SVM、CXL等技術(shù)都將發(fā)光發(fā)熱。當(dāng)CPU、XPU、共享內(nèi)存、共享存儲等技術(shù)將通過智能網(wǎng)絡(luò)架構(gòu)和IPU互聯(lián),更加強大的異構(gòu)計算能力和數(shù)據(jù)中心必將為數(shù)字化的世界提供源源不斷的算力支撐。