《程式員》于 2000 年創刊,其理念為「技術改變世界,創新驅動中國」,2021 年,《程式員》2.0 全新起航,首期以「開發者的黃金十年」為主題,以音視頻、圖文專欄等豐富的多媒體形式為載體,立足當下,放眼未來,為讀者帶來全方位的技術和產業解讀,
本文為《程式員》2.0 第一期內容,在 UNIX 開發者 Brian W. Kernighan、Vue.js 作者尤雨溪、TiDB 作者黃東旭等之后,我們采訪到了 RISC-V International 首席技術官 Mark Himelstein,與他共談 RISC-V 的成功之道,
作者 | 《程式員》編輯部
中國工程院院士、中國開放指令生態(RISC-V)聯盟理事長倪光南曾說:“未來 RISC-V 很可能發展成為世界主流 CPU 之一,從而在 CPU 領域形成 Intel、ARM、RISC-V 三分天下的格局,”
與 CPU 龍頭老大的 Intel、ARM 三分天下,談何容易,可偏偏這個在 2010 年才誕生的 RISC-V 就有這樣的勢頭,
作為目前為數不多的開源硬體,RISC-V 完全開放,基于廣泛使用且標準十分寬松的 BSD 許可證,開發者可自由免費地利用 RISC-V 來設計 CPU,也能在原有基礎上進行擴展,而最終的成果是否開源、是否商業銷售,甚至是否要更換其他許可協議,全都由開發者自己決定,
如此人性化的設定,大大降低了芯片的研究門檻,使 RISC-V 被譽為“半導體行業的 Linux”,廣受開發者歡迎,據分析機構 Semico Research 的《RISC-V 市場分析:新興市場》報告資料,預計到 2025 年,市場將總共消費 624 億個 RISC-V CPU 內核,其中預計工業領域將是最大的細分市場,屆時將擁有 167 億個內核,
那么 RISC-V 是如何實作這一成績的?又是如何平衡開源與商業化之間的矛盾?帶著這樣的疑問,《程式員》特別對話 RISC-V International 首席技術官 Mark Himelstein,通過本文,或許我們可以走進 RISC-V 的世界,揭開這個“年少有為”的開源指令集架構的神秘面紗,
重點速覽:
- 向 Linux 基金會學習: 學會如何去構建開源社區是一件很重要的事,也希望在硬體領域開拓新天地的 RISC-V 能在該領域“繼承 Linux 的衣缽”,
- RISC-V 最吸引人的特點: RISC-V 正在創造一個新的環境和作業模式,因為它打開了與開源軟體相對應的開源硬體之門,
- 談開源社區: 開源社區打破了公司與公司、國家與國家之間的壁壘,優秀的社區則應具備兩點標準:首先,讓人們盈利,能為人們提供支持和幫助;其次,參與社區貢獻的人,要拒絕重復「造輪子」,堅持不斷創新,
- 對開源商業化的看法: 這是整個世界資源的優化,如果有 100 家公司都在做同樣的事情,那簡直就是在浪費整個物種的資源,
- 如何賦能開發者、企業以及國家和地區: 不會設定任何限制,所有人都可以根據需求使用或多或少的 RISC-V 指令集,也可以針對其增值領域進行定制,
- 改變世界的 RISC-V: 重新賦予指令集足夠的靈活性和可擴展性是 RISC-V 改變世界的方式,
- RISC-VI : 不必期待 RISC-VI,RISC-V 要持續 50 年,各種想要的東西可以繼續在 RISC-V 上添加,
“變化販子”,無畏挑戰
Mark Himelstein,于 2020 年 6 月正式任職 RISC-V International CTO,在此之前,他的履歷也相當豐富:Heavenstone 公司的總裁、Graphite 工程副總裁兼 CTO、Quantum CTO、Solaris 開發工程副總裁,也曾在蘋果和 MIPS 任職技術管理,

