计算机系统结构知识点讲义第四十四讲——分布式存储多处理机结构

摘要:分布式存储多处理机通过物理分散的本地存储器与全局统一编址,实现高可扩展性和低访存冲突。其核心技术在于 目录协议(Directory Protocol) ,本文深入解析其原理、实例及结构优化方案。


一、目录协议的基本思想

目录协议是解决 分布式共享存储器(DSM) 中多Cache一致性问题的核心机制。其核心思想是通过集中式目录结构记录全局内存块的状态信息,避免广播通信带来的带宽瓶颈。具体设计包含以下关键点:

(1)目录项数据结构

每个内存块对应一个目录项,包含:

  • 状态位:标识内存块当前状态(未缓冲、共享、独占)
  • 位向量(共享集S) :二进制向量记录哪些处理机的Cache持有副本(1位对应1个处理机)
    • 示例:64处理器系统需64位向量,存储开销随系统规模线性增长

(2)状态机控制逻辑

  • 未缓冲(Uncached) :无任何Cache副本,内存数据有效。
  • 共享(Shared) :≥1个Cache持有只读副本,与内存数据一致。
  • 独占(Exclusive) :仅1个Cache持有可写副本(称为拥有者),内存数据失效。

(3)操作流程

  • 读缺失:目录检测共享集S,向持有者(若存在)或内存获取数据,更新状态为共享。
  • 写请求

(4)若当前状态为共享,向共享集内所有Cache发送 作废消息(Invalidate) 。

(5)若为独占,通知原拥有者回写数据并释放所有权。

(6)优势与局限

  • ✅ 可扩展性:点对点通信替代广播,支持千级以上处理器。
  • ❌ 存储开销:目录存储占内存总量0.5%-4%(随处理器数增加)。

二、目录协议实例:MESI协议及其变种

MESI协议是目录协议在Cache层的具体实现,通过状态机维护数据一致性:

1. MESI状态定义
状态描述脏位有效性
M (Modified)唯一副本,已修改且内存失效有效
E (Exclusive)唯一副本,与内存一致有效
S (Shared)多Cache共享只读副本有效
I (Invalid)副本失效-无效
2. 关键操作流程
  • 处理器A写独占数据(图a→c)

    1. A读地址a → 状态由I→E(若无其他副本)或I→M(若有副本但未修改)。

    2. B尝试写a → 目录向A发送作废请求,A回写数据 → B获得M状态。
  • 并发读优化(图b→d)

    • 当S状态副本存在时,新读请求直接由内存或持有者提供数据,避免总线竞争。
3. 协议变种与优化
  • MESI-SF协议:新增 共享转发态(SF) ,允许副本在节点内直接转发,减少目录查询。
  • MOESI协议:增加Owned状态,允许多个Cache持有只读副本时,由拥有者响应写回。

三、目录的3种结构及其技术演进

根据目录项存储开销与可扩展性平衡,发展出三类结构:

1. 全映射目录(Full-Map Directory)
  • 原理:位向量长度等于处理机数 P,精确记录所有副本位置。
  • 开销:目录存储 = 内存块数 × P 位 → O(n²) 增长(n为处理器数)。
  • 适用场景:中小规模系统(P < 64),如SMP服务器。
2. 有限目录(Limited Directory)
  • 原理:固定位向量长度 kk << P),仅记录前 k 个副本。
  • 冲突处理:当共享集满时,随机作废一个副本或拒绝新加入。
  • 优化方案
    • 指针替换算法:LRU策略淘汰旧指针。
    • 分层目录:本地目录记录节点内副本,全局目录管理节点间。
3. 链式目录(Chained Directory)
  • 原理:目录项仅存储头指针,副本通过链表链接(类似分布式哈希表)。
  • 操作流程
    • 读请求沿链表查询持有者。
    • 写作废需遍历整个链表。
  • 优势:存储开销 O(1),支持超大规模系统(如万级处理器)。

三种结构对比表

类型存储开销查询复杂度可扩展性典型应用
全映射目录O(n²)O(1)SMP集群
有限目录O(n)O(k)NUMA架构
链式目录O(1)O(m)*MPP超算系统

四、分布式存储多处理机的性能优化路径
  1. 硬件层
    • 采用RDMA网络降低通信延迟。
    • NVMe SSD提升本地存储带宽。
  2. 协议层
    • 动态目录分区:按数据热度分配全映射/有限目录资源。
    • 写合并优化:批量处理作废请求,减少网络报文。
  3. 系统架构
    • NUMA感知调度:优先访问本地内存,减少远程访存。

结语:目录协议通过空间换时间的设计,解决了分布式存储系统的Cache一致性问题。未来研究方向包括异构目录结构混合部署硬件加速目录查询,以支撑AI算力集群的万级扩展需求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小李独爱秋

你的鼓励将是我加更的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值