一場由FPGA觸發的芯片戰爭_風聞
半导体行业观察-半导体行业观察官方账号-专注观察全球半导体最新资讯、技术前沿、发展趋势。2020-07-28 11:19
來源:內容來自公眾號 CSDN(ID:CSDNnews),作者:Oskar Mencer等,譯者:Arvin,責編:王曉曼,謝謝。
導讀:本文是作者於2019年9月在斯坦福大學進行的三個小時討論的摘要。這篇文章結合了Zilog、Altera、Xilinx、Achronix、Intel、IBM、斯坦福、麻省理工、伯克利大學、威斯康星大學、Technion、Fairchild、貝爾實驗室、Bigstream、谷歌、DEC、SUN、諾基亞、SRI、日立、Silicom、Maxeler技術、VMware、施樂PARC、思科等組織在FPGA領域的經驗。這些組織不負責內容,但可能在某種程度啓發了作者們的興趣,以使他們在FPGA領域經歷了豐富多彩的旅程。
頭圖 | CSDN 下載自東方 IC
FPGA(現場可編程門陣列)自誕生以來就一直在衝擊着專用集成電路(ASIC,Application Specific Integrated Circuit)芯片界的神經。在20世紀80年代中期,RossFreeman和他的同事從Zilog手中購買了這項技術,並着手創辦了針對ASIC仿真和教育市場的Xilinx。(Zilog出自埃克森美孚石油公司,因為在20世紀70年代,人們已經開始擔心石油會在30年後枯竭,這一點在今天仍然適用)。同時,Altera也以類似的技術為核心成立。
FPGA是由電路編程的芯片,支持“仿真”該電路。這種仿真的運行速度比使用ASIC實現的實際電路運行速度慢--它的時鐘頻率更慢,使用更多的功率,但它可以每隔幾百毫秒重新編程一次。
製作ASIC的人們一開始先使用FPGA來仿真ASIC,然後再將它們進行掩碼處理並批量製造。英特爾、AMD和許多其他公司在製造芯片之前都會使用FPGA來仿真芯片。
觸動電信業的神經
電信行業一直是FPGA的主要用户。電信標準不斷變化,建造電信設備非常困難,因此首先提供電信解決方案的公司往往會佔領最大的市場份額。由於ASIC需要很長時間才能完成,FPGA提供了一個捷徑。電信設備的最初版本一般採用FPGA,但FPGA高昂的價格引發了衝突。儘管FPGA的價格對ASIC仿真市場無關緊要,但對電信行業而言,芯片的價格卻很重要。許多年前,AT&T和朗訊製造了自己的FPGA,稱為ORCA(優化的可重配置單元陣列),但就硅片的速度或尺寸而言,它們與Xilinx或Altera相比不具有競爭力。
如今,華為已成為FPGA的最大客户。華為兩年前即提供了世界上最早的5G電信設備解決方案,相較於其他供應商處於明顯優勢,但中美之間最近的緊張關係很可能會導致產於美國的FPGA影響華為提供5G電信設備。
FPGA價格觸及神經
早期,FPGA被用於SDR(軟件定義的無線電)——在同一時間建立多個不同標準的無線電通信,本質上是一部講多種語言的單一電話。這一次,FPGA挑動了一個巨大的神經。
SDR技術的實施方式存在分歧。商業供應商開發了經濟高效的解決方案,如今地球上的每個基站都有SDR技術。另一方面,在國防界,SDR是由大型國防承包商建造的,他們用有利可圖的傳統產品線來建造。其結果是基於FPGA的無線電產品價格非常高,以至於美國部分國防市場對使用FPGA產生了持續的過敏反應。
接下來,FPGA試圖在DSP(數字信號處理器)和嵌入式市場中發展。在角落裏有一些微處理器的FPGA開始出現。銷售這些新型FPGA的壓力太大,以至於如果客户拒絕新的芯片系列,它們將被列入黑名單,有時甚至會拒絕提供服務好幾個月。鑑於FPGA產品具有巨大的覆蓋率和知識產權層而無法降低其價格,因此,發展FPGA市場的壓力一直是巨大的,FPGA公司征服新市場失敗的規模也是如此。
觸動HPC和數據中心的神經
在過去的幾年裏,FPGA一直試圖在HPC(高性能計算)和數據中心市場發展。2017年,微軟宣佈在數據中心使用Altera FPGA,而英特爾則收購了Altera。2018年Xilinx公司宣佈其“數據中心優先”戰略,Xilinx首席執行官在眾多分析師面前宣佈Xilinx不再是一家FPGA公司了。這可能是一種輕微的戲劇化表現,但從歷史上看是有關聯的。
在高性能計算機和數據中心使用FPGA時,目前的主要障礙是佈局和佈線——運行專有FPGA供應商軟件將電路映射到FPGA元件所花費的時間,在大型FPGA和高速CPU服務器上,佈局和佈線需要長達三天,而且很多時候即使在使用三天後,很多軟件仍無法解決映射問題。
觸動石油和天然氣的神經
在石油和天然氣實施領域中,2007年左右出現了一個利基市場。傳統計算機模擬地球上的鑽孔以發現石油所花費的時間比實際建造的鑽井場地和鑽井本身還要長,FPGA加速器的使用極大地改變了這種顛倒時序。石油公司數據中心中的第一個FPGA,用於計算地震圖像,由MaxelerTechnologies製造,並交付給Chevron。
幾年來,FPGA在石油和天然氣領域的應用不斷擴大,直到來自ASIC行業的壓力導致CPU技術迴歸標準化。如今,石油和天然氣中的預測和模擬仍然很重要,地震成像大多在CPU和GPU上完成,但FPGA的機會仍然存在。我們需要注意的是,“今天的新事物是明天的遺產”,當然,如今的新事物是對AI和數據的關注。
儘管如此,FPGA仍然是一種快速進入市場的方式,是獲得競爭優勢的簡單方法以及在許多關鍵任務情況下必不可少的技術——儘管與ASIC相比,芯片價格昂貴。然而,在與CPU或GPU上運行軟件相比,在HPC和數據中心中,FPGA的運營成本大大降低。與CPU和GPU相比,所需的FPGA更少,所需的冷卻也更少。FPGA使得數據中心規模更小,這觸及了運營商擔心數據中心可能會縮小的神經。
ASIC與FPGA
使用FPGA的另一種方法是增強ASIC。構建ASIC的目的是保持固定功能,同時添加FPGA,為產品的最新更改或適應不同市場提供一定的靈活性。
現代FPGA集成了越來越多的硬功能,變得越來越像ASIC,而ASIC有時會在其設計中添加一些FPGA結構,用於調試、測試、現場修復以及根據需要靈活地添加少量功能。
儘管如此,ASIC團隊一直在與FPGA概念抗爭。ASIC設計師問:“您想要什麼功能?”如果回答是“我還不知道”,他們會很不耐煩。
無人駕駛汽車行業就是這樣一個新的戰場。由於算法不斷變化,並且法律法規可能會在汽車進入市場時發生變化,需要駕駛員更新,因此解決方案需要靈活。FPGA的時鐘頻率較低,散熱片較小,因此物理尺寸比CPU和GPU小。更低的功耗和更小的尺寸使FPGA成為顯而易見的選擇。儘管如此,GPU易於編程,並且不需要三天時間來實現佈局和路線,因此對FPGA形成了一定挑戰。
此外,至關重要的是能夠在汽車和雲中運行相同的代碼(主要用於模擬和測試),因此FPGA必須先在雲中使用,然後才能在汽車中使用。由於這些原因,許多開發人員更喜歡GPU。
FPGA的發展
FPGA在不斷發展。現代接口正試圖使FPGA更易於編程,更加模塊化,並與其它技術更加協作。FPGA支持AXI(高級可擴展接口)總線,這使它們更易於編程,但也帶來了極大的效率低下,使得FPGA的性能降低,最終競爭力大大降低。學術工作方面,例如Eric Chung的關於“FPGA動態網絡”的論文有助於解決路由問題,但這種先進的思想尚未被業界所接受。
FPGA如何實現連接?對於具有大量數據流的HPC工作負載,可以使用PCI Express並部署通信隱藏技術。但是,像NFV(網絡功能虛擬化)這樣的小型工作負載如何能同時為大量用户提供服務呢。通常,對於NFV和虛擬機加速而言,FPGA必須直接連接到CPU,並可能使用緩存一致性作為一種通信機制,這是VMware最近研究的結果。當然,關鍵的功能是具備FPGA崩潰時CPU不崩潰的能力,反之亦然。超標量技術公司正在重新發現IBM大型機的時代需求,從而將越來越多的複雜性帶入標準化平台。
其它組織也有機會。在提供FPGA平台時,組織無需進行ASIC開發的預算,也無需瞭解最新的硅製造挑戰和解決方案,便可以開發電路,並在其產品中建立競爭優勢,例如物聯網網絡邊緣的新興計算機會,靠近傳感器、顯示器、或在數據流過時直接在線計算。
同時,FPGA公司正在垂直向上推堆棧,並將其推入CPU插槽,英特爾在該市場上佔據主導地位,其中包括針對NFV的特殊指令。數據中心中新CPU和FPGA進入的主要障礙不僅在於速度和成本,還在於所有可能的I/O設備的軟件和驅動程序的可用性。
使FPGA在數據中心中工作的關鍵是使其易於使用——例如,使用自動工具來驅動FPGA的使用而不會產生布局和佈線困難。微軟率先在超標量數據中心中使用FPGA來加速Bing、NFV和AI算法。Microsoft還構建了抽象,特定於領域的語言和靈活的硬件基礎設施。在商業上,FPGA的主要問題是上市策略。
構建新芯片然後開始考慮該軟件可能為時已晚。如何通過調整硬件來適配軟件以及從現有軟件中獲取價值?這也帶來了重新思考FPGA架構的機會。但是,值得警告的是:硅產業正在吞噬現金。構建ASIC是一種撲克遊戲,多年來賭注不斷增加。這是一場贏家通吃的比賽,FPGA之類的威脅在比賽初期就被淘汰。
FPGA正在為硅產業帶來額外的突增風險。
利基技術
軟件設計師總是會説,“如果它能在軟件中實現,它就會在軟件中實現”,而ASIC設計師會説,“如果它能在ASIC中實現,它就會在ASIC中完成。”最有趣的是,“如果可以用軟件完成,那麼你就不必和那些像FPGA一樣思考的人打交道。”與製造ASIC所需的龐大“軍隊”以及世界範圍內的軟件程序員的數量相比,FPGA擁有一個很小的社區,其中包含許多有時表現古怪的程序員。FPGA公司規模較小。FPGA社區也較小。
英特爾正在推動FPGA的靈活性。它遵循構建硬件以運行現有軟件的原則,併成為這一領域最成功的公司。
FPGA可以比CPU和GPU更快,但是行業和投資界的艱難教訓是,在計算機存在的大部分時間裏,速度無關緊要,而實時性也無關緊要。因此,很少有僅為了速度而購買計算機。確實有這種情況,但這更多是隨機事件,而不是一個建立業務的市場。另外,FPGA沒有標準、開源、友好的編程模型——因此,對於在所有FPGA芯片上均可工作或易於交叉編譯的FPGA程序,也沒有標準的市場。Maxeler Technologies可以提供此類接口作為一種高級解決方案,但廣泛的行業採用需要信任。為了從早期採用者發展到讓所有人受益,信任需要數據中心領域中既有供應商的協調和支持。
現實世界中的應用程序人員説:“我不在乎它是什麼,只是給我一種方法去做我想做的事情就行了。”尚未廣泛探索的FPGA可能有哪些應用領域?對於實時計算、製造業、無人機的計算機視覺,這是FPGA的重量和功耗優勢能展現的地方。在衞星上進行硬件升級是非常昂貴的,因此FPGA提供了至關重要的長期靈活性。FPGA需要找到一種能產生共鳴的產品,並且它們必須易於編程,不只是硬件或軟件,還包括生態系統。這是完整的解決方案。
超越當前市場限制的一種方法是實時編譯和自動FPGA程序生成。這説起來容易做起來難,但隨着AI破壞了應用程序空間,機會越來越多。如今,一切都由AI完成。甚至諸如石油和天然氣地震成像之類的傳統算法也都採用了AI。我們需要用科學和工程解決方案來處理AI。FPGA可能是一個很好的起點,可能最初是連接AI模塊,然後將它們整合到FPGA架構中,例如Xilinx的下一代芯片——帶有AI架構、CPU、100G接口和FPGA單元都集成在同一個7納米芯片中。
從另一個角度來看,隨着AI芯片產生並消耗大量數據,我們將需要FPGA來滿足需求並能迅速轉移輸出。隨着用於所有AI處理的新型ASIC的面世,FPGA可以為AI芯片公司提供差異化服務。
預測
我們是否可以提前10或25年預測下述發展?儘管世界在變化,但預測似乎保持不變。
1.將會有成功的CPU+ FPGA服務器芯片,或直接訪問CPU緩存層次結構的FPGA。有人説會有,有人説不會有。
2. SoC(片上系統)FPGA芯片將不斷發展壯大,推動醫療、下一代電信和汽車行業等。
3.開發人員將使用FPGA做一些令人驚奇的事情,讓世界變得更美好,但必須掩蓋內部存在FPGA的事實。
4.將保留FPGA的名字,並製造被稱為FPGA的芯片,但內部的一切將完全不同。
5.當我們放棄(數據流)優化以使FPGA易於編程時,FPGA的性能將降低,因此它們將不再與CPU競爭,而CPU總是更易於編程。
6.將有具有動態路由、演進互動以及運行時靈活的數據移動的FPGA。
7.放置和佈線軟件以及FPGA頂部的完整軟件堆棧將是開源的。Yosys和Lattice FPGA已經開始努力。
8.所有半導體架構都將與TPU、GPU、CPU、ASIC和FPGA組合成單個芯片。一些可能是每個整體的組合,其它將是每個部分的組合。
9.更多的芯片將集中在有限的應用空間上,而更少的集中在通用芯片上。從某種意義上説,一切都變成了SoC。
評論
本文解決了多少個衝突,並創造了多少個新衝突?從這個意義上講,衝突是對現有工作方式的挑戰。這種現有的做事方式可能會影響人們的思維方式,從而影響他們的行為方式。但也許更重要的是,這將影響開發者的謀生方式。
原文鏈接:
https://queue.acm.org/detail.cfm?id=3411759