- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在开发一个任务调度器,我想使用 EDF 调度。我需要安排的任务集仅包含截止日期等于其周期的任务,并且必须定期安排任务。我遇到的问题是任务一旦开始执行就不能中断。
我知道只有当任务被抢先安排在单个处理器上时,EDF 才是最佳调度算法,所以我想知道是否可以对任务施加任何测试或约束以验证我的任务集可以使用非抢占式 EDF 进行调度。
非常感谢任何帮助。谢谢
最佳答案
设e_i为任务i的执行时间,P_i为周期,e_m=max_i(e_i)。然后,你可以保证你的任务集是可行的,如果
U = sum_i ((e_i + e_m)/P_i) <= 1
理由:您可能知道 Liu/Layland 标准 sum_i(e_1/P_i) <= 1。不可前导任务可被视为对更高优先级任务的阻塞。阻塞时间可以被认为是额外的执行时间。最坏的情况是在最长(较低优先级)的任务启动后,较高优先级的任务直接准备就绪。
编辑:我已经临时得出了上述条件。但是,这仅是一个足够的。为了进行更精确的分析,必须考虑一个任务只能被另一个具有更大相对截止日期的任务阻塞,即,相对于使用的模型,具有更长周期的任务,c.f.例如,[JL00]*,定理 6.18。
因此,对于包含任务 T_1、...、T_n 且周期为 P_1 < P_2 < ... < P_n 的任务集,可以计算
L'_i = e_i + max_{j=i...n}(e_j).
那么,任务集是可行的
sum_i L'_i/P_i <= 1.
比照[JL00],关于非抢占式关键部分的第 8.3 节。
* [JL00] 简 W.S. Liu,实时系统,Prentice Hall,2000
关于algorithm - 非抢占式 Earliest deadline 优先调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16832658/
我正在尝试模拟一个间隔调度算法,使用贪婪技术检测最早完成时间。我的问题是,如果它将在控制台应用程序中创建,输入是什么?有哪些方法?非常感谢。 最佳答案 每个任务的输入是开始时间和结束时间(例如 10:
我正在开发一个任务调度器,我想使用 EDF 调度。我需要安排的任务集仅包含截止日期等于其周期的任务,并且必须定期安排任务。我遇到的问题是任务一旦开始执行就不能中断。 我知道只有当任务被抢先安排在单个处
另一个简单的问题:有什么方法可以告诉 flex 优先选择匹配较短事物的规则而不是匹配较长事物的规则?我找不到关于此的任何好的文档。 这就是我需要它的原因:我为一种伪语言解析一个文件,其中包含一些与控制
我有一个 Splunk 搜索字符串。如果我添加 earliest=10/05/2020:23:59:58,搜索字符串仍然有效。但是,如果我将其更改为 earliest=10/05/2020:23:59
假设我正在尝试对银行和分行进行分类,其中一家银行通过 branches.bank_id 拥有多个分行。每个分支都有一个令人敬畏的因素 branches.awesomeness。 我将如何构造一个查询,
这是我为这个问题创建的示例数据集: data1 = pd.DataFrame([['1','303','3/7/2016'], ['4','404','6/2
好吧,我们有作业调度的贪心算法(调度最大数量的作业)。我们可以使用不同的技术 最短的工作优先 最早开始时间优先 首先是冲突最小的工作 最早结束时间优先 我有前三个策略的反例,但找不到第四个策略的反例。
题目地址:https://leetcode-cn.com/problems/the-earliest-moment-when-everyone-become-friends/ 题目描述 Ina s
我正在尝试查找集合中所有文档的最短日期。到目前为止,我已经通过排序函数解决了这个问题,并采用了我找到的第一个函数,请参见此处: earliestTime = function (kitUser) {
我已经设置了 Spark Structured Streaming (Spark 2.3.2) 来读取 Kafka (2.0.0)。如果消息在 Spark 流作业开始之前进入主题,我将无法从主题的开头
给定 N 个城市和 M 个计划中的基础设施项目,我需要找到一种方法来确定连接两个特定城市的最早日期。 一些城市位于同一个岛上,因此可以很容易地从彼此到达。这些城市形成了一个社区。有 C 个这样的社区。
假设您要访问一个缓存为空的网站。 在 Google Maps API v3 中,在初始加载时通知我 map 边界的最早事件是什么? 在 Google map v2 中,它是“已加载”事件;但是,此事件
我有 Kafka 服务器版本 2.4 并设置 log.retention.hours=168 (这样主题中的消息将在 7 天后被删除)和 auto.offset.reset=earliest (这样如
BigQuery 显示 GA360 每日导出 View 中有 600 多天,但下拉菜单中最早的日期表只有 500 天前。我每天实际有多少张 table ,如何才能看到最早的 table ? 最佳答案
我使用 Neptune 作为我的图形数据库。 我有带有 ID (UUID)、标签和日期的顶点。 我可以像这样提取多个顶点的所有属性: g.V('633378c3-b016-433a-a3ca-c166
我正在尝试按列分组,找到该组中的最小日期值并将其插入到该组中所有值的新列中。 以下内容: d = {'one' : pd.Series(np.random.randn(6), index=pd.dat
假设我们有一组 n要执行的作业,每个作业都需要单位时间。在任何时候,我们都只能提供一份工作。职位i , 1<=i<=n当且仅当它不迟于截止日期执行时,我们才能获利。 如果存在至少一个序列允许集合中的每
我有一个 Kafka 主题,我想从最早的事件开始阅读。 我想要做的是从一个主题(从时间上绝对最早的事件开始)获取所有数据,直到某个日期的事件。 每个事件的结构都有一个名为 dateCliente 的字
我在尝试使用 Spark 结构化流从 Kafka 读取数据时遇到了一个奇怪的问题。 我的用例是能够从可用的最大/最新偏移量中读取主题。 我的读取配置: val data = spark .r
上下文 我一直在阅读有关如何将 TUMBLINGWINDOW 函数与 TIMSTAMP BY 子句一起使用的文档,但似乎找不到有关如何计算包含 TUMBLING WINDOW 和 TIMESTAMP
我是一名优秀的程序员,十分优秀!