就像在标题为的论文描述,斯瓦米纳坦和查克拉巴蒂描述实时任务调度低的挑战具有多种处理器速度和功耗配置文件的电源(嵌入式)设备。他们提出的调度算法(并且显示比测试中的最佳解决方案仅差1%)具有调度他们称之为LEDF启发式的任务的有趣方式。
从纸:
低能量最早截止期第一个 启发式,或简单地LEDF,是 延伸公知的最早 期限第一个(EDF)的算法。 LEDF的 操作如下:LEDF 维护的全部释放 任务的列表,称为“准备清单”。当 任务释放,而 最近的截止时间任务被选为 执行。执行检查,看是否 任务期限可以通过 在较低的电压 (速度)执行它来满足。如果最后期限能够得到满足, LEDF较低的电压分配给 任务和任务开始执行。 任务执行期间,其他 任务可能会进入系统。这些 任务被假定为自动置于“就绪列表”上 。 LEDF再次选择要执行的最近期限的 任务。作为 只要有等待被 执行的任务,LEDF不守亲 cessor闲置。该过程重复 ,直到所有任务已被排定为 。
而在伪代码:
Repeat forever {
if tasks are waiting to be scheduled {
Sort deadlines in ascending order
Schedule task with earliest deadline
Check if deadline can be met at lower speed (voltage)
If deadline can be met,
schedule task to execute at lower voltage (speed)
If deadline cannot be met,
check if deadline can be met at higher speed (voltage)
If deadline can be met,
schedule task to execute at higher voltage (speed)
If deadline cannot be met,
task cannot be scheduled: run the exception handler!
}
}
看来实时调度是一个有趣的和不断发展的问题,因为体积小,低功耗的设备变得更加普遍。我认为这是一个我们将会看到大量进一步研究的领域,我期待着与他们并驾齐驱!