JPH07152708A - Distributed shared memory system in loosely-coupled computer system - Google Patents

Distributed shared memory system in loosely-coupled computer system

Info

Publication number
JPH07152708A
JPH07152708A JP5299383A JP29938393A JPH07152708A JP H07152708 A JPH07152708 A JP H07152708A JP 5299383 A JP5299383 A JP 5299383A JP 29938393 A JP29938393 A JP 29938393A JP H07152708 A JPH07152708 A JP H07152708A
Authority
JP
Japan
Prior art keywords
shared data
computer
consistency
memory
consistency guarantee
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.)
Pending
Application number
JP5299383A
Other languages
Japanese (ja)
Inventor
Hiroshi Yashiro
寛 屋代
Tsutomu Goto
努 後藤
Takehisa Hayashi
林  剛久
Satoshi Yoshizawa
聡 吉沢
Hideki Murayama
秀樹 村山
Kimitoshi Yamada
公稔 山田
Toru Horimoto
徹 堀本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP5299383A priority Critical patent/JPH07152708A/en
Priority to GB9423890A priority patent/GB2284494B/en
Priority to US08/348,099 priority patent/US5649102A/en
Publication of JPH07152708A publication Critical patent/JPH07152708A/en
Pending legal-status Critical Current

Links

Abstract

PURPOSE:To attain synchronous control and consistency guaranteed control by the small number of network packets and to improve access performance to a distributed shared memory in a distributed shared memory system in a loosely coupled computer system. CONSTITUTION:A main memory 106 is provided with a consistency guaranteed control specifying instruction string memory 201, a shared data memory 203, a shared data consistency guaranteed control instruction string memory 204, a shared data management table 206, a priority queue 205 with a shared data queuing counter, and so on. When an instruction string in the memory 201 is executed or a packet is received from another computer, an instruction string in the memory 204 is executed. When the instruction string in the memory 204 refers to and changes table 206 and the queue 205, the consistency of the memory 203 and the synchronism of parallel programs can be controlled.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】本発明は、ネットワークで結合さ
れた複数の計算機で構成される疎結合計算機システムに
於いて、物理的に分散配置されたメモリ上のデータを別
計算機上で実行中の複数のプログラムで共有するための
分散共有メモリ方式に係わり、特にネットワーク資源を
有効利用し、その結果、分散共有メモリへのアクセス性
能を向上させる分散共有メモリ方式に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a loosely coupled computer system composed of a plurality of computers coupled by a network, in which data on physically distributed memory is being executed on another computer. The present invention relates to a distributed shared memory method for sharing by a plurality of programs, and more particularly, to a distributed shared memory method that effectively uses network resources and consequently improves the access performance to the distributed shared memory.

【0002】[0002]

【従来の技術】疎結合計算機システムに於ける共有メモ
リでは、メモリが物理的に分散しているので、各計算機
のメモリ上に格納されたデータ間の一貫性を保証し、あ
たかも一つのデータを共有しているかのように、プログ
ラムに見せる必要がある。この技術を分散共有メモリと
呼ぶ。
2. Description of the Related Art In a shared memory in a loosely coupled computer system, the memory is physically distributed, so that the consistency between the data stored in the memory of each computer is guaranteed, and one data You need to make the program look like it's shared. This technology is called distributed shared memory.

【0003】分散共有メモリの従来技術の例としては、
アクセスする共有データの単位ごとにプログラム中で指
定し、その共有データの共有単位でデータを転送する方
式がある。例えば、A.S.Tanenbaum他の論文「Parallel
Programming Using Shared Objects and Broadcastin
g」、IEEE、Computer、1992年10月号、10頁−19頁で開
示されている。Tanenbaum他の方式では、共有データメ
モリに対する書き込み操作は共有単位毎でに共有データ
メモリに対する特別な命令を設ける。この特別な書き込
み操作は書き込む内容をブロードキャストし、各計算機
に存在する共有データメモリの更新を行う。このブロー
ドキャストは、一つの計算機でブロードキャストの順序
づけを行うことで、複数の計算機で発行されたブロード
キャストの到着順がすべての計算機で同じになること保
証している。この特殊なブロードキャストプロトコルを
使用することで共有データへの書き込みをした場合、各
計算機上での一貫性を保証することができ、単に読み込
み時をする場合は各計算機の共有データメモリを参照す
るだけで良い。
Examples of prior art distributed shared memory include:
There is a method of specifying in the program for each unit of shared data to be accessed and transferring the data in the shared unit of the shared data. For example, a paper by AS Tanenbaum et al. "Parallel
Programming Using Shared Objects and Broadcastin
g ", IEEE, Computer, October 1992, pp. 10-19. In the Tanenbaum et al. Method, a write operation to the shared data memory provides a special instruction to the shared data memory for each sharing unit. This special write operation broadcasts the contents to be written and updates the shared data memory existing in each computer. This broadcast guarantees that all computers have the same arrival order of broadcasts issued by multiple computers by ordering the broadcasts by one computer. By using this special broadcast protocol, it is possible to guarantee consistency on each computer when writing to shared data, and simply refer to the shared data memory of each computer when reading. Good.

【0004】しかし、共有データに対して他の計算機で
読み込み操作も書き込み操作も行なわれないうちに自計
算機で書き込み操作を複数回行なう場合には、無駄な転
送が生じるという問題点がある。
However, if the write operation is performed a plurality of times by the own computer before the read operation or the write operation is performed on the shared data by another computer, there is a problem that useless transfer occurs.

【0005】また、共有単位のアクセスをする際に一貫
性保証の区間を指定する方式がある。例えば、この方式
を実現したシステムとしては、Muninシステムがある。M
uninシステムはJ.B.Carter他の論文「Implementation a
nd Performance of Munin」、第13回オペレーティング
システム原理シンポジウム会議録(the 13th ACM Sympos
ium on Operating Systems Principles)、1991年10月、
152ー164頁で開示されている。Muninでは、共有データ
メモリへの書き込みまたは読み込み操作をする際、その
操作をする前に一貫性保証を要求する命令と、その操作
をした後に一貫性保証を解除する命令をプログラム中に
記述する。一貫性保証を要求する命令をacquire命令,一
貫性保証を解除する命令をrelease命令と呼ぶ。acquire
命令とrelease命令の間で書き込み操作があった場合に
は、その変更は各計算機上に存在する共有データに反映
されず、release命令が発行される時までその変更は反
映されない。Muninシステムでは仮想記憶機構のページ
ングを組み合わせており、acquire命令を発行した計算
機がその共有データのオーナとなり、release命令で一
貫性保証が解除された後に、その共有データに対応する
変更をページ単位で保持する。保持したページの転送
は、次にacquire命令があった他計算機の共有データメ
モリに対して読み込み操作をするまで遅延し、不必要な
データの転送を削減することができる。しかし、Munin
の方式ではacquire命令とrelease命令が複数計算機で重
なることがあるので、共有データの書き込み操作を複数
計算機間で制御するために同期手段を別に提供してい
る。
There is also a method of designating a section for guaranteeing consistency when accessing in units of sharing. For example, the Munin system is a system that realizes this method. M
The unin system is described in JB Carter et al. "Implementation a
nd Performance of Munin ", the 13th ACM Symposium
ium on Operating Systems Principles), October 1991,
It is disclosed on pages 152-164. In Munin, when performing a write or read operation to the shared data memory, an instruction that requests a consistency guarantee before the operation and an instruction that cancels the consistency guarantee after the operation are described in the program. The instruction that requires the consistency guarantee is called the acquire instruction, and the instruction that releases the consistency guarantee is called the release instruction. acquire
When there is a write operation between the instruction and the release instruction, the change is not reflected in the shared data existing on each computer, and the change is not reflected until the release instruction is issued. In the Munin system, paging of the virtual memory mechanism is combined, the computer that issued the acquire instruction becomes the owner of the shared data, and after the consistency guarantee is released by the release instruction, the changes corresponding to the shared data are paged. Hold. The transfer of the retained page is delayed until the next read operation is performed on the shared data memory of the other computer that has the acquire instruction, and unnecessary data transfer can be reduced. But Munin
In this method, the acquire instruction and the release instruction may overlap on multiple computers, so a synchronization means is separately provided to control the write operation of shared data between multiple computers.

【0006】一方、ネットワークで結合され、各計算機
が独立にアドレス空間を持つような祖結合計算機におい
て、広く用いられている同期手段としてはバリア同期が
ある。バリア同期を実現するためには、ネットワークと
は別に専用の信号線を設ける方式、ネットワークパケッ
トによって実現する方式がある。前者の専用の信号線を
設ける方式は、特別なハードウェアが必要となり高価で
ある。一方、後者は、ネットワークパケットを各計算機
ごとに送信する必要がある。バリア同期については、
「並列処理マシン、富田真治・末吉敏則著、オーム社、1
989」の133ページから134ページに示されている。
[0006] On the other hand, barrier synchronization is a widely used synchronization means in a proto-coupled computer that is connected by a network and each computer has an independent address space. In order to realize barrier synchronization, there are a method of providing a dedicated signal line separately from the network and a method of realizing by network packet. The former method of providing a dedicated signal line requires special hardware and is expensive. On the other hand, the latter needs to transmit a network packet for each computer. For barrier synchronization,
"Parallel Processing Machine, Shinji Tomita, Toshinori Sueyoshi, Ohmsha, 1
989, pages 133-134.

【0007】[0007]

【発明が解決しようとする課題】従来の技術における問
題点は次のとおりである。Tanenbaum他の方式では、こ
の問題を解決するため、共有するデータ単位で転送を行
なうが、書き込み操作に対して必ず計算機間でデータの
転送を行うため、同じデータに対して連続して書き込み
操作を行うような場合に無駄な転送が生じるという第1
の課題がある。
The problems in the prior art are as follows. In order to solve this problem, Tanenbaum et al. Transfer data in units of shared data.However, since data is always transferred between computers for write operations, write operations are continuously executed for the same data. No. 1 that wasteful transfer occurs when doing it
There are challenges.

