可扩展共享内存系统:目录协议解析
1. 可扩展共享内存系统概述
可扩展共享内存系统中,缓存一致性非均匀内存架构(cc - NUMA)具有显著的可扩展性优势。其组织架构主要有两大特点:
- 互连网络升级 :用通用互连网络替代总线,该网络带宽随节点数量线性增长,内存访问延迟随节点数量亚线性增长。
- 内存分布化 :将内存分布到各个节点,利用内存访问局部性原理,使数据分配到靠近处理器的内存模块,从而显著缩短数据访问延迟。这种局部性不仅适用于程序代码和线程/进程的私有数据,在并行程序中对共享数据结构进行分区时也同样适用。
对于芯片多处理器,前几级片上内存层次结构为处理器的私有缓存,而最后一级片上缓存则是共享的二级或三级缓存。为了提高可扩展性,可将共享缓存划分为多个存储体,并分布到各个节点,形成非均匀缓存访问(NUCA)架构,使本地共享缓存存储体的访问速度快于远程存储体。
cc - NUMA架构中,由于处理器访问本地和远程内存模块(或共享缓存存储体)的延迟不同,且需要在所有节点的私有缓存间保持缓存一致性,因此传统的窥探缓存协议不再适用,需采用目录协议来确保缓存一致性。
2. 目录协议基础概念
在cc - NUMA多处理器中,数据和代码结构以页面为粒度分布在各个内存模块。通过虚拟地址转换后的物理地址确定读请求的目标物理内存模块,通常将物理地址的n个最高有效位解释为页面所在的内存模块或节点编号。
目录协议是cc - NUMA常用的可扩展协议,它以内存块为粒度维护一个目录。每个内存块对应的目录项指向拥有该块副本的节点,并跟踪该块在系统中的
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



