TopHPCTテクニカルセンター > Univa Grid Engine Release Notes 8.6.0

Univa Grid Engine (UGE) Release Notes

Univa Grid Engine v8.6.0 Release Notes 

原文はこちらのURLから取得してください。http://www.univa.com/resources/releases.php

4 Fixes and Enhancements
4.1 Major Enhancements
4.1.1 New Core Binding Strategies and PE Behavior

 

PEジョブの場合、スケジュールされるタスクの数とホストの数を事前に知ることは難しく、不可能でさえあります。したがって、Univa Grid Engineバージョン8.6.0では、この事実に対応するためにコアバインディング要求の動作が変更されています。バインディング要求は、以前は"ホストごとの"要求でしたが、"PEタスクごとの"要求に変更されました。これは、PEジョブの要求されたコアの量が"PEタスクごとに"割り当てられることを意味します。

たとえば、ジョブが

 qsub -pe mype 5-7 -binding linear:2 -b y sleep 60

にてサブミットされた場合、タスクがスケジュールされるホストまたはホストの数に関係なく、各PEタスクに2つのコアが割り当てられます。

現在、さまざまなバインディングストラテジーがありますが、そのほとんどが"ホスト認識"ストラテジーと"ホスト無認識"ストラテジーの2つのバージョンに分かれています。たとえば、線形結合ストラテジーには、linearとlinear_per_taskの2つのバージョンがあります。ホスト無認識ストラテジーには接尾辞"_per_task"が付きます。

"ホスト認識"ストラテジーでは、ホスト上で終わるすべてのタスクは、特定のストラテジーを共に遵守する必要があります。

"ホスト無認識"ストラテジーの場合、各タスクはそれぞれ独自のストラテジーを遵守する必要があります。これはあまり厳密ではなく、通常はホスト上でより多くのタスクを実行できます。

 

利用可能なすべてのコアバインディング戦略は次のとおりです:

linear:<amount>[:<socket>,<core>]
linear_per_task:<amount>
striding:<amount>:<n>[:<socket>,<core>]
striding_per_task:<amount>:<n>
explicit:[<socket>,<core>;...]<socket>,<core>
explicit_per_task:[<socket>,<core>;...]<socket>,<core>
balance_sockets:<amount>
pack_sockets:<amount>
one_socket_balance:<amount>
one_socket_per_task:<amount>

詳細と例については、man page submit(5)を参照してください。

4.1.2 Affinity Based Job Placement

Univa Grid Engine 8.6.0には、ホストまたはキューで実行されているジョブの消費されたリソースごとのアフィニティ(親和性)値を、各ホストまたはキューに割り当てることができるアフィニティジョブ配置ポリシーが追加されています。

アフィニティは、正または負であり得ます。正のアフィニティは他の保留中のジョブを引き付け、負のアフィニティは他の保留中のジョブを拒否します。アトラクション(引き付け)/リジェクション(拒否)は、重み付けパラメーターweight_host_affinityおよび/またはweight_queue_affinityを設定することによって有効になっている場合、ホストおよび/またはキューレベルで機能します。

このアフィニティ値に基づいてソートすると、次のいづれかが起こります。

・アフィニティ(ジョブがホストまたはキューのクラスタにパックされます)
・アンチアフィニティ(ジョブは、クラスタ内のホスト、またはホスト上のキューに分散されます)
・ベストフィット(正と負のアフィニティ値の混合が異なるリソースに対して定義されている場合)

 

管理ガイドのセクション3.7.1(Host/Queue Sorting)のアフィニティ値に従ったジョブの配置に関する情報を探してください。

4.1.3 Managing Access to Devices with RSMAPs

Univa Grid Engine 8.6.0では、RSMAP経由でホストデバイスへのアクセスを管理できます。RSMAP complexの各IDは、新しいパラメーター"device"を設定することで、ホスト上のデバイスを表すように設定することができます。各デバイスは、複数のRSMAP IDで表すことができます。以下の例では、RSMAP complex gpuは2つのIDで初期化され、各IDはNvidia GPUにマッピングされます:

complex_values gpu=2(gpu0[device=/dev/nvidia0] gpu1[device=/dev/nvidia1])

 

割り当てられたデバイスは、ジョブのqstat出力に表示されます:

 

granted devices host: /dev/nvidia0

 

デフォルト環境では、デバイスの設定と割り当てはスケジューリングには影響しませんが、cgroupsが利用可能な場合、cgroupsパラメーター"devices"をUniva Grid Engineが管理するデバイスのリストに設定できます。リスト内のすべてのデバイスに対する読み取り/書き込みアクセスはcgroupを介してブロックされ、ジョブはRSMAPを介して割り当てられたデバイスにのみアクセスできます。次の設定では、Univa Grid EngineはすべてのNvidia GPUへのアクセスを管理します(すなわち、/dev/nvidia0から/dev/nvidia255までのすべてのデバイス):

cgroups_params cgroup_path=/sys/fs/cgroups devices=/dev/nvidia[0-255]

4.1.4 Integration with Nvidia DCGM

Univa Grid Engine 8.6.0は、GPUリソースに関する詳細情報を提供するNVIDIAのデータセンターGPUマネージャー(DCGM)と統合されています。

特定のホスト上で通信するためにDCGMが使用するポートにexecdパラメーターUGE_DCGM_PORTを設定することにより、ホストレベルでDCGMのサポートを有効にすることができます。DCGMが動作している場合、Univa Grid Engineは、インストールされ、サポートされているGPUデバイスの負荷値をDCGMから自動的に取得します。使用可能な各デバイスについて、負荷値は<hostname>.cuda.<cuda_id>.<attribute>=<value>の形式で報告され、qconf -seで表示されます:

