从系统架构角度出发,服务器该如何分类?MPP 是什么?

article/2025/11/9 1:58:25

写在前面

本文隶属于专栏《100个问题搞定大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和文献引用请见100个问题搞定大数据理论体系

解答

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

在这里插入图片描述

补充

SMP(Symmetric Multi-processor)

所谓对称多处理器结构,是指服务器中的多个CPU对称工作,无主次或从属关系。

各CPU共享相同的物理内存,每个CPU访问内存中的任何地址所需时间是相同的,因此SMP也被称为一致存储器访问结构(Uniform Memory Access,UMA)
对SMP服务器进行扩展的方式包括增加内存、使用更快的CPU、増加CPU、扩充IO(槽口数与总线数)及添加更多的外部设备(通常是磁盘存储)。

SMP服务器的主要特征是共享,系统中的所有资源(如CPU、内存、I/O等)都是共享的。

也正是由于这种特征,导致了SMP服务器的主要问题,即它的扩展能力非常有限

对于SMP服务器而言,每个共享的环节都可能造成SMP服务器扩展时的瓶颈,而最受限制的则是内存

由于每个CPU必须通过相同的内存总线访问相同的内存资源,因此,随着CPU数量的增加,内存访问冲突将迅速增加,最终造成CPU资源的浪费,使CPU性能的有效性大大降低。

实验证明,SMP服务器CPU利用率最好的情况是2~4个CPU

NUMA(Non-Uniform Memory Access)

由于SMP在扩展能力上的限制,人们开始探究如何进行有效的扩展从而构建大型系统的技术,NUMA就是这种努力下的结果之一。

利用NUMA技术,可以把几十个CPU (甚至上百个CPU)组合在一台服务器内。其CPU模块结构如图所示。

NUMA

NUMA服务器的基本特征是拥有多个CPU模块,每个CPU模块由多个CPU(如4个)组成并且具有独立的本地内存、I/O槽口等。

由于其节点之间可以通过互联模块(如称为 Crossbar Switch)进行连接和信息交互,因此,每个CPU可以访问整个系统的内存(这是NUMA系统与MPP系统的重要区别)。

显然,访问本地内存的速度将远远高于访问异地内存(系统内其他节点的内存)的速度, 这也是非一致存储访问NUMA的由来。

由于这个特点,为了更好地发挥系统性能,开发应用程序时需要尽量减少不同CPU模块之间的信息交互。

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

但是NUMA技术同样有一定的缺陷,由于访问异地内存的时延远远超过访问本地内存,因此,当CPU数量增加时,系统性能无法线性增加

如惠普公司发布 Superdome服务器时,曾公布了它与惠普其他unix服务器的相对性能值,结果发现,64路CPU的Superdome服务器(NUMA结构)的相对性能值是20,而8路N4000(共享的SMP结构)
的相对性能值是6.3。从这个结果可以看出,8倍数量的CPU换来的只是3倍性能的提升。

MPP (Massive Parallel Processing)

和NUMA不同,MAA提供了另外一种进行系统扩展的方式,它由多台SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户角度来看是一个服务器系统。

其基本特征是由多台SMP服务器(每台SMP服务器称为节点)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等)。

MPP是一种完全无共享(share Nothing)结构,因而扩展能力最强,理论上可以无限扩展,目前的技术可以实现512个节点互联.包含数千个CPU。

目前业界对节点互联网络暂无标准, 它们都采用了不同的内部实现机制。但节点互联网络仅供MPP服务器内部使用,对用户而言是透明的。

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

但是MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程

目前,-—些基于MPP技术的服务器往往通过系统级软件(如数据库)来屏蔽这种复杂性。

服务器架构设计

NUMA与MPP的区别

从架构来看,NUMA与MPP有许多相似之处:

  1. 它们都由多个节点组成;
  2. 每个节点都有自己的CPU、内存、I/O;
  3. 节点之间都可以通过节点互联机制进行信息交互。

那么二者的区别在哪里?通过分析NUMA和MPP服务器的内部架构与工作原理不难发现其差异所在。

节点互联机制不同。

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

内存访问机制不同。

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

http://chatgpt.dhexx.cn/article/38vTJdVf.shtml

相关文章

区分一下cluster、MPP、SMP和SSMP

