What's LLA + VLF
一般的な解説(VLF)

VLFはMVS/ESA SP 3.1の新機能。仮想索引機能。
VLFは多数のユーザーが繰り返し使用するデータをメモリー(データ空間)に貯え、高速にデータの受け渡しを行うMVSの機能です。VLFはユーザープログラムからも使用できますが、一般的にはLLA・CATALOG・TSOがVLFを使用して、データの入出力時間を高速化しています。
  LLAとVLFの連携
LLAとVLFを稼動させると、LLAはVLFの機能を利用してモジュール本体をデータ空間にステージングします。データ空間にモジュール本体をステージングする事で、(LLAだけでは検索時間の効率化しか出来ませんでしたが)モジュールのFetch時間も効率化する事が出来るようになります。LLA+VLFの時の処理の流れは以下の様になります。
  1. LLA開始時、又はREFRESH・UPDATE等のコマンドが実行された時、LLAはCSVLLAxxに登録されたロードモジュールライブラリーのディレクトリー部を仮想記憶域に読み込みます。
  2. ステップが開始される時、STEPLIB(又はJOBLIB)に指定されているライブラリーがCSVLLAxxに登録されていれば、LLAの仮想記憶域内のディレクトリーから、指定されたモジュール名とライブラリーのメンバー名が一致するメンバーを検索します。
  3. 一致するメンバーが見つかった場合、LLAはVLF上にデータが存在するかを確認し、存在すればVLFを通してデータ空間からモジュール本体を読み込み、無ければDASDから読み込みます。
  4. ディレクトリーに指定されたEntryPointに制御を渡します。
  モジュールは何時VLFにステージングされるのか?
LLAは全てのモジュールを無条件にVLFに登録している訳ではありません。一定の条件を元に、VLFに登録した方が良いと思われるモジュールのみをVLFに登録します。VLFに登録される条件としは以下の様なものがあります。
  • モジュールのFetch期間
  • モジュールのFetch回数
  • モジュールサイズ
  • レスポンスタイム
  • ストレージのコンテンション状態
さて、LLAについての資料で、このあたりの詳細な情報がほとんどありません。「LLAは何も考えなくても最適なセッティングを行うので、ユーザーは深く考えなくて良い」という事なのでしょうか?
とりあえず、CSVLLIX1とCSVLLIX2の解説に幾つか書かれているので、そこから考えると以下の様になります。
  1. LLAが管理しているライブラリーへのFetchを行うと、CSVLLIX1 Exitが呼ばれます。
  2. Exitが存在しない、もしくは R15 の値が“0”の時、モジュールのFetch回数がカウントされます。R15の値が“4”・R00の値が“1”の場合、次のFetch回数に関係無く、モジュールステージング分析機能が稼動します。
  3. モジュールのFetchを10回行った後、又はFetch総回数が2000回となる毎に、モジュールステージング分析機能が稼動します。
  4. モジュールステージング分析機能は以下の分析を実施します。
    応答時間
    LLAはこれまでFetchした統計情報から“DASDから”と“VLFから”との処理時間を比較します。マニュアルによると、“ページングが発生していなければ、VLFの方がDASDよりも高速である”となっています。つまりLLAはストレージに余裕が有り、モジュールを保存する十分なVLFのデータ空間(MAXVIRTで指定)が設定されていればVLFを使用するようになります。この項目は標準ではその他の条件より最も重要視されます。
    競合
    記憶装置











Whats LLA + VLF Tips Home

- Kimu : 1998.06.30 - 1998.10.11 -