GLM はエンタープライズ・サーバ・リージョンの特別なインスタンスで、その単独の役割はグローバル・ロック要求の処理です。すべてのロックはメモリ常駐なので、通常 GLM マシンには大容量のメモリが必要です。
エンタープライズ・サーバ・クラスタでは、GLM を含むすべてのクラスタ・メンバが CATALOG.DAT および Dataset Allocation Default Location (DADL) を共有する必要があります。この構成は GLM の役割、すなわちファイル破損を防止することを定義しており、GLM はすべてのグローバル・スコープ・ロックのロック・マネージャとして機能します。
クラスタのメンバでないエンタープライズ・サーバ・インスタンスでは、ロック・マネージャはこの単一リージョン内のバッチ・イニシエータ全体でロックを処理します。クラスタのメンバであるエンタープライズ・サーバ・インスタンスでは、同じロック・マネージャのコピーが GLM 上で実行し、クラスタの全メンバのバッチ・イニシエータ全体でロックを管理します。
ロック・マネージャの主要な責務は、ジョブが排他的ロックによってファイルにアクセスするとき、ブロック・ジョブがそのロックを解放するまでは他のジョブがそれらのファイルにアクセスできないようにすることです。
下記の console.log からの抜粋では、JOB01694 は GLM によって待機状態に置かれており、同時に GLM はデータセット SYSI.MAIN01.GENE001 および SYSI.MAIN01.SPEC001 の使用を要求しています。
JCLCM0188I JOB01694 JRX0035 JOB STARTED 10:29:51 MVSXR0091I JOB01694 JRX0035 Waiting for shared use of dataset "SYSI.MAIN01.GENE001". 10:29:51 MVSXR0091I JOB01694 JRX0035 Waiting for shared use of dataset "SYSI.MAIN01.SPEC001". 10:29:51 MVSXR0093I JOB01694 JRX0035 Required datasets have been acquired. Execution resumed. 10:29:55
10:29:55 に、要求されたロックが取得されるとジョブが再開します。
ロック・サーバ (ローカル) またはサーバ (グローバル) の範囲は、リソース名リスト (RNL) を使用して定義されます。