【0008】Muninシステムでは、次のようにして上述
第1の課題を解決している。共有データメモリの更新に
対して、プログラム中に一貫性を保証する区間の指定手
段を設け、その区間の終了時の変更だけ転送する。こう
することで、一貫性保証区間で共有データに対する書き
込み操作を複数回行っても、他の計算機へのデータの転
送は一貫性保証区間の終了後の一回だけしか発生しな
い。ところが、同期手段が一貫性保証手段とは別に提供
されているため、パケットのやりとりによって同期を実
現する疎結合計算機システムにおいては、パケット量が
増加し、ネットワークに負担をかけるという第2の課題
がある。
The Munin system solves the first problem as described below. With respect to the update of the shared data memory, a section specifying means for ensuring consistency is provided in the program, and only the change at the end of the section is transferred. By doing so, even if the write operation for the shared data is performed a plurality of times in the consistency guarantee section, the data transfer to another computer occurs only once after the end of the consistency guarantee section. However, since the synchronization means is provided separately from the consistency assurance means, in the loosely coupled computer system that realizes synchronization by exchanging packets, the second problem is that the packet amount increases and the network is burdened. is there.

【0009】本発明の目的は、物理的に分散配置された
疎結合計算機のメモリ上のデータを別計算機上で実行中
の複数のプログラムで共有するための分散共有メモリ方
式において、ネットワーク資源を有効利用するために一
貫性保証制御と同期制御を少ないネットワークパケット
数で実現し、その結果、分散共有メモリへのアクセス性
能を向上させることにある。
An object of the present invention is to effectively use network resources in a distributed shared memory system for sharing data on the memory of a physically distributed loosely coupled computer with a plurality of programs running on another computer. In order to use it, the consistency guarantee control and the synchronization control are realized with a small number of network packets, and as a result, the access performance to the distributed shared memory is improved.

【0010】[0010]

【課題を解決するための手段】本発明では、まず、第1
の課題を解決するために、各計算機内のメモリ上に複数
計算機間で共有するデータの一貫性保証を、任意区間で
指定するための一貫性保証手段を設ける。この手段を設
けることによって、一貫性保証する任意区間で複数の書
き込み操作があった場合にも、一度の転送だけで一貫性
を保証することができる。
In the present invention, firstly, the first
In order to solve the above problem, a consistency guarantee means for designating the consistency guarantee of data shared by a plurality of computers in an arbitrary section is provided on the memory in each computer. By providing this means, even if there are a plurality of write operations in an arbitrary section for which consistency is to be guaranteed, it is possible to ensure consistency with only one transfer.

【0011】次に、第2の課題を解決するために、一貫
性保証区間内で他の計算機から同じ共有データの内容に
対して、一貫性保証の要求を含む共有データに対する要
求を受けた時にその要求を蓄える手段を持たせる。この
手段を持たせることにより、疎結合計算機システム上の
分散共有メモリにおいて、パケットの量を増やすことな
く、同期処理を含む共有データの一貫性を保証すること
が可能となる。
Next, in order to solve the second problem, when a request for shared data including a request for consistency guarantee is received from another computer within the consistency guarantee section, the contents of the same shared data are received. Have a means to store the demand. By providing this means, in the distributed shared memory on the loosely coupled computer system, it is possible to guarantee the consistency of shared data including synchronous processing without increasing the amount of packets.

【0012】また、一貫性保証区間内で他の計算機から
同じ共有データの内容に対する、一貫性保証の要求を含
む共有データに対する要求を蓄える手段に対応して、一
貫性保証要求の待ち数を制御するカウンタと、共有デー
タに対する要求の優先度を蓄える手段を設ける。更に、
一貫性保証手段には、共有データを各計算機に共通な識
別子と長さで指定する共有データ指定手段と、共有デー
タの一貫性保証をプログラム中の任意区間で指定するた
めの一貫性保証指定手段と、その一貫性保証の指定を解
除する一貫性保証解除手段を設ける。これらの手段を用
いることによって、共有データの一貫性が保証されるま
で指定した任意区間の先頭でより細かい同期処理を行う
ことが可能となる。
Further, the number of waits for the consistency guarantee request is controlled corresponding to the means for accumulating a request for the shared data including the consistency guarantee request from the other computer in the consistency guarantee section. And a means for storing the priority of requests for shared data. Furthermore,
The consistency guarantee means is a shared data specification means for specifying shared data with an identifier and a length common to each computer, and a consistency guarantee specification means for specifying the shared data consistency guarantee in an arbitrary section in the program. And, the means for canceling the consistency guarantee is provided to cancel the specification of the consistency guarantee. By using these means, it is possible to perform finer synchronization processing at the beginning of the specified arbitrary section until the consistency of the shared data is guaranteed.

【0013】さらに、上述の一貫性保証指定手段を2つ
に分離し、一貫性保証制御を予約する手段と、その予約
が受理されるのを待つ手段を設ける。こうすることによ
り、一貫性保証制御を指定する間にプログラムを中断さ
せないで、別の計算を多重に実行することも可能とな
る。
Further, the above-mentioned consistency guarantee designating means is separated into two, and means for reserving the consistency guarantee control and means for waiting for the reservation to be accepted are provided. By doing so, it is possible to execute another calculation multiple times without interrupting the program while designating the consistency guarantee control.

【0014】[0014]

【作用】本発明によれば、共有データの一貫性保証のた
めの同期と並列プログラムを制御するための同期のため
に必要なネットワークパケットを少なくすることができ
るので、ネットワーク資源を有効に活用することができ
る。また、並列プログラムを制御するための同期をする
と同時に共有データの一貫性保証も行うことができるの
で、並列プログラムを記述するプログラマの負担を軽減
することができる。
According to the present invention, it is possible to reduce network packets required for synchronization for guaranteeing consistency of shared data and synchronization for controlling parallel programs, so network resources are effectively utilized. be able to. Further, since the synchronization for controlling the parallel program can be performed and the consistency of the shared data can be guaranteed at the same time, the burden on the programmer who writes the parallel program can be reduced.

【0015】[0015]

【実施例】図1は、本発明に於ける疎結合計算機システ
ム100の一実施例である。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 shows an embodiment of a loosely coupled computer system 100 according to the present invention.

【0016】本図に於いて、疎結合計算機100は、複数
の計算機101をネットワーク102で接続して構成される。
計算機101に於いて、103は計算機を構成する各ブロック
間のデータ転送路であるシステム・バス、104はプログラ
ムを実行するプロセッサ、103はプログラムやデータを
格納する磁気ディスク等の補助記憶装置、106はプログ
ラム実行中に該プログラムやデータを格納するためのメ
インメモリ、107はネットワーク102との入出力を制御す
るためのネットワークインタフェースである。本発明に
よる分散メモリ方式は、例えば計算機101(1)上のプログ
ラムと計算機101(2)上のプログラムが並列実行する時
に、データを共有する際に適用される。
In this figure, a loosely coupled computer 100 is composed of a plurality of computers 101 connected by a network 102.
In the computer 101, 103 is a system bus, which is a data transfer path between blocks constituting the computer, 104 is a processor that executes programs, 103 is an auxiliary storage device such as a magnetic disk that stores programs and data, and 106 Is a main memory for storing the program and data during execution of the program, and 107 is a network interface for controlling input / output with the network 102. The distributed memory system according to the present invention is applied when data is shared, for example, when a program on the computer 101 (1) and a program on the computer 101 (2) execute in parallel.

【0017】図2は、本発明に於けるメインメモリ106の
一実施例を示すブロック図である。
FIG. 2 is a block diagram showing an embodiment of the main memory 106 according to the present invention.

【0018】メインメモリ106は、共有データ一貫性保
証制御指定命令列メモリ201、作業用メモリ202、共有デ
ータメモリ203、共有データ一貫性保証制御命令列メモ
リ204、共有データ待ちカウンタ付き優先度キュー205、
共有データ管理テーブル206から構成される。
The main memory 106 is a shared data consistency guarantee control designation instruction string memory 201, a work memory 202, a shared data memory 203, a shared data consistency guarantee control instruction string memory 204, a shared data wait counter-equipped priority queue 205. ,
It comprises a shared data management table 206.

【0019】共有データ一貫性保証制御指定命令列メモ
リ201、及び共有データ一貫性保証制御命令列メモリ204
に格納されたデータはシステムバス103を介してプロセ
ッサ104に対する命令として読み込まれ、作業用メモリ2
02、共有データメモリ203、共有データ待ちカウンタ付
き優先度キュー205、共有データ管理テーブル206のデー
タに対する読み込み、書き込み動作、あるいはネットワ
ークインタフェース107に対する制御コマンド、及びデ
ータ転送を行う。共有データ一貫性保証制御指定命令列
メモリ201にの中に格納される命令として共有データメ
モリ203に対する一貫性保証を指定する命令と一貫性保
証を解除する命令がある。プロセッサ104はこれらの一
貫性保証指定命令および一貫性保証解除命令をシステム
バス103を介して読み込み、システムバス103を介してネ
ットワークインタフェース107に対する制御コマンド、
及びデータを転送する。
Shared data consistency guarantee control instruction sequence memory 201 and shared data consistency guarantee control instruction sequence memory 204
The data stored in is read as an instruction to the processor 104 via the system bus 103, and the working memory 2
02, shared data memory 203, priority queue 205 with shared data waiting counter, read / write operation for data in shared data management table 206, or control command for network interface 107, and data transfer. As the instructions stored in the shared data consistency guarantee control instruction instruction memory 201, there are an instruction to specify the consistency guarantee for the shared data memory 203 and an instruction to cancel the consistency guarantee. The processor 104 reads these consistency guarantee designation instruction and consistency guarantee release instruction via the system bus 103, and controls commands to the network interface 107 via the system bus 103.
And transfer data.