host.cuda.0.affinity=SCTTCTTCTTCTTcttcttcttcttSCTTCTTCTTCTTcttcttcttctt,
host.cuda.0.gpu_temp=36,
host.cuda.0.mem_free=16280.000000M,
host.cuda.0.mem_total=16280.000000M,
host.cuda.0.mem_used=0.000000M,
host.cuda.0.name=Tesla P100-PCIE-16GB,
host.cuda.0.power_usage=28.527000,
host.cuda.0.verstr=390.46,
host.cuda.1.affinity=ScttcttcttcttCTTCTTCTTCTTScttcttcttcttCTTCTTCTTCTT,
host.cuda.1.gpu_temp=40,
host.cuda.1.mem_free=16160.000000M,
host.cuda.1.mem_total=16160.000000M,
host.cuda.1.mem_used=0.000000M,
host.cuda.1.name=Tesla V100-PCIE-16GB,
host.cuda.1.power_usage=27.298000,
host.cuda.1.verstr=390.46,
host.cuda.devices=2

 

RSMAP complexを使用してGPUデバイスを管理する場合、各RSMAP idは新しいパラメーターcuda_idを持つCUDAデバイスにマッピングできます。報告された負荷値は、GPUデバイスのスケジューリング中にUGEによって使用されます:

complex_values gpu=2(gpu0[cuda_id=0] gpu1[cuda_id=1])

DCGMが有効になっている場合、Univa Grid Engine 8.6.0では特別な負荷値のアフィニティを要求することができます。ジョブがGPUとアフィニティを要求すると、割り当てられたGPUとの親和性の良いコアに自動的にバインドされます。これにより、CPUとGPU間のデータ転送が可能な限り高速に行われます。現在、アフィニティはハードリクエストとして扱われており、アフィニティがリクエストされ、Univa Grid EngineがGPUデバイスに必要なCPUコアをバインドできない場合、ジョブはスケジュールされません。より少ないコアが必要な場合は、-bindingスイッチと組み合わせることができます。

以下は、GPUデバイスを要求し、割り当てられたGPUに親和性の良いコアをバインドします:

 % qsub -l gpu=1[affinity=true] -b y sleep 1000

4.1.5 Performance Improvements

Univa Grid Engineのパフォーマンスとスケーラビリティは、以下の分野で改善されました。

  • Univa Grid Engineのデータストアと更新されたメモリアロケータの最適化によってすべてのコンポーネントに影響を与える一般的な改善(jemallocライブラリ)

  • さまざまなジョブプロファイルのためのスケジューラーの最適化、とりわけリソース予約あり/なしのパラレルジョブ用

  • 入出力データを処理するための追加のスレッドプールを導入することにより、通信ライブラリのスループットを向上。

  • 通信データを圧縮することで、ネットワークの負荷を軽減し、低速ネットワーク接続でのネットワークの飽和を回避できます。

  • 多くのqsub -sync、drmaaまたはdrmaa2クライアントをsge_qmasterで実行した場合の影響が軽減されました。

4.1.6 Reworked Dispatch Job Information

ディスパッチジョブ情報を提供するメカニズムが改訂され、多くの問題が修正されました。

qalter -w pは推奨されていません。代わりに、管理者はスケジューラー設定でschedd_job_infoをif_requestedに設定してスケジューラージョブ情報を有効にして、ユーザーが-rdiサブミットスイッチを介して個々のジョブのディスパッチジョブ情報を要求し、ディスパッチジョブ情報をqstat -j jidで表示できるようにする必要があります。

管理者は、ディスパッチジョブ情報のメモリ要件を削減する制限を定義する可能性がでてきます。

4.1.7 Data Compression at Communication Layer

Univa Grid Engine通信ライブラリは、データをネットワーク上で転送する前にデータ圧縮をサポートするように拡張されました。

大規模なUniva Grid Engineクラスタは、高いネットワークデータトラフィックを生成する可能性があります。ネットワークの負荷は、主にクラスターのサイズと平均ジョブ実行時間に依存します。ネットワークを介して送信されるデータ量を削減するため、Univa Grid Engine 8.6.0はデータ圧縮をサポートしています。

送信前にデータを圧縮する余計な面倒は、圧縮されていないデータにも使用されるcommlibワークスレッドプールを導入することによってなくなります。マルチコアアーキテクチャでは、圧縮されていないデータ転送はパフォーマンスが向上するはずです。

Univa Grid Engineで新しい圧縮モードを設定し、スレッドプール設定を構成するには、次のUniva Grid Engine設定エリアで指定されている新しい設定パラメーターが必要です:

変更と強化の要約:

  • インストール時に圧縮を設定することはできません。Univa Grid Engineのインストールまたはアップデート後に手動で有効にする必要があります

  • Univa Grid Engine 8.6.0はzlibをデータ圧縮に使用します - 追加の圧縮メソッドは、後続のUniva Grid Engineリリースでサポートされる予定です。

  • Univa Grid Engine 8.6.0のzlib圧縮は、以下のアーキテクチャでサポートされています。:darwin-x64、lx-amd64、lx-arm64、lx-arm7、lx-x86、sol-amd64、sol-sparc64、sol-x86

  • qpingバイナリは、圧縮設定を検証するために使用できます

  • 環境変数(bootstrap(5)のman pageを参照)を設定することによって、(qconf、qstat)などの単一のクライアントに対してのみ圧縮を有効にすることができます。

  • ブートストラップ構成の圧縮設定を変更するには、Univa Grid Engineデーモンを再起動する必要があります

  • 影響を受けるデーモンの実行時に、sge_qmasterおよびsge_execdでのcommlibワークプール設定の変更を行うことができます。

  • Univa Grid Engine 8.6.0 commlibの変更は、圧縮が有効になっていない場合、古いUniva Grid Engineのバージョンと比較して高いパフォーマンスを示します;ただし、これはsge_qmasterホスト上のCPUの可用性に依存します。

  • 圧縮をオンにすると、CPUのオーバーヘッドが発生しますが、ネットワークトラフィックは劇的に減少します。ネットワークの速度に応じて、個々の圧縮設定を調整する必要があります。(sge_diagnostics(5)のman pageを参照)

また、qpingは、データ圧縮およびcommlibワークプール設定のために強化されています。

  • qping -dumpは、新しいデータ圧縮の特定の列(圧縮および非圧縮のメッセージ長、圧縮率および方法)を示します。

  • qping -infoは、アクティブなcommlibワークスレッドと、要求されたデーモンの最小/最大設定を表示します

  • sge_conf(5) qmaster_paramsのPROF_COMMLIB_TIMEは、commlibがsge_qmasterメッセージログファイルで使用するアクティブなワークスレッドのnrも表示するようになりました。

  • qpingには、基本的な出力フィルタリング用の新しいコマンドラインスイッチ(-from、-toおよび-format)があります

これらの追加はすべてqping(1)のman pageで説明されています。

4.1.8 Using RSMAPs with Topology Masks and XOR Operator

トポロジーマスクとXOR演算子(^^)を持つRSMAPcomplex属性を組み合わせて、柔軟なPEタスクの配置と最高のアプリケーションパフォーマンスを実現できます。


complex属性gpuとhgpuの定義を次のように仮定します:
 

$ qconf -sc|egrep "#name|gpu"
#name shortcut type relop requestable consumable default urgency aapre
#------------------------------------------------------------------------------
 gpu  gpu    RSMAP <=   YES     YES     0    0    NO
 hgpu hgpu   RSMAP <=   YES     HOST    0    0    NO

complex_valuesのホストレベルのノードでの設定例:

2ソケット、ソケットあたり14コア、合計28コア

 

complex_values gpu=4(0:SCCCCCCCcccccccScccccccccccccc \
           1:ScccccccCCCCCCCScccccccccccccc \
           2:SccccccccccccccSCCCCCCCccccccc \
           3:SccccccccccccccScccccccCCCCCCC) \
        hgpu=4(0:SCCCCCCCcccccccScccccccccccccc \
           1:ScccccccCCCCCCCScccccccccccccc \
           2:SccccccccccccccSCCCCCCCccccccc \
           3:SccccccccccccccScccccccCCCCCCC)

 

mpi PEのallocation_ruleが28であると仮定します。最初の例では、各マシンに28スロットある、4つのマシンを1時間即座に予約します。ホストレベルのリソースは、2番目の例でのみ予約されています(ホストあたり4 hgpu、合計16):

% qrsub -pe mpi 112 -d 1:0:0
% qrsub -pe mpi 112 -l hgpu=4 -d 1:0:0

1つのホストで4つのPEタスクを持つジョブを送信し、4つのhgpuを要求します:

% qsub [-ar <id>] -pe mpi 4 -par 4 -l hgpu=4

ホスト上の4つのキュースロットだけが使用されますが、hgpuリソースのトポロジーマスクは、使用中の28個のコアをすべてマークします。クラスターが、すべてのジョブがバインディング要求と共にサブミットされるように構成されている場合、他のジョブはこのマシンにディスパッチされません。

4台のマシンでジョブをスケジュールし、各ホストに2つのGPUを取得します。

 

% qsub [-ar <id>] -pe mpi 4 -par 1 -l hgpu=2

各ホスト上の各PEタスクに対して同じGPUを取得するパラレルジョブは、次のようにサブミットされます。

% qsub [-ar <id>] -pe mpi 4 -par 1 -l 'hgpu=1(^^)'

これは以下のコマンドのショートカットです

% qsub [-ar <id>] -pe mpi 4 -par 1 -l 'hgpu=1(1^^2^^3^^4)'

 

ジョブが各ホストの同じソケット上の各タスクに対して、1つのGPUを持つ2つのPEタスクを取得する必要がある場合は、XOR演算子を使用できます:

% qsub [-ar <id>] -pe mpi 8 -par 2 -l 'hgpu=2([0-1]^^[2-3])'

4.2 Other

4.2.1 JSV Improvements

Univa Grid Engineパッケージには、JSV(Job Submission Verifiers)用のPython実装が含まれています。JSVとコアバインディング用の新しいサンプルスクリプトも追加されました。スクリプトとサンプルは "$SGE_ROOT/util/resources/jsv"にあります。

4.2.2 Reduce qhost Data Request Sizes at sge_qmaster
 

環境変数SGE_GDI_REQUEST_REDUCE_LEVELを設定することにより、sge_qmasterからqhostクライアントに転送されるデータ量を削減することができます。詳細な説明は、qhost(1)のman page(環境変数)を参照してください。
 

4.2.3 Upgrade Advance and Standing Reservations
 

