吉 安

简单粗暴

  • 主页
  • 认识
  • 编程
  • 问题
  • 工具
  • 想法
所有文章 友链 关于我

吉 安

简单粗暴

  • 主页
  • 认识
  • 编程
  • 问题
  • 工具
  • 想法

认识多处理器架构

2020-04-17

常见的多处理器架构有哪些?

  • SMP(Symmetric Multi-Processor) 对称多处理器结构
  • NUMA(Non-Uniform Memory Access) 非统一内存访问架构
  • MPP(Massive Parallel Processing) 大规模并行处理结构

他们都是如何工作的?

SMP

所谓对称多处理器结构,就是指服务器中多个CPU对称工作,无主次或从属关系,他们共享总线和内存。
各CPU内部必须内置APIC(Advanced Programmable Interrupt Controllers)高级可编程中断控制器单元。用来相互发送中断协调工作。
smp_1

NUMA

NUMA的基本特征是具有多个CPU模块,每个CPU模块可以由多个CPU组成,并且具有独立的本地内存、I/O槽口等。
节点之间可以通过互联模块(如称为Crossbar Switch)进行连接和信息交互,因此每个CPU可以访问整个系统的内存。
numa_1

MMP

MMP基本特征是由多个服务器通过互联网络连接而成,每个节点只访问自己的本地资源(内存、存储等),是一种完全无共享(Share Nothing)结构。
多个服务器通过互联网络进行连接,协同工作,完成相同的任务,从用户的角度来看是一个服务器系统。

他们各自的缺点

SMP

随着CPU数量的增加,内存访问冲突将迅速增加,最终会造成CPU资源的浪费,使CPU性能的有效性大大降低。
并且因为共享内存,内存可拓展性受限。

NUMA

互联机制影响,访问本地内存快,访问远端内存慢,所以不能实现线性增长。
当用于数据仓库环境时,由于大量复杂的数据处理必然导致大量的数据交互,将使CPU的利用率大大降低。

MMP

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

他们各自的优势

SMP

越简单效率越高,特别是在不需要远程通讯的情况下。

NUMA

能够集成大量CPU,适合处理大量计算。

MMP

MMP系统不共享资源,因此对它而言,可拓展的资源比SMP要多,当需要处理的事务达到一定规模时,MPP的效率要比SMP好。

总结

在计算机发展的某一个阶段,CPU的处理性能比较差,不如内存的性能强,所以诞生了SMP框架,多个CPU协同工作解决了CPU性能问题。
后来CPU的性能发展上来了,所以可以更多的内存来提高性能,但是因为SMP的多个CPU共享内存,内存的可拓展性受到限制(毕竟主板可插内存数量有限),
所以诞生了NUMA,NUMA有效的解决了内存拓展性的问题,但是呢NUMA访问远端内存的效率不如访问本地的,所以性能不能线性增长。
而MMP不仅解决了拓展性问题,而且每个节点只访问自己的资源,从而实现了线性增长。

赏

谢谢你请我吃糖果

支付宝
微信
  • 一些认识

扫一扫,分享到微信

微信分享二维码
认识进程
认识x11
© 2022 吉 安
访客量:25191
  • 所有文章
  • 友链
  • 关于我

tag:

  • 问题
  • qt
  • 工具
  • 编码
  • 音视频
  • 一些认识
  • 进程
  • 想法
  • c-cpp
  • 内存

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • pcm与opus互转

    2022-02-23

    #编码#音视频

  • 初识音视频

    2021-10-09

    #音视频#一些认识

  • 认识GRUB

    2021-01-14

    #工具#一些认识

  • 关于IT女性

    2020-10-30

    #想法

  • 认识selinux

    2020-10-15

    #工具#一些认识

  • 认识firewalld

    2020-10-12

    #工具#一些认识

  • 认识audit

    2020-10-10

    #工具#一些认识

  • 简单讲讲deb打包

    2020-08-18

    #工具

  • debian系linux安装软件

    2020-08-17

    #工具

  • QWebEngineView最小化后缩略图显示空白

    2020-07-20

    #问题#qt

  • Hexo无法解析Markdown表格

    2020-07-02

    #问题

  • 认识chromuim

    2020-07-02

    #一些认识

  • 初识QtWebEngine

    2020-06-28

    #qt#编码#c-cpp

  • 内存的使用

    2020-06-04

    #编码#c-cpp#内存

  • 认识各种内存地址

    2020-06-02

    #一些认识#内存

  • 进程的限制之ulimit

    2020-05-07

    #工具#进程

  • 认识/proc/[pid]/

    2020-05-06

    #一些认识#进程

  • 进程的查看工具

    2020-05-06

    #工具#进程

  • 认识进程

    2020-04-29

    #一些认识#进程

  • 认识多处理器架构

    2020-04-17

    #一些认识

  • 认识x11

    2020-04-16

    #一些认识

  • 进程调试工具strace

    2020-04-15

    #工具#进程

  • 小黄同学
猛男!