5 割り振り

SMC のプライマリ機能は、割り振り中にオペレーティングシステムのテープドライブの選択に影響を及ぼすことです。これにより、利用可能なデバイスが StorageTek TapePlex および仮想環境で確実に選択されます。さらに、SMC は、特定のボリューム位置、スクラッチロードバランシング、およびユーザーポリシーに基づいて、利用可能なデバイスの優先リストを作成します。割り振りに影響を与えるメカニズムは、JES2 (または SETUP なしの JES3) とテープ設定有りの JES3 とで異なりますが、利用可能な優先デバイスを選択するロジックはどのシステムでも同じです。

通常、SMC による割り振りは、ジョブの JCL から作成された元のリストにデバイスを追加できません。利用できないデバイスを除外し、残りの利用可能なデバイスに優先順位を付けることができるだけです。しかし、SMC IDAX インタフェース (IDAX での SMC エソテリック置換を参照) または SMC DFSMS インタフェース (「SMC DFSMS 処理」を参照) を使用することで、JCL 内にある元のエソテリックを、別のデバイスやデバイスタイプを持つほかのエソテリックに置き換えることができます。

SMC は、一連の条件 (「除外レベル」と呼ぶ) を最初のデバイスセットに適用し、その条件を満たさないドライブを除外することによって、各テープ割り振りで利用可能なドライブのリストを確定します。この処理をドライブ除外と呼びます。

SMC が特定の除外条件を適用しようとした結果、残りすべての適格ドライブが除外された場合は、メッセージ SMC0045SMC0046 が表示され、特定の除外条件を適用できなかったことが示されます。ただし、除外処理は続行され、可能な場合、次の条件が適用されます。

SMC による割り振りは、利用可能なリストにあるいずれかのドライブへのマウントが失敗しそうなときは、割り振り時のジョブを意図的に失敗させる場合があります。たとえば、メディア形式が STK1R のボリュームは物理的に 9490 ドライブにマウントできず、ラベルなしのテープを仮想テープにすることはできません。

さらに、望まないスクラッチメディアを使用したり、特定のボリュームを別の ACS に移すことを要求したりするよりは、割り振り時のジョブを失敗させたいという顧客もいます。SMC ALLOCDEF (または ALLOCJOB) MINLVL パラメータを使用すると、割り振り時のジョブを失敗させたり、逆に、割り振り時のジョブを失敗させる SMC のデフォルトの動作をオーバーライドすることができます。

  • MINLVL=0 の設定は、SMC が割り当てでジョブを失敗させることがないように指定します。

  • デフォルトの MINLVL, 2, は、互換性のないメディアまたは仮想ラベルタイプに対してのみ、割り振り時のジョブを失敗させることを示します。

顧客は、必要に応じて MINLVL を高い値に設定する可能性があります。特定のボリュームやスクラッチボリュームでの SMC の除外レベルについては、ドライブ除外を参照してください。

すべての除外条件が適用されると、残りのドライブは、ポリシー、ボリューム位置またはスクラッチカウント、および最終マウント時間に基づいて、適正度の順に並べ替えられます。この処理をドライブ優先度と呼びます。このプロセス中、SMC はまた、ポリシーでマウントを遅延させように指定されていないかぎり、マウントを OPEN まで遅延させるようにすることを示す MVS 制御ブロック内のフラグも設定します。

注:

割り振り要求に対して適格なドライブが選択されていると、SMC による割り振りはドライブのステータス (オフライン、ビジーなど) を考慮しません。SMC によって選択されたドライブがすべて利用できない場合、ジョブは割り振り回復に進みます。

ドライブ除外

ドライブ除外処理は、次の手順で行われます。

  1. SMC は、各ジョブステップ (または動的割り当て) でテープ DD ごとの適格デバイスの初期のリストを検査し、DFSMS ACS ルーチン、SMC POLicy コマンドと TAPEREQ 制御文の組み合わせ、およびユーザー出口を含むさまざまなソースからポリシー情報を収集します。

  2. SMC は、ポリシー情報を使用して、各テープ割り振りのための「所有している TapePlex」を選択します。POLICY で TapePlex 名が指定されているか、または 1 つの TapePlex によって制御されるデバイスを含むエソテリックが指定されている場合は、その TapePlex が割り当てのための所有者として選択されます。

    複数の TapePlex がアプリケーションの所有者としての資格を持っている場合は、正常なステータスを返す最初の TapePlex が所有者として選択されます。特定のボリューム要求の場合、正常な応答は、そのボリュームがライブラリ内に存在するか、または仮想ボリュームとして定義されていることを示します。スクラッチ要求の場合、正常な応答は、要求されたメディアやスクラッチサブプールに使用可能なスクラッチボリュームがその TapePlex に存在することを示します。

  3. SMC は、1 つまたは複数の TapePlex と通信し、利用可能なスクラッチボリュームに加えて特定のボリュームの特性と位置に関する情報を収集することによって、「ボリューム検索」を実行します。SMC が TapePlex からこれらの情報を取得できない場合は、割り当てでジョブが失敗することを許可するか、または使用可能なポリシーのみに基づいて処理を続行させるかを制御するために ALLOCDef FAILnoinfo パラメータを使用できます。

  4. SMC は、順序が示されたレベルのセットを使用して、ボリューム検索で取得した情報とポリシーを適用します。1 番目 (番号が最小) のレベルが最初に適用され、重要度がもっとも低いレベルはあとで適用されます。たとえば、レベル 2 はより重要とみなされ、レベル 3 の前に適用されます。

特定の除外の適用によってすべてのドライブが除外されると、SMC はその条件を無視し、次の除外レベルを続行します。

注:

  • SMC ポリシーの指定については、第4章 ポリシーを参照してください。

  • ユーザー出口の詳細については、『ELS Legacy Interfaces Reference』を参照してください。

ドライブ除外 - 特定ボリューム

特定ボリュームの割り振りでは、次の表の条件に基づき、最小除外レベルから最大除外レベルの順にドライブが除外されます。レベル番号が小さいほど、除外条件は重要とみなされます。

各除外レベルに関連付けられたキーワードは、メッセージ SMC0043 および SMC0046 に表示される除外条件で指定されます。

表5-1 ドライブ除外レベル (特定要求)

レベル
特定ボリューム条件
キーワード

MultipleTapePlexPre-Req 1

要求された TapePlex 内にないドライブを除外

第 1 ソース: POLicy TAPEPlex パラメータ

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) の TAPEPLEX

なし

MultipleTapePlexPre-Req 2

エソテリックが 1 つの TAPEPLEX にのみデバイスを含むときの ESOTERIC に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTeric パラメータ

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) の ESOTERIC

なし

MultipleTapePlexPre-Req 3

失敗したボリューム検索に基づき、ドライブを除外。

ボリューム検索が成功した最初の TapePlex 内のドライブのみが適格とみなされます。

ボリューム検索が成功した TapePlex がない場合は、最初の定義済み TapePlex が使用されます。

なし

1

ラベルなし (NL) 特定ボリューム要求の場合、すべての仮想ドライブを除外。すべての MODEL=IGNORE ドライブを除外。ボリュームメディアとの互換性がないドライブを除外。

第 1 ソース: 外部ボリュームラベル

第 2 ソース: VOLATTR MEDIA パラメータ

ボリュームメディアは、ボリュームラベルまたは HSC VOLATTR 文の MEDIA パラメータから取得できます。

VIRTUALLABEL

MEDRECTECH

2

仮想ボリュームにかぎり、アクセス不可の VTSS 内の仮想ドライブまたはマイグレーションされた仮想ボリュームがリコールできない VTSS 内の仮想ドライブを除外。これは、デフォルトの最小レベルです。

