新しいジョブ(実行が順次接続されているタスクのセット)が数秒ごとに到着するスケジューリングの問題があります。
各ジョブでは、既知の間隔で割り当てられるリソースが必要です。たとえば
:
は 仕事j1
が知られているスケジューリングパターンに我々は資源を予約れるタスクのセット{r1, r2, r3}
です:実行 スケジューリングアルゴリズム
r1:[t0 .. t1=t0+td1],
r2:[t2=t1+td2+i2 .. t3=t2+td3]
- t0が長さですr1のリソース割当の数
- t1は、r1のリソース割り当ての終了時刻です。
- i1は、 r1、r2の間の待機ペリオイド。例では
、新しいジョブJ2はJ1の実行が開始された直後に予定されています。 j2の最も早い開始時刻はt1です。 ジョブの実行には数分かかる場合があります。そのほとんどは待機しています。
私は現在の予約テーブルを見て、固定割り当て時間と待機期間を持つ新しいジョブの可能な最も早い開始時刻を決定し、それに応じて予約を行うスケジューラを持っています。
(実際には、待機時間を固定する必要はありませんが、リソースの使用率には多少の割合(多分5%)があります。たとえば、リソースr3.1が予約されている場合、 )同じことを達成するために3.2をそのまま使用することができます)。
しかし、新しいジョブが到着したときにすべてのスケジュール割り当てを動的に調整できるようにするには、スケジューラが必要です待ち時間が正確に与えられている必要はなく、いくつかの重複複製(3.1/3.2)と並列実行する可能性があるという事実を利用して、1日で実行された総作業量は、スケジューリングスキーム(現在の私の現在の開始時のアプローチよりも早い)。
- あなたはそれからどのようなスケジューリングスキームを呼びますか?
- (新しい)問題に近づくための提案はありますか? 「使用状況をリソースへの代替案」に関するご質問については