多处理机系统中的调度

上传人:cl****1 文档编号:580113898 上传时间:2024-08-28 格式:PPT 页数:23 大小:472.50KB
返回 下载 相关 举报
多处理机系统中的调度_第1页
第1页 / 共23页
多处理机系统中的调度_第2页
第2页 / 共23页
多处理机系统中的调度_第3页
第3页 / 共23页
多处理机系统中的调度_第4页
第4页 / 共23页
多处理机系统中的调度_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《多处理机系统中的调度》由会员分享,可在线阅读,更多相关《多处理机系统中的调度(23页珍藏版)》请在金锄头文库上搜索。

1、3.4 多处理机系统中的调度 流行的多处理器系统有: 松散耦合多处理器系统: 紧密耦合多处理器系统: 现代操作系统往往采用进程调度与线程调度相结合的方式来完成多处理器调度。1 什么是多处理机系统 多处理机操作系统的分类 多处理机系统调度策略 多处理机调度2 多处理机系统:是一个具有两个或多个处理机并能相互进行通信以协同一个大的给定问题求解的计算机系统。特点: 1) 有两个或多个处理机2) 共享主存或高速通信网络3) 共享输入输出子系统4) 有单一完整的操作系统5) 各级硬件和软件相互作用什么是多处理机系统3主要功能: 进程分配 更好的利用多机硬件 资源在处理机之间的分配 改善程序的响应时间 处

2、理机的负载平衡 处理机间的协调和同步 因处理机故障引起的系统重组重组4 广义上说,使用多处理机协调工作,来完成用户所要求任务的计算机系统。这包扩了并行处理系统(parallel processing system),例如数据流机(dataflow machine)和细胞阵列处理机(Celluar array processors)等,也包扩了在物理上分散且通过不同的物理传输媒体传输数据的计算机网络系统和计算机网络为基础的,对用户透明的分布式系统,以及在同一的计算机系统里共享内存的多处理机系统. 广义的计算机系统的一个共同的特点是有n个处理器(n1),能做到真正的并行处理,也就是能同时执行n条指

3、令. 5(1) 多处理机系统与单机调度的区别 多处理机调度与单机调度的主要区别涉及两个资源分配问题: 一是存放程序或数据的存储器分配及如何访问他们的问题。 在多机系统中,由于各进程在物理上也同时执行而不是单机系统那样的交叉执行,这些在物理上同时执行的进程可能同时访问物理存储器的同一地址。处理机对同一存储块的访问必须是顺序的。各进程同时访问物理存储器上的同一地址是不允许的。 多处理机系统调度策略6二是将等待执行的就绪进程分配到哪一个处理机上执行的问题。在单机系统中,由于只有一个处理机,在调度程序中选取了某个就绪状态的进程之后,不须再选择处理机。而在多机系统中,为了尽量做到让各处理机负荷平衡,可能

4、会将处理机在进程之间进行多次切换。如果被切换进程正在执行其临界区部分或系统中进程数目相当多,这种频繁的上下文转换将会使系统效率大大下降。7多处理机系统的调度目标是:以最高的可靠性,使用最少的处理机在最短的时间内完成最多的可以并行完成的进程。8多处理器调度的设计要点设计要点之一是如何把处理器分配给进程: 静态分配策略 动态分配策略设计要点之二是否要在单个处理器上支持多道程序设计。设计要点之三是如何指派进程。9多处理器的调度算法(1)实验证明,随着处理器数目的增多,复杂低级调度算法的有效性逐步下降。多数采取动态分配策略的多处理器系统中,低级调度算法往往采用最简单的FCFS或优先数算法。 10多处理

5、器的调度算法(2)多处理器调度的主要研究对象是线程调度算法。尽管线程也给单处理器系统带来很大益处,但在多处理器环境中线程的作用才真正得到充分发挥。11多处理器调度算法(4)自调度算法自调度算法优点 把负载均分到所有可用处理器上,保证了处理器效率的提高。 不需要集中的调度程序,一旦一个处理器空闲,调度程序就可以运行在该处理器上以选择下一个运行的线程。 运行线程的选择可以采用各种可行的策略。12多处理器调度算法(5)自调度算法自调度算法(1)先来先服务。 (2)最少线程数优先。 (3)有剥夺的最少线程数优先。13多处理器调度算法(6)自调度算法自调度算法不足 就绪线程队列将成为性能的瓶颈。 被抢占

6、的线程很难在同一个处理器上恢复运行,会带来性能下降。 线程都被放在公共线程池中,所有线程获得处理器的机会相同。如果一个程序的线程希望获得较高优先级,进程切换将导致性能的折衷。14多处理器调度算法(7)2 2)群群组调度算法调度算法 基本思想:把一组进程在同一时间一次性调度到一组处理器上运行。它具有的优点: 当紧密相关的进程同时执行时,同步造成的等待将减少,进程切换也相应减少,系统性能得到提高。 由于一次性同时调度一组处理器,调度的代价也将减少。15多处理器调度算法(8)群调度算法为应用进程分配CPU时间方法一 面向应用进程平均分配方法二 面向所有进程平均分配16多处理器调度算法(9)群调度对处

7、理器分配(1)如果有N个处理器和M个应用程序,每个应用程序有最多N个线程,那么,使用时间片,每个应用程序将被给予M个处理器中可用时间的1/M,这个分配策略可能效率不高。17多处理器调度算法(10)群调度对处理器分配(2)考虑例子,有两个应用程序,一个有4个线程,另一个有1个线程。若使用统一的时间分配,每个应用程序可获得50%的CPU时间,由于后一个线程运行时,有三个处理器是空闲的,于是浪费的CPU资源为37.5%。18多处理器调度算法(11)可选择的另种统一时间分配称线程数加权调度法,具体来说,给第一个应用程序分4/5CPU时间,给第二个应用程序分1/5的时间,则处理器时间浪费可降到15%。1

8、9 空闲空闲空闲浪费37.5%浪费15% 统一划分组1 组2 加权划分组1 组2空闲空闲空闲多处理器调度算法(12) 群组调度的例子20多处理器调度算法(13)3 3)专用处理器调度算法)专用处理器调度算法基本思想:给一个应用指派一组处理器,一旦一个应用被调度,它的每个线程被分配一个处理器并一直占有处理器运行直到整个应用运行结束。采用这一算法,处理器将不适用多道程序设计,即该应用的一个线程阻塞后,线程对应的处理器不会被调度给其他线程,而处于空闲状态。21多处理器调度算法(14)4 4)动态调度算法)动态调度算法(1)(1)基本思想:由操作系统和应用进程共同完成调度。操作系统负责在应用进程之间划分处理器。应用进程在分配给它的处理器上执行可运行线程的子集,哪一些线程应该执行,哪一些线程应该挂起完全是应用进程自己的事。22多处理器调度算法(15)动态调度算法动态调度算法(2)(2)如果有空闲处理器,满足要求。否则,对新到达进程,从当前分配了一个以上处理器的进程中收回一个,并把它分给新到达进程。 如果要求不能被满足,则保留申请直到出现可用处理器或要求取消。 释放了一个或多个处理器后,扫描申请处理器的进程队列,按照FCFS原则把处理器逐一分配给每个申请进程直到没有可用处理器。23

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号