关注IT
关注系统玩家

服务器架构组成

一.服务器概述

服务器是指在局域网中,一种运行管理软件以控制对网络或网络资源(磁盘驱动器、打印机等)进行访问的计算机,并能够为在网络上的计算机提供资源使其犹如工作站那样地进行操作。从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。相对于普通PC来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。

服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。

服务器的功能:

提供服务 – IP 地址

将一种资源共享给多个请求者 – 数据库
将一种设备共享给多个请求者 – 打印机

为其他系统开放网关 – Web

提供处理能力 – 数字

存储内容 – 数据

 

3438622313_thumb_l

二.服务器的主要分类

服务器往往被用于运行企业或个人的关键业务,所以对其性能与可靠性方面的要求会远远高于桌面电脑。一般来说服务器的CPU、内存、网络、存储都会使用企业级部件。譬如相比桌面电脑常用的Intel酷睿系列CPU,服务器的CPU往往会采用性能更稳定强大的Intel至强(Xeon)系列或者IBM的Power系列。而内存也会采用带有诸如ECC效验等自恢复功能的高速企业级内存。为了满足特定的业务需求,不同种类的服务器又会在网络、存储、内存、显卡等方面进行强化。如电信行业采用的服务器往往会配备高速网卡以配合高速交换机;数据仓库应用中的服务器往往会配备高速光纤卡以便通过光纤接口(Fabric Channel)与存储网络配合。

按照体系架构来区分,服务器主要分为两类:

非x86服务器:包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC处理器,并且主要采用UNIX和其它专用操作系统的服务器,精简指令集处理器主要有IBM公司的POWER和PowerPC处理器,SUN与富士通公司合作研发的SPARC处理器、EPIC处理器主要是HP与Intel合作研发的安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。

x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器,如IBM的System x系列服务器、HP的Proliant 系列服务器等。 价格便宜、兼容性好、稳定性差、不安全,主要用在中小企业和非关键业务中。

CISC型CPU

CISC是英文“Complex Instruction Set Computer”的缩写,中文意思是“复杂指令集”,它是指英特尔生产的x86(intel CPU的一种命名规范)系列CPU及其兼容CPU(其他厂商如AMD,VIA等生产的CPU),它基于PC机(个人电脑)体系结构。这种CPU一般都是 32位的结构,可称为IA-32 CPU。(IA: Intel Architecture,Intel架构)。CISC型CPU目前主要有intel的服务器CPU和AMD的服务器CPU两类。

RISC型CPU

RISC 是英文“Reduced Instruction Set Computing ”
的缩写,中文意思是“精简指令集”。它是在CISC(Complex Instruction Set Computer)指令系统基础上发展起来的,相对于CISC型CPU ,RISC型CPU不仅精简了指令系统,还采用了一种叫做“超标量和超流水线结构”,架构在同等频率下,采用RISC架构的CPU比CISC架构的CPU性能高很多,这是由CPU的技术特征决定的。RISC型CPU与Intel和AMD的CPU在软件和硬件上都不兼容。

根据不同的业务需求与应用场景可以将服务器架构分为通用式服务器、机架式服务器、刀片服务器和企业服务器。下面将以IBM System x为例介绍这些架构的组成、特点与适用场景。

直立式服务器(塔式服务器):

为可独立放置于桌面或地面的服务器,大都具有较多的扩充槽及硬盘空间.无需额外设备,插上电即可使用,因此使用最为广泛。外形上和立式桌面电脑很相似,不过其主板可扩展性更高。此种服务器一般使用入门级至强处理器如E5-2400, E3-1200,也可以使用低成本的酷睿、奔腾、赛扬系列。适用于中小型企业的文件与打印、电子邮件与协作、防火墙、分布式分支机构等业务。

机架式服务器:

机架式服务器外形有别于桌面计算机,更像交换机,其使用工业标准尺寸可以安放在标准的19英寸机柜中。相比塔式服务器机架式服务器更节约空间,同时性能上也更强大。为可装上机柜之服务器,主要作用为节省空间,机台高度以1U为单位,1U约44mm,因空间较局限,扩充性较受限制,例如1U的服务器大都只有1到2个 PCI扩充槽.此外,散热性能成为十分重要的因素,此时,各家厂商的功力就在此展现了。缺点是需要有机柜等设备,多为服务器用量较大的企业使用。

此种服务器一般采用中端的至强系列处理器如E5-2600、E5-4600。适用于文件与打印、零售、网络基础架构、分布式应用程序、Web 服务、Web 2.0、虚拟化、光数据库、ERP 应用程序、小型 HPC 安装、ERP 部署和虚拟化。

刀片服务器:

可算是比机架式服务器更节省空间的产品.主要结构为一大型主体机箱,内部可插上许多卡片,一张卡片即相当于一台服务器.当然,散热性在此非常重要,往往各 家厂商都装上大型强力风扇来散热.此型服务器虽然空间较节省,但光是主体机箱部份可能就所费不赀,除大型企业外较少使用。

