1. SMP

SMP (Symmetric Multiprocessing) , 对称多处理器。

优点:适用于小于等于4个CPU的架构,共享CPU、内存和IO
缺点: 横向扩展差,CPU一多总线成为瓶颈

通过以下命令发现只有一个Node则说明为SMP:

 ls /sys/devices/system/node/

2. MPP

MPP (Massive Parallel Processing) ,这个其实可以理解为刀片服务器。实际上就是一个刀扇就是一个独立SMP架构的服务器。参考如下图:


优点: 适合大规模计算
缺点:MPP横向扩展基本单元是SMP节点,对SMP管理成为横向扩展的瓶颈

3. NUMA

NUMA ( Non-Uniform Memory Access),非均匀访问存储模型,这种模型的是为了解决smp扩容性很差而提出的技术方案。架构图如下:

优点:横向扩展能力好,适合大规模计算
缺点:跨Node资源交互降低性能

相关命令

numactl的主要功能包括:

  1. 设定进程的内存分配基本策略
  2. 限定内存分配范围,如某一特定节点或部分节点集合
  3. 对进程进行节点或节点集合的绑定
  4. 修改命名共享内存,tmpfs或hugetblfs等的内存策略
  5. 获取当前策略信息及状态
  6. 获取NUMA硬件拓扑
numsstat -a

numactl 查看节点的分布情况

numctl -H

4. more skill

lscpu查看cpu架构

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1 #每个core 有几个线程
Core(s) per socket:    4 #每个槽位有4个core 
Socket(s):             2 #服务器面板上有2个cpu 槽位
NUMA node(s):          2 #nodes的数量
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 44
Stepping:              2
CPU MHz:               2128.025
BogoMIPS:              4256.03
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0,2,4,6 #对应的core
NUMA node1 CPU(s):     1,3,5,7

参考资料:

  1. 知识:服务器三大体系SMP、NUMA、MPP介绍
  2. cpu三大架构 numa smp mpp