查看原文
其他

计算机架构史上的一次伟大失败,多数人都不知道

OneFlow社区 InfoQ 2021-12-08

作者 | OneFlow 社区  

来源 | 经授权转载自 OneFlow 公众号 (ID:OneFlowTechnology)

三十年以后,当乔希·费舍尔(Josh Fisher)向妻子回忆起 MultiFlow 创业的奥德赛之旅时,他一定非常怀念那个计算机历史上的“西部大开发”时代,那个各类人才风云际会,拥有各种宏大想法并为之付诸实践的 1980 时代。

那时,计算机领域尚在混沌之初,各种技术路线百家争鸣,拥有新技术的公司不断浮现。很多在一个月前还不存在的公司,每天都在生产配备奇特硬件的奇怪机器,你可以在车库里生产一台计算机,让你的技术变得流行起来,然后赚一桶金。似乎什么事都有可能发生。

其中,有两家创业公司和它们创造的计算机显得格外耀眼。一家是 OneFlow 此前写过的思维机器公司,其生产的连接机器可以同时执行相同的数据处理指令,它后来在科学计算领域取得了巨大成功,向世人展示了创造大型并行计算机的可能性以及全新计算的价值和前景。

另一家则是与思维机器怀揣同样愿景的 Multiflow 公司。它们在 1983、1984 年前后相继成立,不过,不同于连接机器的计算方法,Multiflow Trace 机器的软件使用指令级并行(ILP)的并行形式来加速程序的执行,公司创始合伙人乔希提出的超长指令集架构(VLIW),是基于他在纽约大学读研时发现的跟踪调度(Trace Scheduling)技术而提出,该架构当时最多可发出和计算多达 28 条指令,并且尽可能一次执行完毕,这大大加速了计算速度。

从曾经的六年创业历程里,Multiflow 公司也曾风光无两。他们建造了 VLIW 微型超级计算机 Trace 系列机器并展示了 ILP 技术的实用性,公司筹集了约 6000 万美元的风险投资,巅峰时期拥有 170 名员工,以平均约 35 万美元的价格向全世界出售了约 140 台计算机。

Multiflow 汇集了一大批才华横溢的工程师。拥有该公司背景的工程师中,包括乔希在内有两位获得了计算机架构领域的最高奖项“埃克特 - 莫切利奖(Eckert-Mauchly award)”,还产生了其他领域的三名 Fellow 级人物。很多工程师在各自行业大放异彩。

乔希本人的人生经历足够惊奇。他患有先天性注意缺陷障碍(ADD),使得他在学习、工作时难以集中注意力,但他在计算机领域却有异常天分,在研究相关问题时能出奇地保持专注。他成为耶鲁大学教授,并转型为优秀的企业管理人,最后以惠普高级研究员的身份退休,期间他发表的关于 VLIW 技术的论文后来被评为计算机体系结构大会(ISCA)历史上最具影响力的论文之一。

更重要的是,VLIW 技术启发了众多公司的技术创新。可以说,后来所有公司使用的 VLIW 编译技术绝大部分都是基于 Multiflow 团队的工作,当时没有别的团队研发如此复杂的编译器。早期的超级计算机初创公司 Cydrome 等也做了基于 VLIW 的产品,英特尔 EPIC 架构脱胎于这一技术,它被应用于各种嵌入式处理器中等。尽管仍有争议,VLIW 已成为高性能嵌入式系统中的一股中坚力量。诸如 Habana 等 AI 芯片的底层架构也是 VLIW,一些场景中需要大量的向量计算,适合采用 VLIW 设计多发射处理器。

如今,与那些计算机历史上那些值得被后世铭记的机器一样,Multiflow Trace 计算机也像老古董那样被陈列在加州山景城的计算机博物馆供人观摩。

不过,从 1983 年开始,当乔希四处分享他的创新技术思想时,很长时间内都被学界主流认为不现实。乔希始终憋着一口气,为了证明 VLIW 技术的可行性,他和一群志同道合的伙计打算创业去造出一台新型计算机。在《Multiflow:一个创业公司的奥德赛》一书中,他的妻子 Elizabeth Fisher 详细记述了 Multiflow 的非凡创业史。

1 不被认可的 VLIW  

