存儲裏的數據處理 | 半導體行業觀察
來源:本文由 公眾號 半導體行業觀察(ID:icbank)翻譯自「Semiconductor Engineering」,謝謝。
在存儲器中直接添加數據處理功能正在引起人們的重視,尤其是那些數據量巨大、在各類存儲器和處理器之間來回傳輸數據需要耗費太多的能量和時間的應用。
在過去的十年中,將處理器添加到存儲器的想法斷斷續續出現在人們的腦海中,人們將其作為未來可能的發展方向,但這被認為是一種昂貴且未經測試的器件微縮替代方案,從而遭到了摒棄。如今,由於熱效應、各種類型的噪音,以及飛漲的設計和製造成本,微縮的效益減少了,所有的選擇都擺上了桌面。尤其是汽車中的計算機視覺應用,因為此時激光雷達和攝像感測器將產生視頻流;還有人工智慧/機器學習/深度學習領域,因為此時需要快速處理大量數據。
AMD公司客戶產品首席架構師Dan Bouvier表示:「如果你能在存儲數據的地方處理數據,效率就會高得多。如果你必須要跨越鏈路,就會消耗大量功率,尤其會佔用大量I/O。這會讓PHY無法微縮。而且此處的封裝技術太昂貴,無法進入更精細的接點間隔(bump pitches)。而你當然希望儘可能緊密地壓縮。如果你使用的是異構處理器,那麼本地電源管理就容易很多。 」
這在數據中心中非常現實,就像在自動駕駛汽車和其他邊緣設備中一樣,而且這遠非驚人的新發現。AI/ML/DL和視頻流都不是新技術。但隨著它們開始跨越多個市場,涉及功率和延遲的獨特挑戰正在出現。簡而言之,需要處理的數據量預計將超過微縮所帶來的性能和功耗方面的效益,而解決這一問題的唯一方法是通過架構改進和軟硬體協同設計。
Babblelabs公司首席執行官Chris Rowen表示:「自從計算機出現以來,平衡內存帶寬和計算帶寬一直是計算機系統架構中的核心問題。甚至在50年前,人們就說,『我需要以一種通用的方式逐個位元組進行運算。』」
這些年來,這個方程式並沒有顯著改變,改變的是更高效地實現這一點的方法。例如:
- 將多次運算組合到一個週期中;
- 通過緩存或降低計算精度,改變數據在處理器和存儲器之間移動的頻率;
- 縮短處理器和存儲器之間的距離,同時確保有足夠的帶寬。
上述三個領域的工作都在進行中,並且都大有希望。但是減小處理器和存儲器之間的距離在許多方面都提出了有趣的挑戰。
Rambus公司首席科學家Craig Hampel表示:「從技術的角度看,減小距離當然是可行的。而且它適合在神經網路訓練中增加權重的需要,因為你無法承受延遲。問題出在經濟上。如果你看看DRAM,就會發現位元是按照一種非常規則的方式組合的,因此它具有成本效益。3D的目標是縮小這些距離,2.5D肯定也有幫助。但這兩種方法都使熱問題更難以解決,而且更難以測試。 」
由美光和三星開發的Hybrid Memory Cube提供了一個案例,通過在3D配置中將存儲器堆疊在邏輯器件上,並使用硅通孔(TSV)連接不同層,從而實現距離的減小和數據吞吐量的提升。
Kandou Bus公司首席執行官Amin Shokrollahi表示:「人們對直接訪問存儲器非常感興趣。問題是,你必須能夠構建它,這樣你才能進行正常的編程。軟體和硬體同樣重要。」
這是一個經濟上特別惱人的領域。Shokrollahi說:「Hybrid Memory Cube沒有成功的原因之一是沒有第二個來源。HBM(高帶寬內存)更為簡單,但它提供了對所有存儲器的訪問,而且它是多源的。HBM封裝還可以支持更多的層,而且你可以非常輕鬆地冷卻它。因為如果你將處理器封裝在存儲器中,它會變得非常熱。」
一種可能的解決方案是限制處理器和存儲器的大小。在上月舉行的Hot Chips 30會議上,總部位於得克薩斯州奧斯汀的初創公司Mythic介紹了一種新的矩陣乘法存儲器架構,旨在用於AI /機器學習市場。Mythic的方法是在flash存儲器中進行模擬計算以提高性能。
Mythic公司的首席技術官Dave Fick表示:「我們將使用flash陣列中的flash晶體管來表示權重矩陣。我們採用這種flash陣列,然後將其打包成小塊。我們有基於小塊的架構,其中每個小塊都有一個這樣的存儲器陣列,還有其他支持重新配置和中間數據存儲的邏輯。SRAM提供中間數據存儲,因此在中間階段我們將數據存儲在SRAM中。我們有RISC-V處理器,用於在小塊內提供控制。我們有路由器,實現與相鄰的小塊通信。然後有SIMD(單指令,多數據)單元,它提供的運算不是矩陣乘法。」
這裡的侷限是專業化,因為flash晶體管不能快速編程。Fick說:「你需要擁有一套固定的應用,但這對於邊緣系統來說非常典型。我們可以通過將不同的區域映射到不同的應用來支持多個應用,因此我們可以一次支持多個應用。」