題した論文で説明したように、スワミナサン及びChakrabartyが低いにリアルタイムタスクスケジューリングの課題を説明します複数のプロセッサー速度と消費電力プロファイルが可能な電力(組み込み)デバイス。彼らが概説しているスケジューリングアルゴリズムは、LEDFヒューリスティックと呼ばれるタスクをスケジューリングする興味深い方法を持っています(テストでの最適解よりも約1%悪いことがわかります)。紙から
:
低エネルギー最も早い期限の第一 ヒューリスティック、または単にLEDFは、よく知られている最も早い 期限の第一(EDF)アルゴリズムの 拡張です。 LEDFの の操作は次のとおりです。LEDF は、 "ready list"と呼ばれるすべてのリリース済みの タスクのリストを保持します。 タスクがリリースされると、最も近いデッドラインの のタスクが実行され、 が実行されます。 (速度)で を実行することによってタスクの期限を守ることができる場合は、 を確認するためのチェックが行われます。デッドラインが満たされている場合は、 LEDFが タスクに低電圧を割り当て、タスクが実行を開始します。 タスクの実行中に、他の タスクがシステムに入ることがあります。これらの タスクは、 に自動的に配置されていると見なされます。 LEDFは、 の実行期限に最も近いタスクを再度選択します。 を待っているタスクが実行されている限り、 としているので、LEDFはプロセッサをアイドル状態に保ちません。すべてのタスクがスケジュールされて になるまで、このプロセスは と繰り返されます。
擬似コードで:
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!
}
}
小型、低消費電力のデバイスはよりユビキタスになるとリアルタイムスケジューリングが面白いと進化の問題であるようです。私はこれがさらに多くの研究を見ることができるエリアだと思っています。私は楽しみにしています!