并行计算机体系结构 - 模型


并行处理已发展成为现代计算机中的一种有效技术,以满足现实应用中对更高性能、更低成本和准确结果的需求。由于多道程序设计、多处理或多计算的实践,并发事件在当今的计算机中很常见。

现代计算机拥有强大且广泛的软件包。要分析计算机性能的发展,首先我们要了解硬件和软件的基本发展。

  • 计算机发展里程碑- 计算机的发展有两个主要阶段 -机械部分或机电部分。现代计算机是在电子元件引入后发展起来的。电子计算机中的高迁移率电子取代了机械计算机中的操作部件。对于信息传输,几乎以光速传播的电信号取代了机械齿轮或杠杆。

  • 现代计算机的要素-现代计算机系统由计算机硬件、指令集、应用程序、系统软件和用户界面组成。

现代计算机系统的要素

计算问题分为数值计算、逻辑推理和事务处理。一些复杂的问题可能需要所有三种处理模式的结合。

  • 计算机体系结构的演变- 在过去的四十年中,计算机体系结构经历了革命性的变化。我们从冯诺依曼架构开始,现在我们有了多计算机和多处理器。

  • 计算机系统的性能- 计算机系统的性能取决于机器能力和程序Behave。机器能力可以通过更好的硬件技术、先进的架构特性和高效的资源管理来提高。程序Behave是不可预测的,因为它取决于应用程序和运行时条件

多处理器和多计算机

在本节中,我们将讨论两种类型的并行计算机 -

  • 多处理器
  • 多电脑

共享内存多计算机

三种最常见的共享内存多处理器模型是 -

统一内存访问 (UMA)

在该模型中,所有处理器统一共享物理内存。所有处理器对所有存储器字具有相同的访问时间。每个处理器可以有一个私有高速缓冲存储器。外围设备也遵循相同的规则。

当所有处理器对所有外围设备具有平等的访问权限时,系统称为对称多处理器。当只有一个或几个处理器可以访问外围设备时,系统称为非对称多处理器

UMA多处理器

非一致内存访问 (NUMA)

在 NUMA 多处理器模型中,访问时间随内存字的位置而变化。这里,共享内存物理上分布在所有处理器之间,称为本地内存。所有本地存储器的集合形成一个可以被所有处理器访问的全局地址空间。

多处理器系统的 NUMA 模型

仅高速缓存内存架构 (COMA)

COMA 模型是 NUMA 模型的特例。这里,所有分布式主存储器都被转换为高速缓冲存储器。

多处理器的 COMA 模型
  • 分布式内存多计算机- 分布式内存多计算机系统由多台计算机(称为节点)组成,通过消息传递网络互连。每个节点都充当一个自治计算机,具有处理器、本地存储器,有时还具有 I/O 设备。在这种情况下,所有本地存储器都是私有的并且只能由本地处理器访问。这就是为什么传统机器被称为非远程内存访问(NORMA)机器。

消息传递多处理器的通用模型

多向量和 SIMD 计算机

在本节中,我们将讨论用于矢量处理和数据并行的超级计算机和并行处理器。

矢量超级计算机

在矢量计算机中,矢量处理器作为可选功能附加到标量处理器。主机首先将程序和数据加载到主存储器中。然后标量控制单元对所有指令进行解码。如果解码的指令是标量操作或程序操作,则标量处理器使用标量功能流水线来执行这些操作。

另一方面,如果解码的指令是向量运算,则指令将被发送到向量控制单元。

矢量超级计算机的体系结构

SIMD超级计算机

在 SIMD 计算机中,“N”个处理器连接到一个控制单元,并且所有处理器都有其各自的存储单元。所有处理器都通过互连网络连接。

SIMD 计算机的操作模型

PRAM 和 VLSI 模型

理想模型为开发并行算法提供了合适的框架,而无需考虑物理约束或实现细节。

可以强制执行该模型以获得并行计算机上的理论性能界限,或在芯片制造之前评估芯片面积和操作时间的 VLSI 复杂性。

并行随机存取机

Sheperdson 和 Sturgis (1963) 将传统的单处理器计算机建模为随机存取机 (RAM)。Fortune 和 Wyllie (1978) 开发了一种并行随机存取机 (PRAM) 模型,用于对具有零内存访问开销和同步的理想化并行计算机进行建模。

普拉姆模型

N 处理器 PRAM 具有共享内存单元。该共享内存可以集中或分布在处理器之间。这些处理器在同步的读存储器、写存储器和计算周期上运行。因此,这些模型指定了如何处理并发读写操作。

以下是可能的内存更新操作 -

  • 独占读取 (ER) - 在此方法中,在每个周期中仅允许一个处理器从任何内存位置读取。

  • 独占写入 (EW) - 在此方法中,一次至少允许一个处理器写入某个内存位置。

  • 并发读取(CR) - 它允许多个处理器在同一周期内从同一内存位置读取相同的信息。

  • 并发写入(CW) - 它允许对同一内存位置同时进行写入操作。为了避免写冲突,设置了一些策略。

VLSI复杂性模型

并行计算机使用VLSI芯片来制造处理器阵列、存储器阵列和大规模交换网络。

如今,超大规模集成电路技术是二维的。VLSI 芯片的尺寸与该芯片中可用的存储(内存)空间量成​​正比。

我们可以通过该算法的 VLSI 芯片实现的芯片面积 (A) 来计算该算法的空间复杂度。如果 T 是执行算法所需的时间(延迟),则 AT 给出通过芯片(或 I/O)处理的总位数的上限。对于某些计算,存在一个下界 f(s),使得

AT 2 >= O (f(s))

其中 A= 芯片面积,T= 时间

建筑发展轨迹

并行计算机的演变我沿着以下轨道传播 -

  • 多处理器轨道
    • 多处理器轨道
    • 多机轨道
  • 多数据轨
    • 矢量轨道
    • SIMD轨道
  • 多线程跟踪
    • 多线程轨道
    • 数据流轨迹

多处理器轨道中,假设不同的线程在不同的处理器上并发执行,并通过共享内存(多处理器轨道)或消息传递(多计算机轨道)系统进行通信。

多数据轨道中,假设在海量数据上执行相同的代码。它是通过在数据元素序列(向量轨道)上执行相同的指令或通过在相似的数据集(SIMD 轨道)上执行相同的指令序列来完成的。

多线程跟踪中,假设各个线程在同一处理器上交错执行,以隐藏在不同处理器上执行的线程之间的同步延迟。线程交错可以是粗略的(多线程轨道)或精细的(数据流轨道)。