Linux Opteron系统似乎是UMA,但应该是NUMA

根据numactl,这个双CPU Opteron盒子是UMA而不是预期的NUMA:

$ numactl --hardware available: 1 nodes (0) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 node 0 size: 65534 MB node 0 free: 381 MB node distances: node 0 0: 10 

我认为它应该是NUMA,因为有四个四核CPU *。 据我了解,每个CPU都有自己的内存通道, 如果CPU需要访问非本地节点中的内存,则必须使用hypertransport,这比访问本地节点中的内存花费更多的时间。 AMD 在这里解释它。

主板有16个RAM插槽,每个CPU 8个。 所有16个都装有4GB,总共64GB。 一些更多的细节:

  • 处理器:2 x AMD 6128(“Magny-Cours”)
  • Mobo: Supermicro H8DG6 / i(-F)
  • BIOS:AMI v02.68 – 主板/ BIOS手册 (pdf)
  • Linux:2.6.32
  • 操作系统:Debian“喘息”
  • BIOS内存configuration:
    • 银行交错:自动
    • 节点交错:自动
    • 通道交错:自动
    • CS保留:禁用
    • 银行swizzle模式:启用

为什么numactl报告这个盒子是UMA?

*每个封装有两个CPU模块,所以主板只有两个CPU插槽。

BIOS隐藏node interleaving设置后面的NUMA实体。 将其设置为Disabled将会为您提供一个真正的NUMA系统,就操作系统而言。 没有多less系统真的有效地使用NUMA,这就是为什么主板制造商默认使一切都变得缓慢而不是让操作系统找出需要快速和慢速访问的原因