異構計算的“備胎上位記”
半導體晶片行業,突然就,刷屏了……
川普舉全美國之力給華為抬咖,這波騷操作著實令人目瞪狗呆。
不過,在雙方吵著“抱走我家晶片不約”“專注自家、獨自美麗”的時候,或許我們可以將目光放在技術本身,來聊聊那些必需而重要的晶片產業佈局。
首當其衝的,當屬同樣“備胎轉正”的異構計算了。
我們知道,長久以來半導體產業一般會專注在幾種晶片上。無論X86、ARM、RISC,一個CPU裡面的計算單元都是同樣的架構。而所謂異構,就是將CPU、DSP、GPU、ASIC、FPGA等不同製程架構、不同指令集、不同功能的計算單元,組合起來形成一個混合的計算系統。
異構計算技術在上世紀80年代就已經誕生的,但這兩年才開始在產業中顯露鋒芒,並快速取代通用CPU,站上了行業“C位”。
比如英特爾最新推出的AI平臺,就包含了CPU、GPU、DSP、NNP、FPGA等一系列不同的處理核心。英偉達的機器人平臺Jetson Xavier也包含了6種處理器,GPU/CPU/NPU/NVDLA等/一個都不能少。
眾多雲端計算服務廠商也相繼升級了異構計算解決方案。比如上週華為剛剛釋出的資料庫GaussDB產品,就運用了X86、ARM、GPU、NPU等多樣算力來執行計算。
智慧手機SoC也開始在傳統的CPU/GPU/ISP/基帶晶片之外,加入了加速DSP、圖形處理單元NPU等。
那麼問題來了,在超級計算領域取代了同構計算,成為晶片大廠們爭奪的物件,異構計算到底憑什麼?半導體行業集體擁抱異構計算的背後,又埋藏著那些老問題和新機遇呢?
WHY:異構計算上位史
先來解答一個問題,為什麼CPU用的好好的,大家突然集體打起了異構計算的主意?
最直接的原因,是計算密集型領域的快速崛起,面對計算需求的爆炸式增長,讓單一晶片越來越力不從心了。
近幾年,半導體技術在縱向提速上已經達到了物理極限,處理器效能再也無法按照摩爾定律(每18個月就能翻倍)再創輝煌。
英特爾在2016年將研發週期從兩年延長到了三年。而受到CPU平行計算能力的限制,超級計算機常常要並聯上萬顆處理器來進行工作。
另一個關鍵影響是,人工智慧在計算場景中越來越受到重視。尤其是移動終端裝置中,AI正在以多種模式出現在應用中。除了打電話發簡訊等基礎通訊通能之外,還需要處理圖片、娛樂遊戲、高畫質攝像頭等各種各樣的資訊,提供個性化智慧推送、預測等服務,這些計算的需求已經遠遠超過了傳統CPU處理器的能力所及。
對此,GPU晶片廠商NVIDIA直接在2017年提出了半導體產業的新口號“摩爾定律已死,人工智慧萬歲!”(Moore’s Law is dead, long live AI.)。
當單一晶片無法滿足高效能運算的算力需求,於是,異構計算被時代選中了……
簡單總結一下異構計算“多兵種協同”的核心優勢:
首先最重要的,就是提高了處理效率。
異構計算能夠充分發揮CPU/GPU在通用計算上的靈活性,及時響應資料處理需求,搭配上FPGA/ASIC等特殊能力,來充分發揮協處理器的效能,根據特定需求合理地分配計算資源。
這樣做的好處顯而易見,在處理速度和功耗之間找到平衡,達到高效又省電的效果。
舉個例子,在智慧手機AI晶片“兩強”高通和麒麟,前者的SoC裡面就包括了加速3D的GPU、處理照片的ISP、處理通訊的基帶晶片、加速向量計算的DSP等。麒麟980最新的異構計算架構,也基於CPU、GPU、NPU、ISP、DDR進行了全系統融合最佳化,尋求更強的效能和續航。
異構計算的另一個優勢,則是成本利好。
由於目前神經網路演算法和與之對應的計算架構層出不窮,如果每逢“上新必剁手”,採用不斷更新ASIC架構的方式,最終下沉到使用者和企業身上,就會導致使用成本和替換成本過高。
因此,最好的解決辦法就是將多種計算架構融合在一起,大家集體做功,生命週期就長的多了,在產業落地上具有更大的優勢。
除了對硬體效能和產業應用的強勢提升,異構計算還有一個更深層次的價值,就是在單個國產同構晶片水平暫時落後於國際水平的情況下,極有可能成為中國晶片彎道超車的歷史機遇。
HOW:異構到底怎麼構?
既然異構計算無論是從國家戰略層面還是個人應用上都無比重要,那麼,將不同型別的晶片放在一起,到底該怎麼構呢?
體現在硬體上,目前主要集中發展兩種模式:一種是晶片級(SoC)異構計算,比如英特爾的KabyLake-G平臺,就是將英特爾處理器與AMD Radeon RX Vega M GPU進行異構。華為去年推出的Kirin 970,就是在CPU和GPU的的基礎上,整合了專門為深度學習定製的NPU,來進行推理等高密度計算。
另一種則是英特爾提出的超異構計算。透過EMIB、Foveros等封裝技術,將經過效能驗證的小晶片裝配到一個封裝模組之中。
去年,英特爾就公佈了一塊整合了英特爾10nm IceLake CPU和22nm Atom小核心的異構主機板晶片LakeField。 將高負載和低負載兩種處理核心整合在一起,在尺寸上又比簡單粗暴的板卡式整合小很多。
從硬體解決方案上看,異構計算就是各個處理核心之間的排列組合嘛,好像和搭積木的技術難度差不多。不過,想要搭建一個理想的協處理器,裡面還是有不少竅門的。
作為前提,就要要了解各個處理器的具體能力,然後根據為效能、功耗、價格、效能等, 做出獨家 產品 。
通常情況下,異構計算會選擇CPU、GPU、FPGA、ASIC來進行排列組合。他們分別有什麼優勢呢?
穩定多能便宜大碗的CPU,就是計算一塊磚,哪有需要往哪搬,是所有異構方案中都不能捨棄的。
那麼,選誰跟它組cp就成了差異化的關鍵。
其中,GPU能夠執行高度執行緒化的多程式併發任務,在需要複雜控制的大規模任務中,可以助CPU一臂之力。比如效能強勁的個人電腦,GPU就是不可或缺的存在。
FPGA中文名叫做“現場可程式設計門級列陣”,顧名思義,就是可以重新程式設計佈線資源,因此,可以用來實現一些自定義的特殊硬體功能。而且,它的計算效率要比前兩個同伴都高,很適合處理AI演算法,很快成為CPU的左膀右臂。
還有一個效能強勁但不太愛拋頭露面的選手,那就是“特殊訂製積體電路”ASIC。它的程式設計方式是直接在物理硬體(閘電路)上搭建電路,由於不需要取指令和譯碼,每個時間單位都能專注於資料處理和傳輸,因此是所有協處理器中效能最高的一個, 功耗卻是最小的。不過,由於需要底層硬體程式設計,它的定製也昂貴而漫長,屬於江湖傳說型的存在。
目前,異構計算的江湖主要有三個分支,分別是CPU+GPU,適用於大多數通用計算,是目前異構計算使用最多的組合陣容;
CPU+FPGA,價格較高,大多是企業使用者(如華為、百度、IBM等)用來進行深度學習加速;
CPU+ASIC,應用較少,適合一些市場大、投資回報清晰、有一定開發週期的領域,比如消費電子。
隨著技術的迭代,未來我們還很有可能看到CPU+GPU+FPGA之類的多晶片協同場景。比如華為剛剛釋出的Atlas平臺,就能針對多個GPU/FPGA之間的拓撲結構進行動態編排,進一步提升系統的整體效能。
不得不說,異構計算開啟這扇新世界的大門,正在為超級計算帶來充沛的想象力,整個計算行業生態無不積極地參與其中。
不過,想要將異構計算下沉到龐大的產業體系裡,事情並沒有我們想象的那麼容易。
WHEN:異構計算的崛起,不只靠技術
前面我們介紹了異構計算的前世今生。但如果問一句,何時能看到異構計算帶來的實際效果,答案可能不會讓人驚喜。原因也很簡單,異構計算的崛起,靠的不只是技術,更重要的是來自應用端的積極準備。
但是,在“計算之光”的盛譽之下,異構計算無論是採購、部署、使用門檻都很高。這就導致其應用中面臨不少挑戰:
比如在成本上,如果不能實現規模化採購,異構計算晶片的採購成本都很高。智慧手機廠商還可以憑藉規模化優勢進行議價,而一般的企業使用者和個人開發者,單量小的話採購價格特別高,尤其是FPGA、AISC等定製類板卡,距離大範圍應用還很遙遠。
另外,異構計算的晶片交付週期也很長。作為人工智慧的大腦,全球GPU一直處於供應短缺的狀態,英偉達對每家公司每天購買的晶片數量進行了限購措施。而FPGA 和 ASIC這樣可程式設計的晶片,由於程式設計標準未確立、定製時間等原因, 企業從硬體架構設計、下單、交付往往需要幾個月的時間。
這樣導致的結果就是,數量和產品都是固定的,一方面可能造成算力資源與實際應用之間的不匹配,還可能由於新的GPU/FPGA架構上線,而不得不持續追加預算。導致企業的升級成本居高不下,自然心存疑慮。
即使上述所有問題都搞定了,一把手爽快打錢,晶片順利到貨,硬體成功部署,也很有可能出現另一種情況,就是線下的GPU/FPGA和線上的服務無法打通,造成資源浪費和資料孤島問題。
好氣哦,不自己搞了行不行,直接將雲服務商的異構計算拿過來用就好?
悲傷地告訴你,坑也很多。因為GPU、FPGA這些超高效能的器件在經過雲端虛擬化之後,效能損失非常嚴重,都會出現相應的下降。而不同廠商的硬體最佳化能力和解決方案千差萬別,如何選擇合適的平臺又成了問題。
如此看來,異構計算的出現和下沉,簡直就是一個“掃雷”遊戲。或許等到有實力的廠商們將這些暗處的障礙一一掃除,異構計算帶給數字世界的真正價值才會浮現出來。
而中國晶片企業直接用異構計算向老牌巨頭髮起挑戰的時候,產業迭變過程中的種種變數與可能性,將比技術本身還要精彩。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31561483/viewspace-2645028/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- QT硬體異構計算QT
- Preact:一個備胎的自我修養React
- HPC高效能運算知識: 異構平行計算
- 複製SqlServer備份到其他計算機,實現異地備份SQLServer計算機
- Oracle DG異構主備支援Oracle
- 計算機網路知識備筆記計算機網路筆記
- 異構計算助力客戶春節webp圖片編碼Web
- 一文看懂資料分析必備計算功能—記憶體計算記憶體
- 搭建異構 CPU 組成的邊緣計算 Kubernetes 叢集
- 阿里雲異構計算產品是如何保障雙11業務的阿里
- 多核異構模式下有管理的共享記憶體設計方法模式記憶體
- 淺談 Easy-mock 最好的備胎沒有之一Mock
- 雲端計算的架構架構
- struct結構體大小的計算(記憶體對齊)Struct結構體記憶體
- 混合異構資料來源關聯計算最佳化方案
- 異構計算,GPU、FPGA、ASIC晶片將三分天下GPUFPGA晶片
- 系統架構設計筆記(105)—— 雲端計算架構筆記
- 準備金計算正常
- 記憶體的計算記憶體
- XDMA上位機相關:一點筆記筆記
- python系列--計算異或和Python
- CISSP考試指南筆記:3.2 計算機架構筆記計算機架構
- 計算機架構計算機架構
- 雲端計算架構架構
- 系統架構設計筆記(87)—— 計算機病毒與防治架構筆記計算機
- 計算機的微機結構計算機
- 上位機面試必備——TCP通訊靈魂二十問【下】面試TCP
- 修改記事本PE結構彈計算器Shellcode
- oracle計算表的記錄數Oracle
- 雲端計算分散式平行計算:系統架構分散式架構
- 計算機的層次化架構計算機架構
- 四面受敵!ARM暫停與華為合作,晶片備胎計劃還能執行麼?晶片
- 大資料計算:結構化大資料計算的理想模式大資料模式
- 不拼顏值的程式設計世界你靠什麼上位?程式設計
- 《計算機體系結構:量化研究方法》讀書筆記計算機筆記
- 計算機程式的思維邏輯 (25) - 異常 (下)計算機
- 完全備份、差異備份、增量備份的區別
- 計算機系統的層次結構(計算機組成原理5)計算機