调度模型在计算机体系结构中的作用是什么?
调度系统由程序任务、目标机器和优化特定性能标准的调度组成。
程序任务-并行程序的特征可以定义为系统(T,<,D,A)如下-
T={t1,.....tn}是一组要执行的任务。
<是在T上定义的偏序,它指定了操作优先约束。即ti
D是一个nxn的通信数据矩阵,其中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,即每单位时间可以通过链路传输多少个数据单元。
调度-在m个处理元素的系统上任务图G=(T,E)的调度是一个函数f,它将每个任务映射到一个处理元素和开始时间。
形式上,f−Trarr;{1,2,…m}x[0,∞).Iff(v)=(i,t)对于某些v∈T。任务v被安排由处理器i从时间t开始处理。函数f可以用甘特图来说明,其中可以轻松显示所有任务的开始和完成时间。甘特图由分布式系统中所有处理元素的列表组成,对于每个处理元素,还包括按执行时间排序的分配给该处理元素的所有任务的列表,包括任务开始和完成时间。
调度目标是最小化并行程序的总完成时间。这种绩效衡量标准被称为任何任务的计划长度或最长完成时间。