【0020】共有データ一貫性保証制御命令列メモリ20
4の命令は共有データ管理テーブル205及び共有データ待
ちカウンタ付き優先度キュー206を用い、共有データメ
モリ203のデータ内容を他の計算機101にある共有データ
メモリ203の内容と一致するように動作する。共有デー
タ一貫性保証制御指定命令列メモリ201に格納された一
貫性保証制御命令をプロセッサ104が読み込むと、プロ
セッサ104は共有データ一貫性保証制命令列メモリ204中
の命令を呼び出す。
Shared data consistency guarantee control instruction string memory 20
The command of 4 uses the shared data management table 205 and the priority queue 206 with a shared data waiting counter, and operates so that the data content of the shared data memory 203 matches the content of the shared data memory 203 in another computer 101. When the processor 104 reads the consistency guarantee control instruction stored in the shared data consistency guarantee control instruction sequence memory 201, the processor 104 calls the instruction in the shared data consistency guarantee control instruction sequence memory 204.

【0021】次に共有データ一貫性保証制御命令列メモ
リ204中の命令は、プロセッサ104に読み込まれ、共有デ
ータ管理テーブル205と共有データ待ちカウンタ付き優
先度キュー206を参照して、必要な情報をネットワーク
インタフェース107、ネットワーク102を介して他の計算
機101に転送する。
Next, the instructions in the shared data consistency guarantee control instruction sequence memory 204 are read by the processor 104, and by referring to the shared data management table 205 and the shared data waiting counter-attached priority queue 206, necessary information is obtained. The data is transferred to another computer 101 via the network interface 107 and the network 102.

【0022】他の計算機101からネットワーク103を介し
てネットワークインタフェース107にパケットが転送さ
れると、プロセッサ104が割り込みを発生して、他の計
算機からパケットが到達したことを検出する。なお、ネ
ットワークパケットが他の計算機101から送られてきた
のを検出する方法としては、定期的にプロセッサ104が
ネットワークインタフェース107を監視することでも実
現可能である。
When a packet is transferred from another computer 101 to the network interface 107 via the network 103, the processor 104 generates an interrupt and detects that the packet has arrived from another computer. Note that the method of detecting that the network packet has been sent from another computer 101 can also be implemented by the processor 104 periodically monitoring the network interface 107.

【0023】他の計算機共101からネットワークパケッ
トが転送されたことをプロセッサ104が検出すると、共
有データ一貫性保証制御命令列メモリ204中の命令を実
行する。共有データ一貫性保証制御命令列メモリ204中
の命令は共有データ管理テーブル205、共有データ待ち
カウンタ付き優先度キュー206を参照し、必要であれ
ば、システムバス103を介して共有データメモリ203に格
納された共有データの更新を行う。共有データ管理テー
ブル205は自計算機101の共有データメモリ203に格納し
てあるデータの一貫性を保持するために用いる。共有デ
ータ待ちカウンタ付き優先度キュー206は、他の計算機1
01からの共有データに対する要求を保持しておくバッフ
ァである。
When the processor 104 detects that a network packet has been transferred from another computer 101, it executes the instruction in the shared data consistency guarantee control instruction sequence memory 204. The instruction in the shared data consistency guarantee control instruction string memory 204 refers to the shared data management table 205 and the priority queue 206 with the shared data waiting counter, and stores it in the shared data memory 203 via the system bus 103 if necessary. Update the shared data. The shared data management table 205 is used to maintain the consistency of the data stored in the shared data memory 203 of the own computer 101. Priority queue 206 with shared data waiting counter is another computer 1
This is a buffer that holds requests for shared data from 01.

【0024】図3は本発明におけるメインメモリ106に格
納する共有データ一貫性保証制御指定命令列メモリ20
1、作業用メモリ202、共有データメモリ203の一実施例
をより詳細に説明する図である。
FIG. 3 shows a shared data consistency guarantee control designation instruction sequence memory 20 stored in the main memory 106 according to the present invention.
FIG. 1 is a diagram for explaining one embodiment of a work memory 202 and a shared data memory 203 in more detail.

【0025】命令列301は、共有データ一貫性保証制御
指定命令列メモリ201に格納されている一貫性保証制御
命令を含む命令列を、計算機のアプリケーションから起
動するように、言語Cで記述した一実施例である。命令
列301は、共有データの生成を行なう命令302、一貫性保
証を指定する命令303、共有データに対して更新を行う
命令304、一貫性保証を解除する命令305から構成されて
いる。プログラマは、並列プログラムを記述する際に、
各計算機のアプリケーションの優先度等を考慮して、共
有データの生成および更新、一貫性保証およびその解除
などを指定する。
The instruction string 301 is a one written in the language C so that the instruction string including the consistency guarantee control instruction stored in the shared data consistency guarantee control instruction instruction memory 201 is activated by the computer application. This is an example. The instruction sequence 301 is composed of an instruction 302 for generating shared data, an instruction 303 for specifying consistency guarantee, an instruction 304 for updating shared data, and an instruction 305 for canceling consistency guarantee. When writing a parallel program, the programmer
The generation and update of shared data, the consistency guarantee and its cancellation are specified in consideration of the application priority of each computer.

【0026】命令302は任意の共有データを示す番号
「2」と共有データのサイズを指定する部分から構成さ
れており、この例では整数型intの要素サイズで大きさ1
00の配列データを生成し、tableにその配列データの領
域へのポインタが格納される。この命令を実行すると各
計算機の共有データメモリ203の中にtableで差し示され
る共有データ320が生成される。共有データメモリ203内
の共有データは複数個存在する。
The instruction 302 is composed of a number "2" indicating arbitrary shared data and a portion for designating the size of the shared data. In this example, the element size is integer type int and size 1
00 array data is generated, and a pointer to the array data area is stored in table. When this instruction is executed, the shared data 320 indicated by the table is generated in the shared data memory 203 of each computer. There are a plurality of shared data in the shared data memory 203.

【0027】命令303は、共有データ生成命令302で生成
した共有データ320の一貫性保証を指定する一貫性保証
指定命令である。この命令303では、一貫性保証をする
共有データを指定するための共有データ番号、共有デー
タに対する要求の待ち数、共有データに対する要求の優
先度を指定する。
The instruction 303 is a consistency guarantee specification instruction for specifying the consistency guarantee of the shared data 320 generated by the shared data generation instruction 302. In this command 303, a shared data number for designating shared data for which consistency is to be guaranteed, the number of waiting requests for shared data, and a request priority for shared data are designated.

【0028】命令304は、命令303で一貫性保証指定を行
った共有データを更新する命令である。
The command 304 is a command for updating the shared data for which the consistency guarantee is designated in the command 303.

【0029】命令305は、共有データ320を示す番号
「2」の一貫性保証を解除する一貫性保証解除命令であ
る。
The command 305 is a consistency guarantee cancellation command for canceling the consistency guarantee of the number "2" indicating the shared data 320.

【0030】ここで、命令304では共有データ320に対し
て複数回の更新操作があることに注意されたい。命令30
4での共有データ320に対する複数の更新操作は、一貫性
保証解除命令305まで各計算機101の上の共有データ320
に対する変更が延期され、ネットワーク108を介して転
送されるデータ量を削減することができる。
It should be noted that in the instruction 304, the shared data 320 has a plurality of update operations. Command 30
For multiple update operations on the shared data 320 in 4, the shared data 320 on each computer 101 up to the consistency guarantee cancellation instruction 305.
The changes to the can be postponed to reduce the amount of data transferred over the network 108.

【0031】命令302、303、305は、ネットワークイン
タフェース107に対する制御コマンドを発行する。この
制御コマンドを受け取ったネットワークインタフェース
107内の共有データ一貫性保証部は、共有データ管理テ
ーブルへの登録、変更を行い、必要に応じてネットワー
クインタフェース107を介して他計算機内の共有データ3
20の一貫性を制御する。作業用メモリ202は、自計算機
内で一時的に用いる変数、たとえば、命令列301で用い
られている変数「i」310が格納される。
The commands 302, 303 and 305 issue control commands to the network interface 107. Network interface that received this control command
The shared data consistency assurance unit in 107 registers and changes the shared data in the shared data management table, and if necessary, the shared data in the other computer via the network interface 107.
Controlling consistency of 20. The work memory 202 stores variables temporarily used in the own computer, for example, the variable “i” 310 used in the instruction sequence 301.

【0032】図4は、共有データ管理テーブル205、共有
データ待ちカウンタ付き優先度キュー206の一実施例で
ある。
FIG. 4 shows an example of the shared data management table 205 and the priority queue 206 with the shared data waiting counter.

