《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 【解讀】HotChips上這款存算一體芯片為什么這么強(qiáng)?

【解讀】HotChips上這款存算一體芯片為什么這么強(qiáng)?

2019-09-11
關(guān)鍵詞: HotChips 芯片

640.webp.jpg

  UPMEM,一家成立于2015年的法國半導(dǎo)體設(shè)計公司,應(yīng)邀于2019年8月19日在HotChips會議上展示其顛覆性的存內(nèi)計算(PIM : Processing in Memory)解決方案。該解決方案能夠?qū)⒋髷?shù)據(jù)和AI應(yīng)用程序運(yùn)行速度提高20倍,將能耗降低10倍。

  作為半導(dǎo)體行業(yè)關(guān)于高性能微處理器的頂級會議之一,HotChips吸引了數(shù)千名微處理器架構(gòu)師、技術(shù)專家和IT專業(yè)人士。而作為一家成立僅僅4年的公司,UPMEM的產(chǎn)品究竟有什么樣的魅力使它能夠登上高手云集的HotChips的舞臺。

  中科院計算所智能計算機(jī)研究中心帶你解讀

  其中的奧秘......

  馮·諾依曼架構(gòu)之殤

  馮·諾伊曼架構(gòu)是計算機(jī)的經(jīng)典架構(gòu),同時也是目前計算機(jī)以及處理器芯片的主流架構(gòu)。在馮·諾伊曼架構(gòu)中,計算單元與內(nèi)存是兩個完全分離的組成部分:計算單元根據(jù)指令從內(nèi)存中讀取數(shù)據(jù),在計算單元中完成計算或處理,并存回內(nèi)存。

  然而,馮·諾伊曼架構(gòu)在構(gòu)建之初只是一個理論模型,在建立該模型時做了一個當(dāng)時看來合理的假設(shè),即處理器和內(nèi)存的速度很接近。但是計算機(jī)處理器的性能隨著摩爾定律高速發(fā)展,其處理速度隨著晶體管特征尺寸的縮小而直接提升,因此在過去數(shù)十年中其性能提升可謂是天翻地覆,現(xiàn)在一顆手機(jī)中處理器的性能已經(jīng)比30年前超級計算機(jī)中的處理器還要強(qiáng)。另一方面,計算機(jī)的主要內(nèi)存使用的是DRAM方案,DRAM讀寫數(shù)據(jù)的速度隨著摩爾定律有一定提升,但是提升速度并不如處理器,另一方面DRAM與處理器之間的接口屬于混合信號電路,其帶寬提升速度主要是受到PCB板上走線的信號完整性所限制,因此從晶體管尺寸縮小所獲得的增益并不大。這也造成:在內(nèi)存容量指數(shù)級提升以后,CPU 和內(nèi)存之間的數(shù)據(jù)傳輸帶寬成為了瓶頸。目前DRAM的性能已經(jīng)成為了計算機(jī)整體性能提升的一個重要瓶頸,即所謂阻礙性能提升的“內(nèi)存墻”。

  存內(nèi)計算:通往大數(shù)據(jù)之門

  解決“內(nèi)存墻”問題的一種方案是存內(nèi)計算(PIM),該種思想在近年來的學(xué)術(shù)屆和業(yè)界都受到了極大的關(guān)注。PIM最早發(fā)源于計算機(jī)微體系結(jié)構(gòu)的研究,它通過在內(nèi)存中集成部分計算資源,實(shí)現(xiàn)快速數(shù)據(jù)處理,主要用于解決訪存帶寬、訪存能耗等體系結(jié)構(gòu)設(shè)計的瓶頸問題。從計算和存儲誰接近誰的角度來看,PIM剛好和Cache相反。這一技術(shù)在上世紀(jì)90年代隨著David Patterson教授研究的Intelligent RAM項(xiàng)目有了一個高潮,但由于當(dāng)時工藝不成熟、缺乏殺手級應(yīng)用等問題,后來陷入了沉寂。最近由于三維堆疊、HBM、RRAM等新型工藝器件的出現(xiàn)以及神經(jīng)網(wǎng)絡(luò)加速、圖計算等關(guān)鍵應(yīng)用的推動,PIM重新成了研究熱點(diǎn)。2018年的國際固態(tài)半導(dǎo)體會議(ISSCC,全球最頂尖的芯片設(shè)計會議,發(fā)表最領(lǐng)先的芯片設(shè)計成果,稱為“芯片界的奧林匹克”)有專門一個議程,其中的論文全部討論存內(nèi)計算;到了2019年,也有5篇關(guān)于存內(nèi)計算的論文,不過分散在不同的議程中。存內(nèi)計算的主要改進(jìn)就是把計算嵌入到內(nèi)存里面去,這樣內(nèi)存就不僅僅是一個存儲器,還是一個計算器。這樣一來,在存儲或讀取數(shù)據(jù)的時候就同時完成了運(yùn)算,因此大大減少了計算過程中數(shù)據(jù)搬運(yùn)所帶來的消耗。

  UPMEM所采用的是將計算單元嵌入DRAM存儲陣列中的方式來實(shí)現(xiàn)PIM。該方式具有較強(qiáng)通用性,在該種實(shí)現(xiàn)方式下,僅需要在DRAM中增加適當(dāng)?shù)挠嬎氵壿嫞瑫r與DRAM接口協(xié)議相兼容,便可適配現(xiàn)有的內(nèi)存系統(tǒng)。

  UPMEM:內(nèi)存市場的攪局者?

