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

我在两个socketsPower8机器上使用Ubuntu 15.04,每个sockets有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节点共享的最后一级caching(数据可以驻留在所有caching中)或者像在同一个套接字上一样(只能存在一个副本)。

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

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

有关更多信息,请参阅本红皮书中 S824系统的逻辑图。