当乔希还在纽约大学 Courant 学院的计算机科学专业做研究生时,他的导师设计了一台通过最低层的微代码指令控制的计算机仿真器,微代码是并行执行的,但最大的问题是需要手工编写。

他想找到一种从串行执行微码自动创建并行执行微码的方法,也就是说,让计算机获取工程师写的串行代码及其所有分支,并自动将其转换为并行代码。但是,当时没人知道在计算机程序中该如何处理分支代码。

有一天,他突然灵光一闪,意识到如果是手工编码,他不会只看一小段代码,而是会看整个程序。他认为可以编写这样的一套软件:着眼于整个程序,而不是一小部分代码,就像手工编码那样。在查看代码时,程序可以猜测代码最可能会通过的分支路径。

在计算机有了第一条路径后,就可以查看代码并在此过程中找到并行性,如果猜错了,就添加代码进行补充,如此循环同样的过程,直到它查看了所有代码。如果能实现这一点,那将是一个真正的突破,无需费力去手工编码就能自动提高计算机的速度。

这个想法使他大吃一惊。如果这样做了,不仅会让手动并行变得不再必要,而且还会以惊人的速度执行代码。看着一个测试程序的图表,他在计算机寻找并行性的路径上画了一条线,这让他想起了车间调度的方式,所以将这项技术称为“跟踪调度”。

跟踪调度是第一个在占用不同基本块的指令之间找到大量并行性的实用算法,大大提高了指令级并行架构的潜在加速能力。在乔希的博士论文中,他介绍了这种指令级并行性的软件解决方案。

1979 年初,乔希去了耶鲁大学工作,开始和他的学生们致力于实现这一方案,但在这一过程中,他最初的想法也发生了变化。

乔希认识到,跟踪调度应该在工程师的代码被编译(翻译成计算机的指令语言)后使用。跟踪调度需要成为编译器的一部分与程序其余部分交互,以产生想要的加速。因此,他们的研究重点成为为创建跟踪调度编译器。

乔希把跟踪调度看作全新技术领域的一部分,创造了“指令级并行”这个术语,包括通过并行执行操作来加快计算速度的所有努力。

为了实现跟踪调度所设想的性能加速,他需要一种不同类型的计算机,一种在设计之初就考虑到跟踪调度技术的通用计算机。这是一种使用自动生成的代码构建的计算机,同时执行的操作将被集中到“指令字(instruction words)”中,“指令字”越长,可用的并行性越高。

在他入职耶鲁的前两年,与两位华裔科学家发生了有趣的交集。一次是在乔希做耶鲁大学研究生入学招生工作期间:他需要从 20 份来自中国的简历里筛选出一位学生进入耶鲁,其中一份申请书引起了乔希的兴趣,内容描述了从废弃的垃圾场里捡来的真空管组装而成的一台电视机。乔希认为,能在如此艰难的环境下制造出这样的东西,并表现出自豪感,申请人一定很特别,更不用说他的独创性。在乔希的推荐下,耶鲁录取了这位职业曾是建筑工的候选人,他成为世界上第一个“图灵奖”获得者艾伦·佩利斯的最后一届研究生,后来,他成为了普林斯顿大学计算机科学系讲席教授、美国工程院院士,他就是李凯教授。

还有一次,这个年轻的耶鲁大学研究员从卡耐基大学的高级教员孔祥重 (HT Kung) 那里抢走了研究经费。当时他们在一架飞机上聊天,孔觉得乔希是个拥有很有前景的软件技术的年轻人,对他很亲切,但当他们同时到达一场学术资助活动的现场时,前者才意识到这个研究员也要跟他竞争经费,并对他的研究进行了彻底盘问。值得提一下孔祥重教授的一些成就:Google TPU 里面使用的脉动阵列技术;数据库系统广泛使用的乐观锁以及高性能网络里广泛使用的基于信用的流控技术(credit-based flow control)。这些技术在深度学习系统里也有广泛应用。

在耶鲁,他找到了一群专注、热情、渴望学习的学生,他们对编译器和架构课程很感兴趣,在利他主义精神的驱使下设计了诸多实用的系统工具。

