フェアスケジューリング(ふぇあすけじゅーりんぐ)
最終更新:2026/4/27
フェアスケジューリングは、コンピュータシステムの資源を、各プロセスに公平に割り当てるためのスケジューリング手法である。
別名・同義語 公平スケジューリング公正スケジューリング
ポイント
従来のスケジューリング手法では、特定のプロセスが資源を独占しがちであったが、フェアスケジューリングはそれを防ぎ、全てのプロセスが一定の割合で資源を利用できるようにする。
フェアスケジューリングとは
フェアスケジューリングは、コンピュータシステムにおいて、複数のプロセスがCPUやメモリなどの共有資源を公平に利用できるようにするためのスケジューリングアルゴリズムの総称です。従来のスケジューリング手法では、優先度の高いプロセスや、実行時間の短いプロセスが資源を独占し、他のプロセスの実行が遅延することがありました。フェアスケジューリングは、このような問題を解決し、全てのプロセスに一定の割合で資源を割り当てることを目的としています。
フェアスケジューリングの具体的な手法
フェアスケジューリングには、いくつかの具体的な手法が存在します。代表的なものとしては、以下のものが挙げられます。
- Weighted Fair Queuing (WFQ): 各プロセスに重みを割り当て、重みに比例して資源を割り当てる手法です。重みを調整することで、プロセスの優先度を制御できます。
- Deficit Round Robin (DRR): 各プロセスに「デフィシット」と呼ばれる値を与え、デフィシットが0になるまで資源を利用させます。デフィシットが0になったプロセスには、一定量のデフィシットを再割り当てします。
- Stochastic Fair Queuing (SFQ): 各プロセスに仮想的な「トークン」を与え、トークンを消費するごとに資源を利用させます。トークンの消費速度は、プロセスの重みに比例します。
フェアスケジューリングの利点と欠点
フェアスケジューリングの利点としては、以下の点が挙げられます。
- 公平性: 全てのプロセスに公平に資源を割り当てることができます。
- 応答性の向上: 特定のプロセスが資源を独占することを防ぎ、全てのプロセスの応答性を向上させることができます。
- スループットの向上: 全てのプロセスが効率的に資源を利用できるため、システム全体のスループットを向上させることができます。
一方、フェアスケジューリングの欠点としては、以下の点が挙げられます。
- 複雑性: 実装が複雑になる場合があります。
- オーバーヘッド: 資源の割り当てや管理にオーバーヘッドが発生する場合があります。
フェアスケジューリングの応用例
フェアスケジューリングは、様々な分野で応用されています。例えば、ネットワークルータにおけるトラフィック制御、データベースシステムにおけるクエリ処理、リアルタイムオペレーティングシステムにおけるタスクスケジューリングなどに利用されています。