共享内存多处理器模型有哪些?
最流行的并行计算机是那些以 MIMD 模式执行程序的计算机。并行计算机主要有两种类型:共享内存多处理器和消息传递多计算机。多处理器和多计算机之间的主要区别在于内存共享和用于处理器间通信的结构。
多处理器系统中的处理器通过共享内存中的共享变量相互通信。多计算机系统中的每个计算机节点都有本地内存,与其他节点不共享。进程间通信是通过节点之间的消息传递来完成的。
共享内存多处理器模型主要有以下三种:
UMA 模型
UMA 代表统一内存访问模型。在此模型中,物理内存由所有处理器一致连接。所有处理器对所有内存单元具有相同的访问时间,因此被称为统一内存访问。每个处理器可以使用私有缓存。外设也是共享的。
UMA 模型适用于各种用户的分时应用程序。它可以用于在时间关键型应用程序中加速单个高程序的实现。当所有处理器都对所有外设具有相同的访问权限时,该系统被称为对称多处理器。在这种方法中,所有处理器对于正在运行的程序(包括内核)都是统一的。
NUMA 模型
NUMA 代表非统一内存访问模型。NUMA 多处理器是一个共享内存系统,其中访问时间随内存单元的位置而变化。图中显示了两种 NUMA 机器模型。
共享内存在物理上由所有处理器共享,称为本地内存。所有本地内存的集合形成了一个全局地址空间,所有处理器都可以访问。
使用本地处理器创建本地内存更快。访问连接到其他处理器的远程内存需要更长时间,因为通过互连网络增加了延迟。
COMA 模型
COMA 代表仅缓存内存架构。此模型是 NUMA 机器的独特方法,其中共享主内存被缓存内存取代。在单个处理器节点上,没有内存命令链(层次结构)。所有缓存都构成了一个全局地址空间。
根据使用的互连网络,可以使用目录来支持查找缓存块的副本。COMA 的一个例子包括瑞典计算机科学研究所的数据扩散机 (DDM)。
广告