【0033】共有データ管理テーブル205は共有データ3
20ごとに共有データ番号401、共有データ開始アドレス4
02、共有データのサイズ403、オーナ計算機番号404、予
約済みフラグ405、使用中フラグ406、共有データ待ちキ
ュー番号408を持つ。共有データ待ちキュー番号408は、
複数個存在する共有データ待ちカウンタ付き優先度キュ
ー206の一つを差し示す。各共有データ待ちカウンタ付
き優先度キュー206は要求待ちカウンタ407と、要求待ち
計算機リスト410から構成される。要求待ち計算機リス
ト410は要求待ち計算機411、及び要求待ち優先度412の
組をエントリとして持つ優先度キューで構成される。共
有データ番号401は共有データメモリ203に複数存在する
共有データを識別するための番号で疎結合計算機システ
ム100の各計算機101で共通の番号である。共有データ開
始アドレス402と共有データサイズ403によって、共有デ
ータ320の領域の位置と大きさをを指定する。オーナ計
算機番号404は、共有データ番号401で示された共有デー
タの最新を持つ計算機を示す。オーナ計算機番号404と
自計算機番号404が等しいときには、その共有データの
オーナは自計算機がオーナとなっている。予約済みフラ
グ405は一貫性保証指定命令303がすでに実行されている
ことを示している。この予約済みフラグをチェックする
ことによって、同じ共有データに対して複数の一貫性保
証要求が出された場合にはエラーとする。使用中フラグ
406は、一貫性保証指定命令303でオーナ計算機となって
から、一貫性保証解除命令が発行されるまでの間に
「1」となるフラグである。共有データ待ちキュー番号
408は、共有データ待ちカウンタ付き優先度キュー206の
エントリを示し、オーナ計算機404が自計算機であると
きだけ有効である。
The shared data management table 205 is shared data 3
Shared data number 401 and shared data start address 4 for each 20
02, shared data size 403, owner computer number 404, reserved flag 405, busy flag 406, shared data waiting queue number 408. The shared data waiting queue number 408 is
One of a plurality of priority queues 206 with a shared data waiting counter is shown. Each priority queue 206 with a shared data waiting counter comprises a request waiting counter 407 and a request waiting computer list 410. The request waiting computer list 410 is composed of a request waiting computer 411 and a priority queue having a set of request waiting priority 412 as an entry. The shared data number 401 is a number for identifying a plurality of shared data existing in the shared data memory 203, and is a number common to each computer 101 of the loosely coupled computer system 100. The position and size of the area of the shared data 320 are designated by the shared data start address 402 and the shared data size 403. The owner computer number 404 indicates the computer having the latest shared data indicated by the shared data number 401. When the owner computer number 404 and the own computer number 404 are the same, the owner of the shared data is the own computer. The reserved flag 405 indicates that the consistency guarantee designation command 303 has already been executed. By checking this reserved flag, an error occurs if multiple consistency guarantee requests are issued for the same shared data. Flag in use
Reference numeral 406 is a flag that becomes “1” after the consistency guarantee designation command 303 becomes the owner computer and before the consistency guarantee cancellation command is issued. Shared data waiting queue number
Reference numeral 408 denotes an entry in the priority queue 206 with a shared data waiting counter, which is valid only when the owner computer 404 is its own computer.

【0034】共有データ待ちカウンタ付き優先度キュー
206は要求待ちカウンタ407と要求待ちリスト410から構
成される。要求待ちカウンタ407は、一貫性保証指定手
段303によって指定される要求待ち数との加算処理に
よって変更され、このカウンタを用いて、要求待ちリス
ト410の制御を行う。要求待ちリスト410は、要求待
ち計算機411と要求待ち優先度412の各エントリを保持し
ており、自計算機がオーナとなっている共有データに対
して、他計算機からの一貫性保証指定命令320による要
求を格納する優先度キューである。本実施例における要
求待ちリスト410の優先度は値が大きいほうが優先度が
高くなっている。なお共有データ待ちカウンタ付き優先
度キュー206を使用した実施例の詳細な説明は図11、図1
2を用いて後述する。
Priority queue with shared data wait counter
206 includes a request waiting counter 407 and a request waiting list 410. The request waiting counter 407 is changed by the addition processing with the request waiting number designated by the consistency guarantee designating unit 303, and the request waiting list 410 is controlled using this counter. The request waiting list 410 holds each entry of the request waiting computer 411 and the request waiting priority 412, and for the shared data which is the owner of the own computer, the consistency guarantee designation instruction 320 from another computer A priority queue that stores requests. As for the priority of the request waiting list 410 in this embodiment, the larger the value, the higher the priority. A detailed description of the embodiment using the priority queue 206 with the shared data waiting counter is shown in FIGS.
It will be described later using 2.

【0035】図5は、本発明に於けるネットワーク102を
介してネットワークインタフェース107で送受信される
ネットワークパケット501の一実施例である。
FIG. 5 shows an embodiment of the network packet 501 transmitted / received by the network interface 107 via the network 102 according to the present invention.

【0036】ネットワークパケット501はパケットヘッ
ダ502とデータ503から構成される。一貫性保証パケット
ヘッダ501は、送付先計算機504、送付元計算機505、共
有データ番号506、共有データ管理コマンド507、共有デ
ータ管理情報508から構成される。送付元計算機505から
共有データ番号506に対応する共有データ320の一貫性を
制御するために、送付先計算機504に対する共有データ
管理コマンド507、及び共有データ管理情報508を送信す
る。
The network packet 501 is composed of a packet header 502 and data 503. The consistency guarantee packet header 501 includes a destination computer 504, a source computer 505, a shared data number 506, a shared data management command 507, and shared data management information 508. In order to control the consistency of the shared data 320 corresponding to the shared data number 506 from the source computer 505, the shared data management command 507 and shared data management information 508 to the destination computer 504 are transmitted.

【0037】図6は、図5のパケットヘッダ502中の共有
データ管理コマンド507と共有データ管理情報508をより
詳細に説明する図である。
FIG. 6 is a diagram for explaining the shared data management command 507 and shared data management information 508 in the packet header 502 of FIG. 5 in more detail.

【0038】本実施例の共有データ管理コマンド507に
は、一貫性保証予約コマンド「ACQUIRE」601、共有デー
タ使用許可コマンド「ACQUIRE_ACK」602の2つがある。
各共有データ管理コマンド507に対応して、共有データ
管理情報508がその後ろに続く。
There are two shared data management commands 507 of this embodiment: a consistency guarantee reservation command “ACQUIRE” 601 and a shared data use permission command “ACQUIRE_ACK” 602.
Corresponding to each shared data management command 507, shared data management information 508 follows.

【0039】一貫性保証予約コマンド「ACQUIRE」601に
は待ちカウンタ設定数611と要求待ち優先度612、共有デ
ータ使用許可コマンド「ACQUIRE_ACK」602には変更オー
ナ計算機621と要求待ち計算機リスト622がそれぞれ対応
する。共有データ管理コマンド507が一貫性保証予約コ
マンド「ACQUIRE」601の時にはデータ503は空である。
The consistency guarantee reservation command “ACQUIRE” 601 corresponds to the waiting counter setting number 611 and the request waiting priority 612, and the shared data use permission command “ACQUIRE_ACK” 602 corresponds to the change owner computer 621 and the request waiting computer list 622. To do. When the shared data management command 507 is the consistency guarantee reservation command “ACQUIRE” 601, the data 503 is empty.

【0040】共有データ使用許可コマンド「ACQUIRE_AC
K」602では、オーナ計算機が保持している最新データが
データ503に詰め込まれる。
Shared data use permission command “ACQUIRE_AC
In the “K” 602, the latest data held by the owner computer is packed in the data 503.

【0041】以上の共有データ管理コマンドはすべて全
部の計算機に対してブロードキャストする。このブロー
ドキャストは、各計算機から送信したブロードキャスト
の到着順序がすべての計算機で同じになるものが前提で
ある。ブロードキャストをするためには、たとえば、パ
ケットヘッダの送付先計算機504の値を「−1」とし、
ネットワークインタフェース107では、送付先計算機
「−1」にパケットを送信する時にブロードキャストす
ることを予め決めておけば良い。
All the above shared data management commands are broadcast to all computers. This broadcast is premised on that all computers have the same arrival order of broadcasts transmitted from each computer. In order to broadcast, for example, the value of the destination computer 504 of the packet header is set to "-1",
In the network interface 107, it may be decided in advance to broadcast when transmitting a packet to the destination computer “−1”.

【0042】図7は、本発明の一実施例において、複数
の計算機101で一貫性保証制御命令が発行されたときの
動作を示すタイミングチャートである。
FIG. 7 is a timing chart showing the operation when a consistency guarantee control command is issued by a plurality of computers 101 in one embodiment of the present invention.

【0043】区間701、703、705では、それぞれ共有デ
ータ番号「2」の共有データを所有しているオーナ計算
機であることを示しており、区間702、704は一貫性保証
指定命令304(1)を発行したプログラムが中断している区
間を示す。計算機101(i)の共有データ一貫性保証制御命
令列メモリ204中の命令は、プロセッサ一貫性保証指定
命令304(1)が指定されると、一貫性保証予約コマンド
「ACQUIRE」601(1)を全計算機にブロードキャストす
る。その時点でオーナとなっている計算機101(j)はすで
に一貫性保証解除命令305を発行しているものとする。
計算機101(j)は一貫性保証予約コマンド「ACQUIRE」601
(1)を受け取ると、一貫性保証許可コマンド「ACQUIRE_A
CK」602(1)を全計算機にブロードキャストする。一貫性
保証許可コマンド「ACQUIRE_ACK」602(1)を受け取るま
で、計算機101(i)のプログラムは中断する。計算機101
(i)が一貫性保証許可コマンド「ACQUIRE_ACK」602(1)を
受けると、オーナ計算機が計算機101(j)から計算機101
(i)に変わる。計算機101(k)などの他の計算機が、一貫
性保証許可コマンド「ACQUIRE_ACK」602(1)を受け取る
とオーナ計算機が計算機101(j)から計算機101(i)に変更
したことを共有データ管理テーブルに反映させる。計算
機101(i)で一貫性保証解除命令305(2)が実行されないう
ちに、計算機101(k)から一貫性保証指定命令304(2)で発
生する一貫性保証予約コマンド「ACQUIRE」601(2)がオ
ーナ計算機である計算機101(i)に到達しても、一貫性保
証解除命令305(1)が実行するまで、一貫性保証許可コマ
ンド「ACQUIRE_ACK」602(2)は送信されない。計算機(k)
が一貫性保証許可コマンド「ACQUIRE_ACK」602(2)を待
つことにより、一貫性保証のための同期を実現すること
ができる。
Sections 701, 703, and 705 indicate that the owner computer owns the shared data with the shared data number “2”, and sections 702 and 704 indicate the consistency guarantee designation instruction 304 (1). Indicates the section in which the program that issued is suspended. The instruction in the shared data consistency guarantee control instruction string memory 204 of the computer 101 (i), when the processor consistency guarantee designation instruction 304 (1) is designated, executes the consistency guarantee reservation command “ACQUIRE” 601 (1). Broadcast to all computers. It is assumed that the computer 101 (j) that is the owner at that time has already issued the consistency guarantee cancellation instruction 305.
Computer 101 (j) is a consistency guarantee reservation command "ACQUIRE" 601
When (1) is received, the consistency guarantee permission command "ACQUIRE_A
Broadcast "CK" 602 (1) to all computers. The program of the computer 101 (i) is suspended until the consistency guarantee permission command “ACQUIRE_ACK” 602 (1) is received. Calculator 101
When (i) receives the consistency guarantee permission command “ACQUIRE_ACK” 602 (1), the owner computer changes from computer 101 (j) to computer 101 (j).
Change to (i). When another computer such as the computer 101 (k) receives the consistency guarantee permission command “ACQUIRE_ACK” 602 (1), the owner computer changes from the computer 101 (j) to the computer 101 (i) in the shared data management table. To reflect. The consistency guarantee reservation command "ACQUIRE" 601 (2) generated by the consistency guarantee specification command 304 (2) from the computer 101 (k) before the consistency guarantee cancellation command 305 (2) is executed on the computer 101 (i). ) Reaches the owner computer 101 (i), the consistency guarantee permission command “ACQUIRE_ACK” 602 (2) is not transmitted until the consistency guarantee cancellation instruction 305 (1) is executed. Calculator (k)
Waits for the consistency guarantee permission command “ACQUIRE_ACK” 602 (2), the synchronization for the consistency guarantee can be realized.