AVAILVTSS

3

必要な記録方式に基づき、ドライブを除外。

ソース: VOLATTR RECTECH パラメータまたはボリューム記録密度 (9840A/B および 9840C)。

VOLATTRRECTECH

4

ユーザー位置ポリシーに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTERIC パラメータ。

第 2 ソース: 特定ボリュームのユーザー出口 (08/13) またはアフィニティー分離出口 (10/12) の戻りコード。

USERPOLICY

5

SMC ALLOCDEF EXTVOLESOT エソテリックに基づき、ドライブを除外。

EXTVOLESOT

6

ボリューム位置 (ライブラリ内またはライブラリ外) に基づき、ドライブを除外。

LOCTYPE

7

(ボリュームがライブラリ内にある場合は) ボリュームの ACS 位置に基づきドライブを除外、仮想ボリュームの場合は常駐 VTSS を除外。

ACSORVTSS

8

要求された記録方式に基づき、ドライブを除外。

第 1 ソース: DFSMS データクラス記録方式。

第 2 ソース: POLicy または TAPEREQ RECTECH パラメータ。

POLRECTECH


次の例は、SMC が特定ボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=ABC.DEF,DISP=OLD

ポリシーの指定:

POLICY NAME(POL1) VOLTYPE(SPECIFIC) ESOTERIC(A19840B,A19840A)
RECTECH(STK1RB)

TAPEREQ DSN(ABC.*) POLICY(POL1)

ボリューム検索による情報:

  • 特定のボリューム VOL123

  • SMC ボリューム検索は、VOL123 が TapePlex HSCLIB ACS 0 内で STK1R 単一密度のメディアタイプを持っていることを示します。

割り振り除外処理:

  1. 除外レベル 1 に始まり、9840 以外のすべてのデバイス (ボリュームメディアとの互換性なし) が除外されます。

  2. レベル 2 は影響を与えません。

  3. ボリュームを単一の密度ドライブに限定する HSC VOLATTR がないため、レベル 3 のデバイスはどれも除外されません。

  4. SMC は、エソテリック A19840B または A19840A にないすべてのドライブを除外します。

  5. ボリュームが TapePlex にあるため、レベル 5 のデバイスはどれも除外されません。

  6. ライブラリ外のドライブが残っている場合は、すべて除外されます。

  7. SMC は ACS 0 にないドライブをすべて除外しようとします。ただし、この時点での残りのデバイスには (エソテリック A19840B および A19840A に基づいて) ACS1 内の 9840 ドライブのみが含まれているため、この除外のあと EDL に残っているドライブは存在しません。

    SMC は次に、レベル 7 除外の前の状態の EDL に「バックアップ」し、競合条件として ACSORVTSS を指定するメッセージ SMC0045 または SMC0046 を発行します。

    除外レベル 4 に基づき、エソテリック A19840B および A19840A のドライブのみが適格とみなされます。

  8. レベル 8 は影響を与えません。

割り振り優先処理:

ドライブ優先度処理中、SMC はエソテリック A19840B 内のドライブにより高い優先値を、A19840A 内のドライブにより低い優先値を割り当てます。

ドライブ除外 - スクラッチボリューム

スクラッチボリュームの割り振りでは、表5-2 の条件に基づき、最小除外レベルから最大除外レベルの順にドライブが除外されます。レベル番号が小さいほど、除外条件は重要とみなされます。

各除外レベルに関連付けられたキーワードは、メッセージ SMC0043 および SMC0046 に表示される除外条件で指定されます。

表5-2 ドライブ除外レベル (スクラッチ要求)

レベル
特定ボリューム条件
キーワード

MultipleTapePlexPre-Req 1

要求された TapePlex 内にないドライブを除外

第 1 ソース: POLicy

第 2 ソース: ユーザー出口 (02/04) からの TAPEPLEX 名

なし

MultipleTapePlexPre-Req 2

エソテリックが 1 つの TAPEPLEX にのみデバイスを含むときの ESOTERIC に基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTeric パラメータ

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) の ESOTERIC

なし

MultipleTapePlexPre-Req 3

メディアタイプおよびサブプールに基づいた失敗したスクラッチ検索に基づき、ドライブを除外。

スクラッチ検索が成功した最初の TapePlex 内のドライブのみが適格とみなされます。

第 1 ソース: DFSMS データクラスメディアの指定。

第 2 ソース: POLicy または TAPEREQ MEDIA および SUBPOOL パラメータ。

第 3 ソース: スクラッチボリュームのユーザー出口 (02/04) のサブプール

スクラッチ検索が成功した TapePlex がない場合は、最初の定義済み TapePlex が使用されます。

なし

1

ラベルなし (NL) スクラッチボリューム要求の場合、すべての仮想ドライブを除外。すべての MODEL=IGNORE ドライブを除外。

VIRTUALLABEL

2

仮想ボリュームにかぎり、アクセス不可の VTSS 内の仮想ドライブ、または要求された VTCS 管理クラスをサポートしない VTSS 内のすべてのドライブを除外。

AVAILVTSS

3

要求されたメディアに基づき、ドライブを除外。

第 1 ソース: DFSMS データクラスメディアの指定。

第 2 ソース: POLicy または TAPEREQ MEDIA パラメータ。

第 3 ソース: スクラッチボリュームのユーザー出口 (02/04) の仮想メディアの戻りコードまたは仮想エソテリック。

POLMEDIA

4

ユーザー位置ポリシーに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ ESOTERIC パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) またはアフィニティー分離出口 (10/12) の戻りコード。

USERPOLICY

5

サブプール内の利用可能なスクラッチボリュームのメディアに基づき、ドライブを除外。

第 1 ソース: POLicy または TAPEREQ SUBPOOL パラメータ。

第 2 ソース: スクラッチボリュームのユーザー出口 (02/04) のサブプール名またはサブプール番号。

第 3 ソース: スクラッチサブプール 0 (デフォルトのサブプール)。指定サブプール内のものなど、実際または仮想のスクラッチテープをすべて含む。

SUBPOOL

6

利用可能なライブラリまたは仮想のスクラッチボリュームの位置に基づき、ライブラリ、ライブラリ外、または仮想のドライブを除外。

LOCTYPE

7

SMC ALLOCDef コマンドの ZEROSCR パラメータに基づき、ドライブを除外。

ZEROSCRATCH

8

要求された記録方式に基づき、ドライブを除外。

第 1 ソース: DFSMS データクラス記録方式。

第 2 ソース: POLicy または TAPEREQ RECTECH パラメータ

POLRECTECH


例 - 実際のスクラッチボリューム

次の例は、SMC がスクラッチボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=DEF.GHI,DISP=NEW

ポリシーの指定:

POLICY NAME(POL2) VOLTYPE(SCRATCH) SUBPOOL(SP1) MEDIA(ECART) MODEL(9490)

TAPEREQ DSN(DEF.*) POLICY(POL2)

SMC ALLOCDEF ZEROSCR(ON)

スクラッチのユーザー出口の戻り値は、SUBPOOL(SP2) および ESOTERIC(XYZ) を使用します。

ボリューム検索による情報:

SMC ボリューム検索は、TapePlex HSCLIB にサブプール SP1 内のスクラッチボリュームが含まれていることを報告します。