7315854534_thumb_l2643742840_thumb_l9830391481_thumb_l

企业服务器

企业服务器拥有更高的性能与可靠性,可以满足严苛业务需求。企业服务器一般需要安置在标准机架上工作,所以外形上类似于机架式服务器,另外也有高性能的刀片版本。此类服务器一般采用高端的至强系列处理器,例如Xeon E7系列。可以提供超大的内存容量、内存带宽和存储空间以优化数据库和虚拟环境。适用于虚拟化、数据库和企业级工作负载的平衡系统。

以IBM System x3850 X5 and x3950 X5为例。IBM System x3850 X5基于最新一代 IBM® 企业级 X 架构®技术和英特尔®处理器构建,可在节能、经济的设计中提供卓越的性能和无与伦比的可靠性。其最大的优点是能提供超凡的可扩展性和灵活性,帮助客户在正确的时间获得正确的功能。客户需要以比以往更快的速度将解决方案部署在数据中心内并产生回报。x3950 X5 工作负载优化系统是交钥匙式的解决方案,专为高性能数据库或虚拟化环境而配置。多个型号均配置实现了处理能力、内存、高性能存储、网络和软件的出色平衡, 可以针对客户的数据库应用程序、虚拟化或 SAP HANA 环境自由选择。x3850 X5 服务器允许自由选择极其灵活的配置以及内存扩展功能。模块化的构建模块设计使客户既能够按照当前需求自定义系统,又能够应对不断变化的工作负载。可从双处理 器系统扩展为拥有多达 4 个处理器。可以添加第二个系统,以便创建一个八处理器系统。起始配置为 2 个内存 DIMM,可凭借双节点系统和 2 个 MAX5 内存扩展选件扩展至多达 192 个。根据环境变化重新分配资源。x3850 X5 能够满足客户的当前需求,同时提供一种简便、经济有效的升级途径,可在客户做好准备时更改环境。

 9227873936_thumb_l

IBM System x3850 X5

