谈IBM UNIX服务器的技术优势(1) 1.什么是MBB结构 MBB的全称是Modular Building Block,每个BB(Building Block)可包含4路CPU,若干内存和I/O卡。在Sun服务器上称BB为board;在HP服务器上称BB为cell;在原先的Compaq服务器上称BB为quad。不同BB内的CPU可以有不同的时钟频率。所有的BB通过一种称为crossbar switch的交换机制连接在一起。crossbar switch可以提供BB之间的点对点的高速连接。 采用MBB技术可以比较容易的设计出拥有更多数量CPU的服务器。在这种服务器上既可以运行一个操作系统,也可以在一个或多个BB上运行多个操作系统。这就是所谓的服务器(基于物理分区)的逻辑分区。 MBB技术从出现到现在已经超过十年了,最早是由Sequent (NumaQ)公司在八十年代末到九十年代初时发明并采用的。Cray公司在九十年代初时在它的Cray 6400上采用了MBB技术,该机型是Sun E10000的前身;Compaq公司在2000年一季度发布了它的基于MBB技术的机型Wildfire (GS320);HP公司发布了业界最后一款基于MBB技术的机型Superdome,那是在2000年三季度。Sun公司在2001年三季度发布的Starfire (F15K)在体系结构上并无变化,只是将原来E10000上的CPU换成了SPARC3而已。 2.MBB结构的优点 基于MBB技术的服务器是由多个BB构成的,所以它天生具有物理分区(Physical Partition)的特性。前面提到在MBB服务器上存在一个连接BB的互连机制(crossbar switch),它工作在一个固定的时钟频率上。 例如,在Sunfire服务器上的Uniboard机制就是完成这种互连功能的。其总线时钟是150MHz,不管CPU的主频是多少(600,750,900,1050MHz),它是固定不变的。所带来的问题是数据/指令被传送出去的等待时间过长。这是典型的高CPU时钟频率和低总线速度的矛盾。 所有的MBB结构的服务器都具有一个"显著"的优势:可以热插拔CPU板和内存板。这是因为每一个BB是物理分开的,每个4路CPU板可以单独从系统中隔离出来并将其下电。 但有一点需要注意:在一个运行的系统中,从一个BB中拔出CPU、内存或I/O板是有限制的,这基于每个机型的设计不同而不同。例如,Sun 6800服务器就有一个警告标签,其注明每个Uniboard槽在系统运行时空槽位的时间不能超过60秒(而且电源、温度等环境因素必须控制在一定的范围内)。由此推断,F12K/F15K可能时间会更短。 3. MBB结构的缺陷 HP公司当初发布Superdome服务器时,曾公布了它与HP其它Unix服务器的相对性能值。64路CPU的Superdome(MBB结构)的相对性能值是20,8路N4000(共享结构)的相对性能值是6.3。我们可以看到,8倍数量的CPU换来的只是3倍性能的提升。 造成这种现象的根本原因就在MBB结构上。Superdome上的每个cell(BB)里的CPU、内存或I/O卡可能需要访问其它cell里的数据。crossbar switch在cell之间建立点对点的连接,但同时带来延迟(latency)。即如果一个连接请求建立不成功时,则会再试一次直到建立连接成功,而此时其它的连接请求将会等待。在实际环境中,很多客户通过建立物理分区(每个分区中最多12到16个CPU)的方法来尽量减少这种延迟的影响。这种做法将原来CPU个数较多的机器分成了若干个有较少CPU个数的机器,当然也就不是原来宣称的服务器的扩展性了(例如具有64路CPU的服务器)。