割り振り除外処理:

  1. 除外レベル 1 から始めて、SMC は、MODEL=IGNORE を指定する SMC UNITATTR コマンドを持つドライブを除外します。

  2. レベル 2 は影響を与えません。

  3. SMC は、メディア ECART をサポートしないすべてのデバイスを除外します。

  4. POLicy が指定されているため、ユーザー出口エソテリック XYZ は無視され、レベル 4 は影響を与えません。これを示すために、メッセージ SMC0197 が発行されます。

  5. サブプール SP1 内のスクラッチボリュームと互換性のないドライブはすべて除外されます (TAPEREQ ポリシーはユーザー出口ポリシーをオーバーライドします)。

  6. ライブラリ外のドライブはすべて除外されます。

  7. SP1 のスクラッチボリュームが単一の ACS にのみ存在する場合、ほかの ACS のドライブは除外されます。

  8. 9490 の MODEL を持たない残りのドライブはすべて除外されます。

例 - 仮想のスクラッチボリューム

次の例は、SMC が仮想スクラッチボリュームの割り振りに影響を及ぼすためにどのように除外レベルを適用するかを示したものです。

JCL:

//DDNAME DD DSN=GHI.JKL,DISP=NEW

ポリシーの指定:

POLICY NAME(POL3) VOLTYPE(SCRATCH) ESOTERIC(VTSS1) SUBPOOL(VIRT1) MGMTCLAS(MGMT1)
TAPEREQ DSN(GHI.*) POLICY(POL3)

SMC ALLOCDEF SMS(ON)

SMC SMSDEF MGMTPOL(ALL) VTVMGMT(ON)

DFSMS ルーチンは、管理クラス MGMT2 を返します。

MGMT2 は有効なポリシー名でないため無視され、TAPEREQ POL3 のポリシーが使用されます。

ボリューム検索による情報:

SMC によるボリューム検索により、スクラッチ割り振り対象の適格 VTSS のリストが戻されます。この例では、返されるリストは、ACS にアクセスできるオンライン VTSS および MGMT1 と互換性がある RTD 記録技法に基づいた VTSS2 および VTSS3 です。

割り振り除外処理:

  1. 除外レベル 1 から始めて、SMC は、MODEL=IGNORE を指定する SMC UNITATTR コマンドを持つドライブを除外します。

  2. SMC は、VTSS2 または VTSS3 のどちらにもないすべての仮想ドライブを除外します。

  3. POLICY エソテリック VTSS1 には仮想ドライブしか含まれないため、SMC はすべての非仮想ドライブを除外します。

  4. SMC は、VTSS1 にないすべてのドライブを除外します。

    VTSS1 は HSC/VTCS によって返されたものに含まれていないため、SMC はレベル 4 除外を「バックアウト」し、メッセージ SMC0045 または SMC0046 を発行しますが、その他の処理は続行します。除外レベル 2 に基づいて、VTSS2 および VTSS3 内のドライブのみが適格な状態で残ります。

    この例では、残りの除外レベルは影響を与えません。

アフィニティー分離

MVS 機能の 1 つである明示的なユニットアフィニティーにより、2 つの異なる JCL DD 文または割り振り要求に関連したボリュームを、同じドライブにシリアルマウントできます。GDG グループのすべての世代 (GDG ALL チェーン) に対する要求は、GDGALL アフィニティーとみなされます。

SMC では、これら 2 種類のアフィニティーは区別されません。アフィニティーチェーンの処理が開始されると、ドライブ除外処理により、チェーン内の各割り振りが、最小除外レベルまで (最小レベルを含む) 個別に検証されます。最小除外レベルの処理後に出力される適格デバイスリストで、チェーンの複数メンバーに共通するドライブがないことが判明すると、チェーンは常に分離されます。

例:

//DD1 DD UNIT=CART,DSN=MY.STK1R.DATASET,DISP=OLD
//DD2 DD UNIT=AFF=DD1,DSN=MY.LONGI.DATASET,DISP=OLD

DD1 は 9840 または T9840B メディア上のデータセットを指定し、DD2 は水平方式のメディア上のデータセットを指定します。特定ボリュームに対するドライブ除外レベル 1 により、必要なボリュームメディアに応じて、各 DD の適格ドライブリストが作成されます。2 つのリストに共通するドライブはありません。その結果、SMC は DD1DD2 の間のアフィニティーチェーンを切断するため、2 つの DD 文は 1 つのドライブ割り当てを表さなくなり、2 つの個別の割り当て要求を表します。

アフィニティーチェーンのヘッド

SMC のアフィニティーチェーン処理では、スクラッチボリュームのみ、または特定ボリュームのみを有するアフィニティーチェーンのヘッドが、チェーンの先頭 DD 文となります。アフィニティーチェーンにスクラッチボリュームと特定ボリュームの両方が含まれている場合は、最初の特定ボリュームがチェーンのヘッドとして扱われます。

アフィニティー分離へのユーザーポリシーの影響

最小レベルのドライブ除外とアフィニティー分離が完了したあと、残りのアフィニティー分離の決定には、ユーザーポリシーが反映されます。

ALLOCDef または ALLOCJob SEPLvl パラメータを使用すると、この章で説明されている除外レベルに基づいてアフィニティーチェーンが分離されないように指定できます。ユーザー出口 10 および 12 をアフィニティーチェーンを制御するために使用することもできます。詳細については、『ELS レガシーインタフェースリファレンス』を参照してください。

ドライブ優先度

次の条件に基づいて、SMC ドライブの優先度が割り当てられます。

  • 特定ボリュームの場合、ボリュームにもっとも近い LSM 内のドライブが優先されます。特定のボリュームから離れて配置されているパススルー数が同じドライブの優先度は同じです。

  • スクラッチボリュームの場合、ポリシーによって要求されたメディアと記録方式に一致するスクラッチボリューム数がもっとも多い LSM 内のドライブが優先されます。

  • POLicy ESOTeric リストで、エソテリックリストで指定された順序に従ってドライブを優先するよう指定できます。

  • POLicy PREFer パラメータは、各デバイスの優先値を決定する際の、LSM 位置 (特定ボリュームの位置)、エソテリックリスト (スクラッチボリュームと特定ボリューム両方のエソテリック)、およびスクラッチカウント (スクラッチボリュームのカウント) の相対的な優先度を示します。

注:

その他の優先度の要因については、『ELS レガシーインタフェースリファレンス』を参照してください。

割り振り対象のドライブ最終リストが選択され、LSM およびドライブタイプの優先度を考慮に入れたあと、「使用された最新の」アルゴリズムに基づいて、適格デバイスの優先順位が選択されます。

割り振られたドライブの過度の使用を回避するため、各ドライブの「最新マウント時」をもとに、ローテーション方式によってドライブの優先値が割り当てられます。最終ドライブリストにある各ドライブに対して、この値が検証されます。最新のマウントが実行されたドライブと、リスト内でその直後のドライブが、現在の割り振りに対して最優先されます。

注:

このアルゴリズムは仮想ドライブには適用されません。

マウント遅延

デフォルトでは、すべての自動テープマウントは遅延されます。SMC ALLOCDef コマンドの DEFER パラメータで、このデフォルトをオーバーライドするように設定できます。最適なパフォーマンスのために、デフォルトの DEFER(ON) を使用することをお勧めします。SMC ALLOCDef コマンドの詳細については、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

注:

仮想マウントは常に遅延されます。

SMC による割り振りの例外

次のタイプのカートリッジテープ割り振りには、SMC の影響がありません。

  • 要求割り振り (特定ドライブの要求)

    注:

    要求割り振りのための DEFER 処理は、SMC によって実行されます。
  • ALLOCJob コマンド BYPASS パラメータにより、明示的に除外されている割り振り。SMC ALLOCDef コマンドの詳細については、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

  • 適格デバイスリストに含まれているデバイスが「不明」なデバイス (仮想でもライブラリでもなく、SMC UNITAttr コマンドによって定義されてもいない) のみの場合の割り振り。

  • DFSMS 管理による割り振り。SMS の管理下にあるデータセットは、ストレージクラスが定義済みのデータセットとして定義されます。ストレージクラスは、次の場合に割り当てられます。

    • DD 文で STORCLAS パラメータが指定されている場合。

    • インストール時の書き込み ACS ルーチンで、新規データセット用のストレージクラスが選択された場合。

