数据处理的新时代
这个宣传短片描绘了 System/360 的革新能力。 最 重要的是,S/360 开创了计算机兼容性的时代—有史以来第一次允许产品线中以及其它公司的各个产品型号协同运行。事实上,它标志着新兴的信息科学领域以及对复杂系统的理解的 转折点。在 System/360 出现后,我们不再谈论利用“计算机”实现特定任务的自动化。如今,我们谈论的话题是通过“计算机系统”管理复杂的流程。 然而,当时远未出现 明确的成功迹象。Thomas Watson Jr. 决定投资 50亿美元,逐步淘汰现有的产品线,这是一个非同寻常的“商业赌注”—与技术的变化同样重要的是,这一决策也来自 Watson 希望证明自己能够延续其父辉煌的决心,即具有传奇色彩的 IBM 公司创始人 Thomas Watson Sr.。在 IBM,S/360 项目引发了技术和业务创新、内部冲突和数千名 IBM 员工自我反思的特殊阶段。当 S/360 在 1964年 4月 7日宣布推出后,它不仅永远改变了计算行业,同样改变了 IBM。按 Watson Jr. 的话说,公司认识到“IBM 无所不能。” S/360 用一个严格兼容的产品家族替代了五个 IBM 计算机产品线,该产品家族采用新的架构,是目前仍在每台计算机中使用的八位字节的先驱者。这一产品的发布标志着创新的概念和前所未有的范围。该产品共有六 个处理器型号,涵盖的性能范围提高了 50倍,并且涵盖 54种不同的外围设备。这些设备包括多种类型的磁存储设备、显示设备、通信设备、读卡器和打孔卡、打印机以及光字符阅读器。 订购量很快超出了预期。在产品发布后的前四个星期内,共收到了超过一千个订单。而在接下来四个月内,订单量又增加了一千。 System/360 的发布改变了客户对计算机硬件的认识。企业有史以来第一次能够购买一个小型系统,然后随着业务的发展而添加组件。除 IBM 之外的企业都发现,它们能够将外围设备与 S/360 结合使用。很快,一个全新的行业逐步形成,其中包括制造和提供即插即兼容型外围产品的企业(这种现象在 IBM 20年后允许克隆 PC 的决定引发个人电脑行业发展时得到了反映)。在 Telex 于 1967年推出磁带驱动器和 Memorex 于 1968年推出磁盘存储器的引领下,这个行业的得到了长足的发展。1972年,苏联和东欧同盟宣布开始生产兼容 System/360 的 Ryad 计算机。 在IBM System/360 宣布推出 25年后的 1989年,基于 S/360 架构的产品及其扩展产品占 IBM 总收入的一半以上。这些产品也占全球所有公司价值 2600亿美元的计算机存货量的一半以上,而且每台计算机的价格都超过 100,000美元。 IBM® System/360 的影响涉及全球。该机器不仅处理数百个不同行业的工作负载,而且无论用在任何地方,都引发创新。它使银行能够实时地在线完成交易;指导人类登上月球;而且 起创新的模拟能力允许新主机运行早期系统的程序。在发布后,IBM System/360成为世界上最先进、最强大、最受追捧的计算系统。
IBM System/360 在 NASA
System/360 75型号在位于德克萨斯州休斯顿的 NASA 载人航天器中心处理来自 240,000英里之外的月球的首次登月数据。它是 NASAS 用于完成“阿波罗 11号”任务的五台 System/360 机器之一,而且它在后来还用于计算航天员 Neil Armstrong 和 Edwin “Buzz” Aldrin 返回地球所需要的发射数据。IBM System/360 在日本
在日本的东海银行,所有操作都手工完成,这迫使员工使用算盘进行计算,经常在深夜才能完成工作。System/360 的到来使公司抛弃了算盘,这样,员工就能有更多时间陪伴家人,从而大大激发了士气。同时,在更短时间内可以完成更多的工作,客户满意度显著提高。
IBM System/360 外设
标准接口使银行能够轻松地将外设产品与 System/360 处理器连接。第三方供应商和制造商很快推出了即插即用型的外设产品。在 System/360 等产品的帮助下,大型和小型企业蓬勃发展。IBM System/360 和福特汽车公司
“[计 算机规划与控制经理] Arthur Nesse 说:‘我们已经在旧系统上做了大量工作。但 360 显著改进了我们的工作范围和能力。我们有史以来第一次能够在单个操作系统上管理业务的各个方面。’借助新的 360 系统,福特公司推出了中央保修系统,并为福特汽车信贷部门提供了零售贷款系统 — 还有很多。” IBM® System/360 永远改变了 IT 行业,而且改变了世界上每天能够完成多少工作。
二进制加法
通过将各个电路集合在一起,System/360 能够计算 1 加 1 这样的基本二进制加法。
数据格式
一个数据格式阵列用在 System/360 代码中。
SLT 电路
可以看到,SLT 电路安装在 1/2英寸大小的方形陶瓷组件上,比前一代晶体管技术的密度更大、速度更快,而且功耗更低。 01/03 IBM System/360 对计算行业最突出的贡献是其对兼容性的承诺。它是第一个允许业务数据处理操作从规模最小的机器扩展到最大型机器的产品家族,无需因重新编写关键程序而支付高昂费用。 这一构想不仅涉及范围广泛,而且极为精确。为最少数家族编写的代码必须能够向上兼容家族中的每个更大的处理器。各个产品家族的打印机、通信设备、存储器和输入输出设备等外设也必须兼容。 机 器的标准输入输出接口使客户能够根据特定的需求定制系统。代替普遍使用的 6位标准的 8位字节使得业务信息处理和科研数据处理更加简单。为业务目的和科研目的分别配置机器的时代已经一去不返。System/360 可以处理逻辑指令和三种算法指令:固定点二进制、固定点小数和浮点小数。 1964年 4月推出的六个型号的性能范围大约是 25 比 1,最大型号比最小型号的性能高大约 25倍。最小型号每秒可以执行 33,000次加法运算;而最大型号每秒可以执行超过 750,000次加法运算、6年后,在随着更多型号的推出,性能范围扩展到 200 比 1。 当时,包括 IBM 在内,没有任何一家企业为兼容的处理器家族编写过操作软件。IBM 严重依赖其核心逻辑模块,即具有突破意义的固态逻辑技术 (SLT)。通过利用一个叫做超微型化的处理器,SLT 的密度比当时普遍采用的技术高10倍,而可靠性提高 100倍。 如 果软件大小的基本测量单位是生成的代码行数,则 System/360 比同时代的产品领先几光年。IBM 650 Magnetic Drum Calculator 有 10,000行代码,而当时流行的 IBM 1401 的代码有 100,000行。与此相比,System/360 最初有 1,000,000行代码,而最后增加到 10,000,000行。 尽管计算机在过去 25年中的发展速度令人吃惊,但 System/360 包含的基本技术概念仍是通用计算机行业骨干的组成部分。IBM 推出的 System/360 真正标志着现代计算时代的来临。 随着销量的攀升,以及与数千个行业的连接,IBM® System/360 计算机很快成为 20世纪 60年代以后全世界流行文化中常见的一部分。
IBM System/360 徽标
IBM System/360 徽标的设计表达了兼容概念—主机硬件完全可以互换,而编程能够在一台机器上处理所有类型的应用程序。
IBM System/360 “All Business” 广告
这个 1964 的广告是在 System/360 发布后的几个月内播出的,内容着重介绍了系统以小型企业能够承受的价格完成最大的数据处理任务的能力。
虚拟世界中的 IBM System/360
System/360 针对广受欢迎的多角色在线 (MMO) 游戏《Second Life》进行了二次创建。IBM System/360 的多种颜色
IBM System/360 并不仅仅是一个优秀的集成化计算机主机;它也同样充满时尚感。它有五种标准颜色,而位于新西兰的 ASB Bank 数据中心订购了定制的黄色。
IBM System/360 大型机 (1964)
60年代初,IBM重金押宝360系统并大获成功,一举确立了市场上的统治地位。几乎没有什么能像IBM System/360那样长寿,有些360甚至至今仍在运行。 在 2004年360的40岁生日上,当年领导机器开发的Fred Brooks将成功归功于OS/360——“第一个7x24的操作系统。”360及其后续的370主宰了大型机市场,以至于IBM和它的竞争对手被戏称为 “IBM和七个小矮人”(Burroughs、Control Data、General Electric、Honeywell、NCR、RCA和UNIVAC)。
KEYPUNCH CARD
System/360 Model 65 的操作台,其中有register value 指示灯、调节开关(中间)与紧急红色开关(右上方)
如果买了一台新电脑,结果旧电脑上的一切文件都无用了,打印机也不管用了,它们之间互不兼容,你需要重写程序,你肯定快要发疯了吧。不过别担心,那是IBM在1964年推出System/360之前才会发生的事情。
一些人士认为,System/360是历史上最大的商业豪赌。当时正值IBM巅峰之际,首席执行官托马斯·沃森却将整个公司的命运压在计算兼容性这个概 念上。为了研发System/360计算机,IBM雇佣了6万多名新员工,建立了5座新工厂,投入了50亿美元。终于在1964年System/360诞 生了,历史上第一次,世界上的电脑有了一种共同的语言。由此引发了计算机和商业领域里的一场革命,并永远地改变了世界。
“IBM 360”的故事
成功是失败之母。 华森知道在这些表面繁荣下面的危险真象:就在电脑的市场需求日益增长时,IBM却停滞不前。尽管公司营业额还在以20%的速率增长,利润额却不断下降,近 年来一直在10%左右徘徊。营业额的增长也注定会减缓,因为竞争厂家正在不断推出性能价格比更好的计算机系统,夺走IBM的市场份额。 在1960年,IBM的销售目录中共有八款晶体管电脑和一些真空管电脑,另外还有六款晶体管电脑正在开发中。这些电脑互不相干,它们使用不同的内部结构、 处理器、程序设计软件和外部设备,功能和性能也不同。这不只是IBM一家的现象,而是1960年计算机界的普遍现象。 华森想起用户的抱怨。如果用户的业务发展了,势必需要换一台更强大的电脑。但这是件很麻烦的事,不仅需要更换电脑本身,还需要更换外部设备,重新编写程 序。这既费时又费钱。很多用户对IBM强迫他们不断改写程序提出抗议,因为他们把时间都浪费在这些低水平的重复劳动上了。尤其麻烦的是,当时大部分应用程 序都是用汇编语言写的,移植起来工作量很大。 更让用户愤怒的是,好不容易把程序移植到了一台更昂贵、速度快一倍的IBM电脑上,但实际速度并没有增加一倍,却只增加了10%!用户的各种优化都不起作 用。IBM内部知道这是怎么一回事,因为技术人员还没有来得及将外部设备优化,匹配这种高速电脑,用户还必须再等上半年。 华森又想起生产部门的抱怨。由于这些不同的机型需要不同的零部件,生产人员不得不疲于奔命,制造很多种小批量的零部件产品。仅库存管理和质量控制就耗费了大量精力和成本。 技术人员的士气也受到影响。大部分工程师都在做低水平的重复劳动。比如一台磁带机设计出来后,技术人员必须做大量改造工作。而这些改造工作没有任何创新或技术增值,只是要把同一台磁带机与各种机型匹配。再没有比低水平的重复劳动更能打击技术人员的了。 市场部门也在报警。这么多机型,互相争夺市场,但在技术上又互不相容,很不利于IBM的统一的市场形象和市场推广工作。
IBM有一流的销售队伍、一流的技术人员,为什么陷入了今天的危机?IBM一直鼓励创新。为了促进新产品的开发,公司特意将电脑业务分成两个事业部,鼓励 它们竞争。另外, IBM还特意组建了分布在欧美的几个研究所和开发中心,其宗旨就是开发新技术和新产品。为什么并没有市场上能占绝对优势的产品出现?尤其危险的是,这样的 产品IBM的规划中也还没有。 毫无疑问,公司的研究开发落后了。但这只是现象,根本的原因是什么?难道是公司的管理层迷失了方向,看不清远景?IBM今后几年要做什么? 华森知道,IBM的最大优势在于整体系统、全局优化的能力。公司无论在研究开发、生产、市场、销售各个方面都有丰富而杰出的人才和资源。只要管理层给员工 指明正确的方向,并组织好核心队伍,IBM常常能在全公司凝聚出巨大的能量,迅速推出主导市场的产品。这种全局优化的能力是其他厂家不具备的。但目前公司 的部门各自为政,在与其他厂商竞争之外还要互相竞争。 什么是正确的业务方向呢?华森只有问题,没有答案。但他知道能找出答案的人。他找来负责开发和生产的副总裁文森.·利尔森,命令他尽快找出答案。华森从市 场部门知道,IBM的现有产品还能在市场上挣扎两年左右,因此必须在两年之内推出增值很高的新产品,重振IBM雄风。他授权利尔森可以 ·获取全公司的所有信息 ·动用全公司的所有资源 小托马斯·华森当时肯定没有想到,他的决定对电脑界此后四十年的历史会产生革命性的影响,至今未衰。 利尔森受命后做的第一件事是全面调查IBM公司研究开发、生产和市场的现状。1961年5月,调查结果回来了。 坏消息是,全公司所有部门正在开发的产品中,没有任何一个能解决华森的问题。 好消息是,有一部分技术人员,尤其是一些研究人员和大型电脑的开发骨干提出了一种“计算机家族”的概念,可以解决华森的问题。但是,这是一种全新的、革命 性的概念,从来没有人尝试过。这些技术人员对计算机家族的可行性,心里完全没有底。但他们知道,要在1962年完成计算机家族的开发是不可能的,最起码也 要到1964年。 利尔森采取了两个措施,第一,命令电脑事业部调整规划,将现有产品的销售寿命延长到1964年。第二,命令他的核心队伍将“计算机家族”的研究作为第一优先。 到了1961年10月,他的核心队伍仍然对可行性没有一致意见,但认为可行的意见占了上风。利尔森感到必须采取更果断的措施。他从核心队伍中抽出十三名研 究人员、技术主管和市场主管,组成了一个特别工作组,限令他们在年底以前必须提出一个计算机家族的总体方案。为了让工作组全力投入,他把工作组全体人员集 中到康州的一个旅馆,不拿出方案就别回家。 1961年12月28日,经过工作组两个月的紧张工作,一份题目很不起眼的文档《处理机产品―SPREAD工作组的最后报告》诞生了。这也就是后来赫赫有名的IBM S/360计算机系统的总体方案。 工作组的成员后来领导了S/360系统的设计和工程实施工作。他们中的一些人对计算机技术后来的发展继续发挥重大的影响。工作组组长鲍伯·伊万斯(Bob Evans)后来成了IBM负责技术的副总裁。工作组成员金·阿姆达尔(Gene Amdahl)是计算机体系结构理论中“阿姆达尔定律”的发明者。工作组成员弗利德利克·布鲁克斯(Frederick Brooks)则发现了软件开发的“布鲁克斯定律”。 无论从哪个角度看,S/360计算机的总体方案都是一个令人惊叹的作品。凡是要设计电脑硬件或软件的读者,尤其是需要撰写产品定义报告的技术或市场人 员,都会从中受益。由于它对计算机发展的深远影响,这份文件已载入史册。感兴趣的读者可在《计算机历史年鉴》杂志(IEEE Annals of the History of Computing, Vol. 5, No. 1, 1983)查到,也可通过互联网址china.computer.org下载浏览。 该报告有如下特点:第一,文字和组织结构非常精炼、简洁,同时又很准确和全面,在20页的篇幅中包含了丰富的内容。不仅技术人员,管理人员和市场人员也很容易看懂。这份报告与我们现在常常看到的那种洋洋洒洒、废话连篇、漏洞百出的产品报告形成鲜明的对比。 第二,该报告是面向市场和技术创新的优美结合。它完成了四个目标:定义一个全新的计算机产品线;制定该产品线的设计、工程实施、程序设计工作中必须遵守的几十条规则;制定新产品的推出计划,尤其是推出时间;提出管理和监控机制,以保证方案的实施。 这种新计算机产品后来取名叫IBM System/360(IBM S/360系统)。之所以叫360,有两种传说,都是指谓一代通用计算机。一种说法是该系统有360种用途,另一种说法是 这个系统就像一个360度的圆周,涵盖所有应用。以前的IBM计算机,一小部分机种支持科学计算类应用,大部分机种则专用于商业应用。而S/360的总体 方案则指明要同时支持科学计算、商业应用和信息处理。IBM的野心是用S/360取代市面上的所有计算机,包括IBM自己的八款系统。 除了通用性外,S/360的最大特点是“计算机家族”概念。该家族所有的计算机系统都有相同的“体系结构”,即从汇编语言和外部设备的角度看,这些家族成员都是一样的,技术术语叫它们相互兼容。 兼容性意味着所有家族成员都有同样标准的指令系统、地址格式、数据格式和与外部设备的接口。这样,当用户从一台计算机升级或降级到另一台时,应用程序和外 部设备不用做任何改动,运算环境完全一样,只是性能和价钱可能不同。IBM的技术人员也用不着为每台机器开发专用的系统软件和外部设备。 为了适应不同用户的性能价格比需求,S/360的第一批计算机产品推出了五档机器。它们的体系结构完全一样,只是性能上有较大差异,相邻两档机器的计算速 度之差别约为3至5倍。用“A是否大于B”这种比较运算作为基准测试程序,则这五档机器的运算时间分别是200微秒、75微秒、25微秒、5微秒和1微 秒。也就是说,S/360的运算速度最高可达每秒100万次。 总体方案的另一个特点是将体系结构的定义和实现分开,让技术人员以后有充分的创新空间,在设计和工程实施中发挥他们的聪明才智。工作组有意将规则分为三 类。第一类是诸如地址格式和数据格式这样事关全局的重要内容,工作组做了强硬明确的规定。第二类是不必要在总体方案中细化的,工作组做了较笼统但可检查的 规定。第三类是鼓励性规则,技术人员可以在一定条件下违反这些规定。比如,工作组希望所有产品都使用一种名为“微程序”的新技术,但如果技术人员能用别的 方法实现同样功能,且能证明该方法比微程序的性能价格比高出33%以上,也可以不用微程序。 总体方案是如何鼓励创新的呢? 首先,工作组要解决的一个崭新的问题,即“设计一代具有竞争力的电脑,改变目前多个互不兼容的产品线所带来的软件移植、市场、研究开发、生产、管理的杂乱和低效率状况。” 其次,工作组提出了通用性和电脑家族这两个革命性的概念,从根本上解决了不兼容的问题。 问题和概念的创新是IBM S/360的最大创新。 第三,工作组在做总体规划时有较长远的考虑,设计的产品要在九年后仍有竞争力。为此总体方案对1962~1970九年间的市场情况和技术发展做了预测。 第四,工作组将“开发有竞争力的通用电脑家族”这个大问题分解成了若干关键难点。这些难点比大问题更具体、更易检查。而且,一旦所有这些难点都解决了的 话,大问题也就解决了。总体方案列出了这些难点,但只给出了部分难点的解题思路,大部分留给了后续的细化阶段去解决。 第五,产品要面向长远市场需求,不仅是目前产品已经占据的市场的延续,更重要的,是目前产品还没有占据的市场。比如,总体方案规定,直到1970年,IBM S/360的销售额必须保持20%的年增长率,而且其中必须有来自新市场的收入。 市场需求不是用行业(如银行、保险、核能研究)来表述,而是翻译成电脑功能和性能的术语。比如,S/360必须提供下面这些新功能:大内存、远程通信和处理、交互式模式、多用户环境。 IBM的这种做法直至今天仍然值得我们参考:在定义产品时瞄准特定的市场需求;在定义技术规范时瞄准特定的技术难点;在发展理论和概念时追求清晰和美。尽 管发展理论、概念、技术和产品的最终目标都是市场,但这种分层次的方法比起那种让所有层次都“面向市场”的简单方法更具体,更有效。 第六,产品的设计和实现尽量采用IBM的研究部门或外界研制成功的新技术,比如固体逻辑电路板(即将多个元件集成在一块电路板上)、中断、优先级、微程序等。S/360项目本身也必然需要发明一些新技术。 第七,方案的实施需要管理机制的创新。工作组提出了一套详尽的管理和监控机制,让公司管理层和相关部门经理能定期监控项目在任务分割、设计、测试、生产和 市场诸方面的进展。最重要的机制创新是设立一名“公司处理机控制”经理,以及他领导下的体系结构小组。该经理直接向公司管理委员会(相当于总裁办公会)负 责,具有调动全公司资源和确定技术方向的极大权力。 第八,对产品的主要新概念,尤其是兼容性的概念,工作组列出了其在技术、销售、工程实施和市场方面的主要优点和缺点。对部分问题和缺点,还提出了克服的思路。但大部分缺点留待后续工作去细化解决。
1961年12月28日,总体方案出台。1962年1月初,华森和他的公司管理委员会迅速批准了这个方案并指示立即实施。 但是,S/360的技术方案遭到IBM各部门的强烈而又持续的批评和反对。 反对得最厉害的是公司的战略发展部。他们认为计算机家族这个概念本身太冒险。根据S/360的方案,IBM以后就只有一个电脑产品线了。计算机家族从来没 有人做过,IBM自己的研究部门也没有任何相关的原理样机,S/360的总体方案中还有许多没有答案的问题。把公司的全部家当都赌在这个很不成熟的概念 上,明智吗?只用一条产品线有两个致命的弱点:如果得不到用户和市场的接受,全公司的产品都完了;即使得到了用户的认可,竞争厂家只需要开发一个兼容电 脑,就可以打击IBM全线的产品。 技术人员的批评主要集中在通用和兼容这两个概念的可行性上。总体工作组的用户调查显示,科学计算用户越来越需要原来是商用机特长的字符处理等功能,而商业 用户也越来越需要科学计算机所专长的浮点运算等功能。这也是为什么他们提出S/360应该是一个通用系统,兼顾商业应用、科学计算和信息处理的原因。这样 的系统显然更具有市场竞争力。但是,说起来容易做起来难。这种通用系统能被有效地实现吗?IBM已有多年研制科学计算专用机和商业专用机的经验,这些系统 是很不同的。现在要把它们硬捏在一起,开发出来的产品很可能对两类应用都不能有效地支持。 更具体一点讲,原来的IBM科学计算机用36位表示一个单精度数,72位表示一个双精度数。而S/360用8位的字节作基本单元,4个字节(即32位)表 示一个单精度数,64位表示双精度数,精度比原来的72位低。如果要达到原有的36位精度,必须用64位来表示。这样,当原来的程序移植到S/360上 时,44%的资源都浪费掉了! IBM在最初开发电脑产品时,请了著名计算机科学家冯·诺依曼作顾问。诺依曼的一个重要判断就是20000个字的内存容量(约相当于今天的80KB)对任 何科学计算机都足够了。IBM留了一些余量,50年代的IBM计算机实际能支持32768个字。但IBM后来发现,用户需要大得多的内存空间。金·阿姆道 尔总结出一条经验:在设计电脑时唯一难以改正的错误是内存空间太小。因此,S/360的总体方案做了一个大胆决策,将内存空间提高两个数量级,达到百万字 的量级。要想像一下这个决定多么大胆,这相当于今天某个微机厂商宣布它的下一代产品将能支持256GB的内存。 但是,这种技术上的跨越意味着对原有的计算机体系结构必须做很大的改动。这么大的改动冒险性太大了。 销售和市场人员也反映了用户可能的批评。最严重的批评是很多用户不愿意为了S/360重新编写应用程序。问题的关键是,尽管S/360家族成员之间互相兼 容,但S/360与IBM在市面上已经在销售的所有机型都不兼容!总体方案对这点已有很多考虑,也提出了销售和市场对策。比如,要告诉用户S/360提供 了很多新功能,而要利用这些新功能用户需要用S/360的指令重新编程。这不是重复,而是创造新的价值。而且,一旦应用在S/360上实现,将来就不用再 修改了。 总体方案的这些建议都是真诚的。事实上,S/360的很多应用程序直到30多年后的今天还一直被使用着。但在1960年初,用户并不太相信这些厂商描绘的 美好前景。他们看到的是自己必须再投入金钱和时间移植程序:“我没有时间和资源来移植程序,我也不需要新的功能,我只要我的老程序在IBM的新机型上运行 得更快!” 总体组意识到了,总体方案是不能改的,但必须回应用户的要求,使现有程序能直接在S/360上运行。IBM的技术人员试了三种方案。第一种是“自动翻 译”,即开发一个软件将老机型的程序自动翻译成S/360的指令代码。这项工作在技术上出乎意料地难。几个月后,IBM的技术人员不得不降低要求,只做半 自动翻译,用户必须不时介入以帮助翻译软件。半自动仍然很难实现,最后这条技术路线不得不被抛弃。 第二种技术叫“模拟”,即在S/360上做一层模拟器软件,提供一个虚拟环境,与老机型一模一样。模拟器很快就开发成功了,但速度比S/360慢至少十倍。模拟的路子也走不通。 就在IBM集中资源紧张地开发S/360的时候,竞争厂商陆续推出了新产品,IBM在市场上节节败退。1963年,电脑市场增长了30%,而IBM的市场 仅增长了7%。电脑事业部和销售人员频频告急,他们对S/360能否按时推出,推出以后能否说服用户将应用程序移植到S/360上越来越怀疑。最后,电脑 事业部向公司总部建议,销量最大的低档系统应该自行发展,不遵循S/360的家族标准。 公司总部也有点动摇了。如果公司采纳了电脑事业部的建议,那对S/360将是一个沉重打击。一旦电脑事业部的低档电脑的新机型上
后来的事件证明,S/360总体组的报告对未来的预测有很多“错误”。 总体报告是要定义一个九年后仍然有市场的产品线。事实是,近四十年后,到了2001年,S/360的后代S/390(俗称IBM大型机)仍然在金融、保险 等领域占有很大的市场。尽管很多人已多次预言大型机的终极,但近年来网络化和服务器再集中的趋势使得我们看不到大型机在近几年内有消亡的迹象。可以 说,S/360是世界上寿命最长的计算机系统。如果在2010年时看到S/390的后代,作者一点也不会惊奇。 S/360电脑的成功为IBM带来了巨大财富。市场对S/360的热情接受也带动了配套设备的销售。1966年,IBM卖出了8000多台S/360系 统,超过了以前八种电脑销量的总和。全公司年收入达40亿美元,纯利10亿美元。1970年,收入增到83亿美元。到了1982年,S/360的后代的销 售收入已占全公司的一半。据统计,至80年代末,S/360及其后代为IBM带来了上千亿美元的销售收入。直到2001年,S/360技术还在为IBM赚 钱。 总体组的另一个“失误”就是S/360真正遇到了“致命弱点”(knockoff)。这是指一个产品的某种事实上存在的技术弱点,市场和销售人员很难反驳 竞争厂家的攻击,容易由此失掉市场。S/360的问题在于,由于它是一个采用同一种体系结构的电脑家族,一旦竞争厂家发现体系结构的一个致命弱点,就可以 打击IBM的全线产品。 1964年8月,S/360遇到它最担心的致命弱点。著名的麻省理工学院,一个IBM的老客户,认为S/360技术落后,决定不购买S/360,转而购买 竞争对手通用电气公司的电脑。到了第二年的11月,另一个重要的客户,贝尔实验室,基于同样原因也抛弃了多年购买IBM电脑的做法,转而购买通用电气的电 脑。 问题是,在一个很重要的技术方面,IBM的S/360确实落后,它的体系结构没有采用当时很先进的“动态寻址”技术。这个技术为什么重要呢? 在S/360的设计时期,电脑是很宝贵的东西,使用的方法也很特别。用户根本看不到电脑。用户先把自己的程序和数据交给电脑操作员,由他输入到电脑中去。 然后,用户的 “作业”排队等候。当其他用户的作业算完以后,这个作业在电脑里启动计算,然后操作员收集计算结果,再把它交给用户。这种运行方式叫“批处理”。 但是,麻省理工学院的教授们从1961年起就在倡导另一种模式,这种称为“交互式处理”或“交互式计算”的模式在今天已广为流传。我们上网时将我们的计算 请求(比如要浏览一个网页)直接提交给网站电脑,然后我们希望立即能看到结果,哪怕是部分结果。我们不希望把我们的请求排在一个队里,等网站服务器处理完 其他几万个网民的请求后再来处理我们的请求。事实上,我们希望与其他几万个网民在几乎相同的时间内看到结果。
交互式计算需要我们共享电脑的资源,尤其是处理器的时间。处理器把时间分成很多几毫秒的区间,在不同区间处理不同用户的计算任务。这样,在一秒钟内可以 “同时”处理几百个用户的计算任务。因此,时间共享(time sharing)技术是交互式计算的关键技术,而时间共享又需要电脑的体系结构支持“动态寻址”。 S/360的总体工作组敏锐地意识到交互式处理的重要性,这也是他们在S/360的总体方案指明的未来市场的一个重要方向。他们知道“动态寻址”技术,没 有采用它是经过仔细考虑的。动态寻址虽然先进但还很不成熟。另外,时间共享不仅需要改硬件,还有很多软件开发的工作。S/360的主要目标是通用家族,不 是交互式处理。S/360的总体方案已经够冒险了,加上交互式处理这么重大的创新恐怕很难保证项目的完成。 IBM失掉麻省理工学院订单的另一个原因是,麻省理工的教授们希望“参与设计”,帮助IBM S/360的技术人员修改体系结构,以便加上动态寻址技术。这个要求IBM不能答应,因为他们不想再改动总体方案。 失掉麻省理工的订单不仅是很丢面子的事,而且预示着IBM将来很可能会丢掉交互式计算的一大块市场。但是,现有的总体方案又不能再改动。怎么办呢? IBM决定分两步走。第一,迅速开发并推出一档产品,在S/360的总体结构框架内实现时间共享,从而支持交互式计算。这不仅可以让用户知道IBM很看重 时间共享市场,而且可以让IBM在这个产品的推出中学习并掌握时间共享技术。第二,研究动态寻址技术,争取在S/360的下一个版本中用上。 1965年8月,IBM公布了第一台时间共享产品,称为S/360-167。一年后,系统推向市场。事实证明,IBM的学习成本是相当高的。由于错误很多,S/360-167刚推出时,IBM不得不向客户说好,这档产品只能用于科研
IBM S/360的研制经验给我们什么启示呢? 首先,以华森为首的IBM决策层富有远见,能在公司的兴旺外表下发现严重的问题,并且立即着手解决。其次,在各个环节中,公司能创造条件让明白人主导做事,即我们古人所说“用人不疑”。 不过,IBM决策层的最明显的特征和优点是坚韧。一旦决定要干一件事,就要排除一切干扰、克服一切困难把它做到底。S/360的研究开发过程中,最大的干 扰就是来自各方面的强烈批评。一个创新事物是肯定会受到批评的,而且这些批评可能都有道理,但决不能摇摆,推翻原来的决定。华森的一句名言是:“决策要果 断,错误的决策也比不决策好。” S/360的开发生产和市场化过程中遇到的最大困难就是经费。据报道,S/360的花费达50亿美元之多,远远超出了预算,在当时是破天荒的数字。华森在董事会中竭力争取,并想办法在股市融资,保证了S/360项目的进展。 从技术上看,S/360的开发有几个特点。第一,让真正的专家(来自研发、市场和管理)深入工作,制定总体规划,以后就让同样这些专家主导项目按总体规划 实施。(计算机界有好多研究开发项目不是这样干的。可能制定规划的是一拨人,实施的是另一拨人。专家们也可能并不像IBM那样几个月时间在一起专门制定总 体规划。)第二,突出主要矛盾,即通用计算机家族,其他问题为它让路。第三,鼓励团队创新。总体工作组在问题、概念和体系结构等几个关键问题上做了重大创 新,同时留出创新空间给工程实施人员。第四,创新太多会产生混乱。因此总体工作组把“动态寻址”这样重要的创新留给下一代系统实现。总体方案一旦决定,不 论什么原因不再修改。 IBM S/360的成功,来自于华森的远见和坚韧,技术人员的智慧和恒心,以及全体员工勤劳的汗水。
完整360:IBM大型机45年发展历程专访
System z副总裁及首席技术官George Walsh见证了大型主机的发展历程(摄影Chip Williams) 问:你是什么时候加入IBM的?什么时候开始参与这个持续多年的项目的? 答:大约44年前我在纽约加入了IBM。当时IBM刚刚发布System/360。我最初的工作内容与主机无关,而那时别人已经在接受大型主机的培训了。最终我花费了三年的时间学习,学习当时所需的全新操作系统、全新架构以及全新系统。 我自己第一个真正意义上的大型主机客户是纽约的Con Edison电力公司。大型主机为Con Edison所作的一切让我感到惊异。Con Edison采用大型主机做的第一件事实际上就是为客户服务提供支持。然而这样的需求后来演变成了客户信息控制系统(CICS),直至今天它还是使用最广 泛的系统,运营着当今世界上最多的交易处理。那是一个非常有趣的环境,而Con Edison也是一个很有创新意识的客户。 我们在前行的道路上不断积累经验教训;第一个系统并没有如我们所愿的可靠,出现了一次24小时宕机事故,客户非常生气,引发了一场混乱,事实上烧毁了 Con Edison的一家分公司。这次事件使我很早就意识到了极度的可靠性与可用性的重要,而这种意识也影响了我的整个职业生涯。 “大型主机持续稳步发展,自45年前其问世以来始终没有停止脚步。”
——System z副总裁及首席技术官George Walsh 问:你对大型主机过去经历的哪些重大变化或创新印象最为深刻? 答:人们似乎认为大型主机是始终不变的设备,在很长一段时间内不会有任何变化。这种观点绝对是错误的。大型主机自其45年前发布以来,始终稳定发展。人们只看到了整个行业在不断发展,但是并没有意识到大型主机迈向新的创新水平。 以虚拟化为例,是大型主机创造了虚拟化,并且衍生了许多与虚拟化相关的专有技术:如虚拟机的概念和完全共享I/O资源的概念。这些概念都见证了大型主机的创新。如果你使用Windows操作系统,并且多次遭遇蓝屏,那么此类问题很多都是由于内存泄漏造成的,而具有存储保护功能的System z架构则能够避免此类问题。当你看到蓝屏时,你应该想一想大型主机的创新,正是由于大型主机的存储保护功能和架构避免了诸如系统中个体用户随时可能发生的的内存泄漏问题。 大型主机不断演进,每一部分都得到了发展。比如其他架构中的处理器会加速,在大型主机中亦如此。不同之处在于大型主机的设计非常关注资源共享。因此,大型 主机具有超大的缓存系统和高性能的内存系统,这些使大型主机成为一种出色的资源,可以在众多用户中共享。人们通常会把大型主机与一个词联系起来,也的确如 此,那正是强劲。“大型主机永远不会宕机。”这需要硬件、操作系统和中间件共同达成。 大型主机的优势在于它能够帮助我们与客户建立关系,因为它以需求为出发点。我们不断发展大型主机,以满足客户最为紧迫的要求。长期客户也在鼓励我们就此前行,而新兴市场(比如印度和中国)的客户也已意识到了大型主机的优势,我们需要继续发展,以响应他们的需求。 “我们在倾听客户的需求,理解他们需要什么样的技术,并在努力证明大型主机能够帮助你实现业务增长。”
——George Walsh 问:有没有哪些大型主机的应用令你感到惊讶?不论这些应用是否由客户所驱动的。 答:有件事非常有趣,也令我惊讶不已,那就是我们为巴西游戏公司Hoplon开展的项目。在游戏世界里使用大型主机让我大开眼界。这个例子为我们指明了未来的发展趋势,大型主机能够为一些特别的事情加速,在Hoplon的例子中,客户需要确保安全,因为游戏软件拥有专利,而游戏玩家却总是试图打破规则。客户想要获得安全,但同时也要确保高性能的计算能力。 问:你能否更加详细地介绍一下如今客户发生了什么样的变化?客户采用大型主机的主流做法导致大型主机发生了何种变化? 答: 总的来说,回顾60、70年代,大型主机首先是作为大型企业的重要计算设备产生的。今天,大型主机已经成为规模更大的整体基础架构的一个重要组成部分。大 型主机发挥着关键作用,往往作为企业内部的安全中心或数据中心,但是它并不是企业的全部。因此,我们看待大型主机的角度已经发生变化,大型主机已不再是一 个拥有全部组件的封闭式设备。今天,在你的环境中,大型主机能够帮助你更加有效地充分利用环境中的其他设备。 你可能会说,只有在System/360那个时代的客户才会有很高的可用性要求。其实今天的客户仍然如此。区别在于过去的客户得到一个9就会很满意,今天 的客户却希望发挥极致,他们想要7*24小时的可用性。因为客户的业务对大型主机的依赖性如此之强,任何故障都会造成巨大影响。在金融行业,一次10分钟 的宕机可能造成50万美元的损失。尽管客户要求听起来一样的,都是可用性,但是后者的要求却更为严格,而这也是我们一直努力的方向。 问:你认为有哪些技术在过去慢慢地前进发展? 答: 我想有一个概念是最广为人知的,那就是虚拟化,即多个用户之间高度的资源共享。有很多年轻人还记得PC革命,PC是单一用户的系统。而大型主机从一开始的 首要目标就是最终实现共享资源,即它同时为众多客户与用户提供服务。这个设计目标今天仍然没有改变。大型主机同时运行着许多不同的应用和工作负载,这就是 为什么大型主机能够如此高效,这也是我们最初的设计出发点。 问:预言家指出大型主机将在90年代灭亡。你有什么想对他们说的吗? 答:IBM 在90年代经历了重大变革。在此之前,人们曾经预想过这样的场景,巨型机器塞满房间,到处充斥着硬件和设备。那些系统的设计采用的是双极管技术。随后出现 了另外的计算方法。采用更佳的无缝技术运行系统,占据空间更少,但是性能稍逊,于是人们开始设想能否将它们聚集起来。我们认识到,即便大型主机有许多设计 特性非常重要,但是我们的成本却是其他设计方法的100倍。我们开始决然转向无缝技术。在很短的时间之内,我们就生产出了无缝系统,它们与双极管有着同样 的性能,但只是后者成本的十分之一,而且耗电也比后者低100倍。它们采用最先进的集群技术,即Parallel Sysplex,将这些较小的系统聚集起来生成强大系统。直到今天,Parallel Sysplex还在为客户做着这项工作。 这种大型主机拐点的想法存在很多人的脑海中。如果我们一直坚守过去的方向,固守这种基础技术,我们实际上就可能已经成为历史了。这仅仅是关于我们如何进行 正确变革满足客户需求的一个例子。下一代System z平台将再次证明这一点。我们选择的方向,朝着混合技术发展的方向,已经让我们领先于行业若干年,而且还将证明大型主机是如何健步如飞,通过变化满足需 求。 问: 大型主机不仅仅是台机器。你如何描述那些使用和支持大型主机的人群?多年来大型主机是如何成长与变化的? 答: 这个问题牵涉的方面很多。如果你从客户管理的角度审视大型主机的话,大型主机是唯一一个能够帮助你扩展性能而无需额外管理成本的平台。我将此归功于技术, 但是用户的功劳更是不可磨灭。想象一下,大型主机是一个具有持续可用性、共享的资源,它帮助使用大型主机的用户开发了久经考验的的变化控制系统、内部管理 系统,也使我们从中受益。大型主机的光环属于使用、开发和运行大型主机的那些用户,正是他们的创新与知识帮助主机持续发展。 最近,随着新客户的加入,更多的新用户开始对大型主机着迷。在某种程度上,他们是由现有的用户群培养起来的。同时,在年轻用户以及大学生中也开始出现了解 大型主机的强烈愿望。我认为这要归功于在大型主机上运行Linux的举措。大型主机是一个差异化明显的平台,它能够满足客户的不同需求。随着这些需求变得 越来越特别,大型主机将不断攀越高峰,满足需求。 问:你认为未来大型主机会面对什么样的新需求或产生怎样的创新? 答:我们最近对下一代大型主机做了一份研究:从应用和技术的角度出发,主要的行业驱动因素是什么?我们已经完成了这项研究,并且制定了一份详细的计划。我们正在逐步推出下一代System z10,我们将再次以自己的前进方向引领整个行业的发展。 我们正处在另一次技术变革的时代。整个行业正在苦苦应对,在这个时代里每年微处理器的性能都在提示。今天,打开你的笔记本电脑,它可能是“双核”的。消费者不仅需要速度,他们还需要能够平行处理和使用多核的能力。 我们必须利用技术解决这一问题,或者说创建一个混合系统。当我们推出下一代大型主机的时候,你会发现我们已经出于对客户特殊需求的关注,为这个世界提供了 最先进的混合处理器,并占据了行业的领导地位。我们关注的一个领域是在线或实时数据分析及数据挖掘。客户仅仅需要将信息传输到一个高性能的计算机集群,然 后等待结果即可,或许需要一天的时间才能得到结果。但你实时需要欺诈勘测和风险分析,,而这种实时数据分析的能力正是今天大型主机发展的方向。实时数据挖 掘和对于客户了解的需求至关重要。我们在倾听客户的需求,理解他们需要什么技术,并在努力证明大型主机能够帮助客户实现业务增长。
IBM大型主机System/360问世40周年
事实上,System/360大型主机源自于希望能够建构一个可向上和向下兼容,并可以快速撷取资料的系统。在IBM发表System/360大型主机 之前,每台电脑都有自己的指令集,所以每发展一台新的电脑就必须重新撰写程序。System/360大型主机改变了这种做法,成为了历史上第一款指令集可 以兼容的电脑。 另一方面,因为拥有向上兼容的技术,System/360大型主机系列可以随着需求的增加而逐步进行扩充,并可以根据耗 电量、运算速率、内存需求来搭配硬件组合,成为第一部具备硬件扩充弹性化的大型主机。许多System/360大型主机的核心技术,最终奠定了现在的资料 库技术、个人电脑风潮、互联网的发展、在线购物以及电子商务的基础。同时IBM旗下服务器的许多技术,也都是来自于System/360大型主机。 四十多年来,大型主机的技术上也在不断改进。2003年5月,IBM推出的高端大型主机z990,由于采用了superscalar技术,因此第一次令 大型主机能够在单次周期(tick)执行多个指令。40年前System/360大型主机连续运行一周的工作量,到现在用z990只需要11秒钟就能够完 成;而System/360大型主机自问世之日起的40年来不停运行的工作量,用z990只需要6个半小时就可以全部完成。 40年前 IBM的System/360大型主机推出后,在全球范围内掀起了金融信息化的热潮。而且一贯最为重视安全与可靠性能的金融机构,由于考虑到客户资料、软 件和应用程序兼容等方面的因素,也都一直选择兼容性和可靠性方面都比较高IBM大型主机。此外,为了配合庆祝System/360大型主机诞生40周 年,IBM也宣布推出最新的中端大型主机z890。