在接下来的两年里,乔希和他的研究生 John Ellis, Alex Nicolau 和 John Ruttenberg 编写了 Bulldog 编译器。他的学生在 Bulldog 编译器上的研究成为了他们博士论文的基础,随后,John Ellis 的论文被评选为 ACM 年度最佳计算机科学论文。

1983 年左右,乔希开始公开谈论一种用来运行跟踪调度代码的新型计算机,他称这种风格为超长指令字(VLIW)。VLIW 架构使用一种将普通串行代码压缩成长指令字的新型编译器,使用该架构的机器有望提供比其他技术构建的机器超出 10 到 30 倍的性能。

可是,这种不同以往的计算机设计对很多人来说太奇怪了,很少有其他计算机科学家考虑过这个问题,没什么人愿意听他的研究结果。他们都持怀疑态度,也许从学术角度来看有点意思,但乔希的想法还是有点疯狂,他们的偏见在于,压根不可能建造一台依靠软件而不是硬件来提速的通用计算机。

尽管他试图通过方式各种说服人们,试图让他的同事们接受他的研究,但依然在很长时间内不被学术界认可。反而反对意见却不增多,连他尊敬的人也站起来说乔希的想法行不通或无法实现,他们的潜台词是,如果这种技术是实用的,那早就应该有人做出来了。

乔希很反感这种逻辑,对此感到困惑和失望。他相信 VLIW 架构远远超出了一个学术项目范畴,它有潜力改变所有的科学计算。

随后,他开始转向计算机业界。他认为,为了追求利润,工业界会比固守计算机理论的学界同行对新技术更感兴趣。他计划与工业界接洽将技术推向市场,证明 VLIW 技术的价值。

2
Multiflow 成立,Trace 问世  

1984 年,微型超级计算机的问世让其成为计算机行业中人人都在谈论的热门产品,它能让单个部门的计算能力几乎达到一台超级计算机的水平,价格却不到 100 万美元。

这时,乔希和他的学生 John O 'Donnell 和 John Ruttenberg 成立了 Multiflow 计算机公司,出于市场选择,这些创始人也决定将产品面向微型超级计算机市场。

在乔希的领导下,O 'Donnell 负责硬件工作,Ruttenberg 负责编译工作,他们招募了来自耶鲁大学的约 20 个工程师加入这个初创团队。大多数人开始在这个并不熟悉的领域里摸索前进。

这帮人太聪明了,乔希尊重他们,希望让他们最大程度发挥自己的创造力去决定产品的发展。良好的工作氛围让这帮人充满创业劲头,每个人都工作很长时间,有时通宵达旦,空气中弥漫着热情和乐观的气氛,相信他们将给计算机行业带来革命性变化。

如果只是单纯钻研技术,这里也许是技术人的天堂,但毕竟这是一个创业团队。很快,他们就遇到了创业以来的第一个严峻挑战。

8 月底,由于意向投资方阿波罗(Apollo)公司管理层的调整,阿波罗董事会最终终止了给 Multiflow 的 50 万美元投资。这让他们措手不及,一度好几周发不出工资,还有人因此去了阿波罗公司工作。他们第一次遭遇破产倒闭的风险。

与此同时,由于阿波罗对外散播不利于 Multiflow 的消息,让他们寻求新融资时也遭遇了困难。随后,具有猎头经历的唐·埃克达尔(Don Eckdahl)成为新任 CEO 拯救 Multiflow 于危难之际,由于风投信任有商业运作经验的埃克达尔,提供了 20 万美元的融资。

在埃克达尔担任 CEO 后的最初几年里,公司走在坦途上,逐步变成一个在资本市场备受瞩目的公司。1985 年 2 月,Multiflow 完成了第一轮 700 万美元的融资;1986 年 5 月,融资 1060 万美元;1987 年 5 月,融资 1800 万美元。

随着时间的推移,公司开始变成上百人的团队,Multiflow 聘请了尽可能多的优秀人才加入,到这种体量的公司一般会引入正规的管理流程,但它的管理结构依旧如常,在这种宽松的工作氛围下变得更有凝聚力,具有不同工作风格和强烈个性的人互相信任,没有人表现出特别自负,他们做着有成就感的事,追求完美。

