首页 > 其他分享 >海外服务器的3种体系架构:SMP、NUMA、MPP

海外服务器的3种体系架构:SMP、NUMA、MPP

时间:2022-12-14 11:33:29浏览次数:59  
标签:节点 SMP 内存 MPP 服务器 CPU NUMA

境外服务器的3种体系架构:SMP、NUMA、MPP!
从系统的体系架构来看,目前的商用服务器大体上可以分为3类:SMP(对称多处理器)结构、NUMA(非一致存储访问)结构和MPP(海量并行处理)结构。这3类系统体系架构的服务器,它们具体的特征描述如下:

一、 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至4个CPU。

![服务器的3种体系架构:SMP、NUMA、MPP!]

二、NUMA(Non-Uniform Memory Access)

由于SMP服务器在扩展能力上的限制,人们开始探究如何进行有效地扩展从而构建大型系统的技术,NUMA(非一致存储访问)就是这种努力下的结果之一。利用NUMA(非一致存储访问)技术,可以把几十个CPU,甚至上百个CPU组合在一个服务器内。
NUMA服务器的基本特征是,具有多个CPU模块,每个CPU模块由多个CPU(例如4个)组成,并且具有独立的本地内存、I/O槽口等。由于其节点之间可以通过互联模块进行连接和信息交互,因此每个CPU都可以访问整个系统的内存。显然,访问本地内存的速度,将远远快于访问远地内存(系统内其它节点的内存)的速度,这也是“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(非一致存储访问)不同,MPP(海量并行处理)提供了另外一种进行系统扩展的方式,MPP(海量并行处理)由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。
MPP服务器基本特征是,由多个SMP服务器(每个SMP服务器称为一个“节点”)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种“完全无共享/零共享”结构,因而扩展能力最好,理论上其扩展无限制,目前的技术可实现512个节点的互联,数千个CPU。
在MPP(海量并行处理)系统中,每个SMP(对称多处理器)节点也可以运行自己的操作系统、数据库等。但和NUMA(非一致存储访问)不同的是,MPP(海量并行处理)系统不存在“异地内存访问”的问题。换言之,每个节点内的CPU,都不能访问另一个节点的内存。节点之间的信息交互是通过节点互联网络实现的,这个过程一般称为“数据重分配”。
MPP服务器需要一种复杂的机制来调度和平衡各个节点的负载和并行处理过程。目前一些基于MPP(海量并行处理)技术的服务器,往往通过系统级软件(如:数据库)来屏蔽这种复杂性。举例来说,NCR的Teradata就是基于MPP(海量并行处理)技术的一个关系数据库软件,基于此数据库来开发应用时,不管后台服务器由多少个节点组成,开发人员所面对的都是同一个数据库系统,而不需要考虑如何调度其中某几个节点的负载。
四、 NUMA(非一致存储访问)与MPP(海量并行处理)的区别
从系统架构来看,NUMA(非一致存储)与MPP(海量并行处理)具有许多相似之处:它们都由多个节点组成,每个节点都具有自己的CPU、内存、I/O,节点之间都可以通过节点互联机制进行信息交互。那么它们的区别在哪里?通过下面分析NUMA(非一致存储访问)和MPP(海量并行处理)服务器的内部架构和工作原理不难发现两者的差异所在。
1、首先是节点互联机制不同,NUMA(非一致存储访问)的节点互联机制是在同一个物理服务器内部实现的,当某个CPU需要进行远地内存访问时,它必须等待,这也是NUMA服务器无法实现CPU增加时,性能线性扩展的主要原因。而MPP(海量并行处理)的节点互联机制,是在不同的SMP服务器外部通过I/O实现的,每个节点只访问本地内存和存储,节点之间的信息交互与节点本身的处理是并行进行的。因此MPP(海量并行处理)在增加节点时,性能基本上可以实现线性扩展。
2、其次是内存访问机制不同。在NUMA服务器内部,任何一个CPU都可以访问整个系统的内存,但远地内存访问的性能,远远低于本地内存访问,因此在开发应用程序时应该尽量避免远地内存访问。而在MPP服务器中,每个节点只访问本地内存,不存在远地内存访问的问题。

标签:节点,SMP,内存,MPP,服务器,CPU,NUMA
From: https://blog.51cto.com/u_15001675/5936287

相关文章

  • 40、记录ROC-RK3588S-PC开发板目标检测和mpp拉海康摄像头进行解码
    基本思想:喜得一个RK3588开发板,利用它完成目标检测和TCP通信 一、刷机参考官网或者参考下篇博客系统用的:ROC-RK3588S-PC_Ubuntu20.04-Gnome-r21199_v1.0.1b_220812.7z刷机......
  • UVA 10859 Placing Lampposts--树形dp
    原题链接:​​http://vjudge.net/problem/UVA-10859​​题意:给一个N个点M条边的无向无环图,就是树的意思,每个节点都可以放灯。每盏灯将照亮以它为一个端点的所有边,在所有边都......
  • NUMA的选择
    现在的机器上都是有多个CPU和多个内存块的。以前我们都是将内存块看成是一大块内存,所有CPU到这个共享内存的访问消息是一样的。这就是之前普遍使用的S......
  • xmpp即时通讯详解
    摘要:       此文档定义了可扩展消息出席协议(XMPP)的核心特性:协议使用XML元素在任意两个网络端点间近实时的交换结构化信息。当XMPP为交换XML......
  • xampp linux 安装
    http://www.111cn.net/sys/linux/65704.htm参考的这个,已经云了.1、查看你linux系统的位数,是32位的还是64位的。使用uname-a命令查看。 uname-a 显示有x86_64则说......
  • 【MPPT光伏】基于MPPT的光伏并网系统的simulink仿真
    1.软件版本MATLAB2019a2.本算法理论知识设计光伏并网之前,首先需要设计一个光伏电池的仿真模型。光伏电源的等效电路如下所示:    那么很显然就有:   通过......
  • 安装xampp 完 启动报错 :error while loading shared libraries: libc.so.6: cannot op
     安装版本为:xampp-linux-x64-5.6.34-0-installer.runcentos版本为:CentOSrelease6.9(Final) [root@iZm5eik57sceo3kq6asrexZlampp]#./xamppstartegrep:error......
  • XAMPP phpmyadmin 设置局域网访问
    1.问题描述本地local和127.0.0.1访问都正常,局域网访问失败,显示以下内容:2.检查用户的主机名是否是任意主机(%)3.修改httpd-xampp.conf配置文件找到phpmyadmin这一行,......
  • xampp配置多域名泛域名虚拟主机For linux xampp wampp 多域名设置只有第一个生效的
     安装XAMPP下载xampp最新版FORLINUX#wget​​http://nchc.dl.sourceforge.net/sourceforge/xampp/xampp-linux-1.7.1.tar.gz​​安装:tarxvfzxampp-linux-1.7.1.tar.g......
  • 配置XAMPP中Apache可被外网访问
    Apache的外网访问:0.本人XAMPP版本为3.21.将httpd-xampp.conf中的Requirelocal修改为Requireallgranted2.在自己的云服务器中加上8081端口的防火墙(本人用的阿里云服务器,具......