gpt4 book ai didi

algorithm - 该算法是否是现有的实时系统算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:24:01 24 4
gpt4 key购买 nike

我开发了一种提供概率软实时保证的调度算法,但它似乎过于明显和简单而不新颖。尽管将它与已发布的实时调度算法(EDF、零星服务器等)相关联,但我还是遇到了困难。下面的调度算法是已知的实时算法吗?

假设:

  • 所有任务都来自一个分布,其中 X 百分比的任务需要少于 R cpu 秒
  • 所有任务都有相同的截止日期。如果一个任务花费的时间超过 T 秒,则该任务失败
  • 任务到达由已知的最小到达间隔时间 MIN_INTER_ARRIVE_T 分隔
  • 调度器有一个任务集,在任何时候最多可以容纳H个任务(在每个时间步中,任务集中的所有任务通过平等共享CPU而取得同等进展)
  • 任务不能相互影响

保证:

  • (1) 如果 X 百分比的任务需要少于 R cpu 秒且 (2) R <= T/H,(3) MIN_INTER_ARRIVE_T >= T/H,则至少 X 百分比的任务将在 T 内完成秒

算法:

  • 如果任务到达并且任务集已满,则驱逐使用最多 CPU 的任务。这些假设保证这样的任务将至少使用 R cpu 秒。所以唯一可以被驱逐的任务将是无论如何都是失败的任务。任何需要少于 R cpu 秒的任务都将按时完成。

最佳答案

我不是硬实时调度方面的专家,但我觉得这就是你的算法。

它与航空航天系统中发生的事情非常相似。您的系统看起来更灵活,但基本上这一切都归结为提前知道您有资源来运行您需要运行的任务。

关键的嵌入式航空航天系统更喜欢确定性,但为了防止潜在的缺陷(如果允许,任务运行的时间可能比分配的时间长),任务引擎将中断这些任务以让其他任务完成。剩余的任何空闲周期有时可用于完成中断的任务,或者任务被视为失败。

请注意,您只能让不重要的任务失败,因此您必须仔细构建关键任务,或者拥有一个优先级系统,使关键任务无论如何都有机会完成。

现在回到原点:您需要确保资源足以运行预先需要的任务。

嗯,
声音移动。

关于algorithm - 该算法是否是现有的实时系统算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4399557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com