numactl中的节点距离是什么意思?

时间:2017-10-30 08:00:13

标签: linux numa numactl

我试图理解node distances中的numactl --hardware是什么意思?

在我们的群集上,它会输出以下内容

numactl --hardware available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 4 5 12 13 14 15 16 17 node 0 size: 32143 MB node 0 free: 188 MB node 1 cpus: 6 7 8 9 10 11 18 19 20 21 22 23 node 1 size: 32254 MB node 1 free: 69 MB node distances: node 0 1 0: 10 21 1: 21 10 这是我到目前为止所理解的:

  • 我们有24个虚拟CPU,每个节点有32Gb的DRAM。
  • numa群集上,我们必须制作一个" hop"到下一个集群访问其他节点上的内存,这会导致更高的延迟。
  • 在这种情况下,数字1021是否表示" hops"?如何在ns中找到延迟?是指定的地方吗?

Thisthis对我没什么帮助。

编辑:This链接表示距离不在ns,而是相对距离。如何在ns中获得绝对延迟?

任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:1)

numactl --hardware为您提供有关硬件架构的统计信息,而不是有关其性能的统计信息。

如果您想要硬件的性能特征,您必须自己测量,无论是在线查找现有硬件还是编写自己的基准测试。 https://stackoverflow.com/a/47815885/1411628会让您了解如何开始编写自己的工作台。

答案 1 :(得分:0)

要获取绝对延迟数,如果您使用的是Intel系统,则可以针对任何特定系统使用其Memory Latency Checker工具。 https://software.intel.com/en-us/articles/intel-memory-latency-checker

它更喜欢使用root / admin权限来禁用硬件预取,否则硬件预取会使数字产生偏差,但是如果您没有此功能,文档还指出您可以要求它从其他节点获取随机元素,从而非常接近真实数字,例如:

./mlc --latency_matrix -e -l128 -r
Intel(R) Memory Latency Checker - v3.5
Command line parameters: --latency_matrix -e -l128 -r

Using buffer size of 200.000MB
Measuring idle latencies (in ns)...
                Numa node
Numa node            0       1
       0         112.5   180.3
       1         180.8   112.4