Univa Grid Engineバージョン8.5.4以降からUniva Grid Engine 8.6.0にアップグレードする場合、qmasterおよびexecdのアップグレードが完了した後、

 # ./inst_sge -upd-ars

 

を呼び出すことによって、アドバンスリザベーションとスタンディングリザベーションをアップグレードすることができるようになりました。前提条件は、アップグレードが行われたホスト(通常はマスターホスト)がサブミットホストであり、AR(advance reservations)所有者とAR acl_list/xacl_listのユーザー名を解決できることです。

インストールガイドのアップグレードに関する章も参照してください。

 

4.2.4 per_pe_task_prolog and per_pe_task_epilog

qrsh -inheritによって開始される緊密に統合されたパラレルジョブの各スレーブタスクに対して開始される特別なプロローグとエピローグスクリプトを定義することが可能になりました。プロローグはスレーブタスクコマンドまたはスクリプトの前に開始され、エピローグはその後に開始されます。詳細はsge_pe(5)のman pageを参照してください。

4.2.5 The Master Task of a Parallel Docker Job in a Container

パラレルDockerジョブのマスタータスクをコンテナで開始できるようになりました。以前は、マスタータスクはコンテナ内ではなくホスト自体で開始され、すべてのスレーブタスクはコンテナで開始されていました。この新しい動作には、適切に設定されたネットワーク、コンテナネットワーク、およびDNSが必要です。詳細については、管理者ガイドを参照してください。

4.2.6 Run the Container as root, Allow to Run Prolog etc. as a Different User

execd_params START_CONTAINER_AS_ROOTを使用すると、すべてのDockerコンテナをrootとして起動することができ、prolog、pe_start、per_pe_task_prolog、per_pe_task_epilog、pe_stop、およびepilogスクリプトをジョブの所有者とは別のユーザーとして起動することができます。この変更は、"autostart Docker jobs"、つまり、コンテナのエントリーポイントとしてsge_container_shepherdを使用する代わりにDockerイメージで定義されたエントリーポイントを使用するために、ジョブスクリプトとして-b y NONEを指定するジョブには適用されません。

4.2.7 Automatically Map User ID and Group ID of a User Into the Container

START_CONTAINER_AS_ROOTパラメータが"true"に設定されている場合、Univa Grid Engineの管理者ユーザー、ジョブユーザー、すべての前後のスクリプトユーザーがコンテナ内で定義されている必要があります。これは通常そうではないため、AUTOMAP_CONTAINER_USERSパラメータを"TEMPORARY"に設定すると、Univa Grid EngineはこれらのユーザーのユーザーIDとグループIDをホストからコンテナに転送します。ただし、Univa Grid Engine自体でのみこのユーザーID情報を使用でき、Univa Grid Engineで起動されたジョブやスクリプトでは使用できません!

AUTOMAP_CONTAINER_USERSがPERSISTENTに設定されている場合、Univa Grid EngineはこれらのすべてのユーザーのDockerコンテナ内のエントリを"/ etc/passwd"ファイルに書き込みます。これにより、スクリプト内のユーザー情報を参照できますが、このユーザーに切り替えることはできません。

注意! AUTOMAP_CONTAINER_USERS=PERSISTENTが指定されている場合、ユーザーが"/etc/passwd"ファイルと"/etc/group"ファイルをコンテナにマップすると、ホストファイルが変更されます。

4.2.8 Create a container_pe_hostfile with all Container Hostnames

コンテナのホスト名がRSMAPから選択されているパラレルDockerジョブが開始された場合、execd_params CONTAINER_PE_HOSTFILE_COMPLEXがホスト名を定義するRSMAP complexの名前に設定されているならば、マスタータスクの実行デーモンは、すべてのコンテナホスト名を含むcontainer_pe_hostfileをpe_hostfile形式で書き込みます。

例:RSMAP "cont_hosts"が宣言されており、各実行ホストに次のような値を定義していて:

 

cont_host=4(host1_cont1 host1_cont2 host1_cont3 host1_cont4)

ジョブが以下のコマンドを使用してサブミットされ、

 

# qsub -pe mype 4 -l docker,docker_images="*image:latest*",cont_host=1 job_script.sh

スケジューラーが、マスタータスクをhost1、2つのスレーブタスクをhost2、そして1つのスレーブタスクをhost3にスケジューリングすることを決定した場合、"container_pe_hostfile"には次のものが含まれるかもしれません:

host1_cont3 1 <NULL> <NULL>
host2_cont1 1 <NULL> <NULL>
host2_cont4 1 <NULL> <NULL>
host3_cont2 1 <NULL> <NULL>

これにより、per_pe_task_prologでこの情報を読み取り、それに応じてコンテナの内部のコンテナのホスト名を設定することができます。

4.2.9 Docker Daemon Response Timeout

新しいexecd_params DOCKER_RESPONSE_TIMEOUTが導入されました。これはUniva Grid EngineがDockerデーモンに送信した要求に対する応答を待つ時間を定義します。

これは、完全な応答がタイムアウト内に受信されなければならないことを意味するものではありません;Univa Grid Engineが、特定の要求に応答してDockerデーモンから受信する各文字の後に、タイムアウトカウンターはリセットされます。

このパラメーターを指定しない場合は、デフォルト値の60秒が使用されます。最小タイムアウトは10秒、最大タイムアウトは86400秒です。DOCKER_RESPONSE_TIMEOUTがこの範囲内にない場合、デフォルト値が使用されます。

4.2.10 Cgroups and Containers

