基本概念
socket
主板上cpu插槽数目,通常也叫"路"。
core
核心,通常我们所指的双核、8核、16核就是指这个core。
NUMA
Non-uniform memory access (NUMA) is a computer memory design used in multiprocessing, where the memory access time depends on the memory location relative to the processor. Under NUMA, a processor can access its own local memory faster than non-local memory (memory local to another processor or memory shared between processors). The benefits of NUMA are limited to particular workloads, notably on servers where the data is often associated strongly with certain tasks or users.[1]
NUMA architectures logically follow in scaling from symmetric multiprocessing (SMP) architectures.
非统一内存访问NUMA 是一种用于多处理器的电脑内存体设计,内存访问时间取决于处理器的内存位置。 在NUMA下,处理器访问它自己的本地存储器的速度比非本地存储器(存储器的地方到另一个处理器之间共享的处理器或存储器)快一些。
NUMA架构在逻辑上遵循对称多处理(SMP)架构。
一个NUMA node包括一个或者多个Socket,以及与之相连的local memory。一个多核的Socket有多个Core。如果CPU支持HT,OS还会把这个Core看成 2个Logical Processor。
DIE/SoC
DIE一般指处理器的生产过程中,从晶圆上切割下来的小方块(CPU的芯片外表也是方的),在切割下来之前,每个DIE都经过各种加工,将电路刻在该DIE上。
MC
multi core的意思。
SMT
Simultaneous multithreading,简称SMT,也即同时多线程,注意区分和SMP的区别。SMT是一种在一个CPU的时钟周期内能够执行多个线程的指令的硬件多线程技术。
SMP
对称多处理器,Symmetric Multi-Processors,指计算机上汇集了一组处理器(多核),各个CPU之间共享内存子系统以及总线结构。
从调度域角度看:
sched_domain一般从近到远是SMT、MC、DIE、NUMA。
SMT:同一个物理core中的所有thread都在该调度域;
MC:同一个cluster中的所有物理core中的cpu都在该调度域;
DIE:包括Soc中的所有CPU;
NUMA:一般不会以NUMA node为调度域,太广泛了;
下图是一个举例:
查看cpu拓扑
以使用的服务器为例:其拓扑结构如下
Topology 2 Processors, 28 Cores, 56 Threads
node节点
numactl命令可以查看node节点信息
[root@localhost /