IBM系统工程师论“传统小型机”与“PC服务器”区别
我把在IBM UNIX WORLD上听到的IBM系统科技事业部System p系统工程师朱汉东先生的讲解搬来共享给大家。你从中找自己想了解的那部分吧,小型机说了很多年,PC服务器也是大家比较熟悉的,他们区别还是非常大的,UNIX 跟PC服务器的CPU不同,最简单台式机、笔记本用的CPU Intel的奔腾等非常清楚。但是提小型机处理器的名字都搞不清楚,现在他们用的CPU处理器都叫RISC处理器,常见的Intel包括AMD都是CISC处理器,那RISC跟CISC有什么区别,RISC是精简指令集计算机,CISC是复杂指令计算机。
RISC技术是IBM一个研究院在1974年发明的,IBM对计算机研究非常深入,在70年代就发现我们能够用20%的指令就可以完成80%的工作,并且这20%的指令都是非常简单和基础的指令。如果要另外完成20%工作需要非常复杂的指令,如果要在CPU里面实现指令,就导致CPU非常复杂,这个机器效率非常低,所以这就导致RISC技术的产生,RISC技术改写了计算机发展的历程。技术产生导致RISC System/6000的诞生。 其实RISC技术,CPU是一种架构,这里面有非常多的型号,POWER5是比较典型的代表。IBM的POWER在RISC芯片里面典型代表,RISC有一个二次跟八次法则,它的效率非常高,功率非常低,可靠性非常高。CISC代表性是大家非常了解的x86,在至强这一代处理器是非常典型的,它的特点主频非常高,但是效率非常低,散热量非常大,曾经看到一个新闻,以后CPU可以煮鸡蛋都有可能。
RISC和CISC两种架构,设计的理念完全不同,所以中间的主频没有任何可比性,最重要看实际的性能。 IBM POWER6会出超过4个G的了。这里要谈一下大家非常关心安腾,这两天大家看到网上关于Intel 安腾2CPU终于出来了,现在谈双核已经不是先进技术了,IBM在2001年POWER4已经是业界第一款双核处理器。安腾是不是RISC,安腾不是 RISC架构,那它是什么架构,他有一个架构是EPIC,这是这两年刚刚诞生的,它是不是比RISC或CISC更先进的,它不是,它是两个不兼容的东西,它既不是一个更先进的技术,也不是有什么新的发明。 跟CPU紧密相关的,64位、32位,这是我们经常说的x86,从8位到16位到 32位,这两年炒64位和双核非常多。这64位和32位有什么区别,为什么64位包括X86体系架构,如果32位物理内存只能访问4G,一次访问最大的物理内存,当然也可以通过其他的手段访问超过4G的内存,以前8086、8088要访问1M内存采用非常复杂的技术,在今天4G的内存对于很多应用显得太小了,尤其是数据库的操作,尤其是一些Java的应用服务器,Java非常吃内存的,4G内存非常小的,我这个机器配了1G内存,IBM跑System p系列服务器,如果我给你做一个方案,我们就要做一个配置,我们怎么配,怎么连,这程序是Java写的非常吃内存,所以在64位机器可以提供存储空间到 64位,64位的空间多大?也就是2的64次方,比2的32次方高太多,并且可以对64位数据进行数学和逻辑运算。
它表示数据的范围更大,它的精度更准,对于大型数据库支撑能力更强,以及对SMP扩展能力,一个存储器支持CPU个数更多了。其实64位计算从IBM,从p的角度谈得很少,因为我们在1997年、1998年谈得最多的,IBM RS/6000就发布了RS64处理器,是第一款64位处理器,从那时代开始我们CPU已经全部是64位,这中间经过POWER4,POWER4+, POWER5以及POWER5+,所以我们今天64位已经是非常成熟的技术。AMD64跟Intel EM64T是什么关系?在x86情况下的扩充,引进了64位的指令,在32位模式下不能算作典型的64位处理器,所以现在应该叫x86-64,而不是+ 64,真正64位处理器IBM POWER是真正64位处理器。包括EM64T是什么意思?是增强型的64位内存技术,仅仅是一个访问64位的内存,很多寄存器还是32位上操作,所以不是一个典型或完全意义的64位操作期,这跟我们说RISC64位完全两码事。
这里面看一下IBM POWER的处理器,今天谈的2001年POWER4是一个划时代的,2001年p系列,UNIX有绝对优势领先竞争友商,业界第一款双核机器,到今天很多人讨论真双核,假双核,其实真正第一款双核处理器IBM2001年p690到p615已经全部商品化了,我们客户享受双核技术已经很多了年。 中间经过POWER4+引进动态逻辑分区,现在大家讨论做虚拟机,实际上IBM在 POWER4+已经到动态逻辑分区。到POWER5引进并发多线程,到POWER5+引进了四核处理器,引进了微分区,这都是我们非常先进的技术。并且我们POWER6是呼之欲出的产品,很快大家可以看到更先进的产品。
今天POWER5+产品上的CPU类型,一个是505、510到570年用的DCM 的类型,也就是双核模块处理器,一个里面有两个CPU。两个CPU在蓝颜色里面,粉色的是缓存。高端服务器是多核模块,在一个里面封装了八个POWER5 +的处理器,其实中间四个里面每个两个CPU,角上四个是三级缓存,每个里面有36M。在POWER5的时候,在中低端服务器,主要用双核处理器,505 到570用的效率非常高。
在高端服务器上,590、595扩展到32个、64个CPU,我们发展了更先进的MCM技术,用户对性价比要求非常高,IBM从去年开始发布了QCM(四核处理器),把先进的封装工艺放到中低端服务器上,产生了四核处理器,今天505Q到560Q,今天的产品线凡是产品后面带Q都采用4颗处理器,既具有高端服务器的先进封装技术,又具有高端的性能,我们可以在同样的机器里面安装更多CPU个数,性价比更高一些,让中低端用户可以用到高端的先进性和优越性。
坦白来说关于内存方面翻一番质量,我们用处四的都是DDR533的内存,这已经是非常先进的内存了,PC服务器也有DDR533的内存,当然更多是SDR,还有更高端用DDR633和DDR667的内存,内存有两个关键,一个是内存的带宽,是DDR多少的主频,还有一个就是内存的可靠性是一个非常重要的话题,比如碰到Windows蓝屏那是典型的内存错误,p系列用的内存是 DDR533,这不是最好的也是差不多最好的内存。 内存Chipkill什么意思?中间相当于一个内存桥,上面有一些空闲或多余的内存位置,比如内存条1G,实际上内存容量比1G要多,设计专门留出一部分做冗余,大家看到存的信息非常像读取硬盘,分配到四个ECC words里,如果有原因导致内存错误,就可以把错误的信息有可能恢复回来,这样避免非常多的内存错误。这是我们Chipkill内存,早在p系列诞生之前就已经发明了这个技术,我们把这个技术用在IBM的System p上面。
在PC服务器里面,非常多的主流内存保护技术,HP的ProLiant非常有代表性,它主要是Advanced ECC,还有Online Spare,ECC谈了很多年,就是错误检测的校验,只能修正一位的错误,如果两位错误修正不了,Chipkill可以检测和修复多位错误,到底可以修复多少错误,根据你错误发生的原因不同,有不同的级别,有能恢复和不能恢复的,这有一个第三方的研究报告,采用Chipkill内存以后可靠性比ECC提高 100倍。
前面谈了CPU和内存,你用一台小型机也不会拆开来看看,所以大家在使用的过程中经常涉及小型机的扩展性,这是我们实际应用非常重要的考虑因素,你的服务器要满足什么样的应用环境非常重要。扩展性两方面,一个水平扩展性,另一个垂直扩展性。水平扩展性是指一台服务器内部有多大的扩展空间,同一台服务器配多说CPU和内存,有多少卡,有多大连接能力,以及它的灵活性。p系列服务器,从最低端到最高端的595都有强大的扩展性,System p550Q,在4U的主机柜,这里面可以选择配两颗CPU或四颗CPU双核的,如果配双核可以配两颗或四颗的,也可以选择四颗处理器,或者8个,如果选择 4个有1.5/1.6不同的配置,所以一个4U的服务器,可以配出非常多的组合,所以扩展性非常好。 垂直扩展性是整个产品线上下有多大的跨度,一台机器应用,现在国家经济发展非常快,我的应用在这上面部署,可能过了三年,业务的压力翻了一个数量级,需要更大的机型才能支持,p5机型,算POWER5的处理器,不算其他POWER PC和刀片服务器,最少配一个1.5GHz CPU,最大是63个2.3GHz处理器,最高tpmC可以做到400万。
PC服务器支持的可扩展性一般不超过4路CPU配置,只有IBM可以做到16个 CPU,因为x86体系结构只能允许4颗CPU,并且市场上PC服务器大部分是1路、2路以下的服务器占据市场绝大部分市场份额。如果你的应用将来增长非常大,选PC服务器迟早有一天不够用。
这里是看一下p系列产品,IBM p系列扩展有三,一种是向上扩展,一种水平向外扩展,还有一种是内部扩展。从最低端p5185到最高端590、595的64颗2.3GHz为MCM的处理器。这里面带Q的是四颗处理器。还有刀片服务器,工作站等产品线。向上扩展和向外扩展很好理解。什么叫内部扩展,买一个POWER5+处理器可以同时运行两个线程,有人说这和多线程没什么区别,但是这里面IBM并发多线程跟大家说的多线程有什么区别? 其实有一个非常大的区别,它是CPU自己实现的硬件多线程,假设一个505Q只有1U配了4个CPU,操作系统会列出8个CPU,有4个是物理CPU,每一个CPU有两个并发的多线程,所以系统认为是8个CPU的服务器。如果是64个CPU配满,操作系统会认为 128个CPU的服务器。所以这可以内置每一个POWER5的处理器。有了这技术可以无偿获得性能的提升,尤其是数据库,或者Java的服务器,根据实验室统计是可以免费获得40-45%之间的性能提升。
下面介绍一下扩展性,这是IBM System p5 560Q的机柜,后面有非常多的PCI扩展线,可以支持非常多的网络设备、存储设备等。这是内部这是CPU book,每一个里面就有4个CPU,如果装两个book就8个CPU。560Q是一个中档的服务器,它tpmC值可以满足相当多客户的要求,可以个 CPU,这里面配一个板子,再加一个CPU的book。如果八颗CPU服务器的560的tpmC值接近60万,很多中小型客户最大值也就这么多,但是考虑将来业务的扩展性,这机器要到16路,你再会再加一个,你的系统不会重装,也不需要重新部署。
前面谈的都是一些具体的物理上的东西,CPU、内存、主频、扩展性等,小型机和PC 服务器架构完全不同,它们比较CPU主频没什么可比性,更多的是看服务器的最终性能,这在大家平时的选型和使用过程当中有直接联系的。一般考虑性能并不等于主频,性能到底等于什么?性能最好用你跑的应用是在线交易,是Java服务器,还是网络服务器等,比如TPC-C测试,它是衡量服务器的综合性指标,不是只衡量CPU或者内存,是衡量机器CPU到内存到I/O体系的连接,可以说是一个全能的体现。
从TPC-C交易委员会官方网站上得到的结果,不分厂商还是单机,现在达到最好的结果前四名,这里面没有一台PC服务器进入这个排名,其实不光没有进入前四名,实际上离前十名远得很。我们看在已经公布的47次测试结果,有45次在10万以下,只有两次一个是11万,一个是14万。如果你的业务tpmC要超过10万,比如校园一卡通的项目,tpmC值都奔着2、30万去了,所以PC服务器根本做不到。从性能角度来看,它们的差别非常大。
回到最早的UNIX和Windows操作系统不同,PC服务系更多跑 Windows,也有用户跑Linux,如果跑Linux非常接近UNIX,小型机都是跑UNIX,前面提到对小型机厂商CPU型号不太了解,可能觉得 UNIX操作系统的名字也怪怪的,UNIX AIX是我们小型机操作系统的名字。UNIX主要是多用户,多任务的网络操作系统,而Windows主要面向个人用户的操作系统,从开始诞生到现在发展就是完全不同的,UNIX安全性非常高,系统管理性强,UNIX主要跑后台服务,以及中间件或数据库等。
有人觉得奇怪UNIX那么难用,都是命令行怎么还说是管理功能很强的操作系统,当你真正要管理一个后台服务器的时候,你发现命令行非常简单、非常直接。反过来Windows操作系统的安全性差,经常会中病毒,甚至把整个机器废掉的可能性都有,它的漏洞和Bug太多。但是Windows也有优点就是界面美观,易用性强,以及游戏软件和办公软件丰富。小型机里面 UNIX操作系统非常多,比如IBM的AIX等大家平时接触的更少,Gartner做了一个预测,2008年以后,操作系统仅存在三种AIX、Linux 和Windows,也就是在小型机UNIX领域,AIX是代表性的环境,其他的友商UNIX操作系统的份额将越来越少。今天在AIX上的投入是有保证的。
AIX操作系统是一个稳定性、扩展性、操作性强的UNIX操作系统,它的安全性非常好,AIX带一个L是什么意思,和Linux有非常好的亲和性,亲和到什么程度,一种在AIX上面可以跑绝大部分Linux的应用,比如不喜欢AIX的环境和界面,喜欢Linux的KDE的界面。
总结一下,回答最开始的问题,我们给大家客观比较一下,UNIX和PC服务器有什么不同,UNIX小型机性能好、安全性高,扩展性强,运行关键性服务,是企业级客户的选择。PC服务器性能低,安全性较差,扩展性受局限,有大量廉价的兼容配件,并且便宜,界面也好,个人使用方便。 当你考虑小型机的时候,IBM p系列有非常大的优势,相对友商的UNIX的小型机,我们有POWER虚拟化技术,以及POWER5的强大性能,还有RAS功能,内存可靠性只是其中一方面,以及对POWER的长久承诺,这是一个关键的技术,IBM POWER是IBM核心技术,IBM对这个架构有非常长久的承诺,不像其他厂商像RISC芯片前途已经十分渺茫。UNIX和Linux有很好的结合性,在我们产品有非常多的选择,包括最低端一直到最高端的,从价格上从5万不到一直到几十万、几百万的服务器都有,有非常大的灵活性供大家选择。