跳到主要內容區塊
:::
開啟
  1. 首頁_pic首頁
  2. > 中研院訊
  3. > 科普專區

【專欄】巨量資料時代的新興運算架構——以記憶體為中心的運算

:::

【專欄】巨量資料時代的新興運算架構——以記憶體為中心的運算

隨著巨量資料 (big data) 時代的來臨,越來越多的應用情境及軟體程式需要對大量的資料做運算,例如近年來蓬勃發展之深度學習、常應用於分析資料間關係之圖論演算法、或是醫療防疫上需用到的基因序列比對等,都對於儲存空間以及資料存取效率有很高的需求。舉例來說,深度學習之神經網路模型大小從2018至今呈現指數型成長趨勢,DNA序列資料也隨著次世代定序技術的發展而指數型增加。

現今的運算系統很難滿足巨量資料世代的需求,大量的資料存取往往成為運算效能與耗能之瓶頸。主要的原因在於,傳統的運算架構,包括日常生活中所使用之筆電、手機等使用之運算架構,其運算處理器(CPU, GPU等)和記憶體存儲裝置(DRAM主記憶體等)是分開的(如圖一(a)),透過有頻寬限制之資料傳輸媒介,例如記憶體匯流排(memory bus)等,將資料讀取到運算處理器計算,並於計算後將更新過的資料寫入記憶體存儲裝置。記憶體與運算處理器間頻繁的資料傳輸,會造成運算時間上的延遲,並增加額外之能耗。之前的研究顯示,在邊緣裝置,如手機上,深度學習模型推論過程中的記憶體資料存取耗費了系統超過90%之能源[1]

這些因頻繁資料傳輸造成的問題,促使計算機結構領域的科學家,開始思考如何改變運算架構來減少資料傳輸。一個直覺的方法是,與其將資料搬到運算處理器做運算,我們是否可以利用記憶體內部運算能力或其周邊電路來做運算,就能減少資料傳輸了?也就是從以運算為中心(compute-centric)的運算架構,轉變為以記憶體為中心(memory-centric)之運算架構(如圖一(b))。事實上,早在1970年左右,就有人提出在記憶體陣列的每個記憶體單元旁加上簡單邏輯運算元件[2]、[3],來實現記憶體內運算,但當時由於資料量還不大且受限於製程技術產生之硬體開銷(hardware overhead)太多,並未受到重視。近年來隨著需分析的資料量急遽增加,與新的記憶體製程技術的開發,以記憶體為中心的運算開始被視為具有潛力之運算架構,許多學界與業界的專家學者紛紛投入這方面的研究。

圖一:(a) 以運算為中心架構 (b) 以記憶體為中心架構 (c) 以記憶體為中心架構的兩種類別。

以記憶體為中心之運算架構大致可分為兩類(圖一(c)),分別是近記憶體運算(processing-near-memory),以及記憶體內運算(processing-in-memory or processing-using-memory)。以下分別簡介這兩類架構:

近記憶體運算是在記憶體周邊加上額外電路實現簡單運算,主要有兩種實現方式,一種是在三維堆疊記憶體(3D-stacked memory)的邏輯層(logic layer),加入能支援簡單運算的電路元件,使得資料能透過記憶體內連接不同層晶片的矽穿孔(TSV),快速的傳輸到邏輯層做運算。另一種實現方式則是在一般電腦中常見的動態存取記憶體雙列直插式模組(DRAM DIMM)上,加入簡單的電路元件,甚至簡單的資料處理器(data processing unit, DPU)。這兩種近記憶體運算的方式都不需傳輸資料到記憶體外之CPU或GPU即可完成運算,且容易在現有之記憶體產品上實現,因此近年來許多記憶體晶片設計廠商紛紛投入相關產品的開發。例如UPMEM所開發的近記憶體運算模組即在DRAM DIMM加上多個DPU做運算,可以提升機器學習模型訓練[4]以及基因序列比對[5]的效能達CPU的1.8~27倍或GPU的1.2~3.2倍。Samsung 也有提出基於DRAM DIMM和三圍堆疊記憶體之近記憶體運算晶片,用於加速推薦系統和生成式AI,能大幅提升效能和降低耗能[6][7]

