zoukankan      html  css  js  c++  java
  • 共享内存模型UMA NUMA COMA

    原文地址:https://blog.csdn.net/weixin_44395686/article/details/107172212

    共享内存模型

    多处理器环境的内存共享模型主要有3种:

    • Uniform Memory Access (UMA)
    • Non-uniform Memory Access (NUMA)
    • Cache-only Memory Access (COMA)

    UMA

    UMA(一致性内存访问)的特点是多个处理器通过一条总线访问系统所有可用的内存,每个处理器访问内存的时间是一样的,所以称为一致性内存访问。
    在这里插入图片描述
    UMA存在的问题是多个处理器通过一条总线访问内存,使共享总线上负载增加。多个处理器会争用memory controller造成冲突。另外总线带宽有限,会有访问延迟。

    SMP(Symmetric Multi-Processor)对称多处理器又被称为UMA。
    在这里插入图片描述
    SMP的特点就是多个处理器共享一个集中式的内存。对称的意思是处理器之间没有主从之分。SMP架构主要用于PC和移动装置领域,可以显著提高并行计算能力,但SMP不适合超大规模的服务器端场景,例如:云端计算。

    NUMA

    NUMA(非一致性内存访问)的特点是每个处理器都有一个本地内存。而且处理器可以访问其他处理器的本地内存(远端内存)。
    在这里插入图片描述
    也可以一小组CPU一起访问它们自己的本地内存。存在多组CPU和它们的内存组时,每组CPU和内存组就构成一个NUMA节点(node)。
    在这里插入图片描述
    NUMA的不足是处理器访问远端内存时会产生延迟。CPU访问本地内存时速度很快,当本地内存不够用时,可以使用远端内存。但是访问远端内存时延开销比较高。
    在这里插入图片描述

    COMA

    COMA是ccNUMA(Cache Coherent NUMA, 缓存一致性NUMA)的一种演变。COMA可以看成是专用的NUMA,将NUMA中的分布式内存用高速缓存来取代。全局地址空间由高速缓存组成。访问远端的高速缓存借助分布式高速缓存目录进行。
    在这里插入图片描述

    Linux的NUMA node

    一个node中包含多个CPU。节点和CPU的关系如下图:

    在这里插入图片描述

    Linux内核描述node的数据结构为pg_data_t。

    参考资料

    What is NUMA (non-uniform memory access)?

    内存条物理结构分析

    什麼是SMP,UMA,NUMA

    系统和内存架构(System & Memory Architecture)

    OpenStack Nova 高效能虚拟机器之NUMA 架构亲和

  • 相关阅读:
    垃圾回收机制,正则模块
    日常模块
    文件路径带有字符串的处理方法
    QT进制之间的相互转换
    4-7 selectors模块
    4-5 异步IO模型
    4-4 多路复用IO模型
    4-3 非阻塞IO
    4-2 阻塞IO
    4-1 IO模型介绍
  • 原文地址:https://www.cnblogs.com/eyesfree/p/13710732.html
Copyright © 2011-2022 走看看