1.2 蓝色巨人和她的竞争对手
前面介绍过的这些RISC CPU都曾有过自己的辉煌,然而经过几十年的大浪淘沙,在商业服务器领域仅剩下三家厂商还能够互相比拼,其他的CPU已经失去了市场,逐渐淡出或者成为某一小领域的专用CPU处理器(例如ARM CPU在嵌入式领域甚至更为风光),不再用于商业服务器领域。这三家厂商是:被称为蓝色巨人的IBM公司;由DEC、Compaq、HP三个公司两度合并组成的新惠普公司;以及曾经以生产UNIX领域个人机著称的Sun公司。这三家厂商每一家也并非只生产UNIX小型机/服务器,他们每家都有很多种计算机服务器产品。
IBM公司原有四大系列计算机(或被称为服务器),但在2003年,IBM公司进行了整合,将4条产品线的未来发展目标归结为一条路线,并为之选择了一个新名字:eServer。构成eServer的四大系列计算机分别如下。
1.zSeries
z是26个英文字母的最后一个,代表终极的意思,也有人说是zero的简称,含义是异常停机时间为零。
这一系列就是我们一直称之为大型机、Mainframe的计算机,是最古老(并不等于落后)、技术也最成熟的大型计算机,许多计算机技术都源自于此系列计算机。它可以运行OS/390,VM,MVS和Linux(SUSE Linux)操作系统,用于大型商业交易处理环境,以稳定性著称。其他厂商很少有与此类计算机类似的机型,只有富士通、日立等企业在生产“兼容”或者“半兼容”的同类型产品。虽然现在zSeries与其他的产品有点格格不入,属于高高在上的一类,但从IBM公司公布的产品发展路线来看,zSeries将会逐渐与其他产品系列进行整合,也改用POWER CPU,有消息说从POWER 6起,IBM公司就会开始进行此次行动。POWER 6于去年(2007年)5月份刚刚发布,IBM公司的整合行动也为期不远。最终IBM公司希望实现相同的硬件平台,不同的操作系统,为用户提供更为灵活的选择,产品的研发、生产成本也更低。IBM z9 CPU如图1-7所示,每个模块封装了2个处理器内核,15个模块封装在一起,加上一个管理模块,共计16个模块组成一个封装芯片组。
图1-7 IBM z9 CPU图片摘自IBM网站
大型机最大的设计特点就是集中控制配合分布式处理,一台物理的机器中有很多协处理器去帮助主CPU完成处理任务,而每个子系统都需要得到中心处理器的授权才能做动作,包括发送处理请求。这种架构可以保证足够的安全性、整体最佳的处理性能和任务之间的平衡,几万以上的并行用户访问对zSeries系统司空见惯(与之相比,通常UNIX系统的并行访问数量在几百到几千这个数量级)。当然缺点也随之而来,那就是牺牲了单一业务的性能,所以不适合用于计算密集型的业务,并且也要求更为复杂的处理过程,软件、硬件之间配合紧密,即使IBM允许,留给第三方厂商的开发空间也很有限。
2.iSeries
i代表Internet或者Integrated,设计者期望其可以提供集成的Internet网络服务。
i系列即以前的AS/400系列,它更类似于大型机,运行OS/400操作系统,是硬件、软件一体化设计,也就是当你购买iSeries产品的时候,硬件与操作系统、基础平台软件被打包提供,不用单独购买软件,当然购买价格也比较贵,软件费用已经包含在内。最近经过IBM产品线整合后,已经与pSeries在硬件层面实现了统一,即新款的iSeries与pSeries硬件完全相同,甚至也可以直接安装AIX和Linux,另外通过一个附加的Intel CPU板,i系列还可以安装Windows操作系统!
与大型机类似,iSeries被认为是不很“开放”的系统,其上运行的操作系统、数据库、中间件等软件,都几乎必须是IBM公司的产品,而且购买硬件的时候就已经打包卖给你了,很少有第三方件产品可以运行于i系列之上(业务应用程序除外);从管理方面来看,也与我们常见的命令行方式不同,它采用一种数字式菜单选择方式,直接输入的命令也很古怪(当然也有人说UNIX命令很古怪)。
实际上,iSeries兼容大部分开放的UNIX编程API标准,大部分UNIX应用程序无需修改,只要重新编译一下,就可以从其他UNIX平台迁移到iSeries。由于iSeries在设计之初是为了方便管理、方便使用,所以强调了封装技术,普通的用户具有很少的权利。iSeries对于程序的控制性也很强,几乎不可能被病毒入侵。iSeries对程序代码的兼容性极强,最新的iSeries产品仍然可以运行10年前为老产品开发的程序,可以实实在在地被称为傻瓜计算机。当然,因此带来的缺点就是被厂商垄断,因此被许多用户所拒绝。另外这种整合性带来的缺点就是难以跟上用户业务的快速发展,这些都可能是AS/400逐渐没落的原因之一。个人认为,对于某些行业的中、小企业,如果业务稳定,不想雇用很多计算机管理员去精心呵护计算机系统,iSeries倒也是不错的选择。
3.pSeries
p代表Power,意为力量强大,也代表它使用的是POWER CPU。
这是本书的主角,也就是我们常说起的IBM UNIX小型机,在以往被称为RS/6000服务器或者简称6000,运行AIX操作系统。最新款的pSeries服务器也可以运行Red Hat或SuSe Linux(需要另外购买不同于安装到PC上的光盘介质)。由于pSeries与iSeries共用硬件平台,而它们之间还有价格、配置(软件及部分硬件)的区别,所以IBM公司现在的市场策略是:如果按照iSeries购买,则可以运行OS/400,AIX,Linux三类操作系统;如果按照pSeries购买,则只能安装AIX或Linux操作系统,而不能运行OS/400。
最近IBM已经开始了i系列和p系列整合的第二阶段,i系列和p系列被合称为System P,两大系列各自成为System P产品系列中的一个子型号。
4.xSeries
x代表eXtendable,可以扩展的。
这是IBM公司生产的PC服务器,采用Intel奔腾、志强(IA-32)或IA-64及AMD的x86兼容CPU,可以运行Windows,Linux,Solaris 86等操作系统。
1.2.1 IBM eServer pSeries发展历史
同时维护几个产品线,即使IBM这样财大气粗的IT元老也难以为继,因此IBM最近提出了产品线整合策略,继已经完成的iSeries和pSeries整合之后,预计在未来3~5年内,会最后把zSeries也并入,实现完全的平台合并,而合并的关键就是POWER处理器。另外xSeries似乎不完全在这个整合范畴之内,但可以预计,从CPU以外的架构平台还是会被完全合并的,现在的技术趋势就是将大型机的技术向中小型机迁移,许多x服务器的技术完全基于UNIX服务器,而UNIX服务器则师从大型机(Mainframe)。
IBM的POWER列处理器本身就有几个分支,这也是IBM逐渐摸索市场需求的脉络及自己技术发展的结果,它们分别是Power,Star(RS)系列、和Power PC系列,它们在发展过程中合合分分,最终演化成现在的三大发展方向:即高端商用服务器、中低端商用服务器和嵌入式处理器。IBM公司承诺无论今后怎样发展,这几种处理器的架构相同、代码二进制兼容(特别指令除外),也就是说即使为嵌入式处理器开发的程序,只要没有使用特别的外设操作,都可以不用重新编译就在高端商用服务器上执行。
图1-8 RS/6000,pSeries曾使用的系列芯片(摘自IBM网站)
1980:IBM公司设计了第一款RISC(Reduced Instruction Set Computer,精简指令集计算机的)原型机,这时IBM公司还没有确定要在RISC领域有所作为,但为了能跟上市场,保持技术领先,扔点研发费用对这头蓝色大象不过九牛一毛。IBM目前依然有自己的超级研发队伍,从理论物理到软件技术无所不包。
1990:IBM公司正式发布了RISC架构CPU的计算机产品线,被称为RS/6000系列,运行AIX V3操作系统(AIX此版还可以支持PC平台)。这个CPU被称为POWER(POWER1),代表着:Performance Optimization With Enhanced RISC,即用增强的RISC技术实现性能优化。RS/6000的名字来自于大型主机,RS是Risc System的简称,6000则是表示比ES/9000(即390系列,Mainframe)低一点,当时已经有了AS/400系列,和PS2(PC),一到四位数字的编号都有了,在大型机ES/9000霸道的年代,还没有哪个人敢提出一个RS/10000的名字,能取6000,比400高了一点,已经可以看出来IBM对此产品的期望颇多。
1991:IBM,Apple(苹果)和Motorola(摩托罗拉)公司宣布了一系列的联盟计划,主要内容是用POWER系列CPU装配苹果公司的麦金塔个人计算机(Apple Macintosh Personal Computers)和摩托罗拉的通信产品。联盟将一同研发新的基于RISC技术的处理芯片,命名为PowerPC芯片,用于PC、低端工作站,这个开放架构将能够同时运行IBM AIX和Macintosh的软件,以及联盟合作开发的其他软件。这个联盟显然是为了抗衡已经日趋壮大的Wintel联盟。
1993:IBM公司开发了使用POWER芯片的并行系统(Scalable POWER Parallel System),第一次利用RS/6000技术建造了巨型机。IBM的技术专家将许多计算芯片组织在一起,通过任务分配将计算密集型的任务分散到多个处理器上以便提高整体运算速度。这也就是IBM的SP系列群及计算机产品。
IBM、Apple和Motorola公司共同发布了PowerPC 601,这个简称为PPC601的处理器包括超过280万个晶体管,主频为50 MHz。IBM稍后发布了66 MHz主频的POWER 2处理器,专门用于RS/6000系统。
1994:IBM公司发布了Scalable POWER并行系统第二代,被称为SP2(与卡斯帕罗夫下棋的深蓝就是一种SP2架构)。康乃尔大学理论中心(Cornell Theory Center)部署了SP2超级计算机,实现了1360亿次/秒的计算能力。欧洲粒子物理研究所(CERN,European Laboratory for Particle Physics)也订购了欧洲有史以来最强大的超级计算机:运行AIX操作系统的64个节点的SP2。
IBM公司发布Power PC 604处理器,是当时业界最强大、销售最广的微处理器。IBM技术开发人员用此芯片达到40MB/s的数据无损压缩处理能力,并且到当年7月就实现了一百万片的销售量。随之IBM公司又发布了Power PC 403GA用于嵌入式系统,这是POWER系列第一款嵌入式芯片。
1995:64位的Power PC RISC处理器被用于IBM AS/400系统,在8月Apple公司发布了Power Book 500笔记本电脑,使用Power PC 603e芯片。这是第一款用于笔记本电脑的POWER系列芯片。
1996:IBM公司发布新的32位、135 MHz主频的POWER 2 Super Chip(P2SC)用于RS/6000系统,P2SC是一种单片POWER 2架构的产品,包含1500万个晶体管,采用高密度的CMOS技术。
1997:IBM公司的深蓝(Deep Blue,开发代号)超级计算机与世界象棋冠军卡斯帕罗夫(Garry Kasparov)对弈,并将其击败。深蓝是32节点的IBM RS/6000 SP2计算机,使用32位POWER 2 Super Chip(P2SC),运行AIX操作系统。不过深蓝并不是通用计算机,也就是说它不是单独靠软件实现的架构。在深蓝中有许多专用的协处理板,帮助主程序并行计算可能的对弈局势,它平均每秒钟要思考一亿两千六百万种可能的走法。现在深蓝被存放于华盛顿特区的Smithsonian国家博物馆。事后据卡斯帕罗夫回忆,此次深蓝的胜利有点侥幸,并且是集体力量(开发小组成员个个都是国际象棋高手)加机器的力量的胜利。卡斯帕罗夫一直耿耿于怀,说他是在各种外界干扰、逼迫下同时与一群人和一台不知疲倦的机器怪兽在下棋,据说当时一些报道指责小组成员在棋赛期间还在修改程序,调整(权重)参数,但无论怎样,不能否认这是人工智能史上一个里程碑式的转折点。
也许能印证卡斯帕罗夫的抱怨的事实是IBM在此次胜利后,就宣布结束深蓝项目,让卡斯帕罗夫再也没有机会翻牌。这次胜利不仅仅是机器的胜利,更是IBM的一次成功的商业企划,凭借这场人机大战做宣传,IBM卖出了好多SP2架构的计算机(与下棋的SP2差别很大,没有专门设计的协处理板,并且SP2是为了高性能计算而设计的,并不太适合商业环境)。当然,我们还要记住,深蓝的开发者是华裔科学家许峰雄博士。遗憾的是IBM公司确确实实把这次人机大战当成了商业行为,由于以后不再投资这个项目,许博士也离开IBM公司而去了微软公司。
IBM为美国宇航局(NASA)提供了每秒钟可以执行三千五百万条指令的32位Power PC处理器用于火星探路者号飞船(Pathfinder),这款芯片由位于弗吉尼亚的洛克西德·马丁实验室选定,为旅居漫游者飞船(Sojourner rover)制造耐辐射的RAD 6000飞船计算机。
1998:太平洋蓝(Blue Pacific)发布,这是由IBM与美国能源部洛斯拉莫斯国家实验室共同投资的超级计算机。系统由176节点的332 MHz Power PC 604组成,每秒钟能进行3.9万亿次计算,大约相当于15 000台当时最快的台式机的工作能力。系统还配置了2.6 TB的内存,在当时相当于80 000台台式机的内存容量。它一秒钟的计算能力相当于一个人63 000年的计算能力。
同年,IBM发布了世界上第一款铜导线芯片:Power PC 740/750,主频为400 MHz,通过铜芯片技术,芯片处理能力大约提高了1/3。铜导线技术是芯片制造领域的一项创举,传统的芯片采用铝作为导线,但由于铝的导电性和散热性不如铜,因此导线宽度、芯片频率支持等方面都不如铜。不过铝有自己的优势,就是能和硅很好地结合,也更容易在芯片内加工。IBM解决了铜与硅相结合和加工技术,并将此技术卖给了几乎所有的高端CPU芯片制造厂商,包括多年的老对手HP。这又一次印证了“没有永远的敌人,只有永远的利益”。
新的64位POWER 3处理器整合了POWER 2(P2SC)和PowerPC两种架构,特别为科学计算进行了优化,POWER 3每秒钟能够执行20亿条指令,大约是深蓝中使用的POWER2 Super Chip芯片能力的2倍。
同年IBM还发布了第一款POWER架构的SOC(System on Chip,单片机)处理器内核,这款Power PC 405内核不久就被用于各种嵌入式的单片机系统和ASIC(Application Specific Integrated Circuits)设计之中。
1999:IBM开始规划一项投资10亿美元的计划:建造每秒钟执行一个quadrillion指令(相当于1 petaFLOP,即1,000T FLOP或1 000 000G FLOP)的新超级计算机。这个计划的代号是蓝色基因(Blue Gene)。这台计算机比当时最快的超级计算机还快500倍,将用于模拟、分析蛋白质的复杂结构。这个计划一直延续至今,距离1P的目标越来越近。
IBM在当年就卖出了一百万块Power PC铜芯片。在6月,另一款Power PC 405 GP——基于405内核的单片机也被推向市场。
IBM和任天堂(Nintendo)宣布了一项为期多年的合作计划,总合同额10亿美元,用于开发任天堂的下一代家用视频游戏终端——GAMECUBE的处理芯片,此芯片是Power PC架构的扩展,比当时所有的(包括即将发布的)游戏机芯片都要强大,它可以提供更好的图形效果,实现更真实的动作模拟。
2000:IBM将原有使用POWER处理器的服务器系列:RS/6000更名为eServer pSeries。此次名字变更并没有什么技术起因,而又完全是商业行为,IBM准备实现其伟大战略构想:完成旗下众多服务器品牌的大统一,在技术实现之前,先把名字统一了,这不需要任何投资,却向业界传送了一个重要的信息——整合。
2001:美国劳伦斯拉莫斯国家实验室(Lawrence Livermore National Laboratory)启动ASCI白计划(ASCI White,又被称为太平洋白),由IBM设计制造每秒钟执行12.3 trillion指令的超级计算机,用于核爆炸模拟。这是IBM和美国核计划安全管理委员会(National Nuclear Security Administration,NNSA)联合启动的战略性计算加速计划(Accelerated Strategic Computing Initiative,ASCI)的项目内容之一。这台ASCI计算机将为美国能源署工作,可以减少不必要的核试验,提高核设施的安全性。
同年,IBM发布了使用Power 4处理器的eServer p690服务器(代号“赛舟会——Regatta”大概开发者觉得p690的性能不错,准备开始和其他UNIX服务器厂商赛一赛,而且32颗CPU的协同工作能力,正是龙舟比赛的特点),这是当时最快的UNIX服务器,是IBM用了5年的时间设计的一款全新的服务器,使用了大量最新的UNIX处理器和Mainframe的制造技术,最多支持32颗CPU。使用p690可以组合成一个具有1000个处理器的超级计算机群组(使用p690作为节点的SP2群集)。
索尼计算机娱乐公司(Sony Computer Entertainment Inc,SCEI)、IBM和东芝(Toshiba)宣布开发新一代芯片用于Internet宽带网络时代的信息处理,处理器代号赛罗(Cell),这个芯片将使用世界上最先进的芯片设计和制造技术,内部电路将仅有0.10微米,大约是头发丝直径的千分之一,这样可以让处理器性能更加强大,操作时散发更少的热量(因此更加稳定、需要更少的外界散热设备)。
IBM发布了Power PC 750FX,将片上二级缓存提高了一倍,达到512KB。
2002:IBM发布64位的Power PC 970,这是一款高性能的微处理器,可以被广泛使用于各种应用环境,包括桌面机,入门级服务器等。此芯片使用了IBM POWER 4处理器的架构,其中包括单指令——多数据的流水线结构(Single Instruction Multiple Data,SIMD),另外“弹性I/O”(Elastic I/O)功能也被引入,这是业界最快的处理器内部总线结构。
IBM开始在pSeries上安装POWER 4+处理器,于2003年正式对外销售。
IBM发布支持32路CPU的eServer iSeries 890服务器,使用1.3GHz主频的POWER 4处理器,使用了一亿七千四百万个晶体管。iSeries服务器现在已经和pSeries共用硬件平台,只是操作系统不同,pSeries运行AIX,但不能安装OS/400,而iSeries既可以运行OS/400,也可以安装AIX。
IBM发布Power PC 440GP和440GX嵌入式处理器,用于网络和存储设备,440GX包括片内的TCP/IP协议加速器,获得了嵌入式芯片EEMBC性能测试的全部5项最高分。
2003:IBM开放了32位嵌入式Power PC芯片的处理器核心的许可权。
苹果、IBM发布了第一款64位桌上机处理器:Power PC G5,主频为2.0 GHz,苹果宣称使用Power G5的Mac计算机是“世界上最快的个人电脑”(the world’s fastest personal computer见苹果产品发布说明:http://www.apple.com/pr/library/2003/jun/c3 pmg5.html)。
IBM蓝色基因计划(Blue Gene/L)启动,于2005年开始安装到美国劳伦斯拉莫斯国家实验室(Lawrence Livermore National Laboratory,LLNL),使用65 536个Power PC处理器,64机柜大小的计算群集系统,峰值计算能力达到360 T(1T即1 000G或1 000 000 000 000),占地大约半个网球场。它的结构是在一个芯片上有2个处理器内核,2个芯片组成一块计算卡,16个计算卡组成一个节点板,32个节点板构成一个计算柜,64个计算柜组成了蓝色基因系统如图1-9所示。
图1-9 蓝色基因系统架构(摘自IBM网站)
同年,IBM发布了使用POWER 4+的pSeries服务器,以及刀片中心(BladeCenter JS20,一种非常薄的服务器,能够在一个机柜内安装更多的服务器)。这是在刀片服务器上第一次使用64位的Power PC处理器技术。同年发布的Power PC 750GX将片内二级缓存由750处理器的512KB提高到1MB。刀片式服务器不是由IBM最先发起,但IBM却最有优势,这是源自IBM日本公司的贡献,因为设计刀片服务器的原班人马都是设计IBM著名的Thinkpad笔记本电脑项目组的成员,把每一片刀片服务器比喻成是裸露的笔记本电脑主板,似乎最恰当不过了。由于这个原因,IBM的刀片服务器在密度(集成度)上一直领先于其他公司,如图1-10所示。
图1-10 包含14个刀片服务器的刀片中心抽屉(一个Drawer)及刀片的系统板插卡
2004:IBM开始使用硅绝缘技术制造高性能芯片,硅绝缘(silicon-on-insulator,SOI)与同时使用的应变硅(Strained Silicon)、铜导线技术都是IBM的专利技术,可以提升处理器的晶体管密度,增加性能,减少功耗。64位的Power PC 970FX微处理器是第一款使用此技术的芯片,通过这些技术显著降低了功耗,提高了处理器散热能力,因此可以比同类处理器运行于更高的频率。
2005:蓝色基因性能达到183T浮点运算/秒。同年,IBM发布使用POWER 5+芯片的新服务器,如图1-11所示,其中P代表POWER。
图1-11 多核POWER CPU
通过不同核心数量的封装,IBM得以以恰当的生产成本、芯片合格生产率和芯片质量为业界提供灵活多样的产品组合。因此IBM在2004/2005/2006年能够在没有重大芯片产品推出的情况下发布一系列的服务器新产品,这其中包括采用不同的芯片封装:DCM(双核)用于低端服务器;QCM(四核)用于中高端服务器;而MCM(八核)用于高端服务器。对于同一类型的服务器,又可以使用不同的主频,从1.65GHz到2.2GHz。
2007:在本书即将出版之时,IBM新发布了POWER 6 CPU,采用更高集成度制造工艺和主频,最高主频达到近5GHz。POWER 6采用65纳米绝缘硅(SOI)工艺、10层金属导线,在340平方毫米的一块芯片上集成了两个同步多线程处理器,以及每个内核专用的二级高速缓存。
POWER 6有极高带宽可提供给处理器内核。在5GHz下,每个MPU都有300GB/s的带宽,大约80GB/s来自三级高速缓存,75GB/s来自内存,80GB/s来自MCM内总线,50GB/s来自远程处理器,20GB/s来自本地I/O。POWER 6的非核心功能部分运行频率都是核心频率的一半,2GHz~2.5GHz;而各种POWER 5+处理器的频率大约为0.8GHz~1.15GHz。
POWER 6的系统架构完全经过了重新设计,用于企业级系统的POWER 6使用两条单向环(uni-directional ring)实现MCM内通信,而MCM间通信通过二维网状结构(类似Switch)来进行。POWER 6使用了两层架构和新的一致性协议进行配对,每个POWER 6 MCM组成了一个“单元”,全连接网络中最多可以排列8个单元,在设计结构上可以支持到128个CPU内核。
讨论
一台计算机到底可以值多少钱?
这个话题无疑有哗众取宠之嫌,但确实这台机器太贵了。IBM刚刚和美国政府签署一个价值$244M美元(两亿四千四百万美元),期限为4年的合同,合同的目的是为DARPA(就是著名的Internet的诞生地)建造“一”台计算机。也就是说,这台计算机价值将近18亿人民币,也许是有史以来世界上最昂贵的计算机。当然,这台计算机不仅仅是昂贵,它将是目前最快的超级计算机运算能力的100倍,将达到10Peta浮点运算/秒的性能。
1P=1 000T=1 000 000G=1 000 000 000M=1 000 000 000 000K=1 000 000 000 000 000次浮点运算。通过这台机器,10 000 000 000 000 000次浮点运算可以在1秒钟内完成。
DARPA的高处理能力计算系统项目(High Productivity Computing Systems,HPCS)自2002年启动,这是第3代建设,最早由Sun公司建立了第一套系统,而今天的这个合同,就根本没有邀请Sun参与。IBM的销售人员曾经这样开玩笑:即使邀请Sun,他们也拿不出东西,10P/s是真金白银的计算力,即使Sun能交货,也一定是一栋大楼,里面是Sun的所有员工,每人面前一台Sun PRIME POWER 25k,然后拿着电话听筒报答案。
超级计算机之战如火如荼,建造超级计算机的热潮愈演愈烈,打水漂一样投钱。此前不久,美国能源部刚定制了一台价值$58M的超级计算机,最终将达到500T的处理能力(现在已经达到280T),用于模拟核爆炸。在这个数量级的超级计算机之战完全没有悬念,只是看谁有钱,卖家只有IBM。当然,微软也虎视眈眈,但毕竟超级计算机是CPU,群集技术的组合,需要硬件、软件厂商的配合,微软要找一个联姻厂商,HP?更可能是HP/Intel/MS的组合。
这台世界上最贵的超级计算机除了计算力庞大之外,用途也不太一样,DARPA希望它能更容易地使用,甚至可以在远程自由(当然是授权用户)使用,并且更倾向于成为政府的公共计算资源,提供给包括商业用户在内的使用者。各种强悍的、胃口巨大的、专用的计算程序都可以很容易地在此台超级计算机上加载、运行。例如计算天气演变、模拟人类生长/衰老过程,甚至仿真禽流感病毒入侵。以往,很多此类程序都是软硬件绑定的,特别软件为特别计算机硬件设计、部署,如果真能实现这个通用、动态加载、高性能计算的目标,可能在不远的将来,计算机又会在合久必分之后,分久必合。我们嘲笑老Watson(IBM创始人)所说的“可能以后世界上只需要5台计算机。”这句话的时候不得不重新思量,也许今后世界上真的只需要5台计算机!
建造超级计算机是一项庞大的系统工程,需要CPU技术(IBM早已经开始了POWER 7的研发),需要操作系统(当然是可爱的AIX),需要并行文件系统(GPFS),需要并行计算环境(IBM PE,并行计算库),需要高效的节点间内部连接和存储系统。这些技术无疑能极大地提高IBM在服务器领域的竞争力,超级计算机的力量不仅仅在于实力的证明,还能借用此投资进行技术演绎,得到广告效应,其震撼力也是100倍的。
除了IBM之外,其他厂商也不甘落后,IBM也不能独霸排行榜全部席位(IBM大约占据了一半左右),特别是x86(兼容)系列CPU,最近有异军突起之势。有兴趣的朋友可以访问最近发布的Top 500——http://www.top500.org/list/2007/11/100查询最新排名(本书出版前的最新发布是2007年11月)。
1.2.2 竞争对手
HP(惠普)和Sun是IBM的死敌,他们都曾经在小型机市场上称霸一方。HP也有若干款企业级服务器。
1.基于Alpha芯片
来自于DEC公司,可以运行Open VMS,DEC UNIX和Windows NT/2003操作系统。经过几年的反复,惠普终于停止了此产品线研发,从今年(2007年)5月开始不再发布新产品,对旧产品的升级服务到明年4月,维护服务继续支持到2012年。在此微妙的问题上,HP使用了至少支持到2012年这样的字眼,但至多呢?
2.基于PA-RISC芯片
惠普公司原有产品,惠普用此款芯片生产了HP 9000系列,高端被称为Superdome服务器(即HP 9000 Superdome),运行HP-UX(惠普公司的UNIX),Open VMS, Windows Server 2003企业版或者数据中心版(X64),还有Redhat Linux企业版和Suse Linux企业版也可以运行。
3.基于MIPS芯片
惠普的NonStop系列来自1997年Compaq收购的Tandem公司,是一家比较著名的生产容错计算机的厂商,原使用MIPS CPU,由于惠普市场策略,其高端服务器被称为Integrity NonStop服务器,被转移到Intel的IA-64上,现在只有中低端,依然是用MIPS CPU。估计不久,此系列服务器都会转为IA-64。NonStop系列以前使用的是T/TOS (Tandem Operating System),现在HP只使用了NonStop内核。虽然从兼容性上,也与各种UNIX不相上下,但类似IBM的i系列服务器,总被认为缺乏开放性,而且确实在此系列服务器上,对于大型商业软件的支持数量非常有限。不过由于NonStop内核对容错性的支持比较好,在一些专业领域,NonStop服务器还有一定的需求。
4.基于IA64芯片
惠普现在产品的主力都使用IA64芯片,HP生产的Integrity服务器大都采用了IA64芯片作为CPU,可以运行HP-UX,Open VMS,同时支持Windows Server 2003企业版或者数据中心版(X64),Redhat Linux企业版和Suse Linux企业版也可以跑在这款服务器上。
5.基于x86芯片
惠普的PC服务器,支持Windows和各种Linux系统。
惠普当前面临着与2003年IBM相同的难题,如何整合这几款服务器?整合或者删减服务器体系已经成为必然,现代芯片研发行业的成本极其巨大,动辄需要几十亿、上百亿美元用于研发,同时研发多款芯片必然分散技术力量和资金,结果是没有拳头产品,所以是否整合已经无需考虑。目前尚未有来自新惠普的明确声音,猜想IA64芯片的服务器是最后归宿,只是惠普在和Intel合作开发IA-64的过程中进展不顺,导致了期间几次反复,很多早应当终结的产品线迟迟不能结束,特别是PA-RISC,甚至在停止研发之后又不得不重新续命,不知HP何时能走出此困境。
Sun的产品相对比较单纯,高端服务器使用SPARC VI芯片,低端则使用SPARC IV或SPARC III等,可以运行Solaris(是UNIX的一种改良版)。Solaris还可以跑在Intel/AMD的x86平台上,这与AIX及HP-UX不同,Sun的中端服务器就是使用AMD Opteron或Intel Xeon。Solaris自己的芯片产品化力量比较弱,幸好SUN将自己的芯片体系开放了出去,Fujisu(富士通)按照这个架构开发的最新的SPARC 64 VI有不错的性能表现,SUN现在就利用Fujisu的SPARC芯片装备自己的高端服务器。Sun的中低端服务器还可以支持Windows Server或着Linux。
1.2.3 IBM eServer pSeries
pSeries是本文的主角,IBM现在销售的最新产品系列从低到高有许多种,通常第一个数字代表CPU种类(最新的Power 6系列CPU例外,依然沿用5xx的命名规则),例如595与520的CPU是同一种类的,都是POWER 5系列的CPU(可能频率不同),690则使用的是另外一种CPU(比POWER 5落后一点的POWER 4)。而后面的两位数字则代表了该型号机器的体系架构,数字越大代表体系架构越大,可以支持更多的CPU、内存和I/O卡,可靠性稳定性越好(冗余度更高)。在CPU种类、数量和其他配置相同的情况下,体系架构更高的型号性能稍高一点(不超过10%),但价格相差很多。IBM的几个主要款式服务器如图1-12所示。
图1-12 pSeries服务器产品
图1-13是机柜内的570和桌边式520的照片。570属于中端服务器,被设计成多个抽屉式(CEC)的结构,每个抽屉最多可以放置4颗CPU,多个抽屉之间用集成电路板连接,实现高速总线互联。其他的IO卡放置在单独的IO抽屉中,通过被称为RIO(Remote IO远程IO)的电缆与CEC抽屉连接。CEC之间,CEC与IO抽屉之间的连接都是环形的,有任何一条链路发生故障,还可以从另一个方向迂回连通,具有一定的冗余性。
图1-13 pSeries 570和520
在IBM的链路设计中,一直喜欢环形的结构,环形结构是实现节点互联,同时提供单点保护的最少线路结构。随着接触IBM的产品,会越来越多地接触到环形结构。
570以下的服务器的结构都差不多,几乎等同于不同数量的CEC抽屉和IO抽屉的组合,例如520和一个竖起来的CEC抽屉一样如图1-15所示。590/595与其他型号之间外观差别比较大,为了散热、增加IO扩展能力等原因,增加了许多风扇、IO接口卡等设备,从图1-14到图1-16展示了IBM几款服务器的外观和内部结构。关于这些产品的详细信息和外观,请访问IBM的网站:
http://www-900.ibm.com/cn/products/servers/pseries/index.shtml
图1-14 p5 505Q内部结构
图1-15 p5 520外观和内部结构
图1-16 p5-550/570外观和单抽屉内部结构,p5-590/595外观
问题:高端、低端服务器有什么区别?
答案:高端低端服务器可以从三方面来区分:CPU主频、整体架构、市场策略。
(1)CPU主频
尽管有些时候,高端服务器和低端服务器使用不同类型的CPU,但通常都是一样的,区别仅在于高端服务器一般采用较高的主频,低端则采用低一些的主频。举例来说,高端服务器p690
的CPU主频有2款,分别是1.9GHz,1.65GHz;对应的低端服务器p610只有1.65GHz,1.45GHz,1.2GHz的产品。而实际上,它们的CPU都是相同的,只是主频不同(这里给想“超频”的发烧友留下了悬念)。
(2)整体架构
高端和低端的整体架构差别很大。通常高端服务器为了提供更快的处理速度、更稳定的系统,在进行设计的时候比低端考虑更多。例如支持更多的最大CPU数量、更宽的总线,更多的热插拔设备支持,更高的设备冗余度。低端服务器比高端服务器相应标准降低了许多,这样即使装配了相同数量同主频的CPU,高低端性能测试也会稍高,这是由于机器的性能不只靠CPU,还需要总线、外设的配合。由于CPU还是最关键的因素,因此差距并不会非常大。同理,同为一个等级的服务器,如果CPU增强一倍,性能也不会有超过一倍的差距,可能只增加了30%。
(3)市场策略
小型机的价格不仅与CPU型号和数量有关,还与高低端类型有关。同为8路1.65GHz的服务器,如果是高端的p670,会比低端的p650贵很多。这里面不但有体系架构的成本(670的冗余度更高),更有市场策略的原因:既然追求高端,高性能、高稳定性,厂商的销量少,自然利润率就要高一些。与这个市场策略对应,附带的服务也会更好,例如IBM对高端服务器提供原厂工程师安装、3年7天24小时响应的免费维修,而不是对低端服务器采用的集成商自己安装,1年5天9小时响应的免费维修标准。
思考题:同样的投资,买高端低配的服务器合算,还是买低端高配的服务器合算?
1.2.4 最后的对手
蓝巨人向来船大难掉头。如果在其转型之前,竞争对手能够以快制慢,抢先前三招,这个巨人就再无还手之力。Wintel联盟就是这样把IBM挤出了PC市场:先是OS/2不敌Windows,后来逼迫IBM将连年亏损的PCD(IBM PC的部门)卖给联想,尽管IBM在笔记本电脑领域还有优势,最后也不得不烈士断腕。但是如果对手没有抓住这个机会,等巨人进入了状态,就绝对再没他们的机会了。从DEC、Compaq到最后的新惠普,IBM恰好获得了这个时间,虽然Sun,HP还能支撑下去,但从UNIX服务器领域,已经没有办法继续抗衡IBM,未来IBM在UNIX服务器市场会不会找不到对手?
一个不容忽视的敌人就在眼前——PC服务器正在茁壮成长。从个人机扩展为服务器,再到与小型机争夺市场,PC的成长速度非比寻常。而且PC服务器也如同它的大哥“小型机”一样,从大型机中吮吸着先进技术,将其平民化,为己所用。虽然时至今日,小型机与PC服务器之间仍有“代沟”需要逾越,但它们之间的差距已经越来越小了。
那么小型机与PC服务器到底有什么区别?从各种性能评测指标到单一CPU处理能力,小型机似乎并不占优势,那么它昂贵的原因何在?难道仅仅是欺世盗名?市场是很公正的,一个噱头产品可以热卖一时,却不能长久。小型机之所以能占据市场几十年,向上侵蚀大型机市场,向下抵挡PC服务器的冲击,不断开疆扩土,其中还是有很多原因的,我们可以从性能、可靠性、扩展能力这几个比较有特点的方面来分析。
如果是单一CPU,PC服务器所用的Intel Xeon或者AMD Opteron并不比小型机所使用的CPU性能差。但是在PC服务器上发布的操作系统最多只支持到16颗CPU(最新的一些操作系统也可以支持更多的CPU,甚至与UNIX达到相同的支持度,例如Windows 2003 Data Center 64bit版,这开始给UNIX服务器越来越大的压力)。
与此对比,在小型机上,一台机器集成的CPU总数已经达到了几十到几百颗。目前,IBM p595配合AIX 5.3操作系统可以支持64颗POWER5 1.9GHz CPU; HP的Superdome使用PA-8900或Intel Itanium 2芯片更可以支持128颗CPU;Sun的M9000使用SPARC 64 VI芯片也可以支持128个CPU(内核)。这种超级的并行处理能力把PC服务器及Windows操作系统远远抛在后面。尽管当CPU增加后,处理能力不能完全实现线性增长,但毋庸置疑,80个CPU比8个CPU总要快得多(在相近主频和制造工艺、技术的情况下)。
不仅仅是硬件处理能力,操作系统自身的管理能力也非常重要,能够将数十个CPU充分调动起来,充分发挥每颗CPU的能力,本身就需要非常复杂的技术。另外,操作系统还要对一些内存的进程进行管理,如果某个进程有问题(例如死循环),可能会把系统的资源耗尽。UNIX在设计之初就是为更好地协调多用户、多进程之间调度而设计的,通常可以更好地控制这些耗资源的进程,在各个进程之间合理地分配CPU处理能力。最后,UNIX一般也不提供很复杂的多媒体、图形界面,而这些绚丽的用户界面却是CPU和内存消耗的大户!
由于以上原因,在低端市场,小型机完全处于劣势,但是到了高端,形势开始逆转,只有小型机才能负担得起繁重的处理任务(当然还有Mainframe大型机)。
处理能力强不仅仅靠CPU,CPU仅代表计算能力,小型机还需要IO支持,如果机器不能及时接收请求,计算完成后无法返回结果、不能保存,计算能力再强也无用武之地,或只能用于特定的计算领域。一般小型机体系设计最多都可以支持一百个以上的IO通道卡,可以提供足够的带宽将处理结果从网络发送出去或者保存到磁盘,同时还能够及时接受新任务。几乎没有哪个PC插了10块以上的IO卡,当业务量大的时候,即使CPU忙得开,IO也处理不过来。
并不是随随便便就可以增加处理卡数量的,IO控制器、总线带宽制约了可以插接的IO卡、内存和CPU的数量。因此小型机往往采用特殊的技术,来实现近乎疯狂的扩展能力。与之对比,PC和PC服务器则更多地考虑兼容性问题,可以插接各种第三方的接口卡,看重种类而不是数量,因此在接口上就不能采用很特殊的技术,要大众化,要兼容,性能自然大打折扣。这些兼容卡也使得硬件设备和操作系统更难以保证稳定可靠。通常小型机的接口卡种类也不算少,但与PC相比,则几乎都是各自生产自己的接口卡(或者OEM某些知名厂商产品),经过整体长时间测试后才能出厂,因此可靠性比较好。PC则不然,采用大家遵守同一标准的设计、生产方式生产,各自测试自己的稳定性,互连测试也以兼容性和性能为主,稳定性只要不太差,都可以接受。因此难免Windows经常蓝屏,硬件死机(为了减少这种情况,建议只使用原厂的板卡),如果发现这些兼容问题都被推到微软产品头上,比尔盖茨只能苦笑。
由于小型机性能、可靠性和扩展能力的原因,更多地被用在一些要求苛刻的商业环境里,例如银行、通信的计费/账务部门、生产流水线控制。在这些领域,要求7×24小时连续运行,单机达到全年99.9%以上的可用性(全年累计停机时间不超过50小时,包括计划内的检修和计划外的设备故障),双机达到99.99%以上(全年53分钟以内的业务中断时间)。
小型机与PC服务器相比,有许多不同点。表1-1简要对比了这些区别(以IBM pSeries小型机服务器和xSeries PC服务器为例,并且对应指标选择的是同系列中最高的,可能无法在同一台服务器上实现)。
表1-1 IBM小型机IBM PC服务器对比
未来市场到底谁领风骚?我们前文提到的各种CPU的未来前景如何?现在还难以预料,也许是小型机继续称霸,也许是PC服务器挑战成功,但作者更相信是一种介于两者之间,集两者优势于一身的新生命体,小型机的概念会越来越模糊,惠普公司运行Windows 2003 Data Center 64位版操作系统,使用IA-64芯片的Superdome服务器就是这样的一个例子。IBM由于其市场策略,尚没有让pSeries小型机运行Windows的计划,也没有让AIX跑在x86/IA64架构的计划,预计一两年之后,IBM将完成四大系列中三大系列(p, i, z)的统一,无疑要考虑x系列的最终大统一问题,到时候会发生什么我们只能拭目以待。在IBM小型机最新的操作系统AIX v6.1上提供了AVE(Advanced Virtualization Environment)功能,将可以直接运行x86 Linux程序,这似乎透露了一点信息:IBM不会给Windows在小型机上留有一线生机,但对Linux却网开一面。
图1-17是当今几款主流的Unix服务器所用的CPU的未来发展路线图,有兴趣的朋友可以访问这些CPU/服务器生产商的网站,了解他们的发展策略。
① DCM Dual Core Module双核结构
② DCP Dual Core Processor双核处理器
③ SMI Synochous Memory Interface同步内存访问接口
图1-17 几款主流CPU发展路线图
每个厂商面对未来市场走向都会一脸迷茫,无一例外,即使他们每个都信誓旦旦不遗余力地鼓吹自己预测和决策的正确性的同时,每个厂商都在自己偷偷安排后路。IBM也是如此,因此有了Monterey计划,这是IBM在小型机领域何去何从的重要转折点。
Monterey计划
微软曾经算计了IBM,使用缓兵之计,拿Windows打死了OS/2。此次IBM偷得此计,转身送给Intel/Hp的IA64联盟,又加以发挥,暗渡陈仓回敬了微软一拳,让微软进军服务器领域整整晚了5年。
不知是未卜先知还是早有预谋,Monterey(蒙特列尔,加拿大一座著名城市)这个名字背后就有诸多故事。最著名的1976年蒙特利尔奥运会预算1亿多美元,却花费了24亿美元,亏空10多亿美元,这笔债务直到去年(2007年)才还清!在当时,蒙特利尔这座仅仅拥有50万人口的小城市,建造了可以容纳5万人的奥运主体育馆,奥运结束之后,她还有后招去吸引如此之多的观众、游客去填充它么?
1998年是多事之秋,在这一年,IBM的POWER系列芯片还没有走上正轨,而Intel却如日中天。有传言说Intel没有干掉AMD,让其一息尚存是是为了避免美国反垄断法骚扰,Pentium芯片正实如其名地在奔腾中横扫市场。绝对垄断了PC市场之后,高端UNIX服务器市场无疑是利润丰厚的一大块肥肉。同一年,PC暴发户Compaq收购了DEC,IBM的小型机尚不成气候,大部分的UNIX服务器产品都是OEM自法国布尔(Bull)公司。HP已经皈依了Intel旗下,IA64的名号谁人不知,大有未来3年之后,高端CPU市场只有IA64,别人都是陪衬的架势。在这种潮流下,IBM自知难以抵挡,既然“硬”的不行,就千万别重蹈覆辙,让微软借势上马,以PC操作系统为立足点,挺进服务器操作系统。
IBM的策略很简单:用自己AIX操作系统的优势,去占据IA64硬件平台。而比IBM面临更大威胁的是SCO——这个只有软件操作系统,没有硬件平台的公司。所以Monterey计划由此两家公司发起,绝非偶然。
Monterey计划的目标是以IBM的AIX和SCO的Unixware为基础,开发出满足中高端商业服务器市场的超级OS,能够支持IA-32,IA-64架构的CPU,是运行在IA-64上的UNIX,而不是运行在IA-64上的Windows。以IBM的名号,Monterey还纠集了Acer, Bull, CETIA, Compaq, ICL, Samsung, Sequent, Unisys,当然Intel和SCO也在其中。
按照图1-18中所规划的时间表,到2001年,Monterey这个新的操作系统就会取代AIX,变成一个全新的超级OS,去和Windows死拼,而IBM的Power CPU,也许就此终结。HP就是如此,他赌上了IA-64,同时放弃了HP-UX,而转身去拥抱Windows,3年之后,IA-64和Windows NT的拙劣市场表现,让HP不得不重新起用自己的子弟兵,给PA-RISC芯片和HP-UX续命,但在IT市场,3年的时间已经太久了。
IBM却没有把全部赌注都压到Monterey和IA-64上,也许此计划都算不上是给自己留的一条退路,真实的目的是IBM在玩弄缓兵之计,因为在1998年同年,IBM研制成功了POWER 3,终于可以说赶上了RISC芯片设计第一阵营的队伍,而几个月后发布的铜芯片技术,则使IBM能够在未来3年中继续加速,最终用POWER 4/5夺回了高端CPU设计领域的霸主地位。
图1-18 Monterey计划时间表
当IBM的POWER 4发布的时候,再也不需要Monterey这个怪胎,Monterey已经完成历史使命,无疾而终,被市场遗忘。IBM此时则又举起另一杆大旗——Linux,AIX 5L应运而生。AIX 5L的意思就是AIX第5版,同时提供了Linux界面、管理方式和API支持。
由于Monterey确实支持IA-64,也有计划把IA-32(x86)纳入支持范围,因此现在还有不少人认为IBM曾经开发过跑在x86架构上的AIX,其实这个IA-64版本都没有在市场上发布(其实IBM曾经在2001年卖出了32套),只有一些软件开发商收到过用于预开发、测试的软件包。另外在AIX 3版本的时候,还曾经可以安装在x86的PC上,但在此之后,就没有任何一个版本的AIX可以安装在非POWER系列CPU的计算机上了。
如果当初IBM是真心实意在搞Monterey计划,拿这个计划可以算作IBM历史上最不成功的企划之一了,不但项目最终被放弃,由于和SCO的合作,还被SCO投诉其非法使用了SCO版权的Unix系统代码用于以后AIX的开发,惹来一场官司。