FPGA(現(xiàn)場可編程門陣列)自誕生以來就一直在沖擊著專用集成電路(ASIC,Application Specific Integrated Circuit)芯片界的神經(jīng)。在20世紀80年代中期,RossFreeman和他的同事從Zilog手中購買了這項技術(shù),并著手創(chuàng)辦了針對ASIC仿真和教育市場的Xilinx。(Zilog出自??松梨谑凸?,因為在20世紀70年代,人們已經(jīng)開始擔心石油會在30年后枯竭,這一點在今天仍然適用)。同時,Altera也以類似的技術(shù)為核心成立。
FPGA是由電路編程的芯片,支持“仿真”該電路。這種仿真的運行速度比使用ASIC實現(xiàn)的實際電路運行速度慢--它的時鐘頻率更慢,使用更多的功率,但它可以每隔幾百毫秒重新編程一次。
制作ASIC的人們一開始先使用FPGA來仿真ASIC,然后再將它們進行掩碼處理并批量制造。英特爾、AMD和許多其他公司在制造芯片之前都會使用FPGA來仿真芯片。
觸動電信業(yè)的神經(jīng)
電信行業(yè)一直是FPGA的主要用戶。電信標準不斷變化,建造電信設(shè)備非常困難,因此首先提供電信解決方案的公司往往會占領(lǐng)最大的市場份額。由于ASIC需要很長時間才能完成,F(xiàn)PGA提供了一個捷徑。電信設(shè)備的最初版本一般采用FPGA,但FPGA高昂的價格引發(fā)了沖突。盡管FPGA的價格對ASIC仿真市場無關(guān)緊要,但對電信行業(yè)而言,芯片的價格卻很重要。許多年前,AT&T和朗訊制造了自己的FPGA,稱為ORCA(優(yōu)化的可重配置單元陣列),但就硅片的速度或尺寸而言,它們與Xilinx或Altera相比不具有競爭力。
如今,華為已成為FPGA的最大客戶。華為兩年前即提供了世界上最早的5G電信設(shè)備解決方案,相較于其他供應商處于明顯優(yōu)勢,但中美之間最近的緊張關(guān)系很可能會導致產(chǎn)于美國的FPGA影響華為提供5G電信設(shè)備。
FPGA價格觸及神經(jīng)
早期,F(xiàn)PGA被用于SDR(軟件定義的無線電)——在同一時間建立多個不同標準的無線電通信,本質(zhì)上是一部講多種語言的單一電話。這一次,F(xiàn)PGA挑動了一個巨大的神經(jīng)。
SDR技術(shù)的實施方式存在分歧。商業(yè)供應商開發(fā)了經(jīng)濟高效的解決方案,如今地球上的每個基站都有SDR技術(shù)。另一方面,在國防界,SDR是由大型國防承包商建造的,他們用有利可圖的傳統(tǒng)產(chǎn)品線來建造。其結(jié)果是基于FPGA的無線電產(chǎn)品價格非常高,以至于美國部分國防市場對使用FPGA產(chǎn)生了持續(xù)的過敏反應。
接下來,F(xiàn)PGA試圖在DSP(數(shù)字信號處理器)和嵌入式市場中發(fā)展。在角落里有一些微處理器的FPGA開始出現(xiàn)。銷售這些新型FPGA的壓力太大,以至于如果客戶拒絕新的芯片系列,它們將被列入黑名單,有時甚至會拒絕提供服務好幾個月。鑒于FPGA產(chǎn)品具有巨大的覆蓋率和知識產(chǎn)權(quán)層而無法降低其價格,因此,發(fā)展FPGA市場的壓力一直是巨大的,F(xiàn)PGA公司征服新市場失敗的規(guī)模也是如此。
觸動HPC和數(shù)據(jù)中心的神經(jīng)
在過去的幾年里,F(xiàn)PGA一直試圖在HPC(高性能計算)和數(shù)據(jù)中心市場發(fā)展。2017年,微軟宣布在數(shù)據(jù)中心使用Altera FPGA,而英特爾則收購了Altera。2018年Xilinx公司宣布其“數(shù)據(jù)中心優(yōu)先”戰(zhàn)略,Xilinx首席執(zhí)行官在眾多分析師面前宣布Xilinx不再是一家FPGA公司了。這可能是一種輕微的戲劇化表現(xiàn),但從歷史上看是有關(guān)聯(lián)的。
在高性能計算機和數(shù)據(jù)中心使用FPGA時,目前的主要障礙是布局和布線——運行專有FPGA供應商軟件將電路映射到FPGA元件所花費的時間,在大型FPGA和高速CPU服務器上,布局和布線需要長達三天,而且很多時候即使在使用三天后,很多軟件仍無法解決映射問題。
觸動石油和天然氣的神經(jīng)
在石油和天然氣實施領(lǐng)域中,2007年左右出現(xiàn)了一個利基市場。傳統(tǒng)計算機模擬地球上的鉆孔以發(fā)現(xiàn)石油所花費的時間比實際建造的鉆井場地和鉆井本身還要長,F(xiàn)PGA加速器的使用極大地改變了這種顛倒時序。石油公司數(shù)據(jù)中心中的第一個FPGA,用于計算地震圖像,由MaxelerTechnologies制造,并交付給Chevron。
幾年來,F(xiàn)PGA在石油和天然氣領(lǐng)域的應用不斷擴大,直到來自ASIC行業(yè)的壓力導致CPU技術(shù)回歸標準化。如今,石油和天然氣中的預測和模擬仍然很重要,地震成像大多在CPU和GPU上完成,但FPGA的機會仍然存在。我們需要注意的是,“今天的新事物是明天的遺產(chǎn)”,當然,如今的新事物是對AI和數(shù)據(jù)的關(guān)注。
盡管如此,F(xiàn)PGA仍然是一種快速進入市場的方式,是獲得競爭優(yōu)勢的簡單方法以及在許多關(guān)鍵任務情況下必不可少的技術(shù)——盡管與ASIC相比,芯片價格昂貴。然而,在與CPU或GPU上運行軟件相比,在HPC和數(shù)據(jù)中心中,F(xiàn)PGA的運營成本大大降低。與CPU和GPU相比,所需的FPGA更少,所需的冷卻也更少。FPGA使得數(shù)據(jù)中心規(guī)模更小,這觸及了運營商擔心數(shù)據(jù)中心可能會縮小的神經(jīng)。
ASIC與FPGA
使用FPGA的另一種方法是增強ASIC。構(gòu)建ASIC的目的是保持固定功能,同時添加FPGA,為產(chǎn)品的最新更改或適應不同市場提供一定的靈活性。
現(xiàn)代FPGA集成了越來越多的硬功能,變得越來越像ASIC,而ASIC有時會在其設(shè)計中添加一些FPGA結(jié)構(gòu),用于調(diào)試、測試、現(xiàn)場修復以及根據(jù)需要靈活地添加少量功能。
盡管如此,ASIC團隊一直在與FPGA概念抗爭。ASIC設(shè)計師問:“您想要什么功能?”如果回答是“我還不知道”,他們會很不耐煩。
無人駕駛汽車行業(yè)就是這樣一個新的戰(zhàn)場。由于算法不斷變化,并且法律法規(guī)可能會在汽車進入市場時發(fā)生變化,需要駕駛員更新,因此解決方案需要靈活。FPGA的時鐘頻率較低,散熱片較小,因此物理尺寸比CPU和GPU小。更低的功耗和更小的尺寸使FPGA成為顯而易見的選擇。盡管如此,GPU易于編程,并且不需要三天時間來實現(xiàn)布局和路線,因此對FPGA形成了一定挑戰(zhàn)。
此外,至關(guān)重要的是能夠在汽車和云中運行相同的代碼(主要用于模擬和測試),因此FPGA必須先在云中使用,然后才能在汽車中使用。由于這些原因,許多開發(fā)人員更喜歡GPU。
FPGA的發(fā)展
FPGA在不斷發(fā)展?,F(xiàn)代接口正試圖使FPGA更易于編程,更加模塊化,并與其它技術(shù)更加協(xié)作。FPGA支持AXI(高級可擴展接口)總線,這使它們更易于編程,但也帶來了極大的效率低下,使得FPGA的性能降低,最終競爭力大大降低。學術(shù)工作方面,例如Eric Chung的關(guān)于“FPGA動態(tài)網(wǎng)絡”的論文有助于解決路由問題,但這種先進的思想尚未被業(yè)界所接受。
FPGA如何實現(xiàn)連接?對于具有大量數(shù)據(jù)流的HPC工作負載,可以使用PCI Express并部署通信隱藏技術(shù)。但是,像NFV(網(wǎng)絡功能虛擬化)這樣的小型工作負載如何能同時為大量用戶提供服務呢。通常,對于NFV和虛擬機加速而言,F(xiàn)PGA必須直接連接到CPU,并可能使用緩存一致性作為一種通信機制,這是VMware最近研究的結(jié)果。當然,關(guān)鍵的功能是具備FPGA崩潰時CPU不崩潰的能力,反之亦然。超標量技術(shù)公司正在重新發(fā)現(xiàn)IBM大型機的時代需求,從而將越來越多的復雜性帶入標準化平臺。
其它組織也有機會。在提供FPGA平臺時,組織無需進行ASIC開發(fā)的預算,也無需了解最新的硅制造挑戰(zhàn)和解決方案,便可以開發(fā)電路,并在其產(chǎn)品中建立競爭優(yōu)勢,例如物聯(lián)網(wǎng)網(wǎng)絡邊緣的新興計算機會,靠近傳感器、顯示器、或在數(shù)據(jù)流過時直接在線計算。
同時,F(xiàn)PGA公司正在垂直向上推堆棧,并將其推入CPU插槽,英特爾在該市場上占據(jù)主導地位,其中包括針對NFV的特殊指令。數(shù)據(jù)中心中新CPU和FPGA進入的主要障礙不僅在于速度和成本,還在于所有可能的I/O設(shè)備的軟件和驅(qū)動程序的可用性。
使FPGA在數(shù)據(jù)中心中工作的關(guān)鍵是使其易于使用——例如,使用自動工具來驅(qū)動FPGA的使用而不會產(chǎn)生布局和布線困難。微軟率先在超標量數(shù)據(jù)中心中使用FPGA來加速Bing、NFV和AI算法。Microsoft還構(gòu)建了抽象,特定于領(lǐng)域的語言和靈活的硬件基礎(chǔ)設(shè)施。在商業(yè)上,F(xiàn)PGA的主要問題是上市策略。
構(gòu)建新芯片然后開始考慮該軟件可能為時已晚。如何通過調(diào)整硬件來適配軟件以及從現(xiàn)有軟件中獲取價值?這也帶來了重新思考FPGA架構(gòu)的機會。但是,值得警告的是:硅產(chǎn)業(yè)正在吞噬現(xiàn)金。構(gòu)建ASIC是一種撲克游戲,多年來賭注不斷增加。這是一場贏家通吃的比賽,F(xiàn)PGA之類的威脅在比賽初期就被淘汰。
FPGA正在為硅產(chǎn)業(yè)帶來額外的突增風險。
利基技術(shù)
軟件設(shè)計師總是會說,“如果它能在軟件中實現(xiàn),它就會在軟件中實現(xiàn)”,而ASIC設(shè)計師會說,“如果它能在ASIC中實現(xiàn),它就會在ASIC中完成?!弊钣腥さ氖?,“如果可以用軟件完成,那么你就不必和那些像FPGA一樣思考的人打交道?!迸c制造ASIC所需的龐大“軍隊”以及世界范圍內(nèi)的軟件程序員的數(shù)量相比,F(xiàn)PGA擁有一個很小的社區(qū),其中包含許多有時表現(xiàn)古怪的程序員。FPGA公司規(guī)模較小。FPGA社區(qū)也較小。
英特爾正在推動FPGA的靈活性。它遵循構(gòu)建硬件以運行現(xiàn)有軟件的原則,并成為這一領(lǐng)域最成功的公司。
FPGA可以比CPU和GPU更快,但是行業(yè)和投資界的艱難教訓是,在計算機存在的大部分時間里,速度無關(guān)緊要,而實時性也無關(guān)緊要。因此,很少有僅為了速度而購買計算機。確實有這種情況,但這更多是隨機事件,而不是一個建立業(yè)務的市場。另外,F(xiàn)PGA沒有標準、開源、友好的編程模型——因此,對于在所有FPGA芯片上均可工作或易于交叉編譯的FPGA程序,也沒有標準的市場。Maxeler Technologies可以提供此類接口作為一種高級解決方案,但廣泛的行業(yè)采用需要信任。為了從早期采用者發(fā)展到讓所有人受益,信任需要數(shù)據(jù)中心領(lǐng)域中既有供應商的協(xié)調(diào)和支持。
現(xiàn)實世界中的應用程序人員說:“我不在乎它是什么,只是給我一種方法去做我想做的事情就行了?!鄙形磸V泛探索的FPGA可能有哪些應用領(lǐng)域?對于實時計算、制造業(yè)、無人機的計算機視覺,這是FPGA的重量和功耗優(yōu)勢能展現(xiàn)的地方。在衛(wèi)星上進行硬件升級是非常昂貴的,因此FPGA提供了至關(guān)重要的長期靈活性。FPGA需要找到一種能產(chǎn)生共鳴的產(chǎn)品,并且它們必須易于編程,不只是硬件或軟件,還包括生態(tài)系統(tǒng)。這是完整的解決方案。
超越當前市場限制的一種方法是實時編譯和自動FPGA程序生成。這說起來容易做起來難,但隨著AI破壞了應用程序空間,機會越來越多。如今,一切都由AI完成。甚至諸如石油和天然氣地震成像之類的傳統(tǒng)算法也都采用了AI。我們需要用科學和工程解決方案來處理AI。FPGA可能是一個很好的起點,可能最初是連接AI模塊,然后將它們整合到FPGA架構(gòu)中,例如Xilinx的下一代芯片——帶有AI架構(gòu)、CPU、100G接口和FPGA單元都集成在同一個7納米芯片中。
從另一個角度來看,隨著AI芯片產(chǎn)生并消耗大量數(shù)據(jù),我們將需要FPGA來滿足需求并能迅速轉(zhuǎn)移輸出。隨著用于所有AI處理的新型ASIC的面世,F(xiàn)PGA可以為AI芯片公司提供差異化服務。
預測
我們是否可以提前10或25年預測下述發(fā)展?盡管世界在變化,但預測似乎保持不變。
1.將會有成功的CPU+ FPGA服務器芯片,或直接訪問CPU緩存層次結(jié)構(gòu)的FPGA。有人說會有,有人說不會有。
2. SoC(片上系統(tǒng))FPGA芯片將不斷發(fā)展壯大,推動醫(yī)療、下一代電信和汽車行業(yè)等。
3.開發(fā)人員將使用FPGA做一些令人驚奇的事情,讓世界變得更美好,但必須掩蓋內(nèi)部存在FPGA的事實。
4.將保留FPGA的名字,并制造被稱為FPGA的芯片,但內(nèi)部的一切將完全不同。
5.當我們放棄(數(shù)據(jù)流)優(yōu)化以使FPGA易于編程時,F(xiàn)PGA的性能將降低,因此它們將不再與CPU競爭,而CPU總是更易于編程。
6.將有具有動態(tài)路由、演進互動以及運行時靈活的數(shù)據(jù)移動的FPGA。
7.放置和布線軟件以及FPGA頂部的完整軟件堆棧將是開源的。Yosys和Lattice FPGA已經(jīng)開始努力。
8.所有半導體架構(gòu)都將與TPU、GPU、CPU、ASIC和FPGA組合成單個芯片。一些可能是每個整體的組合,其它將是每個部分的組合。
9.更多的芯片將集中在有限的應用空間上,而更少的集中在通用芯片上。從某種意義上說,一切都變成了SoC。
評論
本文解決了多少個沖突,并創(chuàng)造了多少個新沖突?從這個意義上講,沖突是對現(xiàn)有工作方式的挑戰(zhàn)。這種現(xiàn)有的做事方式可能會影響人們的思維方式,從而影響他們的行為方式。但也許更重要的是,這將影響開發(fā)者的謀生方式。