调用非统一内存访问(NUMA)的架构?

klm*_*123 4 cpu intel cpu-architecture numa

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

但目前尚不清楚它是关于任何内存,包括缓存还是主内存.

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

所有内核对内存(GDDR)的内存访问都是相同的.同时对于不同内核的内存访问L2缓存是不同的,因为检查了第一个本机L2缓存,然后通过环检查其他内核的L2缓存.是NUMA还是UMA架构?

Pau*_*ton 5

从技术上讲,NUMA应该只用于描述非均匀访问延迟或主内存带宽.(如果NUMA因子[延迟远/延迟接近或带宽远/带宽接近] [例如,与DRAM行未命中,缓冲等因动态变化相当],则系统可能仍被视为UMA.)

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

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

我不知道用于描述具有与窥探(即,具有单独的高速缓存层次结构)和小/零NUMA因子相关联的可变高速缓存等待时间的系统的任何术语.

(由于缓存可以透明地复制和迁移缓存块,因此NUMA概念不太适合.[是的,操作系统可以透明地迁移和复制页面到NUMA系统中的应用程序软件,因此这种差异并不是绝对的.])

也许有点有趣的是,Azul Systems声称UMA跨插座用于其Vega系统:

由于我们的程序没有很好理解的访问模式,所以Azul构建的设备是"UMA".相反,模式大多是随机的(在高速缓存过滤之后),因此有统一的平庸速度而不是1/16的内存速度和15/16的速度是有意义的.