多处理机和数据流、归约机
MIMD,多指令流,多数据流。同时可执行多个任务
基本概念,问题 硬件结构
什么是多处理机?
MIMID,作业及任务级并行。
共享IO系统,经共享主存或高速网络通讯,在统一OS控制下,协同求解大而复杂问题。
需要解决的问题
- 硬件结构上如何解决好处理机,存贮模块及IO子系统之间互连
- 如何最大限度开发OS的并行性,以实现多处理机全面各级并行性
- 如何分割任务及子任务的大小,使并行度很高,辅助开销比较小
- 如何协调好并行执行的任务和进程间同步问题。负载均衡
- 将各个任务分配到一个或多个处理机上,解决好任务调度,处理机调度和资源分配问题。
- 一旦某个处理机发生故障,如何应对系统进行组织,不使瘫痪
多处理机结构
机间互边
并行算法
并行语言
编译支持
操作系统支持
硬件结构
紧耦合和松耦合 cpu
紧耦合,通过共享主存来实现处理机间通信 。通信速率受限于主存频宽。系统中处理机数及互连网络带宽及同时访问主存发生的冲突概率。
分为册构对称型和异构非对称型。
松耦合
每台都有个容量较大存储器。用于经常用的指令和数据。以减少访存冲突。通过 通信互连,消息传递,实现数据通讯
机间互连
总线形式
总线形式。但使用光纤通信
多总线方式。
环形互连
令牌环。很难实现并行
交叉开关方式
通过交叉开关,连通所有设备。需要开关太多。可以两级,小的第一极是全连开关,第二级是把第一级当作一点,再连接到其他处理机
多端口存储器
存储器支持多个端口,自己来选择用哪一路。
x-tree 多处理机
二叉树+环,能够以最快速度去访问。通过树+同一层的环来实现互连
存储器的组织
多相模块构成的并行存储器,应尽量减少各处理机同时访问。
多路交叉,更具体为低位交叉编址。对于一个处理一定处理成低位交叉比较方便。
高位交叉,对于多处理机
紧耦合多处理机多cache 一致性问题
多个cpu都有主存的副本。多个地方都可以改。
解决
限制功能
禁止进程迁移,写直法
硬件方法
监听法:写更新(播写法:通过广播使所有cache内容更新),写作废(有唯一的写入权限,其他地方的数据作废)。
目录法:cache保存信息情况放到目录表里。
全映像目录法:表中有N个(有多少个共享的处理机)标志位表示cache中的副本。
有限目录表法,只有有限个标志
链式目录法:链表,节约空间。
软件方法
通过编译器时分析指令,只是针对自己独享,还是共享。这样区分一下。没有成功的。
多处理机并行性和性能
并行算法
指令外的并行,任务级并行。必须利用算法、程序设计语言、编译 、OS、指令及硬件等多种途径来开拓。
运算基本对象:数值型、非数据值
按并行进程间操作顺序,同步型、异步型、独立型。
按计算任务大小,细粒度,中粒度,粗粒度
按并行进程是否相同,同构(SIMD)、异构(MIMD)
并行算法研究思路
程序划分思路,功能的划分,需要人为的干预比较多
数据划分思路,把数据切成一块块的。互相之间干扰是比较少。
程序并行性分析
对于复杂程序,需要程序划分,构建成一棵树,每个过程认为是一个点,并联关系用结点组成树来描述。
数据相关,不能并行,先写后读
数据反相关,也有问题,先读后写
数据输出相关,先写后写。若两个机器并行,可能先执行新的,那也出问题
互为输出变量,同时具有先读后写,先写后读。
并行语言和编译
对并行程序设计语言的基本要求
使程序员在其程序中灵活、方便地表示出各类并行性,能在各种并行/向量计算机系统中高效地实现.
- 加入表示并行进程的成分
- 设计全新并行程序设计语言
派生与汇合
任务执行时,派生出可与它并行执行的其他一个或多个任务,分配给不同处理机完成,完成后,再汇合起来(结果)再进行后续的单任务。
多处理机与并行处理机区别
多处理机是异步,并行处理机是同步的
多处理机数目对程序编写没有影响,由OS控制。
多处理机性能
实际情况:
- 存在不可并行情况
- 存在辅助开销
并行性检测
并行任务的派生和汇合
处理机的通信传输、同步、系统控制和调度
根据 任务粒度、任务切割,处理机数进行任务划分,保证有效时间比开销是一个比较大的值 ,保证比较好的性能。
多处理机的OS
在os上面再装上一层软件如hudop ,然后在hodop上连成整体,然后执行并行的任务。
设计难度
- 处理机的分配和进程调度
- 进程间同步
- 进程间通信
- 存储系统管理
- 文件系统管理
- 故障时的恢复
多处理机OS特点
- 程序执行的并行性
- OS功能的分布性
- 机间通信与同步性
- 系统的容错性
分类
- 主从型,一个主master,调度中心,其他都是从
- 各自独立型,没有master
- 浮动型,介于上面两者之间。
多处理机发展

分布式共享存储器,共享的,物理上分散的,统一编址的,统一虚拟编址
对称多处理机,集中式共享的单一地址空间,cpu不会超过5个
多向理处理机,多台处理机,多个向量流水部件和标量部件,共享主存,松耦合结构
并行向量处理机,用紧耦合结构,纵横交叉开并互连,大量 的向量寄存器和缓冲器
大规模并行处理机MPP,超大规模并行处理机。分布式内存,存储不共享。
集群系统:也称机群。当下最常用结构。主要通过上层软件实现
高的性能价格比。
系统开发周期比较短
可扩展性比较好
资源利用率高
投资风险小
用户编程方便
数据流计算机和归约机
四种驱动方式
控制驱动、数据驱动、需求驱动、模式匹配的驱动
控制驱动
冯诺 衣曼结构,指令
数据驱动
只要数据准备好了,就执行
需求驱动
根据操作,规约
模式匹配
谓词逻辑的匹配和度量的归一,主要用在智能计算机里面。
数据流计算机
数据流程序图
用数据流的语言来编写,开发程序内隐含的并行性。
点火原则
数据准备好了,就接着执行
归约机
要数据准备好了,就执行
需求驱动
根据操作,规约
模式匹配
谓词逻辑的匹配和度量的归一,主要用在智能计算机里面。