分布式共享存储处理机

计算机科学中,分布式共享内存 (DSM) 是一种内存架构形式,其中物理上分离的内存可以作为单个共享地址空间进行寻址。 术语共享并不意味着有一个单一的集中式内存,而是地址空间是共享的——即两个处理器上的相同物理地址指的是内存中的相同位置。 分布式全局地址空间 (DGAS) 是广泛类别的软件和硬件实现的类似术语,其中集群的每个节点除了每个节点的私有(即非共享)内存之外,还可以访问共享内存 .

概览

分布式内存系统,通常称为多计算机,由多个独立的处理节点组成,这些节点具有通过通用互连网络连接的本地内存模块。 软件 DSM 系统可以在操作系统中实现,也可以作为编程库实现,并且可以被视为底层虚拟内存体系结构的扩展。 当在操作系统中实现时,此类系统对开发人员是透明的; 这意味着底层分布式内存对用户完全隐藏。 相比之下,在库或语言级别实现的软件 DSM 系统并不透明,开发人员通常必须对它们进行不同的编程。 然而,这些系统为 DSM 系统实现提供了一种更便携的方法。 DSM 系统在物理分布式内存系统上实现共享内存模型。

DSM 可以通过软件和硬件来实现。 硬件示例包括缓存一致性电路和网络接口控制器。 DSM 的实现方式有以下三种:

  • 使用虚拟内存的基于页面的方法
  • 使用例程访问共享变量的共享变量方法
  • 基于对象的方法,理想情况下通过面向对象的规程访问共享数据

优势

  • 可以很好地扩展大量节点
  • 隐藏消息传递
  • 无需复制或将数据发送到进程即可处理复杂的大型数据库
  • 通常比使用多处理器系统便宜
  • 提供大的虚拟内存空间
  • 由于通用的编程接口,程序更具可移植性
  • 防止程序员发送或接收原语

缺点

  • 访问速度通常比非分布式共享内存慢
  • 必须针对同时访问共享数据提供额外保护
  • 可能会导致性能下降
  • 小程序员控制生成的实际消息
  • 程序员需要了解一致性模型,才能编写正确的程序

与消息传递的比较

软件 DSM 系统还可以灵活地以不同方式组织共享内存区域。 基于页面的方法将共享内存组织成固定大小的页面。 相反,基于对象的方法将共享内存区域组织为一个抽象空间,用于存储可变大小的可共享对象。 另一种常见的实现是使用元组空间,其中共享的单位是元组。

共享内存架构可能涉及将内存分成分布在节点和主内存之间的共享部分; 或在节点之间分配所有内存。 根据一致性模型选择的一致性协议维护内存一致性。

目录内存一致性

内存一致性是必要的,这样组织 DSM 的系统能够跟踪和维护构成系统的内存中节点中数据块的状态。 目录就是这样一种机制,它维护在系统中移动的高速缓存块的状态。

分布式共享存储处理机

一个基本的 DSM 将跟踪目录中任何给定块的节点之间的至少三种状态。 将有一些状态将块指定为未缓存 (U),将块指定为独占或修改拥有 (EM) 的状态,以及将块指定为共享 (S) 的状态。 当块进入目录组织时,它们将在初始节点中从 U 转换为 EM(所有权状态)。 当其他节点开始读取块时,状态可以转换为 S。

有两种主要方法允许系统跟踪块被缓存的位置以及每个节点的缓存条件。 以家庭为中心的请求-响应使用家庭来服务请求和驱动状态,而以请求者为中心允许每个节点通过家庭来驱动和管理自己的请求。

0

点评

点赞

相关文章