最近学习GA库,发现应当对多种计算机架构进行区分,故查阅资料,总结如下 MPP(Massive Parallel Processing),每个 现在有多种架构需要区分 MPP (Massive Parallel Processing)clusterSMP(Symmet…

MPP 与 Hadoop是什么关系?

链接:https://www.zhihu.com/question/22037987/answer/106984010 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. hadoop(hive)跟mpp的本质区别是什么,这个有的时候界限很模糊,比…

RKMPP库快速上手--(四)MPP编码入门

首先,了解MPP编码之前,先了解一下MPP的MPI接口。 1、MPI接口结构 MPP设计的MPI接口,下面的图都来自于官方参考文档: MppMem:C库malloc内存的封装; MppBuffer:dmabuf内存的封装; MppPacket:一维缓存封装,可以从MppMem、MppBuffer生成,用来表示码流数据; MppFram…

MPP数据库初识

MPP数据库初识 先了解下OLTP与OLAP区别为什么需要MPP数据库?MPP数据库应用领域什么是MPP?MPP架构特征MPPDB架构什么是MPP数据库?MPP数据库的使用场景?MPPDB、Hadoop与传统数据库技术对比与适用场景 先了解下OLTP与OLAP区别 OLTP(…

MPP架构,SMP架构,NUWA架构

MPP架构 随着分布式、并行化技术成熟应用,MPP引擎逐渐表现出强大的高吞吐、低时延计算能力,有很多采用MPP架构的引擎都能达到“亿级秒开 MPP是由多台SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务&#xff0…

MPP架构是什么?看这一篇就行了。。

文章目录 MPP是什么SMP- Symmetric Multi-Processor 对称多处理器结构NUMA -Non-Uniform Memory Access 非一致存储访问结构MPP -Massive-Parallel Processing 海量并行处理架构 MPP DB- Share Disk- Share Nothing 典型MPP DBGreenplumTeradataImpalaPrestoElasticSearchVerti…

MPP数据库

MPP数据库定义 MPP即大规模并行处理(Massively Parallel Processor )。 在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网…

MPP数据库简介及架构分析

目录 什么是MPP?特性并行处理超大规模 数据仓库真正适合什么典型的分析工作量数据集中化线性可伸缩性 MPP架构技术特性数据库架构分析Shared EverythingShared DiskShare MemoryShared NothingShared Nothing数据库架构优势 什么是MPP? MPP (Massively P…

什么是MPP数据库?

大规模并行分析(MPP)数据库(Analytical Massively Parallel Processing (MPP) Databases)是针对分析工作负载进行了优化的数据库:聚合和处理大型数据集。MPP数据库往往是列式的,因此MPP数据库通常将每一列存…

MPP数据库简介

1、先了解下OLTP与OLAP区别 OLTP(OnLine Transaction Processing ,联机事务处理)系统 例如mysql。擅长事务处理,在数据操作中保持着很强的一致性和原子性 ,能够很好的支持频繁的数据插入和修改 ,但是,一旦数据量过大…

MPP(大规模并行处理)

1、 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体…

MPP架构

MPP架构 0x01 摘要 本文综合各家看法,再加上个人理解,介绍下对MPP架构的理解以及一些其他架构的对比。 0x02 MPP架构基本概念 2.1 什么是MPP MPP,全称为Massively Parallel Processor,翻译过来就是大规模并行处理。MPP系统是由…

MPP(大规模并行处理)简介

1、 什么是MPP? MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节…

基于WiFi的Android局域网即时通讯软件

基于WiFi的Android局域网即时通讯软件,通过自建WiFi热点的方式与其他移动设备进行通信,实现了文字聊天、语音留言、文件互传等功能,满足基本的日常使用需求。 下载地址:http://www.devstore.cn/code/info/670.html 运行截图&…

基于WiFi的Android局域网即时通讯软件——Android源码

基于WiFi的Android局域网即时通讯软件 基于WiFi的Android局域网即时通讯软件,通过自建WiFi热点的方式与其他移动设备进行通信,实现了文字聊天、语音留言、文件互传等功能,满足基本的日常使用需求。 下载地址:http://www.devstore.…

局域网即时通讯软件_企业即时通讯软件需要符合哪些要求?

随着网络信息的发展,市面上出现了大量的企业即时通讯软件,旨在帮助企业打通信息化的道路。很多企业不知道该如何正确选择一款符合要求的通讯软件,选择的标准应该从哪些方面入手。下面企达小编为大家详细介绍一下。 1、数据安全性 企业的商业部…

局域网即时通讯软件_远程桌面监控软件好不好用?哪个好?

远程桌面监控软件好不好用?哪个好?有时候经常需要进行远程协助,大家第一时间想到的就是QQ远程协助了,没错,QQ可以,但是 QQ远程协助很卡顿,响应不及时。电脑自带应用不会设置,这可怎么办?超级眼远程监控软…

局域网即时通讯软件_做企业即时通讯软件,我们是认真的

协同办公无非分为外部沟通和内部沟通两种局势,内部沟通则是企业协同工作的一部分,注重效率;外部沟通为企业社交,注重便捷,从而实现内部沟通的高效性,是协同办公工具所要解决的基础性问题。真心特别羡慕那些…

局域网即时通信软件都有哪些?要如何选择?

近些年来,由于企业内部敏感信息通过即时通信软件和互联网泄露的事件频发,许多企业对于内部信息安全保护越来越重视。除了使用局域网环境办公以外,还会采用局域网即时通信软件来作为内部沟通工具,降低信息泄露的风险。那么局域网即…

c语言即时通讯软件源码,即时通讯软件源码-基于c语言即时通讯软件代码实现

我不知道哪种语言无关紧要。开源,我不知道该用什么。 即时通讯软件源代码为JAVA语言 对于即时通讯软件源代码最好是用C语言编写的,想学一下,感谢您即时通讯软件有什么。 includewinscock2、h# includewinscock2、h# includesting。h# includewindows。h# includePROCESS。h#…