计算机体系结构中调度模型的功能是什么?
调度系统由程序任务、目标机器和调度组成,其中特定性能标准得到优化。
程序任务 − 并行程序的特性可以定义为系统 (T, <, D, A) 如下所示:
T={t1,…..tn} 是要执行的任务集合。
< 是定义在 T 上的部分顺序,它指定操作优先级约束。也就是说,ti<tj 表示必须完成 ti 后才能开始执行 tj。
D 是 n x n 的通信数据矩阵,其中 Dij≥0 是从任务 ti 传输到任务 tj, 1 ≤ i, j≤ n 所需的数据量。
A 是计算次数的 n 向量;也就是说,Ai > 0 是任务 ti, 1 ≤i≤ n 计算量的度量。
分布式系统中任务之间的关系可能包含或不包含优先级约束。当需要强制执行某些优先级约束时,部分顺序 < 可以方便地表示为有向无环图 (DAG),称为任务图。
在这种情况下,调度这些任务通常被称为优先级约束调度。任务图 G = (T, E) 有一组节点 T 和一组有向边 E。两个任务 ti 和 tj 之间的有向边 (i, j) 指定必须完成 ti 后才能开始 tj。
目标机器 − 目标机器由一组 m 个异构处理单元组成,这些单元使用任意互连网络连接。每个处理单元 Pi 都与其速度 Si 相关联。
处理单元的连接可以使用称为网络图的无向图来表示。与网络图中连接两个处理单元 Pi 和 Pj 的每条边 (i, j) 相关联的是传输速率 Rij,即每单位时间内可以通过链路传输多少个数据单元。
调度 − 任务图 G = (T, E) 在 m 个处理单元系统上的调度是一个函数 f,它将每个任务映射到一个处理单元和一个开始时间。
形式上,f − T &#rarr;{1,2,…m} x [0,∞)。如果对于某个 v ∈ T,f(v)=(i,t)。任务 v 被安排由处理器 i 从时间 t 开始处理。函数 f 可以用甘特图来说明,其中所有任务的开始和结束时间都可以很容易地显示出来。甘特图由分布式系统中所有处理单元的列表组成,并且对于每个处理单元,都有一个按执行时间排序的所有分配给该处理单元的任务列表,包括任务开始和结束时间。
调度的目标是最小化并行程序的总完成时间。此性能指标称为调度长度或任何任务的最大完成时间。