SMC による割り振り処理 - JES2 オペレーティングシステムのフック

SMC は、JES2 システム上のすべての I/O デバイス割り振りを検証し、割り振り要求を処理する必要があるかどうかを決定します。

SMC は、MVS サブシステムインタフェース (SSI) IEFJFRQ Subsystem Function Request (サブシステム機能要求) 出口を用いて、テープ割り振りイベント中の制御を行います。SMC は、次のサブシステム機能に対し、JES2 環境での制御を行います。

  • SSI55 - DFSMS Interpreter/Dynamic Allocation Exit (IDAX: インタプリタ/動的割り振り出口)

  • SSI24 - 共通割り振り

  • SSI78 - テープ割り振り

SSI55 IDAX (Interpreter/Dynamic Allocation Exit) (IDAX: インタプリタ/動的割り振り出口)

MVS JCL 解釈処理中、IDAX は JCL ユニットパラメータ、ボリュームカウント、保存期間または有効期限、および DISP=NEW (オプションで DISP=MOD) のデータセットに対するほかの特定 JCL 属性を置き換えるオプションを提供します。

注:

この機能はオプションです。SMC IDAX 処理の実装と IDAX ポリシー属性の指定については、IDAX での SMC エソテリック置換を参照してください。

SSI24 共通割り振り

SSI24 共通割り振り処理中、SMC は次の処理を実行し、最適な適格デバイスの組み合わせを試みます。

  • ドライブ除外

  • ユニットのアフィニティー分離

  • DEFER 処理 (CA1RTSON に設定されている場合)

  • ドライブ除外の結果で更新された EDL (MIACOMPATON に設定されている場合)

ドライブ除外プロセスの結果は、MIACOMPAT または CA1RTSON に設定されていないかぎり、テープ割り当て時まで MVS 制御ブロックには反映されません。

ユニットのアフィニティー分離の結果は、SIOT 内の MVS VOLUNIT エントリを更新するために使用されます。

SSI78 テープ割り振り

SSI78 テープ割り振り処理中、SMC は次の処理を実行します。

  • ドライブ除外の結果に基づいた MVS 制御ブロックへの更新 (MIACOMPATON に設定されていない場合)

  • ドライブ優先度

  • マウント遅延 (CA1RTSON に設定されていない場合)

SMC は、すべての許容外ドライブを不適格ステータスに設定し、割り振り対象として適格な各ドライブに優先度を割り当てます。優先度の高いデバイスから順に、マウント対象として選択されます。

SMC は、SSI78 処理中のマウント遅延、ドライブ除外、および優先順位付けのために IEFSSTA 制御ブロックを更新します。

SMC 割り振り処理 - JES3 の考慮事項

次のセクションでは、JES3 の重要な考慮事項について説明します。

SMC 割り振り - JES3 がドライブを管理していない場合

JES3 がデバイスを管理しておらず、JES3 STANDARDS 初期化文で SETUP=NONE が指定されている場合、SMC は JES2 環境と同様の動作をします。

JES3 がどのカートリッジドライブも管理していないが、ほかのタイプのデバイスを管理している場合は、SMC START 手順の EXEC 文で J3NOSET パラメータを指定します。詳細は、SMC START 手順の作成を参照してください。J3NOSET が指定されている場合、SMC は JES2 環境内と同様に動作します。

SETUP=NONE または J3NOSET のどちらかが指定されている場合は、JES3 システムに Type 1 変更をインストールする必要はありません。

SMC 割り振り - JES3 がドライブを管理している場合

SMC は JES3 の管理下にあるドライブをサポートします。JES3 は、SETUP 処理を通してドライブを管理します。この処理では、JES3 STANDARDS 初期化文の SETUP パラメータで JOBHWS (ハイウォーターマーク設定)、または THWS (テープハイウォーターマーク設定) が指定されている場合に SETNAME 文で識別されているドライブを割り当てます。この環境で JES3 が正しく動作するには、JES3 が SMC のすべてのカートリッジドライブを管理する必要があります。

SMC サポートは、次の MVS サブシステムインタフェース (SSI) および JES3 コンポーネントフェーズで動作します。

  • SSI55 Interpreter/Dynamic Allocation Exit (IDAX: インタプリタ/動的割り振り出口)

  • JES3 Converter/Interpreter (C/I: コンバータ/インタプリタ)

  • SSI23 JES3 Dynamic Allocation (動的割り振り)

  • JES3 Main Device Scheduler (MDS: メインデバイススケジューラ)

  • SSI24 共通割り振り

SSI55 IDAX (Interpreter/Dynamic Allocation Exit) (IDAX: インタプリタ/動的割り振り出口)

SMC SSI55 処理は、JES2 と JES3 で同じです。詳細は、SSI55 IDAX (Interpreter/Dynamic Allocation Exit) (IDAX: インタプリタ/動的割り振り出口)を参照してください。

JES3 Converter/Interpreter (C/I: コンバータ/インタプリタ)

JES3 C/I POSTSCAN 処理中、SMC は、適用不可なドライブを割り振り対象から除外するため、エソテリックの置換を実行します。SMC は次の処理を実行し、最良な適格デバイスの組み合わせを試みます。

  • ドライブ除外

  • アフィニティー分離

  • 利用できないデバイスを除外するエソテリックユニット名の置換

JES3 C/I POSTSCAN 処理の完了後、SMC ALLOCDef コマンドの DEFER パラメータに従って、ジョブがイニシエータに進むまで、割り振りを遅延できます。この処理段階で、ALLOCDef コマンドの FETCH パラメータに従い、取得メッセージを制限できます。

SSI23 JES3 Dynamic Allocation (動的割り振り)

SSI23 JES3 Dynamic Allocation 処理では、動的割り振りを実行するため、共通割り振り時の POSTSCAN C/I 処理と同様の機能が実行されます。

  • ドライブ除外

  • GDGALL アフィニティー分離

  • エソテリックユニット名の置換

  • マウント遅延

JES3 Main Device Scheduler (MDS: メインデバイススケジューラ)

JES3 MDS 処理の開始時、SMC ALLOCDef コマンドの FETCH パラメータに従い、動的割り振り要求のための取得メッセージを制限する機能が提供されます。

MDS デバイスの選択中、相対的な適正度に応じてドライブの優先値が設定されます。すなわち JES3 により、利用可能なドライブのうち、割り振り対象として最上位の優先値を持つドライブが選択されます。

SSI24 共通割り振り

ジョブがイニシエータに進むまでマウントが遅延されている場合、SSI24 共通割り振り処理中、データセットが開くまでマウントが遅延される場合があります。SMC ALLOCDef コマンドの DEFER パラメータは、マウントが遅延されるかどうかを判定します。

JES3 でのエソテリックユニット名の置換

ドライブ除外とアフィニティー分離が正常に完了すると、各割り振りに、適格デバイスの新たなリストを割り当てることができます。検索が開始され、ドライブの正確なリストを持つエソテリックが検出されます。Intermediate Job Summary Table (IJS: 中間ジョブサマリーテーブル) での元の JCL ユニットは、この新規エソテリックに置き換えられます。

元の JCL ユニット名、またはデータセットのカタログエントリから取得したユニット名を用いて、「完全な」エソテリックの検索が開始されます。たとえば、割り振り中のデータセットが、ユニット名 3490 としてカタログ済みであると想定します。次の表には、システム内の「3490」ドライブがすべて一覧表示されています。

