過去十年是由各個(gè)技術(shù)領(lǐng)域的開源創(chuàng)新所定義的。該軟件堆棧的可公開訪問性質(zhì)使開發(fā)人員社區(qū)能夠交換代碼并實(shí)現(xiàn)構(gòu)想,以在組織范圍之外構(gòu)建協(xié)作杰作。廣大社區(qū)很長(zhǎng)一段時(shí)間都沒有意識(shí)到這一趨勢(shì)。最終,龐大的數(shù)量和質(zhì)量贏得了許多擁護(hù)者,開源成為事實(shí)上的軟件黃金標(biāo)準(zhǔn),但是開源硬件又如何呢?
隨著軟件的發(fā)展,硬件開發(fā)仍然處于孤立狀態(tài),并且以公司為中心以創(chuàng)造競(jìng)爭(zhēng)優(yōu)勢(shì)。硬件的歷史充滿了導(dǎo)致協(xié)作規(guī)范出現(xiàn)的非協(xié)作運(yùn)動(dòng)。有太多的例子表明,孤立的創(chuàng)新最終導(dǎo)致了市場(chǎng)的分散。專有性并沒有成為可持續(xù)的業(yè)務(wù)優(yōu)勢(shì),而是成為了瓶頸,并最終導(dǎo)致了該標(biāo)準(zhǔn)的終止。索尼BlueRay就是一個(gè)這樣的例子。
一個(gè)可能的原因可能是硬件是通過IP保護(hù)實(shí)現(xiàn)業(yè)務(wù)競(jìng)爭(zhēng)力的源泉,因此公司希望將其保留在內(nèi)部。顯然,這種方法尚未擴(kuò)展,我們目睹了硬件平臺(tái)的增長(zhǎng)要慢得多。例如,當(dāng)精益時(shí)代出現(xiàn)時(shí),該行業(yè)還沒有準(zhǔn)備好,但出現(xiàn)了要求苛刻的人工智能(AI)用例?,F(xiàn)有的參與者試圖推動(dòng)傳統(tǒng)的FPGA,GPU和CPU解決方案,這對(duì)于不斷發(fā)展的推理行業(yè)所需的計(jì)算而言并不理想。長(zhǎng)期以來,Arm不斷創(chuàng)新,并提供了非常完善的指令集,但最終,它也未能跟上步伐。
這種情況最終導(dǎo)致亞馬遜和谷歌看到定制計(jì)算解決方案的潛力,因此他們開始在半導(dǎo)體上進(jìn)行投資以開發(fā)推理定制處理解決方案。它為開源硬件主導(dǎo)的車輛帶來了一線希望,這將有助于縮小數(shù)據(jù)科學(xué)與大數(shù)據(jù)驅(qū)動(dòng)的智能之間的鴻溝。本文追溯了開源軟件的發(fā)展歷程,并吸取了一些教訓(xùn),這些教訓(xùn)可以通過采用最佳實(shí)踐來幫助開源硬件趕上來。
圖1 Arm及其指令集架構(gòu)(ISA)多年來一直是知識(shí)中心。資料來源:Arm
開源秘密醬
當(dāng)開源概念在二十多年前首次出現(xiàn)時(shí),圍繞貨幣化存在許多問題,并且隨著時(shí)間的流逝,各種模型不斷發(fā)展。如今,超過3500萬開發(fā)人員為代碼做出了貢獻(xiàn),為數(shù)十億個(gè)設(shè)備提供了動(dòng)力,并因此產(chǎn)生了可觀的價(jià)值。從MongoDB(79億美元)和Elastic(73億美元)的公開上市以及微軟(70億美元),IBM的RedHat(340億美元)和Salesforce的MuleSoft的大筆收購(gòu)中可以明顯看出募集資金65億美元。
如今,所有大公司都在以某種形式使用開源軟件,因?yàn)樗兄趧?chuàng)建優(yōu)化的軟件來解決當(dāng)前的問題。盡管計(jì)算機(jī)和電信行業(yè)是開放源代碼軟件的主要消費(fèi)者,覆蓋了大約60%的軟件需求,但工業(yè)和醫(yī)療保健企業(yè)正在迅速采用。開源大大減少了開發(fā)時(shí)間,因?yàn)榇蠖鄶?shù)模塊都以經(jīng)過測(cè)試和優(yōu)化的形式提供,可以集成到軟件堆棧中以解決特定問題。
開源提供了經(jīng)典的營(yíng)銷課程:用戶甚至在意識(shí)到之前就已經(jīng)是客戶。當(dāng)他們意識(shí)到這一點(diǎn)時(shí),他們?cè)诙褩V惺褂昧巳绱硕嗟拈_源,因此最好購(gòu)買許可證。從Apache孵化許可證到MongoDB,Elastic和Cockroach提供的更加商業(yè)友好的許可證,該行業(yè)已經(jīng)走了很長(zhǎng)一段路。這樣一來,開源技術(shù)便在最初的日子里無需任何明顯的營(yíng)銷手段就開創(chuàng)了免費(fèi)增值的先河。
開源軟件成功的秘訣在于發(fā)現(xiàn)任何新旅程的核心問題,并讓業(yè)務(wù)模型隨著時(shí)間的流逝而出現(xiàn)。當(dāng)您解決更多重要問題時(shí),您對(duì)源代碼的需求不斷增長(zhǎng),從而導(dǎo)致項(xiàng)目規(guī)模擴(kuò)大,從而吸引了更多資金。這就是為什么開放源代碼項(xiàng)目的前四分之一會(huì)產(chǎn)生巨大的開發(fā)人員吸引力,而其中大多數(shù)都是免費(fèi)的社區(qū)項(xiàng)目。
同樣重要的是要了解為什么有人會(huì)為已經(jīng)開放源代碼的代碼付費(fèi)?答案在于一段時(shí)間內(nèi)的專門支持,安全修復(fù)和維護(hù)。這導(dǎo)致了針對(duì)不同行業(yè)需求水平的不同開放程度。
Linux的出現(xiàn)
如今,開放源代碼軟件在代碼大師班和業(yè)務(wù)模型方面已有了長(zhǎng)足發(fā)展。每當(dāng)一家領(lǐng)先的公司參與開源開發(fā)時(shí),它就會(huì)成為創(chuàng)建龐大而持久的堆棧的催化劑。
Google開創(chuàng)了各種成功案例,例如Android移動(dòng)操作系統(tǒng),TensorFlow機(jī)器學(xué)習(xí)和Kubernetes,用于部署,擴(kuò)展和容器化的應(yīng)用程序管理。企業(yè)家致力于解決問題的年輕創(chuàng)業(yè)公司有幾個(gè)例子。隨著大眾對(duì)問題的關(guān)注,解決方案的規(guī)模和數(shù)量都在增加,從而帶來了業(yè)務(wù)成功的故事。
在這一增長(zhǎng)過程中,關(guān)鍵組件是Linux的到來。它充當(dāng)可伸縮的主干,可以吸收許多不同的組件和硬件,并無縫提供高性能。無論是提供健壯的主干網(wǎng)來處理嚴(yán)格的時(shí)序要求,還是提供空間來容納處理體系結(jié)構(gòu)特定元素的不同方式,Linux都能滿足苛刻的用例,并成功交付成果。
構(gòu)建類似Linux的膠水
在關(guān)于開源軟件發(fā)展的背景下,讓我們將探索轉(zhuǎn)向開源硬件世界。并不是開源硬件沒有取得任何成功;無論硬件在哪里開源,它都會(huì)成為一個(gè)成功的故事。開源微控制器板Arduino是開源硬件如何徹底改變?nèi)藗兪褂糜布M(jìn)行研究和與項(xiàng)目相關(guān)活動(dòng)的方式的典型代表。
圖2 Arduino微控制器板證明了開源硬件的承諾。資料來源:Arduino
隨著計(jì)算世界的需求不斷增長(zhǎng),開源硬件的想法正在迅速獲得發(fā)展。幾個(gè)小型公司嘗試了模塊化硬件,以向客戶提供選擇以配置首選硬件模塊的選擇。這個(gè)想法令人興奮,使用戶能夠?yàn)閬碜圆煌峁┥痰膿P(yáng)聲器,攝像機(jī)和網(wǎng)絡(luò)模塊采用一流的硬件,并創(chuàng)建他們想要的任何設(shè)備。
但是這種方法未能轉(zhuǎn)化為可擴(kuò)展的產(chǎn)品和消費(fèi)者的廣泛采用。原因可以追溯到缺少驅(qū)動(dòng)硬件代碼,而這些代碼可以使硬件模塊化真正可用。孤零零,極為緊密的開發(fā)使得幾乎不可能在最終產(chǎn)品中實(shí)現(xiàn)模塊化。隨著處理器達(dá)到違反摩爾定律的地步,對(duì)突破性創(chuàng)新的需求空前地需要,以匯集該行業(yè)的主流智慧。
當(dāng)我們看到硬件領(lǐng)域?qū)﹂_源的需求時(shí),先驅(qū)者可以從其開源軟件弟兄那里借鑒一些經(jīng)驗(yàn)教訓(xùn)。設(shè)想使用開源軟件來彌合領(lǐng)先供應(yīng)商提供的軟件中的性能差距。結(jié)果,重點(diǎn)從未放在用戶友好性上,而是在具有挑戰(zhàn)性的環(huán)境中著眼于更高的可靠性和代碼性能。
Linux成為服務(wù)器的流行操作系統(tǒng)。MySQL在該領(lǐng)域僅憑架構(gòu)健壯性和模塊化方法的優(yōu)點(diǎn)向Oracle提出了挑戰(zhàn),并解決了單片架構(gòu)的缺點(diǎn)。今天,我們看到亞馬遜幾乎將所有軟件模塊作為單獨(dú)的服務(wù)出售,這在早期的單片軟件哲學(xué)中是不可能的。
關(guān)鍵問題是,Linux等同于開源硬件嗎?挑戰(zhàn)在于硬件的復(fù)雜性,幾乎不可能構(gòu)建類似于Linux的膠水將所有硬件捆綁在一起。因此,建立民主硬件生態(tài)系統(tǒng)從未真正挑戰(zhàn)過物理,法律和經(jīng)濟(jì)障礙。在第一部分中,物理限制非常復(fù)雜,并且限制了開源硬件突圍的真正Linux等效產(chǎn)品的發(fā)展。但是,諸如無線電接入網(wǎng)絡(luò)(RAN)之類的開放式硬件帶來的5G分支的出現(xiàn)表明,可以想象并創(chuàng)建它。
下一個(gè)至關(guān)重要的問題是,像RISC-V這樣的指令集體系結(jié)構(gòu)(ISA)是否可以像Linux為各種異構(gòu)組件的平穩(wěn)同化所采用的方式一樣,觸發(fā)開源硬件的泛濫。如果是這樣,阻止早期玩家建立這樣一個(gè)生態(tài)系統(tǒng)的原因很重要。
圖3 Microsemi已在其FPGA設(shè)計(jì)中實(shí)現(xiàn)了RISC-V內(nèi)核。資料來源:Microchip
長(zhǎng)期以來,Arm充當(dāng)了知識(shí)樞紐,并帶來了最佳指導(dǎo)集,供不愿與普遍選擇聯(lián)系在一起的玩家使用。RISC-V在開源硬件領(lǐng)域提供了獨(dú)特的機(jī)會(huì),并且在Arm可能被折疊成大型半導(dǎo)體裝置之后,有可能成為金牌標(biāo)準(zhǔn)。
觸發(fā)大規(guī)模采用
隨后的挑戰(zhàn)在于新工具的學(xué)習(xí)曲線。在一個(gè)令人難以置信的時(shí)期內(nèi),硬件行業(yè)尚未見證其驗(yàn)證RTL代碼的方式發(fā)生巨大變化。SV-UVM是事實(shí)上的選擇,它已經(jīng)逐步發(fā)展并創(chuàng)建了一個(gè)顯著的舒適區(qū)。創(chuàng)建一個(gè)新的解決方案并期望人們樂于采用它是一項(xiàng)挑戰(zhàn)。該值必須顯著更大才能觸發(fā)新設(shè)計(jì)和驗(yàn)證工具集的大量采用,以創(chuàng)建精美的硬件設(shè)計(jì)。
在開放源代碼硬件規(guī)范(例如PCIe,USB,OpenCL和OpenCV)中有成功的故事,但是,真正的開放源代碼硬件之路貫穿了生產(chǎn)難題。它將涉及下一代TSMC的問世,后者可以支持靈活的運(yùn)輸并為RTL-verification-tapeout創(chuàng)建端到端管道,并與新的開源硬件世界保持一致。說起來容易做起來難,因?yàn)榕c在硬件上投入不大的軟件不同,在硬件上,每一層都以緊密耦合的方式構(gòu)建了數(shù)十年之久,為拆除開放源代碼硬件付出了巨大的代價(jià)。
現(xiàn)有工具的逐步發(fā)展可能需要一個(gè)世紀(jì)的時(shí)間才能達(dá)到業(yè)務(wù)變化的開源硬件階段。解決方案是通過已定義的路線圖,開啟不同思維和突破的新時(shí)代。除非開放源代碼硬件的先驅(qū)找到端到端問題的答案,否則采用和建立事實(shí)上的Linux替代產(chǎn)品將受到限制。對(duì)設(shè)計(jì)工具和生產(chǎn)的投資將需要通過大規(guī)模的重新技能來獲得成功,以使設(shè)計(jì)社區(qū)大規(guī)模采用新的工具鏈來創(chuàng)建敏捷的硬件開發(fā)。
編輯:hfy
-
微控制器
+關(guān)注
關(guān)注
48文章
7646瀏覽量
151949 -
ARM
+關(guān)注
關(guān)注
134文章
9164瀏覽量
368790 -
Linux
+關(guān)注
關(guān)注
87文章
11342瀏覽量
210222 -
人工智能
+關(guān)注
關(guān)注
1796文章
47643瀏覽量
239863 -
RISC-V
+關(guān)注
關(guān)注
45文章
2322瀏覽量
46440
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論