下一代服务器(PureSystems

如今,IT 领导者正在运用各种方法努力打造智慧的运算。许多领导者使用灵活的通用系统构建自己量身定制的系统,随后对这些系统进行优化,以满足其特定的业务环境需求。但为了成功实现优化,这些领导者需要耗费大量的时间和精力。此外,企业领导者还会利用高级硬件设备的简便性来打造智慧运算环境,并当这些方法奏效之后,他们会充分利用云计算的弹性。为此IBM推出了包含最佳实践和专家能力的PureSystems专家集成系统。

专家集成系统是指功能构建块。这些构建块是数千次部署、成熟最佳实践、创新思维和 IT 行业领先地位的完美结晶。专家集成系统分为两种类型:平台系统和基础架构系统。这两种专家集成系统均可节省您 IT 专业人员的时间和技能,使您的团队能够集中精力专注于创新和发展。这些集成式系统可向整个企业各个级别的不同角色提供专家能力,无论是业务领导者、还是数据中心经理概不例外。

以IBM PureFlex
System为例。PureFlex System 是具有专家集成技能的完整基础架构系统。这款 IBM 产品为您提供了一款集成式的计算系统,它将服务器、存储设备、网络、虚拟化和管理全面结合至单一结构中。PureFlex System 性能提供的预置专家能力可帮助企业领导者简化管理,灵活部署使用统一管理的虚拟和硬件资源的集成模式。高效性和操作的灵活性有助于支持业务领导者以更低的成本快速部署 IT 服务。此外,PureFlex System 建立在数十年的专家能力基础上。因此,它能够支持您深入集成并集中管理综合全面的开放式基础架构系统。这样,您有望显著降低管理和部署系统所需的技能成本和培训成本。

4070564951_thumb_l

按照用途分类如下:

文件服务器:

文件服务器根据客户端的请求,对数据进行存储、检索及更新。
3762853132_thumb_l

打印服务器:

有了打印服务器,就不必在每个客户端上安装打印机。并且,打印服务器支持各种打印机类型及打印队列。

5587457012_thumb_l

数据库服务器:

数据库服务器的主要功能就是从磁盘存储、搜索、检索及更新数据。

 

3563630138_thumb_l

Email 服务器

Email 服务器作为电子邮件的存储库及路由器,负责将电子邮件发送到目的地。

1959423394_thumb_l

Web 服务器

Web 服务器用于寄存
Web 网页,并可运行服务器密集型 Web 应用。

4232831547_thumb_l

基础服务器 – DNS

DNS 服务器负责处理客户端的名称解析请求。

7512265031_thumb_l

基础服务器 – DHCP

DHCP 服务器负责处理客户端的 IP 地址请求。

1655331551_thumb_l

虚拟化服务器

虚拟化平台能够使多操作系统在相同的物理硬件上同时运行。
8397088046_thumb_l9526970366_thumb_l
 

三.System x的x86服务器

IBM的x86服务器主要是System X系列(以X开头的服务器均为X系列服务器的型号)。IBM System x系列服务器是基于Intel和AMD的x86架构处理器而开发的,主要面向中小型企业。从最初的PC服务器发展到现今的企业级x系列服务器架构,IBM System x经历了四代的演变,融合了IBM开发大型主机的40多年经验,能够向用户提供低成本、高可用性、高可靠性及可扩展的企业级应用服务器。同时IBM System x还向用户提供了一系列灵活的系统管理工具,使得系统的维护更为便捷和高效。IBM公司的服务器产品包括IBM System z, IBM System i, IBM System p, IBM System
Storage和IBM System x。如图所示,IBM采用了在大型机和小型机(IBM System z,IBM System i和IBM System p)多年来的技术优势和深厚积累,比如群集扩展性能,高可靠性,高可用性和高可管理性,把一系列领先技术(光通道、远程联接诊断、超级并行交换开关、热插拔和热添加)系统地移植到System x服务器,从而使IBM System x系统地吸收了IBM四十多年来在高可靠企业计算系统方面的技术精华。

8525261171_thumb_l

IBM System x的名字起源于IBM的PC服务器,后来更名Netfinity,然后更名为eServer xSeries,现在是System x,但贯穿其中不变的是IBM企业级x系列服务器架构(Enterprise X-Architecture),为用户提供了以前IBM仅向大型机和其它高端系统用户提供的高级功能。

如下表所示,IBM System x具有高可用性,高灵活性,开放性,高性能和高扩展性,简化的可管理性,虚拟化,强大的支持和可服务性。

IBM
System x
特点

实现

高可用性
  • 热插拔和冗余
  • 预测故障分析(Predictive Failure Analysis: PFA)
  • 高级内存

–  Chipkill

–   在线备用

–   内存镜像

–   热插拔和热添加内存

  • 矢量校准冷却(Calibrated
    Vector Cooling)
高灵活性
  • 平台选择
  • 升级选择和选项
  • 集成RAID
  • 集成主板管理控制器(Baseboard  Management Controllers: BMC)
  • eXtended I/O
  •  领先的每瓦性能
  •  长期稳定性和兼容性

开放性

  •  最新技术和标准
  • Blade.org
  • 合作伙伴纳入管理
高性能和高扩展性
  • X3/X4 架构
  • 按需扩展(XpandOnDemand)
简化的可管理性
  •  BMC 和RSA
  • IBM Director

–    多平台

–   多供应商

–    插件

–   企业集成

  • Power Executive
服务能力和支持
  • 光通路诊断
  • 组件的颜色编码
  • IBM 服务和支持

–   多平台

–   多供应商

–   软件支持

  • 电子服务代理商
虚拟化
  • VMware销售和支持(IBM BladeCenter HS21 XM 刀片服务器和IBM System x3850 M2服务器集成VMware ESX Server 3i)
  •  IBM Director虚拟化管理器

为了满足日益增长的Web 2.0企业和数据中心的需求,2008年4月23日,IBM发布了互联网级服务器IBM System x iDataplex,提供量身定制的互联网级数据中心,在相同的电源和散热模块封装中容纳更多的处理器,更高效地利用空间。

IBM System x iDataPlex是一款互联网级的解决方案,可帮助客户克服在电源、散热和物理空间方面的限制。iDataPlex解决方案采用创新的设计,将基于Intel处理器的处理融入到了节点、机架和数据中心内,可以提高电源和散热效率并获得所需的计算密度。iDataPlex解决方案围绕Flex Node技术构建,提供了定制的解决方案,以满足客户对计算能力、存储密度和联网的特殊业务需求。

图1.2显示了IBM System x iDataplex外观图,其最突出的三大优点是节能,高密度计算和易用。

1)节能:iDataPlex服务器配备了水冷装置来取代空气制冷设备,其适用于互联网级数据中心的灵活设计其能耗仅为40%,大幅减少散热成本;最小化甚至免除空调开支。(参见文献[2])

2)高密度计算:iDataplex独特的机架设计专门经过优化,可以大大节省占地空间。创新的机架体系架构与标准1U机架相比使服务器密度提高了一倍以上,计算密度提高了5倍。(参见文献[2])

3)易用:借助布满可轻松管理的组件的智能机架,iDataPlex解决方案可以整合信息提供单点参考,快速一瞥便可以知晓一切是否工作正常。iDataPlex服务器使用前端访问式布线易于维修和管理,您无需操作后面板便可以完成工作。其自定义设计能支持应用软件和工作负载的特殊需求,iDataPlex服务器的机箱在工厂中已经完成整体的配置,全面的测试和集成,然后整机出厂直接交付给用户。iDataplex是一种交钥匙式的解决方案,由于在工厂中已经完成了所有的集成工作,这样用户第一天就可以开始iDataplex。并且iDataplex采用包括Linux操作系统和集群管理技术xCat在内的工业标准化组件,从而减少了服务器的运行成本和有助于第三方厂商的集成。

7252569221_thumb_l

System x
企业级X系列服务器架构

