負(fù)載分化:從存內(nèi)計(jì)算到網(wǎng)內(nèi)計(jì)算,出現(xiàn)大量可從CPU卸載的任務(wù)
時(shí)間:2022-04-28 03:03:01 | 來(lái)源:行業(yè)動(dòng)態(tài)
時(shí)間:2022-04-28 03:03:01 來(lái)源:行業(yè)動(dòng)態(tài)
計(jì)算的兩個(gè)核心要素:數(shù)據(jù)和計(jì)算,在數(shù)據(jù)和計(jì)算之間通過(guò)復(fù)雜的存儲(chǔ)層次來(lái)均衡帶寬、延遲、容量、成本等因素,盡可能讓計(jì)算芯片對(duì)數(shù)據(jù)能做到隨用隨取,然而這在物理上是不可能實(shí)現(xiàn)的。將數(shù)據(jù)從生產(chǎn)側(cè)或存儲(chǔ)側(cè)搬運(yùn)到計(jì)算節(jié)點(diǎn)上也需要時(shí)間和能耗。為了把數(shù)據(jù)搬運(yùn)到完成布爾邏輯的計(jì)算單元,已經(jīng)消耗了90%以上的能耗了。過(guò)去50年,乘著摩爾定律的東風(fēng),單顆計(jì)算芯片的處理性能指數(shù)增長(zhǎng),然而訪存帶寬受限于管腳數(shù)和時(shí)鐘頻率僅能做到線(xiàn)性增長(zhǎng),相對(duì)而言數(shù)據(jù)搬運(yùn)的開(kāi)銷(xiāo)被繼續(xù)放大了。端到端的延遲越來(lái)越難以控制,要把處理器喂飽也變得越來(lái)越困難。為了不浪費(fèi)處理器計(jì)算容量,只好通過(guò)各種共享機(jī)制來(lái)相互隱藏?cái)?shù)據(jù)搬運(yùn)的延遲和開(kāi)銷(xiāo)而這本身就是一種開(kāi)銷(xiāo)。
一個(gè)直接的想法就是將數(shù)據(jù)靠近計(jì)算芯片、或者將計(jì)算芯片靠近數(shù)據(jù),而且是物理臨近。出現(xiàn)了存內(nèi)處理(PIM,Process In Memory)的概念,也稱(chēng)之為"In-Memory Computing,存內(nèi)計(jì)算。例如,將一些地址計(jì)算,地址轉(zhuǎn)換,校驗(yàn)碼計(jì)算、查找表等設(shè)置在存儲(chǔ)控制器中。但這本質(zhì)上是卸載了部分CPU負(fù)載的計(jì)算到內(nèi)存控制器,其實(shí)并沒(méi)有把CPU完全嵌入內(nèi)存,但也算是一種間接的存內(nèi)計(jì)算的實(shí)現(xiàn)方式。還有一種更依賴(lài)新型器件技術(shù)的存算一體,比如非易失性存儲(chǔ)單元的阻抗(或?qū)Ъ{)作為被存數(shù)據(jù),當(dāng)在一端施加輸入數(shù)據(jù)(電壓),輸出就是二者的乘積,再通過(guò)模擬信號(hào)處理,模擬-數(shù)字轉(zhuǎn)換后,得到CPU可以處理的二進(jìn)制數(shù)據(jù);當(dāng)把這些節(jié)點(diǎn)組織稱(chēng)一個(gè)陣列,就相當(dāng)于完成了一次兩個(gè)向量的乘累加(MAC)操作。
另外一種存算融合的方式是近內(nèi)存計(jì)算(Near-Memory Computing), 主要體現(xiàn)為放置更多的存儲(chǔ)器件(包括非易失性存儲(chǔ)器件)到片上,可以視為一種通過(guò)片上集成大內(nèi)存作為一級(jí)高速緩存,這種方式更多是存儲(chǔ)技術(shù)和集成技術(shù)來(lái)驅(qū)動(dòng)的,比如已經(jīng)開(kāi)始采用的高帶寬存儲(chǔ)器(HBM), 得益于3D集成技術(shù),單個(gè)存儲(chǔ)堆棧帶寬即可以達(dá)到100GB/s,相比于GDDR5的DRAM的28GB/s,有接近4倍的提升!本質(zhì)上來(lái)看,CPU的存儲(chǔ)層次之所以發(fā)展為多層、多級(jí),也是為了使處理器更靠近數(shù)據(jù)。
中科馭數(shù)SmartNIC產(chǎn)品
這些技術(shù)都是局部計(jì)算和存儲(chǔ)的融合技術(shù),即以單機(jī)、單節(jié)點(diǎn)為優(yōu)化對(duì)象。如果把一座數(shù)據(jù)中心視為一臺(tái)計(jì)算機(jī),正所謂"The Datacenter as a Computer", 那么計(jì)算的分布就有新的可能性。數(shù)據(jù)中心雖然可以邏輯上被視為一臺(tái)計(jì)算機(jī),但其中的節(jié)點(diǎn)是需要通過(guò)網(wǎng)絡(luò)互連的。計(jì)算的分配、存儲(chǔ)的共享、硬件資源的虛擬化等,都將成為整合數(shù)據(jù)中心資源的開(kāi)銷(xiāo)。而數(shù)據(jù)中心的CPU和GPU都不是針對(duì)數(shù)據(jù)中心的這些負(fù)載來(lái)設(shè)計(jì)的,諸如網(wǎng)絡(luò)協(xié)議處理、存儲(chǔ)壓縮、數(shù)據(jù)加密。網(wǎng)卡設(shè)備在數(shù)據(jù)中心中起到了關(guān)鍵作用。既然網(wǎng)卡可以處理物理層和鏈路層的數(shù)據(jù)幀,為什么不繼續(xù)卸載網(wǎng)絡(luò)層和部分應(yīng)用層的計(jì)算到網(wǎng)卡上來(lái)呢?所以網(wǎng)卡從只負(fù)責(zé)節(jié)點(diǎn)間的互連互通到可以幫助CPU處理一些底層數(shù)據(jù)處理,其名稱(chēng)也就從NIC(Network Interface Card)升級(jí)成了SmartNIC。網(wǎng)卡也從單純的處理數(shù)據(jù)幀變成了附帶更多計(jì)算業(yè)務(wù)的小服務(wù)器,拓展成真正的網(wǎng)內(nèi)計(jì)算(In- Network Computing)。
無(wú)論是存內(nèi)計(jì)算、近內(nèi)存計(jì)算、還是網(wǎng)內(nèi)計(jì)算、其最終的目的都是將數(shù)據(jù)所經(jīng)歷的的存儲(chǔ)、傳輸、計(jì)算的環(huán)節(jié)做有針對(duì)性的處理,提升系統(tǒng)的整體效率。
關(guān)鍵詞:任務(wù),分化,負(fù)載