能吸引这么多优秀人才加入,一方面是因为乔希的个人品质给他人留下了深刻的印象,他逻辑强大、聪明、正直,具有相似特质的聪明人会识别、吸引跟他们一样的聪明人加入。另一方面,每个人都希望体验构建新技术的兴奋感,而 Multiflow 正走在这样一条技术路径上。

所有工程师都在一起工作,软硬件工程师互相协商,他们没有循规蹈矩般地遵守传统计算机科学的界限,没有任何领域是讨论和探索的禁区。他们摸着石头雄心勃勃地前进,只为创造不同凡响的计算机。

当乔希发明 VLIW 技术时,他认为硬件是很容易构建的部分,但当他们试图发挥出硬件极限能力时却发现困难重重,且成本高昂,这恰恰也是当前 AI 芯片行业所面临的问题。他们还模仿了在耶鲁大学的 Bulldog 编译器设计出 Multiflow 编译器,期间几乎创建了一个全新的语言,但工作进度却远远落后于计划。

无论如何,1987 年 4 月,Multiflow 发布了第一款 Trace 计算机,从那时起,对 VLIW 技术不起作用的质疑就永远消失了。Cydrome 公司也采用了 VLIW 类型的架构,这是当时唯一一家与 Multiflow 公司采用具有类似方法的微型超级计算机制造商。

Trace 有 7/200、14/200 和 28/200 三种型号,除了政府部门和大学,Multiflow 主要把它卖给惠普、摩托罗拉等制造业公司。1989 年 1 月,Multiflow 推出了 300 系列产品,与 200 系列唯一的变化是浮点计算。

3 资金链断裂,两度裁员后公司倒闭  

1987 年,MultiFlow 经过三轮融资筹集了近 3600 万美元,有一部分销售收入,但对维持公司运转来说并不足够,糟糕的是,资金来源也变得紧张。

那年 10 月,受到全球股市崩溃的影响,风投市场裹紧钱袋子,由于没有盈利,Multiflow 也无法上市去公开市场募资。他们和对 Multiflow 技术感兴趣的微型计算机的市场领导者 DEC 接洽,但谈判并不顺利,况且,即使有 DEC 的投资也不足以让 Multiflow 成为一家财务稳定的公司。

与此同时,计算机行业正在发生变化,计算机硬件变得更便宜,以乔布斯的 NeXT 公司为代表生产的个人电脑可以运行许多科学应用,整个微型超级计算机市场遭受威胁。

危机已至。乔希和另一个创始人 O 'Donnell 认为,Multiflow 定价和销售策略也要做出改变。乔希希望通过降低价格以及去国外销售的方式来纾解困境,但这没有说服 CEO 埃克达尔。

第一次遭遇倒闭危机时,是职业经理人埃克达尔的加入将公司从死亡边缘拉了回来,很长时间内,乔希习惯和他的意见保持一致。但这次,几个合伙人之间产生了激烈争论,再加上销售不景气和对其人才管理的不认可,董事会对埃克达尔失去了信心。

风雨飘摇之际,Multiflow 经历了两次裁员,很多在公司工作很长时间的人离开了。

更让人沮丧的是,公司内部发生的存储芯片被盗、员工离婚事件更加打击了乔希和整个团队的士气。这些问题外界知之甚少,甚至媒体对 Multiflow 的正面报道有增无减。

就这样撑到 1988 年末,Multiflow 似乎没有未来了。他们还是没有合理的商业计划,但又不得不为了公司活下去寻找救命稻草。1989 年 3 月,它和老牌工作站制造商 Adage 宣布达成协议,两家公司打算换股合并,但最终未能成行。1990 年 3 月,DEC 宣布终止与 Multiflow 进行了一年多的合同谈判。

没有现金流,短期内也看不到前景,董事会投票决定关闭公司。在商界摸爬滚打六年后,Multiflow 最终退出历史舞台。

4 Multiflow 失败了,但 VLIW 被发扬光大  

任何一个好想法能够存活下来并且改变世界,既取决于它的技术优势,也取决于它的成长时机,并且有足够的好运气。

Multiflow 有足够前沿的原创技术,但在其成长期,内部管理、销售策略没有跟上公司迅速发展的要求,同时,在那个计算机技术融合的开端,他们没有跟上整个行业的变化,微型超级计算机对大多数科学计算来说已经不是必需的产品,没有一家微型超级计算机公司在那时存活下来。