記憶體內運算是利用記憶體元件與陣列特性以及調整周邊的電流感測器,在記憶體內部直接完成運算,主要能支援的運算包括位元邏輯運算(bit-wise AND/OR etc.)、矩陣向量乘法(vector-matrix multiplication)、向量相似度比對(vector similarity search)等。大致可分為基於傳統記憶體(SRAM, DRAM等)的記憶體內運算,以及基於新興非揮發性記憶體(non-volatile memory, NVM)的運算架構。和近記憶體運算不同,記憶體內運算不需將資料讀出記憶體陣列即可完成運算,因此通常能達到很高的運算平行度。以電阻式記憶體(ReRAM)做矩陣向量乘法為例(圖二(a)),將矩陣寫入電阻式記憶體元件,使得矩陣元素能以電導表示,並將輸入向量透過轉換器轉為電壓施加在記憶體陣列的字元線(wordline),電壓通過電阻後轉為電流在位元線(bitline)上累加,累加之電流再透過類比數位轉換器,即可得到矩陣向量乘法的結果。相較於傳統CPU需一個一個矩陣元素運算,基於ReRAM之記憶體內運算只需要一次操作就能得到運算結果,大幅提升運算平行度,這對需要大量矩陣向量運算的應用領域,如深度學習、圖論分析等,皆有極大幫助。然而記憶體內運算因為操作方式和原本只從記憶體讀資料不同,會面臨電路設計上的新挑戰(圖二(b)),如元件不穩定性對運算準確度的影響、以及感測器高能耗等,因此目前還在開發階段,但在各個電路領域的國際會議已有不少研究團隊發表晶片原型(chip prototype)。

圖二:(a) 電阻式記憶體內矩陣乘法 (b) 非揮發性記憶體內運算之硬體限制與挑戰 (c) 適用於非揮發性記憶體內運算之模擬平台與自動化工具、以及考量軟體與硬體特性之架構設計。

近年來,筆者參與了許多以記憶體為中心運算架構相關的研究議題,特別是基於非揮發性記憶體的記憶體內運算。相較於傳統記憶體,非揮發性記憶體具有高密度、低漏電、且可在無電源供應情況下保存資料,因此特別適用於晶片大小與電源供應有限之嵌入式裝置,如手機、電子手錶等。利用非揮發性記憶體能在記憶體內運算的特性,能藉由大幅減少資料傳輸以及高平行度運算,提升資料密集程式運行在嵌入式裝置上之能效 ,但要實際實現這樣的運算架構會面臨許多硬體層面的限制與挑戰。藉由與業界合作,我們將這些硬體限制納入設計考量,開發一系列的輔助工具與架構設計(圖二(c)),簡述如下:

  • 模擬器與自動化設計平台:我們針對深度學習[8]以及圖論分析[9]的應用情境,開發了模擬平台,能幫助晶片設計者分析不同架構與硬體設定對運算準確度以及能耗的影響,進而選出較佳的設計。此外也特別針對深度學習推論,開發了一套軟體工具,能幫助使用者找出最佳的資料配置與運算排成方式[10]
  • 考量軟硬體特性的架構設計:我們針對不同的應用情境優化非揮發性記憶體內運算架構,包括考量深度學習[11][12]與圖論分析[13]資料稀疏性的架構優化、適用於基因序列比對不同階段演算法的運算架構[14][15]、提升向量相似度比對能效之運算架構與編碼方式[16]、可隨不同組合數學最佳化問題隨機性需求調整的可重組運算架構[17]等。

相較於其他學術界研究常忽略硬體限制而過度理想化,我們的研究有助於將非揮發性記憶體內運算於未來運算系統中實現,基於此貢獻,我們其中一篇論文[11]被選錄為計算機結構領域頂尖會議ISCA近25年具代表性論文之一。