640.webp (5).jpg

  UPMEM此次對外發(fā)布的產(chǎn)品,最大的特點(diǎn)應(yīng)該就是其基于DDR4 R-DIMM 模型,取代了標(biāo)準(zhǔn)的DIMM。整個DDR4 R-DIMM條有著8GB容量,包含了16個 4Gb DRAM顆粒。每個顆粒中嵌入了8個存內(nèi)處理器核(DPU)。由于DPU能直接訪問內(nèi)存單元,每個DRAM-DPU的帶寬能夠達(dá)到1GB/s。據(jù)悉,最終用于服務(wù)器上的產(chǎn)品容量將達(dá)到128GB,總共2048個DPU,最終的整體帶寬將達(dá)到2TB/s。

640.webp (4).jpg

  上圖展示的是一個DRAM顆粒中的結(jié)構(gòu)示意圖,UPMEM針對其進(jìn)行了專門的架構(gòu)設(shè)計。每個DRAM顆粒中有8個bank, 均連接到各自的DPU上。DRAM加上DPU則使得原來只具有存儲功能的DRAM CHIP變成了具備存儲和計算功能的PIM CHIP。

  根據(jù)UPMEM已發(fā)表的論文和專利可以發(fā)現(xiàn),其PIM方案早在4年前就已經(jīng)確立。而該公司也整整花了4年的時間才實(shí)現(xiàn)了其產(chǎn)品的落地。由于晶體管結(jié)構(gòu)和工作模式的差異,邏輯工藝和存儲器工藝是兩種不同的芯片工藝,要想在存儲器內(nèi)部引入邏輯部件,這對于UPMEM來說是一個不小的挑戰(zhàn)。在此次會議的演講上,UPMEM用“highly constrained”來形容工藝條件對其PIM設(shè)計方案的阻礙。

