还剩58页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
课件调度算法课程概述课程目标学习内容掌握各类调度算法原理基础理论与算法实例分析考核方式第一章调度算法基础调度的概念调度的目的进程执行顺序的决策机制提高系统资源利用率调度的层次调度的类型短程调度1CPU调度,频率最高中程调度2内存与交换调度长程调度3作业调度,频率最低进程状态转换就绪态运行态等待分配CPU正在CPU上执行阻塞态等待某事件发生终止态创建态进程执行完毕进程正在被创建调度算法评价指标周转时间等待时间利用率CPU提交到完成的时间进程在就绪队列中的总CPU忙碌时间百分比时间吞吐量单位时间内完成进程数第二章先来先服务调FCFS度算法算法原理按进程到达顺序分配CPU数据结构使用队列存储就绪进程实现方法简单队列管理,先进先出算法示例FCFS进程到达时间执行时间完成时间周转时间P10242424P2132726P3263331算法优缺点分析FCFS优点缺点•实现简单直观•平均等待时间可能较长•无饥饿现象•护航效应明显•适合批处理系统•不利于交互式系统第三章短作业优先调度算法SJF算法原理选择执行时间最短的进程优先级确定执行时间越短优先级越高实现方法优先队列或排序链表算法示例SJF算法优缺点分析SJF优点缺点•平均等待时间最短•长作业可能饥饿•平均周转时间最佳•需预知执行时间•系统吞吐量高•不适合交互系统第四章优先级调度算法算法原理静态优先级按进程优先级高低调度进程创建时确定不变动态优先级运行过程中可调整优先级调度算法示例进程到达时间执行时间优先级执行顺序P101032P21611P32244P43423优先级反转问题及解决方案问题定义低优先级进程阻塞高优先级进程发生原因资源竞争与互斥访问优先级继承临时提升资源持有者优先级优先级天花板预设资源访问最高优先级第五章轮转调度算法RR算法原理时间片耗尽每个进程分配固定时间片进程回到队列尾部循环执行时间片选择直到所有进程完成过长类似FCFS,过短增加开销算法示例RR420ms进程数时间片每进程每轮获得时长P1,P2,P3,P43轮转次数最长进程需要的轮数算法优缺点分析RR优点缺点•公平性好•平均周转时间较长•响应时间短•上下文切换开销大•适合交互系统•时间片选择困难•无进程饥饿第六章多级反馈队列调度算法算法原理多个优先级队列动态调整队列设置高优先级短时间片,低优先级长时间片优先级降低时间片用完降至低优先级队列多级反馈队列调度算法示例第一级队列优先级最高,时间片8ms第二级队列中等优先级,时间片16ms第三级队列优先级最低,时间片32ms多级反馈队列调度算法优缺点分析优点缺点•兼顾交互性和周转时间•实现复杂•动态调整进程优先级•参数设置难度大•响应时间短•可能出现饥饿现象•自适应能力强•开销较大第七章高响应比优先调度算法HRRN算法原理响应比计算综合考虑等待时间和服务时间响应比=等待时间+服务时间/服务时间调度原则选择响应比最高的进程算法示例HRRN进程到达时服务时等待时响应比调度顺间间间序P
101001.01P
22582.62P
338122.53算法优缺点分析HRRN优点缺点•考虑等待时间因素•需要预知服务时间•防止短作业优先的饥饿现象•计算开销相对较大•平衡周转时间和响应时间•非抢占式特性限制响应性第八章多处理器调度算法负载均衡使各处理器工作负荷均衡亲和性调度进程尽量运行在同一CPU上队列结构全局队列与每CPU本地队列负载迁移动态平衡各CPU工作负载多处理器调度算法示例第九章实时调度算法实时系统特点硬实时系统软实时系统•时间约束严格•任务必须在截止期限内完成•允许偶尔错过截止期限•可预测性要求高•超时导致系统失效•性能下降但不失效•响应时间是关键•例如飞行控制系统•例如视频播放系统速率单调调度算法RMS算法原理周期短的任务优先级高可调度条件n个任务总利用率≤n2^1/n-1任务特性周期任务,固定执行时间优先级分配静态优先级,周期越短优先级越高最早截止时间优先算法EDF算法原理动态优先级理论利用率截止时间最早的任务优先根据当前截止时间动态调整处理器利用率可达100%最低松弛度优先算法LLF算法原理松弛度计算选择松弛度最小的任务松弛度=截止时间-当前时间-剩余执行时间优先级变化动态优先级,频繁重新计算第十章公平调度算法完全公平调度CFS模拟理想的多任务处理器虚拟运行时间记录进程已获得的CPU时间红黑树结构基于虚拟运行时间排序调度周期动态根据系统负载调整算法示例CFS虚拟运行时间虚拟运行时间进程P1:145ms进程P2:120ms调度决策虚拟运行时间选择P3执行(最小虚拟时间)4进程P3:90ms第十一章多队列调度算法多队列设计不同类型进程使用不同队列队列间调度确定各队列服务顺序与比例队列内调度各队列可使用不同调度算法多队列调度算法示例系统进程队列批处理队列FCFS算法,最高优先级SJF算法,最低优先级123交互进程队列RR算法,中等优先级第十二章随机调度算法随机选择原理彩票调度以概率方式选择下一执行进程分配彩票数量代表优先级公平性保证长期运行结果接近权重比例随机调度算法示例第十三章调度算法I/O磁盘特性请求特点I/O寻道时间是主要瓶颈位置随机,需优化访问顺序常见算法FCFS、SSTF、SCAN、C-SCAN算法SCAN电梯算法原理磁头单向移动直到尽头再反向上升扫描磁头从低磁道向高磁道移动下降扫描磁头从高磁道向低磁道移动算法C-SCAN循环扫描原理向上扫描单向服务请求,快速返回起点处理上行路径所有请求2重新扫描快速返回从最低磁道重新开始向上扫描到达最高磁道立即返回最低磁道和算法LOOK C-LOOK算法算法LOOK C-LOOK•SCAN改进版本•C-SCAN改进版本•无需扫描至磁盘两端•单向扫描减少方向变化•到达最远请求处即反向•最远请求处直接返回•不访问无请求区域第十四章网络调度算法数据包调度决定数据包发送顺序带宽分配公平分配网络资源延迟控制保障实时业务服务质量流量控制防止网络拥塞加权公平排队算法WFQ第十五章作业调度算法批处理特点作业调度一次性提交多个作业决定作业进入系统顺序进程调度决定进程获取CPU的顺序最短作业优先在作业调度中的应用SJF30%25%40%周转时间减少吞吐量提升平均等待时间降低相比FCFS作业调度单位时间处理作业数量提高用户满意度第十六章分布式系统调度算法负载均衡将计算任务分散到多个节点任务迁移在节点间动态转移工作负载资源发现找到可用计算资源容错处理节点失效时重新调度任务分布式调度算法示例第十七章能耗感知调度算法能耗优化目标技术休眠状态管理DVFS降低功耗同时保持性能动态调整处理器电压频闲置组件进入低功耗模率式热管理避免热点区域过度使用能耗感知调度算法示例第十八章调度算法在操作系统中的实现调度器调度器Linux Windows•O1调度器•多级反馈队列•完全公平调度器CFS•抢占式优先级调度•实时调度器RT•处理器亲和性•BF调度器BFS•量子值动态调整调度器详解Linux CFS发展历程
2.
6.23内核引入,替代O1调度器数据结构红黑树存储就绪进程公平性实现虚拟运行时间追踪CPU使用用户交互通过nice值设置进程权重调度器详解Windows优先级分类32个优先级级别优先级提升I/O完成导致临时提升量子值调整前台应用获更多处理器时间处理器亲和性线程优先在指定CPU上运行第十九章调度算法性能评估模拟仿真实际系统测试•算法模型构建•基准测试程序•工作负载生成•真实应用场景•性能指标收集•性能监控工具•结果统计分析•数据处理与可视化调度算法性能指标对比第二十章调度算法优化技术调度开销降低减少上下文切换频率缓存亲和性优化提高缓存命中率锁竞争减少避免共享资源争用感知调度NUMA考虑内存访问局部性调度算法优化案例分析优化前优化策略优化后•上下文切换频繁•时间片调整•上下文切换减少40%•缓存命中率低•亲和性设置•缓存命中率提升25%•进程频繁迁移•优先级调整•吞吐量提高15%•响应时间不稳定•NUMA优化•响应时间稳定第二十一章新兴调度算法研究机器学习调度量子调度异构计算调度自适应负载预测与资源分配量子计算资源管理新模型CPU/GPU协同任务分配机器学习辅助调度算法示例课程总结理论基础掌握各类调度算法基本原理算法实现理解调度算法在系统中的实现方式性能评估能够分析和对比不同算法性能前沿研究了解调度算法最新发展趋势实践作业调度模拟器算法实现实现一个基本调度算法模拟程序至少实现三种不同调度算法性能测试报告撰写设计工作负载测试各算法性能比较分析测试结果并撰写技术报告参考文献与推荐阅读。
个人认证
优秀文档
获得点赞 0