但它留下了很多遗产。它曾经是很多人的梦想,但它倒闭后,员工们也只能讨论其他工作机会,一起创业的革命友谊让包括创始人在内的大约 40 人决定继续合作,争取其他公司会将他们打包带走。当时的思维机器、Alliant、英特尔、惠普、克雷和 DEC 都曾与他们接洽,但没有一家公司能承诺聘用那么多人,他们还是散落四处。

Multiflow 的工作经历也使得曾在此工作的工程师名声大噪。从这里出去的人遍布整个计算机行业,许多人依然在布道 VLIW。

它让乔希在科学界收获赞誉,也让他在识别人才和组建出色的技术团队方面获得了声誉。他于 1990 年加入惠普实验室,从事 PA-WW 项目。1994 年,他成立了惠普剑桥实验室,继续研究 VLIW 架构和编译器,并为专用设备开发定制处理器,一些处理器现在被用于各种数字视频消费产品。

John O 'Donnell 创立了 Equator Technologies,软件工程师 Ben Cutler 和 Cindy Collins 也加入了该公司,他们继续开发 VLIW 编译器,几年后,又开始制造 VLIW 芯片。

John Ruttenberg 加入了硅谷图形公司 (Silicon Graphics),带着编译器的传统,Paul Rodman、Doug Gilmore 和 Woody Lichenstein 也加入了这个公司。Paul Rodman 现在 Google TPU 团队工作。

Geoff Lowney 和 Bob Nix 去了 DEC 工作,使用 Multiflow 编译器开发了一个新的架构。Geoff Lowney 后来成为 Intel Senior Fellow。

Bob Colwell 和 Dave Papworth 去了英特尔,后来都成为 Intel Fellow。2005 年,Bob Colwell 获得了埃克特 - 毛希利奖 (Eckert-Mauchly award),当时他已是英特尔奔腾处理器的首席架构师。

Multiflow 的公共关系专家 Brian Cohen,指导开发的 IBM 深蓝象棋项目,被评为 1998 年最佳公共关系项目。

尽管 Multiflow 作为一家公司失败了,VLIW 也没有像乔希所希望的那样改变科学计算,但它却在技术社区得到广泛传播,尤其在处理器领域被继承,发扬光大。

VLIW 编译器经常被用作新编译器开发的基准目标,后继者有英特尔的 Proton 编译器和 NEC Earth Simulator 编译器等。MIT 和华盛顿大学等是接收和使用这一编译器用于高级研究目的高校。Multiflow 的技术授权给了英特尔、AMD、高通、DEC、惠普、富士通、日立和 Silicon Graphics 等公司。尤其作为嵌入式系统的一部分,VLIW 被广泛应用于打印机、智能手机、计算机图形芯片、有线电视盒、蜂窝基站、GPS 设备等产品中。

从一开始很多计算机科学家认为 VLIW 技术不会起作用,到极大推动计算机架构的发展,回头来看,他们没有失败,乔希和 Multiflow 的技术远见和无畏追求为今天的计算机发展带来了巨大回报。

主要参考资料

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

今日好文推荐

滴滴启动美股退市;阿里股价跌回2017年;Linus吐槽桌面版Linux:乱改核心,程序兼容性太糟糕 | Q资讯

这个重要开源项目全靠一位低调的“怪老头”维护!他和比尔盖茨一样撑起了计算机世界

独家专访腾讯云CTO王慧星:云技术变革上下二十年

数据中台与湖仓一体能碰出怎样的火花?网易数帆实时数据湖Arctic的新探索



 活动推荐

在新的软件模式下,拥抱 DevOps 已成为各企业实现降本增效的一大举措。然而,DevOps 转型涉及的工具、流程、团队数量众多以及类型各异也让这场交付模式的转变过程变得不易。因此,12 月 9 日晚 8 点 ,JFrog Webinar 课程,将为你带来 JFrog CLI 助力企业建设方便、快捷的 DevOps 流程。扫描图片二维码或点击阅读原文立刻报名,观看直播。

点个在看少个 bug 👇

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存