Sun N1 Grid Engine 6.1 ユーザーズガイド

第 2 章 Grid Engine システムの概要

この章では、ユーザー、キュー、ホストおよびジョブ属性などの Grid Engine システムコンポーネントに関する情報の表示方法について説明します。また、本ソフトウェアの使用を開始するにあたって役立つ基本概念や用語も紹介します。本製品の詳細な内容説明については、第 1 章「N1TM Grid Engine 6.1 ソフトウェアの概要」を参照してください。

この章には、次の作業の実行方法も記載されています。

QMON Main Control」ウィンドウ

Grid Engine システムの特長は、グラフィカルユーザーインタフェース (GUI) コマンドツールである「QMON Main Control」ウィンドウです。ユーザーは、「 QMON Main Control」ウィンドウで、ジョブの発行、ジョブの制御、および重要情報の収集など、ほとんどの Grid Engine システムの機能を実行できます。

QMON Main Control」ウィンドウの起動

QMON Main Control」ウィンドウを起動するには、コマンド行から次のコマンドを入力します。


% qmon

メッセージウィンドウが表示されてから、「QMON Main Control」ウィンドウが表示されます。

アイコンの意味は、図 1–3 を参照してください。アイコンボタンの名前は、ボタン上にポインタを置くと画面に表示されます。名前は、ボタンの機能を表しています。

このガイドの手順の多くでは、「 QMON Main Control」ウィンドウを使用する必要があります。

QMON のカスタマイズ

QMON の使用感の大部分は、特別に設計されたリソースファイルに定義されます。適切なデフォルトが sge-root/qmon/Qmon に編集されています。なおここには、 サンプルリソースファイルも含まれています。

クラスタ管理では、次のいずれかを行うことができます。

実際の環境でこのどれかが当てはまるかどうかは、管理者にお問い合わせください。

さらに、ユーザーは個人的な環境設定も行うことができます。ユーザーは、Qmon ファイルも変更できます。Qmon ファイルは、ホームディレクトリや個人用の XAPPLRESDIR 検索パスが指す場所へ移動できます。またユーザーは、必要なリソース定義を個人用の .Xdefaults または .Xresources ファイルに保存することもできます。さらに、個人用の Qmon リソースファイルを xrdb コマンドによってインストールすることもできます。xrdb コマンドは、動作中に使用できます。また、.xinitrc リソースファイルなどの X11 環境の起動時に xrdb を使用することもできます。

カスタマイズ可能な設定の詳細は、サンプル Qmon ファイルのコメント行を参照してください。

「Job Customize」ダイアログボックスおよび「Queue Customize」ダイアログボックスを使用して、qmon をカスタマイズすることもできます。これらのダイアログボックスは、「「Job Control」ディスプレイのカスタマイズ」「クラスタキューおよびキューインスタンスのフィルタリング」に示されています。両方のダイアログボックスでは、「Save」ボタンを使用してフィルタリング定義と表示定義をホームディレクトリの .qmon_preferences ファイルに保存できます。QMON の再起動時にはこのファイルが読み込まれ、QMON は以前に定義された動作を再度有効にすることができます。

ユーザーとユーザーカテゴリ

Grid Engine システムのユーザーは 4 つのカテゴリに分類されます。各カテゴリユーザーは、それぞれの Grid Engine システムコマンドセットにアクセスできます。

表 2–1 に、複数のユーザーカテゴリで使用可能なコマンド機能を示します。

表 2–1 ユーザーカテゴリおよび関連コマンド機能

コマンド 

管理者 

オペレータ 

所有者 

ユーザー 

qacct

完全 (フル) 

完全 (フル) 

自分のジョブのみ 

自分のジョブのみ 

qalter

完全 (フル) 

完全 (フル) 

自分のジョブのみ 

自分のジョブのみ 

qconf

完全 (フル) 

システム設定の変更以外 

構成の表示のみとアクセス権 

構成の表示のみとアクセス権 

qdel

完全 (フル) 

完全 (フル) 

