計算機架構(gòu)史上的一次偉大失敗,多數(shù)人都不知道
以下文章來源于OneFlow ,作者OneFlow社區(qū)
作者|OneFlow社區(qū)
來源|OneFlow
三十年以后,當(dāng)喬?!べM舍爾(Josh Fisher)向妻子回憶起MultiFlow創(chuàng)業(yè)的奧德賽之旅時,他一定非常懷念那個計算機歷史上的“西部大開發(fā)”時代,那個各類人才風(fēng)云際會,擁有各種宏大想法并為之付諸實踐的1980時代。
那時,計算機領(lǐng)域尚在混沌之初,各種技術(shù)路線百家爭鳴,擁有新技術(shù)的公司不斷浮現(xiàn)。很多在一個月前還不存在的公司,每天都在生產(chǎn)配備奇特硬件的奇怪機器,你可以在車庫里生產(chǎn)一臺計算機,讓你的技術(shù)變得流行起來,然后賺一桶金。似乎什么事都有可能發(fā)生。
其中,有兩家創(chuàng)業(yè)公司和它們創(chuàng)造的計算機顯得格外耀眼。一家是思維機器公司,其生產(chǎn)的連接機器可以同時執(zhí)行相同的數(shù)據(jù)處理指令,它后來在科學(xué)計算領(lǐng)域取得了巨大成功,向世人展示了創(chuàng)造大型并行計算機的可能性以及全新計算的價值和前景。
另一家則是與思維機器懷揣同樣愿景的Multiflow公司。它們在1983、1984年前后相繼成立,不過,不同于連接機器的計算方法,Multiflow Trace機器的軟件使用指令級并行(ILP)的并行形式來加速程序的執(zhí)行,公司創(chuàng)始合伙人喬希提出的超長指令集架構(gòu)(VLIW),是基于他在紐約大學(xué)讀研時發(fā)現(xiàn)的跟蹤調(diào)度(Trace Scheduling)技術(shù)而提出,該架構(gòu)當(dāng)時最多可發(fā)出和計算多達28條指令,并且盡可能一次執(zhí)行完畢,這大大加速了計算速度。
從曾經(jīng)的六年創(chuàng)業(yè)歷程里,Multiflow公司也曾風(fēng)光無兩。他們建造了VLIW微型超級計算機Trace系列機器并展示了ILP技術(shù)的實用性,公司籌集了約6000萬美元的風(fēng)險投資,巔峰時期擁有170名員工,以平均約35萬美元的價格向全世界出售了約140臺計算機。
Multiflow匯集了一大批才華橫溢的工程師。擁有該公司背景的工程師中,包括喬希在內(nèi)有兩位獲得了計算機架構(gòu)領(lǐng)域的最高獎項“??颂?莫切利獎(Eckert-Mauchly award)”,還產(chǎn)生了其他領(lǐng)域的三名Fellow級人物。很多工程師在各自行業(yè)大放異彩。
喬希本人的人生經(jīng)歷足夠驚奇。他患有先天性注意缺陷障礙(ADD),使得他在學(xué)習(xí)、工作時難以集中注意力,但他在計算機領(lǐng)域卻有異常天分,在研究相關(guān)問題時能出奇地保持專注。他成為耶魯大學(xué)教授,并轉(zhuǎn)型為優(yōu)秀的企業(yè)管理人,最后以惠普高級研究員的身份退休,期間他發(fā)表的關(guān)于VLIW技術(shù)的論文后來被評為計算機體系結(jié)構(gòu)大會(ISCA)歷史上最具影響力的論文之一。
更重要的是,VLIW技術(shù)啟發(fā)了眾多公司的技術(shù)創(chuàng)新??梢哉f,后來所有公司使用的VLIW編譯技術(shù)絕大部分都是基于Multiflow團隊的工作,當(dāng)時沒有別的團隊研發(fā)如此復(fù)雜的編譯器。早期的超級計算機初創(chuàng)公司Cydrome等也做了基于VLIW的產(chǎn)品,英特爾EPIC架構(gòu)脫胎于這一技術(shù),它被應(yīng)用于各種嵌入式處理器中等。盡管仍有爭議,VLIW已成為高性能嵌入式系統(tǒng)中的一股中堅力量。諸如Habana等AI芯片的底層架構(gòu)也是VLIW,一些場景中需要大量的向量計算,適合采用VLIW設(shè)計多****處理器。
如今,與那些計算機歷史上那些值得被后世銘記的機器一樣,Multiflow Trace計算機也像老古董那樣被陳列在加州山景城的計算機博物館供人觀摩。
不過,從1983年開始,當(dāng)喬希四處分享他的創(chuàng)新技術(shù)思想時,很長時間內(nèi)都被學(xué)界主流認為不現(xiàn)實。喬希始終憋著一口氣,為了證明VLIW技術(shù)的可行性,他和一群志同道合的伙計打算創(chuàng)業(yè)去造出一臺新型計算機。在《Multiflow:一個創(chuàng)業(yè)公司的奧德賽》一書中,他的妻子Elizabeth Fisher詳細記述了Multiflow的非凡創(chuàng)業(yè)史。
1 不被認可的VLIW
當(dāng)喬希還在紐約大學(xué)Courant學(xué)院的計算機科學(xué)專業(yè)做研究生時,他的導(dǎo)師設(shè)計了一臺通過最低層的微代碼指令控制的計算機仿真器,微代碼是并行執(zhí)行的,但最大的問題是需要手工編寫。
他想找到一種從串行執(zhí)行微碼自動創(chuàng)建并行執(zhí)行微碼的方法,也就是說,讓計算機獲取工程師寫的串行代碼及其所有分支,并自動將其轉(zhuǎn)換為并行代碼。但是,當(dāng)時沒人知道在計算機程序中該如何處理分支代碼。
有一天,他突然靈光一閃,意識到如果是手工編碼,他不會只看一小段代碼,而是會看整個程序。他認為可以編寫這樣的一套軟件:著眼于整個程序,而不是一小部分代碼,就像手工編碼那樣。在查看代碼時,程序可以猜測代碼最可能會通過的分支路徑。
在計算機有了第一條路徑后,就可以查看代碼并在此過程中找到并行性,如果猜錯了,就添加代碼進行補充,如此循環(huán)同樣的過程,直到它查看了所有代碼。如果能實現(xiàn)這一點,那將是一個真正的突破,無需費力去手工編碼就能自動提高計算機的速度。
這個想法使他大吃一驚。如果這樣做了,不僅會讓手動并行變得不再必要,而且還會以驚人的速度執(zhí)行代碼。看著一個測試程序的圖表,他在計算機尋找并行性的路徑上畫了一條線,這讓他想起了車間調(diào)度的方式,所以將這項技術(shù)稱為“跟蹤調(diào)度”。
跟蹤調(diào)度是第一個在占用不同基本塊的指令之間找到大量并行性的實用算法,大大提高了指令級并行架構(gòu)的潛在加速能力。在喬希的博士論文中,他介紹了這種指令級并行性的軟件解決方案。
1979年初,喬希去了耶魯大學(xué)工作,開始和他的學(xué)生們致力于實現(xiàn)這一方案,但在這一過程中,他最初的想法也發(fā)生了變化。
喬希認識到,跟蹤調(diào)度應(yīng)該在工程師的代碼被編譯(翻譯成計算機的指令語言)后使用。跟蹤調(diào)度需要成為編譯器的一部分與程序其余部分交互,以產(chǎn)生想要的加速。因此,他們的研究重點成為為創(chuàng)建跟蹤調(diào)度編譯器。
喬希把跟蹤調(diào)度看作全新技術(shù)領(lǐng)域的一部分,創(chuàng)造了“指令級并行”這個術(shù)語,包括通過并行執(zhí)行操作來加快計算速度的所有努力。
為了實現(xiàn)跟蹤調(diào)度所設(shè)想的性能加速,他需要一種不同類型的計算機,一種在設(shè)計之初就考慮到跟蹤調(diào)度技術(shù)的通用計算機。這是一種使用自動生成的代碼構(gòu)建的計算機,同時執(zhí)行的操作將被集中到“指令字(instruction words)”中,“指令字”越長,可用的并行性越高。
在他入職耶魯?shù)那皟赡?,與兩位華裔科學(xué)家發(fā)生了有趣的交集。一次是在喬希做耶魯大學(xué)研究生入學(xué)招生工作期間:他需要從20份來自中國的簡歷里篩選出一位學(xué)生進入耶魯,其中一份申請書引起了喬希的興趣,內(nèi)容描述了從廢棄的垃圾場里撿來的真空管組裝而成的一臺電視機。喬希認為,能在如此艱難的環(huán)境下制造出這樣的東西,并表現(xiàn)出自豪感,申請人一定很特別,更不用說他的獨創(chuàng)性。在喬希的推薦下,耶魯錄取了這位職業(yè)曾是建筑工的候選人,他成為世界上第一個“圖靈獎”獲得者艾倫·佩利斯的最后一屆研究生,后來,他成為了普林斯頓大學(xué)計算機科學(xué)系講席教授、美國工程院院士,他就是李凱教授。
還有一次,這個年輕的耶魯大學(xué)研究員從卡耐基大學(xué)的高級教員孔祥重(HT Kung)那里搶走了研究經(jīng)費。當(dāng)時他們在一架飛機上聊天,孔覺得喬希是個擁有很有前景的軟件技術(shù)的年輕人,對他很親切,但當(dāng)他們同時到達一場學(xué)術(shù)資助活動的現(xiàn)場時,前者才意識到這個研究員也要跟他競爭經(jīng)費,并對他的研究進行了徹底盤問。值得提一下孔祥重教授的一些成就:Google TPU里面使用的脈動陣列技術(shù);數(shù)據(jù)庫系統(tǒng)廣泛使用的樂觀鎖以及高性能網(wǎng)絡(luò)里廣泛使用的基于信用的流控技術(shù)(credit-based flow control)。這些技術(shù)在深度學(xué)習(xí)系統(tǒng)里也有廣泛應(yīng)用。
在耶魯,他找到了一群專注、熱情、渴望學(xué)習(xí)的學(xué)生,他們對編譯器和架構(gòu)課程很感興趣,在利他主義精神的驅(qū)使下設(shè)計了諸多實用的系統(tǒng)工具。
在接下來的兩年里,喬希和他的研究生John Ellis, Alex Nicolau和John Ruttenberg編寫了Bulldog編譯器。他的學(xué)生在Bulldog編譯器上的研究成為了他們博士論文的基礎(chǔ),隨后,John Ellis的論文被評選為ACM年度最佳計算機科學(xué)論文。
1983年左右,喬希開始公開談?wù)撘环N用來運行跟蹤調(diào)度代碼的新型計算機,他稱這種風(fēng)格為超長指令字(VLIW)。VLIW架構(gòu)使用一種將普通串行代碼壓縮成長指令字的新型編譯器,使用該架構(gòu)的機器有望提供比其他技術(shù)構(gòu)建的機器超出10到30倍的性能。
可是,這種不同以往的計算機設(shè)計對很多人來說太奇怪了,很少有其他計算機科學(xué)家考慮過這個問題,沒什么人愿意聽他的研究結(jié)果。他們都持懷疑態(tài)度,也許從學(xué)術(shù)角度來看有點意思,但喬希的想法還是有點瘋狂,他們的偏見在于,壓根不可能建造一臺依靠軟件而不是硬件來提速的通用計算機。
盡管他試圖通過方式各種說服人們,試圖讓他的同事們接受他的研究,但依然在很長時間內(nèi)不被學(xué)術(shù)界認可。反而反對意見卻不增多,連他尊敬的人也站起來說喬希的想法行不通或無法實現(xiàn),他們的潛臺詞是,如果這種技術(shù)是實用的,那早就應(yīng)該有人做出來了。
喬希很反感這種邏輯,對此感到困惑和失望。他相信VLIW架構(gòu)遠遠超出了一個學(xué)術(shù)項目范疇,它有潛力改變所有的科學(xué)計算。
隨后,他開始轉(zhuǎn)向計算機業(yè)界。他認為,為了追求利潤,工業(yè)界會比固守計算機理論的學(xué)界同行對新技術(shù)更感興趣。他計劃與工業(yè)界接洽將技術(shù)推向市場,證明VLIW技術(shù)的價值。
2 Multiflow成立,Trace問世
1984年,微型超級計算機的問世讓其成為計算機行業(yè)中人人都在談?wù)摰臒衢T產(chǎn)品,它能讓單個部門的計算能力幾乎達到一臺超級計算機的水平,價格卻不到100萬美元。
這時,喬希和他的學(xué)生John O 'Donnell和John Ruttenberg成立了Multiflow計算機公司,出于市場選擇,這些創(chuàng)始人也決定將產(chǎn)品面向微型超級計算機市場。
在喬希的領(lǐng)導(dǎo)下,O 'Donnell負責(zé)硬件工作,Ruttenberg負責(zé)編譯工作,他們招募了來自耶魯大學(xué)的約20個工程師加入這個初創(chuàng)團隊。大多數(shù)人開始在這個并不熟悉的領(lǐng)域里摸索前進。
這幫人太聰明了,喬希尊重他們,希望讓他們最大程度發(fā)揮自己的創(chuàng)造力去決定產(chǎn)品的發(fā)展。良好的工作氛圍讓這幫人充滿創(chuàng)業(yè)勁頭,每個人都工作很長時間,有時通宵達旦,空氣中彌漫著熱情和樂觀的氣氛,相信他們將給計算機行業(yè)帶來革命性變化。
如果只是單純鉆研技術(shù),這里也許是技術(shù)人的天堂,但畢竟這是一個創(chuàng)業(yè)團隊。很快,他們就遇到了創(chuàng)業(yè)以來的第一個嚴峻挑戰(zhàn)。
8月底,由于意向投資方阿波羅(Apollo)公司管理層的調(diào)整,阿波羅董事會最終終止了給Multiflow的50萬美元投資。這讓他們措手不及,一度好幾周發(fā)不出工資,還有人因此去了阿波羅公司工作。他們第一次遭遇破產(chǎn)倒閉的風(fēng)險。
與此同時,由于阿波羅對外散播不利于Multiflow的消息,讓他們尋求新融資時也遭遇了困難。隨后,具有獵頭經(jīng)歷的唐·埃克達爾(Don Eckdahl)成為新任CEO拯救Multiflow于危難之際,由于風(fēng)投信任有商業(yè)運作經(jīng)驗的埃克達爾,提供了20萬美元的融資。
在??诉_爾擔(dān)任CEO后的最初幾年里,公司走在坦途上,逐步變成一個在資本市場備受矚目的公司。1985年2月,Multiflow完成了第一輪700萬美元的融資;1986年5月,融資1060萬美元;1987年5月,融資1800萬美元。
隨著時間的推移,公司開始變成上百人的團隊,Multiflow聘請了盡可能多的優(yōu)秀人才加入,到這種體量的公司一般會引入正規(guī)的管理流程,但它的管理結(jié)構(gòu)依舊如常,在這種寬松的工作氛圍下變得更有凝聚力,具有不同工作風(fēng)格和強烈個性的人互相信任,沒有人表現(xiàn)出特別自負,他們做著有成就感的事,追求完美。
能吸引這么多優(yōu)秀人才加入,一方面是因為喬希的個人品質(zhì)給他人留下了深刻的印象,他邏輯強大、聰明、正直,具有相似特質(zhì)的聰明人會識別、吸引跟他們一樣的聰明人加入。另一方面,每個人都希望體驗構(gòu)建新技術(shù)的興奮感,而Multiflow正走在這樣一條技術(shù)路徑上。
所有工程師都在一起工作,軟硬件工程師互相協(xié)商,他們沒有循規(guī)蹈矩般地遵守傳統(tǒng)計算機科學(xué)的界限,沒有任何領(lǐng)域是討論和探索的禁區(qū)。他們摸著石頭雄心勃勃地前進,只為創(chuàng)造不同凡響的計算機。
當(dāng)喬希發(fā)明VLIW技術(shù)時,他認為硬件是很容易構(gòu)建的部分,但當(dāng)他們試圖發(fā)揮出硬件極限能力時卻發(fā)現(xiàn)困難重重,且成本高昂,這恰恰也是當(dāng)前AI芯片行業(yè)所面臨的問題。他們還模仿了在耶魯大學(xué)的Bulldog編譯器設(shè)計出Multiflow編譯器,期間幾乎創(chuàng)建了一個全新的語言,但工作進度卻遠遠落后于計劃。
無論如何,1987年4月,Multiflow發(fā)布了第一款Trace計算機,從那時起,對VLIW技術(shù)不起作用的質(zhì)疑就永遠消失了。Cydrome公司也采用了VLIW類型的架構(gòu),這是當(dāng)時唯一一家與Multiflow公司采用具有類似方法的微型超級計算機制造商。
Trace有7/200、14/200和28/200三種型號,除了政府部門和大學(xué),Multiflow主要把它賣給惠普、摩托羅拉等制造業(yè)公司。1989年1月,Multiflow推出了300系列產(chǎn)品,與200系列唯一的變化是浮點計算。
3 資金鏈斷裂,兩度裁員后公司倒閉
1987年,MultiFlow經(jīng)過三輪融資籌集了近3600萬美元,有一部分銷售收入,但對維持公司運轉(zhuǎn)來說并不足夠,糟糕的是,資金來源也變得緊張。
那年10月,受到全球股市崩潰的影響,風(fēng)投市場裹緊錢袋子,由于沒有盈利,Multiflow也無法上市去公開市場募資。他們和對Multiflow技術(shù)感興趣的微型計算機的市場領(lǐng)導(dǎo)者DEC接洽,但談判并不順利,況且,即使有DEC的投資也不足以讓Multiflow成為一家財務(wù)穩(wěn)定的公司。
與此同時,計算機行業(yè)正在發(fā)生變化,計算機硬件變得更便宜,以喬布斯的NeXT公司為代表生產(chǎn)的個人電腦可以運行許多科學(xué)應(yīng)用,整個微型超級計算機市場遭受威脅。
危機已至。喬希和另一個創(chuàng)始人O 'Donnell認為,Multiflow定價和銷售策略也要做出改變。喬希希望通過降低價格以及去國外銷售的方式來紓解困境,但這沒有說服CEO??诉_爾。
第一次遭遇倒閉危機時,是職業(yè)經(jīng)理人??诉_爾的加入將公司從死亡邊緣拉了回來,很長時間內(nèi),喬希習(xí)慣和他的意見保持一致。但這次,幾個合伙人之間產(chǎn)生了激烈爭論,再加上銷售不景氣和對其人才管理的不認可,董事會對??诉_爾失去了信心。
風(fēng)雨飄搖之際,Multiflow經(jīng)歷了兩次裁員,很多在公司工作很長時間的人離開了。
更讓人沮喪的是,公司內(nèi)部發(fā)生的存儲芯片被盜、員工離婚事件更加打擊了喬希和整個團隊的士氣。這些問題外界知之甚少,甚至媒體對Multiflow的正面報道有增無減。
就這樣撐到1988年末,Multiflow似乎沒有未來了。他們還是沒有合理的商業(yè)計劃,但又不得不為了公司活下去尋找救命稻草。1989年3月,它和老牌工作站制造商Adage宣布達成協(xié)議,兩家公司打算換股合并,但最終未能成行。1990年3月,DEC宣布終止與Multiflow進行了一年多的合同談判。
沒有現(xiàn)金流,短期內(nèi)也看不到前景,董事會投****決定關(guān)閉公司。在商界摸爬滾打六年后,Multiflow最終退出歷史舞臺。
4 Multiflow失敗了,但VLIW被發(fā)揚光大
任何一個好想法能夠存活下來并且改變世界,既取決于它的技術(shù)優(yōu)勢,也取決于它的成長時機,并且有足夠的好運氣。
Multiflow有足夠前沿的原創(chuàng)技術(shù),但在其成長期,內(nèi)部管理、銷售策略沒有跟上公司迅速發(fā)展的要求,同時,在那個計算機技術(shù)融合的開端,他們沒有跟上整個行業(yè)的變化,微型超級計算機對大多數(shù)科學(xué)計算來說已經(jīng)不是必需的產(chǎn)品,沒有一家微型超級計算機公司在那時存活下來。
但它留下了很多遺產(chǎn)。它曾經(jīng)是很多人的夢想,但它倒閉后,員工們也只能討論其他工作機會,一起創(chuàng)業(yè)的革命友誼讓包括創(chuàng)始人在內(nèi)的大約40人決定繼續(xù)合作,爭取其他公司會將他們打包帶走。當(dāng)時的思維機器、Alliant、英特爾、惠普、克雷和DEC都曾與他們接洽,但沒有一家公司能承諾聘用那么多人,他們還是散落四處。
Multiflow的工作經(jīng)歷也使得曾在此工作的工程師名聲大噪。從這里出去的人遍布整個計算機行業(yè),許多人依然在布道VLIW。
它讓喬希在科學(xué)界收獲贊譽,也讓他在識別人才和組建出色的技術(shù)團隊方面獲得了聲譽。他于1990年加入惠普實驗室,從事PA-WW項目。1994 年,他成立了惠普劍橋?qū)嶒炇遥^續(xù)研究VLIW架構(gòu)和編譯器,并為專用設(shè)備開發(fā)定制處理器,一些處理器現(xiàn)在被用于各種數(shù)字視頻消費產(chǎn)品。
John O 'Donnell創(chuàng)立了Equator Technologies,軟件工程師Ben Cutler和Cindy Collins也加入了該公司,他們繼續(xù)開發(fā)VLIW編譯器,幾年后,又開始制造VLIW芯片。
John Ruttenberg加入了硅谷圖形公司(Silicon Graphics),帶著編譯器的傳統(tǒng),Paul Rodman、Doug Gilmore和Woody Lichenstein也加入了這個公司。Paul Rodman現(xiàn)在Google TPU團隊工作。
Geoff Lowney和Bob Nix去了DEC工作,使用Multiflow編譯器開發(fā)了一個新的架構(gòu)。Geoff Lowney后來成為Intel Senior Fellow。
Bob Colwell和Dave Papworth去了英特爾,后來都成為Intel Fellow。2005年,Bob Colwell獲得了埃克特-毛希利獎(Eckert-Mauchly award),當(dāng)時他已是英特爾奔騰處理器的首席架構(gòu)師。
Multiflow的公共關(guān)系專家Brian Cohen,指導(dǎo)開發(fā)的IBM深藍象棋項目,被評為1998年最佳公共關(guān)系項目。
盡管Multiflow作為一家公司失敗了,VLIW也沒有像喬希所希望的那樣改變科學(xué)計算,但它卻在技術(shù)社區(qū)得到廣泛傳播,尤其在處理器領(lǐng)域被繼承,發(fā)揚光大。
VLIW編譯器經(jīng)常被用作新編譯器開發(fā)的基準目標,后繼者有英特爾的Proton編譯器和NEC Earth Simulator 編譯器等。MIT和華盛頓大學(xué)等是接收和使用這一編譯器用于高級研究目的高校。Multiflow的技術(shù)授權(quán)給了英特爾、AMD、高通、DEC、惠普、富士通、日立和Silicon Graphics等公司。尤其作為嵌入式系統(tǒng)的一部分,VLIW被廣泛應(yīng)用于打印機、智能手機、計算機圖形芯片、有線電視盒、蜂窩****、GPS設(shè)備等產(chǎn)品中。
從一開始很多計算機科學(xué)家認為VLIW技術(shù)不會起作用,到極大推動計算機架構(gòu)的發(fā)展,回頭來看,他們沒有失敗,喬希和Multiflow的技術(shù)遠見和無畏追求為今天的計算機發(fā)展帶來了巨大回報。
主要參考資料
1.Multiflow Computer: A Start-up Odyssey by Elizabeth Fisher
2.https://en.wikipedia.org/wiki/Multiflow
3.https://en.wikipedia.org/wiki/Josh_Fisher
4.https://www.nytimes.com/1989/05/31/business/business-technology-a-new-way-to-speed-computers.html
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。