UMA & NUMA
统一内存访问uma是并行计算机中使用的一种共享内存架构,在uma模型中所有处理器统一使用共享物理内存,对内存位置的访问时间与哪个处理器发出请求或者哪个内存芯片包含传输数据无关。
在uma中,每个处理器都可以使用私有缓存。外围设备以某种功方式进行共享,这适用于通用的应用,可以用于时间响应紧迫高的应用中加快单个大型程序的执行速度。
有三种uma架构,基于总线的对称多处理smp架构,使用横杆开关的uma架构,使用多级互连网络的uma架构。
huma即异构统一内存访问,在2013年4月开始出现在AMD的宣传资料中,指的是CPU和GPU通过缓存相干视图共享同一系统内存,其优点是更简单的编程模型和更少的独立内存值之间的数据复制。
与uma相对应的就是numa。
非均匀内存访问numa是一种用于多进程的计算机内存设计,内存访问时间取决于内存相对于处理器的位置,在numa架构下,处理器访问自己的本机内存比访问非本地内存更快。这种架构的优势限于特定的工作负载,特别是在服务器上,数据往往与某些任务或用户密切相关。
numa架构在逻辑上是从对称多处理smp架构扩展而来的。
限制内存访问次数是现代计算机提高性能的关键所在,numa试图通过为每个处理器提供单独的内存来避免多个处理器试图寻址同一内存时的性能冲击。
在理想情况下,如果数据是扩散的,那么numa架构就可以比单个共享内存架构系统提升性能大约处理器个数的倍数。
如果一个任务的数据是共享的,那么这个时候,numa的性能提升就不会很明显,甚至有所滞后。因此numa架构带来的整体性能提升,很大程度上取决于运行任务的性质。
- 点赞
- 收藏
- 关注作者
评论(0)