Univa Grid Engineによって生成されたcgroupは、Dockerコンテナで使用されるようになりました。特別な設定値はありません。Univa Grid Engineがcgroupを使用するように設定されている場合、これらのcgroupはDockerコンテナ内でも使用されます。

まだ理解されていないcgroupsとDockerの既知の問題があります:

一部のLinuxディストリビューションでは、一部のDockerバージョンではcgroupsパスに".slice"接尾辞を期待するため、Univa Grid EngineはcgroupのDockerジョブを開始できません - ジョブは失敗します。これは、CentOS7でDocker 1.12.6 build c4618fbで確認されましたが、同じホストでDocker 1.12.6 build 78d1802には見られませんでした。また、CentOS7とは異なるディストリビューションでは見られませんでした。

CentOS7用に提供されているDocker SELinuxパッケージに関連している可能性があり、Dockerバージョンとまったく同じでない場合、このエラーはより起こる可能性があります。

4.2.11 Specify Arguments to Autostart Docker Jobs

自動起動Dockerジョブ、つまりジョブスクリプトとしてキーワードNONEを使用してバイナリジョブとしてサブミットされたDockerジョブは、引数を受け入れるようになりました。これらの引数は、DockerイメージのENTRYPOINTで定義されたバイナリまたはスクリプトに提供され、ENTRYPOINTで定義された引数に追加されます。これは適切なDockerイメージでのみ機能します。

Dockerイメージが適切かどうかは、以下のコマンドを実行ホストで手動で開始することによってテストできます。

$ docker run -it image:latest arg1 arg2 arg3

ENTRYPOINTで定義されたスクリプトまたはバイナリがこれらの引数を取得する場合、Univa Grid Engineジョブでも動作するはずです。

4.2.12 New Client Command qralter

Univa Grid Engineに新しいqralterクライアントコマンドが追加され、既存のアドバンスリザベーションを変更できるようになりました、ユーザーガイド -> リザベーションを見てください。

4.2.13 Changes to the loadcheck Command

loadcheckは、オプションで、GPU名、使用可能メモリ、CPUアフィニティなど、ホスト上で利用可能なGPUに関する情報を出力するようになりました。

loadcheckは名前と値の列を出力し、Univa Grid Engine 8.6.0では名前列の幅が増えました。

Fixes and Enhancements

v8.6.1
GE-6950 A Docker job requesting duplicate mount points sets the host in error state
GE-7285 Make python-JSV work with version 2 and 3
GE-7290 qconf -sconf requires manager privileges
GE-7328 qstat -r is showing wrong values for requsted resources
UWSA-206 ugerest api is failing with TLS memory allocation error

v8.6.2
GE-7350 jobs are no longer started after having been modified via qalter by job name
GE-7354 do not use jemalloc on lx-arm64

v8.6.3

GE-5257 Customer would like back the -binding option for qlogin
GE-6053 for docker jobs need to create additional binds
GE-6207 qstat -j<multiple_job_ids> prints all reservation times of all jobs for every job
GE-6542 A more detailed 'Best-Fit' example should be added to the admin guide
GE-6813 removed unresolvable admin and submit hosts re-appear after qmaster restart with BDB spooling
GE-6848 qconf -sds should also show cluster queues that have no queue instances
GE-6890 for Docker jobs and execd spooling on root_squash too many files have write permissions for others
GE-7055 Support docker run --env option by qsub -xd for docker container job
GE-7089 support bulk changes for exec host and project objects
GE-7096 support for nvidia-docker 2.0
GE-7142 qstat -j shows env=NONE for jobs submitted with variable without value (-v var=)
GE-7335 execd crash due to expand_path ~ instead of ~/
GE-7345 lothread should wait for lodail to be ready before sending state changes
GE-7349 description of DISABLE_NAME_SERVICE_LOOKUP_CACHE in sge_conf is incorrect
GE-7351 sge_shepherd stays running if Docker job is deleted
GE-7365 RSMAP-request with XOR does not work when RSMAP is defined with a range
GE-7367 gdi_request_limits doesn't work as documented for qmod requests
GE-7370 support Docker up to version 18.06
GE-7373 formatting issues with some man pages makes option search impossible
GE-7382 cgroup subdir_name cannot always handle subdir-structures
GE-7390 qselect with RSMAPs returns no queues or strtok errors
GE-7395 SGE_HGR_TASK variable should also be exported for non PE jobs
GE-7400 (Re)opening BDB database might fail without corresponding logging in the message file
GE-7407 timer for job cleanup of tightly integrated job not setup on qmaster restart
GE-7408 timeout handler for cleanup of tightly integrated job must request global lock
GE-7409 no setup of queued signal handler for jobs at qmaster restart
GE-7410 no error message if qselect is used with -l without a value
GE-7412 qmaster is not accepting new RW requests
GE-7414 SGE_HGR_TASK_ variable is exported for jobs that request RSMAPs as soft request but don't get any
GE-7418 added more logging information for job report handling
GE-7423 reaching reschedule limit for job crashes qmaster
GE-7427 inst_sge -upd-ars fails on Ubuntu Linux
GE-7429 qmaster crash in commlib

v8.6.4

