排他使用のプロセッサー
排他使用のプロセッサー・リソース・セット (XRSET) によって、 管理者は、重要な作業のためのリソースを確保することができます。 XRSET は名前付きのリソース・セットで、その中に含まれているすべての CPU の動作を変更します。 一度 CPU が排他的と指定されると、その CPU は明示的にそこに送信されたプログラムだけを実行します。
- XRSET の作成
XRSET を作成するには root ユーザーである必要があります。 mkrset コマンドを使用して、 sysxrset 名前空間にリソース・セットを作成します。 例えば、コマンド mkrset -c 1-3 sysxrset/set1 は、CPU 1、2、および 3 のために XRSET を作成します。 rs_registername() サブルーチンを使用して、XRSET を作成することもできます。
- XRSET がシステムに定義済みであるかどうかの判別
lsrset -v -n sysxrset コマンドを使用すると、システムに定義されている すべての XRSET が表示されます。 (これを行うためのプログラミング API は現在のところありません。)
- XRSET の削除
XRSET を削除するには root ユーザーである必要があります。 XRSET は rmrset コマンドで削除されます。 rs_discardname() サブルーチンを使用して、XRSET を削除することもできます。
- システムのリブート
システムをリブートすると、設定されていたすべての XRSET がレジストリーから除去され、どれも無効になります。
- XRSET を使用する作業の指定
作業が排他使用プロセッサーを使うのに適格であるとマークする方法は、複数あり ます。 排他使用プロセッサーを含むリソース・セットを指定するには、attachrset と execrset のコマンドが使用できます。 排他使用プロセッサーを含んでいるリソース・セットを WLM クラスに関連付ける ことができます。 このような WLM クラスに分類された作業は、リソース・セット内に 指定された排他使用プロセッサーを使用します。
- Bindprocessor および _system_configuration.ncpus での XRSET の使用
bindprocessor を使用して、作業を排他使用プロセッサーで実行させることはできません。 リソース・セット・ベースで接続した場合のみ、作業を排他使用プロセッサーで 実行させることができます。
システム構成における CPU の数 (_system_configuration.ncpus フィールド) は、XRSET が作成されても変わりません。 システムには依然として NCPU が存在します。
プログラムが NCPU に対する bindprocessor システム・コールを使用すると、XRSET 内の CPU は
EINVALエラーで失敗します。 bindprocessor コマンドの照会オプションで戻される ID は、どれもバインドできます。 照会オプション (bindprocessor -q) は、排他的 CPU に関連付けられているバインド ID を除き、有効なバインド ID のみを返します。例えば、システム内にオンラインの CPU が 10 個あり、そのうち 3 つが XRSET 内にある場合、0 から 6 までの範囲のバインド ID を持つ CPU に対する bindprocessor は成功します。 7 から 9 の範囲のバインド ID を持つ CPU に対する bindprocessor は、
EINVALエラーを受け取ります。- 動的 CPU 再構成操作での XRSET の使用
一般に、動的 CPU 再構成は排他使用プロセッサーによる影響を受けません。 ただし、XRSET を作成したり、それらのプロセッサーへ作業を割り当てすると、CPU を 除去できなくなることがあります。 システムに動的に追加された CPU は、汎用プロセッサーまたは 排他使用プロセッサーのいずれかとしてシステムに参加します。 動的に追加された CPU が排他使用としてシステムに入るのは、システムに 参加するときに、その論理 CPU ID を含む XRSET がある場合です。