【0044】図8はネットワークインタフェース107から
ネットワークパケット501を受けとった時の共有データ
一貫性保証制御命令列メモリ204に格納されている命令
列を示すPAD図である。
FIG. 8 is a PAD diagram showing an instruction sequence stored in the shared data consistency guarantee control instruction sequence memory 204 when the network packet 501 is received from the network interface 107.

【0045】まず、ステップ801のパケットヘッダ解析
処理によって、ネットワークパケット501を各送付先計
算機504、送付元計算機505、共有データ番号506、共有
データ管理コマンド507、共有データ管理情報508、及び
データ503に分解する。次にステップ802では、共有デー
タ管理コマンド507の内容を調べ、一貫性保証許可コマ
ンド「ACQUIRE_ACK」か一貫性保証予約コマンド「ACQUI
RE」のどちらかであるかを検査する。もし、一貫性保証
許可コマンド「ACQUIRE_ACK」コマンドであれば、ステ
ップ803に進む。ステップ803では受信パケット中の変更
オーナ計算機621が自計算機かどうか検査し、もしそう
であれば、ステップ804に示すように使用中フラグ406を
「1」とし、オーナ計算機404を自計算機とする。も
し、受信パケット中の変更オーナ計算機621が自計算機
でなけれは゛、共有管理テーブル205中のオーナ計算機40
4を変更オーナ計算機621とする。
First, by the packet header analysis processing in step 801, the network packet 501 is converted into each destination computer 504, source computer 505, shared data number 506, shared data management command 507, shared data management information 508, and data 503. Disassemble. Next, in step 802, the contents of the shared data management command 507 are checked, and the consistency guarantee permission command “ACQUIRE_ACK” or the consistency guarantee reservation command “ACQUI
"RE". If it is the consistency assurance permission command “ACQUIRE_ACK” command, the process proceeds to step 803. In step 803, the changed owner computer 621 in the received packet checks whether it is the own computer, and if so, the busy flag 406 is set to "1" and the owner computer 404 is set as the own computer as shown in step 804. If the changed owner computer 621 in the received packet must be the own computer, the owner computer 40 in the shared management table 205
Change 4 to owner calculator 621.

【0046】ステップ802で共有データ管理コマンド507
が一貫性保証予約コマンド「ACQUIRE」601であれば、ス
テップ3に示すように、共有管理テーブル205のオーナ計
算機404と自計算機を調べ、オーナ計算機であれば、ス
テップ807の「ACQUIRE」受信処理を行う。
In step 802, the shared data management command 507
Is the consistency guarantee reservation command “ACQUIRE” 601, the owner computer 404 and the own computer of the shared management table 205 are checked as shown in step 3, and if it is the owner computer, the “ACQUIRE” reception processing of step 807 is executed. To do.

【0047】図9は、「ACQUIRE」受信処理804を詳細に
説明するPAD図である。まず、ステップ901では、受信パ
ケット中で指定された共有データ番号506で指定された
共有データ待ちカウンタ付き優先度キュー206中の要求
待ちカウンタ407の値と受信パケット中の待ちカウンタ
設定数902に加えた値を新しい要求待ちカウンタ407の値
とする。
FIG. 9 is a PAD diagram for explaining the "ACQUIRE" reception process 804 in detail. First, in step 901, in addition to the value of the request waiting counter 407 in the priority queue 206 with the shared data waiting counter specified by the shared data number 506 specified in the received packet and the waiting counter setting number 902 in the received packet, The new value is set as the new request waiting counter 407 value.

【0048】次に、ステップ902では、共有管理テーブ
ル205中の使用中フラグ406が「1」でかつ要求待ちカウ
ンタ407が「0」であるかどうか検査する。もし、使用
中フラグ406が「1」か要求待ちカウンタが「0」でな
ければ、ステップ903にあるように受信パケット中の要
求待ち優先度612に従い、共有データ管理テーブル205の
要求待ち優先度キュー206に加える。使用中フラグ406が
「1」かつ要求待ちカウンタ407が「0」であれば、ス
テップ904にあるように、共有データ待ちキュー番号408
から共有データ待ちカウンタ付き優先度キューを参照
し、もし、待ちがあればステップ905で受信パケット中
の要求待ち優先度612に従い、共有データ管理テーブル2
05の要求待ち優先度キュー206に加え、ステップ906で共
有データ待ちキュー番号の先頭を取り出し、次のオーナ
計算機とする。ステップ904において待ちがなければ、
受信パケットの送付元計算機505を次のオーナ計算機と
する。ステップ905とステップ906の処理によって、先に
到着した一貫性保証予約コマンド「ACQUIRE」を優先的
に受け付けることが可能となる。
Next, at step 902, it is checked whether the busy flag 406 in the shared management table 205 is "1" and the request waiting counter 407 is "0". If the busy flag 406 is not “1” or the request waiting counter is not “0”, the request waiting priority queue of the shared data management table 205 is according to the request waiting priority 612 in the received packet as in step 903. Add to 206. If the busy flag 406 is “1” and the request waiting counter 407 is “0”, the shared data waiting queue number 408 is set as in step 904.
From the priority queue with shared data wait counter, and if there is a wait, in step 905, according to the request wait priority 612 in the received packet, the shared data management table 2
In addition to the request waiting priority queue 206 of 05, the head of the shared data waiting queue number is taken out in step 906 to be the next owner computer. If you don't wait in step 904,
The sender computer 505 of the received packet is the next owner computer. By the processing of step 905 and step 906, it is possible to preferentially accept the consistency guarantee reservation command “ACQUIRE” that arrived first.

【0049】ステップ904で、もし、共有データ待ちキ
ュー番号に待ちがなければ、ステップ907に示すよう
に、受信パケットの送付元計算機を次のオーナ計算機と
する。ステップ904の共有データ待ちキュー番号のチェ
ックが終了すると、次のオーナ計算機が決まっており、
このオーナ計算機に対してステップ908の「ACQUIRE_AC
K」送信処理、ステップ909のCHANGE_OWNER送信処理を実
行する。
In step 904, if there is no waiting in the shared data waiting queue number, as shown in step 907, the sender computer of the received packet is the next owner computer. After checking the shared data waiting queue number in step 904, the next owner computer has been decided,
For this owner calculator, go to step 908, "ACQUIRE_AC
"K" transmission processing, CHANGE_OWNER transmission processing in step 909 is executed.

【0050】ステップ903において複数計算機からの要
求を優先度によって順序づけることが可能となる。も
し、順序づけせずに要求を出した順番に処理を行いたけ
れば、複数計算機からの優先度をすべて等しくしておけ
ば良い。
In step 903, it becomes possible to order requests from a plurality of computers by priority. If it is desired to perform processing in the order in which the requests are issued without ordering, all the priorities from the plurality of computers should be set equal.

【0051】図10は、ステップ908における「ACQUIRE_A
CK」送信処理の詳細を示したPAD図である。
FIG. 10 shows "ACQUIRE_A" in step 908.
FIG. 8 is a PAD diagram showing details of “CK” transmission processing.

【0052】「ACQUIRE_ACK」送信処理においては、ま
ず、ステップ1001で共有データ管理テーブル205のオー
ナ計算機の欄404を次のオーナ計算機として設定する。
次にステップ1002で、共有データ管理テーブル205のオ
ーナ計算機404をパケットヘッダの送付先計算機504、自
計算機をパケットヘッダの送付元計算機505、共有デー
タ番号401をパケットヘッダの共有データ番号506、「AC
QUIRE_ACK」コマンド602を共有データ管理コマンド50
7、共有データ番号506に対応する共有データ待ちカウン
タ付きキュー206の要求待ち計算機リスト206をパケット
ヘッダの要求待ち計算機リスト622にそれぞれコピーす
る。次にステップ1003でパケットのデータ部に共有デー
タ管理テーブル205の開始アドレス402からデータサイズ
分のデータをコピーする。最後にステップ1004ではネッ
トワークパケットをネットワークインタフェース107に
転送して、送付先計算機504に送ることを指示する。
In the "ACQUIRE_ACK" transmission process, first, in step 1001, the owner computer column 404 of the shared data management table 205 is set as the next owner computer.
Next, in step 1002, the owner computer 404 of the shared data management table 205 is the destination computer 504 of the packet header, the own computer is the source computer 505 of the packet header, the shared data number 401 is the shared data number 506 of the packet header, and “AC
QUIRE_ACK ”command 602 to share data management command 50
7. The request waiting computer list 206 of the queue 206 with shared data waiting counter corresponding to the shared data number 506 is copied to the request waiting computer list 622 of the packet header. Next, in step 1003, data of the data size is copied from the start address 402 of the shared data management table 205 to the data part of the packet. Finally, in step 1004, the network packet is transferred to the network interface 107 and is instructed to be sent to the destination computer 504.

