大数据之MPP架构

大数据之MPP架构目录一 对称多处理器架构二 非一致性存储访问架构三 海量并行处理架构 3 1NUMA 与 MPP 的区别 3 2MPPDB 从并行 平行计算系统内存架构来看 目前商用服务器大体可以分为三类 即对称多处理器架构 SMP SymmetricMul Processor 非一致性存储访问架构 NUMA Non UniformMemor 以及海量并行处理架构 MPP MassiveParal 一 对称多处理器架构对称多处理器 SymmetricMul

0. 原文迁移

大数据之MPP架构:https://blog.csdn.net/iflink/article/details/

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

一、对称多处理器架构

对称多处理器(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换来的只是3倍性能的提升。

三、海量并行处理架构

和NUMA不同,MPP提供了另外一种进行系统扩展的方式,它由多个SMP服务器通过一定的节点互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。其基本特征是由多个SMP服务器(每个SMP服务器称节点)通过节点互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享(Share Nothing)结构,因而扩展能力最好,理论上其扩展无限制。

海量并行处理架构

3.1 NUMA与MPP的区别

3.2 MPP DB

MPPDB是一款 Shared Nothing架构的分布式并行结构化数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI 系统和决策支持系统。典型代表产品如Impala、Presto、Hive等。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220424.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午8:31
下一篇 2026年3月17日 下午8:31


相关推荐

  • Telnet协议详解

    Telnet协议详解nbsp nbsp nbsp nbsp nbsp nbsp Telnet 协议是 TCP IP 协议族中的一员 是 teletypenetw 的缩写 属于应用层协议 是 Internet 远程登录服务的标准协议和主要方式 专业的说是远程登录的一种程序 那么何为远程登录呢 远程登录是指用户使用 Telnet 命令 使自己的计算机暂时成为远程主机的一个仿真终端的过程 仿真终端等效于一个非智能的机器 它只负责把用户输入的每个字符传递给主机 再将主机

    2026年3月17日
    2
  • hmacsha256 java_java生成HMACSHA256的方法

    hmacsha256 java_java生成HMACSHA256的方法标签 java 生成 HMACSHA256 的方法答 data 要加密的数据 key 密钥 publicstatic Stringdata Stringkey throwsExcept Macsha256 HMAC Mac getInstance HmacSHA256 SecretKeySpe key newSecret

    2026年3月17日
    2
  • 进程间通信和线程间通信的几种方式是_线程通信方式

    进程间通信和线程间通信的几种方式是_线程通信方式进程和线程的区别:对于进程来说,子进程是父进程的复制品,从父进程那里获得父进程的数据空间,堆和栈的复制品。而线程,相对于进程而言,是一个更加接近于执行体的概念,可以和同进程的其他线程之间直接共享数据,而且拥有自己的栈空间,拥有独立序列。共同点:它们都能提高程序的并发度,提高程序运行效率和响应时间。线程和进程在使用上各有优缺点。线程执行开销比较小,但不利于资源的管理和保护,而进程相反…

    2022年10月6日
    5
  • 模块***已加载但找不到入口点DllRegisterServer,请确保***为有效的DLL或OCX文件,然后重试[通俗易懂]

    模块***已加载但找不到入口点DllRegisterServer,请确保***为有效的DLL或OCX文件,然后重试[通俗易懂]今天刷机,因为小米要刷第三方rom,所以要降级,格盘的那个软件需要这个dll,,但是没有找个这个,我就拷贝了下放到system32下面,然后还是不行,就直接执行注册,然后就报了这个错,其实很简单如果使用的是32位操作系统:只需把dll文件放到“X:\Windows\system32”(X代表您系统所在目录盘符,如:C:\Windows\system32);如果使用的是64位操

    2022年6月27日
    127
  • 建造者模式

    问题:相同的过程经过不同的处理方法得到不同的结果注意:1.基类保护属性的使用(该属性在子类中同为保护属性,只能类的成员变量调用)2.公共属性和公共方法全放在基类3.泛化、依赖、组合关系的

    2021年12月18日
    44
  • phpstrom激活码2021_通用破解码

    phpstrom激活码2021_通用破解码,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    85

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号