根据wiki:非均匀内存访问(NUMA)是多处理中使用的计算机内存设计,其中内存访问时间取决于相对于处理器的内存位置。
但目前尚不清楚它是否包含任何内存,包括缓存或主内存。
例如,Xeon Phi处理器具有下一个架构:
对所有内核的内存访问主内存(GDDR)都是相同的。同时对于不同内核的内存访问L2缓存是不同的,因为检查了第一个本机L2缓存,然后通过环检查其他内核的L2缓存。 是NUMA还是UMA架构?
答案 0 :(得分:5)
从技术上讲,NUMA应该只用于描述主内存的非统一访问延迟或带宽。 (如果NUMA因子[延迟远/延迟接近或带宽远/带宽接近] [例如,与DRAM行未命中,缓冲等因动态变化相当],则系统可能仍被视为UMA。)< / p>
(从技术上讲,Xeon Phi有一个很小但非零的NUMA因子,因为环形互连上的每一跳都需要时间[核心可能只是一个内存控制器的一跳,而另一个内存控制器只有几跳]。)
术语NUCA(非统一高速缓存访问)已被用于描述具有不同高速缓存块的不同访问延迟的单个高速缓存。具有与核心或核心集群紧密相关的部分的共享高速缓存级别也属于NUCA,但是单独的高速缓存层次结构(我相信)不能证明该术语的合理性(即使窥探可能在“远程”中找到所需的高速缓存块)高速缓冲存储器)。
我不知道用于描述具有与窥探相关联的可变缓存延迟的系统的任何术语(即,具有单独的缓存层次结构)和小/零NUMA因子。
(由于缓存可以透明地复制和迁移缓存块,因此NUMA概念不太合适。[是的,操作系统可以透明地迁移和复制页面到NUMA系统中的应用程序软件,因此这种差异并不是绝对的。] )
也许有点有趣的是,Azul Systems声称UMA across sockets用于其Vega系统:
Azul版本是'UMA',因为我们的程序没有很好理解的访问模式。相反,模式大多是随机的(在缓存过滤之后),因此有统一的平庸速度而不是1/16的内存速度和15/16的速度是有意义的。
答案 1 :(得分:1)