表5-3 3490 ドライブリスト

ACS0 ACS1 ライブラリ外の位置

0A10: 9490

0C10: 9490

0E10: 9490

0B10: 9840

0C11: 9490

0E11: 9490


JES3 は、XTYPE 名でデバイスをグループ化し、エソテリックで XTYPE 名をグループ化します。次の例は、JES3 初期化パラメータによって設定されている DEVICE 文を示したものです。

DEVICE,TYPE=TA33490,XTYPE=(ACS09490,CA),JNAME=CA10,
JUNIT=(A10,MVS1,TAP,ON),XUNIT=(A10,MVS1,TAP,ON)

DEVICE,TYPE=TA33490,XTYPE=(ACS09840,CA),JNAME=CA11,
JUNIT=(B10,MVS1,TAP,ON),XUNIT=(B10,MVS1,TAP,ON)

DEVICE,TYPE=TA33490,XTYPE=(ACS19490,CA),JNAME=CC10,
JUNIT=(C10,MVS1,TAP,ON),XUNIT=(C10,MVS1,TAP,ON)

DEVICE,TYPE=TA33490,XTYPE=(ACS19490,CA),JNAME=CC11,
JUNIT=(C11,MVS1,TAP,ON),XUNIT=(C11,MVS1,TAP,ON)

DEVICE,TYPE=TA33490,XTYPE=(NLIB9490,CA),JNAME=CE10,
JUNIT=(E10,MVS1,TAP,ON),XUNIT=(E10,MVS1,TAP,ON)

DEVICE,TYPE=TA33490,XTYPE=(NLIB9490,CA),JNAME=CE11,
JUNIT=(E11,MVS1,TAP,ON),XUNIT=(E11,MVS1,TAP,ON)

固有位置とデバイスタイプの組み合わせには、それぞれ固有の XTYPE 名が付けられます。たとえば、ACS0 内の 9490 ドライブは、この位置にある唯一の 9490 モデルであるため、固有の XTYPE 名が付けられています。ライブラリ外にある 2 つの 9490 ドライブは、同じ位置にある同じ種類のドライブであるため、同じ XTYPE 名を共有しています。XTYPE には、常に 1 つのデバイスタイプまたは互換性のある複数のデバイスタイプのどちらかが含まれているようにしてください。たとえば、9840A と 9840B は互換性のあるデバイスタイプであり、同じ XTYPE に割り当てることができます。

JES3 初期化パラメータでは、次のように XTYPE 名がエソテリックユニット名に関連付けられます。

SETNAME,XTYPE=ACS09490,NAMES=(CART,3490,LIBDRVS,ACS0DRVS,A09490)
SETNAME,XTYPE=ACS09840,NAMES=(CART,3490,LIBDRVS,ACS0DRVS,A09840)
SETNAME,XTYPE=ACS19490,NAMES=(CART,3490,LIBDRVS,ACS1DRVS,A19490)
SETNAME,XTYPE=NLIB9490,NAMES=(CART,3490,NLIBDRVS,NL9490)

ドライブ除外出力中、SMC は割り振り対象として指定されているボリュームが ACS0 内にあることを確認し、9490 ドライブを要求すると想定します。ドライブ除外プロセスでは、XTYPE ごとにドライブのグループを削除します。

上の定義による環境では、次の XTYPE グループが割り振り対象から除外されます。

  • ACS09840 - T9840 ドライブがボリュームメディアと互換性がないため、レベル 1 で除外される

  • NLIB9490 - ボリュームがライブラリ内にあり、ドライブがライブラリ外にあるため、レベル 6 で除外される

  • ACS19490 - ボリュームが ACS0 内にあり、ドライブが ACS1 内にあるため、レベル 7 で除外される

ドライブ除外の最後に、1 つの XTYPE、つまり ACS09490 が割り当てに対して適格な状態で残ります。

SMC エソテリックユニット名の置換はここで、XTYPE ACS09490 のみを含むエソテリックの SETNAME 定義を検索します。この割り振りに対し、SMC は XTYPE ACS09490 のみを有するエソテリック A09490 を選択します。該当するジョブの Intermediate Job Summary (IJS) テーブルで、元のユニット名 (3490) が A09490 エソテリックに置き換えられます。

この例で割り当てに 2 つのドライブが必要であり (たとえば、UNIT=(3490,2))、マウントされる最初のボリュームが ACS0 内に存在する場合、ドライブ除外の結果は次のようになります。

  • ACS09840 - T9840 ドライブがボリュームメディアと互換性がないため、レベル 1 で除外される。

  • NLIB9490 - ボリュームがライブラリ内にあり、ドライブがライブラリ外にあるため、レベル 6 で除外される。

  • 除外レベル 7 は失敗する。

レベル 7 の開始時には、XTYPE ACS19490 に定義された 2 つのドライブと XTYPE ACS09490 に定義されたもう 1 つのドライブの 3 つのドライブが残っています。ACS 位置が原因で XTYPE ACS19490 が除外されると、残るドライブは 1 つになります。この割り振りでは、2 つのドライブが要求されています。そのため、除外レベル 7 で ACS1 内のドライブは除外されません。

ドライブ除外の最後に、2 つの XTYPE、つまり ACS09490ACS19490 が割り当てに対して適格な状態で残ります。SMC エソテリックユニット名の置換はここで、XTYPE ACS09490 を割り当てに使用できないと判定します。

JES3 への IBM APAR OW38427 により、マルチユニット割り当てでは同じ XTYPE で定義されているデバイスが使用されるという制限が導入されました。XTYPE ACS09490 は 1 つのドライブのみを含むため、この割り当て要件を満たすことができません。SMC エソテリックユニット名の置換はここで、XTYPE ACS19490 のみを含むエソテリックの SETNAME 定義を検索します。A19490 エソテリックは、そのジョブの IJS 内の元のユニット名 3490 を置換します。

SMC によって IJS が更新されたあと、JES3 C/I 処理が続行されます。JES3 は、IJS テーブルを元に Job Summary Table (JST: ジョブサマリーテーブル) を作成し、ハイウォーターマーク設定 (HWS) のチェーニングを実行します。HWS チェーニング中、SMC がエソテリックを変更したあと、JES3 は JST 内のエソテリックユニット名を変更することもできます。HWSNAME 初期化文は、どのエソテリックユニット名がほかのエソテリックユニット名のサブセットであるを定義します。この変更により、JES3 はあとの手順でデバイスを再使用できるようになります。

インストールの JES3 DEVICESETNAME および HWSNAME 文の設定の詳細は、JES3 初期化パラメータの考慮事項を参照してください。

JES3 での取得メッセージの抑止

JES3 C/I 処理の完了に先立ち、IJS は JST (残りのジョブを表示) として作成されます。JST には、SMC および JES3 によるエソテリック置換が反映されます。ジョブの次段階は、Main Device Scheduler (MDS: メインデバイススケジューラ) です。

MDS 処理の開始時、JES3 はジョブの割り振り準備を始めます。MDS では、オプションとして、オペレータにボリュームの取得を促すフェーズがあります。JES3 は、現在マウントされていないボリュームがジョブに必要であり、かつ SETPARAM 文の FETCH パラメータが YES (デフォルト) に設定されている場合に取得メッセージを発行します。SETPARAM 文で ALLOCATE=MANUAL も指定されている場合、ジョブは、オペレータがボリュームを取得し、*START SETUP コマンドを発行するまでボリューム待機キューに置かれます。

