JP3904251B2 - Exclusive control method - Google Patents

Exclusive control method Download PDF

Info

Publication number
JP3904251B2
JP3904251B2 JP21607195A JP21607195A JP3904251B2 JP 3904251 B2 JP3904251 B2 JP 3904251B2 JP 21607195 A JP21607195 A JP 21607195A JP 21607195 A JP21607195 A JP 21607195A JP 3904251 B2 JP3904251 B2 JP 3904251B2
Authority
JP
Grant status
Grant
Patent type
Prior art keywords
node
lock
request
broadcast
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP21607195A
Other languages
Japanese (ja)
Other versions
JPH0962634A (en )
Inventor
克佳 北井
俊明 垂井
真知子 朝家
達雄 樋口
茂雄 武内
泰弘 稲上
達 鳥羽
Original Assignee
株式会社日立製作所
株式会社日立超エル・エス・アイ・システムズ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Description

【0001】 [0001]
【産業上の利用分野】 BACKGROUND OF THE INVENTION
本発明は、複数のプロセッサを有する計算機システムにおいて、これらのプロセッサにより共有されている資源に対する排他制御方法に関し、とくに、それぞれプロセッサを有する複数のノードがネットワークを介して結合されている並列計算機において、いずれかのノードに属する共有資源に対する排他制御方法に関する。 The present invention, in a computer system having a plurality of processors, relates exclusive control method for a resource that is shared by these processors, particularly, in a parallel computer in which a plurality of nodes having a processor respectively are coupled via a network, about exclusive control method for a shared resource that belongs to one of the nodes.
【0002】 [0002]
【従来の技術】 BACKGROUND OF THE INVENTION
大規模なデータベースを高速に検索するためのデータベースシステムとしては、複数のプロセッサから構成される並列計算機で実行されるかまたは複数の計算機からなるクライアント・サーバ型の分散処理システムで実行される分散データベースシステムが知られている。 Distributed Database The database system for searching large databases at high speed, which is executed by the parallel computer or consists plurality of computers running on a client-server distributed processing system including a plurality of processors systems are known. 本明細書では、並列計算機を構成する複数のプロセッサとクライアント・サーバ型の分散処理システムを構成する複数の計算機とを区別することなく言及するために、分散処理システムの分散処理を実行する計算機要素を「ノード」と呼ぶ。 In this specification, to refer without distinction a plurality of computers constituting the plurality of processors and a client-server distributed processing system constituting a parallel computer, computer elements performing distributed processing of the distributed processing system It is referred to as a "node".
【0003】 [0003]
分散データベースシステムでは、データベースは、複数のディスク装置に分散して保持され、ユーザからの一つの検索要求を複数のノードが協調動作して処理する。 In a distributed database system, the database is held distributed across multiple disk devices, one of the search request from a user a plurality of nodes and processes work together. すなわち、複数のノードが上記検索要求で指定されたデータベースの異なる部分を保持するディスク装置を互いに並行にアクセスして、それぞれのデータベース部分を処理するようになっている。 That is, a plurality of nodes is adapted to access each other parallel disc device for holding different portions of the database specified by the search request, process each database portion. この際、同一のデータベース部分に対して複数ノードからのアクセスが同時に発生する場合がある。 At this time, there occur simultaneously accessed from multiple nodes for the same database portion. この際、これらのアクセスの実行結果を保証するためには、同一のノードからの一連のアクセスが完了する間は、他のノードからのアクセスを禁止するように、異なるノードからのこれらのアクセスを調停する必要がある。 At this time, in order to ensure the execution result of these accesses, between a set of access from the same node completes, as to prevent access from other nodes, these access from different nodes it is necessary to arbitration.
【0004】 [0004]
分散データベースシステムの構成方法としては、いくつかの方法が知られている。 As a configuration method of distributed database system, several methods are known. 例えば、参考文献1:「日経エレクトロニクス」630号,1995.2.27号,第67頁〜第75頁参照。 For example, Reference 1: "Nikkei Electronics" 630 Patent, No. 1995.2.27, see the first 67 pages, second 75 pages. 中でも、アクセスの調停における利便性とシステムの構築の簡便さにおいて次の2つが優れている。 Among them, the following two are superior in ease of construction of convenience and system in the arbitration of access. まず、第1の構成方法は、シェアード・エブリシング方法で、この方法では、主記憶とデータを格納する複数のディスク装置が共有バスに接続され、さらに複数のノードもこの共有バスに接続され、各ノードはこの共有バスを介してこれらのディスク装置のいずれにもアクセスできる。 First, the first configuration method, in shared everything method, in this method, a main memory and a plurality of disk devices for storing data are connected to the shared bus is further connected to the plurality of nodes to the shared bus, each node has access to any of these disk devices through the shared bus. しかし、一般的に共有バス結合のシェアード・エブリシング方法では、共有バスのデータ転送性能がボトルネックとなるため、1つの共有バスに接続できるノード数は大きく制限される。 However, in general, a shared bus coupling shared everything method, the data transfer performance of the shared bus is to become a bottleneck, the number of nodes that can be connected to a single shared bus is greatly limited. このため、ノード数を増大して、システムの性能をアップすることが難しい。 Therefore, increasing the number of nodes, it is difficult to increase the performance of the system. 第2の構成方法は、シェアード・ナッシング方法で、主記憶もこれらのディスク装置も複数のノードでは共有されない。 The second configuration method, in shared-nothing method, not shared by the main memory nor multiple nodes these disk devices. すなわち、この方法では、これらの複数のディスク装置を、異なるノード内に分散して配置し、各ディスク装置を、それが属する特定のノードだけが直接にアクセス可能であり、その特定のノード以外のノードが上記ディスク装置をアクセスするときには、その特定のノードにアクセスを依頼する。 That is, in this way, these plurality of disk devices, arranged distributed in different nodes, each disk device, only certain nodes to which it belongs is accessible directly, other than the particular node when a node accesses the disk device requests the access to that particular node. すなわち、このシステムでは、複数のノードで共有されたディスク装置に格納されたファイルをアクセスする場合、直接アクセスできるノードは、そのディスク装置に物理的に接続された唯一のノード(以下、これを資源管理ノードと呼ぶ)に限定されている。 That is, in this system, when accessing a file stored in the disk device, which is shared by a plurality of nodes, nodes that can be accessed directly, only node (hereinafter, which is physically connected to the disk device, which resource management is limited to be called nodes). 物理的に接続されていない他のノード(以下、これをアクセス要求ノードと呼ぶ)がこのファイルをアクセスする場合には、ネットワークのようなメッセージ交換手段を介して、資源管理ノードにアクセス要求を発行し、その資源管理ノードを介して間接的にそのファイルをアクセスする。 Physically unconnected another node (hereinafter referred to as the access request node) when accessing the file through a message exchange means such as a network, it issues an access request to the resource managing and to access indirectly the file via the resource managing. したがって、複数のアクセス要求ノードが同時にこのファイルをアクセスする場合には、複数のアクセス要求メッセージが資源管理ノードに送られるが、これらの要求メッセージを資源管理ノードが調停することによりこれらのアクセス要求の実行結果を保証する。 Therefore, when a plurality of access requesting node simultaneously accessing this file, a plurality of access request message is sent to the resource managing, these access requests by these request messages resource managing arbitrates to guarantee the execution result.
【0005】 [0005]
このように、このシェアード・ナッシング方法では、各ノードのディスク装置は物理的には他のノードによりアクセスできないので、そのディスク装置内のファイルも物理的には他のノードにより共有されていないが、上に述べたようにそのファイルの資源管理ノードを介して他のノードからアクセスできる。 Thus, in this shared-nothing method, since the disk device of each node is physically inaccessible by other nodes, is also a physical file in the disk device is not shared by other nodes, resource managing of the file as described above can be accessed from another node via the. したがって、以下では、このシェアード・ナッシング方法でも、各ノードのファイルその他の資源の内、他のノードからのアクセスを許す資源を共有資源と呼ぶ。 Therefore, in the following, in this shared-nothing method, among the files other resources of each node, referred to as a shared resource resources that allows access from other nodes. とくに他のノードからのアクセスを許すファイルを共有ファイルと呼ぶ。 In particular, it referred to as a file that allows access from other nodes and shared files.
【0006】 [0006]
このシェアード・ナッシング方法では、ノード数を増大してシステムの性能を増大することは比較的容易である。 This shared-nothing method, it is relatively easy to increase the performance of the system by increasing the number of nodes. しかも、資源管理ノードのアクセス要求メッセージの処理および各ノード間でのメッセージ交換手段の性能が高ければ、共有資源へのアクセスの性能が高くなる。 Moreover, the higher the performance of the message exchange means between treatment and each node of the access request message of the resource management node, the higher the performance of the access to the shared resource.
【0007】 [0007]
【発明が解決しようとする課題】 [Problems that the Invention is to Solve
しかしながら、従来のシェアード・ナッシング方法を分散データベースシステムに適用した場合では、次ぎの問題が生じる。 However, in the case of applying the conventional shared-nothing method in a distributed database system, the following problem arises. すなわち、1つの資源、たとえば特定のディスク装置に格納されたファイルに対してアクセスが集中すると、アクセスが集中した共有ファイルを管理している資源管理ノードが、他のアクセス要求ノードからのアクセス要求処理に忙殺される。 That is, if access to one of the resources, for example, a particular disk device stored in the file is concentrated, the resource management node managing the shared file the access is concentrated, the access request processing from other access requesting node It is swamped in. 分散データベースシステムでは、この資源管理ノードは、他のノードと同様に、このデータベースの処理を分担しているので、本来はこのノードも検索処理等を行うように構成される。 In a distributed database system, the resource management node, as well as other nodes, since the sharing process for this database, originally configured this node also performs a search process or the like. ところが、上記アクセス要求がその資源管理ノードに集中すると、この本来業務を実行する時間が著しく減少し、そのノードの処理が遅延し、システム全体の性能を低下させる。 However, if the access request is concentrated on the resource management node, this inherently reduces significantly the time to run the business, to delay the processing of the node, reducing the overall system performance. したがって、この資源管理ノードが、システム全体のボトルネックとなり得る。 Accordingly, the resource management node can be a whole bottleneck system.
【0008】 [0008]
複数のノードがいずれかの資源管理ノード内のディスク装置に格納されている共有ファイルを同時にアクセスする場合に、これらのアクセスノードからの複数のアクセス要求が同一のファイルに対して競合する。 When simultaneously accessing a shared file in which a plurality of nodes are stored in the disk device of any of the resource managing a plurality of access requests from these access nodes compete for the same file. このアクセス競合を解決する手段として共有ファイルの排他制御が必要となる。 It is necessary to exclusive control of the shared files in order to solve this access conflict. 従来のロック要求の処理方法をこのシェアード・ナッシング方法を分散データベースシステムに適用すると、アクセスノードは、アクセス要求を資源管理ノードに発行する前に、ロック要求をそこに発行する。 When the processing method of the conventional lock request to apply this shared-nothing method in a distributed database system, access node, before issuing the access request to the resource managing issues a lock request thereto. 上述のように、多数のアクセス要求が特定の資源管理ノードに集中する場合には、その前に、この資源管理ノードに多数のロック要求が集中することになる。 As described above, when a large number of access requests concentrated on a specific resource management node, before that, a number of lock requests will be concentrated on this resource managing. このために、資源管理ノードによる本来業務の実行が遅延されるという上記問題がより深刻になる。 Therefore, the problem that the execution of the original work by resource managing is delay becomes more serious. 以下、この問題をさらに説明する。 Hereinafter, further description of this problem.
【0009】 [0009]
すなわち、従来のロック要求の処理方法をこのシステムに適用すると、ロックアクセス元ノードは、共有ファイルをアクセスする前に、資源管理ノードに対して、同時に共有ファイルのロック要求を資源管理ノードに転送し、割り込む。 That is, when applying the conventional method for processing lock requests in the system, locking the access source node forwards before accessing a shared file, to the resource management node, the resource managing lock requests for a shared file simultaneously ,interrupt. 資源管理ノードは、それまで実行していた検索処理を中断し、これらのロック要求を解釈し、これらのロック要求が共有ファイルに対するロック要求であることを知ると、これらのロック要求のうちどの要求を許可するかの調停を行う。 Resource managing interrupts the searching process which has been executed until then, interpret these lock request, when these lock request knows that a lock request to the shared files, which request of these lock request perform either of arbitration to allow. 通常、リモート・プロシジャー・コールを用いたクライアント・サーバ型の処理方法では並行処理サーバ方法(コンカレント・サーバ方法)が用いられる。 Usually, parallel processing server process (concurrent server process) is used in client-server processing method using the remote Puroshija call. これは、クライアントからのサービス要求があった場合にサーバはこのサービスを提供する子プロセスを起動して次のサービス要求に備える方法である。 This server is a method comprising the next service request by starting to provide child process the service when there is a service request from the client. したがって、ほぼ同時に2つのサービス要求がサーバに到着した場合、サーバは2つの子プロセスを起動し、これらの子プロセスが並行にそれぞれのクライアントにサービスを提供する。 Therefore, when almost simultaneously two service request arrives to the server, the server starts a two child process, these child process to provide a service to each client in parallel. この方法を、上記シェアード・ナッシング方法の分散データベースシステムに適用すると、同一の共有ファイルへのロック要求を2つの子プロセスが発行する可能性があり、これらのロック要求を処理するため、これらのプロセス間で調停をとる必要が生じる。 If this method is applied to a distributed database system of the shared-nothing method, there is a possibility that the lock request to the same shared file two child process issues, to process these lock request, these child You need to take the arbitration between processes occurs. これらの2つの子プロセスは同一のノードで実行されるため、良く用いられるセマフォ操作による排他制御を用いることで調停を行うことができる。 These two child process is done in the same node, it is possible to perform arbitration by using an exclusive control by semaphore operations used often. たとえば、テスト・アンド・セット命令などである。 For example, it is such as test-and-set instruction.
【0010】 [0010]
ロック要求の調停が済むと、それぞれの子プロセスはいずれかの調停でロック権を与えられたいずれかのアクセス要求ノードには「ロック許可」を返答し、他のアクセス要求ノードには「ロック拒絶」を返答する。 After completion of the arbitration lock request, each of the child process in any of the access requesting node that received the lock rights in any arbitration reply to "lock permitted", the other access requesting node "lock rejection to reply to ". そして、子プロセスの処理終了後、割り込まれていた検索処理を再開する。 Then, after the processing end of the child process, the interrupted have a search process to resume.
【0011】 [0011]
ロック許可を受け取ったアクセス要求ノードは、共有ファイルのアクセスを行い、検索処理を続ける。 Access request node that has received the lock permission performs the access shared files, continue the search process. そして、共有ファイルのアクセスが全て終了すると、共有ファイルのロック解除要求を資源管理ノードに転送し、資源管理ノードに割り込む。 Then, when the end all access shared files, transfer the lock release request of the shared files to the resource management node, it interrupts the resource management node. このノードは、実行中の検索処理を再び中断し、ロック解除要求を解釈し、共有ファイルのロック解除を行う。 This node, again interrupts the searching process in progress, interprets the unlock request, unlocks the shared file. ロック解除が終了したら、割り込まれていた検索処理を再開する。 When the unlock is complete, resume the search process has been interrupted. 一方、ロック拒絶を受け取ったアクセス要求ノードはロック許可を得たアクセス要求ノードによる共有ファイルのアクセスが終了するまで待ち、その待ち時間が経過した後、共有ファイルのロック要求を再度発行する。 On the other hand, the access requesting node which has received the lock rejection waits until the access shared files by the access requesting node to obtain a locking authorization is completed, after the waiting time has elapsed, issues a lock request for the shared file again. 一般的に、この待時間は乱数もしくは一定時間であることが多い。 In general, it is often the waiting time is a random number or a fixed time.
【0012】 [0012]
このように従来のシェアード・ナッシング方法の並列データベース処理システムに従来のロック要求の処理方法を適用すると、資源管理ノードは、ロック要求の解釈、そのロック要求の実行、ロック解除要求の解釈、その要求の実行を行う必要があるので、これらの処理の実行の間、検索処理の進行が妨害される。 With this application of the conventional method for processing lock requests in parallel database processing system of the conventional shared-nothing method, the resource management node, the interpretation of lock requests, execution of the lock request, the interpretation of the lock release request, the request since it is necessary to perform the execution, during the execution of these processes, the progress of the search process is interrupted. この妨害は、いずれかのノードがアクセス要求ロック要求を発行する度に発生する。 This interference, one of the nodes is generated every time issues an access request lock request. とくに、ロック要求の処理の主要な部分は、いずれかの資源の排他的な使用を要求する複数のロック要求の一つにロック権を与えるように、複数のロック要求を調停することと、その調停でいずれかのロック要求が選ばれた後は、その資源をロックし、その選ばれたロック要求を発行したノード以外のノードからその資源にアクセス要求があった場合に、その資源へのアクセスを禁止することである。 Particularly, main part of the process of the lock request, to provide locking rights to one of a plurality of lock request for exclusive use of any resources, and arbitrating multiple lock request, the If after any of the lock request is selected by arbitration, which locks the resource, an access request to the resource from a node other than the chosen node that issued the lock request, access to the resources it is to prohibit.
【0013】 [0013]
本発明の目的は、同一の資源に対して複数のノードから発行される複数の排他使用要求の一つを選択する調停を高速化する排他制御方法および並列計算機を提供することである。 An object of the present invention is to provide an exclusive control method and a parallel computer to speed up the arbitration to select one of a plurality of exclusive use requests issued from a plurality of nodes for the same resources.
【0014】 [0014]
本発明のより具体的な目的は、一つのノードの管理下にある資源に対する複数のノードからの排他的使用要求の調停を、その一つのノードにあるプロセッサ以外の回路により実行させ、それにより、この調停時間を短縮し、そのプロセッサの負荷を軽減する排他制御方法および並列計算機を提供することである。 A more specific object of the present invention, the arbitration exclusive use requests from the plurality of nodes for resources under the control of a node, is performed by a circuit other than a processor in that one of the nodes, thereby to shorten this arbitration time, it is to provide a mutual exclusion method and a parallel computer to reduce the load on the processor.
【0015】 [0015]
【課題を解決するための手段】 In order to solve the problems]
このために本発明の排他制御方法では、複数のノードにより使用可能な一つの資源の排他的使用状態を示す使用状態情報を各ノード内に記憶し、 The exclusive control method of the present invention in order to store the use status information indicating exclusive usage of one resource that can be used by more than one node in each node,
いずれかのノードが該資源に対する排他的使用要求を発行すべきときに、該資源が排他的に使用された状態にあるか否かをそのノード内に記憶された該資源の使用状態情報に基づいて判別し、 When any of the nodes should issue exclusive use request for said resource, based on said resource use status information of said resource that is stored whether the state of being used exclusively in that node discrimination Te and,
該資源が排他的に使用された状態にあると判別された場合、そのノードからの該排他的使用要求の発行を中止し、 If the said resource is judged to be in a state of being exclusively used to stop the issuance of the exhaust other use request from that node,
該資源が排他的に使用された状態にないと判別された場合、そのノードから該排他的使用要求を発行し、 If the said resource is determined to not in a state that is exclusively used to issue the exhaust other use request from that node,
いずれかの複数のノードから発行された複数の排他的使用要求を、該複数のノードによりアクセス可能な排他的使用の調停用の回路にネットワークを介して転送し、 One of a plurality of exclusive use requests issued from a plurality of nodes, and transferred via the network to a circuit for arbitrating accessible exclusive use by the plurality of nodes,
該転送された複数の排他的使用要求の内、該資源を排他的に使用させる一つの排他的使用要求を該調停用の回路により選択し、 Among the transferred plurality of exclusive use request, one of the exclusive use request for exclusive use of said resource selected by the circuit for the arbitration,
該一つの排他的使用要求が該調停用の回路により選択されたことに基づいて、その資源に関する、各ノード内に記憶されたに該使用状態情報を該資源が排他的に使用されていることを表わす使用状態情報に更新する。 Based on said one of the exclusive use request is selected by the circuit for the arbitration, it relates to that resource, the said use state information stored in each node such resource is exclusively used It updates the use state information representative of the.
【0016】 [0016]
本発明によれば、上記資源へのアクセスを要求するノードにおいて、その資源が排他的使用状態にないことを確認してから、この資源に対するアクセス要求を送出するので、無駄な排他的使用要求を出さない、それにより無駄な排他的使用要求に対する調停処理の実行を減らせる。 According to the present invention, the node requesting access to said resource from the resource to ensure that no exclusive use, so sends an access request for the resource, wasteful exclusive use request not issued, Heraseru the execution of the arbitration process for waste exclusive use request thereby.
【0017】 [0017]
本発明による計算機システムは、上記方法を実行するために、 The computer system according to the present invention, in order to perform the above method,
上記資源に対して該複数のノードから発行される複数の排他的使用要求の一つを選択する、上記ネットワークに含まれた、排他的使用要求の調停用の回路とを有し、 Selecting one of a plurality of exclusive use requests issued from the plurality of nodes to said resources, included in the network, and a circuit for arbitrating exclusive use request,
各ノードは、 Each node,
該一つの資源の排他的使用状態を示す使用状態情報を記憶する手段と、 It means for storing the use state information indicating the exclusive use state of the one resource,
そのノードが該一つの資源に対する排他的使用要求を送出すべきときに、該記憶された使用状態情報に基づいて、上記資源が排他的使用済みか否かを判定する手段と、 When the node is to be sent to the exclusive use request for the one resource, based on the stored usage state information, it means for determining the resources whether exclusive spent,
該一つの資源が排他的使用状態でないときに、排他的使用要求を上記調停用の回路に上記ネットワークを介して排他的使用要求を含むメッセージを上記調停用の回路に宛てて転送する手段とを有し、 When the one resource is not exclusive use, and means for transferring a message including the exclusive use request exclusive use request through the network to the circuit for the arbitration addressed to the circuit for the mediation has,
各ノードは、該調停用の回路により選択された一つの排他的使用要求に依存して、そのノード内に記憶されたに該使用状態情報を該資源が排他的に使用されている状態を表わす情報に更新する手段をさらに有する。 Each node, depending on one of the exclusive use request selected by the circuit for the arbitration, representing a state in which the said use state information stored in that node such resource is exclusively used further comprising means for updating the information.
【0018】 [0018]
本発明のより具体的な態様では、上記調停用の回路は、ネットワーク内のこれらの複数のノードに共通に設けられた調停用の回路からなり、ここにおいていずれかのノードから発行された排他的使用要求に排他的使用を許可するか否かを判定するようになっている。 In a more specific aspect of the present invention, the circuit for the arbitration is made from the circuit for arbitration provided commonly to the plurality of nodes in the network, the exclusive issued from any node wherein It is adapted to determine whether to permit the exclusive use use request.
【0019】 [0019]
本発明のより具体的な他の態様では、上記調停用の回路は、各ノードに分散した配置された複数の調停用の回路からなり、各ノードで、いずれかのノードから発行された排他的使用要求に排他的使用を許可するか否かを判定するようになっている。 In a more specific aspect of the present invention, the circuit for the arbitration is made from the circuit for a plurality of arbitration arranged dispersed in each node, with each node exclusively issued from any node It is adapted to determine whether to permit the exclusive use use request.
【0020】 [0020]
本発明のより具体的なさらに他の態様では、上記調停用の回路は、上記資源が属するノードに配置された調停用の回路からなり、そのノード内の記憶された上記資源の使用状態情報に基づいて、いずれかのノードから発行された排他的使用要求に排他的使用を許可するか否かを判定し、その結果を各ノードに通知するようになっている。 In a more specific further aspect of the present invention, the circuit for the arbitration with circuits for mediation of node where the resource belongs, the use state information of the stored the resources in that node based on any of the issued exclusive use request from the node determines whether to permit the exclusive use, is adapted to notify the result to each node.
【0021】 [0021]
【実施例】 【Example】
以下、本発明に係る計算機システムを図面に示したいくつかの実施例を参照してさらに詳細に説明する。 It will hereinafter be described in further detail with reference to several examples illustrating the computer system according to the present invention with reference to the drawings. なお、以下においては、同じ参照番号は同じものもしくは類似のものを表わすものとする。 In the following, the same reference numerals denote the same or be similar.
【0022】 [0022]
<実施例1> <Example 1>
図1に本実施例による並列計算機を示す。 It shows a parallel computer according to the embodiment in FIG. この並列計算機では、複数のノード2はネットワーク1により結合され、各ノード2は、少なくとも一つのプロセッサ24と、ディスク装置25を含み、このディスク装置25内に、これらのノードの共有資源として利用される一つ又は複数の共有ファイルが保持されている。 This parallel computer, a plurality of nodes 2 are coupled by a network 1, each node 2, and at least one processor 24, includes a disk device 25, in this disk device 25 is utilized as a shared resource for these nodes one or more shared files are kept that. 各共有ファイルは、それを保持するノード(資源管理ノード)のみからアクセス可能であり、このファイルをアクセスしたい他のノード(アクセス要求ノード)は、この資源管理ノードにファイル読み出し要求あるいはファイル書き込み要求を発行し、その要求の実行をこの資源管理元ノードに依頼する。 Each shared file is accessible only from the node that holds the (resource managing), another node wants to access the file (access request node), the file read request or file write request to the resource managing issued, a request for execution of the request to the resource management source node. 共有資源を使用するに当っては、その資源をいずれかのノードが使用中に他のノードが使用しないように、使用前にその資源の排他的な使用権を取得し、使用終了後にその使用権を放棄する必要がある。 The hitting To use a shared resource, the resource as any node is not the other nodes are used during use to obtain exclusive use of the resource prior to use, its use after use there is a need to give up rights. 従来の、シェアドナッシングのシステムで、いずれかのアクセス要求ノードが、いずれかの資源管理ノードに管理された資源の排他的な使用を要求するとき、ロック要求をこの資源管理ノードに宛てて発信し、その資源管理ノードでは、複数のロック要求を調停してその一つを選択し、選択をしたときに、その資源をロックしていた。 Conventional, in the shared-nothing systems, one of the access requesting node, when requesting the exclusive use of the resource managed by the one of the resource management node, transmits addressed the lock request to the resource managing in the resource management node, and select the one arbitrates multiple lock requests, when the selection has been locked the resource. 従って、ロック要求の処理は、複数の排他的要求の調停と、資源のロックとを伴う。 Thus, the process of the lock request involves mediation and a plurality of exclusive request, and a lock resource. 後に説明するように、本実施例では、資源の排他的な使用権をどのアクセス要求ノードに与えられるかに関する調停が行われる。 As described later, in this embodiment, arbitration is made as to whether given exclusive use of resources to which access requesting node. しかし、資源の使用に当っては、資源のロックを行わない However, is hit in the use of resources, no line a lock on the resource. このように本実施例では、共有資源の排他的な使用の仕方が異なるが、本実施例でも、ロック要求あるいはロック状態等、従来と同じ用語「ロック」を使用するが、本実施例では、ロックは排他的使用を意味し、例えば、ロック状態とは、排他的使用状態を意味する。 Thus, in this embodiment, although exclusive use how shared resources different, even in the present embodiment, the lock request or the lock state or the like, uses the same term "lock" to the conventional, in this embodiment, lock means exclusive use, for example, the lock state means exclusive use. この用語「ロック」の使用方法は他の実施例および変形例においても同様である。 Using the term "lock" is the same in other embodiments and variations.
【0023】 [0023]
本実施例では、各ノードの共有資源のロック状態の管理をそのノードを含めた全てのノードで行うところに特徴がある。 In the present embodiment, it is characterized in that to manage the locking state of the shared resource for each node in all nodes, including the node. このために、各ノード2には、本実施例で特徴的な、ロック状態レジスタ群52とロック制御回路500が設けられている。 For this, each node 2, characteristic of the present embodiment, the lock state register group 52 and the lock control circuit 500 is provided. ロック状態レジスタ群52は、この並列計算機内の全ての共有資源のロック状態を管理するためのレジスタで、ロックする資源の単位に対応して設けられている。 Lock state register group 52 is a register for managing a lock state of all of the shared resources of the parallel computing machine, are provided corresponding to the unit of resource locking. 本実施例では、各ノードをロックの単位とする。 In this embodiment, a unit of lock each node. すなわち、各ノード内に共有資源が複数ある場合でも、これらの共有資源をまとめてロックする。 That is, even when there are a plurality of shared resources in each node to lock together these shared resources. このため、本実施例では、このロック状態レジスタ群50は、いずれかのノードにそれぞれ対応するレジスタからなり、各ロック状態レジスタは、そのレジスタに対応するノードがロックされた状態にないときには、そのことを示す情報を保持するとともに、その対応するノードがロックされているときには、そのノードをロックしているノードの識別情報を保持するようになっている。 Therefore, in this embodiment, the lock state register group 50 consists of registers corresponding respectively to one of the nodes, each lock status register, when the node corresponding to that register is not in the locked state, the It holds the information indicating that, the when the corresponding node is locked, so as to hold the identification information of the node that has locked the node. 各ノードで実行されるプログラムが、他のいずれかのノードをロックしたいときには、自己のノード内のロック状態レジスタ群50を見て、ロック先のノードがすでにロックされているか否かを判別し、もし、そのロック先ノードがロック中であるならば、ロック要求を送出しないようになっている。 Program executed by each node, but when you want to lock the one of the nodes of the other, looking at the lock state register group 50 in the own node, to determine whether the lock destination node is already locked, if the lock destination node is locked, so as not to sent the lock request. これにより、従来技術で発生した、ロック中のファイルに対してロック要求を出すという無駄なロック要求がなくなり、それに伴って、資源管理ノードが無駄なロック要求を処理するという無駄をなくしている。 This occurred in the prior art, there is no wasted lock request that issues a lock request for the file in the lock, along with it, eliminating the wasteful resource managing processes useless lock requests.
【0024】 [0024]
複数のノードが同じ共有資源に対してロックを要求したときに、それらのロック要求を調停し、いずれか一つのロック要求を選択する必要がある。 When multiple nodes requests a lock on the same shared resource, it arbitrates their lock request, it is necessary to select either one of the lock request. 本実施例では、この調停は、各ノードのロック制御回路500と放送中継回路12により行われる。 In this embodiment, the arbitration is performed by the broadcast relay circuit 12 and the lock control circuit 500 for each node. すなわち、いずれかのノード2がいずれかの共有ファイルを使用したい場合、ロック要求とそのファイルを保持している資源管理ノードの識別情報と、そのノード(アクセス要求ノード)の識別情報を放送すべき情報として含む放送要求メッセージを、この放送メッセージ中継回路12に宛ててネットワーク2を介して転送する。 In other words, if you want to use any of the nodes 2 is one of the shared files, to be broadcast with identification information of the resource management node holding the lock request and the file, the identification information of the node (access requesting node) a broadcast request message including the information transfer over the network 2 addressed to the broadcast message relay circuit 12. 放送メッセージ中継回路12は、この放送要求メッセージを受け取ると、この放送すべき情報を含む放送メッセージを生成し、ネットワーク2を介して全てのノードに放送する回路である。 Broadcast message relay circuit 12 receives this broadcast request message, it generates a broadcast message including the information to be the broadcast, a circuit to broadcast to all the nodes via the network 2. もし、異なるノード2から、複数の放送要求メッセージがこの回路12に転送された場合、この放送メッセージ中継回路12は、これらのメッセージに順次応答する。 If, from a different node 2, when a plurality of broadcast request message is transferred to the circuit 12, the broadcast message relay circuit 12 sequentially responds to these messages. したがって、この放送メッセージ中継回路12は、複数の放送要求メッセージを逐次化する回路と言える。 Therefore, the broadcast message relay circuit 12 can be said circuit to serialize a plurality of broadcast request message. この放送メッセージ中継回路12から放送されたロック要求を含む放送メッセージは、各ノード2にネットワーク2を介して転送され、各ノード2は、この放送メッセージ内のロック要求に対して、ロックを許すか否かを判定する。 Or the broadcast message broadcast message including a lock request that is broadcast from the relay circuit 12 is transferred to each node 2 via the network 2, each node 2, the lock request for the broadcast message, allowing the lock and determines whether or not. 基本的には、同じ資源に対するロックを要求する複数のロック要求があるときには、最初に到着したロック要求にその資源のロックを許可する。 Basically, when there are a plurality of lock request for requesting a lock on the same resource, permits the locking of the resources to the lock request arrived first. この判定により新にあるロック要求にロックが許可されたときには、そのノードのロック制御回路500がロック状態レジスタ52を書き換える。 When the lock is granted to the lock request in the new other by this judgment, the lock control circuit 500 of the node rewrites the lock state register 52. 放送中継回路12は、異なるノードから発行された複数のロック要求を同じ順で各ノードに供給する働きをする。 Broadcast relay circuit 12 serves to supply to each node a plurality of lock requests issued from different nodes in the same order. したがって、各ノードのロック制御回路によるロック判定結果は、ノードによらず同じ結果となる。 Therefore, the lock determination result by the lock control circuit of each node, the same result regardless of the node. 各ノードのプロセッサ24は、こうして、新にロックされた資源管理ノードおよびその資源ノードロックに成功したノードを知ることができる。 Processor 24 of each node, thus, can know the node that successfully locked resource management node and its resource node locked to new other. したがって、ロック要求を含む放送要求メッセージを発信したノード2は、自分がロックに成功したか否かを知ることができ、もし、自分が資源管理ノードのロックに成功したときには、資源管理ノードに宛ててファイルアクセス要求を含むメッセージを発信する。 Therefore, node 2 that originated the broadcast request message including the lock request, it can know whether a successful lock, if, when he has successfully locked resource management node, addressed to the resource managing to send a message that contains the file access request Te.
【0025】 [0025]
従来技術は、アクセス要求ノードは、資源管理ノードにロック要求を発信し、そのノードでは実行中のプログラムを中断して、ロック要求をプログラムにより処理していたが、本実施例では、このように、放送メッセージ中継回路12という回路でロック要求を逐次化し調停した後、各ノードで、ロック状態を管理するので、資源管理ノードでのロック要求の処理は不要である。 The prior art, the access requesting node transmits a lock request to the resource managing, at the node interrupts the running program, it had been treated by the program lock requests, in this embodiment, thus after sequentially turned into arbitrating a lock request in the circuit of the broadcast message relay circuit 12, in each node, so managing the locked state, the process of the lock request in the resource management node is unnecessary. したがって、資源管理ノードでの処理を減らすことができる。 Therefore, it is possible to reduce the processing at the resource management node.
【0026】 [0026]
以下、本実施例の回路とその動作の詳細を説明する。 Hereinafter, details of the circuit and operation of this embodiment.
(ノード2) (Node 2)
図1に示すように、各ノード2は、検索処理31などのプログラムを実行するプロセッサ24と、ローカルメモリ23と、ノードが分担するデータベースを格納するディスク装置25と、本実施例で特徴的な高速なロック処理を行うための送信制御回路21と、受信制御回路22とから構成される。 As shown in FIG. 1, each node 2 comprises a processor 24 for executing programs such as search processing 31, a local memory 23, a disk unit 25 for storing a database of node sharing, characteristic of the present embodiment a transmission control circuit 21 for performing high-speed locking, a reception control circuit 22.. この並列計算機は、いわゆる分散メモリ型並列計算機で、ローカルメモリ23は、他のノードによっては共有されていないで、そのローカルメモリが属するノードのみによりアクセス可能で、そのノードで実行するプログラムやそのプログラムが使用あるいは生成するデータを格納する。 The parallel computer, a so-called distributed memory parallel computer, the local memory 23, is not shared by other nodes, only the accessible nodes that its local memory belongs, program and the program to be executed by the node There stores data used or generated. このノード内の各回路は、システムバス26に接続され、メモリ・マップド・IO方法によりプロセッサ24からロード命令やストア命令などのメモリ・アクセス命令により、ローカルメモリ23と区別することなくアクセスすることができる。 Each circuit in this node is connected to the system bus 26, the memory access instructions such as load and store instructions from the processor 24 by the memory-mapped-IO methods, have access without distinction a local memory 23 it can.
【0027】 [0027]
送信制御回路21は、メッセージ生成回路41と送信パラメータ格納レジスタ42と送信状態レジスタST43とから構成される。 The transmission control circuit 21 is composed of a message generating circuit 41 transmits the parameter storage register 42 and the transmission status register ST43 Prefecture. 受信制御回路22は入力バッファ51と、ロック状態レジスタ群52と、ロック制御回路500とからなる。 Reception control circuit 22 and the input buffer 51, a lock state register group 52, consisting of the lock control circuit 500.. ロック制御回路500は、2つの入力が同一か否かを判定する一致回路53と、2つの入力の大小を比較する大小判定回路54と、2つの入力の加算を行なう加算回路56と、セレクタ55、57と、ゲート回路58と、アンド回路59からなる。 Lock control circuit 500, a coincidence circuit 53 determines two inputs whether identical or not, the magnitude determination circuit 54 which compares the two inputs, the adder circuit 56 for adding two inputs, the selector 55 , and 57, and the gate circuit 58, consisting of the aND circuit 59.
【0028】 [0028]
(ネットワーク1) (Network 1)
ネットワーク1は、特願平6−53405号明細書に記載のものと同じで、図2に示すように、基本的には、複数のクロスバスイッチ7、8と複数の中継スイッチ3から構成される、いわゆるハイパクロスバスイッチと言われるネットワークからなる。 Network 1 is the same as described in Pat. Hei 6-53405, as shown in FIG. 2, basically consists of a plurality of crossbar switches 7 and 8 and a plurality of relay switches 3 , consisting of a network of so-called hyper-crossbar switch. これらのクロスバスイッチは、複数のX方向クロスバスイッチ7または8と、複数のY方向のクロスバスイッチ5あるいは6からなる。 These crossbar switches, a plurality of X-direction crossbar switch 7 or 8, comprising a plurality of Y-direction of the crossbar switch 5 or 6. 各ノード2は、対応する一つの中継スイッチ3を介して、一つのX方向クロスバスイッチ7または8およびY方向クロスバスイッチ5または6に接続されている。 Each node 2 is connected via a single relay switch 3 corresponding, it is connected to one X-direction crossbar switch 7 or 8 and Y-direction crossbar switch 5 or 6. 各中継スイッチ3は、それに接続された、ノード、X方向クロスバスイッチ、Y方向クロスバスイッチの間でメッセージを中継する。 Each relay switch 3 relays connected thereto, a node, X direction crossbar switch, messages between the Y-direction crossbar switch.
【0029】 [0029]
各ノード2は、2次元空間の格子点のX座標Y座標の組みXYが与えられ、X方向クロスバスイッチは、これらのノード2のうちY座標が特定の値に等しくX座標が異なる一群のノードを結合し、Y方向クロスバスイッチは、これらのノード2のうちX座標が特定の値に等しくY座標が異なる一群のノードを結合する。 Each node 2 is supplied with a set XY X coordinate Y coordinate of the lattice points of the two-dimensional space, the X direction crossbar switch, a group of nodes equal X coordinate is different to Y coordinates of these nodes 2 certain values combine, Y direction crossbar switch, X coordinates of these nodes 2 equals Y coordinates to a particular value to combine different set of nodes. また、この放送メッセージ中継回路12が接続されたX方向クロスバスイッチ7は、他のX方向クロスバスイッチ8より入出力ポートを一つ多く有し、放送メッセージ中継回路12が接続されたY方向クロスバスイッチ5についても同様である。 Moreover, X-direction crossbar switch 7 the broadcast message relay circuit 12 is connected has one more a more output ports other X-direction crossbar switch 8, Y direction crossbar switch a broadcast message relay circuit 12 is connected the same applies to the 5. このため、以下ではこれらのX方向クロスバスイッチ7を拡張クロスバスイッチあるいは拡張XB−X0と呼び、Y方向クロスバスイッチ5を拡張クロスバスイッチあるいは拡張XB−Y3と呼ぶことがある。 Therefore, in the following may be referred to as such in the X direction crossbar switch 7 called enhanced crossbar switch or extended XB-X0, a Y-direction crossbar switch 5 and extended crossbar switch or extended XB-Y3. 他のX方向クロスバスイッチ6をXB−X1、XB−X2、XB−X3と呼び、他のY方向クロスバスイッチ6をXB−Y0、XB−Y1、XB−Y2と呼び、中継スイッチを対応するノードの座標ijを付けて、EXijと呼ぶことがある。 The other X-direction crossbar switch 6 is referred to as XB-X1, XB-X2, XB-X3, referred to other Y-direction crossbar switch 6 and XB-Y0, XB-Y1, XB-Y2, corresponding node relay switch with the coordinates ij, it may be referred to as EXij. 各X方向クロスバスイッチ8あるいはY方向クロスバスイッチ5は、いずれかの中継回路3から入力されたメッセージをメッセージ内の宛先アドレスに従って転送するための、入出力ポートの数に等しい数の経路決定回路13を有し、拡張クロスバスイッチ7あるいは6も同様に拡張ポート対応経路決定回路14を有する。 Each X-direction crossbar switch 8 or Y direction crossbar switch 5, one of the relay the message input from circuit 3 for transferring according to the destination address in the message, the path decision circuit number equal to the number of input and output ports 13 It has also extended crossbar switch 7 or 6 with enhanced port corresponding path determination circuit 14 as well.
【0030】 [0030]
(放送メッセージ中継回路12) (Broadcast message relay circuit 12)
この放送メッセージ中継回路12の構造も特願平6−53405号明細書に記載のものと同じ、そこに送られた複数の放送要求メッセージを順次選択し、選択された放送要求メッセージを、そのメッセージ内に含まれた放送すべき情報を含む放送メッセージに変更し、ネットワーク1を介して各ノードに放送する回路である。 The structure of the broadcast message relay circuit 12 is also the same as those described in Japanese Patent Application No. Hei 6-53405 specification, a plurality of broadcast request message sequentially selecting sent thereto, a broadcast request message is selected, the message change the broadcast message including the information to be broadcast contained within a circuit to be broadcast to each node through the network 1. そこでは、この放送メッセージ中継回路12は、一般に放送メッセージによりネットワーク1がデッドロック状態になるのを防止するために用いられている。 There, the broadcast message relay circuit 12, the network 1 is used to prevent the deadlock state by general broadcast message. 本実施例では、その用途以外にも、ロック要求を含む複数の放送要求メッセージが複数のアクセス要求ノードから転送されたときに、それらを順次選択する逐次化回路として使用される。 In this embodiment, in addition to its use, when the plurality of broadcast request message including the lock request is transferred from a plurality of access requesting node, it is used as a sequential circuit for sequentially selecting them.
【0031】 [0031]
すなわち、この放送メッセージ中継回路12は、複数のノード2が接続されている中継スイッチ3とは別に設けられ、X方向クロスバスイッチの一つである拡張クロスバスイッチ7の拡張入出力ポート(ここではアドレス04を有するもの)と、Y方向クロスバスイッチの一つである拡張クロスバスイッチ6の拡張入出力ポート(ここではアドレス43を有するもの)とに接続されている。 That is, the broadcast message relay circuit 12, the relay switch 3 in which a plurality of nodes 2 are connected separately provided, extended input and output ports (address where the expanded crossbar switch 7 is one of the X direction crossbar switch 04 and those having), extended input-output port (here, the extended crossbar switch 6, one of the Y-direction crossbar switch is connected to the one having an address 43). この拡張X方向クロスバスイッチ7以外のX方向クロスバスイッチ8(例えば、XB−X1)に接続された中継スイッチに直接接続されているアクセス要求ノード(たとえば、EX12に接続されたノード)が、ロック要求を含む放送要求メッセージをこの放送メッセージ中継回路12に転送するときには、このノードは、この拡張Y方向クロスバスイッチ6の拡張ポートのアドレス43をメッセージ宛先アドレスとして含む放送要求メッセージを発信し、このメッセージは、このクロスバスイッチXB−X1と、中継スイッチ、例えば、EX13、拡張Y方向クロスバスイッチ6、拡張入出力ポート43を経由して放送メッセージ中継回路12に転送される。 The extended X direction crossbar switch 7 except the X direction crossbar switch 8 (e.g., XB-X1) connected to direct the attached access request node to the relay switch (e.g., the node connected to EX12) is lock request when forwarding a broadcast request message including this broadcast message relay circuit 12, the node transmits a broadcast request message including an address 43 of the expansion port of the extension Y direction crossbar switch 6 as a message destination address, the message , this crossbar switch XB-X1, relay switch, for example, EX13, extended Y direction crossbar switch 6 is transferred via the expansion input-output port 43 to the broadcast message relay circuit 12. 一方、拡張X方向クロスバスイッチ7に接続された中継スイッチに直接接続されているアクセス要求ノード、例えば、中継スイッチEX01に接続されたノードが、ロック要求を含む放送要求メッセージをこの放送メッセージ中継回路12に転送するときには、この拡張X方向クロスバスイッチ7の拡張ポートのアドレス04をメッセージ宛先アドレスとして含む放送要求メッセージを発信し、このメッセージは、このクロスバスイッチ7のこの拡張入出力ポートを経由して放送メッセージ中継回路12に転送される。 On the other hand, the access request nodes connected extended X direction crossbar switch 7 directly connected to relay switch, for example, a node connected to the relay switch EX01 is, the broadcast message relay circuit broadcast request message including the lock request 12 when forwarding, the originating broadcast request message including an address 04 of the expansion port of the extended X direction crossbar switch 7 as a message destination address, the message, via the extension input and output ports of the crossbar switch 7 broadcasts It is forwarded to the message relay circuit 12.
【0032】 [0032]
放送メッセージ中継回路12は、特願平6−53405号明細書に記載されているように、アドレスがそれぞれ04と43である二つの入力ポートに接続された二つの入力バッファと、これらの入力バッファの一方を選択するセレクタと、それらの二つの入力バッファのいずれを選択するかを決めて、このセレクタに指示するプライオリティ回路と、このセレクタにより選択された放送要求メッセージ内のコントロール(CTL)ビットを放送メッセージに対するものに変更するコントロールビット変更回路と、この回路により変更された後のコントロールビットを含み、放送要求メッセージ内の放送すべき情報を含む放送メッセージをネットワーク1の出力ポート04に送出する出力バッファとよりなる。 Broadcast message relay circuit 12, as described in Pat. Hei 6-53405, and two input buffers connected to the two input ports is address 04 respectively 43, these input buffers a selector for selecting one of either the decided selecting any of those two input buffers, and priority circuit for indicating to the selector, the control (CTL) bits of the broadcast request message selected by the selector a control bit change circuit for changing the ones for the broadcast message includes a control bit after being changed by the circuit and sends a broadcast message containing the broadcasting information to be in the broadcast request message to the output port 04 of the network 1 output buffer to become more. このように、放送メッセージ中継回路12は、そこに転送された放送要求メッセージをこのコントロールビット変更回路により放送メッセージに変更して、拡張X方向クロスバスイッチ7のアドレス04の拡張入出力ポートに送出する。 Thus, the broadcast message relay circuit 12 is changed to the broadcast message broadcast request message transferred thereto by the control bit change circuit, and sends the expanded input and output ports of the address 04 of the extended X direction crossbar switch 7 . このように、アクセス要求ノードの位置により、放送要求メッセージが経由する経路が異なるのは、この放送要求メッセージに対応する放送メッセージの経路が放送要求メッセージのそれとが重複しないようにし、それにより、重複がある場合に生じ得るデッドロックが生じないようにしている。 Thus, the position of the access requesting node, the route via a broadcast request message is different from the route of the broadcast message corresponding to the broadcast request message to avoid overlap with that of the broadcast request message, thereby overlapping deadlock is prevented occur that can occur when there is. また、同時に二つの放送要求メッセージを受信したときでも、上述のプライオリティ回路により、これらを順次選択するようになっている。 Also at the same time even when it receives two broadcasting request message, so the above priority circuit, sequentially selects these. このように、複数の放送要求メッセージが放送メッセージ中継回路12により、逐次ネットワーク1に送出され、同一の転送経路を通って全ノードに配送される。 Thus, a plurality of broadcast request message is broadcast message relay circuit 12, is sent sequentially to the network 1, is delivered through the same transfer path to all nodes. したがって、ネットワークの途中経路でのメッセージの追越しが発生しないネットワークでは、放送メッセージの到着する順番は全ノードで等しくなる。 Thus, in a network overtaking messages in the middle path of the network is not generated, the order of arrival of a broadcast message is equal on all nodes. したがって、異なるノードから出力されたロック要求は、放送メッセージ中継回路12により選ばれた順にしたがって全ノードに通知されることになる。 Thus, lock requests output from the different nodes will be notified to all nodes in the order selected by the broadcast message relay circuit 12. 後に説明するように、本実施例では同じ資源管理ノードに対するロック要求を含む複数の放送メッセージの内、各ノードに最初に到着した放送メッセージ内のロック要求が、有効なロック要求として処理され、その資源管理ノード内の共通ファイルのロックを許される。 As will be described later, among a plurality of broadcast messages in the present embodiment includes a lock request for the same resource managing lock requests in a broadcast message first arrives at each node is processed as a valid lock requests, the They are allowed to lock of the common file in the resource management node. その後にその資源管理ノードに到着した放送メッセージ内のロック要求は、したがって、その共通ファイルをロックできなくなる。 Lock request of then broadcast the message that arrived in the resource management node, therefore, it can not be a lock on the common files. 本実施例では、上記放送メッセージ中継回路12の動作により、各ノードに到着する放送要求メッセージの順番は同じであるから、各ノードは同じアクセスノードから出力されたロック要求にロックを許すことになる。 In this embodiment, by the operation of the broadcast message relay circuit 12, because the order of the broadcast request message to arrive at each node is the same, each node would allow the lock to the lock request output from the same access node .
【0033】 [0033]
(バイナリセマフォ) (Binary semaphore)
ロック要求の処理の説明の前に、簡単にセマフォアの動作を説明する。 Before describing the process of the lock request, briefly describes an operation of the semaphore. 共有ファイルをロックする方法は、本実施例では全ノードの受信制御回路22にあるロック状態レジスタ群52をセマフォとして用いることで実現する。 How to lock the shared files, in the present embodiment is realized by using a lock state register group 52 in the receive control circuit 22 of all the nodes as a semaphore. ここでいうセマフォとはいわゆるバイナリ・セマフォアであり、同時に共有資源を獲得できる要求者を1つに限定する場合に用いられる。 The semaphore here a so-called binary semaphore used when limited to one requester can obtain the shared resource at the same time. バイナリ・セマフォアは初期値として0で開始し、ロックを取るためのP操作とロックを解放するV操作が用いられる。 Binary semaphore begins at 0 as an initial value, P operating and locking a V operation to release to take a lock is used.
P(X):「if X=0 then X:=1」…P操作V(X):「if X=1 then X:=0」…V操作この操作を不可分な操作、例えばテスト・アンド・セット(T&S)命令で行なうこと。 P (X): "if X = 0 then X: = 1" ... P operation V (X): "if X = 1 then X: = 0" ... V operation this operation an atomic operation, for example Test and set (T & S) be carried out by the instruction. そして、P操作によりバイナリ・セマフォアXを1できた場合に、ロックが掛けられたことになる。 And, in the case of can 1 binary semaphore X by P operation, so that the lock has been multiplied. そして、V操作によりバイナリ・セマフォアXを0にすることでロックを解放することができる。 Then, a binary semaphore X can release the lock by the 0 by V operation.
【0034】 [0034]
本実施例では、この動作を全ノードのロック状態レジスタ群52をバイナリ・セマフォアとして使用することにより、シェアード・ナッシング方法のシステムで共有ファイルのロックを実現する。 In this embodiment, by using this operation a lock state register group 52 of all the nodes as a binary semaphore, to realize a lock of the shared files on the system shared-nothing method.
【0035】 [0035]
(ロック状態レジスタ群52の初期化) (Initialization of the lock state register group 52)
全ノードは、装置動作を開始する前に、ロック状態レジスタ群52の初期化を行なう。 All nodes before starting the device operation, initializes the lock state register group 52. 各ノード2は、この初期化動作において、ロック状態レジスタ群52の全てに対して、プロセッサ24がストア命令を用いてシステムバス26を介して0を代入する。 Each node 2 is in this initialization operation, for all lock state register group 52, the processor 24 assigns a 0 via the system bus 26 by using a store instruction. これによりロック状態レジスタ群52の各レジスタの値が0になり、いずれのノードもロックされていないことを表す。 Thus the values ​​of the registers in the lock state register group 52 becomes 0, indicating that any node not yet locked.
【0036】 [0036]
(ロック要求の処理) (Processing of the lock request)
以下、図3を参照して、資源管理ノード#0に接続されたディスク装置25に格納された共有ファイル35をアクセス要求ノード#1とアクセス要求ノード#2がほぼ同時にアクセスする場合の、共有ファイルのロック方法について説明する。 Referring to FIG. 3, when the resource management node # 0 to connected access the shared file 35 stored in the disk device 25 requesting node # 1 and the access requesting node # 2 is almost at the same time access, shared files a description will be given of the locking method. なお、図3において、処理261など二重線で囲まれた処理は主としてハードウエアにより実行される処理を表し、一重線で囲まれた処理は主としてプロセッサ24で実行されるプログラムによる処理を表している。 In FIG. 3, mainly the processing enclosed by double lines such as process 261 represents a process performed by hardware, represent processing by the program executed mainly processor 24 processes enclosed by singlet there.
【0037】 [0037]
まず資源管理ノード#0、アクセス要求ノード#1及び#2で並列して検索処理プログラム31がそれぞれのノードのプロセッサ24により、それぞれローカルメモリ23およびディスク装置25を用いて実行される(ステップ201、221、241)。 First resource managing node # 0, the access requesting node # 1 and # by the search program 31 in parallel in two processor 24 of each node is performed using the local memory 23 and disk unit 25, respectively (step 201, 221, 241). アクセス要求ノード#1および#2で資源管理ノード#0のディスク装置25の共有ファイル35をほぼ同時に排他的にアクセスする必要が発生すると(ステップ222、242)、それぞれのノードで共有ファイルのロック要求を処理する(ステップ223、243)。 Access requesting node # 1 and # when almost requires exclusive access simultaneously to generate a shared file 35 of the disk device 25 of the resource management node # 0 at 2 (step 222, 242), the lock request for the shared files on each node to process (step 223 and 243).
【0038】 [0038]
(1)ロック要求メッセージの放送すでに述べたように、ロック状態レジスタ群52は、この並列計算機内の全ての共有資源のロック状態を管理するためのレジスタで、ロックする資源の単位に対応して設けられている。 (1) As already broadcast lock request message, the lock state register group 52 is a register for managing a lock state of all of the shared resources of the parallel computer machine, corresponding to the unit of resource locking It is provided. 本実施例では、各ノードをロックの単位とする。 In this embodiment, a unit of lock each node. このため、本実施例では、このロック状態レジスタ群50は、いずれかのノードにそれぞれ対応するレジスタからなる。 Therefore, in this embodiment, the lock state register group 50 is composed of each one of the nodes corresponding register. したがって、以下では、各ノードのロック状態レジスタの番号を、そのレジスタが対応するノードの番号で呼ぶことにする。 Therefore, in the following, a number of lock status register of each node will be the register referred to by number of the corresponding node. 例えば、資源管理ノード#0に対するロック状態レジスタを、ロック状態レジスタ#0と呼ぶ。 For example, the lock status register for the resource managing node # 0, referred to as a lock state register # 0.
【0039】 [0039]
アクセス要求ノード#1、#2は、この資源管理ノード#0がすでにロック状態にあるか否かを判定する。 Access requesting node # 1, # 2, decision is made as to whether the resource managing node # 0 is already in a locked state. このためにプロセッサ24は、ロック状態レジスタ#0の内容をシステムバス26を介して読み出し、その値が0であるかをチェックする。 The processor 24 to reads the contents of the lock state register # 0 via the system bus 26, the value is checked whether it is 0. もし、0でないならば、資源管理ノード#0はロック済みであるため、ロック要求を出力しない。 If not 0, since the resource managing node # 0 has already been locked, does not output a lock request. こうして、本実施例では、無駄なロック要求を各ノードが出すのを防いでいる。 Thus, in this embodiment, is prevented from each node issues a useless lock requests.
【0040】 [0040]
アクセス要求ノード#1、#2は、この資源管理ノード#0がロック済みでないことを確認した後、ロック状態レジスタ#0に対して前述のP操作を以下のようにして行う。 Access requesting node # 1, # 2 performs this after the resource management node # 0, it was confirmed that not been locked, the lock status register # 0 as follows the aforementioned P operation. すなわち、全ノードに次のような以下に示すパラメータを含む放送要求メッセージ11をメッセージ中継回路12に送信する。 That is, it transmits a broadcast request message 11 including the parameters listed below as follows to all nodes in the message relay circuit 12. このメッセージは、各ノードのロック状態レジスタ#0をロック状態にすることを要求するロック要求メッセージを放送することを要求している。 This message is requested to broadcast a lock request message requesting that the lock state register # 0 for each node in the locked state.
【0041】 [0041]
Nadr(アドレス):=放送メッセージ中継回路12のアドレス CTL(コントロール):=放送要求メッセージイネーブル R#(レジスタ番号):=#0 NADR (address): = broadcast message relay circuit 12 of the address CTL (control): = broadcast request message enable R # (register number): = # 0
Int(割り込み):=ディスエーブル D0(データ0):=0 Int (interrupt): = disabled D0 (data 0): = 0
D1(データ1):=アクセス要求ノード#1(又は#2)の番号 Ctyp0(演算タイプ0):=一致判定イネーブル Ctyp1(演算タイプ1):=セットイネーブル ここで、Nadrは、この放送要求メッセージの転送先を表わすネットワークアドレスで、ネットワーク1により使用され、今の場合、このアドレスは放送メッセージ中継回路12のアドレス04または43である。 D1 (Data 1): = access requesting node # 1 (or # 2) Number of Ctyp0 (operation type 0): = match determination enable Ctyp1 (operation type 1): = set enable herein, NADR is the broadcast request message in the network address representing the destination, it is used by the network 1, in this case, the address is the address 04 or 43 of the broadcast message relay circuit 12. アドレス04または43のいずれを用いるかは、そのアクセス要求ノード#1が拡張X方向クロスバ7に接続された中継スイッチに接続されているか否かによることはすでに記載したとおりである。 The use of either of the addresses 04 or 43, is as previously described be by whether the access requesting node # 1 is connected to the connected relay switch to the extended X direction crossbar 7. CTLはメッセージの種類を表わすコントロールビットで、今の場合放送要求メッセージであることを表わす。 CTL is a control bit indicating the type of message, indicating that it is now the case broadcast request message. R#は、ロック要求の対象となった資源管理ノードに対応するロック状態レジスタの番号で、今の場合は#0である。 R # is the number of the lock state register corresponding to the resource management node is the subject of the lock request, the present case is # 0. Intは、この放送要求メッセージにより要求されるロックの取得が成功した場合に、アクセス要求ノード#1に割込によりそのことを通知するか否かを指示するフィールドであり、ここではディスエーブルを設定しているため割込は発生しない。 Int, when the acquisition of lock requested by the broadcast request message was successful, a field for indicating whether to notify that the by interrupt to the access requesting node # 1, set the disabled here interrupt does not occur because you are. この場合、後で述べるようにこのロック要求が成功したか否かは、アクセス要求ノード#1内のプロセッサ24がそのノード内のロック状態レジスタ#0の内容を監視して検出する。 In this case, whether the lock request as described later is successful, the processor 24 of the access requesting node # 1 is detected by monitoring the locked contents of the status register # 0 in the node. 一方、Intフィールドをイネーブルにした場合、アクセス要求ノード#1は、割り込みを待合せて、ロックが成功したか否かの判定する。 On the other hand, when the enable Int fields, the access requesting node # 1 is waiting for an interrupt, whether the lock is successful is judged. D0とD1は、それぞれ各ノードのロック制御回路500での演算に使用されるべきデータを表わす。 D0 and D1 represents the data to be used for each operation of the lock control circuit 500 for each node. 今の例では、D0はロック状態レジスタ#0がロックされていない状態を表わす値0を示し、このレジスタの現在の値が0か否かを判定するのに使用される。 In the present example, D0 represents the value 0 representing a state where the lock state register # 0 is not locked, the current value of this register is used to determine 0 or not. D1は、今の場合、このレジスタのロックが成功した場合に、このレジスタに書き込むべきデータとして、アクセス要求ノード#1(または#2)の番号を表わす。 D1 is, in this case, when the lock of this register is successful, as the data to be written to this register represents the number of the access requesting node # 1 (or # 2). Ctyp0は、各ノードでの演算を指定する第1のパラメータで、今の場合、ロック状態レジスタ#0の現在の値とデータD0との一致判定を示す。 Ctyp0 is the first parameter that specifies the operation at each node, in this case, indicating a match determination between the current value of the lock state register # 0 and the data D0. これにより、現在のこのレジスタがロックされていない状態にあるか否かを判定することになる。 Thus, it is judged whether the current of this register is in a state not locked. Ctyp1は、ロック状態レジスタ# にロック制御回路500での演算結果を書き込むべきか否かを示す信号で、今の場合は、書き込みを指示している。 Ctyp1 is a signal indicating whether or not to write the result of the operation in the lock control circuit 500 to the lock state register # 0, the case, which indicates the writing.
【0042】 [0042]
アクセス要求ノード#1は、上に述べた放送要求メッセージの送信のために、送信パラメータ格納レジスタ42に対してプロセッサ24はシステムバス26を介して上に述べたパラメータをストア命令を用いて書き込む。 Access requesting node # 1, for transmission of the broadcast request message described above, the processor 24 writes the parameters described above via the system bus 26 by using the store instruction to the transmission parameter storage register 42. 送信制御回路21では、メッセージ生成回路41が送信パラメータ格納レジスタ42に以上のパラメータが書き込まれたことを検出すると、この送信パラメータから放送要求メッセージ11を生成し、ネットワーク1に送出する。 In the transmission control circuit 21 detects that the message generating circuit 41 is written parameters over the transmission parameter storage register 42, it generates a broadcast request message 11 from the transmission parameter, and sends to the network 1. ネットワーク1へのこの放送要求メッセージの送出が完了すると、送信状態レジスタ43内の状態STを「送信完了」に設定する。 When transmission of the broadcast request message to the network 1 is completed, sets the state ST of the transmission status register 43 to "transmission completion". プロセッサ24は送信状態レジスタ43をロード命令によりシステムバス26を介して監視することで、共有ファイルのロック要求が終了したことを知ることができる。 Processor 24 by monitoring via the system bus 26 by a load instruction to transmit status register 43, it can be seen that the lock request of the shared file has been completed. そして、送信状態レジスタ43を「送信完了」になったことを確認したら、プロセッサ24はストア命令により送信状態レジスタ43をクリアし、次のメッセージの送信ができるようにする。 Then, confirm that it is now the transmission status register 43 to the "transmission completion", processor 24 clears the transmission status register 43 by the store instruction, to allow transmission of the next message.
【0043】 [0043]
ネットワーク1に送出されたメッセージ11はすでに説明したように放送メッセージ中継回路12に送られる。 Message 11 sent to the network 1 is sent to the broadcast message relay circuit 12 as previously described. アクセス要求ノード#1及び#2の動作はロック要求の発行に関しては同じ動作をする。 Operation of the access requesting node # 1 and # 2 are the same behavior with respect to issuance of lock request. これらのノードから発信された上記メッセージを放送メッセージ中継回路12が順次選択し、この選択したメッセージ内のコントロールビットCTLを、放送要求メッセージを表わすものから放送メッセージを表わすものに変換し、ネットワーク1により全ノードに放送する(ステップ261) These nodes broadcasts that originate the message message relay circuit 12 sequentially selects from the control bit CTL in the selected message, converted to those representative of the broadcast messages from those representing the broadcast request message, the network 1 broadcast to all nodes (step 261). さて、先に述べようにアクセス要求ノード1とアクセス要求ノード2はほぼ同時に共有ファイル35のロック要求を行なっているが、本ケースではアクセス要求ノード1から送出された放送要求メッセージがアクセス要求ノード2から送出された放送要求メッセージより先に放送メッセージ中継回路12により選択され、全ノードに放送されると仮定する。 Well, it is performed substantially lock request of the shared file 35 simultaneously access request node 1 and the access requesting node 2, as previously described, a broadcast request message is an access request node in this case sent from the access requesting node 1 selected previously by the broadcast message relay circuit 12 from the broadcast request message sent from 2, assumed to be broadcast to all nodes. このことは既に説明したように全ノードで到着するロック要求メッセージの到着する順番が、アクセス要求ノード1からのロック要求メッセージがアクセス要求ノード2からのロック要求メッセージに先行していることを意味する。 Order This is the arrival of a lock request message already arrive at all nodes as described is, lock request message from the access requesting node 1 which means that precedes the lock request message from the access requesting node 2 .
【0044】 [0044]
(2a)ロック要求の調停(ロック成功ケース) (2a) arbitration of the lock request (lock success case)
各ノードの受信制御回路22は、アクセス要求ノード1からのロック要求を格納した放送メッセージを受信すると、次の動作を行なう。 Reception control circuit 22 of each node receives a broadcast message storing the lock request from the access requesting node 1 performs the following operation. ネットワーク1からメッセージを入力バッファ51に一時的に格納する。 Temporarily stored in the input buffer 51 a message from the network 1. 入力バッファ51に格納されたメッセージのロック状態レジスタ番号#R(今の場合は#0)にしたがって、ロック状態レジスタ#0に格納された値、ここでは初期値0が、一致判定回路53、大小判定回路54、加算回路56に対して出力される。 Input according to the lock status register message stored in the buffer 51 number #R (0 # is the current case), the lock state register # 0 to the value stored, wherein the initial value of 0, match determining circuit 53, the magnitude judging circuit 54 is output to the adder circuit 56. 受信したメッセージのデータD0、ここでは値0が一致判定回路53と大小判定回路54に出力される。 Data D0 of the received message, wherein the value 0 is output to the match determining circuit 53 and the magnitude determination circuit 54. 一致判定回路53は、それへの二つの入力はどちらも0であるため、その出力は1となる。 Match determining circuit 53, since two inputs to it are both 0, the output is 1. 本ケースでは、このメッセージのCtyp0が一致判定イネーブルであるため、一致判定回路53の出力がセレクタ55により選択され、大小判定回路54の出力は選択されない。 In this case, Therefore Ctyp0 message is consistent determination enabled, the output of the coincidence judging circuit 53 is selected by the selector 55, the output of the size determination circuit 54 is not selected. こうして、セレクタ55の出力はアクティブになり、これに応答するゲート58はアクティブになる。 Thus, the output of the selector 55 is activated, the gate 58 which responds thereto becomes active. 一方、受信したメッセージのCtyp1フィールドはセットイネーブルであるため、受信したメッセージのD1、ここではアクセス要求ノード#1のノード番号#が、セレクタ57により選択され、ゲート58に出力される。 On the other hand, Ctyp1 field of the received message is set enable, D1 of the received message, is where a node of the access requesting node # 1 is number #, is selected by the selector 57 is output to the gate 58. ゲート58がアクティブであるため、ゲート58の出力であるアクセス要求ノード#1のノード番号#1がロック状態レジスタ#0に書き込まれる。 Since the gate 58 is active, the node number # 1 of the access requesting node # 1 which is the output of gate 58 is written into the lock state register # 0. また、受信したメッセージのIntフィールドはディスエーブルであるため、アンドゲート59の出力はネガティブであり、プロセッサ24に対して割込は発生しない。 Further, since Int field of the received message is disabled, the output of the AND gate 59 is negative, the interrupt to the processor 24 does not occur.
【0045】 [0045]
なお、ロック要求の調停が以上のように行われるが、本実施例では、この調停により選択されたロック要求に対して、資源管理ノードにおける、そのロック要求が要求する資源自体のロックは行われない。 Although the arbitration of the lock request is made as described above, in this embodiment, the lock request selected by the arbitration, the resource managing, locked resource itself that lock request requests is done Absent.
【0046】 [0046]
(2b)ロック要求の調停(ロック失敗ケース) (2b) arbitration of the lock request (lock failure case)
資源管理ノード#0がすでにロック状態レジスタ#0の値がアクセス要求ノード2からのロック要求を格納した放送メッセージは、アクセス要求ノード1からのロック要求を格納した放送メッセージに後に各ノードで受信される。 Broadcast messages the value of the resource managing node # 0 0 is already locked status register # has stored the lock request from the access requesting node 2 is received later at each node in the broadcast message storing the lock request from the access requesting node 1 that. この場合にも上の(2a)と同じように処理されるが、この場合には、ロック状態レジスタ#0にはすでにアクセス要求ノード#1のノード番号が書き込まれているために、一致判定回路53では一致は検出されず、その出力はネガティブになり、従って、セレクタ55の出力もゲート58もネガティブになる。 Is processed in the same way as (2a) of the above in this case, in order in this case, it is already accessing requesting node # 1 of the node number is written into the lock state register # 0, match determining circuit matching the 53 is not detected, the output goes negative, therefore, the output even if the gate 58 of the selector 55 also becomes negative. このためゲート58はロック状態レジスタ#0に対して書き込みは行なわない。 Thus the gate 58 does not perform writing on the lock state register # 0. したがって、アクセス要求ノード#1がノード#0をロックしている状態が維持される。 Therefore, the state where the access requesting node # 1 has locked the node # 0 is maintained.
【0047】 [0047]
このようにロック状態レジスタ#0に対する複数のP操作が全てのノードに対して同じ順番で実行されることにより、ロックの排他性を保証することができる。 By thus multiple P operation on the lock state register # 0 is executed in the same order for all nodes, it is possible to ensure the locking of exclusivity. また、このロック処理の間、資源管理ノード#0では、実行中の処理を中断することがない。 Also, during this locking process, the resource managing node # 0, is not to interrupt the process in progress.
【0048】 [0048]
(3a)ロックの確認(成功ケース) (3a) confirmation of the lock (success case)
共有ファイルのロック要求を行なったアクセス要求ノード#1ではロック状態レジスタ#0をロード命令により監視し、ロック状態レジスタ#0の内容が自ノードのノード番号に変更されたことを確認できたことにより、ロックの成功を確認する(ステップ224)。 An access requesting node # 1, the lock state register # 0 were conducted lock request of the shared file is monitored by a load instruction, by the contents of the lock state register # 0 has been confirmed that it is changed to the node number of the node , to confirm the success of the lock (step 224). これ以降資源管理ノード#0内の共有ファイル35へのアクセス権はアクセス要求ノード#1がロックを解除するまでアクセス要求ノード#1が獲得する。 Access to the shared file 35 of the subsequent resource management node # 0 is the access requesting node # 1 to the access requesting node # 1 releases the lock to win.
【0049】 [0049]
(3b)ロックの確認(失敗ケース) (3b) confirmation of the lock (failure case)
共有ファイルのロック要求を行なったアクセス要求ノード#2ではロック状態レジスタ#0をロード命令により監視し、ロック状態レジスタ#0の内容がはアクセス要求ノード#1のノード番号に変更されたことにより、ロックの失敗を確認する(ステップ244)。 By an access requesting node # 2 in the lock state register # 0 were conducted lock request of the shared file is monitored by a load instruction, the contents of the lock state register # 0 is that changed the node number of the access requesting node # 1, to confirm the failure of the lock (step 244). これ以降は、アクセス要求ノード#1がロックを解除するまでアクセス要求ノード#2は共有ファイル35をアクセスできない。 The rest, the access requesting node # 2 to the access requesting node # 1 releases the lock can not access the shared files 35.
【0050】 [0050]
(4)ファイルアクセス以下、アクセス要求ノード#1は資源管理ノード#0のプロセッサ24で実行されるI/O処理プログラム32に対してネットワーク1を介してアクセス要求を含むメッセージを発行することにより、共有ファイル35のアクセスを行なう(ステップ225)。 (4) File access Hereinafter, by issuing a message that includes an access request via the network 1 to the access requesting node # 1 I / O processing program 32 executed by the processor 24 of the resource management node # 0, performing access shared files 35 (step 225). このメッセージを受けた資源管理ノードでは、このメッセージが入力バッファ51に取り込まれた時点で、図示しない割り込み回路により、プロセッサ24に割り込み信号を供給する。 In the resource management node receiving this message, when the message is taken into the input buffer 51, by an unillustrated interruption circuit supplies an interrupt signal to the processor 24. そのプロセッサ24では、割り込み処理プログラムにおいて、このアクセス要求が通信宛先として指定するI/O処理プログラム33を起動して、このアクセス要求が指定するファイルに対してこの要求が指定するI/O動作を実行することを指示する(ステップ202)。 In the processor 24, the interrupt processing program, start I / O processing program 33 of the access request is designated as a communication destination, the I / O operation request is specified for the file access request specifies instructing to execute (step 202). このアクセス要求が、読み出し要求のときには、プロセッサ24は、このデータをディスク装置ディスク装置25から読み出し、このデータを含むメッセージをアクセス要求ノードに送信する。 The access request is, when the read request, the processor 24 reads the data from the disk device the disk device 25, sends a message containing this data to the access requesting node. もしこのアクセス要求が書き込み要求のときには、このアクセス要求には書き込みデータが含まれ、このデータをプロセッサ24は、ディスク装置25に書き込み、書き込みの完了を示すメッセージをアクセス要求ノードに送信する。 If and when the access request is a write request, the access request includes write data, the data processor 24 writes to the disk unit 25, sends a message indicating the completion of writing to the access requesting node.
【0051】 [0051]
従来技術では、いずれかの資源管理ノードは、他のノードから発信されたファイルアクセス要求を受信した場合には、そのファイルアクセスが指定するアクセスを実行するためのコプロセスを生成し、そのコプロセスの実行を制御する。 In the prior art, one of the resource management node, when receiving a file access request originated from another node generates a co-process for performing an access to the file access is specified, the coprocess to control the execution. この場合、その資源管理ノードは、複数のノードからディスク記憶装置25内の同一のファイルに対して、異なるノードからロック要求を並行して受信した場合、それぞれのロック要求に対してコプロセスを発生する。 In this case, the resource management node for the same file of the disk storage device 25 from a plurality of nodes, when receiving in parallel a lock request from a different node, generates a child process for each lock request to. これらのコプロセスは同一のファイルに対するアクセスであるので、資源管理ノードでは、これらのコプロセスによる、このファイルへのロック要求を調停するようになっている。 Since these coprocess is access to the same file, in the resource managing, by these co-processes, so as to arbitrate lock requests to the file. すなわち、いずれか一つのコプロセスを選択する。 That is, selecting one of the co-process. さらに、従来のロック要求の処理では、その選択されたコプロセスがそのファイルを排他的に使用可能なように、そのファイルをロックし、そのコプロセスの使用が終了するまで、そのファイルを他のコプロセスが使用するのを禁止する。 Further, in the processing of conventional lock requests, so that the selected coprocess is available the file exclusively, to lock the file, until use of the co-process is completed, the other file co-process is prohibited to use.
【0052】 [0052]
本実施例では、各アクセス要求ノードから資源管理ノードにロック要求を送らない。 In this embodiment, not send a lock request to the resource management node from the respective access requesting node. したがって、資源管理ノードでは、そのノード内の資源をロックすることはない。 Therefore, in the resource managing, it does not lock the resources in that node. 上述のように、本実施例では、資源管理ノードのプロセッサの外部に設けた排他的な使用要求を調停する回路により、同じ資源管理ノード内のディスク記憶装置25に対しては一つのアクセス要求ノードのみがアクセスを許されている。 As described above, in this embodiment, one access requesting node by a circuit for arbitrating exclusive use requests provided outside the processor resource managing, with respect to the disk storage device 25 in the same resource managing only it is allowed to access. すなわち、この資源の排他的な使用が、この資源管理ノードのプロセッサの外部で調停されている。 That is, exclusive use of this resource are arbitrated external to the processor of the resource managing. したがって、この資源管理ノードのプロセッサには、同一のディスク記憶装置に対する複数の排他的な要求が供給されない。 Accordingly, the processor of the resource managing a plurality of exclusive request is not supplied to the same disk storage. したがって、アクセスを要求する複数のコプロセスが並行して生成されない。 Therefore, a plurality of co-process requesting access is not generated in parallel. 従って、この資源管理ノード内では、ロック制御を行わなくても、同じディスク記憶装置への、異なるノードからのアクセスは同時には生じない。 Thus, in this resource in the management node, even without the lock control, to the same disk storage, access from different nodes does not occur at the same time. したがって、本実施例では、資源管理ノードでは、資源をロックしない。 Thus, in this embodiment, the resource managing, does not lock the resource. 本実施例においては、各ノードがロック状態レジスタ群を有し、他のノードの資源をアクセスするときに、この状態レジスタ群によりその資源がロック済みか否かを判定することにより、同一の資源の排他的は使用を保証している。 In the present embodiment, has each node locked state register group, when accessing a resource of another node, by the resource by the status register group to determine whether locked or not, the same resources exclusive guarantees the use of.
【0053】 [0053]
(5)共有ファイルのロック解除要求共有ファイル35のアクセスを完了したアクセス要求ノード#1は、共有ファイル35のロックを解除するため、次の手順によりロック状態レジスタ#0に対してV操作を行なう。 (5) access requesting node # 1 has completed the access lock release request shared file 35 of the shared files in order to unlock the shared file 35, performs a V operation on the lock state register # 0 by the following steps . まず、次のパラメータを含む放送要求メッセージを放送中継回路12に転送し、そこから、このパラメータを含むメッセージを、全ノードに放送することで行なう。 First, forward the broadcast request message that includes the following parameters to the broadcasting relay circuit 12, from which a message containing this parameter is carried out by broadcast to all nodes.
【0054】 [0054]
Nadr:=放送中継回路12のアドレスCTL:=放送要求メッセージイネーブルR#:=#0 NADR: = address of the broadcast relay circuit 12 CTL: = broadcast request message enable R #: = # 0
Int:=ディスエーブルD0:=アクセス要求ノード#1のノード番号D1:=0 Int: = Disable D0: = access requesting node # 1 of the node number D1: = 0
Ctyp0:=一致判定イネーブルCtyp1:=セットイネーブルこのパラメータは、先に述べた、ロック要求を含む放送要求メッセージと比べると、データD0とD1の内容が入れ換わっているだけである。 Ctyp0: = matching determination enable Ctyp1: = set enable this parameter, previously described, when compared to a broadcast request message including the lock request, but only the contents of the data D0 and D1 are changed put. このメッセージは放送メッセージ中継回路12へ送信され、そこからネットワーク1を介して全ノードへ放送される(ステップ262)。 This message is sent to the broadcast message relay circuit 12, it is broadcast from there to all nodes via the network 1 (step 262). その時の回路動作は、先に述べたロック要求を含む放送要求メッセージの場合と同じである。 Circuit operation at that time is the same as that of a broadcast request message including the lock request as described above.
【0055】 [0055]
(6a)ロック解除各ノードでは、アクセス要求ノード#1からのロック解除要求を格納した放送メッセージを受信すると、受信制御回路22は、さきのロック要求を含むメッセージの場合と同様に、ロック状態レジスタ#0に、データD0で示されるアクセス要求ノード#0が保持されていることを一致判定回路53で判定した上で、このレジスタにデータD1で示される値0を書き込む。 (6a) unlocked at each node receives a broadcast message containing the lock release request from the access requesting node # 1, the reception control circuit 22, as in the case of messages containing previously the lock request, the lock state register the # 0, after determining that the access requesting node # 0 indicated by data D0 is held by the match determining circuit 53 writes the value 0 as shown by the data D1 in the register. これにより、ロック状態レジスタ#0は初期値0に戻り、共有ファイル35はどのノードも使用していない状態になる。 Thus, the lock state register # 0 is returned to the initial value 0, the state shared file 35 is no node also uses.
【0056】 [0056]
一方、処理244の結果としてロック失敗となったアクセス要求ノード#2は、共有ファイルのロック再要求待ち(ステップ245)になる。 On the other hand, the access requesting node # 2 became lock failure as a result of the processing 244 will relock request waiting for shared files (step 245). 通常この処理はプロセッサ24が内部的に保持しているタイマ機能を用いて、ある時間後に再びロック要求処理(ステップ243と同じ)を行なうことで実現される。 Usually this process by using a timer function of the processor 24 is internally held, it is realized by performing a certain time after again lock request processing (the same as step 243). 例えば、アクセス要求ノード#1がロック状態レジスタ#0に対してロック解除を行なう前に、アクセス要求ノード#2がロック要求を再び行なったとしても、ロック状態レジスタ#0の値はアクセス要求ノード#1のノード番号が格納されているためP操作が失敗し、ロックは失敗する。 For example, before the access requesting node # 1 to perform unlocking the lock state register # 0, also as an access requesting node # 2 has performed the lock requested again, the lock state register value # 0 access request node # P operation fails because the first node number is stored, the lock will fail. しかし、ロック状態レジスタ群52のフリー処理が行なわれた後でアクセス要求ノード#2がロック要求を行なった場合、処理211〜2と同様にして、ロック状態レジスタ#0にはアクセス要求ノード#2のノード番号が格納され、アクセス要求ノード#2はロックの獲得に成功する。 However, if an access requesting node # 2 after-free treatment of the lock state register group 52 has been performed makes a lock request, in the same manner as the processing 211-2, the access requesting node locked registers # 0 # 2 node number is stored, the access requesting node # 2 is successfully acquired lock.
【0057】 [0057]
このように本実施例ではロックの要求および解除のどちらにおいても資源管理ノードのような特定のノードのプロセッサが行なっている検索処理を中断することなく実現することができる。 Thus in the present embodiment can be realized without interrupting the search process is a processor of a particular node is performed as a resource management node in both the request and release locks. このため、システム全体の性能を向上することができる。 Therefore, it is possible to improve the overall system performance.
【0058】 [0058]
<実施例1の変形例1> <Modification 1 of Embodiment 1>
実施例1は特願平6−53405号明細書に記載の放送メッセージ中継回路12を使用した。 Example 1 used a broadcast message relay circuit 12 described Pat Hei 6-53405. この回路は、ハイパクロスバネットワーク内には存在しないで、新に設けられている。 This circuit is not present in the hyper-crossbar network, it provided the new other. 本変形例ではこのような追加の回路を使用しないで、実施例1と同様の動作を実現する。 Without using circuits such additional in this modified example, to realize the same operation as in Example 1.
【0059】 [0059]
すなわち、特願平6−169995号明細書には、各X方向クロスバネットワーク方向とY方向クロスバネットワークに通常備わっている、そのクロスバネットワークに転送されてきた複数の放送メッセージを逐次に放送する逐次化回路を使用して、特願平6−53405号明細書内の放送メッセージ中継回路と同じようにして、ネットワーク内でのデッドロックを防止する技術が示されている。 That is, the Japanese Patent Application No. Hei 6-169995 specification, serialization to broadcast a plurality of broadcast message transferred normally equipped, on the crossbar network to each X-direction crossbar network and Y directions crossbar network sequentially using circuitry, in the same manner as the broadcast message relay circuit in Japanese Patent Application No. Hei 6-53405 specification, a technique for preventing a deadlock in the network it is shown. この技術では、放送を要求するノードが、ネットワーク内の複数のクロスバスイッチの内の、予め放送メッセージの逐次化回路用に定められた特定の一つのクロスバスイッチに接続された一つの中継スイッチに宛てて放送要求メッセージを送出する。 In this technique, a node requesting the broadcast, of the plurality of crossbar switches in the network, addressed to one of the relay switches connected to a particular one of the crossbar switch defined for serialization circuit previously broadcast message It sends out a broadcast request message Te. この特定の中継スイッチとしては、放送メッセージの送出元のノードが接続され、上記特定のクロスバスイッチと対応する座標軸が異なるクロスバスイッチ(例えば、上記特定のクロスバスイッチがX方向クロスバスイッチであるときには、X方向のクロスバスイッチ)と、上記特定のクロスバスイッチとに接続された中継スイッチが使用される。 As this particular relay switch, sending source node broadcast message is connected, the crossbar switch axes corresponding to the specific crossbar switch are different (e.g., when the specific crossbar switch is X direction crossbar switch, X direction of crossbar switch), the relay switches connected to the above specific crossbar switches are used. この特定のクロスバネットワークでは、それに接続された複数の中継スイッチから複数の放送要求メッセージがそのクロスバスイッチに転送されてきたときに、それらの一つを選択して、選択した放送要求メッセージを放送メッセージに変更し、そのクロスバスイッチに接続された上記複数の中継スイッチの各々にこの放送メッセージを送出し、それらの中継スイッチを介してこれらの放送メッセージをネットワークに接続された複数のノードに送出する。 In this particular crossbar network, when connected to a plurality of relay switches from a plurality of broadcast request message it has been transferred to the crossbar switch, to select one of them, the broadcast message broadcast request message selected change to, and sends the broadcast message to each of the connected plurality of relay switches to its crossbar switch, and sends the plurality of nodes connected to these broadcast messages to the network via their relay switch.
【0060】 [0060]
本変形例でもこの特定のクロスバスイッチを実施例1の放送メッセージ中継回路12と同様に使用する。 Also it is used as well this particular crossbar switch with broadcast message relay circuit 12 of Embodiment 1 in the present modification. すなわち、図1において、放送中継回路12を削除し、それにともなって、拡張X方向クロスバスイッチ1XE、拡張Y方向クロスバスイッチ1YEを、それぞれ他のX方向クロスバスイッチとY方向クロスバスイッチと同じ数の入出力ポートを有するもので構成する。 That is, in FIG. 1, to remove the broadcast relay circuit 12, and accordingly, extended X direction crossbar switch 1Xe extended Y direction crossbar switch 1YE, enter the same number each other in the X direction crossbar switch and Y direction crossbar switch composed of those having an output port. 各ノードは、ロック要求を含む放送依頼メッセージを、上記特定のクロスバスイッチに接続されたいずれかの中継スイッチ(具体的には上に説明した特定の中継スイッチ)に宛てて、ロック要求を含む放送要求メッセージを送出するようにすればよい。 Each node, a broadcast request message including the lock request, addressed to the specific one of the relay switches connected to the crossbar switch (specific relay switch specifically described above), a broadcast comprising a lock request it may be to deliver the request message. その後は、特願平6−169995号明細書に示した方法で、この放送要求メッセージに対する放送メッセージが各ノードに放送される。 Thereafter, by the method described in Pat. Hei 6-169995, a broadcast message to the broadcast request message is broadcast to each node. 各ノードは、実施例1に示したのと同じ回路により構成され、その動作も実施例1の場合と同じである。 Each node is constituted by the same circuit as shown in Example 1, the operation is also the same as in Example 1.
【0061】 [0061]
<実施例1の変形例2> <Modification 2 of Embodiment 1>
実施例1においては、放送メッセージ中継回路12は、そこに転送された、ロック要求を含む複数の放送要求メッセージの一つを選択し、選択された放送要求メッセージを放送メッセージに変更してネットワーク1を介して複数のノードに転送した。 In Example 1, the broadcast message relay circuit 12 has been transferred thereto, selects one of a plurality of broadcast request message including the lock request, the network 1 by changing a broadcast request message selected in the broadcast message transferred to a plurality of nodes via the. したがって、この放送メッセージ中継回路12は、それぞれロック要求を含む、複数の放送要求メッセージを順次選択する逐次化回路として作用している。 Therefore, the broadcast message relay circuit 12 each include a lock request, acting as a sequential circuit for sequentially selecting the plurality of broadcast request message. しかし、この放送メッセージ中継回路12は、同じノードに対するロック要求を含む複数の放送要求メッセージの内最初に選択した放送要求メッセージに対する放送メッセージを放送するだけでなく、同じノードに対するロック要求を含む後続の放送要求メッセージに対する放送メッセージも放送する。 However, the broadcast message relay circuit 12 is not only broadcasts a broadcast message to a plurality of broadcast request message within the first selected broadcast request message including the lock request for the same node, subsequent comprising a lock request for the same node broadcast message to the broadcast request message also broadcast. 各ノードは、同じノードに対するロック要求を含む複数の放送メッセージを順次受信するが、同じノードに対するロック要求を含むこれらの放送メッセージの内、最初に受信された放送メッセージ内のロック要求のみを有効なロック要求として処理した。 Each node is sequentially receives a plurality of broadcast messages containing a lock request for the same node, of these broadcast messages including a lock request for the same node, valid only lock request initially received broadcast message It was treated as a lock request. このため、実施例1では、同じノードに対するロック要求を含む複数の放送メッセージの内、最初に放送されるメッセージ以外のメッセージは、各ノードでは使用されないにもかかわらず、放送される。 Therefore, in the first embodiment, among the plurality of broadcast messages containing a lock request for the same node, the message other than the message which is first broadcast, even though not used in each node is broadcast. このため、ネットワーク1は、このような無駄は放送メッセージのために使用されるという問題がある。 Therefore, the network 1, such waste is a problem that is used for broadcast messages. 本変形例では、このような無駄なメッセージの放送をなくす。 In this modification, eliminating broadcast of such useless messages.
【0062】 [0062]
このために、放送メッセージ中継回路12内にも、各ノードに設けられているロック制御レジスタ群52とロック制御回路500とを設ける。 For this, also broadcast message relay circuit 12 is provided with a lock control register group 52 and the lock control circuit 500 provided in each node. すなわち、この放送メッセージ中継回路12内のプライオリティ回路がいずれかのノードに対するロック要求を含む放送要求メッセージを最初に選択したときに、その放送要求が指定するロック先ノードをそのロック先ノードに対応するロック状態レジスタに格納し、このノードがロック済みであることを表示するように、このロック制御回路を構成する。 That is, when the priority circuit of the broadcast message relay circuit 12 is initially selecting a broadcast request message including the lock request for one of the nodes, the corresponding lock destination node to which the broadcast request is designated in its locked destination node stored in the lock state register, to indicate that this node is already locked, constituting the lock control circuit. この放送要求に対しては、実施例1と同様に、この放送メッセージ中継回路12内のコントロールビット変更回路により、この最初に選択された放送要求メッセージを、放送メッセージに変更した上で、ネットワークに転送する。 For this broadcast request, in the same manner as in Example 1, the control bit change circuit of the broadcast message relay circuit 12, a broadcast request messages selected this first, after changed to the broadcast message, the network Forward. さらに、この放送メッセージ中継回路12のプライオリティ回路が、ロック要求を含む後続の放送要求メッセージを受信したときに、放送メッセージ中継回路12内に設けたロック制御回路により、その放送要求メッセージが要求するロック先のノードに対するロック状態レジスタの内容を調べ、そのレジスタ内にいずれかのロック要求元のノードの番号が格納されているときには、ロック要求を含む、この後続の放送要求メッセージを無効メッセージとし、このメッセージの放送は行わないようにする。 Furthermore, the priority circuit of the broadcast message relay circuit 12, when receiving the subsequent broadcast request message including the lock request, the lock control circuit provided to the broadcast message relay circuit 12, the broadcast request message requesting locks examine the contents of the lock state register for the preceding node, and when the number of one of the lock requesting node is stored in the register, including a lock request, the subsequent broadcast request message to be invalid message, this broadcasting of messages is not performed. こうすることにより、同じノードの対するロック要求を含む放送要求メッセージの内、最初に選択されたものに対応する放送メッセージのみが放送されることになる。 Thereby, among the broadcast request message including the lock request against the same node, only the broadcast message corresponding to the first one that has been selected is to be broadcast. 各ノードのロック制御回路500の構成は、実施例1と同じでよい。 Construction of the lock control circuit 500 of each node may be the same as in Example 1.
【0063】 [0063]
<実施例1の変形例3> <Modification 3 of Embodiment 1>
変形例2で放送メッセージ中継回路12内に設けた回路と同じ回路を、変形例1で説明した、放送メッセージの逐次化回路用に使用する特定のクロスバスイッチ内の逐次化回路に設けることにより、変形例2と同様の動作を実現できる。 The same circuit as the circuit which is provided to the broadcast message relay circuit 12 in the modification 2, as described in the modification 1, by providing the sequential circuit in a particular crossbar switches used for serialization circuit broadcast message, It can realize the same operation as second modification.
【0064】 [0064]
<実施例1の変形例4> <Modification 4 of Embodiment 1>
実施例1では、放送メッセージ中継回路を、ロック要求を含まない通常の放送要求メッセージの逐次化にも使用し、ネットワーク1をこれらの放送要求メッセージあるいはそれらに対してこの回路により生成された通常の放送メッセージの転送にも使用した。 In Example 1, the broadcast message relay circuit, also used in the serialization of a normal broadcast request message does not include a lock request, the network 1 of a broadcast request message or a normal generated by the circuit with respect to those It was also used for the transfer of broadcast messages. さらに、この放送メッセージ中継回路を、ロック要求を含む放送要求メッセージの逐次化にも使用し、ネットワーク1をこれらの放送要求メッセージあるいはそれらから生成される放送メッセージの転送にも使用した。 Moreover, the broadcast message relay circuit, also used in the serialization broadcast request message including the lock request, the network 1 is used to transfer the broadcast messages generated from these broadcast request message or them. しかし、ロック要求を含む放送要求メッセージと、それから生成されるロック要求を含む放送メッセージのために、別の放送メッセージ中継回路を含む別のネットワークを使用することは、メッセージの転送速度を向上するのに有効である。 However, for broadcast messages containing broadcast request message including the lock request, then the lock request is generated, the use of another network that contains another broadcast message relay circuit, to increase the transfer rate of the message it is effective in.
【0065】 [0065]
<実施例2> <Example 2>
実施例1では、ある資源への複数のロック要求を、その資源がいずれのノードに属するかに関係なく、各ノードで調停し、その結果をそれぞれのノードのロック状態レジスタに保持し、それぞれのノードで利用した。 In Example 1, a plurality of lock requests to a resource, regardless of whether that resource belongs to a node arbitrates at each node, holds the result in the lock state register of each node, respectively It was used in the node. 実施例1ではそのためにロック要求元は、放送メッセージ中継回路にロック要求を含む放送要求メッセージを発信し、この回路が、このメッセージを放送メッセージに変更し各ノードに放送した。 Example 1 In the lock requestor To do so, transmits a broadcast request message including the lock request to the broadcast message relay circuit, this circuit was broadcast to each node to change the message to the broadcast message. このため、全てのロック要求を含む放送要求メッセージが放送中継回路に転送された。 Therefore, the broadcast request message containing all of the lock request is transferred to the broadcast relay circuit. このために、この放送メッセージ中継回路には、ロック要求を含む多くの放送要求メッセージが転送されることになり、この回路での処理の遅延が発生する恐れがある。 For this, this broadcast message relay circuit, will be many broadcast request message including the lock request is forwarded, processing delays in the circuit may occur. さらに、各ノードのロック状態レジスタ群は、それぞれ一つのロック単位、例えば、ノードに対応して使用され、かつ、各ロック状態レジスタは、対応するノードの資源がロックされたときに、そのロックに成功したノードの番号を保持した。 Further, the lock state register group of each node, one locking units respectively, for example, be used to correspond to the nodes, and each lock status register, when the resources of the corresponding node is locked, in its locked holding a number of successful node. このためノードの数が増大すると、より多くのレジスタが必要になる。 When the number of the for node increases, require more registers. 本実施例はこれらの問題をなくす。 This embodiment eliminates these problems.
【0066】 [0066]
図4は、本実施例での並列計算機の概略構成を示す。 Figure 4 shows a schematic configuration of a parallel computer in this embodiment. 以下、実施例1との相違点を中心に説明する。 The following description focuses on differences from the first embodiment. 本実施例では、複数のアクセスノードがある資源管理ノードに属する資源へのアクセスを要求する場合、それぞれのアクセス要求ノードはロック要求を含む複数のロック要求を、その資源管理ノードに一対一通信で転送し、その資源管理ノードはこれらのロック要求を調停し、その一つにロック権を与えることを示す調停結果を各ノードに放送メッセージにより通知する。 In this embodiment, when requesting access to resources belonging to the resource management node with multiple access nodes, each access requesting node plurality of lock request including a lock request, a one-to-one communication to the resource managing transferred, the resource management node arbitrates these lock request, and notifies the broadcast message to each node an arbitration result that indicates that providing locks right to one of them. これにより、実施例1での放送中継回路へのロック要求を含むメッセージの集中を避ける。 Thus, avoiding the concentration of a message containing a lock request to the broadcast relay circuit in Example 1. 本実施例でのネットワーク1には実施例1と同じく、放送メッセージ中継回路12が設けられ、上記資源管理ノードは、上記調停結果の放送に当っては、この調停結果含む放送要求メッセージをこの放送メッセージ中継回路12に送り、この回路によりこの調停結果を全てのノードに放送する。 The network 1 in the present embodiment as in the first embodiment, the broadcast message relay circuit 12 is provided, said resource management node, is hitting the broadcast of the arbitration result, a broadcast request message including the arbitration result this feed to the broadcast message relay circuit 12, this circuit broadcasts the arbitration result to all the nodes. このように、この放送メッセージ中継回路12は、ロック要求を含む放送要求メッセージの逐次化には使用されないで、上記調停結果など、ロック要求以外の情報を含む放送要求メッセージの逐次化に使用される。 Thus, the broadcast message relay circuit 12 is not used for the serialization of a broadcast request message including the lock request, is used to serialize the broadcast request message containing such the arbitration result, the information other than the lock request .
【0067】 [0067]
各ノードのロック制御回路500では、各ノードでは全ノードに対して一つのロック状態レジスタ153が設けられ、このレジスタの複数のビット位置は、一つのロック単位に対応して設けられ、ここでは、ロック単位はシステムのいずれか一つのノードである。 The lock control circuit 500 for each node in each node one locking status register 153 is provided for all nodes, a plurality of bit positions of this register, provided corresponding to one of the locking units, here, locking unit is any one of the nodes of the system. それぞれのビット位置は、対応するノードがロックされた状態にあるかに応じて値1または0をとるロック状態を記憶する。 Each bit position stores a locked state which takes a value 1 or 0 depending on whether the state of the corresponding node is locked. これにより、実施例1におけるロック状態レジスタの増大を防いでいる。 Thus it is prevented the increase in lock state register in the first embodiment. 各ノードにはさらに、自ノードがロック済みの資源を識別するためのロック獲得レジスタ152を設ける。 Furthermore each node, providing the lock acquisition register 152 for the own node to identify the locked resources. このレジスタの各ビットは、それぞれ一つのロック単位、ここではノードに対応し、そのレジスタが属するノードがいれかの資源管理ノードをロックしたときに、その資源管理ノードに対応するビットに値1を格納するようになっている。 Each bit of this register, one locking units respectively, here corresponds to a node, when locked the resource managing whether Re not have a node to which the register belongs, a value 1 to the bit corresponding to the resource managing It is adapted to store. ロック制御回路500は、実施例1と異なり、ここではロック要求の調停を行わないで、いずれかの資源管理ノードから発信された調停結果に基づいて、これらのレジスタの更新を行う。 Lock control circuit 500, unlike the first embodiment, wherein not perform arbitration of the lock request, based on the originating arbitration result from any of the resource managing, updating of these registers. アクセス要求ノードは更新後のレジスタ値に基づいて自己が発信したロック要求が許可されたか否かを判定する。 Access requesting node determines whether the lock request itself are originated is permitted based on the register value after update.
【0068】 [0068]
以下、図4の装置の動作の詳細をさらに説明する。 Hereinafter, further details of the operation of the apparatus of FIG.
(レジスタの初期化) (Initialization of the register)
全てのノードにおいて、それぞれの中のプロセッサ24は、ロック状態レジスタ152、ロック獲得レジスタ153を0にリセットする。 In all nodes, the processor 24 in each resets lock state register 152, a lock acquisition register 153 to zero. 各ノードのノード#レジスタ154には、そのノードの番号をセットする。 The node # register 154 of each node, sets the number of the node.
【0069】 [0069]
(ロック要求の処理) (Processing of the lock request)
図5のフローチャートを参照してこの処理の実行方法を説明する(1)ロック要求メッセージの放送アクセス要求ノードでは、アクセスすべき資源が属する資源管理ノードがロックされているか否かを、ロック状態レジスタ152内の、そのノードに対応するビットの値に基づいてチェックし、そのノードがロックされていないときに、ロック要求を含むメッセージをその資源管理ノードに宛てて発信する(ステップ523、543)。 With reference to the flowchart of FIG. 5 will be described how to perform the process (1) locked in the broadcast access request node of the request message, whether the resource managing the resources to be accessed belongs is locked, the lock status register in 152 to check based on the value of the bit corresponding to the node, when the node is not locked, transmits addressed a message including a lock request to the resource management node (step 523,543). この発信のために以下のパラメータを送信パラメータ格納レジスタ42に格納する。 Stores the following parameters for the call to the transmission parameter storage register 42.
【0070】 [0070]
Nadr(ネットワークアドレス):=資源管理ノードのノード番号CTL(コントロール):=一対一転送メッセージイネーブルCメッセージD(コマンド):=ロック要求Int(割り込み):=ディスエーブルB#(ビット番号):=資源管理ノードの番号T#(ターゲットノード番号):=資源管理ノードの番号R#(アクセス要求ノード番号):=自ノードの番号ここで、CTLはメッセージの種類を表わすビットで、ここでは一対一メッセージを表わす。 NADR (network address): = node number CTL resource management node (control) = one-to-one transfer message enable C message D (command): = lock request Int (Interrupt): = Disable B # (bit number): = resource managing node number T # (target node number) = resource management node number R # of (access request node number) = where number of its own node, a bit CTL is representative of the type of message, one-to-one here representing the message. CメッセージDは、コマンドの種類を表わすコードで、ここでは、ロック要求を表わす。 C message D is a code representing the type of command, where represents the lock request. 本実施例では、ロックに関するコマンドとしては、この他に、ロック通知、ロック解除などのコマンドを使用する。 In this embodiment, the commands for locking, in addition, locking notification, using a command such as unlocking. B#は、ロックすべき資源を識別する情報で、ここでは、その資源の資源管理ノードの番号を使用する。 B # is the information identifying the resource to be locked, is used here the number of the resource managing its resources. T#は、ロックすべき資源が属する資源管理ノードの番号である。 T # is the number of the resource management node resources to be lock belongs. R#は、アクセス要求ノードの番号である。 R # is the number of the access requesting node. Nadr、CTL、Intに関しては、実施例1と同様である。 NADR, CTL, with regard Int is the same as in Example 1. メッセージ生成回路41は、このパラメータを含むメッセージをネットワーク1を介して、このアドレスNadrにより示される資源管理ノードに転送する。 Message generating circuit 41, a message containing this parameter via the network 1, and transfers the resource management node indicated by this address NADR.
【0071】 [0071]
(2a)ロック要求の調停(ロック成功ケース) (2a) arbitration of the lock request (lock success case)
複数のアクセス要求ノードからそれぞれロック要求を含む複数のメッセージが同じ資源管理ノードに宛てて発信されると、それらのメッセージはネットワーク1によりその資源管理ノードに並行して転送されるが、この資源管理ノードは、これらのメッセージをネットワークから順次受信し、入力バッファ51に順次供給する。 When multiple messages each including a lock request from a plurality of access requesting node is transmitted addressed to the same resource managing, although these messages are transferred in parallel to the resource managing the network 1, the resource management node sequentially receives these messages from the network and sequentially supplies the input buffer 51. 入力バッファ内にこのようなメッセージの内の先頭のメッセージが入力されると、このコマンド内のビット番号B#が、ロック状態レジスタ153、ロック獲得レジスタ152に供給される。 When first message of such a message is entered in the input buffer, the bit number B # in this command, the lock status register 153, it is supplied to the lock acquisition register 152. さらに、この入力バッファ51内に設けられたデコーダ(図示せず)によりコマンドビットCメッセージDが解読され、このコマンドがロック要求のときには、ロック要求を解読したことを示す信号がANDゲート155に供給される。 Further, the input (not shown) decoders provided in the buffer 51 is decoded command bits C message D by, when this command is the lock request, supply a signal indicating that decodes the lock request to the AND gate 155 It is. このANDゲート155の他方の反転入力には、ロック状態レジスタ153内の、ビット番号B#のビットが入力され、もし、このビットの値が0のとき(すなわち、資源管理ノードがまだロックされていないとき)には、このANDゲートの出力は1となる。 The other inverting input of the AND gate 155, in the lock state register 153, bits of a bit number B # is input, if the value of this bit is 0 (i.e., not resource managing is still locked the no time), the output of the aND gate is one. この出力信号は、このロック要求に対して、ロックが許可されることを示すもので、ロック状態レジスタ153のセット端子にORゲート159を介して送られる。 This output signal for this lock request, indicates that the lock is granted, and sent via the OR gate 159 to the set terminal of the lock state register 153. その結果、そのレジスタは、それにすでに入力されているビット番号B#のビット位置に値1を書き込み、この資源管理ノードがロックされたことを表示する。 As a result, the register is it already writing the value 1 to the bit position of the bit number B are input #, to indicate that this resource managing node is locked. さらに、ANDゲート155の出力は、メッセージ生成回路41に、コマンドとしてロック報告を含む放送要求メッセージを送出することを指示する。 Further, the output of AND gate 155, the message generating circuit 41, which specifies transmitting a broadcast request message including the lock report as a command. このように、このANDゲート155によりロック状態の検査が行なわれる(ステップ502)。 Thus, inspection of the locked state is performed by the AND gate 155 (step 502).
【0072】 [0072]
メッセージ生成回路4は、ANDゲート155からの上記指示信号に応答して、入力バッファ51内のメッセージに基づいて、放送要求メッセージを生成する。 Message generating circuit 4 in response to the instruction signal from the AND gate 155, based on the message in the input buffer 51 and generates a broadcast request message. すなわち、このメッセージ内のパラメータとして、次ぎの新たなパラメータと、入力バッファ51内の他のパラメータを含むメッセージを生成してネットワーク1に送出する。 Namely, as a parameter in this message, following the new parameters, to generate a message including the other parameters in the input buffer 51 is sent to the network 1. 以下の新たなパラメータはメッセージ生成回路41内に予め保持されている。 New parameter below are held in advance in the message generating circuit 41.
【0073】 [0073]
Nadr:放送メッセージ中継回路12のアドレスCTL:放送要求メッセージCメッセージD:ロック報告このメッセージは、放送メッセージ中継回路12により、放送メッセージになるように、コントロールビットCTLが変更された後に、各ノードに放送される(ステップ503)。 NADR: address of the broadcast message relay circuit 12 CTL: broadcasting request message C Message D: Lock report this message, the broadcast message relay circuit 12, so that the broadcast message, after the control bit CTL is changed, to each node It is broadcast (step 503).
【0074】 [0074]
(2b)ロック要求の調停(ロック失敗ケース) (2b) arbitration of the lock request (lock failure case)
ロック要求をそれぞれ含む複数のメッセージの内の、上記先頭のメッセージの処理が以上のようにして終了すると、それらのメッセージの内の後続のメッセージがその後順次入力バッファ51に取り込まれるが、それらのメッセージに対しては、ANDゲート155に入力される、ロック状態レジスタ152のビットの値がすでに1になっているので、ANDゲート155の出力は0のままであり、これらのメッセージに含まれたロック要求にはロックは許可されない。 Of the plurality of messages including a lock request respectively, the processing of the beginning of the message is completed as described above, but their subsequent messages of the message is taken in thereafter sequentially input buffer 51, the messages respect is input to the aND gate 155, the bit value of the lock state register 152 is already 1, the output of aND gate 155 remains 0, the lock contained in these messages lock is not allowed to request.
【0075】 [0075]
(3)ロックの確認上記放送中継回路12から放送されたロック報告を含むメッセージがすでにロック要求を発行したいずれかのノードに転送されたときには、上記メッセージ内のターゲットノード番号T#が一致回路160に送られ、自ノードレジスタ154内のノード番号と比較される。 (3) when the locking of the confirmation the broadcast message including the been locked reported broadcast from the relay circuit 12 is transferred to one of the nodes that have already issued the lock request, the target node number T # matching circuit 160 in the message sent to and compared with the node number in this node register 154. この比較の結果、このノードが、上記資源管理ノード以外のノードであるときには、一致は検出されない。 The result of this comparison, the node, when the node other than the resource management node, no match is detected. ANDゲート158には、一致回路160の反転出力と上記メッセージ内のコマンドCメッセージDがロック報告であることを解読した信号が入力される。 The AND gate 158, signal command message C D of the inverted output and the message of the coincidence circuit 160 decodes that the lock report is input. したがって、上記資源管理ノード以外のノードでは、いずれの入力も1であるから、このANDゲート158の出力は1となり、ORゲート159を介してロック状態レジスタ153のセット端子に入力され、このレジスタ153は、上記メッセージのビット番号B#が示すビット位置に1をセットする。 Thus, the nodes other than the resource managing, because any input is also 1, the output of the AND gate 158 is input to the set terminal of the lock state register 153 through 1, and the OR gate 159, the register 153 sets a 1 bit number B # bit position indicated by the message. こうして、これらのノード内のロック状態レジスタ153は、上記資源管理ノードがロックされた状態にあることを表示する(ステップ524、544)。 Thus, the lock state register 153 in these nodes, to indicate that a state in which the resource management node is locked (step 524,544). なお、上記資源管理ノードでは、前述したとおり、いずれかのロック要求にそのノードのロックを許可したときに、このロック状態レジスタ内の同じビット位置に1を書き込んでいる。 In the above resource management node, as described above, when the permit locking of the node to one of the lock request, and write 1 at the same bit position of the lock status register.
【0076】 [0076]
上記ロック報告を含むメッセージを受信したノードが、いずれかのアクセス要求ノードであるとき、そのノードでは、そのメッセージ内の、アクセス要求ノード番号R#が、一致回路161に送られ、そこで、ノード番号レジスタ154内のノード番号と比較される。 Node receiving the message including the lock report, when it is one of the access requesting node, that node is in the message, the access requesting node number R #, is sent to the coincidence circuit 161, where the node number It is compared with the node number in the register 154. 上記資源管理ノードにロック要求を送った複数のアクセス要求ノードのうち、ロックを許可されたアクセス要求ノードでは、この一致判定の結果、一致が検出される。 Among the plurality of access requesting node that sent the lock request to the resource managing, in authorized access requesting node a lock, the matching determination result, a match is detected. ANDゲート157には、この一致回路161の出力と、メッセージ内のロック報告の解読信号が入力されるので、このANDゲートの出力は、ロックに成功したアクセス要求ノードでは1となり、ロック獲得レジスタ152のセット端子に入力され、このレジスタ152は、上記メッセージのビット番号B#が示すビット位置に1をセットする(ステップ524)。 The AND gate 157, the output of the coincidence circuit 161, since the decryption signal locks reported in the message is input, the output of the AND gate becomes 1 in the access requesting node a successful lock, the lock acquisition register 152 is inputted to the set terminal, the register 152 is set to 1 bit number B # bit position indicated by the message (step 524). 一方、アクセス要求ノードのうち、ロックを許可されなかったノードでは、このロック獲得レジスタ152の内容は変更されない。 On the other hand, of the access requesting node, the node that was not authorized to lock, the contents of the lock acquisition register 152 is not changed.
【0077】 [0077]
したがって、複数のアクセス要求ノードは、プロセッサ24が、これらのレジスタ152、153の内容を見て、資源管理ノードがロックされたか、ロックされたときには、自己がロックに成功したかを判定することができる(ステップ525、545)。 Therefore, a plurality of access requesting node processor 24, a look at the contents of these registers 152 and 153, or the resource management node is locked, when it is locked, is possible to determine whether the self has succeeded to the lock can (step 525,545).
【0078】 [0078]
なお、ANDゲート156は、ロックが成功したアクセス要求ノードにおいて、一致回路161で一致が見られ、かつ、受信した上記メッセージ内の割り込み信号Intが1であるとき、そのプロセッサ24にロックが成功したことを示す割り込み信号を供給する。 Incidentally, the AND gate 156, the access requesting node a lock is successful, seen match coincidence circuit 161, and, when the interrupt signal Int of said received message is 1, the lock is successful the processor 24 It supplies an interrupt signal indicating that.
【0079】 [0079]
(4)ファイルアクセスロックに成功したアクセス要求ノードは、上記資源管理ノードに対してアクセス要求を発信し、資源管理ノードはその要求に応答して、資源管理ノード内のディスク装置にアクセスする(ステップ225、202)。 (4) the file access access request node that successfully locked, transmits an access request to said resource management node, the resource management node in response to the request, accesses the disk device in the resource management node (step 225,202). この方法は実施例1と同様である。 This method is the same as the first embodiment.
【0080】 [0080]
(5)共有ファイルのロック解除要求このアクセス要求ノードによるアクセスが完了すると、このノードはアンロック要求を含む放送依頼メッセージを放送メッセージ中継回路12に転送する。 (5) When the access is completed by the lock release request the access request node of the shared file, the node forwards the broadcast request message containing an unlock request to the broadcast message relay circuit 12. このメッセージのパラメータは以下のとおりである。 The parameters of this message are as follows. このメッセージを受けて、放送メッセージ中継回路12は、このパラメータを含むメッセージを各ノードに放送する(ステップ527)。 In response to this message, the broadcast message relay circuit 12 broadcasts a message containing the parameter for each node (step 527).
【0081】 [0081]
Nadr:=放送中継回路12のアドレスCTL:=放送要求メッセージイネーブルCメッセージD:=アンロックInt:ディスエーブルB#:=上記資源管理ノードの番号T#:=上記資源管理ノードの番号R#:=自ノードの番号各ノードでこのメッセージを受信したときには、入力バッファ51から与えられる、アンロック要求を解読したことを示す信号が、ロック状態レジスタ152とロック獲得レジスタ153のリセット端子に与えられ、これらのレジスタは、このメッセージ内のビット番号B#が示すビットの値を0にリセットする。 NADR: = address of the broadcast relay circuit 12 CTL: = broadcast request message enable C Message D: = Unlock Int: Disabled B #: = the resource managing numbers T #: = number of the resource managing R #: = when receiving this message numbers each node of the own node is supplied from the input buffer 51, a signal indicating that decrypts the unlock request is given to the reset terminal of the lock state register 152 and a lock acquisition register 153, these registers, resets the value of the bits represented by bit number B # in this message to 0. なお、複数のノードの内、ロックに成功したアクセス要求ノード以外では、ロック獲得レジスタ152の値は、それまでにすでに0であるので、このアンロック処理によって変わらない。 Of the plurality of nodes, other than the access requesting node a successful lock, the value of the lock acquisition register 152 is already because it is 0 so far, does not change by the unlocking process. こうして、各ノードにおいて、これらのレジスタは、上記資源管理ノードがアンロック状態にあることを示す(ステップ504、528、547)。 Thus, at each node, these registers indicate that said resource management node is in the unlocked state (step 504,528,547).
【0082】 [0082]
以上から分かるとおり、本実施例では、実施例1と同様の利点を有するだけでなく、実施例1と異なり、アクセスすべき資源を管理するノードで、その資源に対する複数のロック要求の調停を行うので、実施例1で述べたように放送メッセージ中継回路にロック要求を含む放送要求メッセージを送出する必要がなく、その回路に多くの放送要求メッセージが集中することを緩和できる。 As seen from the above, in this embodiment, not only has the same advantages as in Example 1, unlike the first embodiment, the node which manages the resources to be accessed, to arbitrate a plurality of lock requests for the resource since, it is not necessary to send a broadcast request message including the lock request to the broadcast message relay circuit as described in example 1, it can be alleviated that many broadcast request message to the circuit is concentrated. さらに、本実施例では、一つのロック状態レジスタと一つのロック獲得レジスタでもって、各資源のロック状態とどのノードがロックに成功したかを判別可能にしたので、実施例1より少ないレジスタで間に合う。 Further, in this embodiment, with a single lock state register and a lock acquisition register, since any node and locked status of each resource was possible to determine the success or the lock catch with less registers than Example 1 .
【0083】 [0083]
<実施例2の変形例> <Modification of the second embodiment>
実施例2では、各ノードに存在する共有ファイルは一つとしたが、各ノードに複数の共有ファイルが存在する場合、ロック状態レジスタとロック獲得レジスタを複数設け、各ノードの異なる共有ファイルに対して、異なるロック状態レジスタと異なるロック獲得レジスタを使用すれば、それぞれの共有ファイルに対して他と独立にロックを管理できる。 In Example 2, shared files that exist in each node has been one, when a plurality of shared files on each node exists, a plurality of lock state register and the lock acquisition register, for different share files with each node , different using lock state register different lock acquisition register, manage lock independently of the other for each of the shared file.
【0084】 [0084]
【発明の効果】 【Effect of the invention】
本発明によれば、アクセス要求ノードにおいて、アクセスすべき資源がロック済みでないことを確認してから、この資源に対するアクセス要求を送出するので、無駄なロック要求を出さない、それにより無駄なロック要求に対する排他制御を減らせる。 According to the present invention, the access requesting node, after confirming that the resource to be accessed is not already locked, so sends an access request for the resource, does not emit unnecessary lock request, thereby useless lock requests Heraseru exclusive control over.
【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS
【図1】本発明による並列計算機の構成図。 Diagram of a parallel computer according to the present invention; FIG.
【図2】図1の装置に使用するネットワークの概略構成図。 Figure 2 is a schematic block diagram of a network to be used in the apparatus of FIG.
【図3】図1の装置における共有ファイルへのアクセスの処理のフローチャート。 FIG. 3 is a flowchart of a process for accessing a shared file in the apparatus of FIG.
【図4】本発明による他の並列計算機の構成図。 Diagram of another parallel computer according to the present invention; FIG.
【図5】図4の装置における共有ファイルへのアクセスの処理のフローチャート。 FIG. 5 is a flowchart of a process for accessing a shared file in the apparatus of FIG.
【符号の説明】 DESCRIPTION OF SYMBOLS
26…システムバス、58…論理ゲート 26 ... system bus, 58 ... logic gate