【0053】ステップ909のCHANGE_OWNER送信処理は、
「ACQUIRE_ACK」送信処理におけるステップ1002の共有
データ待ちキュー番号206をパケットヘッダの共有デー
タ待ちキュー番号622にする作業を次のオーナ計算機を
変更オーナ計算機630にし、ステップ1003を省略する。
The CHANGE_OWNER transmission process at step 909
The task of setting the shared data waiting queue number 206 of step 1002 in the “ACQUIRE_ACK” transmission process to the shared data waiting queue number 622 of the packet header is changed to the next owner computer, the change owner computer 630, and step 1003 is omitted.

【0054】図11は、本発明の一実施例において、一貫
性保証指定命令302における要求待ち設定数を指定した
場合の動作を示すタイミングチャートである。
FIG. 11 is a timing chart showing the operation when the number of request wait settings in the consistency guarantee designation command 302 is designated in one embodiment of the present invention.

【0055】区間1101、1102、1105、1106では、それぞ
れ共有データ番号「2」の共有データを所有しているオ
ーナ計算機であることを示しており、区間1103、1105は
一貫性保証指定命令304を発行したプログラムが中断し
ている区間を示す。なお区間1101では、すでに一貫性解
除命令が発行された後であるとする。計算機101(i)にお
ける一貫性保証指定命令304(1)では共有データ番号
「2」に対して、要求待ち数「1」を加え、この要求が
優先度「0」となるように指定する。計算機101(i)では
一貫性保証予約コマンド「ACQUIRE」601(1)をブロード
キャストし、オーナ計算機である計算機101(j)に要求を
伝える。
Sections 1101, 1102, 1105, and 1106 indicate that the owner computer owns the shared data with the shared data number “2”, and sections 1103 and 1105 specify the consistency guarantee designation instruction 304. Indicates the section where the issued program is suspended. In the section 1101, it is assumed that the consistency cancellation command has already been issued. In the consistency guarantee designation command 304 (1) in the computer 101 (i), the request waiting number "1" is added to the shared data number "2", and the request is designated to have the priority "0". The computer 101 (i) broadcasts the consistency guarantee reservation command “ACQUIRE” 601 (1) and transmits the request to the computer 101 (j) which is the owner computer.

【0056】計算機101(j)の共有データ番号「2」に対
応する共有データ待ちカウンタ付きキュー206の要求待
ちカウンタ407は、この時0となっており、一貫性保証指
定命令304(1)で指定した要求待ち設定数「1」が加えら
れ、要求待ちカウンタ407の値は「1」となる。要求待
ちカウンタ407が「0」以外の時は、一貫性許可コマン
ド「ACQUIRE_ACK」が返されない。ここで、計算機101
(k)から次の一貫性保証指定命令304(2)により、一貫性
保証予約コマンド「ACQUIRE」601(2)がブロードキャス
トされる。このとき、要求待ち設定数は「−1」で、優
先度は「1」と指定される。ここで、計算機(j)の共有
データ番号「2」に対応する共有データ待ちカウンタ付
きキュー206の要求待ちカウンタ407の値に「−1」が加
えられ、要求待ちカウンタ407は「0」となる。また、
先の一貫性保証予約コマンド601(1)で要求待ち優先度キ
ュー206には計算機(i)からの優先度「0」の要求が格納
されており、優先度「1」の計算機101(k)からの要求と
比較して、優先度の高い計算機101(k)をオーナ計算機と
して一貫性保証許可コマンド「ACQUIRE_ACK」603(1)が
ブロードキャストされ、共有データ番号「2」のオーナ
計算機は計算機101(k)となる。計算機101(i)からの要求
は、オーナ計算機(k)に一貫性保証許可コマンド「ACQUI
RE_ACK」603(1)の共有データ管理情報として一緒に送信
される。計算機101(i)の要求は一貫性解除命令305(1)が
計算機101(k)で実行されるまで遅延される。
The request waiting counter 407 of the queue 206 with the shared data waiting counter corresponding to the shared data number "2" of the computer 101 (j) is 0 at this time, and the consistency guarantee designation instruction 304 (1) The designated request wait setting number “1” is added, and the value of the request wait counter 407 becomes “1”. When the request waiting counter 407 is other than "0", the consistency permission command "ACQUIRE_ACK" is not returned. Where computer 101
From (k), a consistency guarantee reservation command “ACQUIRE” 601 (2) is broadcast by the next consistency guarantee designation command 304 (2). At this time, the request waiting setting number is designated as "-1" and the priority is designated as "1". Here, "-1" is added to the value of the request waiting counter 407 of the queue 206 with the shared data waiting counter corresponding to the shared data number "2" of the computer (j), and the request waiting counter 407 becomes "0". . Also,
In the above-mentioned consistency guarantee reservation command 601 (1), the request waiting priority queue 206 stores the request of the priority “0” from the computer (i), and the computer 101 (k) of the priority “1”. The consistency guarantee permission command “ACQUIRE_ACK” 603 (1) is broadcast with the computer 101 (k) having a higher priority as the owner computer in comparison with the request from the computer 101 (k). k). The request from the computer 101 (i) is issued to the owner computer (k) with the consistency guarantee permission command "ACQUI
RE_ACK ”603 (1) is transmitted together as shared data management information. The request of the computer 101 (i) is delayed until the consistency release instruction 305 (1) is executed by the computer 101 (k).

【0057】このように、一貫性保証指定命令304にお
いて、要求待ち設定数と優先度を併せて指定することに
よって、一貫性保証のために必要な同期のみならず、並
列プログラムの全体を制御する同期も実現することが可
能となる。
In this way, in the consistency guarantee specification instruction 304, by simultaneously specifying the number of request waiting settings and the priority, not only the synchronization required for the consistency guarantee but also the entire parallel program is controlled. Synchronization can also be realized.

【0058】図12は、図11で示した一貫性保証指定命令
302で要求待ち設定数を指定した場合の計算機101(i)に
おける共有データ番号「2」に対応する共有データ待ち
カウンタ付きキュー206のの様子を示した図である。
FIG. 12 shows the consistency guarantee designation instruction shown in FIG.
FIG. 9 is a diagram showing a state of a queue 206 with a shared data waiting counter corresponding to a shared data number “2” in the computer 101 (i) when the request waiting set number is designated by 302.

【0059】1201、1202、1203は計算機101(j)における
ある時刻での共有データ待ちカウンタ付き優先度キュー
206の様子を示している。1201は図11における区間110
1、1202は図11における区間1102、1203は図11において
区間1202の直後に一貫性保証許可コマンド「ACQUIRE_AC
K」602(1)を送信する直前の様子を示している。ネット
ワークパケットの送信元計算機のフィールド504(1),504
(2)には、それぞれ計算機101(i),101(k) から発行され
たコマンドであることを意味する「i]、「k」を示して
いる。1201,1202,1203での要求待ちカウンタ407(1),407
(2),407(3)は一貫性保証予約コマンド601(1),601(2)の
待ちカウンタ設定数611(1),611(2)によって加算され
る。1203に見るように、後に到着した計算機101(k)から
の要求の優先度612(2)が先に到着していた計算機101(i)
の要求の優先度612(1)よりも高いため、要求待ちリスト
410(3)の先頭は入れ替わる。次に、要求待ちカウンタ40
7(3)を検査すると「0」となっているため、要求待ちリ
スト410(3)の先頭である計算機101(k)からの要求が先に
実行される。
Reference numerals 1201, 1202 and 1203 denote priority queues with a shared data waiting counter at a certain time in the computer 101 (j).
The state of 206 is shown. 1201 is the section 110 in FIG.
11, 1202 indicates the section 1102 and 1203 in FIG. 11 immediately after the section 1202 in FIG. 11, and the consistency guarantee permission command “ACQUIRE_AC
The state immediately before the transmission of "K" 602 (1) is shown. Network packet source computer fields 504 (1), 504
(2) shows "i" and "k", which means that the commands are issued from the computers 101 (i) and 101 (k), respectively. Request waiting counters at 1201, 1202, 1203 407 (1), 407
(2) and 407 (3) are added by the waiting counter setting numbers 611 (1) and 611 (2) of the consistency guarantee reservation commands 601 (1) and 601 (2). As can be seen in 1203, the priority 612 (2) of the request from the computer 101 (k) that arrived later was the computer 101 (i) that arrived earlier.
Request priority list is higher than 612 (1)
The beginning of 410 (3) is replaced. Next, the request waiting counter 40
Since 7 (3) is inspected to be "0", the request from the computer 101 (k) at the head of the request waiting list 410 (3) is executed first.

【0060】図13は、一貫性保証指定命令304を一貫性
保証予約命令1301と一貫性保証許可待ち命令1302に分離
する実施例の動作を示す図である。
FIG. 13 is a diagram showing the operation of the embodiment in which the consistency guarantee designation instruction 304 is separated into the consistency guarantee reservation instruction 1301 and the consistency guarantee permission wait instruction 1302.

【0061】計算機101(i)がオブジェクト番号「2」の
共有データを所有するオーナ計算機であるとき、計算機
101(k)において、一貫性保証予約命令1301を実行する
と、一貫性保証予約コマンド「ACQUIRE」602が計算機
(i)に送信される。一貫性保証指定命令304を実行したと
きには、計算機(i)から一貫性保証許可コマンド602を受
け取るまで計算機(k)の上のプログラムは待たされる。
しかし、一貫性保証指定命令304を一貫性保証予約命令1
301と一貫性保証許可待ち命令1302に分割することによ
って、一貫性保証予約命令と1301と一貫性保証許可待ち
命令1302の間に共有データをアクセスしない計算を別に
行うことができる。これらの命令1301、1302は共有デー
タ管理テーブル205、共有データ待ちカウンタ付き優先
度キュー206の構成、及び共有データ一貫性保証制御
命令メモリ204を変更することなく実現することがで
きる。
When the computer 101 (i) is the owner computer which owns the shared data of the object number “2”,
When the consistency guarantee reservation command 1301 is executed in 101 (k), the consistency guarantee reservation command "ACQUIRE" 602 is displayed on the computer.
sent to (i). When the consistency guarantee designation command 304 is executed, the program on the computer (k) is kept waiting until the consistency guarantee permission command 602 is received from the computer (i).
However, the consistency guarantee specification instruction 304 is replaced with the consistency guarantee reservation instruction 1
By dividing into 301 and the consistency guarantee permission wait instruction 1302, it is possible to separately perform a calculation that does not access shared data between the consistency guarantee reservation instruction and the 1301 and consistency guarantee permission wait instruction 1302. These instructions 1301 and 1302 can be realized without changing the shared data management table 205, the configuration of the shared data waiting counter-attached priority queue 206, and the shared data consistency guarantee control instruction memory 204.