お客様のインストール状況によっては、ライブラリ内のボリュームの取得メッセージを受信しない方が望ましい場合があります。共通割り当て要求 (JCL 文の割り当て) に対してそれを行うには、JES3 ユーザー出口 IATUX09 の SMC バージョンをインストールします。動的割り当て要求の場合は、IATMDFE への SMC Type-1 変更をインストールします。

SMC ALLOCDef FETCH パラメータを用いて、取得メッセージの発行を制御します。FETCH(OFF) は、ライブラリドライブへマウントされる一切のボリュームに対する取得メッセージを抑止します (デフォルト設定)。ライブラリドライブ上にマウントされる予定のライブラリ外ボリュームに対して取得メッセージが望ましい場合は、FETCH(NONLIB) を入力するようにしてください。

注:

FETCH (NONLIB) を指定すると、別のボリューム検索要求が TapePlex に指示されるため、性能に影響が及ぶ場合があります。

使用しているシステムで、上記の ALLOCATE=MANUAL を指定している場合、ボリューム割り振りに対応した取得メッセージが制限されると、該当する割り振りはボリューム待機キューに入れられません。

SETPARAM 文が FETCH=NO に設定された状態でシステムが実行されている場合や、すべてのボリュームの取得メッセージを受信することを希望する場合は、システムに IATMDFE Type-1 変更を適用する必要はありません。IATUX09 ユーザー出口はほかの機能も実行するため、適用するようにしてください。

JES3 でのドライブ優先度

Main Device Scheduler (MDS) の次の手順では、ジョブに必要なデバイスが割り振られます。

IATMDAL への SMC Type-1 変更によって、SMC には、各テープ割り当てに使用可能なドライブのリストを確認する機能が提供されます。ドライブリストには、オンラインで利用可能なドライブのうち、ドライブ除外処理後、Job Summary Table (JST) に入れられたエソテリック内で定義されているドライブグループに属するドライブが含まれています。

JES3 初期化パラメータの考慮事項

次のパラメータ文を用いて、初期化デッキで、JES3 に対する TapePlex 内/TapePlex 外ドライブの環境を定義する必要があります。

  • ドライブアドレス、デバイスタイプ、および XTYPE を定義するための DEVICE

  • エソテリック名を定義し、それを XTYPE に関連付けるための SETNAME

  • HWSNAME 文 (HWS 処理中に使用されるエソテリック名の関係性の定義)

このセクションでは、これらの文について解説し、構成例を用いて設定方法を説明します。この構成は、2 つのシステム MVS1 および MVS2 に接続された次のドライブアドレスとエソテリックで構成されます。

表5-4 構成例

ライブラリ外
ACS0 ACS1 仮想

120-127 3480

220-223 4490

320-327 9490

A20-A5F VTSS1

140-143 3490

240-243 9490

440-447 9490

A60-A9F VTSS2

180-189 9840

280-289 9840

280-289 9840

なし


注:

この例でのドライブアドレスとエソテリックは実際のものではありませんが、JES3 を用いて定義可能な広範囲のデバイスタイプを反映しています。実際の JES3 初期化文は、構成によって異なります。

JES3 DEVICE 初期化文

DEVICE 文で、割り振り要求を満たすため JES3 が使用できるドライブを定義します。この文では、次の定義を行います。

  • ドライブアドレス

  • ドライブにアクセス可能な JES3/MVS システム

  • ドライブの初期オンラインステータス

  • ドライブのデバイスタイプ

XTYPE パラメータは、SMC 割り当てにとって特に重要です。XTYPE は、同じ XTYPE 値を持つデバイスをエソテリックユニット名のグループに接続します。例:

DEVICE,XTYPE=(DEV0220,CA),XUNIT
(220,MVS1,TAP,ON,220,MVS2,TAP,ON),
      NUMDEV=4,...

ACS0 のデバイス 220-223 (表5-4) は、XTYPEDEV0220 と関連付けられています。この名前により、XTYPE DEV0220 に関連付けられた SETNAME 文に一覧表示されているエソテリックユニット名のいずれかが JCL またはカタログエントリで指定された場合、JES3 はグループ 200-223 からデバイスを割り当てることができます。

SMC では、各 XTYPE グループの実際のドライブタイプおよび位置が固有でなければなりません。ACS0 のドライブリストで 4490 ドライブを定義する際に、9490 ドライブと同じ XTYPE を使用しないでください。また、ACS0 内にある T9840 ドライブの定義には、ライブラリ外 T9840 ドライブと同じ XTYPE を使用しないでください。別の VTSS 内のデバイスは、異なる XTYPE を持つ必要がありますす。

SMC の初期化中に、XTYPE グループを検査して、これらの XTYPE の制限が検証されます。XTYPE に混在したデバイスタイプまたは混在した位置が含まれている場合は、XTYPE グループ内の最初のドライブの特性によって残りのドライブが定義されます。

SMC 構成レポートユーティリティーは、XTYPE、エソテリック、およびドライブ情報を示します。構成レポートの詳細については、『ELS コマンド、制御文、およびユーティリティーリファレンス』を参照してください。

次の例では、この構成例での DEVICE 文の設定方法を示します。

注:

JES3 へのドライブ定義の前に、MVS へのドライブ定義を実行する必要があります。Hardware Configuration Definition (HCD: ハードウェア構成定義) 機能を用いて、I/O Configuration で MVS ユニットアドレスをデバイスに割り当てます。

JES3 SETNAME 初期化文

SETNAME 文は、JES3 で管理されるデバイスに関連付けられたすべてのエソテリックユニット名とデバイスタイプ名を定義します。これらのエソテリックユニット名およびデバイスタイプ名は、DD 文の UNIT パラメータで指定することも、カタログ済みデータエントリのユニットタイプとして指定することもできます。

DEVICE 文は、一連のドライブを XTYPE に関連付けます。SETNAME 文は、XTYPE をエソテリックユニット名のグループに関連付けます。

SMC エソテリックユニット名の置換中に、デバイス、XTYPE、およびエソテリックユニット名の間の関係によって、SMC は最適なエソテリックユニット名を選択できます。

注:

SMC では、特定ボリュームの割り振りを実行中、ボリュームに適合するドライブのみが含まれているエソテリックの置き換えが試行されます。元のエソテリックのサブセットであるすべてのエソテリックに、ボリュームに適合しないドライブ (SMC UNITAttr コマンドで MODEL=IGNORE と定義されているドライブを除く) が含まれている場合、メッセージ SMC0068 が発行され、元のエソテリックは置き換えられません。

したがって、SMC でエソテリック置換が確実に実行されるようにするには、各 TapePlex 内に適合するドライブのみが含まれるエソテリックを少なくとも 1 つは定義する必要があります。たとえば、ECART および標準ボリュームと 9490、4490、および 4480 ドライブを含む 1 つの TapePlex がある場合は、少なくとも、ECART ボリューム (9490、4490、および 4480 ドライブ) と互換性があるドライブのみを含む 1 つのエソテリックを定義する必要があります。その他に、これらのドライブタイプの適切な組み合わせが含まれるエソテリックを定義することもできます。

SMC の最適性能を実現するため、各位置にある各ドライブタイプには、固有のエソテリックを定義してください。たとえば、A09840 という名前のエソテリックを、ACS0 内に配置された T9840 ドライブのみを含むように定義できます。

