CUPからスケジュールキューを使うSPP(キュー受信型サーバ)にサービスを要求した場合,要求先SPPがあるノードのスケジューラデーモンが,いったんサービス要求メッセージを受信し,該当するSPPのスケジュールキューに格納します。スケジューラデーモンとは,スケジュールサービスを提供するシステムデーモンのことです。
長大なサービス要求メッセージは,一定の長さに分割してスケジューラデーモンに送信します。スケジューラデーモンは,サービス要求メッセージを組み立ててキュー受信型サーバのスケジュールキューに格納します。スケジューラデーモンは,OpenTP1システムごとに1プロセスです。そのため,分割されたサービス要求メッセージの受信処理が完了するまで,スケジューラデーモンはほかのサービス要求メッセージを受信できません。通信速度が遅い回線を使用して,長大なサービス要求メッセージを送信した場合,ほかのサービス要求のスケジューリングが遅延することがあります。また,システムの大規模化,マシンやネットワークの高性能化などに伴って,効率良くスケジューリングできないことがあります。この場合,従来のスケジューラデーモンとは別に,サービス要求受信専用デーモンを複数プロセス起動し,サービス要求メッセージ受信処理を並行動作させることによって,スケジューリング遅延を回避できます。この機能をマルチスケジューラ機能といいます。以降,従来のスケジューラデーモンをマスタスケジューラデーモン,サービス要求専門デーモンをマルチスケジューラデーモンと呼びます。
マルチスケジューラ機能の検討が必要なシステム構成については,マニュアル「OpenTP1 プログラム作成の手引」を参照してください。
マルチスケジューラ機能を使用することで,複数起動されているマルチスケジューラデーモンの中から,利用できるマルチスケジューラデーモンをランダムに選択してサービス要求を送信できます。
マルチスケジューラデーモンをランダムに選択して,ネームサービスを使用しないRPC,または通常のRPCを実行できます。
クライアント環境定義DCSCDDIRECTにYを指定してネームサービスを使用しないRPCを行う場合,クライアント環境定義DCSCDPORTを指定しているかどうかで次のような違いがあります。
マルチスケジューラ機能を使用して,通常のRPC(ネームサービスを使用する)を行う場合について説明します。サービス情報を一時的に格納する領域に該当するサービス情報がない場合にネームサービスにサービス情報を問い合わせます。サービス情報を基にマルチスケジューラデーモンをランダムに選択してサービス要求を送信します。
マルチスケジューラ機能を使用した場合,サービス要求を送信するスケジューラデーモンはクライアント環境定義の指定によって異なります。
クライアント環境定義のオペランドの指定とスケジューラデーモンの関連を次の表に示します。
表2-2 クライアント環境定義のオペランドの指定とスケジューラデーモンの関連
クライアント環境定義のオペランドの指定 | サービス要求を送信するスケジューラデーモン | |||
---|---|---|---|---|
DCSCDMULTI | DCSCDDIRECT | DCSCDPORT | DCSCDMULTICOUNT | |
Y | Y | ○ | ○ | ランダムに選択したマルチスケジューラデーモン※1 |
- | DCSCDPORTに指定したポート番号で起動されているスケジューラデーモン | |||
- | ○ | スケジュールサービス定義 scdmultiの最初に定義した,-pオプションに指定したポート番号を基にして決めた,マルチスケジューラデーモンからランダムに選択したマルチスケジューラデーモン※2 | ||
- | ||||
N | ○ | ○ | サービス情報を基にランダムに選択したマルチスケジューラデーモン※2 | |
- | ||||
- | ○ | |||
- | ||||
N | Y | ○ | ○ | DCSCDPORTに指定したポート番号で起動されているスケジューラデーモン |
- | ||||
- | ○ | マスタスケジューラデーモン※2 | ||
- | ||||
N | ○ | ○ | ソケット受信型サーバ,またはマスタスケジューラデーモン※2 | |
- | ||||
- | ○ | |||
- |