自分のジョブのみ 

自分のジョブのみ 

qhold

完全 (フル) 

完全 (フル) 

自分のジョブのみ 

自分のジョブのみ 

qhost

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qlogin

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qmod

完全 (フル) 

完全 (フル) 

自分のジョブとキューのみ 

自分のジョブのみ 

qmon

完全 (フル) 

システム設定の変更以外 

構成変更以外 

構成変更以外 

qrexec

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qselect

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qsh

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qstat

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

qsub

完全 (フル) 

完全 (フル) 

完全 (フル) 

完全 (フル) 

ユーザーのアクセス権

管理者は、キューおよび並列環境インタフェースなどの機能へのアクセスを制限することができます。アクセスは、特定のユーザーまたはユーザーグループに対して制限されます。


注 –

Grid Engine ソフトウェアは、クラスタ管理によって設定されたアクセス制限を自動的に考慮します。次の節は、自分のアクセス権を知りたい場合にだけお読みください。


アクセス権を制限するために、管理者はアクセスリスト (ACL) を作成および管理します。ACL には、ユーザー名と UNIX グループ名が含まれています。この ACL は、キューまたは並列環境インタフェース構成内のアクセス許可リストまたはアクセス禁止リストに追加されます。詳細は、queue_conf(5) または sge_pe(5) のマニュアルページを参照してください。

アクセス許可リスト内の ACL に属しているユーザーは、キューや並列環境インタフェースにアクセスできます。アクセス禁止リストの ACL のメンバーであるユーザーは、該当リソースにアクセスできません。

ACL は、ユーザーがアクセスできるプロジェクト 、つまりユーザーの作業の上位にあるプロジェクトを定義するためにも使用されます。管理者は、プロジェクトごとにクラスタリソースへのアクセスを制限することもできます。

「User Configuration」ダイアログボックスは、「QMON Main Control」ウィンドウの「User Configuration」ボタンをクリックすると開きます。このダイアログボックスを使用すると、アクセス権を持つ ACL に対して照会を行うことができます。詳細は、『Sun N1 Grid Engine 6.1 管理ガイド』の第 4 章「ユーザーアクセスの管理」を参照してください。

プロジェクトアクセスは、「QMON Main Control」ウィンドウの「Project Configuration」アイコンをクリックすることで表示できます。詳細は、『Sun N1 Grid Engine 6.1 管理ガイド』「プロジェクトの定義」を参照してください。

コマンド行から次のコマンドを使用して、現在構成されている ACL のリストを取得できます。


% qconf -sul

次のコマンドを使用すると、1 つ以上のアクセスリストのエントリを一覧表示できます。


% qconf -su acl-name[,...]

ACL は、ユーザーアカウント名と UNIX グループ名で構成されます。UNIX グループ名の前には @ マークが付いています。このようにして、アカウントが属する ACL を決定できます。


注 –

newgrp コマンドで一次 UNIX グループを切り替える権限がある場合は、アクセス権が変更される場合があります。


アクセスできるキューまたは並列環境インタフェース、およびアクセスが拒否されるキューまたは並列環境インタフェースを確認することができます。「キューとキュープロパティーの表示」および『Sun N1 Grid Engine 6.1 管理ガイド』「QMON を使用した並列環境の構成」で説明されているとおり、キューまたは並列環境インタフェース構成を照会してください。

アクセス許可リストの名前は user_lists です。アクセス禁止リストの名前は xuser_lists です。お使いのユーザーアカウントまたは一次 UNIX グループがアクセス許可リストに関連付けられている場合は、該当リソースにアクセスできます。アクセス禁止リストに関連付けられている場合は、キューまたは並列環境インタフェースにはアクセスできません。両方のリストが空の場合は、有効なアカウントを持つユーザーは全員、該当リソースにアクセスできます。

コマンド行から次のコマンドを使用して、プロジェクト構成を制御できます。


% qconf -sprjl
% qconf -sprj project-name