次の例では、この単一 TapePlex 構成例での SETNAME 文の設定方法を示します。NAMES パラメータ値リストで指定されたエソテリックユニット名は、次のもので構成されます。

  • CART - この環境内のすべてのカートリッジドライブ

  • NLCART - ライブラリ ACS 内にないすべてのカートリッジドライブ

  • A0CART - ACS0 内のすべてのカートリッジドライブ

  • A1CART - ACS1 内のすべてのカートリッジドライブ

  • ALLxxxx - 位置には関係なく、同じデバイスタイプ xxxx のすべてのカートリッジドライブ。

  • LIBxxxx - 任意のライブラリ位置にある、同じデバイスタイプ xxxx のすべてのカートリッジドライブ。

  • yyxxxx - yy 位置にある、同じデバイスタイプ (xxxx) のすべてのカートリッジドライブ。

  • zzzzzzzz - VTSS zzzzzzzz 内にあるすべての仮想デバイス。

NAMES リストには、3480SYS3480R などの一般的なデバイスタイプ名も指定されます。

* 3480/NONLIBRARY
SETNAME,XTYPE=DEV120,NAMES=(SYS3480R,CART,3480,NLCART,NL3480)
*
* 3490/NONLIBRARY
SETNAME,XTYPE=DEV0140,NAMES=(SYS3480R,SYS348XR,CART,3490,NLCART,
                             ALL3490, NL3490)
*

* 9840/NONLIBRARY
SETNAME,XTYPE=DEV0180,NAMES=(SYS3480R,SYS348XR,CART,3490,NLCART,
                             ALL9840,NL9840)

*
* 4490/ACS0
SETNAME,XTYPE=DEV0220,NAMES=(SYS3480R,SYS348XR,CART,3490,A0CART,
                             A04490,A0DEVT90)

*
* 9490/ACS0
SETNAME,XTYPE=DEV0240,NAMES=(SYS3480R,SYS348XR,CART,3490,A0CART,
                             ALL9490,LIB9490,A09490,A0DEVT90)

*
* 9840/ACS0
SETNAME,XTYPE=DEV0280,NAMES=(CART,3590-1,A0CART,ALL9840,A09840)

*
* 9490/ACS1
SETNAME,XTYPE=ACS19490,NAMES=(SYS3480R,SYS348XR,CART,3490,A1CART,
                              ALL9490,LIB9490,A19490)
*
* 9940/ACS1
SETNAME,XTYPE=DEV0460,NAMES=(CART,3590-1,A1CART,ALL9940,A19940)
*
* VIRTUAL DRIVES/VTSS1
SETNAME,XTYPE=DEV0A20,NAMES=(CART,3490,VIRTCART,VTSS1)
*
* VIRTUAL DRIVES/VTSS2
SETNAME,XTYPE=DEV0A60,NAMES=(CART,3490,VIRTCART,VTSS2)

SETNAME 文の NAMES パラメータのエソテリックユニット名値の詳細は、『IBM JES3 Initialization and Tuning Reference』の該当するバージョンを参照してください。

JES3 HWSNAME 初期化文

HWSNAME 文で、ほかのエソテリックユニット名のサブセットとなるエソテリックユニット名を定義します。これらの文を JES3 ハイウォーターマーク設定 (HWS) 中に使用することにより、各ステップでデバイスを再使用できるかどうかを決定します。

最初の HWSNAME TYPE パラメータで、HWS 処理中に使用するエソテリックユニット名 (major name) を指定します。次のエソテリックユニット名 (minor names) は major name の代替名として使用できます。

HWSNAME 文に一覧表示されているマイナー名の順序は、それらをメジャー名の代わりに使用できる順序です。

例:

HWSNAME TYPE=(3490,ALL4490,ALL9490,ALL3490)

および:

//STEP1 EXEC PGM...
//DD1 DD UNIT=3490,...
//STEP2 EXEC PGM...
//DD1 DD UNIT=ALL3490,...
//DD2 DD UNIT=ALL4490,...

JES3 HWS 処理により、このジョブに 2 つのドライブが割り振られます。HWS 後のジョブの Job Summary Table (JST) には、各 DD 割り振り要求に対し、次のエソテリックが表示されます。

  • ALL4490 はマイナー名リスト内で ALL3490 の前に現れるため、STEP1 DD1 および STEP2 DD2 JST エントリには ALL4490 が含まれます。

  • STEP2 DD1 JST エントリには ALL3490 が含まれます。

次に、ステップ境界を越えた HWS 名の使用例を示します。

//STEP1 EXEC PGM...
//DD1 DD UNIT=ALL9490,...
//DD2 DD UNIT=ALL4490,...
//STEP2 EXEC PGM...
//DD1 DD UNIT=3490

JES3 HWS は、STEP1DD1 から始めて、同じデバイスを使用できる STEP2 での割り当てを探します。STEP2DD1 は、3490 を指定します。メジャー名 3490 に対する上の HWSNAME は、ALL94903490 の代替 (またはマイナー) 名であることを示します。したがって、STEP1 DD1STEP2 DD1 は同じドライブを割り当てます。STEP2DD1 に対する JST エントリは、新しいエソテリックを反映するようには更新されません。STEP1 DD2 で割り当てられたドライブは、STEP1 の最後に解放されます。

major name に対して定義されていないデバイスは、minor name として使用できません。

例:

HWSNAME TYPE=(A0CART,ALL9840,...)

次を想定します。

  • A0CART には、ドライブ 220 - 223、240 - 243 および 280 - 289 が含まれている。

  • ALL9840 には、ドライブ 180 - 189 および 280 - 289 が含まれている。

ALL9840 には、A0CART にないドライブ (180-189) が含まれます。この場合、T9840 ドライブを要求している TapePlex 内のボリュームにより、JES3 による HWS 処理後、TapePlex 外へのドライブ割り振りが試行されます。HWS 処理は、SMC エソテリックユニット名の置換後に実行されます。そのため、最初の例のように JES3 でエソテリックユニット名も変更された場合は、HWSNAME 定義が最終的な割り当ての決定に影響を与えることがあります。

この場合の最良の解決法は、(位置およびデバイスタイプに基づく) 固有のエソテリックユニット名を作成することにより、minor name を持たないエソテリックユニット名を SMC が選択できるようにすることです。構成例用に設定されている次の例での HWSNAME エントリを参照してください。

* GENERIC MAJOR NAMES
HWSNAME TYPE=(SYS3480R)
HWSNAME TYPE=(SYS348XR)
HWSNAME TYPE=(3480,NL3480)
HWSNAME TYPE=(3490,SYS348XR,
              ALL3490,ALL9490,LIB9490,A0DEVT90,
              A04490,A09490,A19490,NL3490,NL9840)
HWSNAME TYPE=(3590-1, ALL9940,
              A09840,A19940)
*
* ALL DRIVES IN THE COMPLEX
HWSNAME TYPE=(CART,SYS3480R,SYS348XR,3490,3480,3590-1,
              ALL3490,ALL9840,ALL9490,ALL9940,LIB9490,
              A0CART,A1CART,NLCART,A0DEVT90,
              A04490,A09490,A09840,A19490,A19940,
              NL3480,NL3490,NL9840)
*
* DRIVES BY DEVICE TYPE
HWSNAME TYPE=(ALL3490,LIB9490,A0DEVT90,A09490,A19490,NL3490,
              VIRTCART,VTSS1,VTSS2)
HWSNAME TYPE=(ALL9840,A09840,NL9840)
HWSNAME TYPE=(ALL9490,LIB9490,A09490,A19490)
HWSNAME TYPE=(ALL9940,A19940)
*
* DRIVES BY LOCATION
HWSNAME TYPE=(LIB9490,A09490,A19490)
HWSNAME TYPE=(NLCART,ALL3490,ALL3480,3480,
              NL3480,NL3490,NL9840)