在2007年,IBM推出了第四代企业级x系列服务器架构(Enterprise X-Architecture)。第四代企业级x系列服务器架构提供无与伦比的解决方案,允许利用16、32甚至64个并行处理单元或“内核”。第四代EXA技术能够在可扩展性、可靠性、可用性和卓越的设计之间维护系统均衡,以便通过一个高能效的产品来满足数据库处理、企业应用主机托管及通过虚拟化整合服务器等要求。下表简单地回顾了IBM企业级x系列服务器架构的历史和各个阶段的主要特点。

企业级x系列服务器架构 推出时间及机型 主要特点
第一代 2002年 x440
  •   内存镜像
  •   32MB XceL4服务器加速缓存
第二代 2003年 x445
  •   热插拔内存
  •   聚集I/O提高40%
  •   延时降低12%
  •   64MB XceL4服务器加速缓存
第三代 2005年 x366
  •   双总线架构
  •   支持x86 64位扩展(EM64T)
  •   96MB XceL4服务器加速缓存
  •   支持PCI-X 2.0,所有槽66MHz
第四代 2007年 x3850 M2
  •   处理器独占的前端总线(FSB)
  •   前端总线(FSB)频率从667 MHz提高到1066 MHz
  •   内存带宽从333 MHz提高到67 MHz
  •   内存容量提高4倍
  •   支持4核
  •   提供系统管理虚拟化模块组(embedded
    hypervisor capability) :内嵌4GB VMWare ESX 3i
    U盘

IBM企业级x系列服务器架构吸收了IBM 40多年来在大型机和小型机方面的设计精华,通过简化管理、降低成本和提高可用性,降低了用户的总拥有成本。其主要包含以下技术:

XpandOnDemand 按需扩展

PCI-X I/O和 Active PCI-X I/O

高级内存子系统

XceL4服务器加速缓存

XpandOnDemand 按需扩展

XpandOnDemand能够按照系统扩展,提供根据客户需求付费的可扩展性,从而保护了客户的现有投资。通过使用业内标准的硬件,XpandOnDemand可以轻松实现更高性能。比如只需要通过XpandOnDemand数据跳线连接4台4路x3950 M2服务器(Intel 6核至强处理器)就可升级为1台16路服务器(96个Intel处理器内核)。这些功能使用户可以根据需求变化来动态增加处理器和内存容量。

下图显示了使用IBM System x3950 M2来进行XpandOnDemand按需扩展,动态地增加处理器,内存和磁盘控制器。

1610769142_thumb_l

PCI-X IOActive PCI-X IO

当前PCI总线带宽不够支持新兴的10 Gbps(或更高)I/O环境。IBM与其他公司于1998年提出并实现了PCI-X标准,主要用来解决日益增长的高速设备(高速以太网卡,光纤通道,Ultra3 SCSC适配卡等)和多处理器集群间通信所带来的总线带宽瓶颈。

IBM System x服务器支持最新的PCI-X标准,其成倍提高了PCI总线带宽,缓解了I/O瓶颈。

IBM System x服务器支持Active PCI-X允许用户无需关闭服务器就可添加或更换Active PCI 和Active PCI-X卡,支持如下特性:

•热插拔:允许用户更换故障或即将发生故障的适配器,无需重启

•热添加:提供简便升级,允许用户在服务器运行时添加新适配器(IBM是业界第一家提供这一特性的厂商)

•故障切换:在主适配器故障时允许备份适配器负责运行所有正在处理的业务

高级内存系统

IBM System x使用了很多先进的内存技术,其主要包含以下四种技术:

1)Chipkill内存:Chipkill内存最初是由20年前的IBM大型机发展过来的,ChipKill最初是为美国航空航天局(NASA)的“探路者”探测器赴火星探险而研制。它是IBM公司为了解决服务器ECC(Error Checking and Correcting)内存技术的不足而开发的。ECC将信息进行8比特编码时,只能改正1比特的错误和检查到(但不改正)2比特的错误。而Chipkill内存提供对每个DRAM内存纠正2比特错误的能力,进一步提高了服务器的可靠性。

2)Memory ProteXion:Memory ProteXion最初开发用于IBM大型机并且多年来用于IBM System z和IBM System i服务器,用来帮助保护不出现由于硬内存错误导致的突发故障。它的工作方式是:如果系统检测到DIMM内存上有坏扇区,它将把数据写到备用扇区以实现这一目的。Memory ProteXion在DIMM级别工作,可纠正多位元DRAM错误并进一步防止数据丢失。

3)内存镜像:在该项技术中,内存的管理方法与RAID配置中磁盘镜像非常类似。在这种情况下,主内存条上数据的精确映射被镜像到备用内存条。结果是,如果一根内存条出现故障,镜像的内存条将变为主内存条。在更换了故障内存条之后,主内存条内存中的数据将镜像复制到新内存条。

