x86 Vs 小型机 性能较量面面观设备硬件
x86系统最早起源于8086芯片组,而芯片组的主处理器是由Intel和AMD所制造。随后,越来越多的厂商将该芯片应用到台式机,笔记本以及服务器上。如今的企业服务器市场上,少数几家厂商占据了绝大多数的市场份额。目前,市场上主流的x86服务器包括:
1.IBM x系列服务器
2.HP Proliant DL/ML以及BL服务器
3.NEC Express服务器
4.Dell PowerEdge
5.Sun(Oracle) Sun Fire和Netra
UNIX则是针对AIX,Solaris,HP-UX等操作系统的一项认证,这些操作系统面向基于RISC指令集的硬件。UNIX操作系统和硬件通常是由同一家制造商开发。主要生产UNIX系统的厂商及产品有:
1.IBM的POWER系列,采用POWER6和POWER7芯片,运行AIX。
2.HP的Integrity系列,采用由HP和INTEL联合开发的Itanium(安腾)处理器,运行HP-UX。
3.Oracle-SUN系统,采用SPARC芯片,运行Solaris。
由于Solaris操作系统被移植到了x86平台上,SUN的定义就有些模糊,其实SUN还是区别于x86和基于RISC指令集的SPARC系统的,是被作为SPARC中的企业级系统。
UNIX系统在服务器市场的局势
按系统的规模来考虑市场的话,低端市场由x86系统所占据,高端市场由大型机所占据。而两者之间则充斥着UNIX与x86系统。
随着x86系统在性能和可靠性上的改进,最终促成了如今中端市场上UNIX与x86的针锋相对。如果你需要崭新的系统,又无须考虑现有环境的移植,你的选择会多的眼花缭乱。如果计划支持500到1000名用户,在向外延伸与向上扩展架构,机架服务器与基于刀片的系统问题上,你即可以考虑x86,也可以考虑UNIX系统。
如果已经建立了系统,只是为了硬件更新,选择起来就有些麻烦。如果系统的关键业务在迁移时存在风险,原本改变平台的优势也将变得扑朔迷离。对现有维护人员的再培训费用也值得考虑一下。
系统目标的优先级
你需要在选择前,弄清自己要实现目标的优先级。系统目标的优先级从业务目标到服务器在业务中的角色作用逐次递减。联机事务处理服务器是订单处理与开票业务的关键,需要高度的可靠可用性。数据仓库系统允许一日的停机,但却要求有较高的性能,来完成规定时间内复杂报告的处理。你需要考虑的目标和优先级包括:
1.性能目标——响应时间,批量运行时间,用户支持数量。
2. 可靠性——最重要的是宕机能否实现最小化?
3.可扩展性——系统能够扩展多大?
4.可用性——系统需要被集中吗?我可以多长时间不用维护它?
5.总持有成本(TCO)——预算是多少,硬件的循环周期是3还是5年?
6.倾向支持的OS——企业推行标准化是否有好处?
这里一些情况限制了UNIX和x86的选择。
1.微软的应用不能运行在UNIX系统上(除了少数应用可以运行在HP-UX的Windows 2008虚拟机上)。
2.软件厂商的支持——一些软件厂商对硬件和OS的支持有限制名单。
3.一些公司有OS策略,最小化了支持平台的数量。
UNIX系统所具有的可靠性
UNIX系统的硬件和OS都来自同一家厂商。目的就是为了提供最可靠的硬件,提供最稳定、最具扩展性的OS。对于组件失败,UNIX系统中的硬件提供了较高级别的保护。举个例子,IBM和HP的UNIX系统即使是一个处理器失败,也能保证操作系统不中断。UNIX系统的厂商花费大量时间来测试第三方对硬件和操作系统的兼容性,确保最大限度的系统稳定。x86系统趋向于依赖第三方厂商自行测试不同的硬件与操作系统。这意味着支持UNIX系统的组件要贵于x86系统的。
改进的x86系统适配器与外部支持
由于x86系统组件的开发与测试都是由第三方厂商完成的。相比UNIX硬件,x86系统有大量可用的适配器与外设,其中不乏有廉价的选择。x86系统还趋向于采用更新速度较快的新技术。
x86与UNIX系统的性能较量
寻找合适的基准来比较x86与UNIX系统的性能,对我们来说也是一项挑战。首先,公布的基准很容易就过时了。其次,不是所有厂商都使用相同的基准。每个厂商也不会发布针对所有服务器的基准结果;通常只针对主流模型。选择合适的基准来反映你的应用需求是很重要的,记住每个基准都是针对特殊应用目的而设计的。以下列出一些可用的基准:
SPECjbb2005是SPEC用于评估服务器端Java性能的基准。
SPECjAppServer200是用来测量J2EE 1.3应用服务器性能的。
SPECjEnterprise2010™基准是全方面的系统基准,支持性能测量,特征化Java EE 5.0服务器,
以及支持基础设施如JVM,数据库,CPU,磁盘和服务器。
SPEC CPU2006测量一系列硬件的密集型计算性能,工作负载都是由真实的用户应用生成。
TPC-C是联机事务处理(OLTP)基准。持续24分钟运行,吞吐量会测量平均每分钟的交易处理数量。IBM在他们的服务器上主要使用DB2,这样产生的结果很难与基于Oracle的结果相比较。
rPerf是IBM针对POWER系统的性能对比报告。rPerf文档同时还包含了上述的一些工业标准基准。
SAP拥有自己制定的被称为SAP Standard Application Benchmark的基准。更多有关SAP Standard Application Benchmark和SAP制定方面的信息可登录SAP Sizing和The SAPS Benchmark。
UNIX与x86系统的扩展
扩展UNIX系统到20-30个核心来运行大型关键业务系统,几年前就很常见了。扩展x86系统到这种规模,应用于产品的时间却并不长。限制x86设计的内存限制问题就要解决了。正是开发64位的x86架构和OS解决了这类限制,如今更大规模的x86系统也是可行的。
SAP基准结果列出了对运行数据中心版Windows Server 2008 R2的Fujitsu x86系统评估。Fujitsu x86系统支持8个INTEL X7560 Xeon(至强)处理器,中共是64核心和512GB的RAM。最后由16,000基准用户给出了87550 SAPS的成绩。
而拥有32核心以及256GB RAM的IBM POWER7 750,15,600名基准用户给出85220 SAPS的成绩。
中端市场的扩展技术能力,x86和UNIX都有。这种情况下的取舍,对操作系统和硬件可靠性的信任,更多的是取决于你的个人经验。
如果你身处中端市场的顶部,可能就需要用到按需增长特性,大多数UNIX厂商都有提供(IBM的CuOD,TCOD和UCOD,惠普的TCAP,GCAP和PPY),它允许你将平时闲置的性能在需要时添入,而又无须中断服务。有了这些特性,对于自己的增长你就更有信心了;让花费更安全的窍门,就是平时手上要有点闲置性能。
向外延伸架构
x86市场上的向外延伸架构并不多见,原因之一就是如果采用了向外延伸技术,你就可以实现多个廉价的x86系统。Web和Application层非常适合向外延伸架构,来服务大量来自网络的并行操作。应用堆栈中这些层多半不直接存储数据,在集群的节点之间也没有复杂的通讯,通常是位于简单负载均衡器之后进行用户请求的转发。应用层运行JAVA通常需要高级内存,这便可以实现廉价的基于x86的系统。
Oracle的向外延伸数据库架构“RAC”在x86市场上大受欢迎。使用多个廉价x86服务器来实现你需要的性能和弹性,真的是很诱人,但还有些重要的费用需要考虑,主要就要购买服务器的费用。每个节点需要共享访问中央存储,所以SAN可能要更贵更复杂些。需要有高性能的网络(内部连接)来支持节点之间的通讯,确保数据的完整性,提供集群心跳信号,保障并行执行查询。这些基础设施元素对于系统的整体性能是至关重要的,同时也添加了解决方案的复杂性。
每当你向集群添加一个节点时,核心的性能都会有所降低。最终你将需要更多的核心来获得所需要的性能;如果你需要企业版的话,这可能严重影响到你的整个TCO。
虚拟化特性以及限制
虚拟化技术在x86和UNIX系统上是并驾齐驱的。不同硬件之间迁移运行时系统的功能如今已经在POWER,Integrity和VMware的x86系统上实现。x86和UNIX现有的区别就是支持虚拟机的最大数量。UNIX只受硬件限制;对于VMware和HyperV你能够运行在虚拟机内的核心数量是受限制的。对于Oracle用户而言,Oracle许可证规则在许可证使用问题上并没有把VMware视作是一种划分系统的手段。如果你使用16个核心的系统运行VMware,一个虚拟机拥有四个核心运行Oracle,但你还需要16个核心的许可证。大部分基于UNIX的虚拟化技术没有这样的限制,这让它们成为整合全部软件栈以及按虚拟机/分区操作各层的不错选择。虚拟化层和客户OS镜像的支出也须考虑在你的TCO之中。
原文标题:Definitions of UNIX and x86 systems