Linux NUMA Distance 的含义[1]
表示 NUMA 节点之间的相对内存延迟——距离“10”意味着延迟是本地节点访问的 1 倍,距离“20”是延迟的“2 倍” . Linux 在 sysfs 中公开这些值,但是有很多方法可以访问它们(包括直接转储 ACPI 表,如果你喜欢的话)。
在 ACPI 规范(的最新版本)中,您将找到一个名为“SLIT”/系统位置(距离)信息表的表的描述。 该表只是一个数组(如 d = array[numa_node][numa_node]),操作系统使用它来确定任意 2 个 NUMA 节点之间的相对距离; 其中数组中的值范围从 10 到 254(255 用于“这些 NUMA 域之间没有连接”),其中值 10 表示 NUMA 域中的某些内容可以多快访问同一 NUMA 域中的某些内容(最快的情况) ) 并且值 254 会慢 25.4 倍。
Linux NUMA Distance 怎么来的[1]
距离由 ACPI SLIT 表中的固件硬编码提供,固件将此表提供给操作系统。操作系统不计算任何东西。 我假设固件使用硬编码值填充这个表,例如主板制造商可能会做一些测量,并确定适合主板支持的所有CPU型号的值/s。
Linux NUMA Distance 不准[2]
节点之间的实际内存延迟很少像 ACPI 表声称的那么糟糕
参考
[1] https://stackoverflow.com/questions/49355785/how-does-linux-calculate-numa-distance-between-two-numa-nodes-internal-logic-o [2] https://www.codeblueprint.co.uk/2019/07/12/what-are-slit-tables.html
|