VOS3:プログラムローディングの高速化とXPL
By 岡田 - Posted: 2013/09/07 Last updated: 2020/07/02
- 4 Comments
VOS3では、昔からプログラムのローディングを高速化する手法として以下の機能を用意してきました
1)モジュール常駐・・・SYS1.PARMLIB(JAALPAxx,JAAFIXxx)
使用頻度の高いモジュールをメモリ上に置く事で、ディスクIOを削減してローディングの高速化をはかる
2)ディレクトリ常駐・・・SYS1.PARMLIB(JAABLDxx)
上記よりも頻度の少ないモジュールについてはデータセットのディレクトリ情報をメモリに配置して、ディスクへのIOの際、VTOC情報を参照する時間を削減できる
但し、上記の機能の制約事項として、
1)情報をメモリ上に読み込むタイミングはIPL時だけ(運用中の更新不可能)のため、運用中にモジュールの内容が変更となったり、区分データセットのコンデンス等が発生してディレクトリ情報がメモリと実体で変化が出た時、必要な情報を得られなくなり、最悪の場合システムダウンになる危険性を持っている
2)メモリ上に置いた情報がどのように使われているかを確認する手段が無かった
この問題を解消するために、VOS3/ASから提供されたのが、XPL(拡張プログラムローディング機能)である
XPL(eXtended Program Loading)とは、、
1)メモリ上にXPL用の専用空間を設け、パラメタやコマンドで指定したモジュールやディレクトリ情報を常駐させる事が可能
2)モジュールの更新やディレクトリ情報に変更があった場合、SET XPLコマンドにて運用中いつでも変更が可能
3)常駐するモジュール属性に制限が無い(再使用可能属性であっても、再使用不可能属性であっても登録は可能)
4)メモリ上に置いたモジュールがどのように使われたかをDISPLAY XPLコマンドで確認する事が可能
です。
モジュール常駐させる際の概念図を示します

初期設定はSYS1.PARMLIB(XPLPRMXX)にて行います。
初期設定では専用空間の大きさや常駐させる情報を定義しますが、常駐させる情報(常駐対象モジュール、常駐対象データセットのディレクトリ情報)についてはSET XPLコマンドにて個別に登録する事も可能です
常駐対象モジュールの追加や不要となったモジュールの削除が可能です
ここまで書いたので、もうひとつ
ロードモジュールデータセット内で追加したいモジュールが少ない場合はMEMBERパラメタを記述する事で定義数を削減できますが、逆に追加したくないモジュール名が少ない場合、EXCLUDEパラメタにて除外したいモジュール名を記載する事で定義数を減らせます。
定義ミスが少なくなる方法を採用可能です
ーーーーーー
追記致します
野良猫さんからのコメントに書いた内容の補足です。
Hー6588ーLを使う事により、多くのディスク容量を得られる事になるのですが、その半面ディスク性能を犠牲にする事になるためシステム全体としての能力が低下する事は否定できません。
RAIDを越える抜本的な磁気ディスク装置の改革が進んでいないため、Hー6588ーLを使うにはビット単価を安くするために、若干のディスク性能を犠牲にしているという事です。
しかし、減る性能については、ここでご説明したXPLといった主記憶や補助記憶メモリを活用する事で底上げができると考えています
この内容については別の記事としてまとめさせて頂きます
1)モジュール常駐・・・SYS1.PARMLIB(JAALPAxx,JAAFIXxx)
使用頻度の高いモジュールをメモリ上に置く事で、ディスクIOを削減してローディングの高速化をはかる
2)ディレクトリ常駐・・・SYS1.PARMLIB(JAABLDxx)
上記よりも頻度の少ないモジュールについてはデータセットのディレクトリ情報をメモリに配置して、ディスクへのIOの際、VTOC情報を参照する時間を削減できる
但し、上記の機能の制約事項として、
1)情報をメモリ上に読み込むタイミングはIPL時だけ(運用中の更新不可能)のため、運用中にモジュールの内容が変更となったり、区分データセットのコンデンス等が発生してディレクトリ情報がメモリと実体で変化が出た時、必要な情報を得られなくなり、最悪の場合システムダウンになる危険性を持っている
2)メモリ上に置いた情報がどのように使われているかを確認する手段が無かった
この問題を解消するために、VOS3/ASから提供されたのが、XPL(拡張プログラムローディング機能)である
XPL(eXtended Program Loading)とは、、
1)メモリ上にXPL用の専用空間を設け、パラメタやコマンドで指定したモジュールやディレクトリ情報を常駐させる事が可能
2)モジュールの更新やディレクトリ情報に変更があった場合、SET XPLコマンドにて運用中いつでも変更が可能
3)常駐するモジュール属性に制限が無い(再使用可能属性であっても、再使用不可能属性であっても登録は可能)
4)メモリ上に置いたモジュールがどのように使われたかをDISPLAY XPLコマンドで確認する事が可能
です。
モジュール常駐させる際の概念図を示します