4)热添加/热插拔内存:在系统不关机的情况下热添加/热插拔内存,从而动态添加主存,增强性能。内存镜像和热插拔支持允许同步读写独立的和冗余的内存卡,从而提供无与伦比的高级数据保护。

Xcel4

XceL4服务器加速缓存(Server Accelerator Cache)是集成在SMP扩展模块中的DDR(双倍速率)内存,可实现Intel处理器、主存储器和I/O设备间的高速性能,通过降低处理器需要访问主内存的次数来获取更多的数据,可以将总体系统性能提高20%。

IBM System x每个SMP扩展模块都包括一个32MB(或更高)XceL4缓存。当客户从4路向8路扩展时,无论他们选择向4路中添加另一个SMP扩展模块还是将两个4路系统连接在一起,均能从添加另一个32MB XceL4缓存中受益。同样,在16路配置中,无论配置方式是2×8路还是4×4路,客户均能从128MB XceL4缓存中受益。

易于管理的硬件

基于硬件和软件的系统管理功能是IBM System x服务器和刀片服务器系列产品的一个重要的亮点。这些功能使IBM服务器更容易管理,并提供全面的警报和基于任务的管理。不管是入门级配置还是大型高端企业环境,良好的服务器系统管理都是全面减少总成本拥有的关键,因此IBM System x从最初的设计开始就非常重视提供良好的系统管理软件,从而减少用户的总拥有成本。

IBM随System x服务器和刀片服务器一起提供了一组完备的系统管理工具,以帮助客户解决在服务器的使用期内所遇到的现实问题,在成本节约和提高可用性方面实现量化的效益。这样,客户可以相应地从投资中获得更多的回报,并可以让珍贵的人力资源物尽其用。

根据所管理的元素和侧重点的不同,客户的系统管理任务在逻辑上可以分为以下三层:

1)具体设备的单点管理;

2)跨设备的多系统平台管理;

3)异构可扩展的企业级运营高级管理。

上层的系统管理任务往往依赖于下层的系统管理任务的支持。例如第二层的多系统平台管理 “IBM Director”依赖于第一层的单点管理“动态系统分析(DSA)”和硬件BMC;第三层的企业级运营高级管理“IBM Tivoli基础架构管理”依赖于第二层的平台管理“IBM Director向上集成模块(Upward Integration Modules: UIMs)”。

如图1.4所示,单点管理处于系统管理的最底层,主要有:(1)基于硬件的系统管理,如MM/AMM,BMC和RSA-II卡;(2)基于软件的系统管理,如动态系统分析(Dynamic System Analysis)和易捷升级系统包(UpdateXpress System Pack)。这一层主要关注单一硬件设备类型的点对点管理。

平台管理处于系统管理的中间层,主要有IBM Director软件。这一层主要关注中小型企业的跨设备综合管理。

高级管理处于系统管理的最上层,主要有IBM Tivoli软件(包括IBM Director的向上集成)和第三方公司的系统管理软件(比如HP Openview和CA Unicenter)。

3916073421

Ex5

在2012年3月3日,IBM公司在北京举行了其面向下一代X86服务器的eX5体系架构发布会,并现场展示了即将在月底英特尔Nehalem-EX发布之后推向市场的三款eX5服务器新品:4路服务器System x3850 X5、双路服务器System x3690 X5和刀片服务器BladeCenter HX5。

eX5的创新优势:

MAX5性能优化中心,可以实现最大3TB的内存扩展空间;

高性能的eXFlash极速存储套件,使用主流的SSD固态硬盘技术;

虚拟化IO 可以实现带宽的虚拟化,根据应用实现带宽的分配;

eX5五大创新之四:FlexNode灵动分区带来的模块化扩展,全面供货,可以实现多台设备的堆叠;

eX5五大创新之五:IBM OnForeverTM自动失效切换带来高可靠性,可以实现堆叠组中任何一台设备DOWN机,将程序自动切换到现有正常机器运行。

四. SMP、NUMA、MPP体系结构

从体系结构来看,目前广泛应用于关键业务领域的商用服务器大体可以分为三类,即对称多处理器结构(SMP:Symmetric Multi-Processor),非一致存储访问结构(NUMA:Non-Uniform Memory Access) 以及海量并行处理结构(MPP:Massive Parallel Processing)。

SMP结构是指服务器中多个CPU对称工作,无主次或从属关系。各CPU共享相同的物理内存,每个CPU访问内存中的任何地址所需时间是相同的,因此SMP也被称为一致存储器访问结构。对SMP服务器进行扩展的方式包括:增加内存、使用更快的CPU、增加CPU、扩充I/O、更多的外部设备 (通常是磁盘存储)。SMP服务器的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的。也正是由于这种特征,导致了SMP服务器的主要问题,那就是它的扩展能力非常有限:每一个共享的环节都可能造成SMP服务器扩展时的瓶颈;对SMP而言,最受限制的是内存,每个CPU必须通过相同的内存总线访问相同的内存资源;随着CPU数量的增加,内存访问冲突将迅速增加,造成CPU资源的浪费,CPU性能的有效性大大降低。

