【发布时间】:2011-10-20 19:11:31
【问题描述】:
我的程序使用共享内存作为数据存储。该数据必须可供任何正在运行的应用程序使用,并且必须快速获取该数据。但有些应用程序可以在不同的 NUMA 节点上运行,它们的数据访问成本非常高。每个 NUMA 节点的数据复制是唯一的方法吗?
【问题讨论】:
-
这很大程度上取决于你的程序如何(以什么顺序)访问数据,以及它是如何写入数据的
-
内存访问模式是绝对不可预测的
-
因此,如何使程序准备好 NUMA 是“绝对不可预测的”。您可以像在 SMP 上一样启动程序,如果它的内存访问模式不好,它将运行缓慢。 (Numa 允许以比本地内存更高的成本访问其他节点的内存)