GE-4340 enable -V switch for qrsh (without command) and qlogin command
GE-5805 Provide limit to 'exit 99' re-scheduling attempts
GE-6235 Provide a way to change execd startup behaviour -> infinite connection retries
GE-6451 sge_do_log() function doesn't try to write a panic file if logging to the messages file is not possible
GE-6473 sge_share_mon issues
GE-6512 implement a way to suppress the user switch inside docker images for docker jobs
GE-6650 Make GPU affinity manually configurable
GE-7036 more info on qmaster message log when -tcon yes for non array job
GE-7088 add a CLIENT_COMMAND parameter to JSV
GE-7209 named pipe execd-shepherd file descriptor leak
GE-7271 support to set "loglevel" in local cluster configuration
GE-7310 ensure UGE compatibility with DCGM versions up to 1.4.6
GE-7337 -xd --shm-size doesn't work correctly
GE-7359 More information in qmaster message log when job request invalid host
GE-7388 "commlib returns can't find connection" errors for "qsub -sync" jobs
GE-7438 frequent logging of "deletion of one or more tasks skipped for job..." in qmaster messages file
GE-7440 add support for -umask switch to qrsh
GE-7442 jobs get RSMAP id assigned if -l rsmap=0 is requested
GE-7446 cgroups: Some slave-tasks might not get started in cgroup on a host
GE-7447 rpm package ugerest openjdk dependency fails
GE-7450 qmon does not show qinstances anymore
GE-7454 Allow a job to identify how often the job was executed in the past
GE-7455 rescheduling: rerun_limit does not work with "exit 99"
GE-7457 add execd_param to disable docker image check in sge_execd
GE-7458 Docker jobs are not rescheduled on exit 99
GE-7462 qconf -Ae <directory> failed with internal error messages
GE-7468 RQS report value double than what actual usage
GE-7478 generation of debug information when modifying host groups might impact performance
GE-7481 Combine processor reports and exec host load reports
GE-7485 optimize performance of modification of host groups (qconf -Mhgrp)
GE-7486 optimize performance of exec host deletion
GE-7497 improve scheduling time for clusters having slots defined on exec host level
GE-7509 queue initial_state=disabled should not disable queue after qmaster restart/migration
UWSA-208 ugerest configuration is partially destroyed when running distinst
UWSA-210 libjgdi.so reports undefined symbol: rsmap_request_to_string
UWSA-211 load_values do not show up in uge rest api call exechosts/global

v8.6.5prealpha_devbuild_1

GE-4575 deleting array tasks can block qmaster for a significant time
GE-4638 showq does not take d_rt into account
GE-4823 Missing header in sge_conf(5) for cgroups killing parameter
GE-5730 support UGE on IBM Power 9 architecture on Linux (lx-ppc64le)
GE-5912 comma-separated userset-lists are not accepted
GE-6584 mem_free should be allowed to increase even for running jobs
GE-6700 low m_mem_free load values prevent job dispatching
GE-6749 "qstat -s r" is broken for array jobs with suspended tasks
GE-6750 "qdel -s r" is broken for array jobs with suspended tasks
GE-6801 accounting man page field description is wrong for "wallclock"
GE-6805 incorrect booking of consumables results in scheduling errors and massive error logging
GE-6830 enable RSMAP placeholders to be resolved for -masterl requests, too.
GE-6832 Add more information from man page to userguide/admin guide
GE-6863 job with -pty yes failed if output was directed to folder with permission 754
GE-6958 execd should also cleanup dockers cgroups dir inside cgroups uge jobs dir if not done by docker
GE-6978 UGE/cgroup leaves orphan processes after qdel if the job is submitted within an tightly integrated openmpi
GE-6990 DRMAA2 Python binding to support customer workflow
GE-7244 ensure that all generated man page (not only NROFF) are part of the packages

GE-7268 projects & xprojects fields in execution host configuration, not allowing comma separated values
GE-7332 pending job with "-tcon y" and "-t" prevents other jobs from running
GE-7337 "-xd --shm-size" doesn't work correctly
GE-7343 add a commlib parameter not to do hostname resolving but parse the ip address out of the hostname
GE-7383 put all queue instances on host in error state on Cgroups related errors
GE-7391 PE slave tasks should be handled in own cgroups
GE-7434 Use OOM Notification API in UGE Cgroups implementation to notify when jobs exceed memory
GE-7443 'sgeexecd stop' fails if corresponding host is no admin host
GE-7469 Unable to edit queue slots configuration using qconf -dattr
GE-7475 enhance monitoring information of reader thread that does event processing
GE-7476 sge_get_config_version_for_host() does hostname resolving which can be avoided
GE-7482 handle permission check GDI requests in listener thread.
GE-7483 add a possibility to give manager requests higher priority
GE-7487 use sge_mutex_lock instead of pthread_mutex_lock in all modules used by sge_qmaster
GE-7489 improve performance for qmod -rq
GE-7490 new added execution hosts not handling reschedule_unknown setting
GE-7492 bad dispatching rate with many big array jobs in a huge cluster
GE-7495 rescheduling of sequential jobs unnecessarily creates timer events
GE-7496 enable cgroups based killing for PE tasks
GE-7499 shepherd should not be part of the memory Cgroup
GE-7502 add scheduler param to supress sending of running job tickets
GE-7503 improve general rescheduling performance
GE-7504 improve reschedule_unkown triggered rescheduling behavior on massive execution host lost
GE-7505 add additional worker pool that allows to handle priority requests
GE-7506 improve performance of adding large number of execution hosts
GE-7511 newline in jsv_add_env function let qsub crash
GE-7513 unexpected logging: invalid task number 0 for job ... in "ORT_ptickets" order
GE-7519 execd might not always send a load report within configured load_report_time
GE-7520 unexpected connection renewal of execution daemons
GE-7528 qconf -si sid is ignored if not used as first switch
GE-7540 jobs do not get the correct binding if affinity is requested and the affinity mask is overwritten with a topology mask
GE-7546 job cleanup problem for PE jobs at execution daemon
GE-7550 do not report m_mem_free_nX/m_mem_used_nX as load values
GE-7556 implement deadlock detection for sge_qmaster daemon
GE-7574 concurrent array jobs (-tcon yes) get partially started when the number of running tasks exceeds maxujobs
GE-7586 qmaster becomes unresponsive and needs 100% CPU after qralter
GE-7592 ensure UGE compatibility with DCGM versions up to 1.5.6
GE-7594 resources held by a standing reservations are not properly freed when the standing reservation is modified or is deleted after sge_qmaster restart
GE-7595 standing reservation id restarts at 0 after modifying resource requests with qralter
GE-7597 resources held by a standing reservations are not properly freed when the complex_values of the queue are modified
GE-7654 massive logging of "GDI session <string>: created=<nr>, processed=<nr>, required=<nr>"