由于SMP在扩展能力上的限制,人们开始探究如何进行有效地扩展从而构建大型系统的技术,NUMA就是这种努力下的结果之一。利用NUMA技术,可以把几十个CPU(甚至上百个CPU)组合在一个服务器内。

    7522610043_thumb_l

NUMA服务器的基本特征是:具有多个CPU模块(或称为Building Block、节点);每个CPU模块由多个CPU(如4个)组成,并且具有独立的本地内存、I/O槽口等;节点之间通过互连模块进行连接和信息交互;每个 CPU可以访问整个系统的内存,显然,访问本地内存的速度将远远高于访问远地内存(系统内其他节点的内存)的速度,这也是非一致存储访问NUMA的由来。由于这个特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。

利用NUMA技术,可以较好地解决原来SMP系统的扩展问题,在一个物理服务器内可以支持上百个CPU。

NUMA技术的主要问题是,由于访问远地内存的延时远远超过本地内存,因此当CPU数量增加时,系统性能无法线性增加。

和NUMA不同,MPP提供了另外一种进行系统扩展的方式,它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。其基本特征如下:由多个SMP服务器(每个SMP服务器称节点)通过节点互连网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享结构;扩展能力最好,理论上其扩展无限制,目前的技术可实现512个节点互连。

在MPP系统中,每个SMP节点也可以运行自己的操作系统、数据库等,但和NUMA不同的是,它不存在异地内存访问的问题。换言之,每个节点内的CPU不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为数据重分配(Data Redistribution)。

MPP服务器的主要问题是:需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前一些基于MPP技术的服务器往往通过系统级软件(如数据库)来屏蔽这种复杂性。基于此类数据库来开发应用时,不管后台服务器由多少个节点组成,开发人员所面对的都是同一个数据库系统,而不需要考虑如何调度其中某几个节点的负载。

NUMAMPP的区别

通过分析NUMA和MPP服务器的内部架构和工作原理不难发现其差异所在。

节点互联机制不同。NUMA的节点互联机制是在同一个物理服务器内部实现,当某个CPU需要进行远地内存访问时,它必须等待,这也是NUMA服务器无法实现CPU增加时性能线性扩展的主要原因。而MPP的节点互联机制是在不同的SMP服务器外部通过I/O实现的,每个节点只访问本地内存和存储,节点之间的信息交互与节点本身的处理是并行进行的。因此,MPP在增加节点时性能基本上可以实现线性扩展。

内存访问机制不同。在NUMA服务器内部,任何一个CPU可以访问整个系统的内存,但远地访问的性能远远低于本地内存访问,因此在开发应用程序时应该尽量避免远地内存访问。在MPP服务器中,每个节点只访问本地内存,不存在远地内存访问的问题。

3495319580_thumb_l

哪种服务器技术更适合于数据仓库环境?

回答这个问题,需要从数据仓库环境本身的负载特征入手。典型的数据仓库环境具有大量复杂的数据处理和综合分析,要求系统具有很高的I/O处理能力,并且存储系统需要提供足够的I/O带宽与之匹配。

从NUMA架构来看,它可以在一个物理服务器内集成许多CPU,使系统具有较高的事务处理能力,由于远地内存访问时延远长于本地内存访问,因此需要尽量减少不同CPU模块之间的数据交互。显然,NUMA架构当用于数据仓库环境时,由于大量复杂的数据处理必然导致大量的数据交互,将使CPU的利用率大大降低。

相对而言,MPP服务器架构的并行处理能力更优越,更适合于复杂的数据综合分析与处理环境。当然,它需要借助于支持MPP技术的关系数据库系统来屏蔽节点之间负载平衡与调度的复杂性。另外,这种并行处理能力也与节点互联网络有很大的关系。显然,适应于数据仓库环境的MPP服务器,其节点互联网络的I/O性能应该非常突出,才能充分发挥整个系统的性能。


服务器衡量标准

深入解读TPC体系

TPC-C基准程序用来衡量整个IT系统的性能,而不是评价服务器或某种硬件系统的标准,其中性能由tpmC衡量。TPC-H所报告的性能计量单位被称为“TPC-H复合式每小时查询性能单位(QphH)”,反映出了系统处理查询的多方面能力。

TPC体系是影响最大的评测基准之一。

TPC(TransactionProcessing Performance Council,事务处理性能委员会)是由数十家会员公司创建的非赢利组织,总部设在美国。

TPC不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测
试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家)必须提交给TPC一套完整的报告,包括被测系统的详细配置、分类价格和包含5年维护 费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC本身并不做审计)。TPC在全球只有不到10名审核员,而且全部在美国。

TPC推出过11套基准程序,分别是正在使用的TPC-App、TPC- H、TPC-C、TPC-W,过时的TPC-A、TPC-B、TPC-D和TPC-R,以及因为不被业界接受而放弃的TPC-S(Server专门测试基 准程序)、TPC-E(大型企业信息服务测试基准程序)和TPC-Client/Server。目前最为“流行”的TPC-C是联机事务处理(OLTP) 的基准程序,于1992年7月完成,后被业界逐渐接受。

TPCC 标准

作为一家非盈利性机构,事务处理性能委员会(TPC)负责定义诸如TPC-C、TPC-H和TPC-W 基准测试之类的事务处理与数据库性能基准测试,并依据这些基准测试项目发布客观性能数据。TPC基准测试采用极为严格的运行环境,并且必须在独立审计机构 监督下进行。委员会成员包括大多数主要数据库产品厂商以及服务器硬件系统供应商。

相关企业参与TPC基准测试以期在规定运行环境中获得客观性能验证,并通过应用测试过程中所使用的技术开发出更加强健且更具伸缩性的软件产品及硬件设备。

TPC-C是一种旨在衡量联机事务处理(OLTP)系统性能与可伸缩性的行业标准基准测试项目。这种基准测试项目将对包括查询、更新及队列式小批量事务在内的广泛数据库功能进行测试。许多IT专业人员将TPC-C视为衡量“真实”OLTP系统性能的有效指示器。

TPC- C基准测试针对一种模拟订单录入与销售环境测量每分钟商业事务(tpmC)吞吐量。特别值得一提的是,它将专门测量系统在同时执行其它四种事务类型(如支
付、订单状态更新、交付及证券级变更)时每分钟所生成的新增订单事务数量。独立审计机构将负责对基准测试结果进行公证,同时,TPC将出据一份全面彻底的 测试报告。这份测试报告可以从TPC
Web站点(http://www.tpc.org)上获得。

TPC-E——OLTP联机事务处理测试新模型

20年前,美国的TPC(事务处理性能委员会,Transaction Processing Performance Council)成立之时,或许并没有想到其TPC系列测试标准会如此受业界关注。作为国际上权威的服务器性能测试组织。目前在国际上几乎所有IT界的知 名厂商(如IBM、HP、SUN、英特尔等)都是TPC的会员。

OLTP测试模型一直是TPC组织的重点测试标准,TPC-C的前身TPC-A就是TPC组织发布的第一个测试标准。由于TPC-C逼真地 模拟了OLTP应用,在发布后逐渐得到广大用户的认可,使用tpmC作为其计算机系统性能评价体系基础的用户数量逐年上升。不过,随着信息产业的不断发 展,TPC-C的一些问题也慢慢暴露出来。首先,随着B2B、B2C等新型应用逐渐兴起,TPC-C现有的仓库管理系统测试模型已经距离目前的OLTP用 户应用模式越来越远,5种作业需求也不足以覆盖用户现有的典型操作;其次,众多的测试设备投入使得TPC-C测试给厂商带来了较大的压力,这并不是TPC 组织愿意看到的,因此TPC组织于2007年3月推出了全新的OLTP测试标准——TPC-E,意在用这个测试标准取代TPC-C测试,从而对上述问题起 到解决作用。

TPC-E在测试模型上进行了巨大的革新与改进。TPC-E是以美国纽约证券交易所为模型,该测试模拟了一系列后端处理数据以及证券公司前端客户在股票交易市场的典型行为——账户查询、在线交易和市场调研。

与TPC-C测试模型相比,TPC-E更加强调模型的高仿真性,其模型微缩模拟了全球最大电子股票交易市场——美国纳斯达克股市的日常业务 流程,模型架构完成了从C/S架构到B/S架构的过渡,是典型的互联网时代OLTP性能测试基准。同时,数据类型更加丰富,由3类扩展为10类,模拟的交 易条件更复杂。

TPC-H关注查询能力

TPC-H是一种决策支持基准。它包含一整套面向商业的特殊查询和并发数据修改内容。该基准中选择的查询和数据库中的数据都具有广泛的全行业关联性。这种测试基准所描述的决策支持系统可检查大量的数据,所执行的查询也具有很高的复杂度。

TPC-H所报告的性能计量单位被称为“TPC-H复合式每小时查询性能单 位”(TPC-H Composite Query-per-Hour Performance Metric –
QphH@Size),反映的是系统处理查询的多方面能力,包括查询执行时选定的数据库大小、单个流提交查询时的查询处理能力,以及多个并发用户提交查询 时的查询吞吐量。TPC-H的价格/性能比计量单位的表达方式为$/QphH@Size。

应用性能参考SPEC

SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护 一套用于评估计算机系统的标准。

与TPC体系注重在线处理能力和数据库查询能力不同,SPEC体系中最广为人知的两个子项,是衡量CPU、内存性能的CPU2000和Web服务器性能的web2005。另外还有一个衡量Java服务器性能的jbb2005,近年来也逐渐受到关注。

除了TPC家族,SPEC家族也是广为人知的一大体系。SPEC指标体系由 Standard Performance Evaluation Corp.制定,目前主要包括针对CPU性能的SPEC CPU2000(已有CPU2006,但尚无数据)、针对Web服务器的SPECweb2005、针对高性能计算的SPEC HPC2002与SPEC MPI2006、针对Java应用的jAppServer2004与JBB2005,以及对图形系统、网络和邮件服务器的测试指标。

SPEC CPU 2006

SPEC CPU 2006是SPEC组织推出的CPU子系统评估软件最新版,在早些年,业界使用的是其上一个版本SPEC CPU 2000。和SPEC CPU 2000一样,SPEC CPU 2006包括了CINT2006和C FP2006两个子项目,前者用于测量和对比整数性能,而后者则用于测量和对比浮点性能,SPEC CPU 2006中对SPEC CPU 2000中的一些测试进行了升级,并抛弃/加入了一些测试,因此两个版本测试得分并没有可比较性。

SPEC CPU测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU提供的是源代码,并且允许测试用户进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2006的影响非常的小。

An ounce of honest data is worth a pound of
marketing hype(一盎司诚实的数据值得一磅的市场宣传)是SPEC组织成立的座右铭,为了保持数据的公平、可信度以及有效,SPEC CPU测试使用了现实世界的应用程序,而不是用循环的算术操作来进行基准测试。SPEC CPU 2006包括了12项整数运算和17项浮点运算,除此之外,还有两个随机数产生测试程序998.sperand(整数)和999.specrand(浮
点),它们虽然也包含在套件中并得到运行,但是它们并不进行计时以获得得分。这两个测试主要是用来验证一些其他组件中会用到的PRNG随机数生成功能的正 确性。各个测试组件基本上由C和Fortran语言编写,有7个测试项目使用了C++语言,而Fortran语言均用来编写浮点部分。

CINT2006包括C编译程序、量子计算机仿真、下象棋程序等,CFP2006包括有限元模 型结构化网格法、分子动力学质点法、流体动力学稀疏线性代数法等。为了简化测试结果,SPEC决定使用单一的数字来归纳所有12种整数基准程序。具体方法 是将被测计算机的执行时间标准化,即将被测计算机的执行时间除以一个参考处理器的执行时间,结果称为SPECratio。SPECratio值越大,表示 性能越快(因为SPECratio是执行时间的倒数)。CINT2006或CFP2006的综合测试结果是取SPECratio的几何平均值。

JAVA应用性能测试——SPEC jbb2005

SPECjbb2005是由Standard Performance Evaluation Corp(标准性能评估组织)提供的、专供检测服务器 JAVA应用性能的测试软件,SPEC是由著名计算机厂商、系统集成商、大学、研究所、出版商等组成的非赢利性组织。目前,SPEC得到了包括IBM、 HP、Intel、Compaq等主要服务器厂商的认可。

SPECjbb2005(Java服务器基准)是评估服务器端JAVA性能的SPEC测试工具。和以前的SPECjbb2000一
样,SPECjbb2005通过模拟三层C/S系统(主要是中间层)来评估服务器端JAVA的性能。该测试软件运行JVM(Java虚拟机)、JIT (Just-In-Time)编译器、碎片收集、线程以及操作系统的其他任务。它也测量CPU、Cache、内存和 SMP的性能。SPECjbb2005通过提供面向对象方式运行的、新的增强的工作负载,来反映真实应用系统的情况。另外,SPECjbb2005也引入 了一些新的特性,如XML处理和BigDecimal计算,以保证测试结果能更确切地反映当前的实际应用。

SPECjbb2005是一种被广泛使用的工业标准基准测试。概括来讲,每个”warehouse”会产生一个独立的线程,从而决定测试线程的并发数。

SPEC Web2005

Web服务参考Web2005

作为SPECweb99和SPECweb99_SSL的继承者,SPECweb2005延续了SPEC的传统,为Web用户提供客观的Web服务器系统性能测试基准。

SPEC
Web2005测试的原理,是通过多台客户机向服务器发出Http Get请求,请求调用Web服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web性能就越好。

基于快速发展的Web技术,与上一代测试基准相比,SPECweb2005基准包括许多新增强特性,其中包括:

● 测量并发用户会话。

● 相关动态内容:包括PHP和JSP实施。

● 使用两个并行HTTP连接请求页面镜像。

● 多种标准化的工作负载:银行业(HTTPS)、电子商务(HTTP and HTTPS)和支持(HTTP)。

● 使用If-Modified-Since请求模拟模拟器缓存效果。

● 文件访问与今天的真实Web服务器访问模式匹配度更高。

参考资料

1. http://baike.baidu.com/view/899.htm

2. http://server.zol.com.cn/292/2923839.html

3. http://zhidao.baidu.com/question/657278.html

4. http://www.ibm.com/cn/systems/info/x86servers/ex5/index.shtml

5. http://www.redbooks.ibm.com/portals/systemx

6. http://www.redbooks.ibm.com/abstracts/redp4743.html?Open

未经允许不得转载:系统玩家 » 服务器架构组成

分享到:更多 ()
喜欢 0
rancher

评论 抢沙发

评论前必须登录!