我注意到,在新的双插槽 1366 服务器类型主板上有两个 RAM 组。这是否意味着,如果我安装了 72GB RAM,Windows 将只允许每个处理器使用 36GB,还是一个处理器可以访问所有 72GB?
答案1
双插槽主板将配置两个 CPU 系统,每个插槽都包含内存插槽。如果有两个内存组,则每个内存组将连接到一个 CPU 插槽。内存组不能直接用于另一个插槽。
这意味着容量为 72GB 的主板每个 CPU 插槽的容量为 36GB。
但是,如果您的 DIMM 不对称设置,例如这款英特尔主板,
我怀疑你会在一个 CPU 上有 24GB,在另一个 CPU 上有 48GB...需要确认这一点。
如果你指的是基于 Nehalem 的1366板,您将获得每个 CPU 插槽 3 个内存插槽的设置。您将填充 3xDDR3 DIMMs 来获取每个 CPU 的内存。
Nehalem 架构使用以下方式更好地从其他插槽组访问内存:非统一内存架构 (NUMA)。
NUMA 尝试通过为每个处理器提供单独的内存来解决此问题,从而避免多个处理器尝试寻址同一内存时的性能下降。对于涉及分散数据的问题(服务器和类似应用程序的常见问题),NUMA 可以将单个共享内存的性能提高大约处理器(或单独的内存组)数量的倍数。
当然,并非所有数据最终都局限于单个任务,这意味着多个处理器可能需要相同的数据。为了处理这些情况,NUMA 系统包括额外的硬件或软件来在存储体之间移动数据。此操作会降低连接到这些存储体的处理器的速度,因此 NUMA 带来的总体速度提升将在很大程度上取决于系统在任何给定时间运行的任务的确切性质。
当你不使用 Nehalem NUMA 时,旧方案的工作方式会有所不同,以下直观地显示了差异ArsTechnica 文章页面基本上,您对所有内容都有最坏情况的访问时间(多插槽内存访问,多路访问的全部成本)。
NUMA 技术可实现更佳的跨存储体访问时间。最终结果是更高的内存吞吐量,尤其是当每个处理器插槽的数据都位于其存储体中时。
我对这个答案的所有观点还不是很有信心,并欢迎其他意见。
答案2
从逻辑操作系统角度来看,每个核心都可以访问完整的 RAM。
从性能角度来看,内存位置和芯片的物理布局存在差异。内存访问将通过必要的路径进行路由,这可能会降低性能,具体取决于位置。
看看 Nehalem 类型的主板,3 个 RAM 插槽(或多个)的包连接到单个 CPU 芯片。Quickpath 互连允许其他 CPU 访问该内存。
因此,为了获得最佳性能,需要使用一些 numactl 技巧。例如,某些任务的共享内存可能位于内存中的某个位置,而不同线程的访问速度不同。
RAM 插槽的数量与此关系不大。
英特尔有很好的文档,如果你想了解它,请参阅http://www.intel.com/technology/quickpath/index.htm等等
答案3
为了得到明确的答案,您应该查阅主板文档,如果文档没有说明清楚,则应咨询制造商。了解其他主板的工作原理毫无意义。
答案4
从我们从 Supermicro 购买的主板的经验来看,每个插槽确实只能提供 36GB 的容量。当然,这可能因主板而异。