现代操作系统-多处理机系统(分布式)

多处理机系统:主要是为了提高计算能力,满足对一些工业问题的计算,比如天气预测,围绕机翼的气流建模,世界经济模拟等。主要有三种模型:

分别是

1.共享存储器多处理机

2.消息传递多计算机

3.广域分布式系统


对于第一种,所有cpu通过一个共享存储器通信。

第二种是许多cpu-存储器通过某种高速互联网网络连接在一起,每个存储器局部对应一个CPU,且只能被该CPU访问。这些CPU通过互联网发送消息通信。这种模型更容易构建,但是编程比较困难。

第三种所有计算机系统通过一个广域网连接起来,构造一个分布式系统。


下表是三种多处理机系统的比较

项目多处理机多计算机分布式系统
节点配置CPUCPU, RAM, 网络接口完整的计算机
节点外设全部共享共享exc每个节点全套外设
位置同一机箱同一房间全球
节点间通信共享RAM专用互联传统网络
操作系统一个,共享多个,相同的可能都不同
文件系统一个,相同    一个,相同每个节点都有
管理一个机构一个机构多个机构

接下来详细描述这三种模型。



一.多处理机

1.1 多处理机硬件

有些多处理机的每个存储器的速度是一样快的,这些机器称为UMA(统一存储器访问),相反,NUMA(非一致存储器访问)多处理机就没有这种特性。

a.基于总线的UMA多处理机体系结构

b.使用交叉开关的UMA多处理机

c.使用多级交换网络的UMA多处理机

d.NUMA处理机

e.多核芯片:将多个cpu放在同一芯片上(同一小硅片)。


二.多计算机

多处理机的缺点,构造困难,造价高昂。而多计算机容易构造,因为核心部件就是一台配有高性能网络接口卡的pc,用来连接多个计算机。

多计算机调度

每个节点都有自己的存储器和进程,因此可以应用任何本地调度算法。

负载平衡

一旦一个进程被指定给了某个计算节点,就不再有什么可控制的,因此哪个进程被指定给哪个节点的决策是很重要的。这与多处理机系统相反,在多处理机系统中所有进程都在同一个存储器上,可以随意调度到任何CPU上运行,因此值得考察怎样以有效的方式把进程分配到各个节点上。这种算法就是负载均衡

1.图论确定算法

进程对于CPU和存储器的需求是已知的,然后以最小的网络流量完成进程的分配工作。

2.发送者发起的分布式启发算法

当进程创建时,就运行在创建它的节点上,除非节点过载,然后会随机选择另一个节点并询问其负载情况,若该节点负载较低,则将新的进程送到该节点上。若负载较高,则寻找新的节点,若到最后所有节点负载都很大,则继续运行在本节点上。

3.接受者发起的分布式启发算法

只要有一个进程结束,系统检查是否有足够的工作可做,若没有,则随机选择某台机器并要求它提供工作。

算法的优点在于:在关键时刻,不会对系统增加额外的负担。上一个算法会在机器负载很大时,做了大量的探查工作,增加负载,而接受者发起算法,则不会这样,只会在工作少也就是负载小时,进行探查。



分布式系统

与多计算机相比,也是具有独立的CPU和存储,但是耦合度更为松散,分布式系统的节点可能分布在全世界范围,而多计算机只是分布在一个房间中。而且多计算机节点运行同样的操作系统,共享一个文件系统。而分布式系统则可以运行不同的操作系统和文件系统。

分布式面对不同硬件和操作系统实现某种统一管理的途径是,在操作系统顶部添加一层软件,称为中间件,如下图所示:



从某种意义上说,中间件就像分布式系统的操作系统。


转载于:https://www.cnblogs.com/sichenzhao/p/9320152.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值