多处理器调度
2016-06-04 12:59:22 9 举报
AI智能生成
为你推荐
查看更多
多处理器调度是一种在多核或多处理器计算机系统中,管理和分配任务以实现最优性能的关键技术。它涉及到将多个进程或线程分配到可用的处理器核心上,以便它们可以并行执行。多处理器调度的目标是确保系统资源的充分利用,同时保持公平性和响应时间。常见的调度算法包括轮询、优先级调度和最短进程优先等。通过动态调整任务在处理器之间的分配,多处理器调度有助于提高系统的吞吐量和吞吐量,从而提高整体性能。
作者其他创作
大纲/内容
调度
背景:多道程序设计的关键是调度
\u00A0实质: 调度属于\"队列管理\
单处理器调度
\u00A0多处理器调度:讨论基于松耦合,多处理结构
\u00A0多处理器分类
\u00A0专门功能的处理器
\u00A0由一组共享内存并在OS完全控制下的处理器组成.
\u00A0粒度
\u00A0中等: 一个进程可以实现为一组线程.
\u00A0粗: 多进程的多任务处理.
\u00A0无约束: 多个无关进程.进程间无显示同步
\u00A0设计问题
取决于应用程序的粒度等级和可用处理器数目
1: 把进程分配给处理器
\u00A0分配策略
\u00A0静态分配:一个进程一直被分配给同一个处理器
\u00A0动态负载平衡: 线程可以在处理器间迁移
\u00A0分配方法
\u00A0主存式
\u00A0OS运行在特定CPU上,负责调度作业
1:主cpu不能出错;2:主cpu可能成为性能瓶颈
\u00A0对等式
OS可以运行在任意cpu上
每个cpu自己负责作业调度
2:在单处理器上使用多道程序设计
3:进程分派:选择哪一个进程执行
在多处理器系统中,调度原则并不重要。各种调度策略差异较小。
使用较简单的调度策略既可。
使用类似:多服务器排队结构
有多条基于优先级的队列,并且都送进相同的处理器池中
线程调度
负载平衡
系统维护一个就绪线程的全局队列
优点
确保了在有工作时,处理器不处于空闲。
不需要OS的调度器运行于特定CPU
可以灵活组织全局队列
三种负载方案
FCFS
最少线程数优先
可抢占的最少线程数优先
缺点
全局队列必须被共享互斥访问,可能导致性能瓶颈。
由于线程可能迁移,所以每个cpu的cache效率低
如果一个程序的线程间需要高度合作,所设计的进程切换回严重影响性能
组调度
一组相关联的线程同时调度到一组处理器上
对处理器分配的要求
根据应用的线程数目加权调度
专用处理器分配
把一组处理器专门分配给一个应用程序,直到该程序运行结束
当系统中的线程数目〉处理器数目时,性能开始变差
可以限制活跃的线程数目
处理器数目分配类似于单处理器存储器分配
动态调度
可以动态地改变进程中的线程数目
OS和应用程序共同进行调度决策
OS负责处理其分配; 应用程序负责在处理器上的线程调度。
实时调度
系统的真确性还依赖于产生结果的时间,要满足应用的时间要求
包括启动时间和终止时间
实时任务
硬实时任务: 时间要求必须被满足
软实时任务
实时操作系统的特点
可确定性
取决于系统响应中断的速度
取决于系统是否可以在要求时间内处理完所有请求的能力
可响应性
在中断后OS为中断提供的服务时间
确定性和响应性共同组成了对外部事件的响应时间
用户控制
在实时系统中,允许用户“细粒度”的控制任务优先级是必要的。
可靠性
故障弱化操作:系统故障时仅肯能多的保存其数据和性能的能力
稳定性: 系统可以保证最重要的,优先级最高的任务得到满足。
核心:短程任务调度器
保证任务尽可能在其最后期限内完成。
调度准则:可以基于优先级和抢占,可抢占点按规则的时间出现。
调度算法
静态表法 :执行关于可行性的静态分析。 适用于周期性任务。
静态优先级抢占法 :和非实时多道程序系统中的基于优先级的抢占调度机制相同。
基于动态规划调度 :在运行时动态确定可行性。
动态尽力调度 :不执行可行性分析,试图满足所有最后期限,并终止已经运行但错过最后期限的进程。
限期调度
关注:在最有价值的时间内完成任务
基于每个任务的额外信息的调度方法
对于一个给定的抢占策略,其具有启动或完成最后期限
当确定了启动最后期限,就可以使用非抢占调度器
对于具有最后完成期限的系统,抢占策略是最合适的。
通过在每个可抢占点上优先调度最后期限最临近的进程,可以满足系统要求。
速率单调调度RMS
基于任务的周期给他们指定优先级,最短周期的任务具有最高优先级
任务周期T,C:每个任务需要的处理器时间总量。
在一个单处理器中,必须保证: C=T
周期调度算法需要满足: C1/T1 + C2/T2 +...+ Cn/Tn = 1
对于RMS:\u00A0C1/T1 + C2/T2 +...+ Cn/Tn = n( 2^(1/n) -1 )
优先级反转
高优先级的任务需要等待低优先级的任务
如访问共享部分,进入临界区
无界限优先级反转: 优先级反转持续时间依赖于共享资源的处理时间和其他不相关的行为
解决方法
优先级继承:优先级低的任务继承任何与它共享一个资源的优先级较高的任务优先级
优先级置顶:访问资源时任务具有最高优先级,反问完后恢复自身优先级。
0 条评论
回复 删除
下一页