v8.6.5prealpha_devbuild_2

GE-3942 qmon man page refers to schedd_conf(5)
GE-3946 Explain priority normalization and fix issues with sge_priority man page
GE-4020 getservbyname segfaults when called with wrong amount of arguments
GE-4381 Enhance error message logging for flat file spooling
GE-4402 SGE_DRMAA_ENABLE_ERROR_STATE variable is not documented in wiki pages
GE-4469 Need clear description how to handle certificates within UGE CSP installations
GE-5125 Add addition information in man page for qsub
GE-5305 jsv does not recognize -now switch
GE-5346 qdel <jobid> -t <taskid> deletes complete job
GE-6751 qalter -clearp and -clears doesn't delete "hold_jid" attributes
GE-7517 queue is set in error state if Docker daemon is overloaded
GE-7553 SR in error state because past SR instance is in "E" state
GE-7572 Docker background process doesn't allow to exit the interactive job
GE-7580 cgroup directory of docker job remains although job finished
GE-7581 PE job with consumable HOST request doesn't get correct resources if max_reservation is greater than 0
GE-7587 Fix spelling errors in AdminGuide
GE-7596 docker -xd command can't export multiple values
GE-7598 Docker jobs set queue instance in error because permission to write pe_hostfile is denied
GE-7626 consumable records in the reporting file end with a delimiter (comma)
GE-7645 job killed by cgroups limit results in zero values for "ru_*" usage fields
GE-7646 job killed by cgroup OOM notification is pending in "E" state
GE-7656 need parameter to enable qmaster abort() when a deadlock was detected
GE-7657 improve deadlock detection reliability UWSA-230 Restarting Qmaster Breaks Synchronization With UGEREST

v8.6.5prealpha_devbuild_3

GE-4378 Respect better parsing for admin user in bootstrap file
GE-5513 "The filename or extension is too long" error when creating job process on native Windows (win-x86)
GE-5801 Windows (win-x86) qloadsensor.exe doesn't recognize if execd is killed or crashed
GE-5826 port RESTRING matching to native Windows (win-x86)
GE-6019 Improve error logging of native Windows (win-x86) RedirectStdHandles() function
GE-6222 UGE Starter Service of native Windows (win-x86) fails to start second execd if the first cannot be started
GE-6223 add check to native Windows (win-x86) installer if an execd is already installed to the same $SGE_CELL or uses the same port
GE-6226 the native Windows (win-x86) execution daemon doesn't report m_cores, m_sockets and m_threads
GE-6809 Could not edit non reserved complex when advance reservation with pe is running
GE-6896 qconf -me parser allows to define a RSMAP twice which cause sequential errors
GE-7059 qsub job verification "-w e" is executed before server side JSV run
GE-7323 sgepasswd tool enhancement or change of behaviour
GE-7623 wrong debiting of consumables with consumable type HOST
GE-7624 support Docker up to version 18.09
GE-7641 newlines in qmaster messages file after hold modifications breaks file format
GE-7697 it is possible to remove a host exclusive consumable from a host which is referenced in an AR
GE-7698 rqs: wildcard projects with at least two different limits crashed qmaster
GE-7704 make sure libxml2.dll exists on native Windows (win-x86) exec host
GE-7705 port work binary to native Windows (win-x86)
UWSA-223 ugerest should not truncate /tmp/UGERestService0.0.log at startup

v8.6.5alpha1

GE-3938 Man page sge_priority needs prio/pprio clarity
GE-4391 add more information about the importance of the gid range to the install guide
GE-4454 The sge_priority man page has a typo regarding prior calculation
GE-5299 A way to remove hold_jid switch
GE-6457 log full communication between shepherd and Docker daemon to the shepherd trace file
GE-6802 job are handled as still running, even if all processes are already stopped
GE-7028 Completed job remains in dr state and is not cleaned up at execd
GE-7243 man page qsub -P description incorrect