【0062】[0062]

【発明の効果】本発明によれば、複数の計算機をネット
ワークで結合し、各計算機は独立したアドレス空間を持
ち、各計算機内のメモリ上に複数計算機間でデータを共
有するための共有データメモリを持つ疎結合計算機シス
テムに於いて、共有データの一貫性保証のための同期と
並列プログラムを制御するための同期のために必要なネ
ットワークパケットを少なくすることができるので、ネ
ットワーク資源を有効に活用することができる。また、
並列プログラムを制御するための同期をするとともに共
有データの一貫性保証も行うことができるので、並列プ
ログラムを記述するプログラマの負担を軽減することが
できる。その結果、特に、通信時間に比して計算時間が
長く、自動的に負荷の分散が困難であるような並列処理
の問題を効率良く処理することが可能となる。
According to the present invention, a plurality of computers are connected by a network, each computer has an independent address space, and a shared data memory for sharing data among a plurality of computers on a memory in each computer. In a loosely-coupled computer system with, it is possible to reduce the number of network packets required for synchronization to guarantee consistency of shared data and synchronization for controlling parallel programs, so network resources can be effectively utilized. can do. Also,
Since the synchronization for controlling the parallel program can be performed and the consistency of the shared data can be guaranteed, the burden on the programmer who writes the parallel program can be reduced. As a result, in particular, it becomes possible to efficiently deal with the problem of parallel processing in which the calculation time is longer than the communication time and it is difficult to automatically distribute the load.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の一実施例を示す疎結合計算機システム
のブロック図である。
FIG. 1 is a block diagram of a loosely coupled computer system showing an embodiment of the present invention.

【図2】本発明の一実施例を示すメインメモリとネット
ワークインタフェースのブロック図である。
FIG. 2 is a block diagram of a main memory and a network interface showing an embodiment of the present invention.

【図3】本発明に於けるメインメモリの構造の一実施例
を示す図である。
FIG. 3 is a diagram showing an embodiment of a structure of a main memory according to the present invention.

【図4】本発明に於ける共有データ管理テーブルの構造
の一実施例を示す図である。
FIG. 4 is a diagram showing an example of a structure of a shared data management table according to the present invention.

【図5】本発明に於ける通信パケット構造の一実施例を
示す図である。
FIG. 5 is a diagram showing an embodiment of a communication packet structure according to the present invention.

【図6】本発明に於ける通信パケット構造の一実施例を
示す図である。
FIG. 6 is a diagram showing an embodiment of a communication packet structure according to the present invention.

【図7】本発明に於ける共有データ一貫性保証制御命令
列メモリの処理の一実施例を示すタイミングチャートで
ある。
FIG. 7 is a timing chart showing an embodiment of the processing of the shared data consistency guarantee control instruction string memory in the present invention.

【図8】本発明に於ける共有データ一貫性保証制御命令
列メモリの処理の一実施例を示すPAD図である。
FIG. 8 is a PAD diagram showing an example of processing of a shared data consistency guarantee control instruction sequence memory in the present invention.

【図9】本発明に於ける共有データ一貫性保証制御命令
列メモリの処理の一実施例を示すPAD図である。
FIG. 9 is a PAD diagram showing an example of processing of a shared data consistency guarantee control instruction string memory in the present invention.

【図10】本発明に於ける共有データ一貫性保証制御命
令列メモリの処理の一実施例を示すPAD図である。
FIG. 10 is a PAD diagram showing an embodiment of processing of a shared data consistency guarantee control instruction sequence memory in the present invention.

【図11】本発明に於ける共有データ一貫性保証制御命
令列メモリの処理の一実施例を示すタイミングチャート
である。
FIG. 11 is a timing chart showing an example of processing of a shared data consistency guarantee control instruction string memory according to the present invention.

【図12】本発明に於ける共有データ管理テーブルと要
求待ちカウンタの一実施例を示す図である。
FIG. 12 is a diagram showing an embodiment of a shared data management table and a request waiting counter in the present invention.

【図13】本発明に於ける共有データ一貫性保証制御命
令列メモリの処理の一実施例を示すタイミングチャート
である。
FIG. 13 is a timing chart showing an embodiment of processing of a shared data consistency guarantee control instruction string memory in the present invention.

【符号の説明】[Explanation of symbols]

100:疎結合計算機システム、101:計算機、102:ネッ
トワーク、103:システムバス、104:プロセッサ、10
5:補助記憶装置、106:メインメモリ、107:ネットワ
ーク・アダプタ、108:外部ネットワーク、201:共有デ
ータ一貫性保証制御指定命令列メモリ、202:作業用メ
モリ、203:共有データメモリ、204:共有データ一貫性
保証制御命令列メモリ、205:共有データ管理テーブ
ル、206:共有データ待ちカウンタ付き優先度キュー、3
01:共有データ一貫性保証制御命令コマンドを含む命令
列、302:共有データ生成命令、303:共有データ一貫性
保証指定命令、304:共有データを更新する命令列、30
5:共有データ一貫性保証解除命令、310:作業用メモリ
内ののデータ、320:共有データ両域内の共有データ、4
01〜406,408:共有データ管理テーブルのエントリ、40
7:要求待ちカウンタ、410:要求待ち計算機リスト、41
1〜412:要求待ち計算機リストのエントリ、501:ネッ
トワークパケット、502:パケットヘッダ、503:ネット
ワークパケット内のデータ、504〜508:パケットヘッダ
のエントリ、601:一貫性保証予約コマンド、602:一貫
性保証許可コマンド、611〜612:一貫性保証予約コマン
ドのエントリ、621〜622:一貫性保証許可コマンドのエ
ントリ、701,703,705:共有データ番号「2」の共有デ
ータのオーナとなっている区間、702,704:一貫性保証
の許可を待つ区間、801〜807、901〜908:ネットワーク
パケットを受信したときの処理ステップ、901〜908:一
貫性保証許可コマンドを発行するための処理ステップ、
1101,1102,1105,1106:共有データ番号「2」の共有デ
ータのオーナ区間、1103,1104:一貫性保証の許可を待
つ区間、1201〜1203:共有データ待ちカウンタと共有デ
ータ待ちカウンタ付き優先度キュー、1301:一貫性保証
予約命令、1302:一貫性保証許可待ち命令。
100: loosely coupled computer system, 101: computer, 102: network, 103: system bus, 104: processor, 10
5: Auxiliary storage device, 106: Main memory, 107: Network adapter, 108: External network, 201: Shared data consistency guarantee control instruction command memory, 202: Working memory, 203: Shared data memory, 204: Shared Data consistency guarantee control instruction memory, 205: Shared data management table, 206: Priority queue with shared data wait counter, 3
01: Shared data consistency guarantee control command command sequence including commands, 302: Shared data generation command, 303: Shared data consistency guarantee designation command, 304: Command sequence for updating shared data, 30
5: Shared data consistency guarantee cancellation command, 310: Data in working memory, 320: Shared data in both shared data areas, 4
01 to 406,408: Shared data management table entry, 40
7: Request waiting counter, 410: Request waiting computer list, 41
1 to 412: Request waiting computer list entry, 501: Network packet, 502: Packet header, 503: Data in network packet, 504 to 508: Packet header entry, 601: Consistency guarantee reservation command, 602: Consistency Guarantee permission command, 611 to 612: Consistency guarantee reservation command entry, 621 to 622: Consistency guarantee permission command entry, 701,703,705: Section that is the owner of the shared data of shared data number "2", 702,704: Consistent 801 to 807, 901 to 908: processing steps when a network packet is received, 901 to 908: processing steps for issuing a consistency guarantee permission command,
1101,1102,1105,1106: Owner section of shared data of shared data number "2", 1103,1104: Section waiting for permission of consistency guarantee, 1201 to 1203: Shared data wait counter and priority with shared data wait counter Queue, 1301: Consistency guarantee reservation command, 1302: Consistency guarantee permission wait command.

