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的主要功能包括:
- 设定进程的内存分配基本策略
- 限定内存分配范围,如某一特定节点或部分节点集合
- 对进程进行节点或节点集合的绑定
- 修改命名共享内存,tmpfs或hugetblfs等的内存策略
- 获取当前策略信息及状态
- 获取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
参考资料: