Power8处理器上有多少个NUMA节点

时间:2016-09-12 03:14:53

标签: linux cpu-architecture numa power-architecture

我在两个插座的Power8机器上使用Ubuntu 15.04,每个插槽有10个内核。 " numactl -H"输出:

available: 4 nodes (0-3)
node 0 cpus: 0 8 16 24 32
node 0 size: 30359 MB
node 0 free: 26501 MB
node 1 cpus: 40 48 56 64 72
node 1 size: 0 MB
node 1 free: 0 MB
node 2 cpus: 80 88 96 104 112
node 2 size: 30425 MB
node 2 free: 27884 MB
node 3 cpus: 120 128 136 144 152
node 3 size: 0 MB
node 3 free: 0 MB
node distances:
node   0   1   2   3 
  0:  10  20  40  40 
  1:  20  10  40  40 
  2:  40  40  10  20 
  3:  40  40  20  10 

问题是,每个Power8处理器上有两个NUMA节点吗?为什么一个人有记忆而另一个人什么都没有。我找不到任何关于此的文件。任何信息都将不胜感激。

另一个问题,如果套接字上有两个节点,那么它们的最后一级缓存就像NUMA节点一样共享(数据可以驻留在所有缓存中)或类似于同一套接字(只能存在一个副本)

1 个答案:

答案 0 :(得分:2)

横向扩展POWER8系统使用双芯片模块(DCM)。顾名思义,DCM在同一物理封装中封装了两个多核芯片和一些额外的逻辑。两个芯片之间有一个封装缓存一致的32 GBps互连(误导性地称为SMP总线)和两个到外部存储缓冲器的独立路径,每个芯片一个。因此,每个插座本身是双节点NUMA系统,类似于例如多模块AMD Opterons。在您的情况下,给定套接字本地的所有内存可能只安装在属于该套接字的第一个芯片的插槽中,因此第二个NUMA域显示为0 MB。

封装(X总线)和封装间(A总线)互连都是高速缓存一致的,即L3高速缓存保持同步。在多核芯片内,每个内核直接连接到L3缓存区域,通过芯片互连可以访问同一芯片的所有其他L3缓存,即NUCA(非统一缓存架构)。

有关详细信息,请参阅this Redpaper中的S824系统逻辑图。