首页 > 代码库 > 多处理机初探

多处理机初探

(1)定义:

多处理机属于多指令流多数据流系统。它由多个独立的处理机组成,每个处理机都能独立执行自己的程序。


(2)对比:

让我们对并行处理机和多处理机做一个对比。对于并行处理机并行性存在于指令内部,实现操作级的并行(单指令流多数据流)。而多处理机的并行性存在于指令外部,表现于多个任务间的并行。


(3)硬件结构分类:

多处理机在硬件结构上分为紧耦合多处理机和松耦合多处理机。


(4)多处理机间的互联形式:

  • 总线形式
  • 环形互连形式
  • 交叉开关形式
  • 多端口存储器形式
  • 蠕虫穿洞寻径网络
  • 开关枢纽结构形式

(5)多cache一致性:

问题:每一个处理机都有自己专用的Cache,但主存中同一个信息块在多个Cache中都有时,会出现信息不一致情况。

解决办法:
  • 解决进程迁移引起的多Cache不一致性
  • 以硬件为基础实现多Cache的一致性
  • 以软件为基础实现多Cache的一致性
**硬件相较于软件方法通讯量大、复杂,但性价比低,适合于处理机数少的情况。

(6)多处理机的并行算法:

定义:并行算法是指可同时执行的多个进程的集合,各进程可相互作用、协调和并发操作。

方法:
  • 划分法:将原问题均等分解
  • 分治法:递归分解问题,直到子问题容易求解,最后合并子问题
  • 平衡树法:将输入元素作为叶节点构筑一棵平衡二叉树;然后自叶向根往返遍历
  • 倍增法
  • 流水线法
  • 破对称法
(7)发展:

  • SMP(Symmetry MultiProcessors)对称多处理机,也称为SMP(Shared Memory MulptiProcessors)共享存储多处理机 。
  • MPP大规模并行处理机。
  • Cluster机群系统,利用高速网络将一组高性能工作站或高档PC机连接起来,在并行程序设计以及可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统