计算机史最疯狂一幕:豪赌50亿美元,“蓝色巨人”奋身一跃
扫描二维码
随时随地手机看文章
来源 | OneFlow社区“Go big or go home. ”是美国人的一句习语,经常会在赛场上听到,NBA球迷应该很熟悉,翻译过来就是“要不变强大,要不滚回家”。在1960年初期的计算机行业,IBM正站在这样一个十字路口。
新机器的野心
- 需要一个单一的、兼容的机器系列,涵盖现有最小内存的机器,例如可能低于1401到功能最强大的7094型机器。事实上,报告对兼容性的范围表达了质疑。
- 新机型的目标不应该仅仅是取代1401或7000系列,而是要开辟一个全新的计算机应用领域。当时,这些机型和新产品线之间的兼容性并不被认为是最重要的,因为新机器出现的最初时间表已经被延长了好几年。
- System/360必须同时具有商业和科学应用。这是一个艰巨的双重任务,因为商业机器可以接收大量的数据,但却没有多少处理能力,而科学机器只能处理相对较少的数据。为了达到这一目的,他们决定新生产线上的每台机器都将配备不同大小的内存。此外,新机器将提供各种最新技术特性,如“浮点计算”、“可变字长”和“十进制指令集”,以处理科学和商业任务。
- 信息输入和输出设备以及所有其他外设必须有“标准接口”,以便各种类型和大小的外设连接到主计算机。这也成为新生产线的一个重要特征。
摸着石头过河
在360的方案确定后,IBM管理层任命了这一项目的相关负责人。主管设计工程的总负责人正是29岁的布鲁克斯,在这之前,他担任IBM的Harvest和世界上第一台流水线计算机STRETCH的体系结构设计师。
布鲁克斯负责协调4个小组的工作,其中3个小组都由金·阿姆达尔(Gene Amdahl)领导,IBM的最后一种电子管计算机IBM 709就出自他手,此外,他还担任过第一台全晶体管计算机IBM 7030的设计师。
他们就360系统技术问题进行了多次商讨,最终决定实现“兼容性”这一全新思路:尽管360系列在型号上会有区别,但它们都必须能够用相同的方式处理相同的指令,具有相同的软件,配置相同的磁盘机、打印机等外设,而且能够相互连接在一起工作,此外在更换新机器时不用再更换外设。
正式动工后,他们会发现,360项目的推进远比他们想象的要艰难,除了解决技术难题,他们还面临人员协调、资源调动等难题。但开弓已没有回头箭。
每一个难题都让小沃森夜不能寐。在回忆录里,他提到了两大风险:首先是要协调来自欧美等地不同的工程团队,他们同时在研发六种新计算机和各类外设,但最终要将所有硬件都联结起来。
为了推进System/360的研发,利尔森采用了一种“摩擦式互动(abrasive interaction)”的管理手法,把小型机团队的顶尖工程师提拔成为大型机部门中最优秀开发团队的负责人,迫使IBM内部不同的工程团队通力合作。
其次,IBM决定自己为这个新系统制造相应的电子部件,这是条烧钱路线。他们必须自己制造集成电路,因为买不到现成的芯片。不过,新建一个集成电路制造厂,对生产环境要求极为苛刻,成本超过普通厂房的四、 五倍。
更大的挑战在于编写可能是一个百万级代码的操作系统,没有工程师参与过这么庞杂的编程重任,而后投入的人力资源更是远超预判。
就在他们如火如荼研发360机型时,1963年年底,IBM的旧生产线开始抵挡不住竞争对手的攻势。为了提早拖住用户转向的势头,他们必须尽快让外界知道360产品的存在。1964年4月7日,在老沃森创建IBM的50周年之际,他们分别在美国63个城市和14个国家举办了有近万人参加的新闻发布会,向全世界昭告IBM System/360的诞生。小沃森称“这是该公司史上最重要的新产品”。
他们向外界展示了由六台兼容机器组成的系列System/360 30、40、50、60、62和70,它们的体系结构完全一样,只是性能上不同,相邻两档机器的计算速度之差别约为3至5倍,最高运算速度可达每秒100万次。另外,他们还发布了44种外设,包括磁带驱动器、磁盘驱动器、打印机等,承诺会提供使一切协同运行所必需的软件。不过,他们那天抄了一个捷径,当天展示的设备并非都是真实的,有些展品只是木制的模型。
由于发布的许多新概念和最新技术,System/360在外界的反响非常热烈。作为一种多用途产品,System/360多达248个数据传输终端可以与计算机进行通信,即使计算机忙于批处理作业。它不仅能够处理小型二进制、十进制或浮点计算,还可以处理科学或商业工作。
最突出的核心功能当然是兼容性。它可以让庞大的数据中心安装一台小型360计算机,然后升级到更庞大的计算机,而无需重写软件或更换外设。同时,一旦工程师熟悉了这一新系统,就不必再学习更多新知识来做升级。
IBM还为360项目构建了自己的固态逻辑技术,密度是当时技术的10 倍,可靠性是100倍。它还制造了从电路到内存、存储、打印机和屏幕的所有即插即用的组件,处理器和存储器都安装在一个名为“主机”的金属机柜。此外,它还将设计与构建分开,因此可以复制系统。System/360的制造成本也进一步降低,并且易于定制以满足相对广泛的客户场景。
但是,System/360的长征只走了一半,发布会的成功并不意味着项目已经成功。
3
豪赌50亿美元
4月宣布新产品后,IBM进入规模化生产时期,实际上,这是其历史上最危险的时刻。
发布会后的一个月,来自全球客户的360订单超过100000台,而同年在英国、西欧、美国和日本安装的各类计算机总共也就20000多台。IBM承诺1965年第三季度交付首批小型计算机,1966年第一季度交付大型计算机。
与此同时,360项目的投入不断加注到让人咋舌。通过粗略估算,他们将为System/360的研发投入50亿美元,其中研制经费5亿,生产设备投资10亿,推销和租赁垫支35亿。要知道,美国研制第一颗原子弹的“曼哈顿工程”也才用了20亿美元。这笔费用是IBM在1962年营收的两倍,他们还雇用了7万多名新员工。
IBM为自己争取了两年时间来生产机器,如果不能按时交付就会功亏一篑。
当然,生产问题无可避免。巨大的订单数量严重影响了生产质量,存储器磁芯的制造难度,再加上不少机器因为电子电路不完整严重延误了交付工期。同时,随着制造活动在全球展开来,由于小沃森的弟弟Arthur K. Watson管理不足,协调活动和制造机器方面由此衍生出各种问题,他忍痛将弟弟调整到其他部门,但这也伤害了弟弟的自尊,多年以后,小沃森都觉得很是内疚。
软件问题同样阻碍了System/360的生产。即便在今天,很多项目的上万行代码都是一团糟,更不用说这个百万级代码量的操作系统,让360操作系统一次运行多项任务还要确保高效性并非易事。同时,应用程序和编程支持等也是令人头疼的顽疾。
漏洞百出的重重压力之下,1964年10月,IBM宣布产品交付严重延误。
在360系统上,他们新增了1000名工程师来追赶工期,这使得IBM在软件方面的投入比硬件还多,不过投入更多的工程师参与项目基本于事无补。基于360系统的实践经验,布鲁克斯在1975年出版的《人月神话》一书中给出了他的见解:生孩子需要经过十月怀胎,不管把这个任务交给几个女人完成都一样。
很多人每周工作近100小时,到处都是焦虑的灰暗气息。一次,当小沃森去视察工作进展时,不认识他的工程师大吼着让他滚出去,不要影响他们工作,小沃森灰溜溜地离开了。有些经理和工程师由于难以承受诸多压力而选择辞职。
好在,他们在五个月内奇迹般地解决了很多问题,产品得以如期交付,尽管新交付的360机器的质量还是有部件短缺、程序bug等诸多缺陷,几乎每个早期客户都会遇到一些问题。
IBM的同行也对其新产品线做出了回应。GE、霍尼韦尔、NCR等抱团推出了与对方机器兼容的系统,除了没有兼容IBM的机器。一些小规模的公司决定制造与IBM兼容的机器,包括RCA以及欧洲和日本的其他公司。
即便如此,System/360的历史性创新使它遥遥领先于竞争对手。1966年底,他们建造和安装了大约8000台360机器,IBM的收入几乎翻了一番,达到40亿美元左右,税前净利润达到10亿美元,而到1970年又几乎翻了一番,达到70亿美元,员工人数从360项目之前的120000人增加到269000人。
到1970年代时,IBM占据了全球大型机市场70%的份额,其中催生出很多现代化应用的初代模型,包括银行ATM交易系统、航空业在线票务服务,期间帮助NASA运行了阿波罗太空计划。在360推出25年后的1989 年,基于其架构及扩展设备的产品收入占据IBM总营收的一半以上,每台计算机价格超过10万美元。
50亿美元的孤注一掷最终为IBM带来了巨额回报。
4
划时代的杰作
IBM System/360的出现无疑是一个划时代杰作。它让大型机行业改头换面,极大推动了未来计算机行业的变革——即便他们一开始只是出于提升自身商业竞争力的目的。
它帮助IBM击退了市场上各大竞争对手,得以在20世纪80年代前一直稳居计算机行业的主导地位。这背后主要是因为System/360的技术创新推动了市场对计算的整体需求,消除了计算机技术的诸多谜团,使得更多工程师在该机器上运行软件。
值得一提的是,基于VLIW这种颠覆性的单一原创技术去制造新型计算机,System/360的成功更多是组合了当时的诸多新想法和新技术,最终产生了巨大的聚变效应。
他们以市场需求为导向,按近10年技术发展的预测去实现产品。比如,System/360必须提供的新功能:大内存、远程通信和处理、交互式模式、多用户环境。他们还提出通用性和计算机家族等革命性概念。为了解决这些问题,在技术实现上他们尽量采用最新技术,比如超大主存储器、固体逻辑技术(混合集成电路)、中断处理、优先级,用微编程实现复杂指令等。
这一切的核心在于OS/360操作系统,这个最终花费了5亿美元的系统成为计算机行业事实上的标准,更为后来的大型软件研发留下了宝贵经验。System/360的代码量从一百万行最终增长到了一千万行。
尤其兼容性思想是一个伟大的观念革新。它第一次实现了兼容多款机型,在一定程度上解决了用户在升级计算时遇到的重编程问题。这套新系统提升了新功能的价值,并使IBM能以相对较低的成本生产新机器。在它之后,他们很快就生产出与其兼容的IBM 370,运算速度最快的370/168机型可达到每秒250万次。
System/360还有其他一系列技术创新。软件工程的必读“圣经”《人月神话》第五章“画蛇添足”中提到了动态链接库、运行时快照和调试等开创性工作。此外,IBM将其数据格式由当时最流行的6位字节转变成了现在所用的8位字节,使System/360满足各种计算处理的需求。而它所推出的固态逻辑技术是集成电路的先驱,使得机器比当时的竞争产品更快、体积更小。
当然,System/360的优势后来也成为它的弱点,由于它采用同一种体系结构的计算机家族,所以一旦竞争对手发现其体系结构的缺陷,就可以打击IBM的全线产品。但这是另一个故事了。
Vincent Learson, Bob Evans, Frederick Brooks, Erich BIoch, Gene Amdahl
更重要的是,小沃森、利尔森的强大魄力和冒险精神使这一切变成可能,后来参与设计System/360的关键人物也获得了极高荣誉。
作为System/360和相关项目背后的主要驱动力,利尔森随后接班小沃森成为IBM总裁。凭借在此项目中的杰出贡献,负责兼容性目标和整个System/360事业的工作组组长伊万斯由于升任IBM技术副总裁,并且与工作组成员布鲁克斯被并称为“IBM/360之父”,1985年,他们还与架构经理艾里奇·布洛赫(Erich BIoch)一起获得了美国国家技术奖。
布鲁克斯提出许多现代计算机体系结构新概念,比如“计算机架构”一词,他还发现了软件开发的“布鲁克斯定律”,他曾提出程序中断系统理念,这启发了世界上首个交互式多道程序操作系统的设计,让用户在击键时就能看到屏幕显示,而计算机运行却不会产生混乱。1999年,他获得了图灵奖,以表彰其“对计算机体系结构、操作系统和软件工程作出了里程碑式的贡献”。
工作组成员阿姆达尔发明了计算机体系结构理论中的“阿姆达尔定律”,即并行计算的能力受限于串行指令。他在1969成为IBM Fellow,但在1970年被IBM否决掉开发巨型机计划后,他连续创办了阿姆达尔公司、三部曲公司、CDS等五家计算机公司。
布洛赫主要负责固态逻辑技术的研发,为System/360提供卓越的功率、速度和内存,所有这些都成为了计算的基础。他在IBM工作了32年,期间还开发了STRETCH超级计算机系统,曾被任命为IBM数据系统部门的副总裁。
System/360之后,再也没有出现将如此量级的投入押注到一款产品系列的案例。甚至,小沃森制定了一项政策:“永不宣布将超过25%以上的产能专门投入于其中的新技术。”
如今,它所带来的技术创新和对计算机产业的影响,至今还在发挥巨大作用。可以想象,如果没有IBM System/360,计算机的大众化将严重滞后,PC信息时代的繁荣也将无从谈起。