フロントページの続き (72)発明者 吉沢 聡 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 村山 秀樹 東京都国分寺市東恋ケ窪1丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 山田 公稔 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 堀本 徹 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内Front page continuation (72) Inventor Satoshi Yoshizawa 1-280 Higashi Koikekubo, Kokubunji, Tokyo Inside Hitachi Central Research Laboratory (72) Inventor Hideki Murayama 1-280 Higashi Koikeku, Kokubunji City, Tokyo Inside Hitachi Central Research Center (72) Inventor Kominori Yamada 5030 Totsuka-cho, Totsuka-ku, Yokohama, Kanagawa Prefecture Software Development Division, Hitachi Ltd. (72) Toru Horimoto 5030 Totsuka-cho, Totsuka-ku, Yokohama, Kanagawa Hitachi Software Co., Ltd. Within the development headquarters

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】複数の計算機をネットワークで疎結合し、
各計算機は独立したアドレス空間を持ち、各計算機内メ
モリ上に分散したデータを共有する疎結合計算機システ
ムにおける分散共有メモリ方式において、 各計算機のメモリ上に分散した共有データの任意区間で
の一貫性保証の要求を含む、上記共有データに対する要
求を受け付ける一貫性保証手段と、 他の計算機からの上記共有データに対する要求を蓄える
手段を、 上記複数の計算機の少なくとも1つに備えたことを特徴
とする疎結合計算機システムにおける分散共有メモリ方
式。
1. A plurality of computers are loosely coupled in a network,
In a distributed shared memory system in a loosely coupled computer system in which each computer has an independent address space and shares data distributed in each computer's memory, consistency of shared data distributed in each computer's memory in an arbitrary section At least one of the plurality of computers is provided with a consistency guarantee means for receiving a request for the shared data including a request for guarantee and a means for accumulating a request for the shared data from another computer. Distributed shared memory method for loosely coupled computer systems.
【請求項2】請求項1記載において、上記他の計算機か
らの上記共有データに対する要求を蓄える手段は、上記
共有データの一貫性保証の要求の待ち数をカウントする
カウンタ手段と、上記共有データに対する要求の優先度
を蓄える手段を備えたことを特徴とする疎結合計算機シ
ステムにおける分散共有メモリ方式。
2. The means for accumulating a request for the shared data from the other computer according to claim 1, and a counter means for counting the number of waits for the request for the consistency guarantee of the shared data, and the shared data. A distributed shared memory system in a loosely coupled computer system characterized by having a means for storing the priority of requests.
【請求項3】請求項1記載において、上記一貫性保証手
段は、上記共有データを各計算機に共通な識別子と長さ
で指定する共有データ指定手段と、上記共有データの一
貫性保証をプログラム中の任意区間で指定するための一
貫性保証指定手段と、その一貫性保証の指定を解除する
一貫性保証解除手段を備え、上記共有データの一貫性が
保証されるまで指定した任意区間の先頭で同期をとるこ
とを特徴とする疎結合計算機システムにおける分散共有
メモリ方式。
3. The consistency guarantee means according to claim 1, wherein the shared data designating means for designating the shared data with an identifier and a length common to each computer, and the consistency guarantee of the shared data are programmed. The consistency guarantee specification means for specifying in the arbitrary section of and the consistency guarantee cancellation means for canceling the specification of the consistency guarantee are provided, and at the beginning of the specified section until the consistency of the shared data is guaranteed. A distributed shared memory method for loosely coupled computer systems characterized by synchronization.
【請求項4】請求項2記載において、上記カウンタ手段
の値がある特定の値以外の時は、上記共有データの一貫
性保証の要求を、上記他の計算機からの上記共有データ
に対する要求を蓄える手段に保持することを特徴とする
疎結合計算機システムにおける分散共有メモリ方式。
4. The method according to claim 2, wherein when the value of the counter means is other than a specific value, a request for guaranteeing consistency of the shared data and a request for the shared data from the other computer are stored. A distributed shared memory system in a loosely coupled computer system characterized by being stored in a means.
【請求項5】請求項2記載において、上記他の計算機か
らの上記共有データに対する要求を蓄える手段は、優先
度によって、上記共有データの一貫性保証の要求を保持
する順番を変えることを特徴とする疎結合計算機システ
ムにおける分散共有メモリ方式。
5. The means for accumulating a request for the shared data from the other computer according to claim 2, wherein the order of holding the request for guaranteeing consistency of the shared data is changed according to the priority. Distributed Shared Memory System for Loosely Coupled Computer Systems.
【請求項6】請求項3記載において、上記一貫性保証指
定手段は、上記他の計算機からの上記共有データに対す
る要求を蓄える手段に備えた上記共有データの一貫性保
証の要求の待ち数をカウントするカウンタ手段に対し
て、加算するための値を設定する手段を備えたことを特
徴とする疎結合計算機システムにおける分散共有メモリ
方式。
6. The method according to claim 3, wherein the consistency guarantee designation means counts the number of waiting requests for the consistency guarantee of the shared data provided in the means for storing the request for the shared data from the other computer. A distributed shared memory system in a loosely coupled computer system, characterized in that it comprises means for setting a value to be added to the counter means for performing the addition.
【請求項7】請求項3記載において、上記一貫性保証指
定手段は、一貫性保証の要求の優先度を指定する手段を
備えたことを特徴とする疎結合計算機システムにおける
分散共有メモリ方式。
7. A distributed shared memory system in a loosely coupled computer system according to claim 3, wherein said consistency guarantee designating means comprises means for designating a priority of a request for consistency guarantee.
【請求項8】請求項3記載において、上記一貫性保証指
定手段は、一貫性保証の指定を予約する手段と、その予
約が受理されるのを待つ手段を備えたことを特徴とする
疎結合計算機システムにおける分散共有メモリ方式。
8. The loose coupling according to claim 3, wherein the consistency guarantee designating means comprises means for reserving the designation of the consistency guarantee and means for waiting for the reservation to be accepted. Distributed shared memory method for computer systems.
【請求項9】複数の計算機をネットワークで疎結合し、
各計算機は独立したアドレス空間を持ち、各計算機内メ
モリ上に分散したデータを共有する疎結合計算機システ
ムにおける分散共有メモリ方式において、 各計算機のメモリ上に分散した共有データを各計算機に
共通な識別子と長さで指定する共有データ指定手段と、
上記共有データの一貫性保証をプログラム中の任意区間
で指定するための一貫性保証指定手段と、その一貫性保
証の指定を解除する一貫性保証解除手段とを備え、上記
共有データに対する要求を受け付ける一貫性保証手段
と、 他の計算機からの上記共有データの一貫性保証の要求の
待ち数をカウントするカウンタ手段と、上記共有データ
に対する要求の優先度を蓄える手段を備え、他の計算機
からの上記共有データに対する要求を蓄えるカウンタ付
き優先度キューと、 共有データごとに、少なくとも識別子、開始アドレス、
および共有データの長さの情報を有し、上記カウンタ付
き優先度キューとの対応付けのための情報を記憶する共
有データ管理テーブルとを備え、 上記一貫性保証手段にて受け付けた要求に対し、上記カ
ウンタ付き優先度キューおよび上記共有データ管理テー
ブルを用いて、自計算機内のメモリにおける上記共有デ
ータのアクセス、または他の計算機のメモリにおける上
記共有データの送受信を制御することを特徴とする疎結
合計算機システムにおける分散共有メモリ方式。
9. A plurality of computers are loosely coupled in a network,
In a distributed shared memory system in a loosely coupled computer system in which each computer has an independent address space and shares data distributed in each computer's memory, the shared data distributed in each computer's memory is a common identifier for each computer. And shared data specifying means to specify by length,
It is provided with a consistency guarantee specification means for specifying the consistency guarantee of the shared data in an arbitrary section in the program and a consistency guarantee cancellation means for canceling the specification of the consistency guarantee, and accepts the request for the shared data. Consistency assurance means, counter means for counting the number of waiting requests for consistency guarantee of the shared data from other computers, and means for accumulating the priority of the request for the shared data are provided. A priority queue with a counter that stores requests for shared data, and at least an identifier, start address, and
And a shared data management table having information on the length of shared data and storing information for associating with the priority queue with a counter, and for a request accepted by the consistency assurance means, Loose coupling characterized by controlling the access of the shared data in the memory in the own computer or the transmission / reception of the shared data in the memory of another computer by using the priority queue with the counter and the shared data management table Distributed shared memory method for computer systems.
JP5299383A 1993-11-26 1993-11-30 Distributed shared memory system in loosely-coupled computer system Pending JPH07152708A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP5299383A JPH07152708A (en) 1993-11-30 1993-11-30 Distributed shared memory system in loosely-coupled computer system
GB9423890A GB2284494B (en) 1993-11-26 1994-11-25 Distributed shared memory management system
US08/348,099 US5649102A (en) 1993-11-26 1994-11-25 Distributed shared data management system for controlling structured shared data and for serializing access to shared data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5299383A JPH07152708A (en) 1993-11-30 1993-11-30 Distributed shared memory system in loosely-coupled computer system

Publications (1)

Publication Number Publication Date
JPH07152708A true JPH07152708A (en) 1995-06-16

Family

ID=17871853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5299383A Pending JPH07152708A (en) 1993-11-26 1993-11-30 Distributed shared memory system in loosely-coupled computer system

Country Status (1)

Country Link
JP (1) JPH07152708A (en)

Similar Documents

Publication Publication Date Title
JP3697831B2 (en) Computer system
US7533197B2 (en) System and method for remote direct memory access without page locking by the operating system
JP3563541B2 (en) Data storage device and data storage method
US20080109569A1 (en) Remote DMA systems and methods for supporting synchronization of distributed processes in a multi-processor system using collective operations
US20080109573A1 (en) RDMA systems and methods for sending commands from a source node to a target node for local execution of commands at the target node
JP3010400B2 (en) Shared memory control method and shared memory control device
JP2003178039A (en) Distributed shared virtual memory and its constituting method
JPH09128351A (en) Parallel process scheduling method in parallel computer and processor for parallel computer
US20050138230A1 (en) Method, apparatus and program product for low latency I/O adapter queuing in a computer system
JP2010165022A (en) Inter-processor communication device, inter-processor communication method, program, and recording medium
JP2015520425A (en) Computer system and control method thereof
JPH07311750A (en) Parallel computer
US20080109604A1 (en) Systems and methods for remote direct memory access to processor caches for RDMA reads and writes
JP4856413B2 (en) Arithmetic processing apparatus, information processing apparatus, and control method for arithmetic processing apparatus
US20030014558A1 (en) Batch interrupts handling device, virtual shared memory and multiple concurrent processing device
JPH07152708A (en) Distributed shared memory system in loosely-coupled computer system
JP2736237B2 (en) Remote memory access controller
EP1069511B1 (en) Data Transfer Controller with Plural Ports
JP3375649B2 (en) Parallel computer
JPH08106440A (en) Distributed shared memory computer system
JP2002198987A (en) Active port of transfer controller with hub and port
CN108958904B (en) Driver framework of lightweight operating system of embedded multi-core central processing unit
CN108958905B (en) Lightweight operating system of embedded multi-core central processing unit
KR100898345B1 (en) Packet receiver hardware apparatus for tcp offload engine and system and method based on ??? packet receive hardware
JPH07319839A (en) Distributed shared memory managing method and network computer system