《程式員》:您在許多家公司擔任過 CTO,請問您作業的原則是什么?
Mark: 這說不準,因為每個人不同時期會有不同的興趣愛好,首先我喜歡技術,尤其是具有挑戰性的技術,我接受 RISC-V CTO 這份作業的原因之一就是它能讓我充分發揮重要的管理技能和技術才能,
2012 年我曾和一位前 UCSD(加州大學圣地亞哥分校)教授共同創辦了一家公司,主要研究基于大資料和英特爾 CPU 的大規模并行存盤,雖然這次的創業是以我們把它賣給了易安信(EMC)公司收場,但也因為這段經歷,我清楚地意識到了一件事:我們可以讓指令集漸趨完善,
后來,我們和一個名為芯片聯盟(CHIPS Alliance)的非營利組織合作,保證在指令集的速度、性能以及特性的提升上提供更多支持,這也是我目前最大的愛好,
《程式員》:作為一個基金會的 CTO 最難的事情是什么?您又是如何去解決的?
Mark: 最困難的是我會不斷面臨許多意料之外的事情,不過還好,我比較有耐心,因此我只是希望這些事能盡快處理好,可以讓我喘口氣,明確自己該做的事,保證社區正在以穩定的步伐前進,
雖然從過去到現在,發生了許多事情,但我們一直在堅持做有意義的事,我只希望未來可以更快、更高效地解決所有難題,
《程式員》:人們可能會在擔心變化,但是在某次采訪當中您提到您是“變化販子”,同時也樂在其中,可以和我們分享一下嗎?
Mark: 我認為有些人,特別是那些一直在做同一件事情的人,他們在封閉的環境里面太久了,雖然他們依舊很聰明,也能夠做出很好的東西,但可能因為不想像早期的研究者們那樣承擔不必要的風險,所以不愿意接受變化,
我過去也是這樣的人,彼時我在使用 Sun 公司的 Solaris 作業系統時,Linux 才剛剛誕生,但我發現它非常重要,所以寫了個程式把所有 Linux 命令合在一起,使其成為可用的構建環境等,不過當時有些工程師并不理解我的做法,還記我當時解釋道,「你不去做,別人就會做,那么你就將失去為用戶帶來產品的機會,」此后他們就明白了其中的緣由,并一起參與進來,這也是當時我幫助組織度過難關的方法,
而現在我們需要換個角度來考慮問題,由于世界是變化的,所以我們也要與時俱進,我們現在在做的一件事就是,利用我在軟體領域的豐富經驗來平衡組織,我們現在有三個委員會和一個特別興趣組織和任務團隊來處理所有事情,范圍包括從 ABS 到管理運行時間到編譯器優化,因為這些領域每天都在發生不斷地變化,在產品范圍內,我們負責積極制定策略,他們則負責跟進變化、填補空白,并同步給我們方便有針對性地調整策略,
RISC-V 要在硬體領域“繼承 Linux 的衣缽”
《程式員》:您認為需要和 Linux 基金會學習的最重要的一件事是什么?RISC-V 最吸引人的特點是什么?
Mark: 首先,我們學到很重要的一件事情就是如何去構建開源社區,我認為 Linux 基金會相當成功,通過對比 1990 年和 2020 年的 Linux,你會發現此基金會的成果令人驚艷:1990 年,如果你將 Linux 作為自己的作業系統,你可能會丟掉作業;2020 年,如果你不選擇 Linux,你也可能丟掉作業,通過這個偉大的開源社區,Linux 創造了數量龐大的產品并產生了相當多的創新,
雖然與全軟體的 Linux 不同,在硬體領域開拓新天地的 RISC-V 還是希望能在該領域“繼承 Linux 的衣缽”,由于硬體的高級工程師非常重要卻極為稀缺,因此我們將每個人的作業明確區分開,譬如,架構師的設計能在架構層面實作,開發者則負責完成生態系統的建設,整體而言,不管是編譯器還是架構測驗、建模、模擬器,或者作業系統等,都可以找到對應的技術人員,這是一場雙贏,他們得到了業界的認可和經驗,而 RISC-V 也得到了長足的發展,
我們對此非常感激,同時我認為 RISC-V 正在創造一個新的環境和作業模式,因為它打開了與開源軟體相對應的開源硬體之門,
《程式員》:怎樣才是一個好的社區?
Mark: 我認為歸根結底,首先,能讓人們盈利,為人們提供支持和幫助的社區就是一個好的社區,如果人們在一件事中一無所得,那就證明這件事也不是很重要,拿 Linux 舉例,許多人就利用 Linux 獲取了收益,有的靠提供服務,有的靠提供基于 Linux 的服務器,總之,Linux 成為了他們盈利的基礎,同時這也促進了開源中商業意識的發展,
其次,參與社區貢獻的人,要拒絕重復「造輪子」,堅持不斷創新,如果你很早就向開源貢獻了自己的成果,這就等同于你把時間和精力用在進行構建并提出價值主張上,這對你的業務而言有著獨一無二的價值,但社區中總會有一些人有所保留,直到最后才肯發表意見,即便在 Linux 社區中也存在這樣的現象,
我們與人合作的真正目的是積極主動地做出貢獻、有建設性地互幫互助,這樣才會帶來一個很好的社區,在此基礎上,社區就能幫助人們盈利,比如完成指令集的擴展等,
左手開源,右手商業
《程式員》:對于開源商業化,之前大家的態度是猶豫懷疑,有些人還認為開源不應該用來賺錢,也賺不到錢,而現在大家發現通過開源專案商業化也能夠反哺社區,更好地促進開源發展,形成良性回圈,您怎么看待這個問題?
Mark: 我認為這是我們整個世界資源的優化,比如,我們可以盤點一下整個世界的資源,如果有 100 家公司都在做同樣的事情,那簡直就是在浪費資源對吧?所以這就有些愚蠢了,因為隨著時間的流逝,每個人都會知道該怎么對這些事做加減乘除,
另外,我們為什么總要創造一些新奇卻空洞的東西?明明我們可以把時間用在一些更有意義的事情上,比如如何實作這個時代的更適用的芯片之類,舉個例子,美國有 4 個不同的蜂窩網路,我覺得這就浪費了國家的資源,也沒有創新的余地,如果讓所有人都支持一個就好了,因為雖然這個程序看似兵分四路,最后卻朝著同一個目標,不過是殊途同歸,
可能也有些人不想讓每個人都去創新,他們或許認為許多人做一件事會產生良性競爭,但 Linux 教會我們的是,如果你選擇分享成果而不是讓每個人都做一樣的事情,你將擁有更好的機會并會節省資金,
《程式員》:請問您如何評價 SiFive?
(注:對于有能力自己定制芯片的科技公司,RISC-V 是免費開源的;但也有很大一部分資源不足的中小型公司,他們會有償委托 SiFive 來采用 RISC-V 架構設計量產芯片,在這種情況下 RISC-V 就變得商業化)
Mark: 首先我們對 SiFive 表示感謝,它的創始人非常棒:Krste Asanovic、Yunsup Lee 和 Andrew Waterman,他們各司其職,讓 RISC-V 真正地開始興起,其次,他們免費為開源社區做了大量作業,他們為上游專案帶來了很多貢獻,甚至有人說 SiFive 對我們的投入就像公司剛成立時期重要人物給公司投入的一般,
在 2016 年只有十幾家公司愿意這樣對我們,現在我們已經得到上百家公司的支持了,他們彼此之間合理分配并負責不同的角色,反之,我們也確保能夠理解他們,因此目前我們正在經歷一個選舉周期,對于長期擔任同一職位的人們進行重新選舉,給予其他人成為領導者的機會,并盡力保證每家公司在做出關鍵決策時最多只有一票,這樣就能將權利真正分散,這樣的話對于一家公司來說,不管以怎樣的形式,負擔都不會太重,而這也是 SiFive 最擅長的地方,
所以我們必須承認,SiFive 的創始人們真的非常聰明,我們經常一起開會,或發郵件聯系,他們也很慷慨友善,非常樂于和社區合作并分享他們的技術,
RISC-V 期待改變世界
《程式員》:RISC-V International 如何賦能開發者、企業甚至是國家和地區?
Mark: 我認為開源社區(而不是軟體或硬體)的標志之一就是賦能,我們沒有設定任何限制,所有人都可以根據需求使用或多或少的 RISC-V 指令集,也可以針對其增值領域進行定制,因此,如果你是專門研究低功耗的 SoC 提供商,可以重點關注一下我們的開源社區,在社區中,你無需重復所有作業即可完成基本算識訓類似的作業;你可以和其他人分享成果;有一些相關組織在進行設計和設計驗證(DV,Design Verification)等作業;還有一些商業物體會提供 IP(Intellectual Property)或者真實的芯片,利用這些資源,你可以通過解決方案等實作快速起步,加速公司的成功,
關于開源社區還有一點十分清楚,那就是它打破了公司與公司、國家與國家之間的壁壘,從西班牙的巴塞羅那到中國的上海,我們社區的人遍布世界各地,在社區中,我們都只是一群工程師,在努力創造最棒的產品、做有意義的事情、盡可能不去注意或與政治相關聯,我們就像在一起作業的同事,一起創造并分享很棒的故事,
《程式員》:RISC-V 如何改變世界?
Mark: 我們還沒有完全改變世界,但我們期待改變世界,并為此奠定了基礎,雖然之前有些大型公司也開源了一些芯片,但這些芯片都需要公司的繼續支持才能成功,然而,真正在開源中誕生,并擁有如此大規模開源芯片的,我們是第一個,這種擁有所有權的自豪感與擁有 Linux 的私有權一樣,會推動人們去做更有意義的事,
目前我們正處在可以見證歷史上所有指令集的作業和風險的階段,因此我們從中汲取經驗,重新賦予指令集足夠的靈活性和可擴展性是我們改變世界的方式,從很小的嵌入式應用程式到超級計算機,甚至在更有意義的事上,RISC-V 指令集都可以支持,這種與眾不同的靈活性和可擴展性,意味著 RISC-V 擁有滿足定制化需求的能力,可以方便人們根據需求添加擴展,
《程式員》:如果存在 RISC-VI,您最期待什么特性?
Mark: 其實我剛加入 RISC-V 的時候,就鬧了一個關于 RISC-VI 的笑話,David Patterson(大衛·帕特森,圖靈獎得主、RISC-V 基金會創始人之一)當時對我說:“Mark,你還不理解,我們是要讓 RISC-V 持續 50 年,并具有可擴展性,這就是我們要構建屬于自己的架構的原因,我認為你不必去期待 RISC-VI,你需要關注的是我們在 2021 年、2022 年、2023 年要做什么,有哪些新興市場會對 ISA 、芯片組和計算機有哪些不同的需求,”
所以現在,RISC-V 就是籌碼,不管接下來會發生什么;不管我們需要做什么或要支持什么新興技術;不管我們的社區真正需要什么,都有一個基礎性的 RISC-V 允許我們在其之上進行增添,所以不必重復這種努力,我們可以繼續在 RISC-V 上添加各種想要的東西,
《程式員》:RISC-V 在設計上有怎樣的挑戰,可以和我們分享一些經驗嗎?
Mark: RISC-V 的設計幾乎處處都是挑戰,畢竟如果沒有挑戰,我覺得人們可能也不太愿意去做,所幸我們有個非常龐大的社區、擁有 230 余個組織和上千位優秀的貢獻者,也因此,想讓他們實實在在地推進輸出就是最大的挑戰,
不過機遇與挑戰同在,這些聰明的人,之前從事過其他架構方面的研究作業,他們經驗豐富,知道自己該做的事情,因此我們所能做的,就是保證社區中溝通順暢,確保社區能有效產生輸出,讓成員永遠可以在社區討論,維持高質量的對話水平,
不得不說,這是一個很大的挑戰,不過事實證明,這也是我作業的亮點之一:讓社區中來自不同時區、不同文化、不同語言、不同國家的優秀人才凝聚在一起,讓他們自然而然地去嘗試和探索,真正專注在該做的事上,
One More Thing
《程式員》:在您的求學生涯和生活當中,誰給您的影響最大?
Mark: 有兩位我想要感謝的人:
- 一位是 Larry Weber,他是我在 MIPS 時的老板,他給了我良好而扎實的工程實踐經驗,以及即使遇到陌生的場面,該如何計劃和解決問題,
- 一位是 Anil Gadre, 是我在 Solaris 做 BP 工程師時候的經理,幫助我完成了第一個大專案,也教會了我關注團隊自下而上和自上而下的原則,
兩位先生都是很棒的導師,在工業界也做出了很好的事情,我對他們非常感激,
《程式員》:對于硬體工程師,您有怎樣的建議?
Mark: 我的建議是,永遠都要明確自己的價值主張,別把自己當成全能人才,把所有的事情都做了,也不要想著一蹴而就這種不太可能的事情,
試著去做一些對你而言容易處理的事情,然后最重要的是專注,專注,專注!這不僅是 RISC-V 的優勢之一,同時也是我們希望傳達給人們的,因為在社區中分享了自己的成果后,人們就可以開始關注自己的能力和客戶的需求,
《程式員》:對于創業的人們,您有怎樣的建議呢?
Mark: 首先,你必須保持專注,然后找到一些提升自我價值的東西,我的建議是,如果打算開一家公司,首先要弄清楚自己的價值定位,可能是成本、規模或者產能,然后專注,不要嘗試做所有的事情,選擇那些你懂得如何做好和如何盈利的事,
《程式員》:最后,您想對中國的讀者和開發者們說點什么?
Mark: 我從 90 年代后期開始來中國,那時候我還在 Solaris,對中國的教育水平、信譽水平和產品質量印象深刻,我認為隨著時間的推移,情況只會越來越好,我們與中國公司以及中科院、RIOS 等機構都是非常重要的合作伙伴,作為企業家和發明者,他們對我們“怎樣實作如此大規模開源”的話題感到好奇和興奮,這些我都非常感激,
我想說的是,參與進來,找到你真正熱愛的東西并真心投入進去,讓我們一起前進,改變世界,
從 Unix 開發者 Brian W. Kernighan,到 OpenCV 創始人 Gary Bradski,再到 Vue.js 作者尤雨溪……《程式員》2.0第一期以「開發者的黃金十年」為主題,與多位國內外知名的技術領袖和新銳代表進行了深度對話,希望為中國開發者打開新時代的「機遇之窗」,
除了技術引領,我們也希望透過技術對行業進行深入洞察,因此,《程式員》2.0 第一期也邀請到了來自快手、滴滴、貝殼找房、作業幫等知名企業的技術負責人,用案例實踐為讀者闡述直播、出行、居住、在線教育等多個行業變革背后的技術架構和技術引擎,
掃描下方二維碼,添加小助手,即刻加入《程式員》2.0「讀者群」,搶先一步獲取《程式員》最新動態,精彩內容不再錯過,

轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/282154.html
標籤:其他
上一篇:基于Redis實作特殊的訊息佇列
