HPC Technologies
HPCテクノロジーズ株式会社
High Performance Computing で科学技術計算をサポート
・HPCTテクニカルセンター ・製品カタログ ・プライスリスト ・ベンチマーク ・採用情報
Top > ソフトウェア製品 > Univa Grid Engine (UGE) > UGE 技術情報
UGE 技術情報
第1回 UGEの概要
第2回 よく使用するコマンド
第3回 環境変数
第4回 qconf のオプション
第5回 キューの定義
第6回 PEの定義
第7回 ホストグループの定義
第8回 リソースの定義
第9回 カレンダーの定義
第10回 GPU サポート
第11回 Xeon Phi サポート
第1回 UGEの概要
UGEは、予め定めたスケジューリングポリシー及びワークフロー、リソースの指定などに応じてジョブを適切なホストに配置し、ジョブを実行するジョブ管理ソフトです。ジョブ管理ソフトとしてのスループット性能は極めて高く、また動作も大変安定しているため、大規模計算機環境下における共同利用環境でも十分に機能を発揮します。
UGEの様々な活用方法があります。以下で図示する方法は、その一例です。
(1) ジョブを断続的にバッチ投入する利用方法
最も一般的なUGEの活用方法です。ジョブの実行が終わった後に、キューに並んだジョブが自動実行されます。ジョブの実行時間やメモリ量などのリソース制限を設けずに、ジョブを順次処理する方法で、共同利用環境ではなく個人利用の場合には大変実用的なシステムの利用方法です。弊社で納品するシステムの多くはこのような構成を取っています。

(2) ホストグループ(キュー)を指定してジョブを投入する方法
一定の特性でグループ化されたホストグループに対応したキューを指定してジョブを実行する方法です。qsub コマンドに -q オプションでキューを指定します。ユーザーのジョブの特性に応じて、サーバーに搭載された主メモリの量やネットワークの速度、GPUの有無など、様々なリソースの要求がある共同利用環境で利用される方法です。

(3) ライセンスリソースを指定してジョブを投入する方法
FlexLMなどで実行可能なプロセス数を制限されているアプリケーションなどは、その許可されているライセンス数以上のプロセスを実行させると認証エラーとなり、実行できません。そのような場合に、ライセンスリソースを定義して、ジョブを実行する際にジョブに必要なライセンス数を指定して実行することで、ライセンス認証エラーを防止します。

第2回 よく使用するコマンド
qstat [ -explain {a|A|c|E|m}[+] ] [ [ -ext ] [ -f|-fjc ] [ -F [resource_name,...] ] [ -g {c|d|t}[+] ] [ -help ] [ -j [job_list] ] [ -nenv ] [ -l resource=val,... ] [ -ne ] [-pe pe_name,... ] [ -ncb ] [ -njd ] [ -pri ] [ -q wc_queue_list ] [ -qs {a|c|d|o|s|u|A|C|D|E|S} ] [ -r ] [ -s {r|p|s|z|S|N|P|hu|ho|hs|hd|hj|ha|h|a}[+] ] [ -si session_id ] [ -t ] [ -U user,... ] [ -u user,... ] [ -urg ] [ -xml ]
qstat は、Univa Grid Engine のキュー、ジョブクラス、およびジョブの現在のステータスを表示します。詳細はこちら
qconf
qconf options
qconf を使用すると、システム管理者は、キュー管理、ホスト管理、複雑な管理、ユーザ管理など、Univa Grid Engineの現在の設定を追加、削除、変更することができます。
※オプションについては、別途説明
qacct [ -ar [ar_id] ] [ -A account_string ] [ -b begin_time ] [ -d days ] [ -e end_time ] [ -g [group_id|group_name] ] [ -h [hostname] ] [ -help ] [ -j [job_id|job_name|pattern]] [ -l attr=val,... ] [ -o [owner] ] [ -pe [pe_name] ] [ -q [wc_queue] ] [ -si session_id ] [ -slots [slot_number] ] [ -t task_id_range_list ] [ -P [project_name] ] [ -D [department_name] ] [ -f accounting_file ]
qacct ユーティリティは、アカウンティングデータファイル(accounting(5)を参照)をスキャンし、ホスト名、キュー名、グループ名、所有者名、ジョブ名、ジョブIDのカテゴリに対して、及び、-l スイッチで指定されたリソース要件を満たすキュー に対して、wall-clock time、cpu-time 、system-time の情報を集計します。詳細はこちら
第3回 環境変数
第4回 qconf のオプション
第5回 キューの定義
第6回 PEの定義
第7回 ホストグループの定義
第8回 リソースの定義
第9回 カレンダーの定義
第10回 GPU サポート
第11回 Xeon Phi サポート
(Univa Grid Engine v8.4.4 AdminGuide "3.13.5 Configure and Install Intel Xeon Phi x200 (Knights Landing) Processors support" を参考にしています。
Xeon Phi x200 シリーズの Cluster Mode
クラスタモードは、コアから発生するメモリ要求がメモリコントローラによって実行される異なる方法を定義します。クラスタモードは、メモリアクセスがチップ全体でどのようにルーティングされ、適切なメモリチャネルに到達するかを区別します。コアからのメモリ要求のルーティング(L2ミスの場合)を理解するために、以下のような特定の役割を持つ3つの要素/エージェントを定義します。
コア - メモリ要求の発生場所
タグディレクトリ - コアからの要求はタグディレクトリに転送され、タグディレクトリは要求を転送するメモリチャネルを認識します
メモリチャネル - L2ミスの場合、メモリチャネルは要求をメモリに送信します
Xeon Phi x200 シリーズの Memory Mode
メモリモードは、DDRやMCDRAMなどのさまざまなメモリコンポーネントがソフトウェアに公開される方法を定義します。開発者は、アプリケーションの帯域幅とレイテンシの特性に応じて、1つのモードを選択できます。
Univa Grid Engine の Xeon Phi インテグレーション
Univa Grid Engine は、以下の4つの新しい complex 値と pre-compiled load sensor を提供します。
【動作例】
# qconf -se phi7250
hostname phi7250.local
load_scaling NONE
complex_values m_mem_free=47983.000000M
load_values arch=lx-amd64,cpu=0.000000,docker=0, \
knl_MCDRAM_cache=17179869184,knl_MCDRAM_total=0, \
knl_cluster_mode=All2All,knl_memory_mode=Cache, \
load_avg=0.010000,load_long=0.050000, \
load_medium=0.010000,load_short=0.000000, \
m_cache_l1=32.000000K,m_cache_l2=1024.000000K, \
m_cache_l3=0.000000K,m_core=68,m_mem_free=44380.000000M, \
m_mem_total=47983.000000M,m_mem_used=3603.000000M, \
m_numa_nodes=1,m_socket=1,m_thread=272, \
m_topology=SCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTC TTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTC TTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTC TTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTC TTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT, \
m_topology_inuse=SCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT, \
m_topology_numa=[SCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT CTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTTCTTTT], \
mem_free=44380.007812M,mem_total=47983.140625M, \
mem_used=3603.132812M,np_load_avg=0.000037, \
np_load_long=0.000184,np_load_medium=0.000037, \
np_load_short=0.000000,num_proc=272, \
swap_free=24127.894531M,swap_total=24127.996094M, \
swap_used=0.101562M,virtual_free=68507.902344M, \
virtual_total=72111.136719M,virtual_used=3603.234375M
processors 272
user_lists NONE
xuser_lists NONE
projects NONE
xprojects NONE
usage_scaling NONE
report_variables NONE
license_constraints NONE
license_oversubscription NONE