系统结构复习之多处理机、数据流计算机、归约机


MIMD,多指令流,多数据流。同时可执行多个任务

基本概念,问题 硬件结构

什么是多处理机?

MIMID,作业及任务级并行。
共享IO系统,经共享主存或高速网络通讯,在统一OS控制下,协同求解大而复杂问题。

需要解决的问题

  1. 硬件结构上如何解决好处理机,存贮模块及IO子系统之间互连
  2. 如何最大限度开发OS的并行性,以实现多处理机全面各级并行性
  3. 如何分割任务及子任务的大小,使并行度很高,辅助开销比较小
  4. 如何协调好并行执行的任务和进程间同步问题。负载均衡
  5. 将各个任务分配到一个或多个处理机上,解决好任务调度,处理机调度和资源分配问题。
  6. 一旦某个处理机发生故障,如何应对系统进行组织,不使瘫痪
    多处理机结构
    机间互边
    并行算法
    并行语言
    编译支持
    操作系统支持

硬件结构

紧耦合和松耦合 cpu

紧耦合,通过共享主存来实现处理机间通信 。通信速率受限于主存频宽。系统中处理机数及互连网络带宽及同时访问主存发生的冲突概率。
分为册构对称型和异构非对称型。

松耦合

每台都有个容量较大存储器。用于经常用的指令和数据。以减少访存冲突。通过 通信互连,消息传递,实现数据通讯

机间互连

总线形式

总线形式。但使用光纤通信
多总线方式。

环形互连

令牌环。很难实现并行

交叉开关方式

通过交叉开关,连通所有设备。需要开关太多。可以两级,小的第一极是全连开关,第二级是把第一级当作一点,再连接到其他处理机

多端口存储器

存储器支持多个端口,自己来选择用哪一路。

x-tree 多处理机

二叉树+环,能够以最快速度去访问。通过树+同一层的环来实现互连

存储器的组织

多相模块构成的并行存储器,应尽量减少各处理机同时访问。
多路交叉,更具体为低位交叉编址。对于一个处理一定处理成低位交叉比较方便。
高位交叉,对于多处理机

紧耦合多处理机多cache 一致性问题

多个cpu都有主存的副本。多个地方都可以改。

解决

限制功能

禁止进程迁移,写直法

硬件方法

监听法:写更新(播写法:通过广播使所有cache内容更新),写作废(有唯一的写入权限,其他地方的数据作废)。
目录法:cache保存信息情况放到目录表里。
全映像目录法:表中有N个(有多少个共享的处理机)标志位表示cache中的副本。
有限目录表法,只有有限个标志
链式目录法:链表,节约空间。

软件方法

通过编译器时分析指令,只是针对自己独享,还是共享。这样区分一下。没有成功的。

多处理机并行性和性能

并行算法

指令外的并行,任务级并行。必须利用算法、程序设计语言、编译 、OS、指令及硬件等多种途径来开拓。
运算基本对象:数值型、非数据值
按并行进程间操作顺序,同步型、异步型、独立型。
按计算任务大小,细粒度,中粒度,粗粒度
按并行进程是否相同,同构(SIMD)、异构(MIMD)

并行算法研究思路

程序划分思路,功能的划分,需要人为的干预比较多
数据划分思路,把数据切成一块块的。互相之间干扰是比较少。

程序并行性分析

对于复杂程序,需要程序划分,构建成一棵树,每个过程认为是一个点,并联关系用结点组成树来描述。

数据相关,不能并行,先写后读
数据反相关,也有问题,先读后写
数据输出相关,先写后写。若两个机器并行,可能先执行新的,那也出问题
互为输出变量,同时具有先读后写,先写后读。

并行语言和编译

对并行程序设计语言的基本要求

使程序员在其程序中灵活、方便地表示出各类并行性,能在各种并行/向量计算机系统中高效地实现.

  1. 加入表示并行进程的成分
  2. 设计全新并行程序设计语言

派生与汇合

任务执行时,派生出可与它并行执行的其他一个或多个任务,分配给不同处理机完成,完成后,再汇合起来(结果)再进行后续的单任务。

多处理机与并行处理机区别

多处理机是异步,并行处理机是同步的
多处理机数目对程序编写没有影响,由OS控制。

多处理机性能

实际情况:

  1. 存在不可并行情况
  2. 存在辅助开销
    并行性检测
    并行任务的派生和汇合
    处理机的通信传输、同步、系统控制和调度
    根据 任务粒度、任务切割,处理机数进行任务划分,保证有效时间比开销是一个比较大的值 ,保证比较好的性能。

多处理机的OS

在os上面再装上一层软件如hudop ,然后在hodop上连成整体,然后执行并行的任务。

设计难度

  1. 处理机的分配和进程调度
  2. 进程间同步
  3. 进程间通信
  4. 存储系统管理
  5. 文件系统管理
  6. 故障时的恢复

多处理机OS特点

  1. 程序执行的并行性
  2. OS功能的分布性
  3. 机间通信与同步性
  4. 系统的容错性

分类

  1. 主从型,一个主master,调度中心,其他都是从
  2. 各自独立型,没有master
  3. 浮动型,介于上面两者之间。

多处理机发展

分布式共享存储器,共享的,物理上分散的,统一编址的,统一虚拟编址
对称多处理机,集中式共享的单一地址空间,cpu不会超过5个
多向理处理机,多台处理机,多个向量流水部件和标量部件,共享主存,松耦合结构
并行向量处理机,用紧耦合结构,纵横交叉开并互连,大量 的向量寄存器和缓冲器
大规模并行处理机MPP,超大规模并行处理机。分布式内存,存储不共享。
集群系统:也称机群。当下最常用结构。主要通过上层软件实现
高的性能价格比。
系统开发周期比较短
可扩展性比较好
资源利用率高
投资风险小
用户编程方便

数据流计算机和归约机

四种驱动方式

控制驱动、数据驱动、需求驱动、模式匹配的驱动

控制驱动

冯诺 衣曼结构,指令

数据驱动

只要数据准备好了,就执行

需求驱动

根据操作,规约

模式匹配

谓词逻辑的匹配和度量的归一,主要用在智能计算机里面。

数据流计算机

数据流程序图

用数据流的语言来编写,开发程序内隐含的并行性。

点火原则

数据准备好了,就接着执行

归约机

要数据准备好了,就执行

需求驱动

根据操作,规约

模式匹配

谓词逻辑的匹配和度量的归一,主要用在智能计算机里面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值