Claims (2)

  1. 少なくとも1つ以上のプロセッサをそれぞれ有する複数のノードと、該複数のノードにより利用可能な資源を有する少なくとも一つの資源管理ノードがネットワークを介して接続された計算機システムにおいて、該資源の使用は、その時点で該資源のロックに成功している単一のノードによる使用に限る排他的制御方法であって A plurality of nodes each having at least one or more processors, at least one computer system resource management node is connected via a network with available resources by the plurality of nodes, the use of said resource, the a exclusive control method restricted to use by a single node that successfully locks said resource at the time,
    該複数のノードにそれぞれ備えられたロック制御回路のレジスタに、該資源の排他的使用状態を示す使用状態情報をそれぞれ記憶し、 In the register of the lock control circuit provided respectively to the plurality of nodes, respectively stores the use state information indicating the exclusive use state of said resource,
    各ノードは、該資源に対する排他的使用要求を発行すべきときに、該資源が排他的に使用された状態にあるか否かをそのノードのロック制御回路のレジスタに記憶された該資源の使用状態情報に基づいて判別し、該資源が排他的に使用された状態にあると判別された場合、そのノードからの該排他的使用要求の発行を中止し、該資源が排他的に使用された状態にないと判別された場合、そのノードから上記計算機システム内に唯一つ設けられた放送メッセージ中継回路に該排他的使用要求を転送し、 Each node, when should issue exclusive use request for said resource, said resource is used exclusively-used in the state whether the said resource stored in the register of the lock control circuit of the node determined based on the state information, if said resource is judged to be in a state of being exclusively used to stop the issuance of the exhaust other use request from that node, said resource is used exclusively If it is determined that there is no state, it transfers the exhaust other use request to only one provided broadcast message relay circuit to the the computer system from the node,
    放送メッセージ中継回路は、転送された複数の排他的使用要求から一つの排他的使用要求を順次選択し、選択された排他的使用要求を上記複数ノードの全てに放送し、 The broadcast message relay circuit sequentially selects one of the exclusive use request from the transferred plurality of exclusive use request, the exclusive use request selected broadcast to all of the plurality of nodes,
    各ノードは、該一つの排他的使用要求が選択されて放送されたことに基づいて、その資源に関する、各ノードのロック制御回路のレジスタに記憶された該使用状態情報を該資源が排他的に使用されることを表わす使用状態情報に更新する排他制御方法。 Each node in particular based on the one exclusive use request is broadcasted is selected, for that resource, the said use state information stored in the register of the lock control circuit of each node such resource is exclusively exclusive control method of updating the use state information indicating that it is used.
  2. 上記選択された排他的使用要求を発行したノードより上記資源に対するアクセス要求を発行し、 From the node that issued the exclusive use request said selected issues an access request to said resource,
    上記アクセス要求による上記資源のアクセスの終了後に、上記選択された排他的使用要求を発行したノードから上記資源を保持する資源管理ノードに対する上記資源の排他的使用の解除要求を上記放送メッセージ中継回路に発信し、 After completion of the access of the resource by the access request, a cancellation request for exclusive use of the resources to the resource management node that holds the resources from the node that issued the exclusive use request is the selected the broadcast message relay circuit the sending,
    該排他的使用の解除要求を上記放送メッセージ中継調回路から上記複数のノードの全てに転送し、 The cancellation request of the exhaust other use is forwarded to all of the plurality of nodes from the broadcast message relay adjustment circuit,
    各ノードにおいて、放送された上記排他的使用の解除要求に応答して、上記使用状態情報を、上記資源が排他的に使用されていない状態を表わす使用状態情報に変更するステップをさらに有する請求項1記載の排他制御方法。 At each node, in response to the release of the broadcasted the exclusive use request, claim, further comprising the step of changing the use state information, the use state information indicating the state of said resource is not used exclusively exclusive control method of 1, wherein.