初期設定はSYS1.PARMLIB(XPLPRMXX)にて行います。
初期設定では専用空間の大きさや常駐させる情報を定義しますが、常駐させる情報(常駐対象モジュール、常駐対象データセットのディレクトリ情報)についてはSET XPLコマンドにて個別に登録する事も可能です
常駐対象モジュールの追加や不要となったモジュールの削除が可能です
ここまで書いたので、もうひとつ
ロードモジュールデータセット内で追加したいモジュールが少ない場合はMEMBERパラメタを記述する事で定義数を削減できますが、逆に追加したくないモジュール名が少ない場合、EXCLUDEパラメタにて除外したいモジュール名を記載する事で定義数を減らせます。
定義ミスが少なくなる方法を採用可能です
ーーーーーー
追記致します
野良猫さんからのコメントに書いた内容の補足です。
Hー6588ーLを使う事により、多くのディスク容量を得られる事になるのですが、その半面ディスク性能を犠牲にする事になるためシステム全体としての能力が低下する事は否定できません。
RAIDを越える抜本的な磁気ディスク装置の改革が進んでいないため、Hー6588ーLを使うにはビット単価を安くするために、若干のディスク性能を犠牲にしているという事です。
しかし、減る性能については、ここでご説明したXPLといった主記憶や補助記憶メモリを活用する事で底上げができると考えています
この内容については別の記事としてまとめさせて頂きます
Posted in 日立VOS3システム運用編 • • Top Of Page
4 Responses to “VOS3:プログラムローディングの高速化とXPL”
Comment from shok
Time 2013年9月7日 at 18:58
野良猫さん
コメントありがとうございます
日立はストレージ(ディスク)を重点的にコストをかけてきた印象が内部から見てきた人間として感じています
同時にRAIDも進化させてきたので、RAIDを主体としたシステムではXPLはあまり美味しい機能と感じられてきませんでした
理由はRAIDではキャッシュが必須だから、使用頻度が高いモジュールは自ずとRAIDのキャッシュにおかれてしまうからです
しかし、最近、汎用機のストレージにもコスト削減の波が押し寄せてきており、性能が落ちるけど容量が10倍のHー6588ーLという方式のディスクが出て来ました。
このディスクにするには最新のOSにする必要がありますが、ビット単価が格段に安くなりますから今後の、此方のディスクに切り替えるサイトが増えるものと思っています
そしてXPLも復活するでしょう
コメントありがとうございます
日立はストレージ(ディスク)を重点的にコストをかけてきた印象が内部から見てきた人間として感じています
同時にRAIDも進化させてきたので、RAIDを主体としたシステムではXPLはあまり美味しい機能と感じられてきませんでした
理由はRAIDではキャッシュが必須だから、使用頻度が高いモジュールは自ずとRAIDのキャッシュにおかれてしまうからです
しかし、最近、汎用機のストレージにもコスト削減の波が押し寄せてきており、性能が落ちるけど容量が10倍のHー6588ーLという方式のディスクが出て来ました。
このディスクにするには最新のOSにする必要がありますが、ビット単価が格段に安くなりますから今後の、此方のディスクに切り替えるサイトが増えるものと思っています
そしてXPLも復活するでしょう
Comment from 野良猫
Time 2013年9月9日 at 21:42
自分は、容量の大きいディスクシステムは嫌いです。
性能はでないし、ディスクに障害が発生すると復元はできないはで大変です。
性能はでないし、ディスクに障害が発生すると復元はできないはで大変です。
Comment from okada
Time 2013年9月10日 at 03:19
野良猫さん
メインフレームと記憶装置の関係については後日掲載したいと思っています。
誤解があるといけないので、お伝え致しますが、
Hー6588ーLはRAIDです。
障害対策にかかる費用と時間を考えるとSLEDディスクはもう使えないでしょう
メインフレームと記憶装置の関係については後日掲載したいと思っています。
誤解があるといけないので、お伝え致しますが、
Hー6588ーLはRAIDです。
障害対策にかかる費用と時間を考えるとSLEDディスクはもう使えないでしょう
Comment from 野良猫
Time 2013年9月7日 at 17:52
最近は、実メモリが大きくもてるので、ロードモジュルの大半を常駐化できるのが良いのです。