640.webp (3).jpg

  其次,從演講的內(nèi)容來看,大致介紹了如下一些

  關(guān)鍵技術(shù)難題和部分解決方案。

  No.1

  在DRAM工藝上建立數(shù)字邏輯的流程,比如Logic cell library,SRAM IP和Logic Design & Validation flow,這些是處理器設(shè)計和實(shí)現(xiàn)的基礎(chǔ)。同時,為了兼容DRAM工藝,DPU只能使用比較“慢”的晶體管設(shè)計,但是卻需要達(dá)到“較快”的處理器速度。為達(dá)到這一設(shè)計需求,DPU采用了14級Interleaved pipeline來實(shí)現(xiàn)500MHz的頻率,該頻率相對于CPU的頻率差距較大,但與DRAM的頻率差不多。同時提供了24個硬件線程,保證了流水線的效率。

  No.2

  針對DRAM 工藝,在DPU中采用了優(yōu)化后的32位指令集,具有多線程,標(biāo)量,循序等特點(diǎn),值得注意的是UPMEM并沒有使用ARM或RISC-V等指令集。這種設(shè)計方案存在一個問題,即DPU所使用的指令集如何與CPU所采用的指令集(X86/ARM/POWER 9)交互,這一部分內(nèi)容UPMEM并沒有在PPT中提到。

  No.3

  從存內(nèi)處理器架構(gòu)來看,UPMEM在DPU中放棄了Cache的使用,而是采用64KB的SRAM buffer替代Data Cache,采用24KB的 SRAM buffer替代Instruction Cache。在通常的體系結(jié)構(gòu)中,Cache的存在主要是出于兩方面的考慮: CPU與DRAM的頻率差異以及DRAM的訪存延遲。對于DPU而言,盡管其頻率與DRAM相近,但DRAM的訪問遠(yuǎn)做不到1個cycle,仍然需要SRAM來緩存數(shù)據(jù)。UPMEM的解決方案是采用SRAM buffer結(jié)構(gòu)來做緩存,其作用與Cache類似,兩者的區(qū)別在于前者是硬件管理,后者是軟件管理。同時采用SRAM buffer替代Cache也有出于提高多線程效率的考慮。

  No.4

  DPU龐大的數(shù)量決定了: 不必讓兩個進(jìn)程共享一個DPU,也就不需要在存內(nèi)運(yùn)行操作系統(tǒng)(OS),所以沒有必要考慮兼容性問題,但需要實(shí)現(xiàn)對LLVM/CLANG的支持。同時UPMEM還聲稱由于DPU之間不存在共享問題,其產(chǎn)品安全性得到了大大提升。

  No.5

  當(dāng)在內(nèi)存中增加了這么多的計算單元后,如何進(jìn)行任務(wù)劃分很顯然將會成為一個重要問題,哪些任務(wù)交給CPU處理,哪些任務(wù)交給DPU處理?在UPMEM的講演中也分析了這方面的內(nèi)容,將對算力要求高的部分應(yīng)用搬到DPU中進(jìn)行處理,絕大部分的常規(guī)應(yīng)用仍然交給CPU執(zhí)行。另一方面CPU也要負(fù)責(zé)從DPU中收集計算結(jié)果。

  對于DRAM的刷新控制,UPMEM此次并沒有在此次HotChips上提到,但很顯然這是一個很關(guān)鍵的問題。我們知道DRAM每隔一段時間均需要刷新一次,在這一設(shè)定下很可能出現(xiàn)的情況是DRAM需要刷新時,存內(nèi)處理單元正在使用存儲陣列區(qū)中的數(shù)據(jù)。從其已經(jīng)公布的專利來看,為保證刷新的正常進(jìn)行,需要在DRAM的每個bank中增加一個刷新計數(shù)功能部件,該部件能將DPU使用存儲陣列時所接收的從CPU傳來的刷新命令記錄下來,待DPU處理完畢數(shù)據(jù),再由外部刷新控制電路繼續(xù)進(jìn)行刷新。

  盡管面對如此多的難題,這家雄心勃勃的初創(chuàng)公司仍然有信心在2020年實(shí)現(xiàn)DRAM-PIM產(chǎn)品的量產(chǎn)。從UPMEM提供的技術(shù)白皮書中可以看到,該公司的技術(shù)戰(zhàn)略路線基本是分三步走,分別DRAM級,SSD級和物聯(lián)網(wǎng)可穿戴設(shè)備場景下的存內(nèi)計算。在產(chǎn)品戰(zhàn)略布局上,目前主要是服務(wù)器市場,今后應(yīng)用的重心也會涉及到邊緣計算和智能汽車電子領(lǐng)域。

640.webp (2).jpg

  從短期來看,UPMEM所采用的將計算單元嵌入到DRAM中的存內(nèi)計算實(shí)現(xiàn)方式具有較高的通用性,更容易被市場接納。

  但如何從行業(yè)的攪局者成為一個內(nèi)存市場細(xì)分領(lǐng)域的引領(lǐng)者,UPMEM可能還有很長的一段路要走。

  Our Achievement

  中科院計算所智能計算機(jī)研究中心一直致力于性能及能效領(lǐng)先的智能計算系統(tǒng)研究,是國內(nèi)最早開展新型存內(nèi)計算技術(shù)研究的機(jī)構(gòu)之一。目前我中心已經(jīng)在存內(nèi)計算的一致性方法,預(yù)取策略,計算劃分方法,模擬器搭建等方面取得了卓有成效的成績。其中存內(nèi)計算模擬平臺PIMsim是首個把應(yīng)用、OS、CPU和PIM放在一起的全系統(tǒng)、實(shí)際執(zhí)行模擬器,已經(jīng)開源發(fā)布在:https://github.com/vineodd/PIMSim

  同時值得注意的是我中心發(fā)表在IEEE COMPUTER ARCHITECTURE LETTER上,關(guān)于該模擬器介紹的論文:PIMSim: A Flexible and Detailed Processing-in-Memory Simulator,目前排在該期刊popular articles中的第一位。

640.webp (1).jpg

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。