總結來說,以記憶體為中心的運算給巨量資料時代帶來了運算系統設計上新的曙光,這樣的設計改變了運算處理器及記憶體在運算系統中的角色,也因此帶來新的挑戰。除了硬體技術上仍有尚待克服的限制,架構上也需考量軟硬體的特性優化,而從軟體層面來說,需要新的指令集以及編譯設計,使資料密集程式能藉由簡單的轉換來充分利用記憶體內運算的優勢。我們可以預期,要將以記憶體為中心的運算架構實現在未來的電腦系統中,需要軟硬體跨系統層級的協同設計,與學界和業界的共同努力 。


參考文獻:
[1] Amirali Boroumand et al., "Google Neural Network Models for Edge Devices: Analyzing and Mitigating Machine Learning Inference Bottlenecks", in ACM International Conference on Parallel Architectures and Compilation Techniques (PACT), 2021.
[2] William H. Kautz, “Cellular Logic-in-Memory Arrays”, in IEEE Transactions on Computers (TC) 1969.
[3] Harold S. Stone, “A Logic-in-Memory Computer,” in IEEE Transactions on Computers (TC), 1970.
[4] Juan Gómez-Luna et al., "Evaluating Machine Learning Workloads on Memory-Centric Computing Systems", in IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS), 2023.
[5] Safaa Diab et al., "A Framework for High-throughput Sequence Alignment using Real Processing-in-Memory Systems”, in Bioinformatics, 2023.
[6] Ke et al., "Near-Memory Processing in Action: Accelerating Personalized Recommendation with AxDIMM", in IEEE Micro, 2021.
[7] J. H. Kim, “Samsung AI-cluster system with HBM-PIM and CXL-based Processing-near-Memory for transformer-based LLMs,” in HotChips (HC), 2023.
[8] W.-T. Ling et al., "DL-RSIM: A Reliability and Deployment Strategy Simulation Framework for ReRAM-based CNN Accelerators", in ACM Transactions on Embedded Computing Systems (TECS), 2022.
[9] C.-F. Nien et al., "GraphRSim: A Joint Device-Algorithm Reliability Analysis for ReRAM-based Graph Processing", in IEEE/ACM Design, Automation Test in Europe (DATE), 2020.
[10] Y.-T. Tsou et al., "This is SPATEM! A Spatial-Temporal Optimization Framework for Efficient Inference on ReRAM-based CNN Accelerator", in IEEE Asia and South Pacific Design Automation Conference (ASP-DAC), 2022.
[11] T.-H. Yang et al., "Sparse ReRAM Engine: Joint Exploration of Activation and Weight Sparsity in Compressed Neural Networks", in ACM/IEEE International Symposium on Computer Architecture (ISCA), 2019.
[12] C.-Y. Tsai et al., "RePIM: Joint Exploitation of Activation and Weight Repetitions for In-ReRAM DNN Acceleration", in ACM/IEEE Design Automation Conference (DAC), 2021.
[13] Y.-J. Hsiao et al., "ReSpar: Reordering Algorithm for ReRAM-based Sparse Matrix-Vector Multiplication Accelerator", in IEEE International Conference on Computer Design (ICCD), 2021.
[14] T. Wu et al., "RePAIR: A ReRAM-based Processing-in- Memory Accelerator for Indel Realignment", in IEEE/ACM Design, Automation Test in Europe (DATE), 2022.
[15] T.-Y. Liu et al., “ReTAP: Processing-in-ReRAM Bitap Approximate String Matching Accelerator for Genomic Analysis” in IEEE/ACM Design, Automation Test in Europe (DATE), 2024.
[16] C.-T. Huang et al., “BORE: Energy-Efficient Banded Vector Similarity Search with Optimized Range Encoding for Memory-Augmented Neural Network”, in IEEE/ACM Design, Automation Test in Europe (DATE), 2024.
[17] H.-W. Chiang et al., “ReAIM: A ReRAM-based Adaptive Ising Machine for Solving Combinatorial Optimization Problems”, in ACM/IEEE International Symposium on Computer Architecture (ISCA), 2024.
 

回頂端