JPH0756647B2 - ネツトワークによる共有メモリ方式 - Google Patents

ネツトワークによる共有メモリ方式

Info

Publication number
JPH0756647B2
JPH0756647B2 JP61047086A JP4708686A JPH0756647B2 JP H0756647 B2 JPH0756647 B2 JP H0756647B2 JP 61047086 A JP61047086 A JP 61047086A JP 4708686 A JP4708686 A JP 4708686A JP H0756647 B2 JPH0756647 B2 JP H0756647B2
Authority
JP
Japan
Prior art keywords
data
memory
shared memory
packet
network
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 - Lifetime
Application number
JP61047086A
Other languages
English (en)
Other versions
JPS62204362A (ja
Inventor
明 陣崎
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP61047086A priority Critical patent/JPH0756647B2/ja
Publication of JPS62204362A publication Critical patent/JPS62204362A/ja
Publication of JPH0756647B2 publication Critical patent/JPH0756647B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17337Direct connection machines, e.g. completely connected computers, point to point communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Systems (AREA)
  • Memory System (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)

Description

【発明の詳細な説明】 〔目 次〕 概 要 産業上の利用分野 従来の技術 発明が解決しようとする問題点 問題点を解決するための手段 作 用 実施例 (a) 実施例の構成 (b) 実施例の動作 (c) 他の実施例 発明の効果 〔概 要〕 複数のプロセツサでメモリを共有するシステムにおい
て,共有メモリと複数のプロセツサをネツトワークで接
続することにより,共有メモリやプロセツサ間の距離を
大きくすることを可能としたものである。
〔産業上の利用分野〕
本発明はネツトワークによる共有メモリ方式に係り,特
に共有メモリと複数のプロセツサをネツトワークで接続
し,共有メモリに対するアクセス制御をネツトワークを
経由して行なうようにしたものに関する。
〔従来の技術〕
データ処理を効率的に行なうために複数のプロセツサを
動作させることが行なわれているが,この場合,同一デ
ータを共同使用するため1つのメモリを各プロセツサで
共有する共有メモリ方式が使用される。
〔発明が解決しようとする問題点〕
従来,このようなシステムは,第8図(a),(b)に
示す如く,複数のプロセツサ32−0,32−1…32−nを共
有メモリ30に接続するとき,共有メモリ30に対するアク
セス競合を調整するアービタ31を経由して接続するが,
計算機バスあるいはバスの延長上で構成されており,共
有メモリ30やプロセツサ32−0〜32−n間の距離が数10
cm〜数m以内に制限されていた。
このため,物理的に離れた機器によつてマルチプロセツ
サシステムを構成することが困難となり,システム全体
が物理的に同一場所に設置されるため,システムの構築
に自由度が制限されるのみならず,電源断や災害など主
として外部からの物理的障害によつてシステム全体が運
用できなくなるという可能性があつた。
また,従来のネツトワークを用いてマルチプロセツサシ
ステムを構成した場合,従来のネツトワーク通信制御は
主にソフトウエア制御によつて行なわれるため通信速度
が低速となる問題点があつた。
本発明の目的はこのような問題点を改善するため,前記
バスの代りにネツトワークを使用し,共有メモリ型のマ
ルチプロセツサ方式を構成するようにしたものである。
〔問題点を解決するための手段〕
前記目的を達成するため,本発明では,第1図に示す如
く,ネツトワーク伝送路NWに,複数のノードND0,ND1,ND
2…を接続し,例えばノードND0に共有メモリ1とアービ
タ2を設置し,ノードND1,ND2…にプロセツサとバツフ
アメモリを設置し、ノードND1、ND2・・・には、該メモ
リに記入されたデータの有効性を表示するフラグ手段を
設け、共有メモリ1をアクセスするときには先ず自ノー
ドの該メモリをアクセスし、またデータの変更を行うと
きは他ノードの該メモリのデータを無効化し共有メモリ
1の該当データを変更し、ライトアクセス要求元のノー
ドにブロードキャスト・パケットが戻ったことを確認し
てライトアクセスを終了するようにした。
〔作 用〕
プロセツサから共有メモリ1のデータをリードすると
き,ネツトワーク伝送路NWにパケツトを送出してリード
アクセス要求を行ない,共有メモリ1に対する各プロセ
ツサからのアクセス競合調整をアービタ2で行い,読み
出されたデータを受信し,バツフア・メモリにコピーす
る。そしてバツフア・メモリにコピーされたデータを使
用してプロセツサはリードアクセスを行う。そして共有
メモリ1にライトアクセスが行われたとき,ハードウエ
ア制御によりそのバツフアメモリのデータを無効化す
る。このようにネツトワークを用いてマルチプロセツサ
システムを構成するので共有メモリやプロセツサ間の距
離を数10cm〜数Kmにすることが可能となる。
しかも共有メモリのデータをアクセスする際自コンピュ
ータのメモリにコピーしたものをアクセスするのでアク
セス速度を向上し、また共有メモリアクセスが輻輳する
のを軽減できる。
さらにライトアクセスの場合、アクセス要求元のノード
にブロードキャスト・パケットが戻ったことを確認して
ライトアクセスを終了するので、データの整合性を保つ
ことができる。
〔実施例〕
(a) 実施例の構成 本発明の一実施の構成を,第2図〜第4図にもとづき,
他図を参照して説明する。
第2図は,本発明に使用するノードの構成図,第3図は
リング状ネツトワークを伝達するパケツトの1例,第4
図はプロセツサ側のノードにおけるバツフア・メモリの
説明図である。
図中,3は受信部であつてネツトワーク伝送路NWより伝送
されたパケツトを受信するもの,4は受信パケツト・バツ
フアであつて,受信されたパケツトが一時保持されるも
の,5はヘツダ解析部であつて受信パケツト・バツフアに
保持されたパケツトのヘツダ部分を解析するもの,6は送
信パケツト・バツフアであつてネツトワーク伝送路NWに
出力されるべきデータが一時セツトされるもの,7は送信
部であつて受信パケツト・バツフア4または送信パケツ
ト・バツフア6に一時的にセツトされたデータをネツト
ワーク伝送路NWに出力するものである。そして10は,第
1図に示されるノードND0におけるアービタ2またはノ
ードND1,ND2…におけるプロセツサのいずれかを示すも
のであり,第2図が共有メモリ側のノードND0を示すと
きはアービタを示すものとなり,プロセツサ側のノード
ND1,ND2…を示すときはプロセツサを示すものとなりこ
のときバツフアメモリBufも設置されるものとなる。そ
してSは切替スイツチであつて,ヘツダ解析部5により
制御される可動接点S0および固定接点S1,S2を具備して
いる。
ネツトワーク伝送路NWに伝送されるパケツトは,第3図
に示す如く,ヘツダ部とデータ部を具備し,ヘツダ部に
は受信先のノード番号を示す受信者アドレス,アクセス
するデータアドレス,送信元のノード番号を示す送信者
アドレスと,フラグfが記入されている。このフラグf
は共有メモリ1がライトアクセスされたことを示すもの
であり,共有メモリ1のデータに書替えが行われたと
き,アービタ2はフラグfを例えば「1」にする。なお
ネツトワーク伝送路NW上では,同時に1つのパケツトし
か伝送できない。
バツフアメモリBufは,第4図に示す如く,メモリ11と
フラグ部12を具備する。メモリ11はプロセツサ13が共有
メモリ1に対してリードアクセスして得たデータをコピ
ーするものである。このコピー単位は,通常共有メモリ
1がセグメントやページに区分されているので,この区
分単位例えばページ単位でコピーされるが,勿論これの
みに限定されるものではなく,もつと小さな単位でも大
きな単位でも適用できる。フラグ部12はメモリ11内にデ
ータがコピーされたとき,このメモリ11内のデータが有
効か無効かを示すフラグを出力するものでありメモリ11
に有効なデータがコピーされたときヘツダ解析部5の制
御信号にもとづき「1」を出力する。
切替スイツチSは受信バツフアパケツト4にセツトされ
たデータをプロセツサ(共有メモリ側ノードのときはア
ービタ)に伝達するか,送信部7に伝達するか選択する
ものである。ヘツダ解析部5がパケツトのヘツダ部,特
にその受信者アドレスをチエツクして自ノードに対して
伝送されたデータであることを判別したとき切替スイツ
チSは固定接点S2側とオンとなる。勿論切替スイツチS
を半導体のスイツチング素子で構成することもできる。
(b) 実施例の動作 本発明において,同時に1つのパケツトしか伝送できな
いネツトワークの例としてリング型のネツトワークを使
用した例について説明する。具体的にはシングル・トー
クン・リング方式が使用される。
ところで,リング型ネツトワークではパケツト送信者が
送り出したパケツトは,リング型の伝送路を周回し,受
信者あるいは送信者自身がそのパケツトを除去する。送
信者が除去する場合,送信したパケツトはネツトワーク
内の全ての受信者を経由した後に送信者に戻つてくるの
で,そのパケツトを確認することによつて送信の完了を
確認することができる。また1つの物理的なパケツトに
よつてネツトワークの全ノードに対して同一のパケツト
を送る,つまりブロードキヤストすることが可能であ
る。そしてブロードキヤスト・パケツトの場合はそのパ
ケツトの取込みと送信を同時に行うことができる。
第2図〜第4図に示した本発明の一実施例構成の動作に
ついて,プロセツサ13からのアクセスを中心に,第5
図,第6図のフローチャートにもとづき,第1図を参照
して説明する。
(i) リードアクセス(I) 初期状態においてバツフアメモリBufのメモリ11にはデ
ータがないのでフラグ部12はメモリ11内に有効なデータ
が存在しないことを示す「0」が出力されている。した
がつて,プロセツサ13は,第5図に示す如く,共有メモ
リ1に対してリードアクセス要求のパケツトを送信パケ
ツト・バツフア6上に作成し,これを送信部7より送信
する。このときパケツトの受信者アドレスにはノー
ドND0が,送信者アドレスにはプロセツサ13のノード番
号が記入され,データアドレス部には所望のデータのア
ドレスが記入されている。ノードND0では,アービタ2
が他プロセツサとの競合を調整して,このリードアクセ
ス要求に対し,共有メモリ1から所望のデータを読み出
し,応答パケツトを作成してネツトワーク伝送路NW上に
送信する。プロセツサ13のヘツダ解析部5がこれが受信
パケツト・バツフア4に受信されたとき,その受信者ア
ドレスを解読して応答パケツトであることを認識すると
,切替スイツチSを固定接点S2側にオンとしてこのデ
ータをメモリ11に記入し,またフラグ部12を「1」と
してメモリ11に有効なデータの記入されたことをプロセ
ツサ13に伝達する。したがつてプロセツサ13はこのバツ
フア・メモリBufにおけるメモリ11のデータを読みデー
タ処理を行う。バツフアメモリのフラグが「1」の場
合には,そのままバツフアのデータを読む。
このようにフラグが「1」つまりメモリ11に有効なデー
タが記入されている場合、まず自分のメモリ11を読みデ
ータ処理を行うので、各コンピュータが共有メモリのデ
ータをアクセスする際に毎回ネットワークを介して共有
メモリをアクセスに行くのではなく、自コンピュータの
メモリ11に記入されたデータのコピーをアクセスするの
で、複数回アクセスする場合、アクセス速度が向上す
る。
(ii) リードアクセス(II) ところでフラグ部12が「1」を出力しているときに,プ
ロセツサ13が必要とするデータがメモリ11に存在しない
とき,プロセツサ13は送信パケツトバツフア6上に,前
記(i)と同様に,リードアクセス要求のパケツトを作
成し,必要なデータを共有メモリ1より得ることにな
る。必要とするデータの有無は,例えばメモリ11に保持
されているデータのアドレスを,アドレス保持部(後述
する第7図参照)に参照すればよい。
(iii) ライトアクセス プロセツサ13がライトアクセス要求を行う場合,第6図
(a)に示す如く,パケツトのフラグfを「1」にした
ブロードキヤスト・パケツトを送信する。このときデ
ータアドレス部には共有メモリ内のデータアドレス,デ
ータ部には勿論共有メモリ1へのライトデータが記入さ
れている。そしてプロセツサ13のノードNDではヘツダ解
析部5がこのブロードキヤスト・パケツトの戻つてきた
ことを監視し,それを確認したときライトアクセスを
終了する。なおこの間,プロセツサ13はメモリ11に対す
るリードアクセスを禁止される。ところで,プロセツサ
13以外の他のノードでは,第6図(b)に示す如く,こ
のブロードキヤスト・パケツトのフラグfが「1」であ
ることをヘツダ解析部が解読するので,ブロードキヤス
ト・パケツトを受信したときそのノードにおけるバツ
フアメモリのフラグ部のフラグを「0」としてバツフア
メモリのデータを無効化する。
このライトアクセスの場合,各ノードのバツフアメモリ
のフラグを「0」としてデータの無効化を表示する操作
と共有メモリのデータを変更する操作は非可分な操作で
実現される。すなわち,他のプロセツサのバツフア・メ
モリを無効化し,また共有メモリのデータを変更し終る
まで別のアクセスは発生しない。そしてライトアクセス
要求元のノードにブロードキヤスト・パケツトが戻つた
とき自メモリを変更してライトアクセスは終了する。
(c) 他の実施例 前記の実施例の場合には,共有メモリ1内の一部が書き
替えられたとき各ノードのメモリを同時に無効化してい
る。このような場合,バツフア・メモリによつては保持
していないデータが変更されたときでも一律に無効化す
るよりも,実際に書き替えられたデータが記入されてい
るメモリのみ無効化する方がよい。
そのため,本発明の第2実施例では,第7図に示す如
く,アドレス保持部14を設けてメモリ11に保持されてい
るデータのアドレス情報を保持しておく。そしてヘツダ
解析部15でそのフラグfが「1」の書き替えを示すブロ
ードキヤスト・パケツトを解読したとき,第3図に示す
如く,その受信者アドレス部分に記入されているデータ
アドレスをアドレス保持部14に保持したアドレスと比較
して,書き替え部分がそのノードのメモリ11に保持され
たデータに含まれていることを認識した場合にフラグ部
12を「0」にして無効化する。勿論リードアクセス要求
のとき,アクセス先はわかるので自ノードのメモリ11に
保持されているデータのアドレスをプロセツサ13から記
入してもよいし,第7図に示す如く,リードアクセス要
求に対する応答パケツトの一部,例えば受信者アドレス
にデータアドレスを記入しておき,これをヘツダ解析部
15がアドレス保持部14に記入するようにしてもよい。
なお前記説明においてパケツト送信はリード/ライトア
クセス要求時にプロセツサから作成された例について説
明したが,これのみに限定されるものではなく,専用の
ネツトワーク・ハードウエアにより行うこともできる。
またネットワークとしてリング型のものについて説明し
たが,勿論これのみに限定されず,バス型のネツトワー
クでも使用できる。
〔発明の効果〕
本発明によればネツトワークを使用してマルチプロセツ
サ共有メモリ方式を構成し,特にライトアクセス時のバ
ツフア状態制御をハードウエアによつて高速に実現する
ことができるので,共有メモリやプロセツサ間の距離を
数m以内に制限する必要がなく,物理的に分散して配置
することが可能となる。そのため従来のように略同一の
場所にまとめて設置する必要がなくなり,災害などの外
部からの物理的障害に対して信頼性のあるものを得るこ
とができる。
しかも、コンピュータが共有メモリのデータをアクセス
する際に毎回ネットワークを介してアクセスしにいくの
ではなく、自コンピュータのメモリにコピーしておき、
そのコピーをアクセスするので、複数回アクセスする場
合アクセス速度を向上することができる。また、同じデ
ータを複数の必要とするコンピュータのメモリにコピー
することができるため、複数のコンピュータが同時に同
じデータにアクセスしても共有メモリアクセスが幅輳す
るのを軽減できる。
さらに、ライトアクセスの場合、アクセス要求元のノー
ドにブロードキャスト・パケットが戻ったことを確認し
てライトアクセスを終了するので、データの整合性を保
つことができる。
【図面の簡単な説明】
第1図は本発明の原理図, 第2図は本発明におけるノードの構成, 第3図はパケツトの1例, 第4図はプロセツサ側のノードにおけるバツフア・メモ
リの説明図, 第5図はリードアクセスのフローチャート, 第6図はライトアクセスのフローチャート, 第7図は本発明の他の実施例, 第8図は従来例を示す。 1……共有メモリ, 2……アービタ, 3……受信部, 4……受信パケツト・バツフア, 5……ヘツダ解析部, 6……送信パケツト・バツフア, 7……送信部。

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、これらのプロセッサ
    からアクセス可能な共有メモリを備えたデータ処理方式
    において、 同時に1つのパケットしか伝送できないネットワークNW
    と、 このネットワークNWに接続された複数のノード(ND0、N
    D1、ND2・・・)と、 前記ノードの1つにアービタ(2)と共有メモリ(1)
    を配置し、 他のノードにプロセッサと、共有メモリ(1)のデータ
    をコピーするメモリ(11)と、該メモリ(11)に記入さ
    れたデータの有効性を表示するフラグ手段(12)を設
    け、共有メモリ(1)をアクセスするときには先ず自ノ
    ードのメモリ(11)をアクセスし、またデータの変更を
    行うときは他ノードのメモリ(11)のデータを無効化し
    共有メモリ(1)の該当データを変更するブロードキャ
    スト・パケットを送信し、共有メモリ(1)の該当デー
    タを変更しまた他ノードのメモリ(11)のデータを無効
    化してライトアクセス要求元のノードにこのブロードキ
    ャスト・パケットが戻ったことを確認してライトアクセ
    スを終了するようにしたことを 特徴とするネットワークによる共有メモリ方式。
JP61047086A 1986-03-04 1986-03-04 ネツトワークによる共有メモリ方式 Expired - Lifetime JPH0756647B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP61047086A JPH0756647B2 (ja) 1986-03-04 1986-03-04 ネツトワークによる共有メモリ方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP61047086A JPH0756647B2 (ja) 1986-03-04 1986-03-04 ネツトワークによる共有メモリ方式

Publications (2)

Publication Number Publication Date
JPS62204362A JPS62204362A (ja) 1987-09-09
JPH0756647B2 true JPH0756647B2 (ja) 1995-06-14

Family

ID=12765365

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61047086A Expired - Lifetime JPH0756647B2 (ja) 1986-03-04 1986-03-04 ネツトワークによる共有メモリ方式

Country Status (1)

Country Link
JP (1) JPH0756647B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01109403A (ja) * 1987-10-09 1989-04-26 Instron Corp 複数の制御要素の相互作用的制御を行なうための回路
JP2595332B2 (ja) * 1988-11-02 1997-04-02 三菱電機株式会社 ネットワーク・システムのデータ転送方式

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS4937537A (ja) * 1972-08-07 1974-04-08
JPS5387647A (en) * 1977-01-13 1978-08-02 Toshiba Corp Multi-computer system
JPS53133343A (en) * 1977-04-27 1978-11-21 Hitachi Ltd Loop-type calculator network
JPS5860851A (ja) * 1981-10-08 1983-04-11 Toshiba Corp デ−タ伝送方式

Also Published As

Publication number Publication date
JPS62204362A (ja) 1987-09-09

Similar Documents

Publication Publication Date Title
US5613071A (en) Method and apparatus for providing remote memory access in a distributed memory multiprocessor system
CA2170458C (en) Multi-cluster computer system
KR100465583B1 (ko) 판독 요청을 원격 처리 노드에 추론적으로 전송하는 비정형 메모리 액세스 데이터 처리 시스템 및 이 시스템에서의 통신 방법
US11314675B2 (en) Interface circuitry for exchanging information with master, home, and slave nodes using different data transfer protocols
JP2000112910A (ja) 非一様メモリ・アクセス・コンピュ―タ・システム及びその操作方法
JPH1196127A (ja) 第1のコンピュータと第2のコンピュータとの間で遠隔ディスク読取り操作を実施する方法と装置
US5901328A (en) System for transferring data between main computer multiport memory and external device in parallel system utilizing memory protection scheme and changing memory protection area
US6574659B1 (en) Methods and apparatus for a directory-less memory access protocol in a distributed shared memory computer system
JP3919295B2 (ja) コンピュータノードをコヒーレントドメインと接続するための実質的にメモリレスなコヒーレント変換方法、及びその装置
US9910808B2 (en) Reflective memory bridge for external computing nodes
EP0489583A2 (en) Multiple processor cache control system
JPH0756647B2 (ja) ネツトワークによる共有メモリ方式
JP2002366427A (ja) プロセッサ間通信システム及びそれに用いるプロセッサ間通信方法
JP2007128385A (ja) 伝送装置、伝送システムおよび更新データの排他制御方法
JP3237599B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるデータ転送方法
KR920008605A (ko) 최소 경합 프로세서 및 시스템 버스 시스템
JP2824110B2 (ja) 情報システムのバス通信制御方式
JP3016788B2 (ja) 装置間通信・キャッシュ一致処理方式
JPS60237566A (ja) プロセツサ間通信方式
JP2984594B2 (ja) マルチクラスタ情報処理システム
JP2853607B2 (ja) ジョブ間通信システム
JPH0323026B2 (ja)
US20190138466A1 (en) Reflective memory bridge for external computing nodes
JPS63142455A (ja) 半導体記憶装置
JP2971119B2 (ja) 複数プロセッサシステムにおける高速データ転送方式