小型机和PC服务器到底有什么区别?
从各种性能测评指标到单一CPU的处理能力,小型机似乎并不占优势,那么它昂贵的原因何在?
我们可以从性能、可靠性、扩展能力这几个比较有特点的方面来分析。
如果是单一CPU,PC服务器所用的Intel Xeon或者AMD Opteron并不比小型机所使用的CPU性能差。但是在PC服务器上发布的操作系统最多支持16颗CPU(最新的一些操作系统也可以支持更多的CPU,甚至于UNIX达到相同的支持度,例如Windows 2003 Data Center 64bit版,这开始给UNIX服务器越来越大的压力)
与此对比,在小型机上,一台机器集成的CPU总数已经达到了几十到几百颗。目前,IBM p595配合AIX6.1操作系统可以支持64颗POWER6 5GHz CPU(支持128颗CPU的P595也即将发布);HP的Superdome使用PA-8900或Intel Itanium 2芯片更可以支持128颗 CPU;Sun 的M9000使用SPARC 64 VI 芯片也可以支持128个CPU(内核)。这种超级的并行处理能力把PC服务器及Windows操作系统远远抛在后面了。(Windows 2003 Datacenter 64 bit版也可以支持高达64个CPU了)尽管当CPU增加后,处理能力不能完全实现线性增长,但毋庸置疑,80个CPU比8个CPU总要快得多(在相近主频和制造工艺、技术的情况下)
不仅仅是硬件处理能力,操作系统自身的管理能力很重要,能够将数十个CPU充分调动起来,发挥每颗CPU的能力,本身就需要非常复杂的技术。另外,操作系统还要对一些内存的进程进行管理,如果某个进程有问题(例如死循环),可能会把系统的资源耗尽。UNIX在设计之初就是为了更好地协调多用户、多进程之间调度而设计的,通常可以更好的控制这些耗资源的进程,在各个进程之间合理地分配CPU处理能力。最后,UNIX一般也不提供很复杂的多媒体、图形界面,而这些绚丽的用户界面确是CPU和内存消耗的大户。
由于以上原因,在低端市场,小型机完全处于劣势,但是到了高端,形势开始逆转,只有小型机才能负担得起繁重的处理任务(当然还有Mainframe大型机)。
处理能力强不仅仅靠CPU,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服务器为例,并且对应指标选择的是同系列中最高的,可能无法在同一台服务器上实现)。
项目 | IBM小型机 | IBM PC服务器 |
CPU类型 | IBM POWER 6 | Intel Xeon,IA 64 |
CPU主频 | 5GHz | 4.2GHz |
CPU技术 | DCM,MCM,SMP,NUMA | DCP,SMP |
一级缓存 | 64K D,64K 1,同步 | 32K |
二级缓存 | 4MB,160GB/s,core | 1MB |
三级缓存 | 32MB,45GB/s,core | 无 |
最多CPU数 | 64(当前发布,设计支持512) | 8-32 |
最大内存容量 | 2TB DDR1或256GB DDR2 | 64G DDR2 |
内存总线频率 | 266或533MHz | 533MHz |
内存访问技术 | SMI 2 | SMI 2 |
系统总线 | GX Bus | 无(前端总线) |
系统总线带宽 | 72GB/s | 6.4GB/s |
IO总线 | PCI-X | PCI-X |
最多IO卡 | 240 | 20 |
热插拔能力 | 几乎所有部件 | CPU等关键部件 不能热插拔 |
分区 | 硬件分区(逻辑分区) | 软件分区(VMWare/VirtualPC) |
最多分区数 | 1024 | N.A |
分区粒度 | 0.1CPU | 1-4CPU |
分区方式 | 静态、动态、微分区 | 共享,软件分区 |
分区间负载调整 | 硬件及软件(Virtualzation Engine) | 分区软件动态管理 |
硬件管理方式 | 单独HMC | 本机控制台BIOS |
操作系统 | AIX,Linux | Windows,Linux,Solaris |
操作系统核心 | 动态内核 | 静态内核 |
支持商业软件 | 各种大型商业应用软件 | 开始从小型机向下移植 |
IBM由于其市场策略,尚没有让pSeries小型机运行Windows的计划,也没有让AIX跑在x86/IA64架构的计划,预计一两年之后,IBM将完成四大系列中三大系列(p,i,z)的统一,无疑要考虑x系列的最终大统一问题,到时候会发生什么我们只能拭目以待。在IBM小型机最新的操作系统AIXV6.1上提供了AVE(Advanced Virtualization Enviroment)功能,将可以直接运行x86 Linux程序,这似乎透露了一点信息:IBM不会给Windows在小型机上留有一线生机,但对Linux却网开一面。
32 bit
Intel x86----------------------------------------------------------->
AMD X86----------------------------------------------------------->
64 bit
Intel Itanimum------------------------------------------------>
AMD Opteron--------------------------------------------->
Intel x86-64---------------------------->
IBM POWER----------------------------------------------------------->
HP PA-RISC------------------------------->(2007)
Sun UltralSPARC--------------------------------------- (Fujitsu)---->
IBM HP DELL SUN
IBM POWER Intel Itanimum Intel Itanium Sun UltraSPARC
高端 Intel Itanimum HP PA-RISC Fujitsu SPARC
中端 IBM POWER Intel Itanium Intel Itanium Sun UltraSPARC
Intel Itanimum HP PA-RISC
AMD Opteron
低端 IBM POWER Intel Itanium Intel Itanium Sun Ultra SPARC
Intel x86-64 Intel X86-64 Intel x86-64 AMD Opteron
Intel Itanimum AMD Opteron
AMD Opteron HP PA-RISC