トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 計算機システム、及び記録媒体
【発明者】 【氏名】佐藤 照男

【要約】 【課題】本発明は計算機システム、及び記録媒体に関し、クラスタと共有メモリにおけるデータ転送パスの論理的な接続関係を示す構成情報の読み出し、或いは設定や変更を行う処理を改善する。

【解決手段】複数の独立して動作するクラスタ1a〜1cと、それらに共有される複数の共有メモリ3a〜3cを備え、各クラスタ及び各共有メモリには、それぞれ構成制御レジスタ7a〜7c、8a〜8cを備えた計算機システムにおいて、構成制御レジスタに設定する構成情報の内、電源投入時に使用される初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加し、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図るようにした。
【特許請求の範囲】
【請求項1】複数の独立して動作するクラスタと、それらに共有される複数の共有メモリを備え、前記クラスタと共有メモリ間にデータ転送を行うためのデータ転送パスが装備されると共に、前記各クラスタ及び各共有メモリには、それぞれレジスタを備え、かつ、前記クラスタ及び共有メモリの初期化処理や前記レジスタの制御を行うためのサービスプロセッサを装備し、前記各サービスプロセッサ間が専用のサービスプロセッサ間通信パスを介して通信可能に接続され、前記サービスプロセッサが、前記クラスタと共有メモリにおけるデータ転送パスの論理的な接続関係を示す構成情報を決定し、その構成情報を前記レジスタに設定することで、任意のデータ転送パスの接続関係を可能とした計算機システムにおいて、前記レジスタに設定する構成情報の内、電源投入時に使用される初期情報を更新する際、一部装置の電源が切断状態にあっても、前記初期情報に時刻情報を付加し、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る初期情報同期手段を備えていることを特徴とした計算機システム。
【請求項2】電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する高速同期処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項3】データ転送パスの接続状態の変更によって、同時に初期情報の対応する部分を更新することで、常に、最新の構成情報を初期情報として保持し、次回の電源投入時には、前回の電源切断時点での構成情報のままでの運用を可能にする初期情報更新手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項4】自クラスタの共有メモリ接続処理が成功した時のみ、自クラスタと共有メモリを論理的に接続することで、クラスタ内の初期化に失敗したクラスタと共有メモリが接続されることを防ぎ、他クラスタとの初期化完了の待ち合わせを行ったり、初期化に失敗したクラスタが共有メモリと接続することのないように、初期情報を変更する必要を無くす成功時接続処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項5】電源投入された入出力装置が実際に使用可能となるまでの待ち合わせ完了後に、共有メモリの初期化完了待ちと、自クラスタとの接続処理を行うことにより、計算機群として、電源投入から使用可能になるまでに所要する時間を短縮する接続時処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項6】構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、実際にサービスプロセッサ間での通信が正常に行えたものの中から選択することにより、構成変更時におけるスケジューラサービスプロセッサの交替を不要とするスケジューラ選択手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項7】構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、共有メモリの電源制御権が遠隔操作状態にあるものがスケジューラサービスプロセッサとなるように優先させて選択することにより、保守中における頻繁な電源切断によるスケジューラの交替をなくすスケジューラ選択手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項8】構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラの交替には、その処理を開始する前にそれをクラスタに通知しておくことで、無駄なスケジューラサービスプロセッサに対する実行権の要求を省き、サービスプロセッサ間における通信のためのパスの負荷を減らす通知手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項9】OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令の処理において、処理を分割することにより、操作の完了までに許される時間を越えてしまいそうな時、それを事前に検出し処理を強制的に終了させることによって、その時間を越えてしまうことを回避し、OSがシステムダウンとならないようにする命令処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項10】構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、個々の処理を優先順位別に幾つか分類し、優先順位の高いものから動作させるスケジューラ処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項11】構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、構成情報の変更を目的とした操作が行われようとしているかを確認することにより、構成情報の変更が行われるまでの間は構成情報の読み出しが同時に可能となることから、複数のクラスタ間での同時IPL実行によって、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令の競合する場合に、個々の命令の実行時間が短縮され、OSを起動してから実際に使用可能となるまでの時間を短縮可能にするスケジューラ処理手段を備えていることを特徴とした請求項1記載の計算機システム。
【請求項12】複数の独立して動作するクラスタと、それらに共有される複数の共有メモリを備え、前記クラスタと共有メモリ間にデータ転送を行うためのデータ転送パスが装備されると共に、前記各クラスタ及び各共有メモリには、それぞれレジスタを備え、かつ、前記クラスタ及び共有メモリの初期化処理や前記レジスタの制御を行うためのサービスプロセッサを装備し、前記各サービスプロセッサ間が専用のサービスプロセッサ間通信パスを介して通信可能に接続され、前記サービスプロセッサが、前記クラスタと共有メモリにおけるデータ転送パスの論理的な接続関係を示す構成情報を決定し、その構成情報を前記レジスタに設定することで、任意のデータ転送パスの接続関係を可能とした計算機システムのコンピュータに、初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加させ、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る手順と、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する手順を、実行させるためのプログラムを記録したコンピュータ読み出し可能な記録媒体。
【発明の詳細な説明】【0001】
【発明の属する技術分野】本発明は、複数の独立して動作する汎用計算機(以下「クラスタ」と呼ぶ)と、それらのクラスタに共有される高速アクセス可能な共有メモリ(System Storage Unit :以下SSUと呼ぶ)からなる汎用計算機群を有する計算機システムに利用されるものである。
【0002】
【従来の技術】以下、図に基づいて従来例を説明する。
§1:計算機群と、該計算機群の電源投入時に使用される初期情報を変更する際の説明(1) :計算機システムの説明・・・図12参照図12は従来の計算機システム構成図であり、汎用計算機と共有メモリからなる計算機群を有する計算機システムの例を示した図である。従来、図12に示したように、複数の独立して動作する汎用計算機(以下「クラスタ」と呼ぶ)1a(「CL−0」とする)、1b(「CL−1」とする)、1c(「CL−2」とする)・・・1n(「CL−n」とする)と、それらのクラスタ1a〜1nに共有される高速アクセス可能な共有メモリ(System Storage Unit :以下「SSU」と呼ぶ)3a(「SSU−0」とする)、3b(「SSU−1」とする)、3c(「SSU−2」とする)・・・3m(「SSU−m」とする)からなる汎用計算機群を有する計算機システムが知られていた。
【0003】前記計算機群においては、個々のクラスタ1a〜1nとSSU3a〜3mの間にはデータを転送するためのパス6が装備され(以下このパスのことを「データ転送パス」と呼ぶ)、個々のクラスタとSSUに装備されているハードウェアレジスタ(以下「構成制御レジスタ」と呼ぶ)7a〜7n、8a〜8mの値によって論理的な接続関係が決定される。
【0004】汎用計算機群が動作するために、全てのデータ転送パス6が論理的に接続されている必要はなく、また顧客の業務量の変化にともなう運用形態の変化にも柔軟に対応できるようにするため、データ転送パス6の論理的な接続関係は予め自由に設定しておくことができる。この例では、クラスタ1a(CL−0)、1b(CL−1)、1c(CL−2)と、SSU3a(SSU−0)、3b(SSU−1)、3c(SSU−2)のデータ転送パス6が論理的に接続されている。
【0005】また、前記計算機群において、個々のクラスタやSSUには、前記構成制御レジスタの読み出しや書き込みを行ったり、初期化を行うためのサービスプロセッサ(Service processor:以下「SVP」と呼ぶ)が装備されている。すなわち、クラスタCL−0にはCL−0SVP2aが接続され、クラスタCL−1にはCL−1SVP2bが接続され、クラスタCL−2にはCL−2SVP2cが接続され、クラスタCL−nにはCL−nSVP2nが接続されている。
【0006】更に、共有メモリSSU−0にはSSU−0SVP4aが接続され、共有メモリSSU−1にはSSU−1SVP4bが接続され、共有メモリSSU−2にはSSU−2SVP4cが接続され、共有メモリSSU−mにはSSU−mSVP4mが接続されている。そして、前記SVP間の通信を行うための専用のSVP間通信パス5が設けてある。
【0007】また、前記CL−0SVP2a〜CL−nSVP2nには、それぞれ磁気ディスク装置10a〜10nが接続されると共に、SSU−0SVP4a〜SSU−mSVP4mには、それぞれ磁気ディスク装置11a〜11mが接続されている。
【0008】(2) :計算機群の電源投入時に使用される初期情報を変更する際の説明前記構成の計算機システムにおいて、前記磁気ディスク装置のディスク上にデ−タ転送パス6の論理的な接続関係をデータとして予め設定、格納しておき、電源投入時にその接続関係に関する情報を読み出し、その情報に従い構成制御レジスタに書き込む値を決定し、設定することで、任意なデータ転送パスの接続関係を可能とする。
【0009】この場合、電源投入時における接続関係に関する情報の読み出しや構成制御レジスタへの書き込みといった一連の処理を「初期構成制御」と呼び、電源投入時に使用される、予め設定されたデータ転送パス6との接続関係に関する情報を「初期情報」と呼ぶ。
【0010】前記初期情報は、任意のクラスタからの操作によって作成が可能であり、一回の操作で全てのSVPの磁気ディスク装置に対し、データ転送パス6とは別に設けられた専用のパスを用いて書き込みが行われる。このときのデータ転送パス6とは別に設けられた専用のパスをSVP間通信パス5とし、該SVP間通信パス5を用いたSVP間でのデータのやりとりを「SVP間通信」と呼ぶ。
【0011】前記SVP間通信パス5に異常をきたしていたり、或いはSVP間通信の相手となるSVPが電源切断状態にあるような場合にはデータのやりとりができないため、そのSVPに対する初期情報の書き込みが不可能となる。従ってこのような場合における初期情報の作成において、個々のSVPが持つ初期情報は不一致となる。
【0012】このため初期構成制御では、自SVPが持つ情報に従った制御を行うことから、本来であれば完全に共有されるはずのSSUが一部あるいは全てで共有されない、といった事態が発生する。このようにSSU内のデータが完全に共有されていない場合には、個々のクラスタから参照したSSUのデータに不一致を生じ、計算機としての動作は保証されないため、何らかの手段により事前に防止しなければならない。
【0013】従来の技術では、このような場合において初期構成制御を失敗させていた。また初期構成制御を正常に完了させるためには、初期情報の書き込みが失敗する要因(SVP間通信パス5の異常、或いは任意のSVPが電源切断状態)を全て取り除いた上で、全てのSVPに対する初期情報の書き込みを再度行い、なおかつそれが全てのSVPに対して正常に終了させなければならなかった。
【0014】§2:障害装置に対する初期値変更の説明任意台数のクラスタとSSUからなる汎用計算機群(以下この汎用計算機群を「サブシステム」と呼ぶ)において、サブシステムの運用中に任意のクラスタ或いはSSUにおいて重大な障害が発生し、その障害がサブシステム内の他の装置に影響を及ぼし、障害が発生した装置を除けばサブシステムとしての運用が継続可能であるような場合、その汎用計算機群は障害発生装置をサブシステムから切り離すことにより運用を継続する。
【0015】しかし、そのような状態において顧客の業務が終了し、計算機群の電源が切断され、翌日の運用開始時までに障害が復旧できていなかった場合には、初期情報における設定のためにその装置をサブシステムに組み入れての運用開始となるため、再度障害が発生することは明らかであり、運用が開始されてから再度サブシステムからの切り離しが行われることとなる。
【0016】以下にその例について説明する。例えば、クラスタ0(CL−0)〜3(CL−3)と、SSU0(SSU−0)と1(SSU−1)からなるサブシステムにおいて、現在の論理的なデータ転送パス6の接続関係である構成は初期情報に記されたものと同じであるとする。
【0017】このようなサブシステムの運用中にクラスタ0(CL−0)で障害が発生したこととする。障害発生時、クラスタ1(CL−1)、或いはクラスタ2(CL−2)、クラスタ3(CL−3)などはクラスタ0(CL−0)の障害がサブシステムに影響を与えることを防ぐためにクラスタ0(CL−0)をサブシステムから切り離す操作を行う。
【0018】しかし、初期情報においては依然としてクラスタ0(CL−0)はサブシステム内の装置として組み込まれたままである。このときサブシステムは業務を終了したため電源切断処理を行い、次回の電源投入時には再びクラスタ0(CL−0)はサブシステム内の装置となる。また発生した障害の復旧も完了していないために再び同じ障害を発生し切り離しが行われてしまう。
【0019】従来技術ではこのような事態を回避させるために、予め各SVPの磁気ディスク装置上に書き込まれている初期情報において、その障害発生装置をサブシステムから切り離すことによって、運用が開始されてから切り離しが行われないよう初期情報そのものを更新しておく必要があり、そのような場合には、障害復旧時において再び障害発生以前の初期情報の内容に戻す作業が必要であった。また操作員が初期情報を更新しないと障害を復旧するまでは同じ障害が発生し、保守用員が情報の収集に追われるなど周囲の混乱を招く問題もある。
【0020】§3:初期化失敗時における縮退処理の説明(1) :初期化失敗時の説明クラスタおよびSSUは、それらの電源投入時にクラスタ−SSU間のデータ転送パス6の接続関係を記した初期情報を参照し、その内容に従い接続関係を制御する構成制御レジスタへの設定値を決定し、設定する。これらをそれぞれクラスタとSSUが行うことにより、クラスタとSSUとの間が論理的に接続された状態となり、クラスタではSSUを使用できることを可能にしている。
【0021】クラスタSVPでは、自クラスタの電源投入の中で自クラスタを構成するCPUやメモリなどの各装置の初期化を行った後に初期情報を参照し、自クラスタの構成制御レジスタへの設定を行う。また初期情報を参照する前処理として、データ転送パス6とは異なるSVP間通信パス5を用いてSVP間での通信を行うことにより、実装されている全てのクラスタとの初期化完了を一定時間待ち合わせを行う。
【0022】また、初期情報によってSSUと接続することになっているクラスタにおいて、CPUの異常等により初期化が失敗していることが検出されたり、一定時間の待ち合わせの内に初期化が完了、或いはSVP間通信パス5の異常によって初期化状態の確認が行えない場合には、初期情報においてそのクラスタをSSUとは接続しないように変更し(初期情報において初期化失敗等のクラスタをSSUとは接続しないようにすることを「縮退」という)処理を継続する。
【0023】(2) :図13は従来のクラスタSVPにおけるSSU組み込み処理フローチャートである。以下、図13に基づいて、クラスタSVPにおけるSSU組み込み処理を説明する。なお、S1〜S11は各処理ステップを示す。
【0024】先ず、クラスタの電源投入処理が開始されると(S1)、クラスタSVP2a〜2nでは、内部のCPUやメモリの初期化を行い(S2)、自クラスタにおける初期化処理が正常終了したか否かを判断する(S3)。その結果、初期化処理が正常終了しない場合は、クラスタ電源投入処理を異常終了する(S11)。
【0025】しかし、前記初期化処理が正常終了した場合は、他のクラスタが実装されているか否かを判断し(S4)、他のクラスタが実装されている場合は、他のクラスタでの初期化状態の読み出しを行い(S5)、初期化状態の読み出しが失敗したか否か、或いは初期化処理が失敗したか否かを判断する(S6)。その結果、初期化状態の読み出しが失敗したか、或いは初期化処理が失敗した場合は、初期化情報において該当クラスタを切り離すようデータの変更(縮退処理)を行う(S7)。
【0026】その後、全てのクラスタの初期化状態チェックが終了したか否かを判断し(S8)、終了していなければ前記S5の処理から繰り返して行う。また、前記S6の処理で、初期化状態の読み出しが失敗せず、初期化処理も失敗しなかった場合は、前記S8の処理を行う。
【0027】前記のようにして、全てのクラスタの初期化状態チェックが終了したら、初期化情報に従い、ハードウェアレジスタである、構成制御レジスタの設定を行う(S9)。前記処理が終了すると、クラスタ電源投入処理を正常終了する(S10)。また、前記S4の処理で、他のクラスタが実装されていない場合には、前記S9の処理を行う。
【0028】前記のような従来の処理において、あるクラスタで初期化完了が遅れたり、初期化は正常に完了しているが通信が可能となるのが遅れたために初期化状態を確認できなかった場合において、通信が可能となるのが遅れなければ正常に初期化され計算機群としての運用が可能であるにもかかわらず、縮退処理が行われることから、意図した構成よりも小さい構成で計算機群が運用してしまう、という課題があった。
【0029】§4:電源投入処理に要する時間が長時間化していくことに関する説明(1) :電源投入処理の説明クラスタSVPが、その電源投入時に行う処理を幾つかに分けることができる。すなわち、クラスタに接続されているDASDやプリンタ装置などのI/O装置(入出力装置)の電源投入処理、クラスタ内のCPUやメモリなどの装置の初期化処理、各クラスタでの初期化完了待ち合わせとクラスタへのSSU組み込み処理、I/O装置が電源投入されてから実際に使用可能となるまでの待ち合わせなどである。
【0030】そしてこれらの処理は順番に実行される。前記I/O装置が電源投入されてから使用可能となるまでの時間や、SSU組み込み処理などはクラスタの初期化処理に比べ非常に長時間を要する。これはSSU(共有メモリ)のメモリ容量がクラスタのメモリ容量に比べてはるかに大容量であることなどが原因となっている。このため、計算機群の中のI/O装置台数の増加、SSUの台数やメモリの容量の増加によって計算機群を電源投入してから実際に使用可能となるまでの時間は増加する、という課題があった。
【0031】(2) :フローチャートによる電源投入処理の説明・・・図14参照図14は電源投入処理フローチャートである。以下、図14に基づいてクラスタSVPが行う電源投入処理を説明する。なお、S21〜S32は各処理ステップを示す。
【0032】先ず、クラスタ電源の投入処理が開始されると(S21)、クラスタSVPは、内部のCPUやメモリの初期化を行い(S22)、SSUの初期化完了待ちを開始する(S23)。この時、SSU初期化処理が開始され(S24)、SSUの初期化処理が行われ(S25)、その後SSUの初期化処理を完了する(S26)。
【0033】この間、クラスタSVPは、SSUの初期化が完了しているか否かを判断し(S27)、完了していなければ、SSU初期化待ち合わせ時間内であるか否かを判断し(S28)、SSU初期化待ち合わせ時間内であれば、前記S27の処理を行う。
【0034】このようにして、SSU初期化待ち合わせ時間内でなくなると、クラスタSVPはI/Oレディ待ちを開始し(S29)、I/Oレディ待ち時間内であるか否かを判断し(S30)、I/Oレディ待ち時間内であれば、そのまま待つ。このようにして、I/Oレディ待ち時間内で無くなると、OS(オペレーティング・システム)のIPL(イニシャル・プログラム・ローダ)によるロード処理を行い(S31)、クラスタ電源投入処理を終了する(S32)。
【0035】§5:スケジューラSVPの交替による処理の長時間化と負荷増大、制御の繁雑化とスケジューラSVPの不在が招くことに関する説明・・・図15参照図15は従来の構成変更と読み出しが競合する例を示した図である。図15において、縦方向は時間経過tを示し、横方向はCL−0SVP、CL−1SVP、SSU−0SVP、SSU−1SVPの各処理を示す。
【0036】複数のクラスタとSSUからなる計算機群において、それらのデータ転送パス6の接続状態を示す構成情報の読み出しや変更を行う時において、任意のクラスタがこの構成情報を読み出している最中に、他のクラスタにおいて構成情報の変更を行うと構成変更処理中の中途半端な構成情報が読み出されてしまうことがある。
【0037】図15の例では、クラスタ0(CL−0)、クラスタ1(CL−1)がSSU0(SSU−0)、SSU1(SSU−1)にオンライン状態であることを示している。この時クラスタ0(CL−0)では構成情報の読み出しを行い、クラスタ1ではSSU1をクラスタ0、1に対してオフラインとなるよう構成情報の変更を行ったとする。
【0038】構成情報の変更は、クラスタ0、クラスタ1、SSU0、SSU1の順に変更の対象となるクラスタや、SSUのデータ転送パス6の接続状態を構成制御レジスタの値を変更することによって行われる。また、この変更はほぼ同時に行われるが、個々の装置にあるSVPが構成制御レジスタを書き換えるために完全に同期して行うことはできず、若干の時間差が生じる。
【0039】ここでの例によれば、クラスタ0の変更が終わり、クラスタ1での変更を行うまでの間にクラスタ0からの構成情報の読み出しを行うと、クラスタ0はSSU0とのみオンライン状態であり、クラスタ1はSSU0、SSU1とオンラインであるようになってしまい、クラスタ1での構成変更後の状態と異なるという矛盾を生じてしまう。またOSとしてその状態は再度構成情報の読み出しを行うまで継続されてしまう。
【0040】このような構成情報の変更途中での構成情報の読み出しを防ぐため、これらの処理を排他的に動作させる必要があり、この排他的に動作するように制御する機構を「スケジューラ」、或いは「スケジューラ機構」という。そして一個の物理的な計算機群に複数ある物理SSUの内、任意の一台をしかるべき論理により決定し、そこでのSSUにおいてのみスケジューラ機構を動作させる。またスケジューラ機構が動作しているSSU−SVPを「スケジューラSVP」と呼ぶ。
【0041】従来は、クラスタとSSUの電源投入直後において、任意のクラスタとデータ転送パス6が論理的に接続されたオンライン状態にあるSSUの内、最も若い番号であるSSUをスケジューラSVPとして決定している。また構成情報が変更され、スケジューラとして動作しているSSUが全てのクラスタとオフラインになると、そのSSU−SVPはスケジューラSVPでなくなり、再度任意のクラスタとオンライン状態にあるSSUの内、最も若い番号であるSSUをスケジューラSVPとし、全てのSSUが全てのクラスタとオフラインであるとスケジューラSVPが不在の状態となる。
【0042】本来なら、このような場合には構成情報の読み出しが不可能となるが、スケジューラSVPが不在となることに対して、スケジューラSVPが不在であれば全てのクラスタとSSUはオフラインとしていた。また、スケジューラSVPが変更された時、或いは新規に決定された時には、同時にSSUとの接続状態に関係なく全てのクラスタSVPに対して、そのことをデータ転送パス6とは別のSVP間通信パス5を用いたSVP間での通信により通知する機構を持つ。
【0043】このような従来の方式は、オンライン状態の変更によりスケジューラSVPが変更される場合があること、そして、クラスタSVPへの通信には計算機自身が持つ動作速度に比較してはるかに遅いSVP間通信パス5を用いているため、構成情報の変更に必要な処理時間を増大させている問題がある。言い換えれば、スケジューラSVPとなるための条件として任意のクラスタとオンラインであることは、スケジューラSVPの変更を行うために構成情報の変更に要する時間を増大させ、計算機群としての動作速度を遅くさせる問題がある。
【0044】そして、運用中に任意のSSUでの異常を検出し、そのSSUを計算機群から論理的に切り離す動作をOSから自動的に行われた時、それぞれのクラスタでは最初の構成情報の読み出しを行うため、複数のクラスタからの構成情報読み出しが同時に行われないように設けたスケジューラ機構が繁忙な状態に陥るばかりでなく、SVP間の通信パスの負荷が高くなる。
【0045】このような状態でスケジューラSVPの交替が発生することは、更にSVP間通信パス5の負荷が上がることは想像に難くなく、自ら制御を複雑にしている問題がある。更に、このような方式ではシステムの大規模化に対応させるため、複数のクラスタやSSUとは別に設けた独立した一つの装置(以下「外部装置」と言い、主にクラスタやSSUとのデータ転送パスの論理的な接続関係を読み出しや変更を行ったり、これらの電源状態の制御を行う機能を持っている)を、SVP間通信パス5を用いてクラスタやSSUとのデ−タ転送パス6との接続関係を読み出したり、変更したりすることを可能にさせた場合、スケジューラSVPが不在であることにより、これらの操作はできなくなってしまう課題があった。
【0046】§6:スケジューラ機構の制御方式に起因した処理時間の長時間化の問題の説明・・・図16、図17参照図16は従来のスケジューラ機構による排他制御シーケンス(その1)、図17は従来のスケジューラ機構による排他制御シーケンス(その2)である。図16、図17において、縦方向は時間経過tを示し、横方向はCL−0SVP、CL−1SVP、CL−2SVP、CL−3SVP、SSU−0SVP、SSU−1SVPの各処理を示す。
【0047】構成情報の読み出しや変更を行うための操作として、個々のクラスタSVPに装備された入出力装置の画面からによる方法と、OSによるCPU命令からによる方法(以下、OSによるCPU命令からの構成情報の読み出しや変更の操作を総称して「構成制御DIAG命令」と呼ぶ)とがある。これらによる操作は構成情報の変更中の過渡的な状態が読み出されることのないようスケジューラ機構により逐次実行されるように制御される。
【0048】従来技術におけるスケジューラ機構の制御は以下のようにして行っている。スケジューラSVPには待ち行列が一個あり、これはクラスタSVPからの構成情報の読み出しや、変更が指示された時に複数のクラスタSVPにおいてそれらを同時に実行させないために、クラスタSVPがSSU−SVPに対してSVP間の通信により排他実行権を要求するが、この実行権を既に与えているクラスタ、および実行権が与えられることを待ち受けているクラスタの装置番号を格納することにより使用される。
【0049】また、この実行権は、同時に複数のクラスタSVPに与えられることはないものとする。クラスタSVPの操作により構成情報の読み出しなどを行う時、スケジューラSVPは、この待ち行列に対して既に実行権を与えられているクラスタSVPが存在しないかを検査する。実行権を与えられたクラスタSVPが存在する場合には、待ち行列の最後尾に実行権の要求を行ったクラスタSVPの番号を格納し、実行権がSSU−SVPによって与えられるまで待機状態であることを返信し、実行権を与えられているクラスタが存在しない場合には、待ち行列の先頭に要求を行ったクラスタの番号を格納し、同時にそのクラスタに実行権を与えそれを返信し、それを受けたクラスタSVPでは本来の構成情報の読み出しなどの処理を行い、処理の終了後実行権を返却する。
【0050】また、実行権を与えてから返却が行われるまでスケジューラ機構では、実行権を与えた時と同時に、クラスタSVPからの返却を一定時間監視を行い、一定時間の間に実行権が返却されなかったり、或いは正常に実行権が返却された場合には、待ち行列の先頭に格納されている実行権を与えたクラスタの番号を削除し、待ち行列をそれぞれ一個ずつ前につめ、待ち行列の先頭の内容をチェックし、他のクラスタSVPが実行権を与えられていることにより待機状態となっているクラスタSVPの存在を検査し、存在した場合にはそのクラスタSVPに対して実行権を与えることを通知し、それを受けたクラスタSVPでは本来の構成情報の読み出し等の処理を行い、終了後には実行権を返却する。
【0051】そして、SSU−SVPにおける構成情報の読み出しなどの処理では、処理の開始時に実行権が与えられたクラスタSVPからの処理であることの確認を行い、実行権が与えられていないクラスタSVPからの指示は仰止することで構成情報の読み出しなどの同時実行を防止する。このように複数のクラスタSVPから同時に実行されることのないような制御を行うために、待ち行列に格納されているクラスタのうち先頭から実行権を与えている。
【0052】このような制御においては、待ち行列の後半に位置するクラスタほど実際の処理の開始が遅れることとなる。一方で、構成情報の読み出しや変更の操作はその操作を行ったクラスタSVPが各々のSSU−SVPとSVP間通信を行い、その指示を受けたSSU−SVPがデータ転送パスの接続状態の制御する構成制御レジスタを読み出したり、変更しており、SVP間通信が他のSVPの機能に比べ非常に動作速度が遅いことから構成情報の読み出しや変更に関する処理の時間は長時間(500msec 〜 1500msec 程度)に及んでしまう問題がある。
【0053】更に、構成制御DIAG命令は、クラスタSVPに装備された入出力装置からの操作とは異なり、運用中の計算機システムに与える影響が大きいことから実行開始から完了までに与えられる時間に制限(構成制御DIAG命令の種別により異なるが最短のもので8秒のものがある)があり、制限時間内に処理を完了できなかった場合にはシステムダウンとなってしまう。
【0054】従来の技術においては、複数のクラスタから構成情報の読み出し等の同時実行を制御するための待ち行列が一個しかない。このためクラスタSVPに装備された入出力装置からの操作など比較的完了までに許される時間に余裕のあるものから処理の完了までに許される時間に制限があり、かつ、それが短いものまで、そのような要因とは無関係に実行権を与える制御が行われていた。
【0055】そして、待ち行列が長くなると、待ち行列の後半に位置するクラスタほど実際の処理の開始が遅れること、SVP間通信を用いることにより構成情報の読み出し等は時間がかかること、そして構成制御DIAG命令には命令の完了までに許される時間に制限があることなどを考えた時、複数のクラスタで構成情報の読み出しを構成制御DIAG命令によって行うと、待ち行列の後方に位置して実処理の遅れたクラスタにおいてシステムダウンが発生してしまう問題がある。
【0056】図16、図17にその例を示す。図ではクラスタ3での構成情報の読み出しが実行権待ちの時間切れで処理を異常終了となることを示しており、クラスタ3でシステムダウンが発生することを示している。
【0057】
【発明が解決しようとする課題】前記のような従来のものにおいては、次のような課題があった。
(1) :前記計算機群の電源投入時に使用される初期情報を変更する際、次のような課題があった。すなわち、前記初期構成制御では自SVPが持つ情報に従った制御を行うことから、本来であれば完全に共有されるはずのSSUが一部或いは全てで共有されない、といった事態が発生する。このように、SSU内のデータが完全に共有されていない場合には個々のクラスタから参照したSSUのデータに不一致を生じ、計算機としての動作は保証されないため、何らかの手段により事前に防止しなければならない。
【0058】しかし、従来の技術では、このような場合において初期構成制御を失敗させていた。また初期構成制御を正常に完了させるためには、初期情報の書き込みが失敗する要因(通信パスの異常あるいは任意のSVPが電源切断状態)を全て取り除いた上で、全てのSVPに対する初期情報の書き込みを再度行い、なおかつ、それが全てのSVPに対して正常に終了させなければならない、という課題があった。
【0059】(2) :障害装置に対する初期値の変更を行う場合、次のような課題があった。すなわち、従来技術では、予め各SVPの磁気ディスク装置上に書き込まれている初期情報において、その障害発生装置をサブシステムから切り離すことによって、運用が開始されてから切り離しが行われないよう初期情報そのものを更新しておく必要があった。
【0060】そのような場合には、障害復旧時において再び障害発生以前の初期情報の内容に戻す作業が必要であった。また操作員が初期情報を更新しないと障害を復旧するまでは同じ障害が発生し、保守用員が情報の収集に追われるなど周囲の混乱を招く、という課題があった。
【0061】(3) :初期化処理失敗時における縮退処理に関して、前記のような従来の処理においては、次のような課題があった。すなわち、或るクラスタで初期化完了が遅れたり、初期化は正常に完了しているが通信が可能となるのが遅れたために初期化状態を確認できなかった場合において、通信が可能となるのが遅れなければ正常に初期化され計算機群としての運用が可能であるにもかかわらず、縮退処理が行われることから、意図した構成よりも小さい構成で計算機群が運用してしまう、という課題があった。
【0062】(4) :前記電源投入処理では次のような課題があった。前記のように、クラスタSVPがその電源投入時に行う処理を幾つかに分けることができる。すなわち、クラスタに接続されているDASDやプリンタ装置などのI/O装置の電源投入処理、クラスタ内のCPUやメモリなどの装置の初期化処理、各クラスタでの初期化完了待ち合わせとクラスタへのSSU組み込み処理、I/O装置が電源投入されてから実際に使用可能となるまでの待ち合わせなどである。
【0063】そしてこれらの処理は順番に実行される。前記I/O装置が電源投入されてから使用可能となるまでの時間や、SSU組み込み処理などはクラスタの初期化等の処理に比べ非常に長時間を要する。これはSSUのメモリ容量がクラスタのメモリ容量に比べてはるかに大容量であることなどが原因となっている。このため、計算機群の中のI/O装置台数の増加、SSUの台数やメモリの容量の増加によって計算機群を電源投入してから実際に使用可能となるまでの時間は増加する、という課題があった。
【0064】(5) :前記のような従来の方式は、オンライン状態の変更によりスケジューラSVPが変更される場合があること、そして、クラスタSVPへの通信には計算機自身が持つ動作速度に比較してはるかに遅いSVP間通信パス5を用いているため、構成情報の変更に必要な処理時間を増大させている問題がある。言い換えれば、スケジューラSVPとなるための条件として任意のクラスタとオンラインであることはスケジューラSVPの変更を行うために構成情報の変更に要する時間を増大させ、計算機群としての動作速度を遅くさせる問題がある。
【0065】そして、運用中に任意のSSUでの異常を検出し、そのSSUを計算機群から論理的に切り離す動作をOSから自動的に行われた時、それぞれのクラスタでは最初の構成情報の読み出しを行うため、複数のクラスタからの構成情報読み出しが同時に行われないように設けたスケジューラ機構が繁忙な状態に陥るばかりでなく、SVP間の通信パスの負荷が高くなる。
【0066】このような状態でスケジューラSVPの交替が発生することは、更にSVP間通信パス5の負荷が上がることは想像に難くなく、自ら制御を複雑にしている問題がある。更に、このような方式ではシステムの大規模化に対応させるため、複数のクラスタやSSUとは別に設けた独立した一つの装置(外部装置)をSVP間通信パス5を用いてクラスタやSSUとのデータ転送パス6との接続関係を読み出したり、変更したりすることを可能にさせた場合、スケジューラSVPが不在であることにより、これらの操作はできなくなってしまう、という課題があった。
【0067】(6) :従来の技術においては、複数のクラスタから構成情報の読み出し等の同時実行を制御するための待ち行列が一個しかない。このためクラスタSVPに装備された入出力装置からの操作など、比較的完了までに許される時間に余裕のあるものから処理の完了までに許される時間に制限があり、かつ、それが短いものまで、そのような要因とは無関係に実行権を与える制御が行われていた。
【0068】そして、待ち行列が長くなると、待ち行列の後半に位置するクラスタほど実際の処理の開始が遅れること、SVP間通信を用いることにより構成情報の読み出し等は時間がかかること、そして構成制御DIAG命令には命令の完了までに許される時間に制限があることなどを考えた時、複数のクラスタで構成情報の読み出しを構成制御DIAG命令によって行うと、待ち行列の後方に位置して実処理の遅れたクラスタにおいてシステムダウンが発生してしまう、という課題があった。
【0069】本発明は、前記のような従来の課題を解決することを目的としたものであり、特に、クラスタと共有メモリにおけるデータ転送パスの論理的な接続関係を示す構成情報の読み出し、或いは設定や変更を行う処理を改善することにより、■:初期情報の作成時にサービスプロセッサ間における通信パスの異常や、電源切断状態の装置があることで、初期情報の不一致が生じても、初期構成制御を正常に完了させることを可能とし、■:初期構成制御に要する時間を短縮し、■:障害の復旧が遅れても、再度その装置をサブシステムに組み込むことによって発生するトラブルを未然に防いだり、自動的に初期情報が更新されるため操作員が初期情報の更新を怠り再度障害が発生することを防ぎ、■:各クラスタ間におけるサービスプロセッサ間通信が必ず正常に操作していなければならないという制限を無くし、何らかの理由により初期化が遅れた場合などにも共有メモリと接続できるようにし、■:計算機群全体として電源投入してから実際に使用可能となるまでの時間を短縮し、■:全てのクラスタと共有メモリの間でオフラインとなっていることによりスケジューラSVPが不在となる状態を無くし、■:実処理の遅れたクラスタにおいてシステムダウンが発生してしまうことを防止し、■:障害発生時における計算機群としての種々の動作を迅速に行うことを可能にすることを目的とする。
【0070】
【課題を解決するための手段】図1は本発明の原理説明図である。図1において、1a、1b、1cはクラスタ(汎用計算機)、2a、2b、2cはクラスタサービスプロセッサ(クラスタSVP)、3a、3b、3cは共有メモリ(SSU)、4a、4b、4cは共有メモリサービスプロセッサ(SSU−SVP)、5はSVP間通信パス、6はデータ転送パス、7a、7b、7cはクラスタ側の構成制御レジスタ、8a、8b、8cは共有メモリ側の構成制御レジスタを示す。本発明は前記の目的を達成するため、次のように構成した。
【0071】(1) :複数の独立して動作するクラスタ1a、1b、1cと、それらに共有される複数の共有メモリ3a、3b、3cを備え、前記クラスタと共有メモリ間にデータ転送を行うためのデータ転送パス6が装備されると共に、前記各クラスタ及び各共有メモリには、それぞれレジスタ(構成制御レジスタ7a、7b、7c、8a、8b、8c)を備え、かつ、前記クラスタ及び共有メモリの初期化処理や前記レジスタの制御を行うためのサービスプロセッサ(2a、2b、2c、4a、4b、4c)を装備し、前記各サービスプロセッサ間が専用のサービスプロセッサ間通信パス5を介して通信可能に接続され、前記サービスプロセッサが、前記クラスタと共有メモリにおけるデータ転送パス6の論理的な接続関係を示す構成情報を決定し、その構成情報を前記レジスタに設定することで、任意のデータ転送パス6の接続関係を可能とした計算機システムにおいて、前記レジスタに設定する構成情報の内、電源投入時に使用される初期情報を更新する際、一部装置の電源が切断状態にあっても、前記初期情報に時刻情報を付加し、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る初期情報同期手段を備えている。
【0072】(2) :前記計算機システムにおいて、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する高速同期処理手段を備えている。
【0073】(3) :前記計算機システムにおいて、データ転送パスの接続状態の変更によって、同時に初期情報の対応する部分を更新することで、常に、最新の構成情報を初期情報として保持し、次回の電源投入時には、前回の電源切断時点での構成情報のままでの運用を可能にする初期情報更新手段を備えている。
【0074】(4) :前記計算機システムにおいて、自クラスタの共有メモリ接続処理が成功した時のみ、自クラスタと共有メモリを論理的に接続することで、クラスタ内の初期化に失敗したクラスタと共有メモリが接続されることを防ぎ、他クラスタとの初期化完了の待ち合わせを行ったり、初期化に失敗したクラスタが共有メモリと接続することのないように、初期情報を変更する必要を無くす成功時接続処理手段を備えている。
【0075】(5) :前記(1) の計算機システムにおいて、電源投入された入出力装置が実際に使用可能となるまでの待ち合わせ完了後に、共有メモリの初期化完了待ちと、自クラスタとの接続処理を行うことにより、計算機群として、電源投入から使用可能になるまでに所要する時間を短縮する接続時処理手段を備えている。
【0076】(6) :前記(1) の計算機システムにおいて、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、実際にサービスプロセッサ間での通信が正常に行えたものの中から選択することにより、構成変更時におけるスケジューラサービスプロセッサの交替を不要とするスケジューラ選択手段を備えている。
【0077】(7) :前記(1) の計算機システムにおいて、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジーラ機構を動作させるための共有メモリサービスプロセッサを、共有メモリの電源制御権が遠隔操作状態にあるものがスケジューラサービスプロセッサとなるように優先させて選択することにより、保守中における頻繁な電源切断によるスケジューラの交替をなくすスケジューラ選択手段を備えている。
【0078】(8) :前記(1) の計算機システムにおいて、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラの交替には、その処理を開始する前にそれをクラスタに通知しておくことで、無駄なスケジューラサービスプロセッサに対する実行権の要求を省き、サービスプロセッサ間における通信のためのパスの負荷を減らす通知手段を備えている。
【0079】(9) :前記(1) の計算機システムにおいて、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令を処理する際、処理を分割することにより、操作の完了までに許される時間を越えてしまいそうな時、それを事前に検出し処理を強制的に終了させることによって、その時間を越えてしまうことを回避し、OSがシステムダウンとならないようにする命令処理手段を備えている。
【0080】(10):前記(1) の計算機システムにおいて、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、個々の処理を優先順位別に幾つか分類し、優先順位の高いものから動作させるスケジューラ処理手段を備えている。
【0081】(11):前記(1) の計算機システムにおいて、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、構成情報の変更を目的とした操作が行われようとしているかを確認することにより、構成情報の変更が行われるまでの間は構成情報の読み出しが同時に可能となることから、複数のクラスタ間での同時IPL実行によって、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令の競合する場合に、個々の命令の実行時間が短縮され、OSを起動してから実際に使用可能となるまでの時間を短縮可能にするスケジューラ処理手段を備えている。
【0082】(12):複数の独立して動作するクラスタと、それらに共有される複数の共有メモリを備え、前記クラスタと共有メモリ間にデータ転送を行うためのデータ転送パスが装備されると共に、前記各クラスタ及び各共有メモリには、それぞれレジスタを備え、かつ、前記クラスタ及び共有メモリの初期化処理や前記レジスタの制御を行うためのサービスプロセッサを装備し、前記各サービスプロセッサ間が専用のサービスプロセッサ間通信パスを介して通信可能に接続され、前記サービスプロセッサが、前記クラスタと共有メモリにおけるデータ転送パスの論理的な接続関係を示す構成情報を決定し、その構成情報を前記レジスタに設定することで、任意のデータ転送パスの接続関係を可能とした計算機システムのコンピュータに、初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加させ、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る手順と、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する手順を、実行させるためのプログラムを記録したコンピュータ読み出し可能な記録媒体。
【0083】(作用)前記構成に基づく本発明の作用を、図1に基づいて説明する。
(a) :前記(1) の作用初期情報同期手段は、前記レジスタに設定する構成情報の内、電源投入時に使用される初期情報を更新する際、一部装置の電源が切断状態にあっても、前記初期情報に時刻情報を付加し、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る処理を行う。
【0084】このように、初期情報に時刻情報を付加し、初期構成制御を行う時に最新のものへと複写を行い同期を図ることにより、初期情報の作成時にサービスプロセッサ間における通信パスの異常や電源切断状態の装置があることで初期情報の不一致が生じても、初期構成制御を正常に完了させることを可能とする。また、通信パスの異常時において誤って初期情報を更新しても、次回の初期構成制御において正常に処理を完了させることができる。
【0085】(b) :前記(2) の作用高速同期処理手段は、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないようにすることで、計算機群としての初期情報の同期処理を高速化する処理を行う。
【0086】この場合、初期情報同期処理はクラスタ、及び共有メモリの装置台数の増加によって初期構成制御処理に要する時間が増大してしまう、という課題がある。このため、本発明では、初期情報同期処理を行うサービスプロセッサを幾つかのグループに分割し、同期処理の完了に関する情報を持つことにより、一部の装置に対する初期情報同期処理を省略することを可能とし、これにより初期構成制御に要する時間を短縮することができる。このことは、計算機群が大きくなっていった場合に特に有効である。
【0087】(c) :前記(3) の作用初期情報更新手段は、データ転送パスの接続状態の変更によって、同時に初期情報の対応する部分を更新することで、常に、最新の構成情報を初期情報として保持し、次回の電源投入時には、前回の電源切断時点での構成情報のままでの運用を可能にする処理を行う。
【0088】すなわち、サブシステム内におけるクラスタと共有メモリのデータ転送パスの接続関係の変更を契機に、初期情報を更新することにより、障害の復旧が遅れても、再度その装置をサブシステムに組み込むことによって発生するトラブルを未然に防いだり、自動的に初期情報が更新されるため操作員が初期情報の更新を怠り再度障害が発生することを防ぐことができる。
【0089】このことは同時に、一定期間共有メモリを使用しない運用をするために、共有メモリからの影響を受けまいとしてサブシステムから切り離した場合に、一度切り離しを行えば次に組み込む指示をするまでその運用形態が継続できる利点があり、操作員が初期情報の内容と実際に運用しているサブシステムの構成が同じかどうかの意識をしなくて済む。
【0090】(d) :前記(4) の作用成功時接続処理手段は、自クラスタの共有メモリ接続処理が成功した時のみ、自クラスタと共有メモリを論理的に接続することで、クラスタ内の初期化に失敗したクラスタと共有メモリが接続されることを防ぎ、他クラスタとの初期化完了の待ち合わせを行ったり、初期化に失敗したクラスタが共有メモリと接続することのないように、初期情報を変更する必要を無くす処理を行う。
【0091】すなわち、クラスタの初期化実行時には、他のクラスタでの初期化失敗に対して共有メモリと切り離す縮退を行わないことにより、各クラスタ間におけるサービスプロセッサ間通信が必ず正常に操作していなければならないという制限はなくなり、何らかの理由(例えば一度は初期化に失敗したものの再度初期化を行うことによって成功した場合、あるいは他のクラスタに比べてメモリ容量や数が極端に多いなどして処理時間がはるかに大きいなど)により初期化が遅れた場合などにも共有メモリと接続できる。
【0092】同時に自クラスタの共有メモリとの接続関係を示す構成制御レジスタへの設定において、初期情報を参照するのではなく、現在の共有メモリの構成制御レジスタの値を参照することにより、構成の変更時における初期情報の変更が失敗していても現在の構成に従って計算機群を構築できる。
【0093】(e) :前記(5) の作用接続時処理手段は、電源投入された入出力装置が実際に使用可能となるまでの待ち合わせ完了後に、共有メモリの初期化完了待ちと、自クラスタとの接続処理を行うことにより、計算機群として、電源投入から使用可能になるまでに所要する時間を短縮する処理を行う。
【0094】このように、入出力装置が電源投入され、実際に使用可能となるまでの待ち合わせ時間を、共有メモリ組み込み処理の完了待ち合わせと兼ねさせ、かつ、それらを並行して実行させることにより、計算機群全体として電源投入してから実際に使用可能となるまでの時間を短縮できる。
【0095】(f) :前記(6) の作用スケジューラ選択手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、実際にサービスプロセッサ間での通信が正常に行えたものの中から選択することにより、構成変更時におけるスケジューラサービスプロセッサの交替を不要とする処理を行う。
【0096】このように、スケジューラ機構を動作させるスケジューラSVPが共有メモリサービスプロセッサ間での通信が有効なものの中で決定することにより、全てのクラスタと共有メモリの間でオフラインとなっていることによるスケジューラサービスプロセッサが不在となる状態をなくすことができる。
【0097】また、構成情報を変更することによるスケジューラSVPの交替が発生しなくなるために、構成変更処理において複雑なスケジューラSVPの交替制御を不要とし、同時にスケジューラSVPの交替処理を行うための処理の長時間化を防ぐことができる。
【0098】(g) :前記(7) の作用スケジューラ選択手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、共有メモリの電源制御権が遠隔操作状態にあるものがスケジューラサービスプロセッサとなるように優先させて選択することにより、保守中における頻繁な電源切断によるスケジューラの交替をなくす処理を行う。
【0099】このように、共有メモリの電源制御権が遠隔操作状態にあるものを優先してスケジューラSVPとすることで、保守中などにより頻繁に電源の切断、投入が行われることを予測できるような共有メモリがスケジューラSVPとなるために電源切断によるスケジューラの交替が発生することを防ぐことができる。
【0100】また、スケジューラである共有メモリが電源切断される時にはスケジューラSVPの交替が発生するが、そのような時にクラスタで構成情報の読み出しを行おうとしても、事前にスケジューラSVPが交替中であることや、新たにスケジューラが決定したことをクラスタSVPでは知り得ることが可能であり、実際の無駄なサービスプロセッサ間通信を行なわなくて済むため、サービスプロセッサ間通信のための通信パスの負荷を減らすことができる。
【0101】(h) :前記(8) の作用通知手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラの交替には、その処理を開始する前にそれをクラスタに通知しておく処理を行う。このようにすれば、無駄なスケジューラサービスプロセッサに対する実行権の要求を省き、サービスプロセッサ間における通信のためのパスの負荷を減らすことができる。
【0102】(i) :前記(9) の作用命令処理手段は、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令を処理する際、処理を分割することにより、操作の完了までに許される時間を越えてしまいそうな時、それを事前に検出し、処理を強制的に終了させる。このようにすれば、その時間を越えてしまうことを回避し、OSがシステムダウンとならないようにすることができる。
【0103】(j) :前記(10)の作用スケジューラ処理手段は、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、個々の処理を優先順位別に幾つか分類し、優先順位の高いものから動作させる処理を行う。
【0104】すなわち、構成制御DIAG命令などの操作開始から完了までに許される時間が非常に短い処理と、それに対して個々のクラスタSVPにおける入出力装置からの操作のように、操作の開始から完了までに許される時間が構成制御DIAG命令のそれと比較して長いものが同時に複数実行された場合において、許された時間の短い構成制御DIAG命令を優先的に実行させることができる。
【0105】(k) :前記(11)の作用スケジューラ処理手段は、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、構成情報の変更を目的とした操作が行われようとしているかを確認する。このようにすれば、構成情報の変更が行われるまでの間は構成情報の読み出しが同時に可能となることから、複数のクラスタ間での同時IPL実行(初期プログラムロードの実行)によって、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令の競合する場合に、個々の命令の実行時間が短縮され、OSを起動してから実際に使用可能となるまでの時間を短縮可能にする。
【0106】(l) :前記(12)の作用前記コンピュータに、前記記録媒体に記録したプログラムを実行させることにより、初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加させ、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る処理と、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する処理とを行う。
【0107】このように、初期情報に時刻情報を付加し、初期構成制御を行う時に最新のものへと複写を行い同期を図ることにより、初期情報の作成時にサービスプロセッサ間における通信パスの異常や電源切断状態の装置があることで初期情報の不一致が生じても初期構成制御を正常に完了させることを可能とする。また、通信パスの異常時において誤って初期情報を更新しても次回の初期構成制御において正常に処理を完了させることができる。
【0108】更に、初期情報同期処理を行うサービスプロセッサを幾つかのグループに分割し、同期処理の完了に関する情報を持つことにより、一部の装置に対する初期情報同期処理を省略することを可能とし、これにより初期構成制御に要する時間を短縮することができる。このことは、計算機群が大きくなっていった場合に特に有効である。
【0109】
【発明の実施の形態】以下、発明の実施の形態を図面に基づいて詳細に説明する。なお、前記従来例で説明した計算機システム構成図(図12)は、本実施の形態でも同じなので、同図も援用して説明する。
【0110】§1:例1の説明・・・図2〜図4参照例1は、計算機群の電源投入時に使用される初期情報を変更する際に発生する、という課題を解決した例であり、以下、図2〜図4に基づいて説明する。
【0111】(1) :例1の処理説明・・・図2参照図2は例1の処理説明図である。以下、図2に基づいて例1の処理を説明する。図2において、縦方向は時間経過tを示し、横方向はSSU−0SVP、SSU−1SVP、SSU−2SVP、SSU−3SVPの各処理を示す。
【0112】計算機群の電源投入時に使用される初期情報を変更する際、任意のSVPに対する初期情報の書き込みが不可能であった場合に、既に書き込みを行ったSVPへの情報を操作以前に復元することも考えられるが、復元時に初期情報の書き込みが失敗することもあり、課題の解決とは言えない。このため、例1では、初期情報の作成時において、全てのSVPに対する初期情報の書き込みが正常に行えて初期情報が一致していないといけないと、いう課題のために二つの機構を加える。
【0113】一つ目には、従来は、初期情報にはデータ転送パス6の接続関係しか記されていなかったのに対し、時刻情報の領域を追加し、初期情報の作成時において他のSVPへの書き込みを行う前に、自SVPが持つ時刻を初期情報に付加した上で実行させるものである。
【0114】そして、二つ目には初期構成制御の実行時において、個々のSVPが持つ初期情報の部分をSVP間通信により読み出し、その時刻を自SVPが持つ初期情報のそれと比較し、自SVPが持つ初期情報の方が古いと判断した場合には相手の持つ初期情報を読み出し、自SVPへ書き込み(複写)を行う。また、これらの初期情報の比較、複写の処理は、初期情報を持つ全てのSVPとの間で行った後、構成制御レジスタへ書き込む値を決定する処理へと継続させる。
【0115】図2にその例を示す。図2では、それぞれのSVPが持つ初期情報の内、SSU−0とSSU−2が同じ時刻(日付=96.11.01、時刻=12:00:15)で、SSU−1(日付=96.11.02、時刻=13:25:30)はSSU−0、SSU−2よりも新しく、SSU−3(日付=96.11.01、時刻=17:30:15)はSSU−1よりは古く、SSU−0、SSU−2よりは新しい時刻であったとする。
【0116】この時、SSU−0における動作は以下のようになる。まずSSU−1の時刻情報を読み出して比較し、自SVPの初期情報の方が古いと判断されたためSSU−1の持つ初期情報を自SSUへと複写を行なう(この時点でSSU−0、SSU−1が持つ初期情報は一致したことになる)。この後、SSU−2の時刻情報を読み出し、比較した結果同じであると判断し、複写処理は行わずSSU−3の時刻情報の読み出しを行う。
【0117】そして比較した結果、自SVPがもつ情報が新しいと判断されたので何も行わない(この時点ですべての初期情報と一致が図られたと判断する。ちなみにSSU−3はSSU−0で行ったのと同様の処理を行うことにより、最新の時刻情報が記された初期情報を持つことになる。ここで行う初期情報の比較、複写に関する処理を初期情報同期処理と呼ぶ。このようにして、全てのSSU−SVPが前記と同様な処理を行うことで、初期情報同期処理を行う。
【0118】
(2) :初期情報同期処理の説明・・・図3参照図3は例1の処理フローチャート1であり、初期情報同期処理を示している。以下、図3に基づいて前記初期情報同期処理を説明する。なお、S51〜S60は各処理ステップを示す。
【0119】初期情報同期処理が開始されると(S51)、自SSUの初期情報の読み出しを行う(S52)。そして、他のSSUが実装されているか否かを判断し(S53)、他のSSUが実装されていなければ、初期情報同期処理を終了する(S60)。しかし、他のSSUが実装されていれば、自SSUではないかどうかを判断する(S54)。
【0120】その結果、自SSUではないと判断した場合は、SSUi(i=0、1、2・・・)は実装されているかどうかを判断する(S55)。この場合、他SSUの実装情報は、個々のSSU−SVPに初期設定されている。前記S55の判断で、SSUiが実装されていれば、SSUiの初期情報の読み出しを行う(S56)。
【0121】そして、自SSUの持つ初期情報の方が古い(時刻が古い)か否かを判断し(S57)、自SSUの持つ初期情報の方が古い場合は、自SVPへの複写を行い(S58)、全てのSSUのチェックが終了したか否かを判断し(S59)、全てのSSUのチェックが終了しない場合は前記S54の処理から繰り返して行う。
【0122】また、前記S54の処理で自SSUであると判断した場合、前記S55の処理で、SSUiが実装されていないと判断した場合、前記S57の処理で、自SSUの持つ初期情報の方が古くない(新しい)と判断した場合には、それぞれ前記S59の処理を行う。このようにして、前記S59の処理で、全てのSSUのチェックが終了すると、初期情報同期処理を終了する(S60)。
【0123】
(3) :初期情報同期処理に関するその他の説明ここで、比較、複写の処理は、クラスタ及びSSUの増加により処理時間が増加してしまうため、更に、以下の機構を同時に設ける。個々のSVPをしかるべき方法によりいくつかのグループに分割(分割の方法は、各装置の番号が偶数であるものと奇数であるものに分割する方法と、任意の個数で装置番号の若いものから分割する方法、あるいは前者と後者を合わせた方法があり、計算機群に所属するSSUの台数によっていずれかを選択することとする)し、それぞれ分割されたグル−プ内で初期情報の同期処理を行い、そのグループ内における全てのSVPとの処理が終わると次のグループを対象とする。
【0124】また、初期情報の同期処理に関する情報(以下この情報を「完了情報」と呼ぶ)を保持し、この情報の参照により初期情報同期処理が必要な装置の識別を行うこととする。初期情報同期処理の対象とするのは完了情報において同期処理が必要とされているものに対してのみであり、その装置からの読み出しにおいてはその装置が持つ完了情報も同時に読み出しを行い、同期処理の完了時には読み出した完了情報を自装置が持つものに加える。
【0125】このため、同期処理を行った装置が既に他の装置との同期処理を完了していれば、その完了情報から同期処理は完了していることとし、処理の省略を可能とする。自SVPのグループ内での同期処理が完了すると他のグループ内装置との同期処理を行うが、他のグループでも並行して同期処理を行っていることもあり、このときに対象となるグループ内の一装置から読み出した完了情報からそのグループ内における同期処理も完了しているため、同期処理の省略を可能として初期情報同期処理としての高速化が図れる。
【0126】(4) :初期情報同期処理において、グループ分けを行う場合の処理説明・・・図4参照図4は例1の処理フローチャート2であり、前記初期情報同期処理において、グループ分けを行う場合の処理を示している。以下、図4に基づいて、初期情報同期処理において、グループ分けを行う場合の処理を説明する。なお、S71〜S88は各処理ステップを示す。
【0127】前記のようにして初期情報同期処理が開始されると(S71)、自SSUの初期情報の読み出しを行い(S72)、他のSSUが実装されているか否かを判断し(S73)、他のSSUが実装されていなければ初期情報同期処理を終了する(S88)。また、他のSSUが実装されていれば、対象となるSSUはチェック対象グループに有るか否かを判断する(S74)。
【0128】前記S74の処理で、対象となるSSUがチェック対象グループにないと判断した場合は、対象SSUの切り換えを行い(S75)、前記S74の処理から繰り返して行う。しかし、前記S74の処理で、対象となるSSUがチェック対象グループに有ると判断した場合は、自SSUではないかどうかを判断する(S76)。
【0129】前記S76の処理で、自SSUではないと判断した場合は、対象となるSSUは実装されているかどうかを判断し(S77)、対象となるSSUは実装されていれば、次に、対象となるSSUとの同期が完了しているか否かを判断する(S78)。その結果、対象となるSSUとの同期が完了していない場合は、対象SSUの初期情報の読み出しを行い(S79)、自SSUの持つ初期情報の方が古い(時刻情報)か否かを判断する(S80)。
【0130】その結果、自SSUの持つ初期情報の方が古いと判断した場合は、自SSUへの複写を行い(S81)、完了フラグをセットし(S82)、グループ内全ての完了フラグがオンか否かを判断する(S83)。そして、前記S83の処理で、グループ内全ての完了フラグがオンになっていないと判断した場合は、チェック対象SSUの切り換えを行い(S84)、前記S74の処理から繰り返して行う。
【0131】一方、前記S76の処理で、自SSUであると判断した場合、前記S77の処理で、対象となるSSUが実装されていないと判断した場合、前記S78の処理で、対象となるSSUとの同期が完了していると判断した場合は、それぞれ前記S83の処理を行う。
【0132】そして、前記S83の処理で、グループ内全ての完了フラグがオンになったと判断した場合は、全てのグループのチェックが完了したか否かを判断する(S85)。その結果、全てのグループのチェックが完了していると判断した場合は、初期情報同期処理を終了する(S88)。
【0133】しかし、前記S85の処理で、全てのグループのチェックが完了していないと判断した場合は、チェック対象グループの切り換えを行い(S86)、チェック対象SSUの切り換えを行って(S87)、前記S74の処理から繰り返して行う。
【0134】§2:例2の説明例2は、障害装置に対する初期値の変更における課題を解決した例である。前記従来例では、サブシステム内の装置において障害が発生し、その装置のサブシステムからの切り離しが発生し、次回の電源投入で再度障害が発生しないようにするためには初期情報を更新しておかなければならないという課題があった。
【0135】そこで本発明の例2では、サブシステム内におけるクラスタとSSUのデータ転送パス6の接続関係の変更を契機に、スケジューラSVPが全てのSSU−SVPの持つ初期情報の更新を行う処理を追加する。すなわち、データ転送パス6の接続関係が変更された時、スケジューラSVPはその時点でのデータ転送パス6の接続に関する最新の情報を、自SVPの磁気ディスク装置から入手する(この場合、構成の変更時には必ず初期情報を更新することから、自SVPの磁気ディスク装置に格納されている初期情報は常に最新であることが保証されている)。
【0136】そして、最新の情報に対し、変更の指示によって変化が生じた部分のみを書き換えて、全てのSSU−SVPに個々のSVP間の専用パスを用いて最新の初期情報として書き込みを行う。また、この時更新した情報は次回の電源投入時に初期情報として使用される。
【0137】このようにすれば、データ転送パス6の接続関係の変更と同時に全てのSSU−SVPが持つ初期情報の更新も行うことにより、障害発生装置をサブシステムから切り離しておくだけで、次回の電源投入時にサブシステムに組み込まれないから、同一の障害が発生することを防ぐことができる。
【0138】§3:例3の説明・・・図5参照(1) :例3の処理説明例3は、初期化失敗時における縮退処理が誤動作する、という課題を解決した例である。従来例では、クラスタSVPがSSUとの接続を行う処理において、他クラスタの初期化完了をSVP間通信を用いて待ち合わせを行い、初期化に失敗したクラスタはSSUと接続しないように、読み出した初期情報を書き換えている。このため、僅かに初期化の完了が遅れただけで接続されない、という課題があった。
【0139】そこで、本発明の例3では、クラスタSVPがSSUとの接続を行う処理において、他クラスタの初期化完了の待ち合わせを行わず、初期化に失敗したクラスタを初期情報においてSSUと接続しないように、書き換えを行わないようにする。
【0140】クラスタとSSUにおけるデータ転送パス6の論理的な接続状態は、クラスタとSSUの双方にある接続状態を示す構成制御レジスタの値の論理積によって決定される。すなわち、クラスタ、SSUの双方の構成制御レジスタにおいて、どちらも接続状態にある時のみ、そのクラスタとSSUにおける論理的な接続状態は接続されているといえる。言い換えれば、クラスタ或いはSSUのどちらかが構成制御レジスタにおいて接続されていない状態であれば、そのクラスタはそのSSUを使用することができない状態となる。そして、CPU等のクラスタ内の装置の初期化に失敗したクラスタは、SSUの組み込み処理を行わないので、SSUとは接続状態にならない。
【0141】従って、時間差を持って電源投入されたことにより初期化が遅れたクラスタであっても、初期化が成功していれば、SSUと接続することが可能となり、誤って縮退されることを妨げる。
【0142】(2) :フローチャートによる例3の処理説明・・・図5参照図5は例3の処理フローチャート2であり、クラスタSVPに於けるSSU組み込み処理を示している。以下、図5に基づいて、例3のクラスタSVPに於けるSSU組み込み処理を説明する。なお、S91〜S96は各処理ステップを示す。
【0143】先ず、クラスタ電源の投入が開始されると(S91)、CPUやメモリの初期化処理を行い(S92)、自クラスタにおける初期化処理が正常終了したか否かを判断する(S93)。そして、前記S93の処理で、自クラスタにおける初期化処理が正常終了しないと判断した場合は、クラスタ電源投入処理を異常終了する(S96)。
【0144】しかし、前記S93の処理で、自クラスタにおける初期化処理が正常終了したと判断した場合は、初期情報に従い、ハードウェアレジスタの設定を行い(S94)、クラスタ電源投入処理を正常終了する(S95)。
【0145】§4:例4の説明・・・図6参照(1) :例4の処理説明例4は、電源投入処理に要する時間が長時間化していく、という課題を解決した例である。従来の技術では、SSUの初期化を開始/完了し、SSUを組み込んだ後に、I/O装置(入出力装置)が使用可能となるまでの時間(以下「I/Oレディ待ち時間」という)を待ち合わせた後、OSのIPL(OSによる初期プログラムローディング処理)を実行していた。
【0146】本発明の例4では、I/Oレディ待ち時間はクラスタSVPにとって何もしていないこと、また、個々のクラスタはOSがIPLされる直前までにSSUを組み込んでおけばよいこと、などから、クラスタが行うSSU組み込み処理とは並行して実行される。具体的には、I/Oレディ待ち時間が終了した後に、SSUの初期化完了待ちを含むSSUの組み込み処理を行い、I/Oレディ待ち時間にはSSUの初期化完了に要する時間よりも大きな値を設定することにする。
【0147】これにより、I/Oレディ待ち時間とSSU初期化完了待ち時間の重複を防ぎ、計算機群が電源投入されてから、実際に使用可能になるまでの時間を短縮させることが可能になる。この処理の例を以下に説明する。
【0148】
(2) :フローチャートによる処理説明・・・図6参照図6は例4の処理フローチャートである。以下、図6に基づいて、電源投入時におけるSSU初期化完了待ちと、I/Oレディ待ちとの関連の処理を説明する。なお、S101〜S109は各処理ステップを示す。
【0149】クラスタ電源投入処理が開始されると(S101)、先ず、CPUやメモリを初期化し(S102)、I/Oレディ待ちを開始する(S103)。そして、I/Oレディ待ち時間内か否かを判断し(S107)、I/Oレディ待ち時間内であればそのまま待つ。このようにしてI/Oレディ待ち時間内でなくなると、OSがIPL(initial program loader)による初期プログラムローディング処理を行い(S108)、クラスタ電源投入処理を終了する(109)。
【0150】一方、前記S103の処理で、I/Oレディ待ち開始後、SSU初期化処理を開始し(S104)、SSU初期化が完了すると(S105)、SSUの初期化処理を完了する(S106)。
【0151】(3) :例4の処理に関するその他の説明前記の処理を従来例の処理と比較した場合、従来例では、SSU初期化待ちを開始し完了を待ってから、I/Oレディ待ちを開始している。これに対して本発明の例4では、I/Oレディ待ちの完了によってSSU初期化完了待ちを兼ねていることが分かる。
【0152】§5:例5の説明例5は、スケジューラ機構による処理の長時間化と、スケジューラSVPの交替による負荷増大、制御の煩雑化とスケジューラSVPの不在が招く、という課題を解決した例である。
【0153】従来の技術では、任意のクラスタとデータ転送パス6が接続されているSSUの内の最も若い装置番号を持つものがスケジューラSVPとなっていた。このため、全てのクラスタと全てのSSUがデータ転送パス6に接続されていないとスケジューラSVPが不在となったり、構成変更時にスケジューラSVPが交替するために構成変更処理の長時間化や処理の煩雑化といった課題があった。
【0154】このため本発明の例5では、SSUの電源投入時において、自SSUに対し、SVP間通信が可能な状態にあるSSU−SVPの内の最も若い装置番号であるSSUをスケジューラSVPとして決定することにより、前記従来例の課題を解決する。
【0155】また、スケジューラSVPである自SSUの電源切断が実行されると、その電源切断処理において、自SVPを除く全てのSSU−SVPとクラスタSVPに対し、スケジューラSVPが交替中であることを通知し、今までスケジューラSVPとして動作していた自SSU−SVPが新たなスケジューラを決定し、そのスケジューラSVPの番号を全てのSSU−SVPとクラスタSVPに対し通知する。
【0156】この時に、新たなスケジューラSVPは電源切断される可能性の低いものを優先することで決定される。すなわち、SSU−SVP間での通信が正常に行えているSSUの内、SSUの電源制御権(装置の電源は遠隔と手元のいずれか一方での操作が可能であり、SSUに付属したスイッチにより動作する)が遠隔にあるものの内で最も若い装置番号を持つSSUをスケジューラSVPとして決定する。
【0157】なお、SSUが電源切断される可能性の一つとして、保守が考えられ、この場合には、電源制御権を手元にする。このことを考えた時に遠隔状態にあるSSUは、保守による電源切断の可能性がないと考えることができる。ただし、全てのSSUにおいて電源制御権が遠隔状態になければ、SVP間での通信が正常に動作しているSSUの中からスケジューラSVPは決定される。これらのことより、スケジューラSVPが頻繁に交替することを極力避けることを可能とする。
【0158】§6:例6の説明・・・図7〜図11参照例6は、スケジューラ機構の制御方式に起因した処理時間の長時間化の課題を解決した例である。
【0159】(1) :例6の処理説明従来の技術で課題となるのは、待ち行列が1個しかなく、このため行おうとする処理に許された時間に応じた制御が行われていないことである。従って、本発明の例6では、待ち行列を3個(待ち行列1、待ち行列2、待ち行列3とする)に増やし、完了までに許された時間に応じてこれらの待ち行列を使い分けて行く処理を行う。
【0160】つまり、完了迄に許された時間を三種類に分け、クラスタSVPがスケジューラSVPに対する実行権を要求する時に該当する待ち行列の番号を指定し、スケジューラSVPでは、この要求に応じた待ち行列の最後尾にクラスタ番号を格納する。なお、前記三種類に分けた時間とは、■:構成制御DIAGの内、非常に制限時間の短いもの、■:構成制御DIAGの中で、前記■に該当しないもの、■:構成制御DIAG以外のもの、の三種類である。
【0161】ここで、待ち行列1が最も制限時間の少ない処理での実行権待ちのグループであり、以降、待ち行列2、3と制限時間が長くなっていくものとする。そして、実際の制御は以下のようにして行われる。
【0162】(2) :制御の詳細な説明前記制御を行う場合、クラスタSVPからスケジューラSVPに対して排他的に動作させるための実行権の要求を行った時の動作として、先ず、クラスタSVPでは、行なおうとする処理に与えられた制限時間から待ち行列の番号を選択し、スケジューラSVPへの実行権の要求時に通知する。
【0163】また、クラスタSVPからの要求を受けたスケジューラSVPでは、先ずクラスタSVPからの要求時に指定される待ち行列の最後尾に要求を出したクラスタ番号を格納(この時格納される待ち行列に格納されているクラスタがない場合には、先頭に格納する)し、その時に実行権を与えているクラスタSVPが存在するかの検査を行い、検査の結果存在しない場合には、そのクラスタSVPに対し実行権を与えると共に、そのことを通知する。
【0164】また、前記検査の結果、クラスタSVPが存在した場合には、そのクラスタSVPに対し、実行権を与えられる時に再度通知することを通知する。また、クラスタSVPは、目的とする処理が終了した時にスケジューラSVPに対して与えられている実行権の返却を通知する。この時、スケジューラSVPでは返却を受けたクラスタ番号を待ち行列から検索し、そのクラスタ番号を待ち行列から削除し、削除の行われた待ち行列を、前列へ詰める操作を行う。
【0165】次に、実行権を与えるべきクラスタ番号の検索を行い、実行権を与える。ここでの行われる実行権の検索処理は、待ち行列1に格納されているクラスタの存在を検査し、存在した場合には、その待ち行列1の先頭に格納されているクラスタSVPに実行権を与えることとして、そのことをクラスタSVPに対して通知し、存在しない場合には、ここでの処理と同等のことを待ち行列2、3に対して行う。
【0166】(3) :スケジューラ機構での待ち行列を増やした場合の説明・・・図7、図8参照図7は例6の処理説明図(その1)、図8は例6の処理説明図(その2)であり、何れも、スケジューラ機構での待ち行列を増やした場合の処理を示している。以下、図7、図8に基づいて、スケジューラ機構での待ち行列を増やした場合の処理を説明する。
【0167】図7、図8において、縦方向は時間経過tを示し、横方向はCL−0SVP、CL−1SVP、CL−2SVP、CL−3SVP、SSU−0SVP(スケジューラ)、SSU−1SVPの各処理を示す。
【0168】図では、クラスタ0での構成読み出しの実行中に、クラスタ1から待ち行列3に相当する構成読み出しが実行、クラスタ0からの実行権の返却によりクラスタ2に実行権を与え、続いてクラスタ3から待ち行列1相当の構成読み出しが実行されたため、クラスタ2からの実行権の返却によってクラスタ3に実行権を与え、クラスタ3からの実行権の返却によりクラスタ1に実行権を与えていることを示している。
【0169】スケジューラSVPはクラスタSVPから実行権を与えるが、その時実行権が返却されないことを避けるために、一定の時間実行権が返却されることの待ち合わせを行う。この時、実行権を与えていたクラスタ番号が格納されている待ち行列を検索し、そのクラスタ番号に与えていた実行権を剥奪し、次に実行権を与えるクラスタSVPを検索するための処理を、通常に実行権が返却された時と同様の手順で行う。
【0170】ところで、構成情報の読み出しや、変更に対する操作を同時に実行させないための待ち行列を複数設け、それらを操作完了までに許される時間で優先順位分けすることにより、クラスタSVPに装備された入出力装置からの操作よりも、制限時間の短い構成制御DIAG命令を優先的に実行させることを可能とさせることは、前述の通りである。
【0171】しかし、構成制御DIAG命令のみが実行されているなどして、優先順位分けをしても同じ待ち行列に扱われる操作が多数発行された場合、或いは、構成情報の読み出し等の操作は、データ転送パス6とは別のSVP間通信パス5を用いてSVP間で複数の通信を行うことにより実現しているが、このSVP間通信パス5の負担が大きくなるなどして、個々の通信に要する時間が、わずかずつ遅延し、それが積み重なることにより、構成制御DIAG命令の完了までの制限時間内には処理が完了するものの、処理時間が大きくなる可能性がある。
【0172】このように状態においては、待ち行列の後方に格納されているクラスタSVPでは、実処理の開始が遅れることとなり、制限時間内に命令を完了させることができなくなる(なお、図16、図17に示した従来例のクラスタCL−3での動作がその例であり、図では、時間切れとして示してある)。このため、構成制御DIAG命令の完了が制限時間を超えそうな時、事前にそれを判断し、実行結果を保証せず、再度実行させることを期待することを報告して、命令を完了させる機構を設ける。
【0173】構成制御DIAG命令の処理を逐次処理させるための実行権を確保したり、情報の収集などを行うSVP間の通信処理を、SVP間通信などにより得られた情報を格納する処理に分割することとし、前者を「タスクA」、後者を「タスクB」と呼ぶことにする。
【0174】タスクBからの指示を受けたタスクAでは、タスクAでの処理中に再度タスクBが指示を発行することのないように設けられた内部の二重起動防止フラグを立て、指示の内容から必要とされる処理を選択し、SVP間通信により構成情報の読み出しや、変更、或いはそれに付随する処理(複数のクラスタにおいて同時に構成情報の変更を行わせないための実行権を得るための処理、スケジューラによる構成制御DIAG命令の逐次処理)を行う。
【0175】これらの処理が仕終わった時に、タスクAはタスクBに対し処理の終了を通知し(構成の読み出しの場合には、読み出した情報のSVP内の仮格納場所も合わせて通知される)、二重起動防止フラグを落とす。この時、タスクAからタスクBへの終了通知は、或る条件を満たした時に行われる。すなわち、或る条件とは、タスクAがタスクBからの終了通知待ち状態にあることを示すフラグによってタスクAが待ち受け状態にあることである。
【0176】タスクBでは、OSからの構成制御DIAG命令の実行指示を受けた時、タスクAにおいて、二重起動防止フラグの状態を確認し、前記フラグが立っていれば、処理の異常終了処理を行い、前記フラグが落ちていれば、個々の命令毎に割り当てられた制限時間の検索を行い、その制限時間よりも若干短い値でタスクB内での監視時間を導き出し、SVP内部の時刻機構に対し、監視時間に到達した場合にタスクBに対し報告を行うように設定する。
【0177】なお、前記監視時間が実際の制限時間よりも若干短い値に設定するのはSVPがOSから構成制御DIAG命令の実行指示を受け取るまでと命令の完了を報告するまでの間にもOSからの監視時間は経過していくため、その時間差による制限時間の超過を回避するためである。また、若干短い値とは1秒程度とする。
【0178】監視時間の設定後はタスクAからの終了待ち通知フラグを立てて、タスクAに対し個々の構成制御DIAG命令固有の処理を実行するよう指示を発行する。このあとタスクBはタスクAから発行した指示の完了報告を待ち受ける状態にするとともに、同時にタスクBは時刻機構からの監視時間到達の報告を待ち受ける状態にする。
【0179】そして、これらの内、タスクAからの完了報告が先に受け付けられた場合には、正常な処理が完了したとして動作を行い、時刻機構からの報告が先に受け付けられた場合には、制限時間を超える可能性があるとして、タスクAからの終了待ちフラグを落とし、報告する構成情報を保証しないようにして命令を終了させる。
【0180】ところで、従来のスケジューラ機構は、構成の読み出し、変更に関する操作の全てを順次実行する方式となっている(図16、図17参照)。すなわち、構成情報の変更が行われずに読み出しのみの操作であっても、それは同時に実行されずに、順番に実行される。
【0181】そもそもスケジューラ機構を設けた理由は、構成情報の変更中における構成情報の読み出しが行われると、変更中の過渡的な状態が読み出されてしまうことがあり、それを避けるためである。また、通常のOSの起動時には構成情報の読み出ししか行われない。このため構成情報の変更中、或いはそのためのスケジューラSVPに対する実行権の要求が出されていない限り、構成情報の読み出しを目的とする実行権の要求があれば、全てそれを与える機構を設けることとする。これを実現する方法は以下の通りとなる。
【0182】■:スケジューラSVPでは、実行権を与えたクラスタSVPに関する情報(以下「実行権テーブル」という)を持ち、この情報は構成情報の読み出し用と変更用にそれぞれ用意し、読み出し用のテーブルは構成情報の読み出しを目的とした操作に対して実行権を与えているクラスタSVPを格納し、変更用の実行権テーブルは構成情報の変更を目的とした実行権を与えている、或いは、与えられるのを待ち受けるクラスタSVPを格納することとする。
【0183】クラスタSVPでは、スケジューラSVPに対して複数の操作を同時に実行させないための実行権の要求を行う時に、構成情報の読み出しであるのか、変更であるのかの情報を加えることとする。
【0184】■:クラスタSVPからの実行権の要求を受けたスケジューラSVPでは、先ず、実行権を要求する目的(構成情報の変更、或いは読み出し)を検査する。構成情報の変更が目的である時、構成情報変更用の実行権テーブル、及び要求時に指定されている待ち行列に、そのクラスタSVPの番号を格納し、構成情報の読み出し、或いは変更用の実行権テーブルにおいて要求を行ったクラスタSVP以外が存在しないことの検査を行い、存在しない場合には、実行権を与えることを通知し、既に実行権を与えているクラスタSVPが存在する場合には、実行権を与える時に、再度通知することを、要求を行ったクラスタSVPに通知する。
【0185】そして、構成情報の読み出しの場合には、構成情報の変更用の実行権テーブルに、任意のクラスタSVPが格納されていないことを検査し、存在する場合には、実行権の要求時に得られる待ち行列に、そのクラスタSVPの番号を格納し、実行権を与える時に再度通知することを通知し、存在しない場合には、構成情報の読み出し用の実行権テーブルと、実行権の要求時に得られる待ち行列に、そのクラスタSVPの番号を格納し、実行権を与えることを通知する。
【0186】■:実行権を得ることにより、目的とする操作を完了したクラスタSVPは、スケジューラSVPに対し、実行権の返却を行う。実行権の返却を受けたスケジューラSVPでは、実行権テーブルを検索することにより、実行権を与えていたクラスタSVPの操作目的(構成情報の読み出しであるのか、変更であるのかの区別)を判別し、実行権テーブル、及び待ち行列からそのクラスタ番号を削除する。
【0187】そして、実行権を与えていたクラスタSVPの操作目的が構成情報読み出しであった場合には、構成情報の読み出し用の実行権テーブルにおいて任意のクラスタSVPの存在を検査する。その結果、存在した場合には、そのまま処理を終了させ、存在しない場合には、次に構成情報の変更用に実行権テーブルにおける任意のクラスタSVPの存在を検査し、存在した場合には、そのクラスタSVPに対して実行権を与えることを通知し、存在しない場合には、そのまま処理を終了させる。また、実行権を与えていたクラスタSVPの操作目的が、構成情報の変更であった場合、待ち行列から順に実行権を与えることを待ち受けているクラスタSVPの存在を検査し、存在した場合には、そのクラスタSVPの操作目的である実行権テーブルに、そのクラスタ番号を格納する。
【0188】また、この時の検査及び実行権を与える処理は、構成情報の変更を目的とした実行権を待ち受けているクラスタSVPが存在し、そのクラスタ番号を実行権テーブルに格納するまでの処理は継続される。以下、その例について説明する。
【0189】(4) :スケジューラ機構において構成情報の読み出しの同時実行を可能にする場合の処理の説明・・・図9〜図11参照図9〜図11は例6の処理説明図(その3)〜(その5)である。以下、図9〜図11に基づいて、スケジューラ機構において構成情報の読み出しの同時実行を可能にする場合の処理を説明する。
【0190】図9〜図11において、縦方向は時間経過tを示し、横方向はCL−0SVP、CL−1SVP、CL−2SVP、CL−3SVP、SSU−0SVP(スケジューラ)、SSU−1SVPの各処理を示す。また、この場合の待ち行列は3個(待ち行列1、待ち行列2、待ち行列3)である。
【0191】図では、クラスタCL−0での構成情報の読み出しを行っている時に、CL−1、CL−2から構成情報の読み出しが行われ、CL−3からの構成変更は、CL−0、CL−1、CL−2の実行権の返却が行われるまで実処理が待たされること、そして、CL−3の後に実行権の要求を行ったCL−0での読み出しは、CL−3での実行権の返却が行われるまで、実処理が待たされることを示している。
【0192】スケジューラSVPは、与えられた実行権が返却されるまでの監視を行い、監視時間内に実行権が返却されない場合には、与えている実行権を剥奪し、そのクラスタSVPから実行権が返却されたこととした処理を行う。本方式によれば、スケジューラSVPは同時に複数のクラスタSVPに対して実行権を与えることがあり、それに対し個々の実行権毎に返却までの監視を行い、監視時間内に実行権が返却されない場合は、そのクラスタSVPに対して与えた実行権を剥奪し、実行権が返却された場合における処理を行うこととする。
【0193】従って、例6によれば、複数のクラスタSVPからの構成情報の読み出しのための実行権の同時要求に対し、構成情報の変更を目的とした操作が行われるまで、それを同時に与えることにより、複数のクラスタSVPで同時に構成情報の読み出しを可能とする。また、通常のOS起動時には、構成情報の読み出しを目的とした構成制御DIAG命令しか実行されないことから、個々の構成制御DIAG命令が実行されてから完了するまでの時間を短縮することができ、OSを起動してから実際に使用可能となるまでの時間を大幅に短縮できる。
【0194】§7:記録媒体の説明前記計算機システムが行う処理として、例えば、初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加させ、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る処理と、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する処理等を含んでいる。
【0195】このような処理は、計算機システム内のSVP(クラスタSVP、及びSSU−SVP)(コンピュータ)に設けたCPUがプログラムを実行することにより、次のようにして実現することが可能である。例えば、SVPには磁気ディスク装置が設けてあり、この磁気ディスク装置の記録媒体(磁気ディスク)に、前記処理を実現するためのプログラムやその他の各種データ等を格納しておく。
【0196】そして、前記処理を行う場合は、前記CPUの制御により磁気ディスク装置の記録媒体に格納されている前記プログラムやデータを読み出してSVP本体内のメモリに取り込む。その後、前記CPUが前記メモリに格納してあるプログラムの内、必要なプログラムから順次読み出して実行することにより、前記SVPの処理を行う。なお、前記磁気ディスク装置の記録媒体に格納するプログラムは、次のようにして記録(記憶)することが可能である。
【0197】■:フレキシブルディスク(フロッピィディスク)に格納されているプログラム(他の装置で作成したプログラムデータ)を、SVPに設けたフレキシブルディスクドライブ装置により読み取り、磁気ディスク装置の記録媒体(磁気ディスク)に格納する。
【0198】■:光磁気ディスク、或いはCD−ROM等の記憶媒体に格納されているデータを、前記SVPに設けたドライブ装置により読み取り、磁気ディスク装置の記録媒体に格納する。
【0199】■:LAN等の通信回線を介して他の装置から伝送されたデータを前記SVPで受信し、そのデータを磁気ディスク装置の記録媒体(磁気ディスク)に格納する。
【0200】
【発明の効果】以上説明したように、本発明によれば次のような効果がある。
(1) :従来例では、計算機群が電源投入時に使用する初期情報を変更するにあたり、全てのSVPに対する初期情報の書き込みが正常に行えないと、初期情報の不一致を生じる、という課題があった。これに対して本発明は、初期情報に時刻情報を付加し、初期構成制御を行う時に最新のものへと複写を行い同期を図ることにより、次のような効果がある。
【0201】■:初期情報の作成時にSVP間通信パスの異常や電源切断状態の装置があることで初期情報の不一致が生じても、初期構成制御を正常に完了させることを可能とする効果がある。
【0202】■:このため、通信パスの異常時において誤って初期情報を更新しても次回の初期構成制御において正常に処理を完了させる効果もある。
■:初期情報同期処理は、クラスタ及び共有メモリの装置台数の増加によって初期構成制御処理に要する時間が増大してしまう、という課題があり、このため、初期情報同期処理を行うサービスプロセッサを幾つかのグループに分割し、同期処理の完了に関する情報を持つことにより、一部の装置に対する初期情報同期処理を省略することを可能とし、これにより初期構成制御に要する時間を短縮するという効果があり、このことは、計算機群が大きくなっていった場合に特に有効な効果がある。
【0203】(2) :従来例では、サブシステム内の装置において障害が発生し、その装置のサブシステムからの切り離しが発生し、次回の電源投入で再度障害が発生しないようにするためには初期情報を更新しておかなければならない、という課題があった。これに対して本発明は、サブシステム内におけるクラスタと共有メモリのデータ転送パスの接続関係の変更を契機に、初期情報を更新することにより、次のような効果がある。
【0204】■:障害の復旧が遅れても、再度その装置をサブシステムに組み込むことによって発生するトラブルを未然に防いだり、自動的に初期情報が更新されるため操作員が初期情報の更新を怠り再度障害が発生することを防ぐ効果がある。
【0205】■:このことは同時に、一定期間共有メモリを使用しない運用をするために、共有メモリからの影響を受けまいとしてサブシステムから切り離した場合に、一度切り離しを行えば、次に組み込む指示をするまでその運用形態が継続できる効果を合わせ持ち、操作員が初期情報の内容と実際に運用しているサブシステムの構成が同じかどうかの意識をしなくて済む効果がある。
【0206】(3) :従来例では、あるクラスタでの初期化完了の遅れや初期化は正常に完了しているのに通信パスの異常からそれを確認できなかった場合には、そのクラスタを誤って切り離す縮退処理が動作してしまう、という課題があった。これに対して本発明は、クラスタの初期化実行時には、他クラスタでの初期化失敗に対して共有メモリと切り離す縮退を行わないようにしたので、次のような効果がある。
【0207】■:各クラスタ間におけるSVP間通信が必ず正常に操作していなければならないという制限はなくなり、何らかの理由(例えば一度は初期化に失敗したものの再度初期化を行うことによって成功した場合、あるいは他のクラスタに比べてメモリ容量や数が極端に多いなどして処理時間がはるかに大きいなど)により初期化が遅れた場合などにも共有メモリと接続できる効果がある。
【0208】(4) :従来例では、計算機群の中の入出力装置台数の増加や共有メモリの増加によって、計算機群の電源投入から実際に使用可能となるまでの時間が増加する、という課題があった。これに対して本発明は、入出力装置が電源投入され、実際に使用可能となるまでの待ち合わせ時間を共有メモリ組み込み処理の完了待ち合わせと兼ねさせ、かつ、それらを並行して実行させるようにしたので、次のような効果がある。
【0209】■:計算機群全体として、電源投入から実際に使用可能となるまでの時間を短縮することができる。
(5) :従来例では、クラスタとSSUのデータ転送パスの接続関係を示す構成情報において、任意のクラスタでの構成変更中に別のクラスタが構成情報の読み出しを行うと、構成情報の変更中の過渡的な情報が読み出されてしまうことを解決するために設けたスケジューラ機構を動作させるスケジューラSVPが、任意のクラスタとオンラインでなければならず、しかも全てのクラスタが全てのSSUとオンラインであると、スケジューラSVPが不在となってしまう、という課題があった。
【0210】これに対して本発明は、スケジューラ機構を動作させるスケジューラSVPが、SSU−SVP間での通信が有効なものの中で決定することにより、次のような効果がある。
【0211】■:全てのクラスタとSSUの間でオフラインとなっていることによるスケジューラSVPが不在となる状態を無くす効果がある。
■:構成情報を変更することによるスケジューラSVPの交替が発生しなくなるために、構成変更処理において複雑なスケジューラSVPの交替制御を不要とし、同時にスケジューラSVPの交替処理を行うための処理の長時間化を防ぐ効果がある。
【0212】中でも、SSUの電源制御権が遠隔操作状態にあるものを優先してスケジューラSVPとすることで、保守中などにより頻繁に電源の切断、投入が行われることを予測できるようなSSUがスケジューラSVPとなるために電源切断によるスケジューラの交替が発生することを防ぐ効果がある。
【0213】■:スケジューラであるSSUが電源切断される時にはスケジューラSVPの交替が発生するが、そのような時にクラスタで構成情報の読み出しを行おうとしても、事前ににスケジューラSVPが交替中であることや、新たにスケジューラが決定したことをクラスタSVPでは知り得ることが可能であり、実際に無駄なSVP間通信を行なわなくて済むため、SVP間通信のための通信パスの負荷を減らす効果がある。
【0214】(6) :従来例では、構成情報の読み出しなどの処理を行う時、複数のクラスタからの実行を順次実行させるために設けたスケジューラ機構により、OSからの構成制御DIAG命令が実際の処理開始が遅れるとそのためにシステムダウンを引き起こす、という課題があった。
【0215】これに対して本発明は、順次実行させるための処理の完了までに許された時間毎に待ち行列を1個から3個に増やし、構成制御DIAG命令の処理を分割し、命令の完了までに許された時間を越えてしまいそうな場合には、事前にそれを検出し、命令を異常終了させ、構成情報の変更が実行されているあるいはされようとしている場合以外はすべての構成情報の読み出し処理を同時に実行することを可能とすることにより、次のような効果がある。
【0216】■:構成制御DIAG命令などの操作開始から完了までに許される時間が非常に短い処理と、それに対して個々のクラスタSVPにおける入出力装置からの操作のように、操作の開始から完了までに許される時間が構成制御DIAG命令のそれと比較して長いものが同時に複数実行された場合において、許された時間の短い構成制御DIAG命令を優先的に実行させることができる、という効果がある。
【0217】■:スケジュ−ラ機構による実行権を得るための処理や、構成情報の読み出し処理等がSVP間での通信パスの負荷などによってわずかずつ遅延していった場合や、同じ待ち行列に格納される処理が多数のクラスタSVPから実行された場合など、構成制御DIAG命令の完了までの時間が制限時間を越えてしまう場合において、制限時間を越えそうなことを事前に検出し、実行結果を保証せず、かつ、再度実行を期待することを報告し、システムダウンとなることを避ける効果がある。
【0218】■:構成情報の変更を目的とした操作が行われるまで、複数のクラスタSVPからの同時に構成情報の読み出しのための実行権の要求に対し、それを同時に与えることにより、複数のクラスタSVPで同時に構成情報の読み出しを可能とし、通常のOS起動時には構成情報の読み出しを目的とした構成制御DIAG命令しか実行されないことから、個々の構成制御DIAG命令が実行されてから完了するまでの時間を短縮することができ、OSを起動してから実際に使用可能となるまでの時間を大幅に短縮する効果がある。
【0219】■:前記■で述べたことは同時に、計算機群の運用中に任意のSSUにおいて障害が発生し、緊急に論理的な切り離しが行われた場合、切り離し後に運用中のすべてのクラスタにおいて構成情報の読み出しを目的とする構成制御DIAG命令が発行されるが、この時、個々の構成制御DIAG命令の完了までの時間が短縮されることにより、障害発生時における計算機群としての種々の動作を迅速に行うことを可能にする効果がある。
【0220】前記効果の外、各請求項に対応して次のような効果がある。
(7) :請求項1では、初期情報同期手段は、前記レジスタに設定する構成情報の内、電源投入時に使用される初期情報を更新する際、一部装置の電源が切断状態にあっても、前記初期情報に時刻情報を付加し、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る処理を行う。
【0221】このように、初期情報に時刻情報を付加し、初期構成制御を行う時に最新のものへと複写を行い同期を図ることにより、初期情報の作成時にサービスプロセッサ間における通信パスの異常や電源切断状態の装置があることで初期情報の不一致が生じても、初期構成制御を正常に完了させることを可能とする。また、通信パスの異常時において誤って初期情報を更新しても、次回の初期構成制御において正常に処理を完了させることができる。
【0222】(8) :請求項2では、高速同期処理手段は、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないようにすることで、計算機群としての初期情報の同期処理を高速化する処理を行う。
【0223】この場合、初期情報同期処理はクラスタ、及び共有メモリの装置台数の増加によって初期構成制御処理に要する時間が増大してしまう、という課題がある。このため、前記のように、初期情報同期処理を行うサービスプロセッサを幾つかのグループに分割し、同期処理の完了に関する情報を持つことにより、一部の装置に対する初期情報同期処理を省略することを可能とし、これにより初期構成制御に要する時間を短縮することができる。このことは、計算機群が大きくなっていった場合に特に有効である。
【0224】(9) :請求項3では、初期情報更新手段は、データ転送パスの接続状態の変更によって、同時に初期情報の対応する部分を更新することで、常に、最新の構成情報を初期情報として保持し、次回の電源投入時には、前回の電源切断時点での構成情報のままでの運用を可能にする処理を行う。
【0225】すなわち、サブシステム内におけるクラスタと共有メモリのデータ転送パスの接続関係の変更を契機に、初期情報を更新することにより、障害の復旧が遅れても、再度その装置をサブシステムに組み込むことによって発生するトラブルを未然に防いだり、自動的に初期情報が更新されるため操作員が初期情報の更新を怠り再度障害が発生することを防ぐことができる。
【0226】このことは同時に、一定期間共有メモリを使用しない運用をするために、共有メモリからの影響を受けまいとしてサブシステムから切り離した場合に、一度切り離しを行えば次に組み込む指示をするまでその運用形態が継続できる利点があり、操作員が初期情報の内容と実際に運用しているサブシステムの構成が同じかどうかの意識をしなくて済む。
【0227】(10):請求項4では、成功時接続処理手段は、自クラスタの共有メモリ接続処理が成功した時のみ、自クラスタと共有メモリを論理的に接続することで、クラスタ内の初期化に失敗したクラスタと共有メモリが接続されることを防ぎ、他クラスタとの初期化完了の待ち合わせを行ったり、初期化に失敗したクラスタが共有メモリと接続することのないように、初期情報を変更する必要を無くす処理を行う。
【0228】すなわち、クラスタの初期化実行時には、他のクラスタでの初期化失敗に対して共有メモリと切り離す縮退を行わないことにより、各クラスタ間におけるサービスプロセッサ間通信が必ず正常に操作していなければならないという制限はなくなり、何らかの理由(例えば一度は初期化に失敗したものの再度初期化を行うことによって成功した場合、あるいは他のクラスタに比べてメモリ容量や数が極端に多いなどして処理時間がはるかに大きいなど)により初期化が遅れた場合などにも共有メモリと接続できる。
【0229】(11):請求項5では、接続時処理手段は、電源投入された入出力装置が実際に使用可能となるまでの待ち合わせ完了後に、共有メモリの初期化完了待ちと、自クラスタとの接続処理を行うことにより、計算機群として、電源投入から使用可能となるまでに所要する時間を短縮する処理を行う。
【0230】このように、入出力装置が電源投入され、実際に使用可能となるまでの待ち合わせ時間を、共有メモリ組み込み処理の完了待ち合わせと兼ねさせ、かつ、それらを並行して実行させることにより、計算機群全体として電源投入してから実際に使用可能となるまでの時間を短縮できる。
【0231】(12):請求項6では、スケジューラ選択手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラ機構を動作させるための共有メモリサービスプロセッサを、実際にサービスプロセッサ間での通信が正常に行えたものの中から選択することにより、構成変更時におけるスケジューラサービスプロセッサの交替を不要とする処理を行う。
【0232】このように、スケジューラ機構を動作させるスケジューラSVPが共有メモリサービスプロセッサ間での通信が有効なものの中で決定することにより、全てのクラスタと共有メモリの間でオフラインとなっていることによるスケジューラサービスプロセッサが不在となる状態をなくすことができる。
【0233】また、構成情報を変更することによるスケジューラSVPの交替が発生しなくなるために、構成変更処理において複雑なスケジューラSVPの交替制御を不要とし、同時にスケジューラSVPの交替処理を行うための処理の長時間化を防ぐことができる。
【0234】(13):請求項7では、スケジューラ選択手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジュ−ラ機構を動作させるための共有メモリサービスプロセッサを、共有メモリの電源制御権が遠隔操作状態にあるものがスケジューラサービスプロセッサとなるように優先させて選択することにより、保守中における頻繁な電源切断によるスケジューラの交替を無くす処理を行う。
【0235】このように、共有メモリの電源制御権が遠隔操作状態にあるものを優先してスケジューラSVPとすることで、保守中などにより頻繁に電源の切断、投入が行われることを予測できるような共有メモリがスケジューラSVPとなるために電源切断によるスケジューラの交替が発生することを防ぐことができる。
【0236】また、スケジューラである共有メモリが電源切断される時にはスケジューラSVPの交替が発生するが、そのような時にクラスタで構成情報の読み出しを行おうとしても、事前にスケジューラSVPが交替中であることや、新たにスケジューラが決定したことをクラスタSVPでは知り得ることが可能であり、実際の無駄なサービスプロセッサ間通信を行なわなくて済むため、サービスプロセッサ間通信のための通信パスの負荷を減らすことができる。
【0237】(14):請求項8では、通知手段は、構成情報の変更と読み出しが競合した場合に、変更中の過渡的な状態が読み出されることを防ぐために設けたスケジューラの交替には、その処理を開始する前にそれをクラスタに通知しておく処理を行う。このようにすれば、無駄なスケジューラサービスプロセッサに対する実行権の要求を省き、サービスプロセッサ間における通信のためのパスの負荷を減らすことができる。
【0238】(15):請求項9では、命令処理手段は、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令を処理する際、処理を分割することにより、操作の完了までに許される時間を越えてしまいそうな時、それを事前に検出し、処理を強制的に終了させる。このようにすれば、その時間を越えてしまうことを回避し、OSがシステムダウンとならないようにすることができる。
【0239】(16):請求項10では、スケジューラ処理手段は、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、個々の処理を優先順位別に幾つか分類し、優先順位の高いものから動作させる処理を行う。
【0240】すなわち、構成制御DIAG命令などの操作開始から完了までに許される時間が非常に短い処理と、それに対して個々のクラスタSVPにおける入出力装置からの操作のように、操作の開始から完了までに許される時間が構成制御DIAG命令のそれと比較して長いものが同時に複数実行された場合において、許された時間の短い構成制御DIAG命令を優先的に実行させることができる。
【0241】(17):請求項11では、スケジューラ処理手段は、構成情報の変更と読み出しが競合した場合に、それらを同時に実行させないようにするスケジューラ機構の処理において、構成情報の変更を目的とした操作が行われようとしているかを確認する。
【0242】このようにすれば、構成情報の変更が行われるまでの間は構成情報の読み出しが同時に可能となることから、複数のクラスタ間での同時IPL実行(初期プログラムローディング処理の実行)によって、OSによるCPU命令からの構成情報の読み出しや変更の操作を行うための構成制御DIAG命令の競合する場合に、個々の命令の実行時間が短縮され、OSを起動してから実際に使用可能となるまでの時間を短縮可能にする。
【0243】(18):請求項12では、コンピュータに、記録媒体に記録したプログラムを実行させることにより、初期情報を更新する際、一部装置の電源が切断状態にあっても、初期情報に時刻情報を付加させ、次回の電源投入時において構成情報における論理的な矛盾を発生させないように、常に最新となる初期情報への同期を図る処理と、電源投入時における初期情報の同期を行う際、同時に同期を行う装置を幾つかのグループに分割し、かつ、既に同期処理が完了している装置には同期処理を行わないことで、計算機群としての初期情報の同期処理を高速化する処理とを行う。
【0244】このように、初期情報に時刻情報を付加し、初期構成制御を行う時に最新のものへと複写を行い同期を図ることにより、初期情報の作成時にサービスプロセッサ間における通信パスの異常や電源切断状態の装置があることで初期情報の不一致が生じても初期構成制御を正常に完了させることを可能とする。また、通信パスの異常時において誤って初期情報を更新しても次回の初期構成制御において正常に処理を完了させることができる。
【0245】更に、初期情報同期処理を行うサービスプロセッサを幾つかのグループに分割し、同期処理の完了に関する情報を持つことにより、一部の装置に対する初期情報同期処理を省略することを可能とし、これにより初期構成制御に要する時間を短縮することができる。このことは、計算機群が大きくなっていった場合に特に有効である。
【出願人】 【識別番号】000005223
【氏名又は名称】富士通株式会社
【出願日】 平成9年(1997)9月10日
【代理人】 【弁理士】
【氏名又は名称】今村 辰夫 (外1名)
【公開番号】 特開平11−85715
【公開日】 平成11年(1999)3月30日
【出願番号】 特願平9−244968