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回 よく使用するコマンド
 

qsub [ options ] [ command [ command_args ] | -- [ command_args ]]

UGEにジョブを投入するために使用されます。詳細はこちら

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 のキュー、ジョブクラス、およびジョブの現在のステータスを表示します。詳細はこちら

qdel [ -f ] [ -help ] [ -u wc_user_list ] [ wc_job_range_list ] [ -si session_id ] [ -t task_id_range ]

qdel は、ユーザー/オペレータ/マネージャが1つ以上のジョブを削除する手段を提供します。詳細はこちら

qconf

qconf options

qconf を使用すると、システム管理者は、キュー管理、ホスト管理、複雑な管理、ユーザ管理など、Univa Grid Engineの現在の設定を追加、削除、変更することができます。

​※オプションについては、別途説明

qhost [ -F [resource_name,...]  ] [ -help ] [ -h host_list ] [ -j ] [ -l resource=val,...  ] [ -ncb ] [ -si session_id ] [ -u user,...  ] [ -xml ].

qhost は、使用可能な 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 の情報を集計します。詳細はこちら

qmod [ options ]

qmod は、実行中のジョブ、キュー、またはジョブクラスの所有者として分類されたユーザーが、そのオブジェクトの状態を変更できます。詳細はこちら

Please reload

第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

© 2006-2019 HPC Technologies Co., Ltd. All rights reserved.