GE-7253 errors with consumable capacity management after "qalter -when now" or after reduction of capacity
GE-7336 typos in AdminsGuideGE, chapter 3.9.5, Tuning the sge_shadowd
GE-7404 cgroups based devices blocking mechanism does not block all devices
GE-7606 ./inst_sge -copycerts <hostlist> command line parsing not correct
GE-7631 Docker -xd doesn't work for --sysctl option
GE-7664 qloadsensor exe reports wrong core counts
GE-7674 placeholder '$' character can't work with double quote("") unlike manual described
GE-7693 re-schedule standing reservations without allocation or being in error state
GE-7702 even if it is already installed, native Windows (win-x86) installer always asks for SGE admin user password to install UGE_Starter_Service.exe
GE-7710 handle leak in UGE Job Starter Service causes start failures of some jobs
GE-7720 active SR stays in "E" state after qmaster restart even after all execds reconnect
GE-7724 not all markdown man pages are part of the packages
GE-7737 qalter -when now might break EXCLusive consumable functionality
GE-7750 synchronize execd signaler thread with execd main thread
UWSA-157 Job State can be stale until full job refresh
UWSA-176 clusterqueuesummary contains null entry when hostlist is NONE in queue
UWSA-216 Cannot view tasks in Rerun Queue (Rq) State
UWSA-222 ugerest connection and shutdown issues
UWSA-224 ugerest does not log its version information at startup

 

v8.6.5alpha2

GE-6648 Make GPU/CPU affinity a possible hard and soft request
GE-6652 Implement DCGM callbacks in case of GPU failures
GE-7362 Document RSMAPs in man-pages and Usersguide, including their request-syntax
GE-7673 RQS computes double usage for RSMAPs of type HOST for PE jobs
GE-7748 formatting issue makes subordinate example impossible to read
GE-7762 ensure UGE compatibility with DCGM versions up to 1.6.3

v8.6.5

No additional fixes compared to 8.6.5alpha2

v8.6.6

GE-7767 wrong accounting exit_status=52 if failed=52 due to cgroups killing API support
GE-7778 start interactive jobs in a way that exported $PATH gets not overwritten
GE-7783 remote automatic execd uninstallation starts itself infinitely on remote hosts
GE-7790 drmaa2 python crash qmaster
GE-7791 $PATH set twice in environment prohibits qrsh jobs with (t)csh as login shell to find commands
GE-7793 pattern matching for hostnames in qsub is broken

v8.6.7 alpha1

GE-3271 use syslog during the time where components would normally log into log files located in /tmp
GE-3687 documentation for resource reservation needs to be more detailed
GE-4531 Explain in man qsub "-R" what the option does
GE-5301 mention in documentation that client side JSV is not supported on native Windows (win-x86)
GE-6160 qrstat should show ARs where user has access
GE-6179 add a means to switch on and off debug logging (DPRINTF) of sge_execd during runtime
GE-6525 document exit status (of intermediate accounting records) and failed field in reporting(5) and accounting(5)
GE-6740 the configuration parser cannot handle white spaces before and after configuration values
GE-6809 Could not edit non reserved complex when advance reservation with pe is running
GE-6962 Put all remaining array job tasks into hold state instead of queue into E state
GE-7046 qstat -xml has xml syntax issue with qrsh in some specific case
GE-7421 prevent win-x86 job processes from running away by working around the Windows Job Object race condition
GE-7484 RSMAP on global host breaks all RSMAPs
GE-7619 qhost, qstat,... -xml show wrong path to schemaLocation file
GE-7640 queue instance stays in orphaned state forever after non-admin user forced job deletion
GE-7649 collect information about CPU/GPU licensing
GE-7655 "qconf -sep" -cb not ready for counts >= 100k
GE-7661 Query GPU count on every execd
GE-7662 Report GPU count on execd to qmaster
GE-7741 Add host_provider=<string> exed_param that allows Launch to tag cloud based execution nodes
GE-7759 drmaa2 error: smallest event number n is greater than number 1 i am waiting for
GE-7769 provide transactional trigger to update host_aliases file
GE-7770 ensure RHEL 8 support for UGE
GE-7801 update info about cuda loadsensor in UGE documentation
GE-7814 Scan pci bus for Nvidia 3D controller if CUDA is not available.

GE-7815 Change UGE pdf documents to standard Univa font and some typos found during review.
GE-7820 add information about multiplier/shortcut to RSMAP man pages and documentation
GE-7828 remove usermappings.5 man page from distribution
GE-7831 remove qtcsh.1 and qtask.5 man page from distribution
GE-7832 UGE installation fails when service names are used for qmaster and execd ports
GE-7833 builtin CUDA topology detection creates wrong affinity masks
GE-7840 document syntax of RSMAP XOR in sge_resource_map(5) and sge_types(1)
GE-7848 qconf accepts invalid values for boolean parameters
GE-7853 allow native Windows (win-x86) work.exe binary to fork itself
GE-7859 Docker interactive job creates infinite shepherd logging and huge trace file
GE-7860 ALLOW_ANY_SUBMITHOSTS=TRUE as qmaster_param should allow submission from any host independent of of the defined submit hosts
GE-7865 drmaa v1 example code showing wrong include path
GE-7868 sge_qmaster crashes when qalter -w p is used with a list of job_ids
UWSA-231 UGERest does not show job stat of PE job which run in multiple nodes
UWSA-233 UGERest seems to crash regularly in a Navops Launch demo installation

v8.6.7

GE-5839 Provide a method for REGEX matching on strings longer than 2048 characters
GE-6740 The configuration parser cannot handle white spaces before and after configuration values
GE-7862 callback function for event "EVENT ADD LICENSE USAGE RECORD" failed
GE-7874 m_mem_free memory limit might not work if hostname resolving differs on execd hosts
GE-7878 dbwriter installation fails on PostgreSQL 10.9
GE-7648 provide job "failed" reason in DRMAAv1 and DMRAAv2
GE-7837 Job Category causes scheduler to ignore scheduling an eligible job

 

 

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