第四任务分配与调度

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 从结束结点加标号,a1=1,与结束结点相 差一个单位时间的结点a2=2,依次类推
3. 任务图最小完成时间 Tmin与 amax有关,即
为:
Tmin》= amax
amax为图的图的最大路径
2020/6/5
24
调度过程:
对于P台处理机 ➢ 首先调度P个最大标号结点,可能包括两层
结点
➢ 把处理过的P个结点从图中删除,剩下没有 前趋的结点为开始结点
2. 任务图按层分割,结束结点为第一层,向上单位时间完成的结点为 第二层,依此类推。
3. 在不违背原图前趋的条件下,下层结点可以移至上层结点。 4. 首先调度最高层,逐步向下,可获得最小完成时间
2020/6/5
33
例:
T1 7 1 2
T2 7 1 2
T3 7 1 2
T4 1 T5 8
2020/6/5
控制分布——处理机结点由自己的操作系统或 管理程序管理和控制本结点的资源和进程
资源分布——系统所有资源分布在各结点上, 便于各进程对资源的共享
2020/6/5
2
通信与同步——存在结点内并发进程之间 的同步和通信,各不同结点进程之间需要 同步和通信
系统容错——当系统中某一个部件或结点 发生故障,系统应能动态重新组合,降级 使用
2020/6/5
13
➢ 长期进程调度——选择和激活一个新进程使其进 入处理环境
➢ 短期进程调度——选择一个进程送入所分配的处 理机
➢ 两类调度:
➢ 确定性调度——在求解问题前必须给出表示问题 特征所需要的所有信息,主要有每个任务的运行 时间和各任务之间的关系
➢ 不确定性调度——系统运行过程中根据系统状态 对任务进行分配
T11
4
T7
T8
T9
3
T4
T5
T6
2
T3
T2
1
T1
2020/6/5 r=2和r=5时,产生r*值,表达式值最大
28
抢先调度
公度结点权 定义:设如果存在一个正数w,
使得每个结点的权是w的正倍 数,称这组结点的权是相互 成比例的或是可公度的。
T1 8
T2 16
T21 T11
T22
T23 T12
T24
T31
➢ 非抢先调度——当一台处理机分配给某个 任务后,该处理机为该任务提供服务直至 该任务完成
2020/6/5
16
2、确定性调度 进程调度过程往往采用Gantt图表示。
P1
T1
T2
φ
P2
T2
T1
P3
T3
T4
T5
φ
0
2
4
6
7
可以表示处理机的调度过程,反映各种运行参数
2020/6/5
17
T1 1
T2 2
第四章 任务分配与调度
§4.1 多机操作系统概述 1. 主要特征 并行性——多机操作系统的主要目标是 增强程序执行的并行性,以获得更高的 系统处理能力,提高系统的运算速度, 满足各应用领域对计算机系统性能的需 求
2020/6/5
1
分布性——
任务分布——问题分解后,分解成为多个子任 务,分配到不同的处理机上运行
➢ 重复以上过程
2020/6/5
25
➢ 设一个任务图的执行时间为:
T= amax+c
c为正整数
所需最少处理机数目可由下式求出:
p 1 1
r* c
r* j 1
(amax 1 j) p
其中ρ(i)表示途中标号 ai的结点数,
r*是给定表达式值为最大的常数r值
2020/6/5
26
标号
7
T16
T17
T1
7+1/2
P2
T2 14/3+1/2
T3
P3 T3 7/3+1/2
T5 7
012 3 456 7
T2 7/3
14/3
89
T4
T6 T9
1
3/2 1/2
T5 T7 Φ
1
3/2
T T T8 Φ
7 8 3/2
10 11 12 13
76/6
2020/6/5
36
粒度组合与调度
做并行程序设计时要回答两个基本问题: (1)如何将程序划分成并行模块、子任务以获得最
T6
1 1
2
T7 2
T8 2
T9 1 2
34
T11 1 2
T21 1 2
T31 1 2
T12 7 T22 7 T32 7 T571 7
T4 1 T52 1
1 T71 2
1 T81 2
T6 11 2
T72 11 2
T82 11 2
公度结点权
2020/6/5
T9 1 2
35
31/6
64/6
73/6
P1
➢ 最早调度策略——从开始结点计算结点的 最早分配时间
➢ 最晚调度策略——从结束结点推算计算最 晚调度时间
➢ 一个任务图的任务分配是一个网络规划问 题
2020/6/5
20
一个任务图,可由图G=(T,Q)表示:
T={t1,t2,t3,……….tn} T为任务集 ti为结点权,表示子任务的运行时间。
Q={q1,q2,q3,……. qm} Q为通信集 qj=( ti,tk)为 ti与 tk两个结点之间边的权,
基本特点:
➢ 每个处理机有各自的私有表格,而有些表
格是系统公用的,增加了表格存取控制的 复杂性
➢ 每个处理机可以根据自身的需要及所分配
的任务进行管理
2020/6/5
6
➢ 管理程序的代码必须是可重入的,或者 是为每个处理机装入专用的管理程序副 本
➢ 某个处理机出了故障不一定会引起整个 系统瘫痪,但恢复困难。
1
T1
27
标号
7
T16
T17
T18
T19
C=1,T=amax+1=8 r=1: 4/2=2 r=2: 8/3=2.66 r=3: 10/4=2.5 r=4: 13/5=2.6 r=5: 16/6=2.66 r=6: 18/7=2.57 r=7: 19/8=2.357
6 T12
T13
T14
T15
5
T10
短执行时间。 (2)计算中的并发粒度 为多大会比较理想。 与问题以及机器有关,需要在并行性与调度开销之
间做折衷。
2020/6/5
37
细粒度程序的调度举例
Var a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q
Begin
1
a:=1
2
b:=2
3
c:=3
T3
P2
T2
T4
任务数为偶数
P1
T1
T2
P2 T2
T3
2020/6/5
任务数为奇数
1.5
31
➢ 对于三台处理机
P1
T1
P2
T2
P3
T3
T2 T3 T4
任务数为4
2020/6/5
P1
T1
P2
T2
T4
P3
T3
任务数为5
T2 T3
T5
32
最小完成时间的抢先调度算法:
设任务图为一颗根树,结点权可公度
1. 将单位权结点划分为若干个不相交的子集,子集内的结点相互独立, 可以同时运行
➢ 难以处理系统负载平衡
➢ 适合于松散耦合的多处理机系统
2020/6/5
7
浮动管理——主处理机可以从一个处理机浮 动到另一个处理机,任何处理机均可成为主 处理机。
基本特点:
➢管理程序的代码必须写成可重入的 ➢可以获得较好的系统负载平衡
2020/6/5
8
➢ 在同一时间里可以有多个处理机处于管态, 可能发生访问表格、数据冲突,用互斥访问 解决。
2020/6/5
3
2. 多机操作系统分类
主从式——操作系统仅在指定的主处理机 上运行。主处理机管理整个系统并为从处 理机分配任务,从处理机通过软中断或访 管访问主机。
基本特点:
➢ 要求主处理机速度快,能使各从处理机尽可能处于“忙” 状态
➢ 由于只有一台处理机进行管理,不存在访问各种文件和 表格的冲突问题
T18
T19
C=0,T=amax=7 r=1: ρ(7)/1= 4/1=4
6 T12
T13
T14
T15
5
T10
T11
r=2: (ρ(7)+ ρ(6))/1
4
T7
T8
T9
= (4+4)/1=4 r=4
3
T4
T5
T6
(ρ(7)+ ρ(6)+ ρ(5)+ ρ(4))/4 2 =13/4=3.25
T3
T2
2020/6/5
➢ OS对处理机是透明的,并有较高的可靠性及 灵活性,较难设计。
➢ 当某台处理机发生故障,易于降级使用。
➢ 适用于同构型多机系统。对于异构型多处理 系统,OS设计将更困难。
2020/6/5
9
§4.2 任务分配——调度策略
1、 概述 调度——为了优化某个目标函数,在一组具
有任意特性的处理机中对一组进程进行调 度。调度主要作出两个决定:
T3 1
非抢先调度
T4 4
T5 4
给定一个任务图,结点表示
子任务,有向线表示各子任
务之间关系,结点右侧数字
T7 7
T8 4
T6 3
表示子任务的运行时间。
T9 1
P1 T1 T3
T6
T5
T7
P2 φ T2
T4
φ
T8
0
2020/6/5
3
7
9
Hale Waihona Puke Baidu
13
两台处理机的尽早分配任务调度
T9 φ
17
18
T1 1
T2 2
T3 1
最小完成时间,由关键路径决定
所需最多处理机个数——图宽度 T4 4
T5 4
结点的最早调度时间
T7 7
T8 4
结点的最晚调度时间
T9 1
P1 T1 T3 φ
T4
T7
P2 φ T2
T5
T8
T6
0
2020/6/5
3
7
11
两台处理机的最佳分配任务调度
T6 3
T9 φ 14 15
19
➢ 从上图可以看出,处理机空闲时立即分配 任务不一定获得最小完成时间。
表示两个子任务之间的通信量。
确定性调度,结点权是个常数,不确定性调 度结点权是不确定的数。
2020/6/5
21
一个多机系统可由系统图H=(P,E) 表示 P={p1,p2,……….Ps} P为处理机集
Pi为结点权,表示处理机速度 E={e1,e2,……… er} E通信链路集
ej为有向边权,表示两个处理机之间通信链路 的带宽
2020/6/5
11
与调度相关的一些性能指标(参数) 1. 最小完成时间 2. 所需最少处理机数目 3. 最小平均流 4. 处理机最大利用率 5. 处理机最小空闲时间
2020/6/5
12
➢ 一般情况下,寻找最优的调度算法不一定 是最好的调度算法或不存在最优调度算法。 所以最优调度算法往往指为合理的调度算 法
➢ 不要求各管理程序模块编写为可重入结构
2020/6/5
4
软硬件结构简单,但灵活性差
一旦主处理机发生故障,系统瘫痪
处理较多短任务时,增大管理工作量,主 机负担重,系统效率低。
适用于由功能相差很大的处理机组成的非 对称系统及工作负载不是太重的情况
2020/6/5
5
单独管理——每个处理机具有自己的操 作系统或管理程序,按照自身需要,独 立运行和管理。
2020/6/5
14
➢ 在确定性调度中,任务的执行时间很难直 接给出。一般是最大任务的执行时间或估 计值,由于任务执行时间不确切,造成系 统调度效率较低。
➢ 在不确定性调度中,使各处理机尽可能处 于“忙”状态。可以有效利用系统资源, 但会增加系统额外开销。
2020/6/5
15
两种调度方法:
➢ 抢先调度——一个任务完成之前允许被打 断,以后可以接续恢复执行的调度
➢ 决定把程序和数据分配到物理存储器的什 么位置
➢ 决定每个进程在哪个处理机上运行
2020/6/5
10
➢ 调度算法是对一组给定进程进行调度的过程,目的是 研究处理机的分配和进程调度技术,以达到使用最少 数量的处理机在最短时间内完成并行程序。
➢ 调度算法效率: 当调度算法可以描述为一个多项式算法,效率较高 当调度算法可以描述为一个指数算法,效率较低
4
d:=4
5
e:=5
6
f:=6
2020/6/5
38
7
g:=a*b
8
h:=c*d
9
i:=d*e
10
j:=e*f
11
k:=d*f
12
l:=j*k
13
m:=4*l
14
n:=3*m
15
o:=n*i
16
p:=o*h
17
q=p*g
2020/6/5
End
39
指令1,2,3,4,5,6是存储器访问(取数据) 操作,每个结点用一个周期进行寻址,用六个周 期从存储器取数。
2020/6/5
T3 4
公度(单位)结点权为4
29
最小完成时间的抢先调度
➢ 假设对n个相互独立任务和p台处理机进行调度, n个任务的权分别是w1,w2,…..wn,
最小完成时间是:
w
max{max(
wi ),
1 p
n i 1
wi }
2020/6/5
30
单位权结点的抢先调度 两台处理机:
P1
T1
调度过程可以归纳为任务图到系统图的映射
2020/6/5
22
最小完成时间的非抢先调度
HU调度算法:
设任务图为一棵根数,所有任务结点权为单 位时间,可以解决:
1. 给定处理机数目,决定执行任务图的最小 完成时间
2. 给定执行一个任务图的时间,决定所需最 小处理机数目
2020/6/5
23
方法:
1. 对结点Ti用 ai=xi+1进行标号,其中xi是Ti 到结束结点的最大路径长度
指令7-17是CPU操作,每个需要两个周期完成。
程序图: 每个结点相当于程序中的计算单元 粒度用执行结点中全部操作所需要的基本时间来
度量(处理机和存储器) 程序图中的结点表示如下图:
2020/6/5
40
x,i
y,j
n,s
u,k
v,h
(n,s)=(结点名,粒度) (x,i)=(输入变量,延迟) (u,k)=(输出变量,延迟) 粒度是指程序段所含的计算量; 延迟主要指通信延迟,包括通道延迟和消息延迟。
相关文档
最新文档