コンピューティングおよび通信システムにおいて、作業節約型スケジューラとは、スケジュール可能なジョブが送信されている場合に、スケジュールされたリソースを常にビジー状態に維持しようとするスケジューラです。対照的に、非作業節約型スケジューラとは、スケジュール可能なジョブが存在するにもかかわらず 、スケジュールされたリソースをアイドル状態のままにしておくことがあるスケジューラです。
たとえば、ネットワークとパケットのスケジューリングを扱う場合、作業節約型スケジューラ[1] [2]は、送信するパケットがない場合にのみチャネルをアイドル状態のままにします。対照的に、非作業節約型スケジューラは、送信待ちのパケットがある状態でチャネルをアイドル状態のままにすることがあります。
同様に、 CPUスケジューリング、つまり1つ以上の利用可能なプロセッサまたはコアにスケジュールされたスレッドまたはプロセスについて言えば、作業節約型スケジューラ[3]は、実行準備ができているプロセス/スレッドがある場合にプロセッサ/コアがアイドル状態にならないようにします。
クラインロックの保存則
作業保存型スケジューラは、クラインロックの保存則に従うことでも有名です。[4] [5]
ポアソン分布の到着率を持つパケットが単位時間あたりにそれぞれスケジュール時間を競い合う接続がある場合、レナード・クラインロックは次の保存則を確立しました。
どこ
- : 単位時間あたりのパケット数で表した接続の平均パケットレート。
- : システム全体が単位時間あたりに送信できる接続パケットの数(パケット単位)。フローのパケット サイズが異なる場合、フロー間で異なる場合があります。
- : 特定のフローによって寄与されたリンク使用率。
- : スケジューラがパケットを処理する前に、接続からのパケットがバッファ内に留まると予想される時間 (単位: 時間)。
- : 定数 - パケットが中断なく最大サービス レートで送信される場合、任意の時点ですべてのフローからバッファリングされたすべてのパケットをクリアするのに予想される時間。理由を理解するには、 に注目してください。はフローからバッファリングされるパケットの予想される数であり、したがって、バッファからパケットをクリアするのに予想される時間は、これをサービス レートで割った値であることに注意してください。
(一部の情報源では、 を特定のパケットを処理する時間をパケットあたりの単位時間で表すために使用し、 を使用します。式は同じですが、唯一の違いは、 が上記の式の逆数であることです。)
非作業節約型スケジューラとの比較
非作業節約型スケジューラは、コンピューティングおよび通信システムによって実行されるアクティビティの予測可能性を高め、終了ジッタを減らすのに役立つ場合があります。マルチプロセッサシステムでは、いくつかのシナリオでパフォーマンスを向上させるのに役立ちます。[6] [7] 非作業節約型スケジューラは、システムの安定性を高めるのに役立つ場合があります。たとえば、実行可能なすべてのプロセスのワーキングセットの合計が使用可能なメモリを超え、非線形のページスラッシングオーバーヘッドにつながることが懸念される場合、プロセススケジューラはプロセスを実行キューに入れないように選択する場合があります。このように実行キューを制限すると、スラッシングのためにシステムが使用できなくなる状況を回避することを目的として、使用可能なプロセッサが十分に活用されない可能性があります(したがって、非作業節約型になります)。
参考文献
- ^ [1] Padma Mundur、IPネットワークにおけるQOSの改善(マルチメディアネットワーキングのコース教材)
- ^ [2] ジョン・クロウクロフト、スケジューリングとキュー管理(デジタルコミュニケーションIIのコース教材)
- ^ [3] G. Buttazzo、G. Lipari、L. Abeni、M. Caccamo、ソフト リアルタイム システム: 予測可能性と効率、Springer 2005
- ^ Kleinrock, Leonard (1965). 「幅広いキューイング規律のための保存則」. Naval Research Logistics Quarterly . 12 (2): 181–192. doi :10.1002/nav.3800120206. ISSN 0028-1441.
- ^ [4] ジョン・クロウクロフト、スケジューリング(コミュニケーションの原則のコース教材)
- ^ [5] A. Fedorova、M. Seltzer、MD Smith、「SMTプロセッサ用の非作業節約型オペレーティングシステムスケジューラ」、オペレーティングシステムとコンピュータアーキテクチャの相互作用に関するワークショップの議事録、ISCA 2006と連携
- ^ [6] JC Sáez、JI Gomez、M. Prieto、「非作業節約スケジューリングによる優先度の適用の改善」、Parallel Processing、2008 年。ICPP '08。第 37 回国際会議、オレゴン州ポートランド、2008 年、99-106 ページ。
