Sun N1 Grid Engine 6.1 管理ガイド

派生値の書式

  1. 最上位の開始タグは <derive> です。次の 3 つの属性を使用して指定します。

    • object — ホスト、キュー、ユーザー、グループ、部署、またはプロジェクトを指定します。この属性に基づいて、派生値は最終的に次のいずれかに格納されます。sge_host_valuessge_queue_values sge_user_valuessge_group_valuessge_department_valuessge_project_values

    • interval — 時間、日、月、または年のいずれかです。

    • variable — 新しい派生値の名前です。

  2. 第 2 レベルの開始タグは <sql> または <auto> のいずれかで、値の派生方法を記述します。これらのタグの詳細を次に示します。

  3. <sql> – このタグには、派生値の計算に使用される SQL 文を指定します。エントリの正確な構文は、使用するデータベースの種類によって異なります。

  4. <auto> - 特定の単純な派生値については、完全な SQL クエリーの代わりにこのタグを使用できます。このタグには 2 つの属性があります。

    • function — 変数に適用する集約関数を指定します。ここでは、使用する種類のデータベースに有効な任意の関数を指定できます。代表的な関数としては、AVG 、SUM、VALUE 、COUNT、MIN、または MAX があります。

    • variable — 次のテーブルに記録される任意の変数を指定できます。sge_host_valuessge_queue_valuessge_user_valuessge_group_values sge_department_valuessge_project_values。指定する変数は、<derive> タグで囲まれたオブジェクト属性によって示されるテーブルに存在する必要があります。たとえば、オブジェクトがホスト の場合、変数は sge_host_values に存在する必要があります。

  5. 2 つの開始タグに対応する 2 つの終了タグを指定します。

<sql> タグを使用した派生規則の例を示します。sge_queue テーブルには、 q_qnameq_hostname からなる複合的な主キーがあります。キュー object_type に指定された規則の場合、sge_queue テーブルのエントリごとに 1 つのクエリーが作成されます。プレースホルダ__key_0__ は、キューの名前で置き換えられ、__key_1__ はホスト名で置き換えられます。

<!--
        average queue utilization per hour
        -->
<derive object="queue" interval="hour" variable="h_utilized">
        <sql>
        SELECT DATE_TRUNC( 'hour', qv_time_start)
                        AS time_start,
                DATE_TRUNC( 'hour', qv_time_start) + INTERVAL '1 hour'
                        AS time_end,
                AVG(qv_dvalue * 100 / qv_dconfig)
                        AS value
                FROM sge_queue_values
                WHERE qv_variable = 'slots' AND
                        qv_parent = (SELECT q_id FROM sge_queue
                                WHERE q_qname = __key_0__
                                        AND q_hostname = __key_1__)
                        AND qv_time_start &lt;= '__time_end__' AND
                        qv_time_end &gt; '__time_start__'
                GROUP BY time_start
</sql>
</derive>

<auto> タグを使用した派生規則の例を示します。

<!-- average load per hour -->
<derive object="host" interval="hour" variable="h_load">
        <auto function="AVG" variable="np_load_avg" />
</derive>