(57)【要約】      （修正有）【課題】複数のコンピュータに同時に処理を行わせる並列コンピュータを構成する各コンピュータおよびファイル排他制御処理装置の一部に処理が集中し、それが原因で並列コンピュータ全体の処理能力が低下することを防ぐ、ファイル排他制御処理装置およびファイル排他制御システムを提供する。【解決手段】並列コンピュータシステム１００で、第１〜第Ｎのコンピュータ１０１1〜１０１Nに対して共有ファイルの使用を占有させる使用占有権の管理を行うファイル排他制御処理装置１０４は、ＣＰＵ１１０のビジー率がＣＰＵビジー率計測部１１３により計測され、それが転送可能に構成されている。【効果】これによりファイル排他制御処理装置１０４の負荷分析を統計的に行うことが可能である。【選択図】図１
2006164082.tif 000002
【特許請求の範囲】
【請求項１】
複数のコンピュータの少なくとも２以上が共通して使用するそれぞれの共有ファイルの使用を、時間的に１つのコンピュータに占有させるためのロック要求を前記複数のコンピュータからそれぞれ受信するロック要求受信手段と、
前記共有ファイルの占有の解除を要求するためのアンロック要求を前記複数のコンピュータからそれぞれ受信するアンロック要求受信手段と、
前記ロック要求受信手段が前記ロック要求を受信したとき該当の前記共有ファイルが使用中でなければこれをその要求したコンピュータの使用のためにロックさせる共有ファイルロック手段と、
この共有ファイルロック手段が該当の前記共有ファイルをロックさせたときそのロック要求を行ったコンピュータにこれを通知するロック通知手段と、
前記アンロック要求受信手段が前記アンロック要求を受信したときそのアンロック要求を行ったコンピュータの占有していた前記共有ファイルの占有を解除させるアンロック手段と、
このアンロック手段が前記共有ファイルの占有を解除させたときそのアンロック要求を行ったコンピュータにこれを通知するアンロック通知手段と、
前記各手段を実現するＣＰＵのビジー率を測定するＣＰＵビジー率測定手段と、
このＣＰＵビジー率測定手段の測定したＣＰＵビジー率を前記複数のコンピュータに通知するビジー率通知手段
とを具備することを特徴とするファイル排他制御処理装置。
【請求項２】
前記ビジー率通知手段は、前記ＣＰＵビジー率測定手段の測定したＣＰＵビジー率を所定のしきい値と比較する比較手段を備え、ＣＰＵビジー率が前記所定のしきい値を超えたとき、前記複数のコンピュータに通知することを特徴とする請求項１記載のファイル排他制御処理装置。
【請求項３】
前記複数のコンピュータのそれぞれから受信した前記ロック要求およびアンロック要求についてこれらの実行回数を、要求したコンピュータごとに測定する要求実行回数測定手段と、
単位時間内の各ロック要求およびアンロック要求があってから要求に対する処理が終了されるまでのターンアラウンドタイムを測定するターンアラウンドタイム測定手段と、
前記複数のコンピュータから負荷情報読み取りの要求があったときこれを受信する負荷情報読取要求受信手段と、
この負荷情報読取要求受信手段により負荷情報読み取りの要求を受信したとき前記ＣＰＵビジー率、前記複数のコンピュータのそれぞれから受信した前記ロック要求およびアンロック要求についてこれらの実行回数および前記複数のコンピュータごとの前記ターンアラウンドタイムの平均値からなる負荷情報をその要求のあったコンピュータに通知する負荷情報通知手段
とを具備することを特徴とする請求項１記載のファイル排他制御処理装置。
【請求項４】
前記ロック要求受信手段およびアンロック要求受信手段は、ロック要求およびアンロック要求を順次受信して格納する要求受信バッファと、この要求受信バッファに時間的に先に格納された要求から順に要求を読み出す先入れ先出し要求読出手段とを具備することを特徴とする請求項３記載のファイル排他制御処理装置。
【請求項５】
前記ロック要求受信手段およびアンロック要求受信手段は、ロック要求およびアンロック要求を順次受信して格納する要求受信バッファと、要求の種類に応じた優先度をあらかじめ設定する優先度設定手段と、前記要求受信バッファに格納された要求をこの優先度設定手段に設定された優先度に応じて優先度の高いものから順に読み出す優先度順要求読出手段とを具備することを特徴とする請求項３記載のファイル排他制御処理装置。
【請求項６】
前記共有ファイルをそれぞれ排他的に分担する複数の請求項１〜請求項５いずれかに記載のファイル排他制御処理装置と、
これらファイル排他制御処理装置の前記ＣＰＵビジー率を基にして、これらのファイル排他制御処理装置間の負荷の偏りを表示する共有ファイル分担偏り表示手段と、
この共有ファイル分担偏り表示手段の表示した偏りを基にして各ファイル排他制御処理装置の負荷が均等化される共有ファイルの分担を再設定する共有ファイル分担再設定手段
とを具備することを特徴とするファイル排他制御システム。
【請求項７】
前記共有ファイルをそれぞれ排他的に分担する複数の請求項３〜請求項５いずれかに記載のファイル排他制御処理装置と、
これらファイル排他制御処理装置が前記複数のコンピュータのそれぞれに前記負荷情報通知手段を用いて個別に通知した前記負荷情報を用いて前記複数のコンピュータ間のジョブ処理の負荷の偏りを演算する負荷偏り演算手段と、
この負荷偏り演算手段の演算した負荷の偏りが解消されるよう前記複数のコンピュータのジョブの分担を再設定するコンピュータ分担再設定手段
とを具備することを特徴とするファイル排他制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータの少なくとも２以上が共通して使用する共有ファイルの使用を占有させる使用占有権の管理をするファイル排他制御処理装置およびこのようなファイル排他制御処理装置を使用したファイル排他制御システムに係わり、特にこれらの複数のコンピュータ全体としての処理速度の向上を目的とした処理を行うことができるファイル排他制御処理装置およびファイル排他制御システムに関する。
【背景技術】
【０００２】
コンピュータの処理速度は、ＣＰＵ（Central Processing Unit）の性能と密接に関係し、近年のＣＰＵの高性能化に伴い向上し続けている。一方、複数のコンピュータを同時に用い、つまりＣＰＵ自体の数を増やし、これらに同時に処理を行わせることで、処理速度の向上を実現する手法もある。このようなコンピュータは並列コンピュータと呼ばれる。スーパーコンピュータの世界でも主流となりつつあるのは、ＭＰＰ（Massively Parallel Processor）方式とよばれる並列コンピュータである。さらに、ネットワークを介して複数のコンピュータを結び、これらに並列処理を行わせることで仮想的に高い処理速度を持つコンピュータをつくるグリッドコンピューティングという、いわば分散型ともいえるシステムもある。このようなシステムは、ＣＰＵだけでなく、大量のデータを格納するためのメモリも、非常に大量なものを装備することができ、科学技術分野等で頻繁に使われる行列計算などの大量の繰り返し演算を行わせるのに適している。具体的な利用分野としては、気象災害の発生予測や地球温暖化の解明、地球規模の気候変動の解明や予測などの気象予測、遺伝子解析、ヒトゲノムなどのバイオテクノロジー分野、または物質シュミレーションによる物質の構造や特性解析を行うナノテクノロジー分野等が挙げられるが、これ以外にもデータマインディングや経済予測・金融工学といった分野での活用も期待されている。
【０００３】
このような非常に高度な処理能力が求められるスーパーコンピュータでなくても、並列コンピュータを用いることにより、高性能な１台のコンピュータに比べて安価で、処理能力的には同等な環境が実現できる場合が多い。したがって、企業内におけるデータベースの管理システムや、支店からの売り上げデータを集計する小売業の売上データ収集システムなど、一般にマシンパワーが必要とされる多々の場面において、並列コンピュータが広く利用されている。ところで、複数のコンピュータに共通ファイルの処理を同時に行わせる際、重要になるのがファイルの排他制御である。これは、少なくとも２つ以上のコンピュータが共通して使用する共有ファイルに対して、各共有ファイルの使用を時間的に１つのコンピュータに占有させることで、その整合性を保つ方法である。
【０００４】
図９は、排他制御が行われていないシステムで共有ファイルがコンピュータにより更新される様子を示す。第Ｘのコンピュータ７０１と第Ｙのコンピュータ７０２は、図示しない共有記憶装置中にある同一の“Ａ”という内容のファイル７０３1をほぼ同じタイミングで読み取り（ステップＳ７１１X、Ｓ７１１Y）、それぞれ処理を行う。これらの処理後のファイル７０３2およびファイル７０３3が書き込まれる（ステップＳ７１２X、Ｓ７１２Y）と、先に書き込まれた第Ｘのコンピュータ７０１による処理後ファイル７０３2の内容“Ｂ”は、後に書き戻された第Ｙのコンピュータ７０２による処理後のファイル７０３3の内容“Ｃ”により上書きされてしまうため、結果ファイル７０３2の内容“Ｂ”はファイル７０３3の内容“Ｃ”には反映されず、整合性が保たれないという事態が発生する。
【０００５】
図１０は、排他制御が行われているシステムで共有ファイルがコンピュータにより更新される様子を示す。この図で図９と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。排他制御の行われているシステムでは、あるコンピュータが共有ファイルを使用している間、他のコンピュータは同一ファイルを使用することはできない。これをファイルのロックといい、これにより、このコンピュータがロックされた共有ファイルの使用を占有することができる。処理の終了後、共有ファイルがアンロックされると、占有が解除されるので、他のコンピュータにも共有ファイルの処理を行う機会が与えられる。まず、第Ｘのコンピュータ７０１は“Ａ”という内容のファイル７０３1をロックしてから（ステップＳ７１３x）、読み取り（ステップＳ７１１x）、自らの処理を完了後、処理後の“Ｂ”という内容のファイル７０３2を書き込み（ステップＳ７１２x）、最後にアンロックする（ステップＳ７１４x）。次に、第Ｙのコンピュータ７０２は“Ｂ”という内容のファイル７０３2をロックしてから（ステップＳ７１３Y）、読み取り（ステップＳ７１１Y）、自らの処理を終了後、処理後の“Ｄ”という内容のファイル７０３4を書き込み（ステップＳ７１２Y）、最後にアンロックする（ステップＳ７１４Y）。これにより、結果ファイル７０３4の内容は“Ｄ”となり、これは第Ｘのコンピュータ７０１および第Ｙのコンピュータ７０２の両方の処理を反映したもので、整合性が保たれる。このようにして、共有ファイルの占有使用権の付与および解除が行われ、共有ファイルへの処理を制限することで、複数の処理に対して整合性が保たれる。
【０００６】
このような排他制御を行うファイル排他制御処理装置を、複数のコンピュータに共有されるファイルの更新制御に用いるようにした提案が行われている（たとえば特許文献１）。この提案によると、ホストコンピュータが前回使用した共有ファイルをローカルバッファに持ち、それが他のホストコンピュータによって更新されていない場合、再度外部記憶装置上から共有ファイルを読み込む処理を省略することができる。これは世代番号を呼ばれる、共有ファイルの更新の状況を示す情報を排他制御処理装置が管理し、ロックコマンドを発行したホストコンピュータに、該当共有ファイルの世代番号を通知することで実現されている。コンピュータシステム全体でみると、各ホストコンピュータからの外部記憶装置へのアクセスの時間が短縮され、共有ファイルがロックされる時間も短縮される。つまり、ロック、アンロックコマンドのＴＡＴ（Turnaround time）の平均値が短縮され、システムの処理能力が向上する。ここで、ＴＡＴとは、ホストコンピュータがロック、アンロックコマンドを発行してから、実際にロック、アンロックコマンドが終了するまでの時間を指す。
【特許文献１】特開平１０−９１５１０号公報（段落０００９、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
このような従来のファイル排他制御処理装置を用いた並列コンピュータでは、これを構成する複数のコンピュータあるいはファイル排他制御処理装置のいずれかに処理が集中すると、その部分の処理遅延がネックとなり、並列コンピュータ全体としての処理能力が低下させられることがあった。そのため、同時に処理させるコンピュータの数を増やしたり、あるいは既存のコンピュータのＣＰＵをより高性能なものに交換するということが行われていた。また同様に、用いたファイル排他制御処理装置側の排他制御処理能力が不足していることも考えられるので、こちらを増設することも行われていた。しかし、これらはコストの面では困難な場合が多い。
【０００８】
そこで本発明の目的は、複数のコンピュータに同時に処理を行わせる並列コンピュータを構成する各コンピュータおよびファイル排他制御処理装置の一部に処理が集中し、それが原因で並列コンピュータ全体の処理能力が低下することを防ぐ、ファイル排他制御処理装置およびファイル排他制御システムを提供することにある。
【課題を解決するための手段】
【０００９】
請求項１記載の発明では、（イ）複数のコンピュータの少なくとも２以上が共通して使用するそれぞれの共有ファイルの使用を、時間的に１つのコンピュータに占有させるためのロック要求を前記した複数のコンピュータからそれぞれ受信するロック要求受信手段と、（ロ）前記した共有ファイルの占有の解除を要求するためのアンロック要求を前記した複数のコンピュータからそれぞれ受信するアンロック要求受信手段と、（ハ）前記したロック要求受信手段が前記したロック要求を受信したとき該当の前記した共有ファイルが使用中でなければこれをその要求したコンピュータの使用のためにロックさせる共有ファイルロック手段と、（ニ）この共有ファイルロック手段が該当の前記した共有ファイルをロックさせたときそのロック要求を行ったコンピュータにこれを通知するロック通知手段と、（ホ）前記したアンロック要求受信手段が前記したアンロック要求を受信したときそのアンロック要求を行ったコンピュータの占有していた前記した共有ファイルの占有を解除させるアンロック手段と、（へ）このアンロック手段が前記した共有ファイルの占有を解除させたときそのアンロック要求を行ったコンピュータにこれを通知するアンロック通知手段と、（ト）前記した各手段を実現するＣＰＵのビジー率を測定するＣＰＵビジー率測定手段と、（チ）このＣＰＵビジー率測定手段の測定したＣＰＵビジー率を前記した複数のコンピュータに通知するビジー率通知手段とをファイル排他制御処理装置に具備させる。
【００１０】
すなわち請求項１記載の発明では、複数のコンピュータ間の共有ファイルの使用を、時間的に１つのコンピュータに占有させるためのロック要求、およびその占有を解除させるアンロック要求をそれぞれ受信し、さらにこれらの要求に応じて処理を行い、処理が終了したときにはそれぞれ終了を通知するファイル排他制御処理装置に、自装置のＣＰＵのビジー率を測定させ、その測定結果を通知可能としている。これにより、ファイル排他制御処理装置の負荷情報として、ＣＰＵビジー率情報を収集することが可能である。したがって、ファイル排他制御処理装置の負荷状態を把握することができるので、高負荷であることがわかれば、さらに共有ファイルの排他制御処理を分担する装置を導入するなどの対策を、予めとることができる。
【００１１】
請求項６記載の発明では、（イ）前記した共有ファイルをそれぞれ排他的に分担する複数の請求項１〜請求項５いずれかに記載のファイル排他制御処理装置と、（ロ）これらファイル排他制御処理装置の前記したＣＰＵビジー率を基にして、これらのファイル排他制御処理装置間の負荷の偏りを表示する共有ファイル分担偏り表示手段と、（ハ）この共有ファイル分担偏り表示手段の表示した偏りを基にして各ファイル排他制御処理装置の負荷が均等化される共有ファイルの分担を再設定する共有ファイル分担再設定手段とをファイル排他制御システムに具備させる。
【００１２】
すなわち請求項６記載の発明では、複数のファイル排他制御処理装置を用い、それぞれに共有ファイルの排他制御処理を行わせている状況で、各ファイル排他制御処理装置から収集されたＣＰＵビジー率を基にして、これら複数のファイル排他制御処理装置間の負荷の偏りを表示させることにした。さらに、表示された負荷の偏りを基にして、これらを均等化させるようファイル排他制御処理装置の共有ファイルの分担を再設定させるので、あるファイル排他制御処理装置に負荷が集中して、システム全体の処理能力が低下するという事態を避けることが可能である。したがって、システム全体として、ファイル排他制御の処理能力が無駄なく発揮される。
【００１３】
請求項７記載の発明では、（イ）前記した共有ファイルをそれぞれ排他的に分担する複数の請求項３〜請求項５いずれかに記載のファイル排他制御処理装置と、（ロ）これらファイル排他制御処理装置が前記した複数のコンピュータのそれぞれに前記した負荷情報通知手段を用いて個別に通知した前記した負荷情報を用いて前記した複数のコンピュータ間のジョブ処理の負荷の偏りを演算する負荷偏り演算手段と、（ハ）この負荷偏り演算手段の演算した負荷の偏りが解消されるよう前記した複数のコンピュータのジョブの分担を再設定するコンピュータ分担再設定手段とをファイル排他制御システムに具備させる。
【００１４】
請求項７記載の発明では、ファイル排他制御処理装置に複数のコンピュータの共有ファイルの排他制御処理を行わせている状況で、各コンピュータごとのロック、アンロック要求実行回数およびこのターンアラウンドタイムの平均値からなる負荷情報をファイル排他制御処理装置から収集可能としている。また、これらの負荷情報から複数のコンピュータ間の負荷の偏りを求め、偏りを解消するように、各コンピュータのジョブの分担を再設定させるので、あるコンピュータにジョブが集中してシステム全体の処理能力が低下するという事態を避け、バランスのよいシステム運用が可能となる。
【発明の効果】
【００１５】
以上説明したように本発明では、並列コンピュータを構成する複数のコンピュータおよびファイル排他制御装置の負荷情報を、ファイル排他制御処理装置が表示可能としているので、これらの負荷分析から負荷の偏りを均等化し、並列コンピュータの一部に負荷が集中して全体の処理能力が低下するのを防ぐことができる。
【発明を実施するための最良の形態】
【００１６】
以下実施例につき本発明を詳細に説明する。
【実施例１】
【００１７】
図１は、本発明の一実施例によるファイル排他制御処理装置を使用した並列コンピュータシステムの構成の概要を表わしたものである。この並列コンピュータシステム１００では、第１〜第Ｎのコンピュータ１０１1〜１０１N（Ｎは２以上の整数）は、入出力制御部１０３を介してファイル排他制御処理装置１０４にそれぞれ第１〜第Ｎの専用インタフェース１０５1〜１０５Nで接続し、共有ファイルを保持する外部記憶装置１０７とはそれぞれ第１〜第ＮのＳＣＳＩ（Small Computer System Interface）ケーブル１０６1〜１０６Nで接続されている。入出力制御部１０３はファイル排他制御処理装置１０４内部のＣＰＵ１１０とメモリ１１１とからなる排他制御処理部１１２、およびＣＰＵビジー率計測部１１３とそれぞれデータの送受信を行う。またＣＰＵビジー率計測部１１３はＣＰＵ１１０のビジー信号を基にビジー率計測を行っている。この計測方法の詳細については図２で詳しく説明する。
【００１８】
ファイル排他制御処理装置１０４内の各部は、バス１１４で接続され連携して処理を行っている。第１〜第Ｎのコンピュータ１０１1〜１０１Nは図示しないがＬＡＮ（Local Area Network）に接続して相互に通信を行いながら、それぞれ別のＣＰＵを独立して動作させ、共有ファイルの処理を行う汎用コンピュータである。各コンピュータがＬＡＮに接続するために使用される通信ケーブルは、“１００ｂａｓｅ−ＴＸ”あるいは“１０ｂａｓｅ−Ｔ”と呼ばれる１００メガビット／秒あるいは１０メガビット／秒の通信速度のケーブルである。第１〜第Ｎのコンピュータ１０１1〜１０１Nと外部記憶装置１０７との接続はＳＣＳＩ以外にファイバーチャネル等の接続方式でも実現できる。
【００１９】
第１のコンピュータ１０１1は共有ファイルを使用する際、ファイル排他制御処理装置１０４にロックコマンドを発行し、ファイルの使用を時間的に占有する使用占有権を要求する。このロックコマンドはファイル排他制御処理装置１０４の入出力制御部１０３により受信され、排他制御処理部１１２が共有ファイルの使用の排他制御を行う。つまり、その共有ファイルが他のコンピュータによりロックされていない場合は、ロック成功とし、共有ファイルの使用占有権を第１のコンピュータ１０１1に与える。共有ファイル使用終了時には、第１のコンピュータ１０１1は、ファイル排他制御処理装置１０４にアンロックコマンドを発行してロック解除を要求する。第１のコンピュータ１０１1を例にして説明したが、第２〜第Ｎのコンピュータ１０１2〜１０１Nがそれぞれ共有ファイルを使用する際も同様である。すなわち、この並列コンピュータシステムでは、各コンピュータが共有ファイルを使用する際には、その都度、ファイル排他制御処理装置１０４による仲介が必要で、各自が勝手に共有ファイルを使用することができない。このようなファイル排他制御処理装置１０４の働きにより、共有ファイルの整合性が保たれる。
【００２０】
図２は、図１に示したファイル排他制御処理装置の詳細な構成を表わしたものである。この図で図１と同一の部分には同一の符号を付しており、これらの説明を適宜省略する。まず、入出力処理部１０３について説明する。入出力処理部１０３は、ドライバ・レシーバ部１２１、コマンド受信部１２２、事象報告部１２３、コマンド数・ＴＡＴ計算部１２４、および負荷情報転送部１２５からなっている。実際に上位インタフェースと接続し、第１〜第Ｎのコンピュータ１０１1〜１０１Nとデータの送受信を行うのはドライバ・レシーバ部１２１で、図示しないが、決められた転送形式に則ってデータの送受信を行うための専用インタフェースに対応した複数の接続口と、入力した電気信号をデータに、また、出力するデータを電気信号に加工処理する入出力回路からなっている。コマンド受信部１２２はドライバ・レシーバ部１２１からコマンド１３１を受け取り、それを排他制御処理部１１２へ転送する。事象報告部１２３は排他制御処理部１１２から送られるコマンドの終了の事象報告１３２をドライバ・レシーバ部１２１に転送する。これらコマンド受信部１２２および事象報告部１２３は回路としてハードウエアで構成することもできるし、ソフトウェアで実現することも可能である。コマンド数・ＴＡＴ計算部１２４はコマンド数１３３およびＴＡＴ計算結果１３４を計算して記憶する。これは、図示しないＲＡＭ（Random Access Memory）等の記憶装置を有する回路で構成することが可能である。コマンド数１３３とは、単位時間当たりのコマンド実行数で、第１〜第Ｎのコンピュータ１０１1〜１０１Nごとにカウントされたものである。また、ＴＡＴ計算結果１３４とは、コマンド受信部１２２でコンピュータからのコマンド１３１を受け取ってから、それぞれの終了の事象報告１３２を該当コンピュータに返すまでの時間ＴＡＴ（Turnaround time）の単位時間当たりの平均値である。
【００２１】
入出力処理部１０３では第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかからコマンド１３１を受け取ると、ドライバ・レシーバ部１２１がそれをコマンド受信部１２２に転送し、さらにそれが排他制御処理部１１２へと送られる。コマンド１３１の終了時には、排他制御処理部１１２が事象報告部１２３にコマンドの終了事象報告１３２を送出し、それがドライバ・レシーバ部１２１に転送され、そこから先程コマンド１３１を発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかへと送られる。
【００２２】
つぎにＣＰＵビジー率計測部１１３であるが、これはＣＰＵビジー率計算部１４１、ＣＰＵビジー率記憶部１４２、およびＣＰＵビジー率チェック部１４３からなっている。ＣＰＵビジー率計算部１４１は、排他制御処理部１１２のＣＰＵ１１０の持つビジー信号１４４からＣＰＵビジー率を計算している。ビジー信号１４４とはＣＰＵ１１０が動作中かどうかで電圧レベルを“Ｈｉｇｈ（ハイ）”か“Ｌｏｗ（ロー）”に変える電気的信号である。ＣＰＵビジー率記憶部１４２は、ＣＰＵビジー率１４５を記憶する記憶装置である。ＣＰＵビジー率チェック部１４３は、ＣＰＵビジー率１４５を常時監視する。これらは回路で構成することができるが、ソフトウェアでも実現可能である。
【００２３】
ＣＰＵビジー率計算部１４１はビジー信号１４４を監視することでＣＰＵ１１０の状況をリアルタイムに知ることができ、単位時間当たりのビジー率の平均値を計算し、ＣＰＵビジー率記憶部１４２が、その計算結果であるＣＰＵビジー率１４５を記憶するようになっている。ＣＰＵビジー率１４５はＣＰＵビジー率チェック部１４３により常時監視され、予め設定された値を超えたときは、入出力処理部１０３の事象報告部１２３に高負荷報告１４６が送出され、さらにドライバ・レシーバ部１２１を通じて第１〜第Ｎのコンピュータ１０１1〜１０１Nへと転送される。ＣＰＵビジー率記憶部１４２に記憶されたＣＰＵビジー率１４５は、コマンド数１３３およびＴＡＴ計算結果１３４同様、第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかから発行されたコマンド１３１が負荷情報読み取りコマンドであった場合、入出力処理部１０３の負荷情報転送部１２５により、コマンド数１３３、ＴＡＴ計算結果１３４とともにドライバ・レシーバ部１２１を介して、コマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに転送されるようになっている。この場合のＣＰＵビジー率１４５とは、排他制御により、ファイル排他制御処理装置１０４のＣＰＵ１１０が実際に動作中となる時間が全体の何パーセントになるかを表わしたものであるので、ファイル排他制御処理装置１０４にかかる負荷率と考えることができる。
【００２４】
排他制御処理部１１２は、共有ファイルの排他制御に使用されるＣＰＵ１１０とメモリ１１１からなり、メモリ１１１はコマンドリスト１５１と排他制御ファイル情報１５２を保持している。第１〜第Ｎのコンピュータ１０１1〜１０１Nがファイル排他制御処理装置１０４に受け渡すコマンド１３１は、予め決められた形式でコマンドの種類や対象ファイル番号などの情報を持っており、これらのコマンド情報が登録されたものがコマンドリスト１５１である。また、排他制御ファイル情報１５２とは、その時点で排他制御が行われている共有ファイルの情報だけを格納したものである。格納される情報は、少なくとも共有ファイル番号とコマンド発行コンピュータ番号、および“ロック中”か“アンロック待ち”を表わす状態情報を含んでいる。一般に、汎用コンピュータのように大量のファイルを扱うシステムでは、存在する全共有ファイル分の情報を格納すると、膨大なメモリが必要になる。したがって、一度に使用する可能性のある最大容量分をメモリ１１１中に確保し、そこに排他制御中、つまりロック中およびアンロック待ちの共有ファイルの状態情報だけを格納するようにしている。また、アンロックされた時点でその共有ファイルの状態情報は削除されるようになっている。
【００２５】
排他制御処理部１１２の動作は、受信した全てのコマンド１３１の情報をメモリ１１１内のコマンドリスト１５１に登録する、コマンド登録処理と、リストに登録された情報に基づいてコマンド１３１の実行を行う、コマンド実行処理の２つに分けられる。
【００２６】
図３は、メモリに格納されたコマンドリストの一部を表わしたものである。受信したコマンド１３１はリスト番号「０」から順に「１」、「２」、「３」、・・・、「Ｐ」（Ｐは整数）と登録されていき、これらがリストをすべて埋め尽くすと、再びリスト番号「０」に戻り、新しいコマンドで実行済みの古いコマンドを上書きしながらリストを更新していく。コマンドリスト１５１の大きさ、つまりＰの数は、メモリ１１１の容量に応じて決められた数で、容量に余裕がある場合は、多数のコマンドを受信し登録することができる。コマンド登録処理とコマンド実行処理は、それぞれ自らがリスト中のどのコマンドを処理中かを示すポインタ、登録ポインタ１６１および実行ポインタ１６２を持ち、処理が済むとポインタを１つずつ進めるようになっている。コマンド登録処理に対して、コマンド実行処理が早い場合は、両者のポインタはほぼ一致したまま進んでいく。逆に、コマンド登録処理に対して、コマンド実行処理が遅い場合は、登録ポインタ１６１が先行して、実行ポインタ１６２との差を広げるが、リストを一周して追いつくと、リストが未処理コマンドで埋め尽くされたことになる。そのため、コマンド実行処理が進まなければ、コマンド登録処理は新たなコマンドをリストに上書き登録することができず、待ち時間が発生する。ポインタがリストを周回した回数は、それぞれ、周回するごとに１つずつ増えるループカウンタで表わされる。リストに登録されるコマンド情報には、コマンドの種別をはじめ、コマンドの対象共有ファイル番号、コマンド発行コンピュータ番号などが含まれ、さらに、ロックコマンド実行時に、対象共有ファイルがすでに他のコンピュータによりロックされている場合、それがアンロックされるのを待つか、もしくは待たずにロック不成功として処理するかを決める、アンロック待ち選択の有無の情報等も含まれる。
【００２７】
図４は、本実施例のファイル排他制御処理装置の排他制御処理部におけるコマンド登録処理の流れを表わしたものである。まず、排他制御処理部１１２はコマンド１３１の受信を待機する（ステップＳ４０１）。受信すると（Ｙ）、登録ポインタ１６１と実行ポインタ１６２のループカウンタの差が値「１」であるかどうかを判別する（ステップ４０２）。差が「１」である場合は（Ｙ）、さらに両ポインタが等しいかどうかを判別する（ステップＳ４０３）。等しい場合は（Ｙ）、コマンドリスト１５１がすべて未処理コマンドで埋め尽くされ、新たな受信コマンド情報を登録できない状態にあるため、未処理コマンドが処理されて、実行ポインタ１６２の値が進むまで待機することになる。一方、ループカウンタの差が「１」でない場合（ステップＳ４０２：Ｎ）、あるいは、ループカウンタの差が「１」だがポインタが等しくない場合は（ステップＳ４０２：Ｙ、ステップＳ４０３：Ｎ）、受信コマンド情報をコマンドリスト１５１に登録し、登録ポインタ１６１を１つ進める（ステップＳ４０４）。つぎに、未処理コマンドがコマンドリスト１５１にあることを表わすフラグが、すでに立っているかどうかを判別する（ステップＳ４０５）。立ってない場合は（Ｎ）、フラグを立て（ステップＳ４０６）、立っている場合（ステップＳ４０５：Ｙ）は何もせずに処理を終了する。
【００２８】
図５は、本実施例のファイル排他制御処理装置の排他制御処理部におけるコマンド実行処理の流れを表わしたものである。まず、排他制御処理部１１２はコマンド登録処理（図４参照）により、フラグが立てられたかどうかを判別し（ステップＳ５０１）、立てられていない場合は（Ｎ）、未処理コマンドがコマンドリスト１５１に登録されてないことを示すので、コマンドが登録されるまで待機する。フラグが立てられている場合は（Ｙ）、コマンドリスト１５１から実行ポインタ１６２の指すコマンド情報を読み出す（ステップＳ５０２）。つぎに、読み出したコマンドを判別する（ステップＳ５０３、Ｓ５０４）。ロックコマンドの場合（ステップＳ５０３：Ｎ、ステップＳ５０４：Ｙ）、その共有ファイル番号がメモリ１１１中の排他制御ファイル情報１５２中に存在するかどうか、つまりすでに“ロック中”という状態情報があるかどうかを判別する（ステップＳ５０５）。存在しない場合は（Ｎ）、状態情報を“ロック中”として排他制御ファイル情報１５２を更新し（ステップＳ５１２）、ロックコマンドが成功したという事象報告１３２をコマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに対して行わせる（ステップＳ５１３）。これに対して、“ロック中”という状態情報が存在する場合は（ステップＳ５０５：Ｙ）、他のコンピュータによりその共有ファイルがロックされていることを表わすので、アンロック待ち選択がされていると（ステップＳ５０６：Ｙ）、状態情報を“アンロック待ち”として排他制御ファイル情報１５２を更新し、すでに他のコンピュータにより“ロック中”として登録されている、同じファイルの情報には、新たに登録した情報のメモリ１１１における位置情報を付加しておく（ステップＳ５０７）。次いでアンロック待ち発生の事象報告１３２をコマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに対して行わせる（ステップＳ５０８）。こうすることで、“ロック中”のこの共有ファイルが、アンロックコマンドによりロック解除されたとき、次に処理すべきコマンドの共有ファイル情報の格納場所が分かるようになっている。状態情報が“ロック中”のファイル情報だけでなく、すでに“アンロック待ち”のものも排他制御ファイル情報１５２に格納済みの場合、さらに別の“アンロック待ち”の情報を格納するには、後から格納した分のメモリ１１１中の位置情報を、先に格納した“アンロック待ち”のファイルの情報に付加する。このようにして、排他制御の順番が守られる。一方、アンロック待ちが選択されていない場合（ステップＳ５０６：Ｎ）、ロックコマンドが不成功に終わったという事象報告１３２をコマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに対して行わせる（ステップＳ５０９）。
【００２９】
コマンドがアンロックコマンドの場合（ステップＳ５０３：Ｎ、ステップＳ５０４：Ｎ）は、メモリ１１１に格納された自らの状態情報を参照し、同じ共有ファイルに対して“アンロック待ち”となっている、次に処理すべきコマンドがなければ（ステップＳ５１０：Ｎ）、自らのファイル情報を排他制御ファイル情報１５２から削除する（ステップＳ５１１）。“アンロック待ち”がある場合（ステップＳ５１０：Ｙ）は、ロックコマンドで排他制御ファイル情報１５２に同じ共有ファイルの情報がないとき（ステップＳ５０４：Ｙ、ステップＳ５０５：Ｎ）と同様の処理となり、状態情報を“ロック中”として排他制御ファイル情報１５２に格納し（ステップＳ５１２）、コマンドが成功の事象報告１３２を行わせる（ステップＳ５１３）。
【００３０】
コマンドが負荷情報読み取りコマンドの場合（ステップＳ５０３：Ｙ）、負荷情報転送部１２５に負荷情報をコマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに送るよう指示し（ステップＳ５１４）、同様にコマンド成功の事象報告１３２を行わせる（ステップＳ５１３）。
【００３１】
このように、基本的にはどのコマンドに対しても、実行後、コマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに対してコマンド成功、コマンド不成功および待ち発生の事象報告１３２を行わせ（ステップＳ５１３、ステップＳ５０９またはステップＳ５０８）、実行ポインタ１６２を１つ進める（ステップＳ５１５）。
【００３２】
ステップＳ５１５で実行ポインタ１６２を進めた後、それが登録ポインタ１６１と一致していれば（ステップＳ５１６：Ｙ）、コマンドリスト１５１に未処理コマンドが存在しないことを表わすため、フラグを落とし（ステップＳ５１７）、処理を終了する（リターン）。実行ポインタ１６２が登録ポインタ１６１と一致しない場合は（ステップＳ５１６：Ｎ）、そのままフラグの状態を変更しないので、次の処理が続行される。ＴＡＴとは、コマンド受信部１２２でコンピュータからのコマンド１３１を受け取ってから、それぞれの終了の事象報告１３２を該当コンピュータに返すまでの時間であるから、アンロック待ちが長くなるとロックコマンドのＴＡＴも長くなってしまう。したがって、アンロック待ちのときのＴＡＴは、待ち発生の事象報告１３２を返す（ステップＳ５０８）までの時間とする。コマンドリスト１５１に未処理コマンドが山積された状態では、コマンドを受信してから、コマンド実行、終了までに時間がかかるので、全てのコマンドに対してＴＡＴが長くなる。
【００３３】
図６は、ファイル排他制御処理装置のＣＰＵビジー率とＴＡＴの関係を表わしたものである。図に示されるように、ファイル排他制御処理装置１０４のコマンド１３１に対するＴＡＴ計算結果１３４は、ＣＰＵビジー率１４５が上がると急激に増加する。ファイル排他制御処理装置１０４が高負荷な状態では、共有ファイルの排他制御がネックになり、並列コンピュータシステム１００全体の処理能力低下が引き起こされることになる。したがって、適切な台数のファイル排他制御処理装置を導入し処理を分散させることが重要になる。
【００３４】
このようなＣＰＵビジー率１４５とＴＡＴ測定結果１３４の特性図は、同じ種類のファイル排他制御処理装置１０４間ではほぼ共通なもので、装置の製造者側が実際の測定結果から作成し、装置とともに付属資料としてユーザに提供されるのが望ましい。通常、ＣＰＵビジー率チェック部１４３によりファイル排他制御処理装置１０４が高負荷報告１４６を行うＣＰＵビジー率１４５の閾値は、製造者側でこの特性図に基づいて７０％程度に設定されている。この装置を導入したユーザはまず、自らが使用する並列コンピュータシステム１００にファイル排他制御処理装置１０４を適用し、装置の負荷情報を収集する。この負荷情報と、付属資料の特性図により、ファイル排他制御処理装置１０４に高負荷な状態が長くあることが分かれば、並列コンピュータシステム１００の処理能力に支障をきたす前に、予め装置台数を増やすなどの対策を講じることが可能である。
【００３５】
このファイル排他制御処理装置１０４によって計測される負荷情報は、第１〜第Ｎのコンピュータ１０１1〜１０１Nごとのコマンド数１３３、ＴＡＴ計算結果１３４、およびＣＰＵビジー率１４５からなっている。また、これらの情報は、ファイル排他制御処理装置１０４が、第１〜第Ｎのコンピュータ１０１1〜１０１Nからのロック、アンロックコマンドによる通常の排他制御処理を行っている間、それぞれ常にコマンド数・ＴＡＴ計算部１２４およびＣＰＵビジー率計算部１４１により計測され続けている。これまでに説明したように、各コンピュータから受信したコマンド１３１が負荷情報読み取りコマンドの場合、排他制御処理部１１２は負荷情報転送部１２５に対して、負荷情報読み取り指示１３５を出し、コマンドを発行した第１〜第Ｎのコンピュータ１０１1〜１０１Nのいずれかに負荷情報を転送する。したがって、第１〜第Ｎのコンピュータ１０１1〜１０１Nから定期的に負荷情報読み取りのコマンドを発行し、負荷情報を採取すれば、ファイル排他制御処理装置１０４の負荷を統計的に把握することができる。また、ファイル排他制御処理装置１０４にこれらの負荷情報を表示するディスプレイのような表示手段を備えさせれば、表示手段に表示された負荷情報を読み取ることでも負荷情報の採取が可能である。
【００３６】
ところで、ロック、アンロックのコマンド数１３３が多いコンピュータは、共有ファイルを多く使用している、オーバーヘッドの大きいコンピュータということができる。従来、このような並列コンピュータシステムにおいて、各コンピュータへのジョブの割り振りに偏りがないかを調べるためには、これら複数のコンピュータそれぞれのＣＰＵのビジー率を調べる方法しかなかった。しかし、このファイル排他制御処理装置１０４によって与えられる負荷情報には、コンピュータごとのコマンド数１３３が含まれるので、これを比較することでコンピュータ間におけるジョブの偏りを調べることができる。したがって、この負荷情報を元に各コンピュータへのジョブの割り振りを変更して、コンピュータ間の負荷の均等化を図り、バランスのよいシステムの運用を行うことが可能となる。
【００３７】
＜本発明の変形例＞
【００３８】
図７は、本発明の変形例による複数のファイル排他制御処理装置を使用した並列コンピュータシステムの構成の概要を表わしたものである。この図で図１および図２と同一の部分には同一の符号を付しており、これらの説明を適宜省略し、図１および図２を適宜援用して説明する。また図示と説明の複雑化を避けるため、並列コンピュータシステムを構成するコンピュータおよびファイル排他制御処理装置を２台ずつとして説明する。この並列コンピュータシステム１００Ａでは、第１のファイル排他制御処理装置１０４1および第２のファイル排他制御処理装置１０４2が、それぞれ第１のコンピュータ１０１1、および第２のコンピュータ１０１2と専用インタフェース６０１〜６０４で接続されている。各ファイル排他制御処理装置は、それぞれ別の図示しない外部記憶装置１０７（図１参照）にある共有ファイルの排他制御を行っている。
【００３９】
システム運用者が、このような並列コンピュータシステム１００Ａの負荷情報を用いて、システムを効率よく用いる方法を説明する。まず、第１のファイル排他制御処理装置１０４1に対して、負荷情報読み取りのコマンド１３１1を発行する。それにより、第１のファイル排他制御処理装置１０４1のＣＰＵビジー率１４５1、さらに第１のファイル排他制御処理装置１０４1に割り振られた共有ファイルへの第１および第２のコンピュータ１０１1、１０１2のコマンド数１３３1、ＴＡＴ計算結果１３４1（図２参照）を得る。同様に、第２のファイル排他制御処理装置１０４2に対しても、負荷情報読み取りコマンド１３１2を発行し、ＣＰＵビジー率１４５2、さらに第１のファイル排他制御処理装置１０４1に割り振られた共有ファイルへの第１および第２のコンピュータ１０１1、１０１2のコマンド数１３３2、ＴＡＴ計算結果１３４2を得る。
【００４０】
このようにして得られた各装置のＣＰＵビジー率１４５1、１４５2を比較して、値が偏っているときは、それを均等化する。たとえば、第１の排他制御処理装置１０４1のＣＰＵビジー率１４５1が、第２のファイル排他制御処理装置１０４2のＣＰＵビジー率１４５2に対して大きいときは、第１のファイル排他制御処理装置１０４1に排他制御が割り振られている共有ファイルの一部を、第２のファイル排他制御処理装置１０４2に割り振る。つまり、ＣＰＵビジー率１４５の差に応じ、その差を無くすように、以下に図８で説明する共有ファイルのファイル排他制御処理装置割り当て表を適切に変更する。これにより、共有コンピュータシステム１００Ａ全体では、処理能力が無駄なく発揮されるようになる。
【００４１】
図８は、共有ファイルのファイル排他制御処理装置割り当て表の一部を表わしたものである。図７では説明の複雑化を避けるため、並列コンピュータシステム１００Ａはコンピュータおよびファイル排他制御処理装置が２台ずつで構成される、としたが、ここでは第１〜第Ｎのコンピュータおよび第１〜第Ｋのファイル排他制御処理装置（Ｋは２以上の整数）により構成されるとして説明する。この並列コンピュータシステムにおける共有ファイルは番号付けされ、連続したファイル番号のかたまりに分割されており、それぞれの共通ファイル群ごとに対応する第１〜第Ｋのファイル排他制御処理装置が使用される。たとえば、第１〜第Ｎのどのコンピュータも、ファイル番号「０」〜ファイル番号「１０００」までの共有ファイルを使用するときは、第１のファイル排他制御処理装置に対してロック、アンロックコマンドを発行し、ファイル番号「１００１」〜ファイル番号「２５００」までの共有ファイルを使用するときは、第２のファイル排他制御処理装置にロック、アンロックコマンドを発行する。このように、ファイル番号「０」〜ファイル番号「Ｌ」（Ｌは整数）までの全共有ファイルに対して、第１〜第Ｋのファイル排他制御処理装置のどれかが割り当てられており、全てのコンピュータが共通の割り当て表を使用し、共有ファイルの排他制御はそのファイル番号から、表に基づいて決められたファイル排他制御処理装置に行わせるようになっている。
【００４２】
使用する第１〜第Ｋのファイル排他制御処理装置すべての処理能力を無駄なく発揮するためには、図７の例で説明したように、各ファイル排他制御処理装置の負荷、つまりＣＰＵビジー率１４５を把握し、ファイル排他制御処理装置割り当て表を適切に変更する。この割り当てが適切でないと、十分な数のファイル排他制御処理装置を導入し、共有ファイルの排他制御の処理能力を強化したとしても、結局、あるファイル排他制御処理装置に処理が集中し、それが原因でシステム全体の処理能力が向上しない、といった事態が容易に起こり得る。
【００４３】
次に、図７に戻って、各装置の処理したコマンド数１３３1、１３３2ついて分析を行う。これらはそれぞれ第１および第２のコンピュータ１０１1、１０１2ごとのコマンドの実行数であるから、第１のコンピュータ１０１1のコマンド実行数は、第１のファイル排他制御処理装置１０４1に割り当てられた共有ファイルにロック、アンロックコマンドを実行したコマンド数１３３11、および第２のファイル排他制御処理装置１０４2に割り当てられた共有ファイルに実行したコマンド数１３３21の和で表わされる。なおコマンド数１３３の添え字の十の位は、そのコマンドが第１あるいは第２のファイル排他制御処理装置１０４1、１０４2のどちらに割り当てられた共有ファイルに対するものかを表し、一の位はそのコマンドが第１あるいは第２のコンピュータ１０１1、１０１2のどちらが発行したものかを表すこととする。同様にして第２のコンピュータ１０１2のコマンド実行数は、第１のファイル排他制御処理装置１０４1に割り当てられた共有ファイルに実行したコマンド数１３３12、および第２のファイル排他制御処理装置１０４2に割り当てられた共有ファイルに実行したコマンド数１３３22の和で表わされる。このようにして、それぞれのコンピュータが実行したコマンド数がわかるので、どちらかにコマンド実行数が多く偏っていれば、その差をなくすよう、ジョブの割り振りを変更するなどして、均等化を図ることができる。並列コンピュータシステムを構成するコンピュータが複数ある場合も、やはり同様にしてジョブの割り振りを変更することができる。
【００４４】
以上、この並列コンピュータシステム１００Ａをこのままの構成で用いる際の、効率のよいシステム運用方法について説明したが、それでもＣＰＵビジー率１４５が設定した閾値を頻繁に超え、得られた負荷情報からも排他制御が装置の処理能力を超えていることが明らかであれば、さらに複数のファイル排他制御処理装置の導入が必要である。
【００４５】
なお、この変形例の並列コンピュータシステム１００Ａでは、第１のコンピュータ１０１1、第２のコンピュータ１０１2はそれぞれ、第１のファイル排他制御処理装置１０４1および第２のファイル排他制御処理装置１０４2の両方と通信可能なため、負荷情報読み取りコマンド１３１はどちらのコンピュータから実行したものでもよく、同じ負荷情報が得られる。これによりシステム全体の負荷分析が可能になるが、さらに複雑な並列コンピュータシステムの場合、全てのコンピュータがシステム内の全てのファイル排他制御処理装置と通信可能でない状況も考えられる。その場合は、いくつかのコンピュータで分担してそれぞれ負荷情報を収集し、それらを統合することで、システム全体の負荷分析が可能になる。
【００４６】
また、ファイル排他制御処理装置１０４から収集されるＣＰＵビジー率１４５1、１４５2あるいは、コマンド数１３３1、１３３2といった負荷情報の収集および比較と、その偏りを表示させるところまでを自動で行わせてもいい。
【００４７】
このような負荷情報を元に、負荷の状況に応じて、共有ファイルのファイル排他制御処理装置割り当てを変更することもできる。これは、たとえば、ファイル排他制御処理装置割り当て表（図８参照）を複数用意し、随時使用する表を変更することで実現できる。まず、使用する並列コンピュータシステム１００Ａにおいて、一時間ごとに負荷情報収集を行い、第１および第２のファイル排他制御処理装置１０４1、１０４2それぞれの負荷の時間変動を調べる。これにより、各ファイル排他制御処理装置について、一日のどの時間帯に負荷が集中するかなどといったことがわかる。たとえば、昼間は第１のファイル排他制御処理装置１０４1のＣＰＵビジー率１４５1と、第２のファイル排他制御処理装置１０４2のＣＰＵビジー率１４５2がほぼ同じであるが、夜間は第１のファイル排他制御処理装置１０４1のＣＰＵビジー率１４５1が、非常に高く高負荷状態にあるのに対して、第２のファイル排他制御処理装置１０４2のＣＰＵビジー率１４５2には余裕がある場合は、排他制御を行う共有ファイルの割り当てを第２のファイル排他制御処理装置１０４2に増やした、夜間用のファイル排他制御処理装置割り当て表を用意し、夜間だけこちらを用いるようにすればよい。これ以外にも、もちろん、１週間や１ヵ月といった時間単位で負荷情報収集を行い、得られた負荷の時間変動に応じて、適切なファイル排他制御処理装置割り当て表を用いることが可能である。
【００４８】
同様にコンピュータ間の負荷の偏りが時間により変動する場合、それを均等化するように各コンピュータへのジョブの分担を再設定することもできる。
【００４９】
以上説明した実施例および変形例では、コンピュータからの全てのコマンド１３１は、優先順位が同等として扱ったが、特に重要な処理がある場合など、優先順位に関する情報を各コマンド１３１に付加させる。これにより、コマンドリスト１５１に登録されたコマンドを読み出して実行する際、優先順位に従ってその順番を変更することができる。
【００５０】
また、共有ファイルを参照するだけのロックコマンドの場合でも、他のコンピュータによりその共有ファイルが処理中であれば、アンロック待ちをさせるとして説明を行った。しかし、通常の参照および書き込みを想定したロックコマンドと異なり、参照するだけのロックコマンドでは、アンロック待ちにさせなくても共有ファイルの整合性が失われることはない。したがって、これらのロックコマンドを区別し、後者を先に処理させるようにしてもよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施例によるファイル排他制御処理装置を使用した並列コンピュータシステムの構成の概要を表わした構成図である。
【図２】図１に示したファイル排他制御処理装置の詳細な構成を表わした構成図である。
【図３】メモリに格納されたコマンドリストの一部を表わした説明図である。
【図４】本実施例のファイル排他制御処理装置の排他制御処理部におけるコマンド登録処理の流れを表わした流れ図である。
【図５】本実施例のファイル排他制御処理装置の排他制御処理部におけるコマンド実行処理の流れを表わした流れ図である。
【図６】ファイル排他制御処理装置のＣＰＵビジー率とＴＡＴの関係を表わした特性図である。
【図７】本発明の変形例による複数のファイル排他制御処理装置を使用した並列コンピュータシステムの構成の概要を表わした構成図である。
【図８】共有ファイルのファイル排他制御処理装置割り当て表の一部を表わした説明図である。
【図９】排他制御が行われていないシステムで共有ファイルがコンピュータにより更新される様子を表わす説明図である。
【図１０】排他制御が行われているシステムで共有ファイルがコンピュータにより更新される様子を表わす説明図である。
【符号の説明】
【００５２】
１００、１００Ａ  並列コンピュータシステム
１０１  第１のコンピュータ
１０２  第２のコンピュータ
１０３  入出力制御部
１０４  ファイル排他制御処理装置
１０７  外部記憶装置
１１０  ＣＰＵ
１１１  メモリ
１１２  排他制御処理部
１１３  ＣＰＵビジー率計測部
１２１  ドライバ・レシーバ部
１２２  コマンド受信部
１２３  事象報告部
１２４  コマンド数・ＴＡＴ計算部
１２５  負荷情報転送部
１４３  ＣＰＵビジー率チェック部
１５１  コマンドリスト
１６１  登録ポインタ
１６２  実行ポインタ
【図１】
2006164082.tif 000003
【図２】
2006164082.tif 000004
【図３】
2006164082.tif 000005
【図４】
2006164082.tif 000006
【図５】
2006164082.tif 000007
【図６】
2006164082.tif 000008
【図７】
2006164082.tif 000009
【図８】
2006164082.tif 000010
【図９】
2006164082.tif 000011
【図１０】
2006164082.tif 000012