服务器三大体系SMP、NUMA、MPP介绍

发布时间:2022-07-21 13:16:29 作者:小编阅读:0

[导读]:今天,从系统架构的角度来看,我们简单正确三个服务器系统SMP、NUMA、MPP介绍,具体分为:对称多处理器结构(SMP:Symmetric Multi-Processor),访问结构不一致存储(NUM...

今天,从系统架构的角度来看,我们简单正确三个服务器系统SMP、NUMA、MPP介绍,具体分为:对称多处理器结构(SMP:Symmetric Multi-Processor),访问结构不一致存储(NUMA:Non-Uniform Memory Access),以及大量的并行处理结构(MPP:Massive Parallel Processing)。其特征描述如下:

SMP(Symmetric Multi-Processor)

对称多处理器结构是指服务器中的多个CPU对称工作,无主次或从属关系CPU共享相同的物理内存,每一个 CPU因此,访问内存中的任何地址都需要相同的时间SMP也称为一致存储器访问结构(UMA:Uniform Memory Access)。对SMP扩展服务器的方增加内存和快速使用CPU、增加CPU、扩充I/O(槽数和总线数)以及添加更多的外部设备(通常是磁盘存储)。

SMP服务器的主要特点是共享系统中的所有资源(CPU、内存、I/O等)都是共享的。正是因为这个特点SMP服务器的主要问题是其扩展能力非常有限SMP对于服务器来说,可能会导致每个共享环节SMP内存是服务器扩展的瓶颈。由于每个CPU必须通过相同的内存总线访问相同的内存资源CPU随着数量的增加,内存访问冲突将迅速增加,最终导致CPU浪费资源,使 CPU性能的有效性大大降低。实验证明,SMP服务器CPU利用率最好的情况是2-4CPU。

服务器三大体系SMP、NUMA、MPP介绍

图1.SMP服务器CPU利用率状态

NUMA(Non-Uniform Memory Access)

由于SMP在扩展能力的限制下,人们开始探索如何有效扩展建设大型系统的技术,NUMA这是这种努力的结果之一NUMA技术,可以把几十个CPU(甚至上百个CPU)在服务器中组合CPU模块结构如图2所示:

服务器三大体系SMP、NUMA、MPP介绍

图2.NUMA服务器CPU模块结构

NUMA服务器的基本特性有很多CPU模块,每个CPU模块由多个CPU(如4)组成,本地内存独立,I/O槽口等。因为它的节点可以通过互联模块(如所谓)Crossbar Switch)所以每信息交互,所以每一个CPU访问整个系统的内存(这是NUMA系统与MPP系统的重要差异)。显然,访问本地内存的速度将远远高于访问远地内存(系统中其他节点的内存)的速度,这也是非一致的存储访问NUMA起源。由于这一特点,为了更好地发挥系统性能,在开发应用程序时需要尽异CPU模块之间的信息交互。利用NUMA技术,可以更好地解决原来的问题SMP物理服务器中可以支持数百个系统扩展问题CPU。比较典型的NUMA服务器的例子包括HP的Superdome、SUN15K、IBMp690等。

但NUMA技术同样有一定缺陷,由于访问远地内存的延时远远超过本地内存,因此当CPU当数量增加时,系统性能不能线性增加。如HP公司发布Superdome服务器时,它已经公布了HP其它UNIX结果发现,服务器的相对性能值为64路CPU的Superdome (NUMA结构)的相对性能值是20,而8路N4000(共享的SMP结构)的相对性能值为6.3.从这个结果可以看出,数量是8倍CPU换来的只是性能提升的三倍。

服务器三大体系SMP、NUMA、MPP介绍

图3.MPP服务器架构图

MPP(Massive Parallel Processing)

和NUMA不同,MPP它由多个系统提供了另一种扩展系统的方式SMP从用户的角度来看,服务器是一个服务器系统,通过一定的节点互联网连接,协同工作,完成相同的任务。它的基本特征是多个SMP服务器(每个SMP服务器称节点)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享(Share Nothing)因此,扩展能力最好,理论上是无限的,目前的技术可以实现512个节点的互联,数千个节点CPU。目前,该行业还没有节点互联网的标准 NCR的Bynet,IBM的SPSwitch,它们都采用了不同的内部实现机制。但节点互联网仅供应MPP内部使用服务器对用户来说是透明的。

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

但是MPP服务器需要一个复杂的机制来调度和平衡每个节点的负载和并行处理过程。目前有一些基础MPP该技术服务器通常通过系统级软件(如数据库)来屏蔽这种复杂性。举例来说,NCR的Teradata就是基于MPP一个基于该数据库开发应用的技术关系数据库软件,无论后台服务器由多少节点组成,开发人员都面临着相同的数据库系统,而不考虑如何调度某些节点的负载。

NUMA与MPP从架构上看,NUMA与MPP有许多相似之处:它们由多个节点组成,每个节点都有自己的CPU、内存、I/O,节点之间的信息交互可以通过节点互联机制进行。那么它们有什么区别呢?通过下面的分析NUMA和MPP不难发现服务器的内部结构和工作原理的区别。

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

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

哪种服务器更适合数据仓库环境?这需要从数据仓库环境本身的负载特性入手。众所周知,典型的数据仓库环境有大量复杂的数据处理和综合分析,要求系统高I/O存储系统需要提供足够的处理能力I/O匹配带宽。典型的OLTP系统主要是在线事务处理,每个交易所涉及的数据很少,要求系统具有较高的事务处理能力,可以在单位时间内处理尽可能多的交易。显然,这两个应用程序环境的负载特性完全不同。

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

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

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:服务器三大体系SMP、NUMA、MPP介绍

TAG标签:服务器

地址:http://www.kd010.com/hyzs/1135.html

上一篇:数据中心机房线路老化原因和处理方式
下一篇:什么是原生IP?

Vecloud云网络解决方案

点击获取方案

返回顶部