Least slack time scheduling
This algorithm is also known as least laxity first.
词语解释:Laxity 松懈的;马虎的;不严格的,Least-Laxity-First 松弛程度最小的优先,言下之意就是最紧张的任务优先执行。
LLF 已经被证明是单处理机的最佳选择,然而,该算法实施起来却不切实际。
The Least-Laxity-First (LLF) scheduling algorithm assigns higher priority to a task with the least laxity, and has been proved to be optimal for uniprocessor systems. The algorithm, however is impractical to implement because laxity tie results in the frequent context switches among the tasks. The Modified Least-Laxity-First (MLLF) scheduling algorithm proposed in this paper solves the problem of the LLF scheduling algorithm by reducing the number of context switches significantly. By reducing the system overhead due to unnecessary context switches, the MLLF scheduling algorithm avoids the degradation of system performance and conserves more system resources for unanticipated aperiodic tasks. We propose the MLLF scheduling algorithm and prove its optimality. We show the performance enhancement of the proposed MLLF scheduling algorithm by using simulation results.
Note
LLF 是面向周期性任务的实时调度算法。
松弛度 = 必须完成时间 - 其本身的运行时间 - 当前时间
下面几张图可以帮助理解 LLF调度算法:
图一是在无竞争状态下任务A 和任务B 的运行状况。
图二是在任务A 具有更高优先级的运行状况(抢占式调度)
图三是在任务B 具有更高优先级的运行状况(抢占式调度)
图四是采用 LLF调度算法各任务的运行状况(抢占式调度)
时间线都排不满的调度方式肯定是要被淘汰的! :p
我发现汤子丹书上的图就是COPY 自这里的,然而注解的文字又完全让人看不懂。
Least slack time scheduling的更多相关文章
- Power aware dynamic scheduling in multiprocessor system employing voltage islands
Minimizing the overall power conservation in a symmetric multiprocessor system disposed in a system- ...
- [翻译] AKKA笔记- ACTORSYSTEM (配置CONFIGURATION 与调度SCHEDULING) - 4(一)
原文在http://rerun.me/2014/10/06/akka-notes-actorsystem-in-progress/ 像我们前面看到的,我们可以用ActorSystem的actorof方 ...
- Spring.Scheduling.Quartz 作业的应用(定时任务和循环触发任务)
.定时任务的实现,比如有个任务是要晚上2点10分的时候要去触发的,先定义这个任务类RskBookFilterInitDiningService.cs,这里其实有两种实现,一种是需要继承QuartzJo ...
- flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成
理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...
- Linux Process Management && Process Scheduling Principle
目录 . 引言 . 进程优先级 . 进程的生命周 . 进程表示 . 进程管理相关的系统调用 . 进程调度 . 完全公平调度类 . 实时调度类 . 调度器增强 . 小结 1. 引言 在多处理器系统中,可 ...
- HDU Machine scheduling
Machine scheduling Time Limit : 5000/2000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) ...
- 配置org.springframework.scheduling.quartz.CronTriggerBean (转载)
在项目中又用到了定时器,对于定时器的应用总是模模糊糊的,今天结合网上找到的资料与自己在项目中写的简单地在此写一下,以备需要时查阅. 一个Quartz的CronTrigger表达式分为七项子表达式,其中 ...
- Spring4.1.0 整合quartz1.8.2 时 : class not found : org.springframework.scheduling.quartz.JobDetailBean
最近做一个 Spring4.1.0 集成 quartz1.8.2 定时器功能,一直报 class not found : org.springframework.scheduling.quartz.J ...
- [Chapter 3 Process]Practice 3.8: Describe the differences among short-term, medium-term, long-term scheduling
3.8 Describe the differences among short-term, medium-term, and longterm scheduling. 答案: 长期调度决定哪些进程进 ...
随机推荐
- 复习前面一个月的学习C#感觉道路好艰难啊
今天是复习前面学习的内容,感觉这一个月来真的学习了很多,但是掌握的不好,好多都是在老师讲完课后做起来练习感觉这知识用起来蛮轻松地,但是经过昨天和今天的复习发现好多还是给忘记啦,甚是失落啊,刚开始就知道 ...
- js正则函数match、exec、test、search、replace、split使用介绍集合,学习正则表达式的朋友可以参考下。
match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...
- linux的setup命令设置网卡和防火墙等
以前在centos上配置网卡都是纯命令行,今天发现linux原来还有一个setup那么好用的命令,真是相见恨晚,以后防火墙.网卡.其他网络配置.系统配置(开机启动项)都可用他来完成了
- JS-鼠标跟随块(一个小圆点跟着鼠标跑)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- C# DateTime.Now详细用法
//2008年4月24日 System.DateTime.Now.ToString("D"); //2008-4-24 System.DateTime.Now.ToString(& ...
- 【BZOJ2164】采矿 树链剖分+线段树维护DP
[BZOJ2164]采矿 Description 浩浩荡荡的cg大军发现了一座矿产资源极其丰富的城市,他们打算在这座城市实施新的采矿战略.这个城市可以看成一棵有n个节点的有根树,我们把每个节点用1到n ...
- android 仿微信聊天界面,以及语音录制功能
extends:http://104zz.iteye.com/blog/1709840 本例为模仿微信聊天界面UI设计,文字发送以及语言录制UI. 1先看效果图: 第一:chat.xml设计 ...
- oracle和mysql如何快速查看每个表的数据量?
oracle: select t.table_name,t.num_rows from user_tables t ORDER BY NUM_ROWS DESC; mysql: use informa ...
- couldn't connect to host
“couldn't connect to host” 这样的错误可能是主机不可到达,或者端口不可到达. ping OK只代表主机可以到达. 端口不可到达可能是由于HTTP 服务器未启动或者监听在其他端 ...
- Servlet------>jsp EL表达式
取值: ${data}------>pageContext.findAttribute("data"); ${data.name}------>data.getName ...