5

根据wiki:非统一内存访问(NUMA)是一种用于多处理的计算机内存设计,其中内存访问时间取决于相对于处理器的内存位置。

但尚不清楚它是关于包括缓存在内的任何内存还是仅与主内存有关。

例如 Xeon Phi 处理器有下一个架构:在此处输入图像描述

所有内核对主内存 (GDDR) 的内存访问都是相同的。同时,不同的内核对二级缓存的内存访问是不同的,因为首先检查本机二级缓存,然后通过环检查其他内核的二级缓存。是 NUMA 还是 UMA 架构?

4

2 回答 2

6

从技术上讲,NUMA 可能仅用于描述对主内存的非均匀访问延迟或带宽。(如果 NUMA 因子 [延迟远/延迟接近或带宽远/带宽接近] 很小 [例如,与 DRAM 行未命中、缓冲等引起的动态可变性相当],那么系统可能仍被视为 UMA。)

(从技术上讲,Xeon Phi 的 NUMA 系数很小但非零,因为环形互连上的每一跳都需要时间[一个核心可能距离一个内存控制器只有一跳,而距离最远的一个则只有几跳]。)

术语 NUCA(非统一缓存访问)已被用来描述单个缓存,对于不同的缓存块具有不同的访问延迟。与核心或核心集群更紧密相关的共享缓存级别也属于 NUCA,但单独的缓存层次结构(我相信)不能证明该术语的合理性(即使窥探可能会在“远程”中找到所需的缓存块缓存)。

我不知道有任何术语用于描述具有与窥探相关的可变缓存延迟(即,具有单独的缓存层次结构)和小/零 NUMA 因子的系统。

(由于缓存可以透明地复制和迁移缓存块,NUMA的概念就不太合适了。[是的,一个操作系统可以透明地迁移和复制页面到NUMA系统中的应用软件,所以这个区别不是绝对的。])

或许有点有趣的是,Azul Systems 声称其 Vega 系统的套接字跨接口 UMA :

Azul 构建是“UMA”,因为我们的程序没有很好理解的访问模式。相反,模式大多是随机的(在缓存过滤之后),因此具有统一的中等速度而不是 1/16 的内存快和 15/16 的慢是有意义的。

于 2013-11-27T14:46:40.073 回答
1

我肯定会在那一个上选择 UMA。亲自查看了NUMA Wiki,UMA 的 Wiki 页面实际上提供了更多细节:

在 UMA 架构中,每个处理器都可以使用私有缓存。维基

这就是我选择 UMA 的原因,也是因为,正如您所说,一旦 L2 丢失,它会转到通用内存目录链接并使用内存控制器(图片中的 MC)找到正确的物理页面

于 2014-06-04T13:26:16.733 回答