4

我试图理解是什么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集群上,我们必须“跳”到下一个集群才能访问其他节点上的内存,这会导致更高的延迟。
  • 在这种情况下,数字10是否21表示“跳数”的延迟?我如何找到延迟ns?是在某处指定的吗?

对我没有多大帮助。

编辑:这个链接说距离不在ns,而是相对距离。如何获得 ns 中的绝对延迟?

任何帮助将不胜感激。

4

2 回答 2

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
于 2018-07-31T10:51:38.180 回答
0

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

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

于 2017-12-26T13:49:40.820 回答