什么是共享内存MIMD架构?
共享内存MIMD架构被称为多处理器。它可以被认为是一组处理器和一组内存模块。任何处理器都可以通过互连网络直接访问任何内存模块,如图所示。这组内存模块代表一个由所有处理器共享的全局地址空间。这种类型的并行机称为共享内存MIMD架构。
共享内存MIMD架构的优点
共享内存MIMD架构具有以下优点:
不需要对代码或数据进行分区,因此单处理器编程方法可以简单地适应多处理器环境。
当两个或多个进程通信时,不需要物理传输数据。用户进程可以访问制造商存储信息的位置。
处理器之间的通信非常高效。
编程共享计算机比分布式计算机更容易。
共享内存MIMD架构的缺点
共享内存MIMD架构具有以下缺点:
共享内存系统的主要缺点是由于争用问题导致的可扩展性不足。当多个处理器需要访问相同的内存模块时,它们必须争夺访问权限。获胜者可以访问内存,而失败者则必须等待。处理器数量越多,内存争用的可能性就越大。
尽管共享内存子系统的编程通常比多计算机编程简单,但同步访问共享数据结构需要某些同步结构,例如信号量、条件临界区、监视器等。使用这些结构会导致程序行为不确定,从而导致难以发现的编程错误。
在处理器和内存模块之间使用高吞吐量、低延迟的互连网络可以显著提高可扩展性。
为了减少内存争用问题,共享内存系统扩展了称为缓存内存的小型本地内存。每当处理器发出内存引用时,首先检查关联的缓存内存,以查看所需数据是否存储在缓存中。
可以无需使用互连网络执行内存引用,从而减少内存争用。如果所需的信息不在缓存内存中,则将包含该数据的页面传输到缓存中。主要假设是共享内存程序通常提供良好的引用局部性。例如,在执行过程期间,在许多情况下,只需访问包含在处理器缓存中的本地数据就足够了。
逻辑共享内存可以物理实现为本地内存的集合。这种新型架构称为虚拟共享内存或分布式共享内存架构。
广告