上のコマンドは、定義されたプロジェクトのリストと特定のプロジェクト構成のリストをそれぞれ表示します。プロジェクトは ACL を使用して定義します。前の段落の説明どおり、ACL 構成を照会してください。

プロジェクトにアクセスできる場合は、プロジェクトの下位のジョブを発行できます。このジョブは、コマンド行から次のコマンドを使用して発行できます。


% qsub -P project-name options

クラスタ構成、ホスト構成、およびキュー構成は、ACL と同じようにプロジェクトアクセスを定義します。これらの構成では、定義のために project_lists xproject_lists パラメータが使用されます。

管理者、オペレータ、および所有者

Grid Engine システム管理者のリストを表示するには、次のコマンドを使用してください。


% qconf -sm

オペレータのリストを表示するには、次のコマンドを使用してください。


% qconf -so

注 –

デフォルトでは、管理ホストのスーパーユーザーは管理者とみなされます。


特定のキューの所有者であるユーザーは、「キューとキュープロパティーの表示」の説明どおり、キュー構成に含まれています。次のコマンドを入力すると、キュー構成を表示できます。


% qconf -sq {cluster-queue | queue-instance | queue-domain}

このキュー構成エントリの名前は owner_list です。

キューとキュープロパティーの表示

サイトの Grid Engine システムを最大限活用するには、キューの構造をよく知る必要があります。また、お使いの Grid Engine システムのキュープロパティーも知っておかなければなりません。

キューリストの表示

QMON Queue Control」ダイアログボックスの図と説明は、QMON によるキューの監視と制御」を参照してください。このダイアログボックスは、インストールされているキューとキューの現在の状態の簡単な概要を表示します。

キューのリストを表示するには、コマンド行から次のコマンドを入力してください。


% qconf -sql

キュープロパティーの表示

キュープロパティーは、QMON またはコマンド行で表示できます。

ProcedureQMON によりキュープロパティーを表示する

  1. QMON Main Control」ウィンドウを起動します。

  2. 「Queue Control」ボタンをクリックします。

    「Cluster Queue」ダイアログボックスが表示されます。

  3. キューを選択し、「Show Detached Settings」をクリックします。

    「Browser」ダイアログボックスが表示されます。

  4. 「Browser」ダイアログボックスで「Queue」をクリックします。

  5. 「Cluster Queue」ダイアログボックスで「Queue Instances」タブをクリックします。

  6. キューインスタンスを選択します。

    「Browser」ダイアログボックスに選択したキューインスタンスのキュープロパティーが一覧表示されます。


例 2–1 キュープロパティー情報

次の図に、表示されるキュープロパティー情報の例を示します。


コマンド行からのキュープロパティーの表示

コマンド行からキュープロパティーを表示するには、次のコマンドを入力してください。


% qconf -sq {queue | queue-instance | queue-domain}

上の図のような情報が表示されます。

キュープロパティー情報の解釈

各キュープロパティーの詳細は、 queue_conf(5) のマニュアルページを参照してください。

次に重要性の高いパラメータをいくつか示します。

ホストとホストの機能

QMON Main Control」ウィンドウの「Host Configuration」ボタンをクリックすると、ユーザーのクラスタ内のホストに関連する機能の概要が表示されます。ただし、管理者特権を持たない場合は、構成を変更することはできません。

ホスト構成ダイアログボックスは、『Sun N1 Grid Engine 6.1 管理ガイド』の第 1 章「ホストとクラスタの構成」で説明されています。これ以降の節では、コマンド行からホスト情報を検出するためのコマンドについて説明します。

マスターホストの名前の検出

マスターホストの場所は、いつでも現在のマスターホストとシャドウマスターホスト間で移動する可能性があります。したがって、マスターホストの場所はユーザーに対して透過的であるべきです。

テキストエディタで sge-root/ cell/common/act_qmaster ファイルを開きます。

現在のマスターホストの名前はファイルに含まれています。

実行ホストのリストの表示

クラスタ内で実行ホストとして構成されているホストのリストを表示するには、次のコマンドを使用します。


% qconf -sel
% qconf -se hostname
% qhost

qconf -sel コマンドは、実行ホストとして現在構成されているすべてのホストの名前のリストを表示します。qconf -se コマンドは、指定された実行ホストの詳細情報を表示します。qhost コマンドは、実行ホストのステータス情報と負荷情報を表示します。

qconf によって表示される情報の詳細は 、host_conf(5) のマニュアルページを参照してください。出力とその他のオプションの詳細は、qhost(1) のマニュアルページを参照してください。

管理ホストのリストの表示

管理権を持つホストのリストを表示するには、次のコマンドを使用してください。


% qconf -sh

発行ホストのリストの表示

発行ホストのリストを表示するには、次のコマンドを使用してください。


% qconf -ss

要求可能な属性

ジョブを発行するときに、ジョブに対して要件プロファイルを指定できます。ユーザーは、実行を成功させるためにジョブに必要なホストやキューの属性または特徴を指定できます。Grid Engine ソフトウェアは、これらのジョブ要件をクラスタのホストとキュー構成に対応付けることによって、ジョブに適したホストを見つけます。

ジョブ要件の指定に使用できる属性は、次のいずれかと関連があります。

属性は、特定のホスト上だけで使用できるインストールソフトウェアなどのサイトポリシーから派生することもあります。

次のような属性を使用できます。

管理者は便宜上よく、すべての使用可能な属性のサブセットを要求できるように定義します。

現在要求可能な属性は、次の図の「Requested Resources」ダイアログボックスに表示されています。

「Requested Resources」ダイアログボックスにアクセスするには、「QMON Submit Job」ダイアログボックスを使用してください。要求可能な属性は「Available Resources」の下に一覧表示されます。

要求可能な属性のリストの表示

構成済みのリソース属性のリストを表示するには、コマンド行から次のコマンドを入力してください。


% qconf -sc

Grid Engine システムコンプレックスには、すべてのリソース属性の定義が含まれています。リソース属性の詳細は、『Sun N1 Grid Engine 6.1 管理ガイド』の第 3 章「コンプレックスリソース属性の構成」を参照してください。complex(5) マニュアルページの複雑な書式の説明も参照してください。

qconf -sc コマンドの出力は、例 2–2 のようになります。


例 2–2 コンプレックス属性の表示


