论文部分内容阅读
现在是PC服务器的黄金时代。随着芯片供应商开发出速度更高的芯片,PC服务器供应商逐渐采用8路多处理技术并提高服务器的可靠性,曾经一度平平庸庸的PC服务器终于走出了困境。但是,很多方面的进展很缓慢。
例如并非大部分市场都做好了接纳8路Intel服务器的准备,甚至有的大供应商——例如Gateway和Toshiba America——也还不准备开发这种服务器,这是因为PC服务器在可靠性、可用性和伸缩性方面仍不完善,使得它们不能成为关键应用的理想选择;这一领域仍然被大型机、RISC/Unix机器和AS/400主宰着。
处理器是使人产生技术进步错觉的另一个原因。到2000年,新一代64位处理器将使目前的32位芯片黯然失色,但开发新硬件运行的操作系统和软件要花一年甚至更多时间,所以在大多数情况下,64位服务器的性能和32位服务器差别不大。此外,Intel服务器运行的大多数常见应用——文件和打印服务、电子邮件和数据库——对计算机的配置要求不高;随着I/O操作极其频繁的Internet应用——例如Web服务和电子邮件——成为Intel服务器的最大增长点,这种趋势会长期存在下去。
使PC服务器进展缓慢的原因之一是供应商面临的竞争压力越来越大,他们必须降低价格才能生存。因为大多数客户希望用不多的钱买到处理器速度最快,磁盘空间最大,以及I/O最多的服务器。当然,Compaq、Data General、Dell、HP和IBM等PC服务器制造商将不会接受目前的市场格局,因为这和他们的利益冲突。他们希望开拓新市场,并给自己的销售人员提供制胜法宝。以合理的价格提供的新功能,包括一些I/O增强,例如速度更快、可靠性更高的PCI(例如PCI-X和热插拔PCI)。
其他功能——例如8路多处理技术——不过是给供应商自己增强一点竞争优势而已,而不是满足真正的市场需求。同时,供应商正在筹划象交换式点对点I/O这样的新功能,旨在使PC服务器吸引更多的买家。
8路服务器
PC服务器使用的8路多处理技术使用Profusion芯片集,该芯片集建立在Intel收购Corollary之后所获得的技术之上。虽然Intel几次延期推出这种芯片集,但Compaq、Data General、Dell、HP、IBM、Toshiba America和其他供应商已经开始在自己的服务器里使用这种芯片集。
PC服务器供应商声称他们的8路服务器面向计算机密集型应用,包括数据挖掘(data mining)和决策信息系统(executive information system)、数据中心应用、服务器合并,以及Internet应用。但是,市场研究公司Standish Group (www.standishgroup.com)总裁James H. Johnson认为目前的Intel服务器在可靠性、可用性和管理性方面不能满足关键应用的要求。
这一问题的根源主要在于流行的PC服务器操作系统,例如Linux和Windows NT。目前Linux的伸缩性不好,虽然有很多程序员在为克服这一问题而努力,但就目前的情况而言,它仍然是一种只支持一个处理器的操作系统。 NT的伸缩性相对较好,可以支持4个处理器,目前正在向支持8个处理器这一方向发展。但Johnson指出,它不能同时高效运行多个应用,而且在可靠性、可用性和管理性方面远远不如Sun Solaris。据Johnson称,由于存在这些缺陷,有人在NT环境里运行关键应用时遇到了一些麻烦。
奋起直追
为了尽可能提高Intel服务器平台的可靠性、容错能力和管理性,很多供应商正在给PC服务器增加只有大型机、小型机和RISC/Unix机器才有的功能,例如IBM正在把高端机器的成熟技术移植到PC服务器里。该公司的高可靠“芯片杀伤校正”(chip kill correction)内存最初是为NASA下属的Mars Rover部门开发的,即使在线模块的一个内存芯片丢失了,计算机也可以照常运转。现在它是Netfinity 7000 M10服务器的任选件,但很快会成为其他高端Netfinity产品的标准内存技术。
从高端系统借用过来提高可靠性的另一种技术是SP Switch,1998年年初IBM首次在Netfinity PC服务器里引入这种技术。这种技术源于IBM RS/6000,提供点对点I/O,因此一个网卡发生故障并不会影响其他网卡或者磁盘控制器。与SCSI和Fibre Channel Arbitrated Loop(FC-AL)等共享总线体系结构相比,这是一个了不起的进展。
PC服务器供应商声称,通过使用错误校正内存、冗余电源、冗余风扇、冗余磁盘,以及热交换部件(例如磁盘和网卡),他们的硬件可以达到99.9%的运行时间。这意味着每年有9个小时的停机时间,这里假定全天候运行,但不包括与操作系统和软件故障有关的停机。对于需要8路服务器支持的应用来说,停机1小时造成的损失可能高达数十万美元。
相比而言,大型机、AS/400和RISC/Unix机器的可靠性通常可以达到99.999%,也就是说每年的停机时间只有5分钟左右。这两个数据引出了一个问题,那就是究竟使用Intel服务器还是可靠性更高的机器更合算。
提高容错能力
虽然PC服务器供应商正在用RAID存储器、UPS和冗余部件“加固”自己的服务器,但要真正实行冗余是一段漫长的里程,例如目前的PC服务器不支持CPU和内存冗余,而且即使是冗余最好的PC服务器可能也无法逃过水灾或者火灾的威胁。
冗余服务器可以解决个别服务器的局限性,例如Novell NetWare早在几年前就有服务器镜像功能,如果其中一个服务器发生故障,另一个服务器可以继续运行,而不中断用户服务。从用户角度来看,两个服务器就象一个服务器一样。
Windows NT也有类似的解决方案。Marathon Technologies Endurance 4000采用4个NT服务器组成一个冗余系统。4个服务器分成两组;在每组服务器里,一个服务器专门负责处理,另一个负责网络和磁盘I/O。两个计算部件(Compute Element,CE)保持同步,看起来就象两个I/O处理器一样。如果一个CE或者I/O处理器发生故障,另一组里的后备系统立即接替它的工作,不会中断服务。两组服务器的最远距离为1.5公里,可以使用点对点多模光纤把它们连接起来,这样可以避开水灾和火灾等自然灾害的威胁。
Marathon强调Endurance不是群集技术,和Microsoft Cluster Server(MSCS)等解决方案相比有3个优点。
首先,在发生故障时不中断服务,服务器可以实现故障转移。可以在不停止操作系统或者应用的情况下维修硬件,只需断开发生故障的CE或者I/O处理器的电源并换上新部件。当系统再次通电时,Endurance自动使两组服务器实现同步。而在MSCS环境里,用户将不得不中断网络服务,有时可能只中断1分钟,但有时可能会长达1个小时。
其次,Endurance可以支持所有应用,无论是自己开发的还是买来的现成应用。在MSCS环境里,必须修改应用才能实现透明故障转移,而且只有寥寥几个现成程序支持MSCS。
第三,把处理和I/O分开可以避免内存争用。这意味着I/O模块的General Protection Fault(GPF)将再也不会使应用崩溃了。
当然,Endurance软件也有不足之处,那就是你得花钱买,而MSCS是NT Enterprise Edition的标准功能,基本上是免费的。除此之外,运行Endurance需要4个服务器,而运行MSCS只需2个服务器。然而,由于MSCS要求使用功能更强大的机器运行NT Enterprise Edition,所以4个Endurance机器的成本可能比2个MSCS机器的成本还要低。
此外,Endurance使用计算资源的效率不高。在MSCS群集环境里,2个服务器在正常操作情况下执行独立的处理任务;而在Endurance环境里,两个CE执行相同的处理任务,在正常操作过程中浪费了一个CE的处理能力。实际上,你所需要的处理能力比一个CE的处理能力还要小。由于Endurance机器要相互通信,致使性能降低10%左右。
由于Endurance I/O模块并行运行,但并不紧密,所以它们基本上不可能同时发生软件故障。相反,两个CE保持同步,所以两个部件有可能同时发生软件故障。为此,把Endurance服务器配置成群集可能更有意义。Endurance提供高级硬件故障保护,可以消除很多常见的软件故障,而群集技术是把软件故障造成的停机降到最低限度。
1999年6月,HP选择Endurance作为HP NetServer的“可用性保证”(Assured Availability)解决方案。因此,用户可以在世界各地通过HP的服务和支持队伍获得Endurance支持服务。
例如并非大部分市场都做好了接纳8路Intel服务器的准备,甚至有的大供应商——例如Gateway和Toshiba America——也还不准备开发这种服务器,这是因为PC服务器在可靠性、可用性和伸缩性方面仍不完善,使得它们不能成为关键应用的理想选择;这一领域仍然被大型机、RISC/Unix机器和AS/400主宰着。
处理器是使人产生技术进步错觉的另一个原因。到2000年,新一代64位处理器将使目前的32位芯片黯然失色,但开发新硬件运行的操作系统和软件要花一年甚至更多时间,所以在大多数情况下,64位服务器的性能和32位服务器差别不大。此外,Intel服务器运行的大多数常见应用——文件和打印服务、电子邮件和数据库——对计算机的配置要求不高;随着I/O操作极其频繁的Internet应用——例如Web服务和电子邮件——成为Intel服务器的最大增长点,这种趋势会长期存在下去。
使PC服务器进展缓慢的原因之一是供应商面临的竞争压力越来越大,他们必须降低价格才能生存。因为大多数客户希望用不多的钱买到处理器速度最快,磁盘空间最大,以及I/O最多的服务器。当然,Compaq、Data General、Dell、HP和IBM等PC服务器制造商将不会接受目前的市场格局,因为这和他们的利益冲突。他们希望开拓新市场,并给自己的销售人员提供制胜法宝。以合理的价格提供的新功能,包括一些I/O增强,例如速度更快、可靠性更高的PCI(例如PCI-X和热插拔PCI)。
其他功能——例如8路多处理技术——不过是给供应商自己增强一点竞争优势而已,而不是满足真正的市场需求。同时,供应商正在筹划象交换式点对点I/O这样的新功能,旨在使PC服务器吸引更多的买家。
8路服务器
PC服务器使用的8路多处理技术使用Profusion芯片集,该芯片集建立在Intel收购Corollary之后所获得的技术之上。虽然Intel几次延期推出这种芯片集,但Compaq、Data General、Dell、HP、IBM、Toshiba America和其他供应商已经开始在自己的服务器里使用这种芯片集。
PC服务器供应商声称他们的8路服务器面向计算机密集型应用,包括数据挖掘(data mining)和决策信息系统(executive information system)、数据中心应用、服务器合并,以及Internet应用。但是,市场研究公司Standish Group (www.standishgroup.com)总裁James H. Johnson认为目前的Intel服务器在可靠性、可用性和管理性方面不能满足关键应用的要求。
这一问题的根源主要在于流行的PC服务器操作系统,例如Linux和Windows NT。目前Linux的伸缩性不好,虽然有很多程序员在为克服这一问题而努力,但就目前的情况而言,它仍然是一种只支持一个处理器的操作系统。 NT的伸缩性相对较好,可以支持4个处理器,目前正在向支持8个处理器这一方向发展。但Johnson指出,它不能同时高效运行多个应用,而且在可靠性、可用性和管理性方面远远不如Sun Solaris。据Johnson称,由于存在这些缺陷,有人在NT环境里运行关键应用时遇到了一些麻烦。
奋起直追
为了尽可能提高Intel服务器平台的可靠性、容错能力和管理性,很多供应商正在给PC服务器增加只有大型机、小型机和RISC/Unix机器才有的功能,例如IBM正在把高端机器的成熟技术移植到PC服务器里。该公司的高可靠“芯片杀伤校正”(chip kill correction)内存最初是为NASA下属的Mars Rover部门开发的,即使在线模块的一个内存芯片丢失了,计算机也可以照常运转。现在它是Netfinity 7000 M10服务器的任选件,但很快会成为其他高端Netfinity产品的标准内存技术。
从高端系统借用过来提高可靠性的另一种技术是SP Switch,1998年年初IBM首次在Netfinity PC服务器里引入这种技术。这种技术源于IBM RS/6000,提供点对点I/O,因此一个网卡发生故障并不会影响其他网卡或者磁盘控制器。与SCSI和Fibre Channel Arbitrated Loop(FC-AL)等共享总线体系结构相比,这是一个了不起的进展。
PC服务器供应商声称,通过使用错误校正内存、冗余电源、冗余风扇、冗余磁盘,以及热交换部件(例如磁盘和网卡),他们的硬件可以达到99.9%的运行时间。这意味着每年有9个小时的停机时间,这里假定全天候运行,但不包括与操作系统和软件故障有关的停机。对于需要8路服务器支持的应用来说,停机1小时造成的损失可能高达数十万美元。
相比而言,大型机、AS/400和RISC/Unix机器的可靠性通常可以达到99.999%,也就是说每年的停机时间只有5分钟左右。这两个数据引出了一个问题,那就是究竟使用Intel服务器还是可靠性更高的机器更合算。
提高容错能力
虽然PC服务器供应商正在用RAID存储器、UPS和冗余部件“加固”自己的服务器,但要真正实行冗余是一段漫长的里程,例如目前的PC服务器不支持CPU和内存冗余,而且即使是冗余最好的PC服务器可能也无法逃过水灾或者火灾的威胁。
冗余服务器可以解决个别服务器的局限性,例如Novell NetWare早在几年前就有服务器镜像功能,如果其中一个服务器发生故障,另一个服务器可以继续运行,而不中断用户服务。从用户角度来看,两个服务器就象一个服务器一样。
Windows NT也有类似的解决方案。Marathon Technologies Endurance 4000采用4个NT服务器组成一个冗余系统。4个服务器分成两组;在每组服务器里,一个服务器专门负责处理,另一个负责网络和磁盘I/O。两个计算部件(Compute Element,CE)保持同步,看起来就象两个I/O处理器一样。如果一个CE或者I/O处理器发生故障,另一组里的后备系统立即接替它的工作,不会中断服务。两组服务器的最远距离为1.5公里,可以使用点对点多模光纤把它们连接起来,这样可以避开水灾和火灾等自然灾害的威胁。
Marathon强调Endurance不是群集技术,和Microsoft Cluster Server(MSCS)等解决方案相比有3个优点。
首先,在发生故障时不中断服务,服务器可以实现故障转移。可以在不停止操作系统或者应用的情况下维修硬件,只需断开发生故障的CE或者I/O处理器的电源并换上新部件。当系统再次通电时,Endurance自动使两组服务器实现同步。而在MSCS环境里,用户将不得不中断网络服务,有时可能只中断1分钟,但有时可能会长达1个小时。
其次,Endurance可以支持所有应用,无论是自己开发的还是买来的现成应用。在MSCS环境里,必须修改应用才能实现透明故障转移,而且只有寥寥几个现成程序支持MSCS。
第三,把处理和I/O分开可以避免内存争用。这意味着I/O模块的General Protection Fault(GPF)将再也不会使应用崩溃了。
当然,Endurance软件也有不足之处,那就是你得花钱买,而MSCS是NT Enterprise Edition的标准功能,基本上是免费的。除此之外,运行Endurance需要4个服务器,而运行MSCS只需2个服务器。然而,由于MSCS要求使用功能更强大的机器运行NT Enterprise Edition,所以4个Endurance机器的成本可能比2个MSCS机器的成本还要低。
此外,Endurance使用计算资源的效率不高。在MSCS群集环境里,2个服务器在正常操作情况下执行独立的处理任务;而在Endurance环境里,两个CE执行相同的处理任务,在正常操作过程中浪费了一个CE的处理能力。实际上,你所需要的处理能力比一个CE的处理能力还要小。由于Endurance机器要相互通信,致使性能降低10%左右。
由于Endurance I/O模块并行运行,但并不紧密,所以它们基本上不可能同时发生软件故障。相反,两个CE保持同步,所以两个部件有可能同时发生软件故障。为此,把Endurance服务器配置成群集可能更有意义。Endurance提供高级硬件故障保护,可以消除很多常见的软件故障,而群集技术是把软件故障造成的停机降到最低限度。
1999年6月,HP选择Endurance作为HP NetServer的“可用性保证”(Assured Availability)解决方案。因此,用户可以在世界各地通过HP的服务和支持队伍获得Endurance支持服务。