HWSNAME TYPE=(A0CART,A04490,A09490,A09840,A0DEVT90)
HWSNAME TYPE=(A1CART,ALL9940,A19940,A19490)
*
* DRIVES BY LOCATION AND DEVICE TYPE
HWSNAME TYPE=(A0DEVT90,A04490,A09490)
HWSNAME TYPE=(NL3480)
HWSNAME TYPE=(NL3490)
HWSNAME TYPE=(NL9840)
HWSNAME TYPE=(A04490)
HWSNAME TYPE=(A09490)
HWSNAME TYPE=(A09840)
HWSNAME TYPE=(A19490)
HWSNAME TYPE=(A19940)
*
* VIRTUAL DRIVES
HWSNAME TYPE=(VIRTCART,VTSS1,VTSS2)
HWSNAME TYPE=(VTSS1)
HWSNAME TYPE=(VTSS2)

エソテリック優先度の考慮事項

POLicy ESOTeric リストを使用すると、ユーザーは、あるエソテリック内のデバイスに対して別のエソテリックより高い優先順位を要求できます。

この処理を有効にするには、指定したリスト内にすべてのエソテリックを含むエソテリックを定義します。たとえば、構成例では、エソテリック A0DEVT90 は次のポリシーのエソテリック置換に使用されます。

POLICY NAME(P1) ESOTERIC(A09490,A04490)

デバイス優先度の考慮事項

SMC TAPEREQ 文の DEVTpref パラメータを用いて、ドライブ優先度中、StorageTek 36 トラックドライブの 1 つのタイプに対して、上位の優先度を要求できます。36 トラックドライブの第 2 または第 3 モデルは、オプション選択として指定できます。このデバイス優先度は、4490、9490 および 9490EE カートリッジドライブが併用されている TapePlex 構成に適用できます。

この処理を有効にするには、ACS 位置または TapePlex 構成全体に基づいて、目的のすべてのデバイスタイプが 1 つのエソテリックに含まれるよう、定義します。構成例では、エソテリック A0DEVT90ACS0 についてこの目的を果たしています。

ドライブ除外中に、TAPEREQ が割り当てに対して DEVT(9490,4490) を示した場合、A0DEVT90 がサブセット (たとえば、UNIT=3490) であれば、SMC は A0DEVT90 を元のユニット名の代わりに使用できます。

注:

ステップ境界を越えてドライブを再使用している場合、JES3 HWS 処理で、このエソテリックを A09490 または A04490 に変更できます。

ZEROSCR の考慮事項

SMC ALLOCDef コマンドパラメータ ZEROSCR を ON の値で指定する場合は、ACS 境界にまたがるエソテリックユニット名を作成します。たとえば、次のエソテリックをインストール例に追加できます。

  • CA0A1 - ACS0 および ACS1 内のすべてのドライブを有するエソテリック

  • A0A1X490 - ACS0 および ACS1 内のすべての 4490 および 9490 ドライブを有するエソテリック

両 ACS にはスクラッチボリュームが含まれていると想定します。

  • スクラッチ要求がメディアまたは記録技法を指定していない場合、SMC は CA0A1CART の代わりに使用できます。

  • スクラッチ要求が 36 トラック記録技法を要求した場合、SMC は A0A1X4903490 の代わりに使用できます。

したがって、両 ACS が割り振り対象とみなされます。

注:

SMC による選択後、JES3 HWS はエソテリックユニット名を変更できます。

SMC の通常動作

SMC は、JES3 グローバルおよびローカル環境で稼働しているすべてのプロセッサ上で動作します。SMC、任意のライブラリサブシステム、HSC、または MVS/CSC は、グローバルおよびローカルプロセッサ上で、カートリッジドライブが必要なジョブを開始する前に起動します。

SMC およびライブラリサブシステムがグローバルプロセッサ上で初期化されており、通信が成立している場合、SMC は、共通および動的カートリッジドライブ割り振りに対応し、ドライブ除外、アフィニティー分離、エソテリックユニット名の置換、取得メッセージの制限、ドライブ優先度、およびマウント遅延を実行します。ジョブが JES3 C/I DSP に進む前に SMC が初期化を完了していない場合、この処理は実行されません。SMCEHOOK マクロの NOSMC パラメータにある PROMPT 値は、SMC が初期化されていない場合に 1 C/I DSP 遅延し、オペレータに SMC を起動するよう求めます。

SMC およびライブラリサブシステムがローカルプロセッサ上で初期化されており、通信が成立している場合、SMC は、動的カートリッジドライブの割り振りに対応し、ドライブ除外、アフィニティー分離およびエソテリックユニット名の置換を実行します。

注:

  • SMCEHOOK マクロとそのパラメータの詳細は、ドキュメント『ELS のインストール』を参照してください。

  • SMC、ライブラリサブシステム、および JES3 関連の回復手順については、第7章 モニター機能と回復手順を参照してください。

JES3 制限

次の JES3 制限を考慮します。

C/I と MDS の間のタイミング

C/I 処理と MDS 処理の間に、timing ウィンドウが存在します。この 2 つの処理の間に、要求されたボリュームの位置またはスクラッチサブプールカウントが変更される場合があります。この場合は、1 つまたは複数のボリュームを ACS から削除するか、ACS に入庫する必要があります。

JES3 ハイウォーターマーク設定および LSM パススルー処理

ジョブが複数のステップに渡る場合、JES3 HWS 処理は、必要なデバイス数を最小限に抑えようとします。これにより、各ステップで 1 つのテープドライブを必要とする複数のステップに渡るジョブ全体を、1 つのドライブに割り振ることができます。次の例では、パススルー処理に対する起こりうる影響を示します。

次の図に、4 つの LSM を有するライブラリ構成を示します。ライブラリ内のすべてのドライブは、オンライン化されており、利用可能な状態にあります。

このジョブに対する JCL を次の例に示します。

//STEP1 EXEC
//DD1 DD DSN=DSN.IN.LSM0,UNIT=3490,VOL=SER=(EX0001,EX0002)
//*
//STEP2 EXEC
//DD1 DD DSN=DSN.IN.LSM1,UNIT=3490,VOL=SER=EX0003
//*
//STEP3 EXEC
//DD1 DD DSN=DSN.IN.LSM2,UNIT=3490,VOL=SER=EX0004
//*
//STEP4 EXEC
//DD1 DD DSN=DSN.IN.LSM0,UNIT=3490,VOL=SER=(EX0001,EX0002)

ボリューム EX0001 および EX0002LSM0 内に、EX0003LSM1 内に、EX0004LSM2 内に存在します。また、すべてのボリュームは同じメディアで、同じ記録技法が必要です。SMC ドライブ除外処理では、この割り振りに対し、同じエソテリックが選択されます。

SMC ドライブ除外処理の完了後、JES3 HWS 分析により、このジョブの実行に必要なドライブの最大数は 1 であると決定されます。MDS 処理により、デバイスが割り振られます。パススルー処理が次のように実行されます。

  • 割り当てられたドライブが LSM0 に接続されている場合、パススルーの数は 2 です (ボリューム EX0003LSM1 から移動し、ボリューム EX0004LSM2 から移動します)。

  • 割り当てられたドライブが LSM1 または LSM2 に接続されている場合、パススルーの数は 3 です (ボリューム EX0001 および EX0002LSM0 から移動し、そのドライブがどちらの LSM に含まれているかに応じて EX0003 または EX0004 のどちらかが移動します)。

  • 割り当てられたデバイスが LSM3 に接続されている場合、パススルーの数は 4 です (すべてのボリュームが LSM3 に移動します)。

SMC ドライブ優先度処理では、ドライブの優先度の設定時、パススルーカウントが使用されます。ただし「優先」ドライブが利用不可な場合は、そのほかの利用可能なドライブが選択される場合があります。