SMP,NUMA,MPP

来源:互联网 发布:财务预算软件 编辑:程序博客网 时间:2024/06/06 09:02

一.概念介绍

SMP
Symmetric Multi-Processor
对称多处理器
NUMA
Non-Uniform Memory Access
非一致存储访问结构
MPP
Massive Parallel Processing
海量并行处理结构

SMP

CPU
服务器中多个CPU对称工作,无主次或从属关系。
CPU共享相同的物理内存,每个 CPU访问内存中的任何地址所需时间是相同的。
也被称为一致存储器访问结构(UMA:Uniform Memory Access)。
特征
共享:系统中所有资源(CPU、内存、I/O等)都是共享的。
冲突:每个CPU必须通过相同的内存总线访问相同的内存资源,因此随着CPU数量的增加,内存访问冲突将迅速增加。
试试

NUMA

CPU
具有多个CPU模块
每个CPU模块由多个CPU(如4个)组成
每个CPU模块具有独立的本地内存、I/O槽口
每个CPU模块之间可以通过互联模块进行连接和信息交互
特征
可以较好地解决原来SMP系统的扩展问题,在一个物理服务器内可以支持上百个CPU
访问本地内存的速度将远远高于访问远地内存
当CPU数量增加时,系统性能无法线性增加
这里写图片描述

MPP

系统架构
由多个SMP服务器通过一定的节点互联网络进行连接
协同工作,完成相同的任务
从用户的角度来看是一个服务器系统
基本特征
由多个SMP服务器(每个SMP服务器称节点)通过节点互联网络连接而成
每个节点只访问自己的本地资源(内存、存储等)
Share Nothing结构
扩展能力最好
与NUMA的区别
不存在异地内存访问的问题
节点之间的信息交互是通过节点互联网络实现的
这个过程一般称为数据重分配(Data Redistribution)
NUMA架构更适用于OLTP事务处理环境
大量复杂的数据处理必然导致大量的数据交互,将使CPU的利用率大大降低

二.三种架构的差异

性能
SMP所有的CPU资源是共享的,因此完全实现线性扩展。
NUMA的节点互联机制是在同一个物理服务器内部实现的,当某个CPU需要进行远地内存访问时,它必须等待,这也是NUMA服务器无法实现CPU增加时性能线性扩展。
MPP的节点互联机制是在不同的SMP服务器外部通过I/O实现的,每个节点只访问本地内存和存储,节点之间的信息交互与节点本身的处理是并行进行的。因此MPP在增加节点时性能基本上可以实现线性扩展。
扩展
SMP扩展能力很差,目前2个到4个CPU的利用率最好,但是IBM的BOOK技术,能够将CPU扩展到8个。
NUMA理论上可以无限扩展,目前技术比较成熟的能够支持上百个CPU进行扩展。如HP的SUPERDOME。
MPP理论上也可以实现无限扩展,目前技术比较成熟的能够支持512个节点,数千个CPU进行扩展。MPP是由多个SMP构成,多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务。
应用
SMP的优势:
MPP系统因为要在不同处理单元之间传送信息,所以它的效率要比SMP要差一点。在通讯时间多的时候,那MPP系统可以充分发挥资源的优势。因此当前使用的OTLP程序中,用户访问一个中心数据库,如果采用SMP系统结构,它的效率要比采用MPP结构要快得多。
NUMA架构的优势:
NUMA架构来看,它可以在一个物理服务器内集成许多CPU,使系统具有较高的事务处理能力,由于远地内存访问时延远长于本地内存访问,因此需要尽量减少不同CPU模块之间的数据交互。显然,NUMA架构更适用于OLTP事务处理环境,当用于数据仓库环境时,由于大量复杂的数据处理必然导致大量的数据交互,将使CPU的利用率大大降低。
MPP的优势:
MPP系统不共享资源,因此对它而言,资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。由于MPP系统因为要在不同处理单元之间传送信息,在通讯时间少的时候,那MPP系统可以充分发挥资源的优势,达到高效率。也就是说:操作相互之间没有什么关系,处理单元之间需要进行的通信比较少,那采用MPP系统就要好。因此,MPP系统在决策支持和数据挖掘方面显示了优势。

三.架构的选择

这里写图片描述
这里写图片描述
这里写图片描述

1 0
原创粉丝点击