Solaris Resource Manager 1.3 のシステム管理

スケジューラの長所

Solaris Resource Manager SHR スケジューラが Solaris の標準スケジューラよりも優れている主な点は、SHR スケジューラが個別のプロセスの代わりにユーザーやアプリケーションをスケジュールするということです。l ノードに関連付けられたすべてのプロセスには一連の制限値が適用されます。1 人のユーザーが 1 つの動作中のプロセスを実行するような単純な場合には、対応する l ノードの制限値が各プロセスの制限値です。グループのメンバーがそれぞれ複数のプロセスを実行するときのように、l ノードに複数のプロセスが接続されている場合には、すべてのプロセスに全体として l ノードの制限値が適用されます。したがって、同時にいくつのプロセスを実行していても、ユーザーやアプリケーションが、それぞれに持つ権利の割当率よりも多くの CPU を使用することはできません。権利を割当数として割り当てる方法は単純でわかりやすく、ユーザーの割当数を変更した場合の効果も予測が容易です。

SHR スケジューラが優れているもう 1 つの点は、個々のスレッド (技術的には Solaris では、スケジュールされるエンティティは軽量プロセス (LWP) です) のスケジュールを管理すると同時に、ユーザーに CPU 資源を配分していることです。

この概念は、次の方程式で表現されます。

Equation shows that new Solaris Resource Manager priority equals current priority plus CPU usage divided by number of shares.

new_SRM_priority は、システムの優先順位に対応付けされます。new_SRM_priority の優先順位が高いほど、システムの優先順位が低くなります。また、この逆も当てはまります。各減少期間では、CPU_usage は半分に削減され、最新の使用量によって増分されます。

さらに各ユーザーには、ログインなどに関するフラグのセットがあります。これは、一種のブール変数で、特定のシステム特権を有効または無効にするときに使用します。フラグはユーザーごとに設定したり、親の l ノードから継承したりできます。

ユーザーの使用量、制限値、およびフラグは、どのユーザーでも読み取れますが、これを変更できるのは、適切な管理特権を持ったユーザーだけです。