Sun N1 Grid Engine 6.1 管理ガイド

負荷パラメータ

この節では、Grid Engine システムの負荷パラメータについて説明します。また、独自の負荷センサーの記述法も解説します。

デフォルトの負荷パラメータ

デフォルトでは、sge_execdsge_qmaster に対して、定期的にいくつかの負荷パラメータとそれに対応する値を報告します。これらの値は、「ホストとデーモンについて」で説明されている、sge_qmaster 内部ホストオブジェクトに格納されます。ただし、値が内部で使用されるのは、対応する名前を持つコンプレックスリソース属性が定義されている場合のみです。このようなコンプレックスリソース属性には、負荷値をどのように解釈するかに関する定義が含まれています。詳細については、「キュー、ホスト、およびグローバルクラスタへのリソース属性の割り当て」を参照してください。

最初のインストール後、負荷パラメータの標準的なセットが報告されます。標準的な負荷パラメータに必要なすべての属性は、ホスト関連の属性として定義されます。N1 Grid Engine 6.1 ソフトウェアの今後のリリースでは、デフォルトの負荷パラメータの拡張セットが提供される可能性があるため、デフォルトで報告される負荷パラメータのセットは、ファイル sge-root/doc/load_parameters.asc に記載されています。

負荷属性の定義方法は、それらのアクセス可能性を決定します。負荷パラメータをグローバルリソース属性として定義すると、それらは、クラスタ全体とすべてのホストに対して使用可能になります。負荷パラメータをホスト関連の属性として定義すると、あらゆるホストにその属性が提供されますが、グローバルクラスタには提供されません。


注 –

負荷属性は、キュー属性としては定義しないでください。キュー属性は、ホストに対してもクラスタに対しても使用可能にはなりません。


サイト固有の負荷パラメータの追加

デフォルトの負荷パラメータのセットは、クラスタにおける負荷の状況を完全に記述するのには不適切である場合があります。特に、サイト固有のポリシー、アプリケーション、および構成に関してはこの可能性が高くなります。したがって、Grid Engine ソフトウェアには負荷パラメータのセットを拡張する手段が用意されています。この目的のため、sge_execd は、負荷パラメータと現在の負荷値を sge_execd に供給するインタフェースを提供します。そのあと、これらのパラメータはデフォルトの負荷パラメータと同じように扱われます。デフォルトの負荷パラメータに関しては、サイト固有の負荷パラメータを有効にするには、対応する属性をコンプレックスで定義する必要があります。詳細については、「デフォルトの負荷パラメータ」を参照してください。

独自の負荷センサーの記述

sge_execd に追加の付加情報を供給するには、負荷センサーを用意する必要があります。負荷センサーには、スクリプトとバイナリ実行ファイルを使用できます。どちらの場合も、負荷センサーの標準入出力ストリームの処理および制御フローは次の規則に従っている必要があります。

続いて負荷センサーは、目的の負荷値を計算するために必要なすべての処理を実行します。サイクルの終了時点で、負荷センサーは結果を STDOUT に書き込みます。


注 –

負荷の取得に長時間を要する場合、負荷レポートを送信した直後に負荷測定プロセスを開始できます。quit が受信されると、負荷値は送信できるようになります。


負荷センサーの規則の書式

負荷センサーの規則の書式は次のとおりです。

負荷センサースクリプトの例

次の例に負荷センサーを示します。負荷センサーは Bourne シェルスクリプトです。


例 3–2 負荷センサー – Bourne シェルスクリプト


#!/bin/sh

myhost=`uname -n`

while [ 1 ]; do
     # wait for input
     read input
     result=$?
     if [ $result != 0 ]; then
          exit 1
     fi
     if [ $input = quit ]; then
          exit 0
     fi	
     #send users logged in
     logins=`who | cut -f1 -d" " | sort | uniq | wc -l` | sed "s/^ *//"
     echo begin
     echo "$myhost:logins:$logins"
     echo end
done

# we never get here

exit 0

このスクリプトを、ファイル load.sh に保存します。chmod コマンドを使用して、このファイルに実行可能権限を割り当てます。コマンド行からスクリプトを対話形式でテストするには、load.sh と入力し、Return キーを繰り返し押します。

手続きが機能するようになるとすぐ、任意の実行ホストにインストールできます。手続きをインストールするには、クラスタ構成、グローバル構成、またはホスト固有の構成の load_sensor パラメータとして、負荷センサーのパスを構成します。詳細については、「基本クラスタ構成」または sge_conf(5) のマニュアルページを参照してください。

対応する QMON ウィンドウは次の図のようになります。

報告される負荷パラメータ logins は、対応する属性がコンプレックスに追加されるとすぐに使用できるようになります。必要な定義は、次の図に示す最後のテーブルエントリのようになります。