gimli% qconf -sc
#name               shortcut   type        relop requestable consumable default  urgency 
#----------------------------------------------------------------------------------------
arch                a          RESTRING    ==    YES         NO         NONE     0
calendar            c          STRING      ==    YES         NO         NONE     0
cpu                 cpu        DOUBLE      >=    YES         NO         0        0
h_core              h_core     MEMORY      <=    YES         NO         0        0
h_cpu               h_cpu      TIME        <=    YES         NO         0:0:0    0
h_data              h_data     MEMORY      <=    YES         NO         0        0
h_fsize             h_fsize    MEMORY      <=    YES         NO         0        0
h_rss               h_rss      MEMORY      <=    YES         NO         0        0
h_rt                h_rt       TIME        <=    YES         NO         0:0:0    0
h_stack             h_stack    MEMORY      <=    YES         NO         0        0
h_vmem              h_vmem     MEMORY      <=    YES         NO         0        0
hostname            h          HOST        ==    YES         NO         NONE     0
load_avg            la         DOUBLE      >=    NO          NO         0        0
load_long           ll         DOUBLE      >=    NO          NO         0        0
load_medium         lm         DOUBLE      >=    NO          NO         0        0
load_short          ls         DOUBLE      >=    NO          NO         0        0
mem_free            mf         MEMORY      <=    YES         NO         0        0
mem_total           mt         MEMORY      <=    YES         NO         0        0
mem_used            mu         MEMORY      >=    YES         NO         0        0
min_cpu_interval    mci        TIME        <=    NO          NO         0:0:0    0
np_load_avg         nla        DOUBLE      >=    NO          NO         0        0
np_load_long        nll        DOUBLE      >=    NO          NO         0        0
np_load_medium      nlm        DOUBLE      >=    NO          NO         0        0
np_load_short       nls        DOUBLE      >=    NO          NO         0        0
num_proc            p          INT         ==    YES         NO         0        0
qname               q          STRING      ==    YES         NO         NONE     0
rerun               re         BOOL        ==    NO          NO         0        0
s_core              s_core     MEMORY      <=    YES         NO         0        0
s_cpu               s_cpu      TIME        <=    YES         NO         0:0:0    0
s_data              s_data     MEMORY      <=    YES         NO         0        0
s_fsize             s_fsize    MEMORY      <=    YES         NO         0        0
s_rss               s_rss      MEMORY      <=    YES         NO         0        0
s_rt                s_rt       TIME        <=    YES         NO         0:0:0    0
s_stack             s_stack    MEMORY      <=    YES         NO         0        0
s_vmem              s_vmem     MEMORY      <=    YES         NO         0        0
seq_no              seq        INT         ==    NO          NO         0        0
slots               s          INT         <=    YES         YES        1        1000
swap_free           sf         MEMORY      <=    YES         NO         0        0
swap_rate           sr         MEMORY      >=    YES         NO         0        0
swap_rsvd           srsv       MEMORY      >=    YES         NO         0        0
swap_total          st         MEMORY      <=    YES         NO         0        0
swap_used           su         MEMORY      >=    YES         NO         0        0
tmpdir              tmp        STRING      ==    NO          NO         NONE     0
virtual_free        vf         MEMORY      <=    YES         NO         0        0
virtual_total       vt         MEMORY      <=    YES         NO         0        0
virtual_used        vu         MEMORY      >=    YES         NO         0        0
# >#< starts a comment but comments are not saved across edits --------

name の列は、qconf -sq コマンドによって表示される最初の列と同じです。shortcut の列には、最初の列のフルネームの省略形が入ります。省略形は管理者によって定義されます。qsub コマンドの要求オプションでは、フルネームまたはショートカットのどちらでも指定できます。

requestable の列には、リソース属性が qsub コマンドで使用できるかどうかが示されています。管理者は、たとえば、クラスタのユーザーが特定のマシンまたは自分のジョブのキューを直接要求できないようにすることもできます。管理者は、エントリ qnamehostname、またはこの両方を要求不可にすることができます。キューまたはホストを要求不可能にすると、実行可能なユーザー要求を通常複数のキューで満足させることができ、Grid Engine システムの負荷均衡機能が実行されます。

relop の列には、キューまたはホストがユーザー要求を満たせるかどうかを計算するための関係演算子が定義されています。次のような比較が行われます。


User_Request     relop     Queue/Host/... -Property

比較結果が偽の場合、ユーザーのジョブをそのキューまたはホストで実行することはできません。たとえば、キュー q1 を 100 秒のソフト CPU 時間制限で構成したとします。キュー q2 は、1000 秒のソフト CPU 時間制限があるように構成します。ユーザープロセス制限の説明は、 queue_conf(5) および setrlimit(2) のマニュアルページを参照してください。

consumabledefault の列は、管理者の消費可能リソースの宣言方法に影響します。『Sun N1 Grid Engine 6.1 管理ガイド』「消費可能リソース」を参照してください。

ユーザーは、ほかの属性とまったく同じように消費可能リソースを要求します。ただし、Grid Engine システムがリソースの内部帳簿機能をつける点が異なります。

ユーザーが次の要求を発行したとします。


% qsub -l s_cpu=0:5:0 nastran.sh

s_cpu=0:5:0 要求は、5 分以上のソフト制限 CPU 時間を許可するキューを求めます。したがって、5 分以上のソフト CPU 実行時間制限を提供するキューだけが適切に設定され、ジョブを実行できます。構文の詳細は、qsub(1) のマニュアルページを参照してください。


注 –

Grid Engine ソフトウェアは、複数のキューまたはホストがジョブを実行できる場合だけ、スケジューリングプロセスの作業負荷情報を考慮します。