JP2008015617A - 分散共有メモリを用いた同報通信方法および装置 - Google Patents
分散共有メモリを用いた同報通信方法および装置 Download PDFInfo
- Publication number
- JP2008015617A JP2008015617A JP2006183562A JP2006183562A JP2008015617A JP 2008015617 A JP2008015617 A JP 2008015617A JP 2006183562 A JP2006183562 A JP 2006183562A JP 2006183562 A JP2006183562 A JP 2006183562A JP 2008015617 A JP2008015617 A JP 2008015617A
- Authority
- JP
- Japan
- Prior art keywords
- node
- address
- data
- distributed shared
- shared memory
- 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.)
- Granted
Links
Images
Abstract
【解決手段】分散共有メモリを用いたノード間のプロセス間通信において、同報手順においては、同報宛先ノード等にデータの送信にあわせて通知を送ることでデータ送信にあわせて特定(または、1つの選択したメモリ番地)のメモリ番地を同報用に用いることを通知し、各同報先プロセスに個別に送付するデータは宛て先の識別情報のみとして、同報対象のデータのメモリ書込みはノード毎に一箇所として(通知した同報用メモリ領域のみに書き込む)、メモリ番地をノード番地に変換し、ネットワーク内もノード毎に一つのデータが送信されるようにしながら複数プロセス宛てにデータを送信する。
【選択図】図1
Description
前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先ノード番地情報を取得し出力するノード番地対応手段と、前記ノード番地対応手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、を有することを特徴とする分散共有メモリを用いた同報通信装置である。
また、この発明によれば、従来、送信元のデータ発生源であるアプリケーションプログラム、プロセス或いはOSなどが、同一のデータを同報先に対応する複数の分散共有メモリの同報先番地に書き込む必要があったが、このような負荷を軽減する効果を奏する。
図1に示すように、各ノード(例えば、ノード1aと1b)は、ネットワーク2を介して接続されている。また、各ノード(例えば、ノード1aと1b)は、それぞれ固有のノード番地を有しており、ノード番地によりそれぞれのノードが識別される。
ノード1aは、演算装置1a−2と、ノード内メモリ1a−3と、内部バス1a−4と、転送制御装置1a−5と、ノード番地対応手段1a−6と、を有する。
内部バス1a−4には、演算装置1a−2と、ノード内メモリ1a−3と、転送制御装置1a−5が接続されている。
ノード番地対応手段1a−6は、内部バス1a−4と転送制御装置1a−5と接続される。なお、ノード番地対応手段1a−6は、内部バス1a−4または転送制御装置1a−5のうち、一方のみに接続されていてもよい。
なお、図示はしていないが、分散共有メモリ領域1a−3−1は送信データ部、送信要求データ領域、識別データ領域に分かれている。
また、ノード番地対応手段1a−6は、分散共有メモリ領域1a−3−1にデータが書き込まれることを監視しており、分散共有メモリ領域1a−3−1に送信データが書き込またことを検出した場合、送信データが書き込まれたメモリ番地を検出し、検出したメモリ番地に対応するノード番地を対応手段に基づき転送制御装置1a−5に出力する機能を有する。
ノード番地対応手段1a−6は、例えば、図2に示すように、メモリ番地を読み込み(ステップS21)、読み込んだノード番地を、シフトおよびマスク等演算或いは対応表(テーブルT1)を参照する等により、ノード番地に変換し(ステップS22)、ノード番地を出力する(ステップS22)。
また、転送制御装置1a−5は、送信要求データと識別データとを、前記の取得済みのノード番地宛のペイロードに書き込み、宛先ノードに送出する機能を有する。ここで、送信要求データと識別データとは、後述の分散共有メモリ管理部1a−9が生成する情報である。
また、転送制御装置は、ペイロードを受信した場合には、前記送信要求データを自ノードの分散共有メモリのキューを構成する送信要求データ受信領域に書き込み、識別データと送信データをペイロードに書き込まれているメモリ番地に書き込む機能を有している。
なお、説明においては、アプリケーションプログラム1a−1が、他のノード(のプロセス)に対して送信要求を送信する。また、アプリケーションプログラム1a−1を、プロセス1a−1として説明する。
演算装置1a−2で実行されるプロセスは、送信するためのデータ(以下、送信データ)を、内部バス1a−4を通してノード内メモリ1a−3の中にある分散共有メモリ領域1a−3−1に送信データを書き込むことにより、送信データ)を他のノード(のプロセス)へ送信する。
例えば、プロセス1a−1aが、分散共有メモリ管理部1a−9を介して、メモリ番地1a−3−1aで示される領域にデータを書き込むと、ノード番地対応手段1a−6が内部バス1a−4上を流れる該メモリ番地を読み込み、書き込んだメモリ番地1a−3−1aに対応するノード番地を出力する。
また、分散共有メモリ管理部1a−9は、メモリ番地1a−3−1aや送信データ長を含む識別データと識別データの番地を含む送信要求データとを生成し、夫々分散共有メモリ内の送信要求データ領域と識別データ領域に書き込む。
前記ペイロードを受信した受信ノードでは、転送制御装置が、前送信要求データを自ノードの分散共有メモリのキューを構成する送信要求データ受信領域に書き込み、識別データと送信データをペイロードに書き込まれているメモリ番地に書き込む。
送信データと識別データとは、送受信とも分散共有メモリの送信元ノード毎に区別される領域に書かれるが、送信要求データのみは、送信側では送信元ノード毎に区別され、受信側ではキューに書かれ、キューから取り出された順に、送信要求データが示す識別データのメモリ番地に基づいて、識別データや送信データに関する読み取りなどの処理が行われる。
なお、実施の形態の説明においては、送信データと、識別データと、送信要求データとを、1つのペイロードとして送信するものとして説明しているが、これに限られるものではなく、送信データと、識別データと、送信要求データとを、任意に組み合わせたものを1つのペイロードとし、そのペイロードを送信してもよい。
書き込むデータが短ければ空きが生じるが、通常はこのように固定長で区分しておく。また、0から9番地にデータを書き込み、次に、20から29番地にデータを書き込んでもよい。
なお、ある「番地」に書き込む、とは、処理上、例えば、0から9番地の領域を、0番地で代表して、「0番地に書き込む」ことを意味する。
なお、ノード番地対応手段1a−6は、図2ではテーブルのように示してあるが、テーブルでなくてビットのシフトやマスク、或いは、演算によってメモリ番地とノード番地を対応付ける機能を有するようにしてもよい。
または、ノード番地対応手段1a−6は、何らかの演算により、検出したメモリ番地をノード番地に変換し、出力するようにしてもよい。
ノードが、送信を行う場合には、図3に示すように、まず、プロセス1a−1aが送信データを生成する(ステップS310)。ここでプロセスは、書き込むべきメモリ番地は検出済みである。プロセスは、生成した送信データと書き込むべきメモリ番地を、分散共有メモリ管理部1a−9へ送信する。
次に、分散共有メモリ管理部1a−9が、受信した送信データとメモリ番地とに基づき、分散共有メモリの検出した番地に生成した送信データを書き込む(ステップS320)。
次に、分散共有メモリ管理部1a−9が識別データと送信要求データとを生成する。また、分散共有メモリ管理部1a−9が、使用するメモリ番地をロックする(ステップS330)。
分散共有メモリ管理部1a−9が識別データと送信要求データとを指定番地に書き込む(ステップS340)。
次に、ノード番地対応手段がメモリ番地からノード番地(IPアドレス等)を出力する(ステップS350)。
次に、転送制御装置がメモリ番地書き込みと並行して送信データ、識別データ、送信要求データを読み取り、ノード番地宛の送信用フレーム(つまり、送信用ペイロード)を生成し、送出する(ステップS360)。
図には示していないが、送信元ノードで、その後、送信先ノードからの開放通知を受信すると、使用したメモリ番地のロックを解除する(後述のステップS450に相当)。
ノードが、受信を行う場合には、図4に示すように、まず、送信データと識別データと送信要求データが転送制御装置に到着すると」、これを転送制御装置が受信する(ステップS41)。
次に、転送制御装置が、送信要求データはメモリ上のキューに格納し、識別データに付随してペイロードに書かれたメモリ番地(或いは送信要求データに書かれた番地)に識別データを書き、送信データに付随してペイロードに書かれたメモリ番地(或いは識別データ内に書かれた番地)に送信データを書き込む(ステップS420)。
次に、プロセスが(或いはOS経由で)開放通知を生成し、送信と同じ手段で、データ送信元に返送する(ステップS440)。
送信元ノードで、開放通知を受信すると、開放通知に該当するメモリ番地のロックを解除する(ステップS450)。なお、ステップS450は、送信元ノードでの動作処理である。
また、プロセス或いはアプリケーション或いはOS(少なくとも転送制御装置より上位層であり、以下、プロセスとする)が、プロセスを実行するにあたり、他のどのプロセスが関連するかは検出しているか、あるいは、検出可能である。
例えば、それら関連するプロセスは、同一のメモリを参照して処理を行う。従って、関連するプロセスが参照するメモリ上の領域が、分散共有メモリのどのアドレス番地であるかは、プロセス自体が検出することができる。言い換えると、メモリ上のどの領域が、他のプロセスが参照する領域であるかを、プロセス自体が検出できる。
なお、ここでいう、「同一のメモリ」とは、分散共有メモリの構造をとり、複数ノードで分散して保持しているものである。
そのため、例えば、プロセスが同報通信を行う宛先とするプロセスを、プロセスが関連するプロセスとし、そのため宛先となるプロセスのメモリ番地を決定することが可能である。
また、この場合、プロセスは分散共有メモリのメモリ番地により識別される。
なお、分散共有メモリ管理部1a−9は、例えば、ルーティングテーブルを有しており、ルーティングテーブルに基づき宛先ノードや中継ノードを決定する。
例えば、1つのノードに複数の送信先となるプロセスがある場合には、送信先となるプロセスのうち、プロセスの該当するメモリ番地の値が一番小さいメモリ番地を選択し、選択したメモリ番地のみに書き込み送信するようにする。または、例えば、特定の予め決めておいたメモリ番地を選択し、選択したメモリ番地のみに書き込み送信するようにする。
尚、分散共有メモリ管理部1a−9は、同報対象の送信データが全て送信された後に、送信要求データを送信する。
また、例えば、それぞれの分散共有メモリ管理部1a−9はルーティングテーブルを有しており、宛先ノードとルーティングテーブルとに基づき、宛先ノードまでの間にあるノード(中継ノード)を決定する。
また、同報識別子を受信したノードは、記録した送信元ノードを参照して全ての後段ノード(送信宛先に至るまでに通過するノード及び宛先ノード)からの解放通知が到着した後、前段ノードヘ解放通知を送信する。
まずノードは、複数のノード間の通信のために用いる分散共有メモリと、分散共有メモリのメモリ番地の情報であるメモリ番地情報と送信宛先となるノードを識別するノード情報とが予め関連付けられて記憶してあるノード番地対応テーブルと、を有している。
転送制御装置は、ノード番地対応手段からのノード情報を受信し、分散共有メモリに書き込まれた送信データと識別情報と受信したノード情報とに基づき送信処理を実行する。
つまり、他のノード宛の分散共有メモリに書き込まれた送信データは、送信の時と同じ手順により、送信される。
なお、自身のノード(のプロセス)宛へのデータは、それ以上転送されることはない。そのため、転送される宛先は、転送により減少していく。
転送ノードが、それ以上転送しない場合には、転送ノードは、開放通知を、受信元ノードへ送信する。
転送ノードが、転送するか否かの検出は、識別ノードが自身のノードだけであり、他のノードの情報が無いことにより検出する。
ノードが、送信を行う場合には、図5に示すように、まず、プロセスが、同報通信のための送信データを生成する(ステップS510)。ここでプロセスは、書き込むべきメモリ番地(送信先のプロセス)は検出済みである。プロセスは、生成した送信データと書き込むべきメモリ番地とを、分散共有メモリ管理部1a−9へ送信する。ただし、ここでは、宛先となるメモリ番地は複数あり、プロセスは、複数のメモリ番地を送信するものとする。また、プロセスは、同報を示す通知を分散共有メモリ管理部1a−9へ送信する。
次に、分散共有メモリ管理部1a−9が、同報を示す通知を受信し、受信した送信データとメモリ番地とに基づき、分散共有メモリの検出した番地に生成した送信データを書き込む(ステップS520)。ただし、複数の宛先が同じノードである場合には、1つの宛先のみに送信データを書き込む。
分散共有メモリ管理部1a−9が識別データと送信要求データとを指定番地に書き込む(ステップS540)。
次に、ノード番地対応手段がメモリ番地からIPアドレス等のノード番地を出力する(ステップS550)。
次に、転送制御装置がメモリ番地書き込みと並行して送信データ、識別データ、送信要求データを読み取り、ノード番地宛の送信用フレームを生成し、送出する(ステップS560)。ただし、複数の宛先プロセス毎に、識別データを送信する。
まず、送信要求データのキューの先頭データを読む(ステップS610)。
送信要求データが示す識別データが示すメモリ番地が他ノードを含むか否かを検出する(ステップS650)。
ステップS650の検出において、他ノードを含む場合には、宛先ノード(或いは宛先ノード向けの中継ノード)を決定する(ステップS660)。
宛先ノード(或いは中継ノード)に対応するメモリ番地(送信データ領域内)に、識別データが示す送信データ番地に書かれたデータを書き込む(ステップS670)。
宛先ノード(或いは中継ノード)に対応するメモリ番地(識別データ、送信要求領域内)に、宛先のメモリ番地やデータ長を含む識別データ、識別データの番地を含む送信要求を生成し、書き込む(ステップS660)。
なお、図7において、同一の処理については同一の番号を付け、その説明を省略している。
なお、図7において、「※1」で示す、プロセス1a−1aが同報対象の送信データを生成するステップが、同報通信の開始である。
送信データは、ひとつノードに複数の宛先プロセスが存在する場合は、一つのノードにつき一つだけ送信される(図1、2で説明した送信手段による)。
尚、送信要求データは同報対象の送信データが全て送信された後に送信される(図1、2の説明と同じ)。
また、送信宛先のノード番地を記録する。(a)で書き込まれた送信データもやはり中継ノードか宛先ノードに送られる(図7の※2である)。
また、同報識別子を受信した中継ノードまたは宛先ノードは、送信元ノード或いは中継ノードにメッセージ解放通知を送信する(解放通知は送信要求データが到着した後に行う)。
尚、送信要求データは識別データを介して送信データとの対応付けが可能なので、受信ノード或いは中継ノードでは同報終了をも示すこととなり、本一連の通信に用いたデータバッファは、以降の通信においては前記処理(a)〜(f)の処理ではなく、通常の通信に用いることができる。送信元ノードは送信要求データ以外に同報終了通知を別途送信しても良い。
これは、通常、一回のデータ送信に関わる一連の送信は、連続して行われ(下位レイヤーの1つのペイロードに書き込まれる場合は、1つに書き込まれることも有り得る)、受信側でプログラムが読み出し処理が完結するのは、送信側で最後に送信される送信要求データ1a−8−cが到着してからとなるので、たとえ、最後尾の送信要求データ1a−8−cに同報の通信を開始する通知1a−10が含まれていたとしても、受信側の処理は問題なく行われるからである。
また、プロセス1a−1aまたは分散共有メモリ管理部1a−9が、ノードのOSの一部として機能するようにしてもよい。
つまり、展開手段は、同報識別子を複数の宛先ノード番地に展開する機能を有する。なお、同報識別子とは、一意に識別されるものである。
なお同図において、同様の構成においては同一の記号番号を付け、異なる方法については「’」、「’’」または「’’’」を付けて、説明する。
ノード番地対応手段1a−6の中で、通常の用途である1a−6Aにおいては、例えば1つのメモリ番地1a−6−1−aに、1つのノード番地1a−6−2−aに対応付けて記憶されている。
ノード番地対応手段1a−6の中で、同報用途に用いる1a−6Bにおいては、例えば1つのメモリ番地1a−6−1−xに、3つのノード番地1a−6−x−1と、1a−6−x−2と、1a−6−x−3とが対応付けて記憶されている。
第2の実施形態の第1例においては、このように、ノード番地対応手段1a−6の中で、予め1つのメモリ番地に複数のノード番地の対応を記憶しておき、1つのメモリ番地が入力された場合には、入力された1つのメモリ番地に対応する複数のノード番地を予め記憶している対応より取得し、取得した複数のノード番地を出力することにより、取得した複数のノード番地への同報通信を行う。
ノード番地対応手段1a−6は、メモリ番地1a−6−1−xが入力されれば1a−6−2−xの複数(図4では1a−6−2−xは3つのノード番地1a−6−2−x−1、2、3が含まれている)の番地が出力する。
つまり、図8で、分散共有メモリ側と下位層側とに区切りを示し、展開手段がどちらか一方に含まれる記載としているが、どちらにも含まれない形態でも良い。
宛先ノードでは、プロセスが受信確認後、解放通知を生成し送信元ノードに送り、送信元ノードは全ての宛先ノードからの解放通知を受信した後、通信に利用したメモリ領域を開放する。
また、宛先や送り元をノードと記載しているが、通常は送受信対象のデータをリードライトするのはノード内のプロセスであり、即ち、本発明ではメモリ番地にノード番地を対応付けるとの記載をしているが、メモリ番地にプロセスの番地を対応付けても良い。
その場合、あるメモリ番地にデータが書き込まれたら、メモリ番地に対応するプロセスが存在するノードのノード識別子がノード番地対応手段から出力され、データが該ノードヘ送信され同一番地(仮想的でも構わない)に書き込まれる、との処理であっても良い。
ノード番地とノード識別子はEthernet(登録商標)アドレス、ATMアドレス、IPアドレス等、ノードを識別する識別子を示していて、呼称はどちらであっても区別しなくて良い。また、送信データを生成したり送信指示をするのはプロセスを示すように記してあるが、OS内の機能が送信データを生成したり送信を指示しても構わない。
或いは、分散共有メモリを管理する機能が対応する通信層の下位層の同報機能を利用して、同報通信を行うことにより、分散共有メモリを管理する機能が対応する通信層の負荷を低減することができる。
さらに、IP通信など、既存の普及した同報通信方式においては、情報の送達確認が簡略化されていたり、或いは、確実な送達確認を行う場合は複雑な手順が必要になるなどの例が多く、一方、分散共有メモリを用いた同報通信では簡易な手段でかつ一貫性を保つことが可能になる。
図10はルーティングテーブルに基づき宛先ノードや中継ノードを決定する分散共有メモリを用いた通信を示す図である。
図10を用いて、ノードA、ノードB、ノードCの3つのノードがあり、ノードAがノードCへ送信し、ノードBがノードAとノードCとの間の通信を中継する場合について説明する。
なお、説明においては、ルーティングテーブルとメモリ領域と対応テーブルとを用いた動作について説明する。なお、説明はしないが、他の構成も、本発明に従い動作している。また、説明においては、プロセスが動作するとして説明するが、プロセスに限定されるものではなく、OSなど他の構成により動作してもよい。
まず、ノードAの(図に示していない)プロセスPA1が、ノードCのプロセスPC1へ送信する。そのため、まずプロセスPA1が、宛先がノードCであることより、ルーティングテーブルRAに基づき、ノードCへ送信するにはノードB宛に送信すればいいことを検出する(ステップS101)。
次に、プロセスPA1は、ノードBに対応するメモリ領域MAのメモリ番地に送信する送信データを書き込む(ステップS102)。
アドレスBに書き込まれた送信データは、対応テーブルTAに基づき宛先が決定され(ステップS103)、決定されたノードであるノードBに送信データが送信され、ノードBのアドレスBに書き込まれる(ステップS104)。なお、ステップ103で送信されたデータには、宛先がノードCであるという情報が付けられている。
次に、検出したノードC宛のメモリ領域MBのメモリ番地に送信データを書き込む(ステプS106)。
ノードCに書き込まれた送信データは、対応テーブルTBに基づき宛先が決定され(ステップS107)、決定されたノードであるノードCに送信データが送信され、ノードCのアドレスCに書き込まれる(ステップS108)。
例えば、以上のようにして、ルーティングテーブルを用いて、分散共有メモリを用いてノード間の通信がなされる。
図11に示すように、ノードAにはノードBとノードEとが接続し、ノードBはノードCとノードDとが接続し、ノードEにはノードFとノードGとが接続するとする。
また、ノードAにはプロセスP_A1があり、ノードBにはプロセスP_B1とP_B2とがあり、ノードCにはプロセスP_C1とP_C2とがあり、ノードEにはプロセスP_E1とP_E2とがあり、ノードFにはプロセスP_F1とP_F2とP_F3とがあるとする。
まず、ノードAのプロセスP_A1は、どのノードがどのプロセスと対応するのかを検出することが可能であるので、プロセスP_C1とP_C2とは、同じノードCであることを検出し、また、プロセスP_F1とP_F2とP_F3とは、同じノードFであることを検出する。
また、ノードAのプロセスP_A1は、同じノードであるノードCへはプロセスP_C1宛てのメモリ番地のみへ、同じノードであるノードFへはプロセスP_F1宛てのメモリ番地のみへ、送信データを書き込み送信することを検出する。
なお、ノードAのプロセスP_A1は、識別データは、プロセスP_C1とP_C2、および、プロセスP_F1とP_F2とP_F3宛てに生成する。
1a−1a、・・、1a−1n、1b〜1a、・・、1b−1n、1c−1a プロセス
1a−2、1b−2 演算装置
1a−3、1b−3 ローカルメモリ
1a−3−1 分散共有メモリ領域
1a−3−1a、・・、1a−3−1n データバッファ
1a−4、1b−4、1c−4 内部バス
1a−5、1a−5’、1a−5’’、1a−5’’’、1b−5 転送制御装置
1a−6、1b−6 ノード番地対応手段
1a−6−1 分散共有メモリのメモリ番地の領域
1a−6−2 分散共有メモリのノード番地の領域
1a−6−1−a、x、y、I、j、k、x’分散共有メモリのメモリ番地
1a−6−2−a、x−1、x−2、x−3、y、y−1、y−2、y−3、I、j、k、x’、x’−1、x’−2、x’−3 分散共有メモリのノード番地
1a−6−2−x 分散共有メモリのノード番地展開表の位置を示す識別子
1a−6−x ノード番地展開表
1a−6A ノード番地対応手段の通常領域
1a−6B ノード番地対応手段の同報用領域
1a−8−a、x、y、i.x’ 送信対象のデータ
1a−8−b 識別データ
1a−8−c 送信要求データ
1a−8−d 解放通知
1a−9、1b−9、1c−9 分散共有メモリ管理部(OS)
1a−10 同報開始通知
2 ノード間通信路
3 下位層或いは下位層に相当する機能
4、4’、4’’ 展開手段
Claims (8)
- ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、
ことを特徴とする分散共有メモリを用いた同報通信方式。 - ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置であって、
プロセスによって書き込みおよび読み出しが行われるメモリであって、ネットワークに接続された複数のノード間データ転送制御装置でメモリ番地が仮想的あるいは物理的に同一である分散共有メモリと、
メモリ番地が入力されると、該メモリ番地が含まれる前記分散共有メモリの領域と対応づけられたプロセスの存在するノード番地を出力するノード番地対応手段と、
前記分散共有メモリに書き込まれるデータを取得し、前記ノード番地を有するプロセス或いはノード宛てに前記取得したデータを送信する送信手段と、
前記ネットワークからデータを受信し、送信元プロセス或いはノードにおいて該データが書き込まれた分散共有のメモリ番地と仮想的或いは物理的に同一のメモリ番地に該受信データを書き込む受信手段と、
を備える、ノード間データ転送制御装置であって、
データ送信後或いは予めデータ送信前に、分散共有メモリ上の特定の番地を複数プロセス或いはノード向けの送信に用いることを、自ノードを含むネットワークなどの伝送手段で接続された一つ以上のプロセス或いはノードに通知或いは設定する、
ことを特徴とする分散共有メモリを用いた同報通信方式。 - ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
隣接する中継ノード或いは隣接する宛先ノードに各1個だけ送信データを送信し、宛先プロセスを識別する情報を宛先プロセス数だけ或いは宛先プロセス数分を一括して、宛先プロセスが存在するノードに送信することにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、
ことを特徴とする分散共有メモリを用いた同報通信方式。 - ネットワークなどの伝送手段に接続されたノード内に設けられ、他プロセスとの間のデータ転送を制御するノード間データ転送制御装置において、
複数の宛先プロセス或いはノードに対応する複数のメモリ番地に同一データを書き込むことにより、同一データをネットワークなどの伝送手段で接続された複数プロセス或いはノードに送信する、
ことを特徴とする分散共有メモリを用いた同報通信方式。 - 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
送信データと送信宛先となるプロセスと関連する前記分散共有メモリのメモリ番地情報とを受信し、前記受信したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報が同一のメモリ番地がある場合には、1つのメモリ番地を同一ノードメモリ番地情報として前記取得したノード情報が同一のメモリ番地から選択し、前記選択した同一ノードメモリ番地情報に前記受信した送信データを書き込み、前記同一ノードメモリ番地情報に書き込んだ送信データを参照するための識別情報を前記ノード情報が同一のメモリ番地毎に生成し、前記生成した識別情報を前記ノード情報が同一のメモリ番地に書き込む、分散共有メモリ管理手段と、
前記分散共有メモリにデータが書き込まれるメモリ番地情報を取得し、前記取得したメモリ番地情報に基づきノード情報を取得し、前記取得したノード情報を送信するノード番地対応手段と、
前記ノード番地対応手段からのノード情報を受信し、前記分散共有メモリに書き込まれた送信データと前記識別情報と前記受信したノード情報とに基づき送信処理を実行する転送制御装置と、
を有することを特徴とする分散共有メモリを用いた同報通信装置。 - 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先ノード番地情報を取得し出力するノード番地対応手段と、
前記ノード番地対応手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、
を有することを特徴とする分散共有メモリを用いた同報通信装置。 - 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、
送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記
検出したメモリ番地に基づき宛先識別子を取得し出力するノード番地対応手段と、
前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と関連する宛先ノード番地情報を前記展開テーブルから取得する展開手段と、
前記展開手段の出力した宛先ノード番地情報を取得し、前記取得した宛先ノード番地情報と前記分散共有メモリ管理手段に書き込まれた送信データとに基づき送信する転送制御手段と、
を有することを特徴とする分散共有メモリを用いた同報通信装置。 - 複数のノード間またはプロセス間の通信のために用いる分散共有メモリと、
前記宛先識別子と複数の宛先ノード番地情報とを関連づけて予め記憶している展開テーブルと、
送信データを前記分散共有メモリに書き込む分散共有メモリ管理手段と、
前記分散共有メモリ管理手段が書き込んだ前記分散共有メモリのメモリ番地を検出し、前記検出したメモリ番地に基づき宛先識別子を取得し出力するノード番地対応手段と、
前記ノード番地対応手段の出力した宛先識別子を取得し、前記取得した宛先識別子と前記分散共有メモリ管理手段に書き込まれた送信データと前記展開テーブルとに基づき送信する転送制御手段と、
を有することを特徴とする分散共有メモリを用いた同報通信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183562A JP4490397B2 (ja) | 2006-07-03 | 2006-07-03 | 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006183562A JP4490397B2 (ja) | 2006-07-03 | 2006-07-03 | 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008015617A true JP2008015617A (ja) | 2008-01-24 |
JP4490397B2 JP4490397B2 (ja) | 2010-06-23 |
Family
ID=39072591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006183562A Expired - Fee Related JP4490397B2 (ja) | 2006-07-03 | 2006-07-03 | 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4490397B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116279A1 (ja) * | 2008-03-19 | 2009-09-24 | パナソニック株式会社 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
US8891523B2 (en) | 2011-06-03 | 2014-11-18 | Samsung Electronics Co., Ltd. | Multi-processor apparatus using dedicated buffers for multicast communications |
JPWO2018122893A1 (ja) * | 2016-12-26 | 2019-10-31 | 株式会社日立製作所 | データアクセスシステムおよびデータアクセス方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863442A (ja) * | 1994-08-26 | 1996-03-08 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステム |
JPH1097512A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | プロセッサ間データ転送方法及び並列計算機 |
-
2006
- 2006-07-03 JP JP2006183562A patent/JP4490397B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0863442A (ja) * | 1994-08-26 | 1996-03-08 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサシステム |
JPH1097512A (ja) * | 1996-09-20 | 1998-04-14 | Hitachi Ltd | プロセッサ間データ転送方法及び並列計算機 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009116279A1 (ja) * | 2008-03-19 | 2009-09-24 | パナソニック株式会社 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
JP5307796B2 (ja) * | 2008-03-19 | 2013-10-02 | パナソニック株式会社 | 処理装置、処理システム、データ共有処理方法、及びデータ共有処理用集積回路 |
US9176891B2 (en) | 2008-03-19 | 2015-11-03 | Panasonic Intellectual Property Management Co., Ltd. | Processor, processing system, data sharing processing method, and integrated circuit for data sharing processing |
US8891523B2 (en) | 2011-06-03 | 2014-11-18 | Samsung Electronics Co., Ltd. | Multi-processor apparatus using dedicated buffers for multicast communications |
JPWO2018122893A1 (ja) * | 2016-12-26 | 2019-10-31 | 株式会社日立製作所 | データアクセスシステムおよびデータアクセス方法 |
Also Published As
Publication number | Publication date |
---|---|
JP4490397B2 (ja) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH08185380A (ja) | 並列計算機 | |
JP2010141443A (ja) | ネットワーク装置、エッジルータ及びパケット通信システム | |
JP5014362B2 (ja) | 情報処理装置及びその制御方法、コンピュータプログラム | |
JP4490397B2 (ja) | 分散共有メモリを用いた同報通信方法、同報通信装置、および、同報通信プログラム | |
JP4895972B2 (ja) | リングプロトコル高速切替方法およびその装置 | |
US8761165B2 (en) | Network system | |
US9832041B2 (en) | Switch device and control method of switch device | |
JP2006174422A (ja) | 通信装置および障害通知方法 | |
JP6847334B2 (ja) | ネットワーク装置、ネットワークシステム、ネットワーク方法、およびネットワークプログラム | |
JP2007249357A (ja) | 情報処理装置、分散処理システム及びタスク管理方法 | |
JP2006109258A (ja) | 通信方法及び通信装置 | |
JP2008271548A (ja) | パケットスイッチングシステムでカスタマイズ型QoSを提供するQoSパケットフロー設定及びQoSパケット処理方法 | |
JP4992573B2 (ja) | レイヤ2スイッチ、通信機器及びそれらに用いるデータ部エラー検出方法並びにそのプログラム | |
JP4372080B2 (ja) | 伝送システム | |
JPWO2017164068A1 (ja) | トランスポートネットワーク制御装置、通信システム、転送ノードの制御方法及びプログラム | |
JP2014078871A (ja) | ネットワークシステムおよび車上伝送システム | |
WO2021092760A1 (zh) | 数据传输的方法和ble设备 | |
JP5310735B2 (ja) | パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法 | |
WO2006048826A1 (en) | Integrated circuit and method for data transfer in a network on chip environment | |
JP2010147585A (ja) | データ転送制御方法、通信システム、及びデータ転送制御装置 | |
JP2009037308A (ja) | 通信装置、通信装置の制御方法及びプログラム | |
JP2010258811A (ja) | 通信システム | |
WO2022227695A1 (zh) | 传输报文的方法、装置及设备 | |
JP2017147713A (ja) | ノード装置、および通信システム | |
JP2007004312A (ja) | ノード間データ転送制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080801 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090602 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090803 |
|
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: 20100323 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100401 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130409 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140409 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |