加州大學河濱分校研究人員透過軟體調整消除瓶頸將電腦處理速度提升一倍
利用一種新的平行處理軟體框架,個人電腦、智慧型手機和其他設備中的現有處理器可以獲得極大的動力和效率提升,這種軟體框架旨在消除瓶頸並同時使用多個晶片。
從智慧型手機和個人電腦到資料中心伺服器,大多數現代電腦都包含用於人工智慧和機器學習的圖形處理器(GPU)和硬體加速器。著名的商業案例包括NVIDIA GPU 上的張量核心(Tensor Cores)、Google雲端伺服器上的張量處理單元(TPU)、蘋果iPhone 上的神經引擎(Neural Engines)以及Google Pixel 手機上的邊緣TPU。
這些元件各自處理訊息,將資訊從一個處理單元轉移到下一個處理單元時往往會造成資料流的瓶頸。在一項新的研究中,加州大學河濱分校(UCR)的研究人員展示了一種方法,讓現有的不同組件同時運行,從而大大提高處理速度並降低能耗。
加州大學洛杉磯分校電機與計算機工程系副教授、該研究的共同第一作者曾宏偉說:”不必增加新的處理器,因為你已經擁有了它們。”
研究人員的框架被稱為同步異質多執行緒(SHMT),它拋棄了傳統的程式設計模式,即只能將程式碼區域專門委託給一種處理器,而讓其他資源閒置,不為當前功能做出貢獻。
相反,SHMT 利用了多個組件的多樣性或異質性,將運算功能分開開來,讓它們共享。換句話說,這是一種平行處理。
比較(a) 傳統異質電腦、(b) 具有軟體管線的傳統異質電腦和(c) SHMT 執行功能的方式圖/Hsu 和Tseng
工作原理
您可以跳過這部分內容,但對於電腦科學愛好者來說,以下是有關SHMT 工作原理的概述(仍然非常基礎)。一組虛擬操作(VOPs)允許CPU 程式將功能”卸載”到虛擬硬體設備上。在程式執行過程中,運行時系統會驅動SHMT 的虛擬硬件,衡量硬體資源的能力以做出調度決策。
SHMT 採用品質感知工作搶佔(QAWS)調度策略,不會佔用資源,但有助於維持品質控制和工作負載平衡。運行時系統將VOP 分成一個或多個進階操作(HLOP),以便同時使用多個硬體資源。
然後,SHMT 的執行時間系統將這些HLOP 指派到目標硬體的任務佇列中。由於HLOP 與硬體無關,運行時系統可以根據需要調整任務分配。
原型測試和結果
為了測試這個概念,研究人員建立了一個系統,該系統採用的晶片和處理能力可以在任何像樣的後期型號智慧型手機中找到,並做了一些調整,這樣他們還可以測試該系統在資料中心中的功能。
SHMT 原型平台
具體來說,他們使用NVIDIA的Jetson Nano模組客製化了一個嵌入式系統平台,該模組包含一個四核心ARM Cortex-A57 處理器(CPU)和128 個Maxwell 架構GPU 核心。Google Edge TPU 透過其M.2 Key E 插槽與系統連接。
中央處理器、圖形處理器和TPU 透過板載PCIe 介面交換數據,PCIe 介面是主機板組件(如圖形卡、記憶體和儲存設備)的標準化介面。系統的主記憶體(4 GB 64 位元LPDDR4,1,600 MHz,25.6 GB/s)託管共享資料。Edge TPU 還包含一個8 MB 的裝置內存,並使用Ubuntu Linux 18.04 作為作業系統。
使用基準應用程式對SHMT 概念進行了測試後發現,採用性能最佳的QAWS 策略的框架將其發揮得淋漓盡致,與基準方法相比,速度提高了1.95 倍,能耗顯著降低了51%。
採用不同調度策略的SHMT 速度提升(相對於基準GPU)
這一切意味著什麼?
研究人員說,這對SHMT 的影響是巨大的。現有手機、平板電腦、桌上型電腦和筆記型電腦上的軟體應用程式可以利用這個新的軟體庫實現一些相當驚人的效能提升。但它也能減少對昂貴的高性能組件的需求,從而帶來更便宜、更有效率的設備。
由於這種方法可以減少能源消耗,進而降低冷氣需求,因此可以優化資料中心的兩個關鍵項目,同時也能減少碳排放和用水量。
能源消耗與能源延遲產品圖/加州大學河濱分校
像往常一樣,我們還需要對系統的實施、硬體支援以及哪類應用最受益等方面進行進一步的研究,但有了這些成果,我們相信該團隊在吸引資源將其推廣開來方面不會遇到什麼困難。
這項研究在第56 屆IEEE/ACM 微體系結構國際研討會MICRO 2023 上發表。