Solaris Resource Manager 1.1 のシステム管理

割り当ての例

スケジューリングツリーの構造

スケジューリングツリー構造に関連した、管理者が考慮すべき点を次に示します。

ツリーの説明

下記のツリーは、グループヘッダーと一般ユーザーから成る構造を定義したものです。ツリーの一番上が root ユーザーです。グループヘッダー l ノードには、その cpu.shares 属性と cpu.myshares 属性の値を表す 2 つの数字を示します。葉 l ノードには、shares 属性の値を表す 1 つの数字を示します。

図 6-1 スケジューリングツリーの構造

Graphic

割当率の計算

図 6-1 では、現在 l ノード A、C、および N にプロセスが接続されています。W にも W スケジューリンググループのメンバーにもプロセスがないので、一番上のレベルでは CPU は A と M の間で配分されます。A と M の割当数の割合は 3:1 なので、一番上のレベルでは 75 パーセントがグループ A に、25 パーセントがグループ M に配分されます。

次に、グループ A に割り当てられた 75 パーセントが、動作中のユーザー (A と C) の間で、グループ A における割当数の割合 (1:2) に応じて配分されます。A とその子の割当数を決めるときには myshares 属性が使用されます。したがって、ユーザー A にはグループに割り当てられた割当数の 3 分の 1 が、C には 3 分の 2 が与えられます。グループ M の中でプロセスを持つ l ノードは N だけなので、M に割り当てられた割当数はすべてが N に与えられます。

使用可能な CPU の割当率配分は、A が 0.25、C が 0.5、N が 0.25 になります。

次に、A、C、および N プロセスがどれも連続して CPU を要求し、システムに最大 2 台の CPU があるとします。この場合、Solaris Resource Manager は、使用可能な CPU 資源の合計が次の割合で個々のプロセスに渡るようにプロセスをスケジューリングします。

個々のプロセスの進捗速度は、各 l ノードの目標を満たすように制御されます。3 つ以上の CPU があるシステムで、これら 6 つのプロセスだけが動作している場合、C プロセスが 50 パーセントの権利分を使用できないと、残りは A と N の割合に従って配分されます。