JP21607195A 1995-08-24 1995-08-24 Exclusive control method Expired - Fee Related JP3904251B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP21607195A JP3904251B2 (en) 1995-08-24 1995-08-24 Exclusive control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP21607195A JP3904251B2 (en) 1995-08-24 1995-08-24 Exclusive control method
US09846261 US6502136B1 (en) 1994-03-24 2001-05-02 Exclusive control method with each node controlling issue of an exclusive use request to a shared resource, a computer system therefor and a computer system with a circuit for detecting writing of an event flag into a shared main storage

Publications (2)

Publication Number Publication Date
JPH0962634A true JPH0962634A (en) 1997-03-07
JP3904251B2 true JP3904251B2 (en) 2007-04-11

Family

ID=16682815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21607195A Expired - Fee Related JP3904251B2 (en) 1995-08-24 1995-08-24 Exclusive control method

Country Status (1)

Country Link
JP (1) JP3904251B2 (en)

Also Published As

Publication number Publication date Type
JPH0962634A (en) 1997-03-07 application

Similar Documents

Publication Publication Date Title
US6711571B2 (en) Partitioning ownership of a database among different database servers to control access to the database
US5060144A (en) Locking control with validity status indication for a multi-host processor system that utilizes a record lock processor and a cache memory for each host processor
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
US5864738A (en) Massively parallel processing system using two data paths: one connecting router circuit to the interconnect network and the other connecting router circuit to I/O controller
US6145006A (en) Method and apparatus for coordinating locking operations of heterogeneous host computers accessing a storage subsystem
US20040230752A1 (en) Bus protocol for a &#34;switchless&#34; distributed shared memory computer system
US20030004924A1 (en) Apparatus for database record locking and method therefor
US20030060898A1 (en) Flow lookahead in an ordered semaphore management subsystem
US4984153A (en) Storage locking control for a plurality of processors which share a common storage unit
US5742830A (en) Method and apparatus for performing conditional operations on externally shared data
US6959337B2 (en) Networked system for assuring synchronous access to critical facilities
US5442755A (en) Multi-processor system with lock address register in each processor for storing lock address sent to bus by another processor
US5761445A (en) Dual domain data processing network with cross-linking data queues and selective priority arbitration logic
US5454108A (en) Distributed lock manager using a passive, state-full control-server
US5179665A (en) Microprocessor information exchange with updating of messages by asynchronous processors using assigned and/or available buffers in dual port memory
US5146597A (en) Apparatus and method for servicing interrupts utilizing a pended bus
US6971098B2 (en) Method and apparatus for managing transaction requests in a multi-node architecture
US6640289B2 (en) Software controlled cache line ownership affinity enhancements in a multiprocessor environment
US6356983B1 (en) System and method providing cache coherency and atomic memory operations in a multiprocessor computer architecture
US20030018785A1 (en) Distributed locking protocol with asynchronous token prefetch and relinquish
US4654778A (en) Direct parallel path for storage accesses unloading common system path
US5956712A (en) Byte range locking in a distributed environment
US6112263A (en) Method for multiple independent processes controlling access to I/O devices in a computer system
US5918248A (en) Shared memory control algorithm for mutual exclusion and rollback
US5251317A (en) Computer system with an access control unit for resource

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051018

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051216

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20051216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061117

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070109

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees