目录
- 一、对称多处理器架构
- 二、非一致性存储访问架构
- 三、海量并行处理架构
-
- 3.1 NUMA与MPP的区别
- 3.2 MPP DB
一、对称多处理器架构
(Symmetric Multi-Processing),简称SMP,一组处理器汇集在一台计算机上(即多个处理器)CPU),处理器之间没有主次关系和从属关系;处理器通过共享北桥内存控制器实现外部内存和IO共同访问,即处理器对内存和I/O访问方式和费用相同,所以SMP也被称为一致的存储器访问结构(UMA:Uniform Memory Access)。 
对SMP扩展系统的方式包括增加内存和使用更快CPU、增加CPU、扩充I/O(槽数和总线数)以及添加更多的外部设备(通常是磁盘存储)。SMP系统的主要特征是共享,系统中所有资源(CPU、内存、I/O 等)都是共享的。正是因为这个特点,才导致了这个特点SMP系统的主要问题是其扩展能力非常有限。对于SMP系统而言,每一个共享的环节都可能造成SMP 内存是系统扩展的瓶颈。由于每个CPU相同的内存资源必须通过相同的内存总线访问,因此随着CPU随着数量的增加,内存访问冲突将迅速增加,最终导致CPU浪费资源,使CPU性能有效性大大降低。实验证明,SMP系统CPU利用率最好的情况是2-4 CPU。
二、非一致性存储访问架构
(Non-uniform Memory Architecture),简称NUMA,解决传统对称多处理的问题(Symmetric Multi-processor)出现了系统可扩展性问题。NUMA该系统的基本特征是具有多个处理器模块,由多个处理器组成,并具有独立的本地内存,I/O槽口等。
NUMA系统节点之间可以通过互联模块(即Crossbar Switch或Bus Interconnect)连接和信息交互,行连接和信息交互CPU访问整个系统的内存(这是NUMA系统与MPP系统的重要差异)。显然,访问本地内存的速度将远远高于访问远地内存(系统中其他节点的内存),这也是非一致的存储访问NUMA的由来。为了更好地发挥系统性能,在开发应用程序时需要尽量减少不同CPU模块之间的信息交互。利用NUMA 技术可以更好地解决原来的问题 SMP在物理服务器中,系统的扩展可以支持数百个问题CPU。比较典型的NUMA服务器的例子包括HP的Superdome、Sun 15K、IBM PSeries 690等。
但 NUMA 该技术也有一些缺陷,因为远地内存的延迟远远超过当地内存,所以当CPU当数量增加时,系统性能不能线性增加。如HP公司发布Superdome当服务器发布时,它和HP其它 UNIX发现64路服务器的相对性能值CPU的Superdome (NUMA结构)相对性能值为20,8路N4000(共享的 SMP 相对性能值为6.3。从这个结果可以看出,8倍的数量CPU换来的只是性能提升的三倍。
三、海量并行处理架构
和NUMA不同,MPP由多个系统扩展提供了另一种系统扩展方式SMP从用户的角度来看,服务器是一个服务器系统,通过一定的节点互联网连接,协同工作,完成相同的任务。它的基本特征是多个SMP服务器(每个SMP服务器称为节点)通过节点互联网连接,每个节点只访问自己的本地资源(内存、存储等)。),这是一种完全不共享的方式(Share Nothing)因此,扩展能力最好,理论上是无限的。
3.1 NUMA与MPP的区别
从架构上看,NUMA与MPP有许多相似之处:它们由多个节点组成,每个节点都有自己的相似之处CPU、内存、I/O,信息交互可以通过节点互联机制进行。 那它们有什么区别呢?一是节点互联机制不同,NUMA当某个物理服务器内部实现节点互联机制时CPU当需要远地内存访问时,它必须等待,这也是NUMA无法实现服务器CPU性能线性扩展增加的主要原因。而MPP节点互联机制不同SMP服务器外部通过I/O每个节点只访问本地内存和存储,节点之间的信息交互与节点本身的处理并行进行。因此MPP在增加节点时,性能基本上可以实现线性扩展。其次是内存访问机制不同。在NUMA任何服务器内部CPU可访问整个系统的内存,但远程访问的性能远低于本地内存访问,因此在开发应用程序时应尽量避免远程内存访问。在MPP在服务器中,每个节点只访问本地内存,远地内存访问没有问题。
3.2 MPP DB
MPPDB是一款 Shared Nothing架构的分布式并行结构化数据库集群具有高性能、高可用性和高扩展性。它可以为超大型数据管理提供一个具有成本效益的通用计算平台,并广泛应用于支持各种数据仓库系统BI 系统和决策支持系统。典型的代表性产品,如Impala、Presto、Hive等。