JPH11120156A - マルチプロセッサシステムにおけるデータ通信方式 - Google Patents

マルチプロセッサシステムにおけるデータ通信方式

Info

Publication number
JPH11120156A
JPH11120156A JP9303476A JP30347697A JPH11120156A JP H11120156 A JPH11120156 A JP H11120156A JP 9303476 A JP9303476 A JP 9303476A JP 30347697 A JP30347697 A JP 30347697A JP H11120156 A JPH11120156 A JP H11120156A
Authority
JP
Japan
Prior art keywords
communication
communication buffer
data
processor
buffer
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
JP9303476A
Other languages
English (en)
Inventor
Masanori Tamura
正典 田村
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP9303476A priority Critical patent/JPH11120156A/ja
Priority to US09/170,718 priority patent/US6108693A/en
Priority to AU89354/98A priority patent/AU751616B2/en
Publication of JPH11120156A publication Critical patent/JPH11120156A/ja
Pending 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/167Interprocessor communication using a common memory, e.g. mailbox

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】マルチプロセッサシステムにおけるデータ通信
方式において通信バンド幅性能を向上させる。 【解決手段】送信要求に対して送信プロセッサは、共有
メモリの2つの通信バッファから1つを規則的に選び出
す手段、選択された通信バッファについて他のプロセッ
サによる書き込みを禁止するため書き込み不可の状態に
変更する書き込みロック手段と、ローカルメモリから通
信バッファへデータをコピーするデータ書き込み手段
と、受信プロセッサに対して書き込み完了を知らせる書
き込み完了通知手段と、送信処理の終りを判定する送信
終了判定手段とからなり、受信要求に対して受信プロセ
ッサは、共有メモリの2つの通信バッファから1つを送
信プロセッサの選択手段と同一の規則をもって選び出す
通信バッファ選択手段と、選択された通信バッファが読
み込み可の状態になるまで待ち合わせる読み込み待ち手
段と、通信バッファからローカルメモリへデータをコピ
ーするデータ読み込み手段と、データ読み込み後通信バ
ッファを書き込み可の状態に変更する読み込み完了通知
手段と、受信終了判定手段とから構成されている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプロセッサ
と記憶装置からなるマルチプロセッサシステムにおける
データ通信方式に関し、特に通信バッファを介してデー
タを分割して送受信する方式に関する。
【0002】
【従来の技術】以下、従来の技術について具体的に説明
する。
【0003】マルチプロセッサシステムにおける従来の
データ通信方式として、プロセッサ間のデータ通信の方
法を述べた特開平8−16540号公報等の記載が参照
される。上記公報には、各エレメントプロセッサが到着
順に従って受信メッセージを自エレメント用に用意され
るメモリ領域に書き込みメッセージ受信手段と、共有メ
モリのメモリ領域にデータを直接書き込む遠隔書き込み
手段と、を備え、送信プロセッサエレメントは、遠隔書
き込み手段を使って受信プロセッサに送信するメッセー
ジの本体を共有メモリに書き込むとともに、受信プロセ
ッサエレメントのメッセージ受信手段に対して、メッセ
ージの識別子情報と、メッセージ本体へのポインタ情報
とを送信するようにしたメッセージ通信方式が提案され
ている。
【0004】この従来のメッセージ通信方式において
は、メッセージまたはメッセージの一部を通信バッファ
を介して送信プロセッサが書き込み、受信プロセッサが
読み込むことで送受信を処理するが、メモリ上に確保で
きる通信バッファのサイズには上限があり、ユーザ要求
によってサイズの決まるメッセージが通信バッファのサ
イズを超える場合には、メッセージの一部をもって、こ
の通信バッファを経由して、送受信プロセッサの間で同
様の処理が何度も繰り返されることになる。
【0005】この時、通信プロセッサが、通信バッファ
に対してメッセージの一部を書き込んでいる間、受信プ
ロセッサは、受信可能な状態にあっても、書き込みが終
了するまでは、読み込むことができず、逆に、受信プロ
セッサが通信バッファからメッセージの一部を読み込ん
でいる間は、送信プロセッサは、次のメッセージの一部
を書き込むことが可能な状態であっても、読み込みが終
了するまで、書き込むことができない。
【0006】このようにして分割したデータを特定の1
つの通信バッファを介して送受信すると、通信バッファ
への書き込み待ちや読み込み待ちといったアイドル時間
が発生し、これが通信性能、特にバンド幅性能の低下を
招くことになる。
【0007】
【発明が解決しようとする課題】上記したように、従来
の技術においては、送信プロセッサと受信プロセッサの
間には、特定な一つの連続メモリ領域の通信バッファが
確保されており、このために通信バッファへの書き込み
待ちおよび読み込み待ちといったアイドル時間が発生
し、これが通信オーバヘッドを増加させ通信のバンド幅
性能を低下させる、という問題点を有している。
【0008】したがって本発明は、上記の問題点に鑑み
てなされたものであって、その目的は、マルチプロセッ
サシステムにおけるデータ通信において、バンド幅性能
の低下を抑止する、データ通信方式を提供することにあ
る。
【0009】
【課題を解決するための手段】前記目的を達成するた
め、本発明に係るマルチプロセッサシステムにおけるデ
ータ通信方式は、複数のプロセッサと、前記複数のプロ
セッサで共有される共有メモリ及び前記各プロセッサ毎
のローカルメモリを含む記憶装置と、を備えたマルチプ
ロセッサシステムにおいて、送信側のプロセッサが、前
記共有メモリの二つの通信バッファのうちの一つを規則
的に選択する通信バッファ選択手段と、選択された通信
バッファを他のプロセッサによる書き込みを禁止すべ
く、前記通信バッファを書き込み不可の状態に変更する
書き込みロック手段と、自プロセッサに対応するローカ
ルメモリから前記選択された通信バッファへデータをコ
ピーするデータ書き込み手段と、受信プロセッサに書き
込み完了を知らせる書き込み完了手段と、送信すべきデ
ータを全て前記通信バッファへ書き込んだか否かを判断
することによ送信処理の終了を判定する送信終了判定手
段と、を含み、受信側のプロセッサが、前記共有メモリ
の前記二つの通信バッファの1つを、前記送信側のプロ
セッサの前記通信バッファ選択手段と同一規則で選択す
る通信バッファ選択手段と、前記選択された通信バッフ
ァが読み込み可の状態となるまで待合せる読み込み待ち
手段と、前記選択された通信バッファから自プロセッサ
に対応するローカルメモリへデータをコピーするデータ
読み込み手段と、データ読み込み後、前記通信バッファ
を書き込み可状態に変更する読み込み完了通知手段と、
受信処理の終了を判定する手段と、を含む。
【0010】
【発明の実施の形態】本発明の好ましい実施の形態につ
いて説明する。本発明のマルチプロセッサシステムにお
けるデータ通信方式は、その好ましい実施の形態におい
て、複数のプロセッサと記憶装置からなり、記憶装置
(図1の3)は、接続されるプロセッサ全てからアクセ
ス可能な共有メモリ(図1の31)と、特定のプロセッ
サだけがアクセス可能なローカルメモリ(図1の32)
と、から構成され、共有メモリ上にはプロセッサ毎に2
つの通信バッファ(図1の311)とそれぞれのバッフ
ァに対応した状態フラグ(図1の312)が割り当てら
れている。
【0011】プロセッサ間で通信を行う際、送信プロセ
ッサ(図1の1)は共有メモリ上の受信プロセッサ毎に
準備された二つの通信バッファ(図1の311)のうち
の一つを選択する通信バッファ選択手段(図1の11)
と、選択した通信バッファに対して自プロセッサ以外の
送信プロセッサからデータの書き込みが出来ないように
通信バッファに対応する状態フラグの状態を「書き込み
不可」に設定する書き込みロック手段(図1の12)
と、ローカルメモリ(図1の32)からロックした通信
バッファへ、該通信バッファの大きさ分のデータをコピ
ーするデータ書き込み手段(図1の13)と、データの
書き込みが完了した後、受信プロセッサが通信バッファ
のデータを読めるように読み込み可の状態に状態フラグ
を更新する書き込み完了通知手段(図1の14)と、送
信すべきデータを全て通信バッファへ書き込んだか否か
を判断し、書き込みが完了していなければ通信バッファ
選択手段(図1の11)へ制御を戻し、完了していれば
送信処理を終了させる送信終了判定手段(図1の15)
と、を含む。
【0012】受信プロセッサ(図1の2)は、共有メモ
リ(図1の31)上の自プロセッサに対して二つの通信
バッファ(図1の311)のうち送信プロセッサの通信
バッファ選択手段(図1の11)と同一の規則性をもっ
て一つのバッファを選択する通信バッファ選択手段(図
1の21)と、選択した通信バッファに対してそのバッ
ファに対応する状態フラグが送信プロセッサによるデー
タの書き込み完了の状態になるまで待ち合わせる読み込
み待ち手段(図1の22)と、書き込みが完了後、通信
バッファからローカルメモリ上へデータをコピーするデ
ータ読み込み手段(図1の23)と、データの読み込み
が終了すれば通信バッファへ送信プロセッサがデータを
書き込めるように、該通信バッファに対応する状態フラ
グの状態を変更する読み込み完了通知手段(図1の2
4)と、受信すべきデータを全てローカルメモリへ読み
込んだか否かを判断し、読み込みが完了していなければ
通信バッファ選択手段(図1の21)へ制御を戻し、完
了していれば受信処理を終了させる受信終了判定手段
(図1の25)と、を含む。上記各手段は、プログラム
制御によってプロセッサ上で機能させるようにしてもよ
い。
【0013】本発明のマルチプロセッサにおけるデータ
通信方式は、その好ましい実施の形態において、送信プ
ロセッサと受信プロセッサとの間で二つの通信バッファ
を介してバッファサイズ分の大きさにデータを分割して
送受信する際、書き込み待ちや読み込み待ちによるアイ
ドル時間を削減し通信性能の低下を抑止することができ
る。
【0014】本発明の実施の形態について図面を参照し
てさらに詳細に説明する。
【0015】図1は、本発明の実施の形態の原理構成を
説明するための図である。図1を参照すると、本発明の
実施の形態は、送信プロセッサ1と、受信プロセッサ2
と、これらのプロセッサ1、2に接続される記憶装置3
と、から構成される。記憶装置3は、共有メモリ31と
ローカルメモリ32の領域に分かれており、共有メモリ
31には受信プロセッサ2に対する2つの通信バッファ
311(説明上、第一通信バッファと第二通信バッファ
という)と、それぞれの通信バッファに対応して状態フ
ラグ312が設けられている。
【0016】送信プロセッサ1は、共有メモリ31上の
受信プロセッサの通信バッファを選び出す通信バッファ
選択手段11と、選び出した通信バッファを書き込み禁
止にする書き込みロック手段12と、自プロセッサのロ
ーカルメモリ32から通信バッファ311へデータをコ
ピーするデータ書き込み手段13と、データコピーの完
了を受信プロセッサへ知らせる書き込み完了通知手段1
4と、送信終了判定手段15と、を含んで構成される。
【0017】また、受信プロセッサ2は、共有メモリ3
1上の自プロセッサの通信バッファ311の1つを選び
出す通信バッファ選択手段21と、選び出した通信バッ
ファについて受信データが書き込まれるまで待ち合わせ
る読み込み待ち手段22と、通信バッファから自プロセ
ッサのローカルメモリ32へデータをコピーするデータ
読み込み手段23と、データコピーが完了し通信バッフ
ァの状態フラグを書き込み可能状態に変更する読み込み
完了通知手段24と、受信終了判定手段25と、を含ん
で構成される。
【0018】次に、本発明の実施の動作の形態につい
て、図2、及び図3を参照して詳細に説明する。図2
は、送信プロセッサの動作を説明するための図であり、
図3は、受信プロセッサの動作を説明するための図であ
る。
【0019】図2を参照すると、送信プロセッサ1にお
いて、通信バッファ選択手段11、書き込みロック手段
12、データ書き込み手段13、書き込み完了通知手段
14および送信終了判定手段15が順次実行され、送信
終了判定手段15による判定によって、送信処理が継続
する場合には、再度、通信バッファ選択手段11に制御
が戻り、送信終了判定手段15によって送信処理が終了
するまで、これら手段11〜15の処理の実行が繰り返
される。
【0020】データの送信要求に対して通信バッファ選
択手段11は、要求後初めての選択であれば、送信相手
の受信プロセッサ対応に、共有メモリ3上に、事前に確
保された2つの通信バッファ311のうち、第一通信バ
ッファを選択する。
【0021】この通信バッファ選択手段11では、も
し、実行制御が送信終了判定手段15から戻ってきた場
合であれば、前回選択した通信バッファでないもう一つ
の通信バッファを選択する規則を持っている。すなわ
ち、二度目の実行時には、第二通信バッファを選択し、
三度目は、再び第一通信バッファを選択するという具合
に、制御が戻る毎に、前回選択した以外の通信バッファ
を選択する。
【0022】選択された通信バッファについて、書き込
みロック手段12では、通信バッファ311に対応する
状態フラグ312について、書き込み権が取得できるま
で、待ち合わせを行う。書き込み権が取得できた場合に
は、他の送信プロセッサによる通信バッファへの書き込
みが禁止される。
【0023】書き込み権取得後、データ書き込み手段1
3によって、通信バッファの大きさ分のデータをローカ
ルメモリ32から選択された通信バッファ311へコピ
ーし、書き込み完了通知手段14によって、通信バッフ
ァの状態フラグ312を読み込み不可から読み込み許可
に変更する。
【0024】送信終了判定手段15では、通信バッファ
311のサイズに分割して送信するデータが全て送出で
きたか否かを判定し、残りのデータがあれば、通信バッ
ファ選択手段11に制御を戻し、残りのデータがなけれ
ば、送信処理を終了させる。
【0025】図3を参照すると、受信要求に対する受信
プロセッサ2においては、通信バッファ選択手段21、
読み込み待ち手段22、データ読み込み手段23、読み
込み完了通知手段24および受信終了判定手段25が順
次実行され、受信終了判定手段25による判定によっ
て、受信処理が継続する場合には、再度、通信バッファ
選択手段21に制御が戻り、受信終了判定手段25によ
って受信処理が終了するまでこれら手段21〜25の処
理の実行が繰り返される。
【0026】受信要求に対して、通信バッファ選択手段
21は、受信要求後、初めての選択であれば、自プロセ
ッサ対応に、共有メモリ上に事前に確保された二つの通
信バッファ311のうち第一通信バッファを選択する。
【0027】この通信バッファ選択手段21では、送信
プロセッサの選択手段11と同様に、もし、実行制御が
受信終了判定手段15から戻ってきた場合であれば、前
回選択した通信バッファでない、もう一つの通信バッフ
ァを選択する規則を持っている。すなわち、二度目の実
行時には、第二通信バッファを選択し、三度目は再度第
一通信バッファを選択するという具合に、通信バッファ
選択手段21では、制御が戻る毎に前回選択した以外の
通信バッファを選択する。
【0028】選択された通信バッファについて読み込み
待ち手段22では、当該通信バッファの状態フラグ31
2が読み込み可の状態になるまで待ち合わせを行い、読
み込み可になれば、状態フラグの内容を変更することな
く、データ読み込み手段23に制御を移す。
【0029】データ読み込み手段23では、通信バッフ
ァ311からローカルメモリ32へデータのコピーを行
い、読み込み完了通知手段24では、通信バッファの状
態フラグを読み込み不可および書き込み可の状態に変更
し、送信プロセッサからのデータの書き込みを可能にす
る。
【0030】続いて、受信終了判定手段25において、
受信すべきデータを全て読み込んだか否かを判定し、読
み込みが完了していれば、受信処理を終了し、未だ完了
していなければ通信バッファ選択手段21に制御を戻
す。
【0031】
【実施例】上記した本発明の実施の形態についてさらに
詳細に説明すべく、本発明の一実施例について図面を参
照して以下に説明する。図4は本発明のマルチプロセッ
サシステムにおけるデータ通信方式の一実施例を示す図
であり、ユーザプログラム中の送信要求および受信要求
に従って、共有メモリ上の通信バッファを介してプロセ
ッサのローカルメモリ間でデータの送受信を行う。
【0032】図4を参照すると、本発明の一実施例にお
けるデータ通信方式は、送信プログラム400、受信プ
ログラム430、送信プロセッサ410、受信プロセッ
サ420、および記憶装置440から構成される。な
お、送信プロセッサ410、受信プロセッサ420の構
成は、図1乃至図3を参照して説明した実施の形態と同
様とされる。
【0033】送信プログラム400では、ローカルメモ
リ上441にある配列Aのデータを受信プロセッサ側の
受信プログラム430へ送信する要求があり(MPI_
Send(A…))、受信プログラム430では、ロー
カルメモリ441上にある配列Bに送信プロセッサ側の
送信プログラム400から送られて来るデータを受信す
る要求がある(MPI_Recv(B…))。また、配
列Aと配列Bは同じサイズを持っている。
【0034】記憶装置400は、共有メモリ領域442
とローカルメモリ領域441に分かれ、共有メモリ領域
442には受信プロセッサに対応付けられた2つの通信
バッファ442a(説明上、第一通信バッファと第二通
信バッファという)と、各通信バッファの状態を示す状
態フラグ442bがそれぞれ割り当てられている。
【0035】この割り当ては、通信プログラムの実行前
に、静的に割り当てられることもあれば、また、最初の
通信要求において動的に割り当てられることもある。
【0036】これらのアドレスは、割り当て後、送信プ
ロセッサ410および受信プロセッサ420に展開さ
れ、それぞれのプロセッサ410、420では、自プロ
セッサに対応するローカルメモリ441(441−1、
441−2)上に、それら通信バッファ442aや状態
フラグ442bへのアドレスが格納され、通信処理時に
アクセスすることが可能となっている。
【0037】また、送信プロセッサ410に対応するロ
ーカルメモリ441−1には配列Aが割り付けられてお
り、受信プロセッサ420に対応するローカルメモリ4
41−2には配列Bが割り付けられている。
【0038】送信プロセッサ410は、通信バッファ選
択手段411、書き込みロック手段412、データ書き
込み手段413、書き込み完了通知手段414および送
信終了判定手段415を含み、受信プロセッサ420
は、通信バッファ選択手段421、読み込み待ち手段4
22、データ読み込み手段423、読み込み完了通知手
段424および受信終了判定手段425を含む。これら
の各手段は、上記実施の形態で説明した送信プロセッサ
1の各手段11〜15、受信プロセッサ2の各手段21
〜25に対応する。
【0039】次に、図2、図3の処理フローに基づき、
図4、図5、図6、及び図7を参照して、本発明の一実
施例の動作について詳細に説明する。
【0040】送信プロセッサ410の動作についてまず
説明する。図4を参照すると、送信プログラム400の
送信要求に対して、送信プロセッサ410の通信バッフ
ァ選択手段411では、送信相手の受信プロセッサ42
0の持つ二つの通信バッファのうち、送信要求に対して
初めての実行であれば第一通信バッファを選び、その状
態フラグが書き込み可の状態であるかを調べ、書き込み
可の状態でなければ書き込み可の状態になるまで待ち合
わせを行い、書き込み可の状態になれば第三者である送
信プロセッサからの書き込みを抑止するために、書き込
みロック手段412で書き込み不可の状態に設定し直
す。
【0041】次に、データ書き込み手段413で、ロー
カルメモリ上の配列Aのデータについて通信バッファの
サイズ分のデータを通信バッファへコピーし、コピー完
了後、書き込み完了通知手段414によって通信バッフ
ァの状態フラグを読み込み可の状態に変更する。
【0042】ここで、通信フラグの状態フラグの状態遷
移について図5を参照して説明しておく。この状態遷移
は、全ての通信バッハァの状態フラグにあてはまる。
【0043】図5を参照すると、状態フラグの初期状態
(S1)は、「書き込み:可」および「読み込み:不
可」の状態になっており、その状態は、送信プロセッサ
410の書き込みロック手段412によってのみ、「書
き込み:不可」および「読み込み:不可」の状態(S
2)に変更される。
【0044】次に、この状態を変更できるのは、書き込
みロック手段412を実行した送信プロセッサ410の
書き込み完了通知手段414だけであり、「書き込み:
不可」の状態はそのままに、「読み込み:可」の状態
(S3)に変更する。この読み込み可/不可の状態は、
後に説明する受信プロセッサ420の読み込み待ち手段
422が参照し、「読み込み:不可」から「読み込み:
可」の状態に変更されることを参照している。
【0045】受信プロセッサ420では、通信バッファ
からのデータの読み込みが完了すれば、通信バッファの
状態を、「読み込み:不可」および「書き込み:可」の
初期の状態(S1)に戻し、状態フラグは、上記3つの
状態(S1〜S3)を採ることになる。
【0046】送信プロセッサ410の動作を、書き込み
完了通知手段414の処理以降について、以下に説明す
る。
【0047】完了通知後、送信終了判定手段415で
は、送信すべき配列Aのデータ全てを通信バッファに書
き込んだか否かを判断し、残りがなければ送信要求に対
する処理を終了させ、残りが未だあれば通信バッファ選
択手段411に制御を戻す。制御が戻って来ると、通信
バッファ選択手段411では、最初に選択した第一通信
バッファでなく、第二通信バッファを選び、書き込みロ
ック手段412に制御を渡す。このように、送信終了判
定手段411において、送信処理が終了するまで上記手
段の実行が繰り返される。
【0048】次に受信プロセッサの動作を説明する。図
4を参照すると、受信プログラム430の受信要求に対
して、受信プロセッサ420の通信バッファ選択手段4
21では、自プロセッサのもつ2つの通信バッファのう
ち、受信要求に対して初めての実行であれば、第一通信
バッファを選び、その状態フラグが読み込み可の状態に
なるまで待ち合わせを行う。
【0049】読み込み可の状態になれば、状態フラグを
変更することなく、データ読み込み手段413によって
通信バッファのデータをローカルメモリ414−2上の
配列Bへコピーする。
【0050】コピー完了後、読み込み完了通知手段42
4によって通信バッファの状態フラグを読み込み不可お
よび書き込み可の状態(図5の状態S2)に変更する。
この状態の変更は、図5を参照して上記で述べた通りで
ある。
【0051】状態変更後、受信終了判定手段425によ
っ,て受信すべきデータを全て読み込んだか否かを判定
し、読み込んでいれば受信処理を終了させ、まだ読み込
んでいなければ通信バッファ選択手段421に制御を戻
す。制御の戻ってきた通信バッファ選択手段421で
は、次に、前回選んだ第一通信バッファでない第二通信
バッファを選択し、読み込み待ち手段422に制御を渡
す。
【0052】このように、受信終了判定手段425によ
って受信処理が終了するまで、上記各手段421〜42
5の処理の実行が繰り返される。
【0053】このようにして、本発明の一実施例におい
ては、送信要求および受信要求に対して送信プロセッサ
410と受信プロセッサ420とは通信バッファ442
aを介してデータの送受信を行うように動作する。
【0054】次に、二つの通信バッファへのデータの書
き込み動作および読み込み動作について図6を参照し
て、時間の経過をステップに分け、さらに詳しく説明す
る。また、図7に、比較例として、通信バッファが特定
な1つであった場合の従来の通信方式における同様の流
れを示し、それぞれを比較する。
【0055】図6を参照すると、最初に、送信プロセッ
サが第一通信バッファへデータを書き込んでいる間に、
受信プロセッサ側で読み込み待ちを行っているステップ
1を除き、通信バッファへのアクセス待ちは、ほとんど
発生しない。
【0056】これに対して、図7に示すように、通信バ
ッファが一つの場合には、送信プロセッサが書き込んで
いる間は受信プロセッサは読み込み待ちとなり、受信プ
ロセッサが読み込んでいる間は送信プロセッサは書き込
み待ちとなり、三つのステップに相当する時間が余分に
掛かってしまう。
【0057】
【発明の効果】以上説明したように、本発明によれば、
通信バッファへの書き込み待ちおよび読み込み待ちの時
間を削減することによって、通信性能、特に通信のバン
ド幅性能を向上させる、という効果を奏する。
【0058】その理由は、本発明においては、送信要求
および受信要求に対して送信プロセッサと受信プロセッ
サとが二つの通信バッファを同一規則に従い交互に切換
選択してデータの送受信を行うように構成したためであ
る。
【図面の簡単な説明】
【図1】本発明のマルチプロセッサシステムにおけるデ
ータ通信方式の実施の形態の原理構成を示す図である。
【図2】本発明の実施の形態における送信プロセッサの
構成および処理フローを説明するための図である。
【図3】本発明の実施の形態における受信プロセッサの
構成および処理フローを説明するための図である。
【図4】本発明の一実施例の構成を示す図である。
【図5】本発明の一実施例における通信バッファに対応
した状態フラグの状態遷移を説明するための図である。
【図6】本発明の一実施例における2つの通信バッファ
を介したデータの流れをステップ毎に模式的に示す図で
ある。
【図7】従来の通信方式による通信バッファを介したデ
ータの流れをステップ毎に模式的に示す図である。
【符号の説明】
1、410 送信プロセッサ 2、420 受信プロセッサ 3、440 記憶装置 11、411 通信バッファ選択手段 12、412 書き込みロック手段 13、413 データ書き込み手段 14、414 書き込み完了通知手段 15、415 送信終了通知手段 21、421 通信バッファ選択手段 22、422 読み込み待ち手段 23、423 データ読み込み手段 24、424 読み込み完了通知手段 25、425 受信終了通知手段 31、442 共有メモリ 311、442a 通信バッファ 312,442b 状態フラグ 32、441 ローカルメモリ 400 送信プログラム 430 受信プログラム

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】複数のプロセッサと、前記複数のプロセッ
    サで共有される共有メモリ及び前記各プロセッサに対応
    したローカルメモリを含む記憶装置と、を備えたマルチ
    プロセッサシステムにおいて、 前記プロセッサ間で通信を行うに際して、送信側のプロ
    セッサが、前記共有メモリの二つの通信バッファのうち
    の一つを規則的に選択する通信バッファ選択手段と、 選択された通信バッファを他のプロセッサによる書き込
    みを禁止すべく、前記通信バッファを書き込み不可の状
    態に変更する書き込みロック手段と、 自プロセッサに対応するローカルメモリから前記選択さ
    れた通信バッファへデータをコピーするデータ書き込み
    手段と、 受信プロセッサに書き込み完了を知らせる書き込み完了
    手段と、 送信すべきデータを全て前記通信バッファへ書き込んだ
    か否かを判断することにより送信処理の終了を判定する
    送信終了判定手段と、 を含み、 受信側のプロセッサが、 前記共有メモリの前記二つの通信バッファの一つを、前
    記送信側のプロセッサの前記通信バッファ選択手段と同
    一規則で選択する通信バッファ選択手段と、 前記選択された通信バッファが読み込み可の状態となる
    まで待合せる読み込み待ち手段と、 前記選択された通信バッファから自プロセッサに対応す
    るローカルメモリへデータをコピーするデータ読み込み
    手段と、 データ読み込み後、前記通信バッファを書き込み可状態
    に変更する読み込み完了通知手段と、 受信処理の終了を判定する手段と、 を含む、ことを特徴とするマルチプロセッサシステムに
    おけるデータ通信方式。
  2. 【請求項2】前記送信側のプロセッサの前記通信バッフ
    ァ選択手段が、送信データを通信バッファに書き込む際
    に、前記共有メモリ上の第1、第2通信バッファの二つ
    の通信バッファを交互に選択してデータの書き込みを行
    い、 前記受信側のプロセッサの前記通信バッファ選択手段
    が、前記送信側のプロセッサの前記通信バッファ選択手
    段と同じ規則で、前記共有メモリの前記第1、第2通信
    バッファを交互に選択してデータの読み込みを行う、こ
    とを特徴とする、請求項1記載のマルチプロセッサシス
    テムにおけるデータ通信方式。
  3. 【請求項3】前記共有メモリ上に、前記二つの通信バッ
    ファに対応して、各通信バッファの書き込み、及び読み
    込みの可/不可を制御するための状態フラグを備え、 前記状態フラグの初期状態は、書き込み可、読み込みが
    不可の状態とされ、 前記送信側のプロセッサの前記書き込みロック手段が、
    前記選択された通信バッファの状態フラグを書き込み可
    から書き込み不可の状態に設定し、 前記書き込み完了通知手段が、前記選択された通信バッ
    ファの状態フラグを読み込み不可から読み込み可の状態
    に設定し、 前記受信側のプロセッサの読み込み完了通知手段が前記
    状態フラグを書き込み不可の状態から書き込み可の状態
    に設定する、 ことを特徴とする、請求項1記載のマルチプロセッサシ
    ステムにおけるデータ通信方式。
  4. 【請求項4】複数のプロセッサと記憶装置とから構成さ
    れるマルチプロセッサシステムにおいて、 前記記憶装置は、前記各プロセッサからアクセス可能な
    共有メモリ領域と、 前記複数のプロセッサのうち特定のプロセッサからのみ
    アクセス可能なローカルメモリ領域と、 を備え、 前記各プロセッサは、送信プロセッサとして、 通信バッファ選択手段と、 書き込みロック手段と、 データ書き込み手段と、 書き込み完了通知手段と、 送信終了判定手段と、 を備え、 受信プロセッサとして、 通信バッファ選択手段と、 読み込み待ち手段と、 データ読み込み手段と、 読み込み完了通知手段と、 受信終了判定手段と、 を備え、 送信要求に対して前記送信プロセッサは、 前記通信バッファ選択手段によって、前記共有メモリ上
    の2つの通信バッファのうちの1つを選択し、 前記書き込みロック手段は、選択された通信バッファに
    対応する通信フラグについて、書き込み可の状態になる
    まで待ち合わせを行うと共に、書き込み可になれば通信
    フラグを他のプロセッサからデータが書き込まれないよ
    うに書き込み不可の状態に更新し、 前記データ書き込み手段は、該通信バッファに対して、
    前記通信バッファのサイズ分の送信データを書き込み、 送信データの前記通信バッファへの書き込み完了後、前
    記書き込み完了通知手段によって、前記通信バッファに
    対応する通信フラグの状態を書き込み不可のまま読み込
    み可に変更し、 前記送信終了判定手段は、送信データの残りがあれば、
    前記通信バッファ選択手段に制御を戻し、残りがなけれ
    ば送信処理を終了させ、 再び制御が戻った前記通信バッファ選択手段は、前記二
    つの通信バッファのうち前回選択した通信バッファとは
    異なる他方の通信バッファを選択し、 このように、前記送信終了判定手段によって送信処理が
    終了するまで上記各手段の処理を繰り返し、 受信要求に対して、前記受信プロセッサは、 前記通信バッファ選択手段によって、前記送信プロセッ
    サの選択手段と同様の規則性をもって、前記共有メモリ
    上の前記2つの通信バッファのうち1つを選択し、 前記読み込み待ち手段は、該通信バッファに対応する通
    信フラグについて読み込み可の状態になるまで待ち合わ
    せを行い、 読み込み可になれば、前記データ読み込み手段は、前記
    通信バッファからデータを読み込み、 読み込みが終了した後、前記読み込み完了通知手段によ
    って通信フラグを読み込み不可および書き込み可の状態
    に変更し、 前記受信終了判定手段では、受信すべきデータが未だ残
    っていれば、前記通信バッファ選択手段に制御を戻し、
    残りがなければ受信処理を終了させ、 制御の戻って来た前記通信バッファ選択手段では、前回
    選択した通信バッファとは異なる他方の通信バッファを
    選択し、 前記受信終了判定手段によって受信処理が終るまで上記
    各手段の処理を繰り返す、 ことを特徴とするマルチプロセッサシステムにおけるデ
    ータ通信方式。
  5. 【請求項5】複数のプロセッサと、前記複数のプロセッ
    サで共有される共有メモリ及び前記各プロセッサに対応
    したローカルメモリを含む記憶装置と、を備えたマルチ
    プロセッサシステムにおいて、 (a)前記共有メモリの二つの通信バッファのうちの一
    つを規則的に選択する手段、 (b)選択された通信バッファを他のプロセッサによる
    書き込みを禁止すべく、前記通信バッファを書き込み不
    可の状態に変更する手段、 (c)自プロセッサに対応するローカルメモリから前記
    選択された通信バッファへデータをコピーする手段、 (d)受信プロセッサに書き込み完了を知らせる手段、 (e)送信すべきデータを全て通信バッファへ書き込ん
    だか否かを判断して送信処理の終了を判定する手段、 の上記(a)〜(e)の各手段をプロセッサで機能させ
    るためのプログラム、及び、 (f)前記共有メモリの前記二つの通信バッファの一つ
    を、前記送信側のプロセッサでの選択手段と同一規則で
    選択する手段、 (g)前記選択された通信バッファが読み込み可の状態
    となるまで待合せるように制御する手段、 (h)前記選択された通信バッファから自プロセッサに
    対応するローカルメモリへデータをコピーする手段、 (i)データ読み込み後、前記通信バッファを書き込み
    可状態に変更する手段、 (j)受信処理の終了を判定する手段、 の上記(f)〜(j)の各手段をプロセッサで機能させ
    るためのプログラムを記録した記録媒体。
JP9303476A 1997-10-17 1997-10-17 マルチプロセッサシステムにおけるデータ通信方式 Pending JPH11120156A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9303476A JPH11120156A (ja) 1997-10-17 1997-10-17 マルチプロセッサシステムにおけるデータ通信方式
US09/170,718 US6108693A (en) 1997-10-17 1998-10-14 System and method of data communication in multiprocessor system
AU89354/98A AU751616B2 (en) 1997-10-17 1998-10-16 System and method of data communication in multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9303476A JPH11120156A (ja) 1997-10-17 1997-10-17 マルチプロセッサシステムにおけるデータ通信方式

Publications (1)

Publication Number Publication Date
JPH11120156A true JPH11120156A (ja) 1999-04-30

Family

ID=17921421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9303476A Pending JPH11120156A (ja) 1997-10-17 1997-10-17 マルチプロセッサシステムにおけるデータ通信方式

Country Status (3)

Country Link
US (1) US6108693A (ja)
JP (1) JPH11120156A (ja)
AU (1) AU751616B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003110555A (ja) * 2001-09-28 2003-04-11 Sony Corp ネットワーク情報処理システム及び情報処理方法
JP2006350467A (ja) * 2005-06-13 2006-12-28 Olympus Corp 分散処理システム、分散処理方法及びプログラム
WO2007088581A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
WO2007088582A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
JP2009199210A (ja) * 2008-02-20 2009-09-03 Mitsubishi Electric Corp 通信システム及び情報収集装置
US8200934B2 (en) 2006-10-06 2012-06-12 Hitachi, Ltd. Data transfer unit in multi-core processor
JP2012173884A (ja) * 2011-02-18 2012-09-10 Fuji Xerox Co Ltd データ転送制御装置及びプログラム
US8656393B2 (en) 2008-12-25 2014-02-18 Fujitsu Semiconductor Limited Multi-core system
EP2704009A2 (en) 2012-08-31 2014-03-05 Fujitsu Limited Information processing apparatus, information processing method, and program
JP2015165371A (ja) * 2014-03-03 2015-09-17 キヤノン株式会社 データ通信システムおよびデータ通信方法、並びにプログラム

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789256B1 (en) * 1999-06-21 2004-09-07 Sun Microsystems, Inc. System and method for allocating and using arrays in a shared-memory digital computer system
JP2002207708A (ja) * 2001-01-12 2002-07-26 Mitsubishi Electric Corp 演算装置
US20040071199A1 (en) * 2002-07-03 2004-04-15 Commasic, Inc. Virtual finger method and apparatus for processing digital communication signals
US7124211B2 (en) * 2002-10-23 2006-10-17 Src Computers, Inc. System and method for explicit communication of messages between processes running on different nodes in a clustered multiprocessor system
US7386704B2 (en) * 2002-10-31 2008-06-10 Lockheed Martin Corporation Pipeline accelerator including pipeline circuits in communication via a bus, and related system and method
JP2006518057A (ja) * 2002-10-31 2006-08-03 ロッキード マーティン コーポレーション 改善された計算アーキテクチャ、関連システム、並びに、方法
JP2004171209A (ja) * 2002-11-19 2004-06-17 Matsushita Electric Ind Co Ltd 共有メモリデータ転送装置
US20040177224A1 (en) * 2003-03-07 2004-09-09 Patrick Devaney Local memory with ownership that is transferrable between neighboring processors
US20040193835A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Table lookup instruction for processors using tables in local memory
US20040193668A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Virtual double width accumulators for vector processing
US20040193838A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney Vector instructions composed from scalar instructions
US20040193837A1 (en) * 2003-03-31 2004-09-30 Patrick Devaney CPU datapaths and local memory that executes either vector or superscalar instructions
JP4100256B2 (ja) * 2003-05-29 2008-06-11 株式会社日立製作所 通信方法および情報処理装置
JP4500610B2 (ja) * 2004-07-07 2010-07-14 キヤノン株式会社 映像信号処理装置、メモリ制御方法、及びプログラム
US20060101250A1 (en) * 2004-10-01 2006-05-11 Lockheed Martin Corporation Configurable computing machine and related systems and methods
US7613886B2 (en) * 2005-02-08 2009-11-03 Sony Computer Entertainment Inc. Methods and apparatus for synchronizing data access to a local memory in a multi-processor system
JP4749002B2 (ja) * 2005-02-25 2011-08-17 ルネサスエレクトロニクス株式会社 データ転送装置、画像処理装置及びデータ転送制御方法
ATE529808T1 (de) * 2007-02-07 2011-11-15 Bosch Gmbh Robert Verwaltungsmodul, hersteller- und verbraucherrechner, anordnung davon und verfahren zur kommunikation zwischen rechnern über einen gemeinsam verwendeten speicher
KR20090033539A (ko) * 2007-10-01 2009-04-06 삼성전자주식회사 프로토콜 정의영역을 갖는 멀티포트 반도체 메모리 장치 및그를 채용한 멀티 프로세서 시스템과 멀티포트 반도체메모리 장치의 억세스 방법
US9385784B2 (en) * 2012-09-24 2016-07-05 Lg Electronics Inc. Mobile terminal, home appliance and method for operating the same
KR101924474B1 (ko) * 2013-01-07 2018-12-03 엘지전자 주식회사 전기제품
KR101924962B1 (ko) * 2012-10-04 2018-12-04 엘지전자 주식회사 이동 단말기, 홈 어플라이언스 및 그 동작방법
DE102013217158A1 (de) * 2013-08-28 2015-03-19 Continental Automotive Gmbh Dauerhaftes Speichern von Daten eines Fahrzeugsystems

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60258670A (ja) * 1984-06-05 1985-12-20 Fanuc Ltd デ−タ授受方法
JPS6371766A (ja) * 1986-09-12 1988-04-01 Fuji Facom Corp バツフア転送方式
JPS63149762A (ja) * 1986-12-15 1988-06-22 Toshiba Corp デ−タ伝送装置
JPH01166646A (ja) * 1987-12-22 1989-06-30 Nec Corp データ送信方式
JPH0795754B2 (ja) * 1988-05-27 1995-10-11 富士通株式会社 分割送信制御方式
JPH06348656A (ja) * 1993-06-04 1994-12-22 Yamatake Honeywell Co Ltd プロセッサ間データ転送方法
JPH07319840A (ja) * 1994-05-27 1995-12-08 Fuji Xerox Co Ltd マルチcpu装置
JP3544390B2 (ja) * 1994-06-29 2004-07-21 富士通株式会社 並列計算機で用いられるメッセージ通信方法
US5815167A (en) * 1996-06-27 1998-09-29 Intel Corporation Method and apparatus for providing concurrent access by a plurality of agents to a shared memory
US6044438A (en) * 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003110555A (ja) * 2001-09-28 2003-04-11 Sony Corp ネットワーク情報処理システム及び情報処理方法
JP2006350467A (ja) * 2005-06-13 2006-12-28 Olympus Corp 分散処理システム、分散処理方法及びプログラム
US8117626B2 (en) 2006-01-31 2012-02-14 Fujitsu Limited Asynchronous remote procedure calling method and computer product in shared-memory multiprocessor
WO2007088582A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
JP4734348B2 (ja) * 2006-01-31 2011-07-27 富士通株式会社 共有メモリ型マルチプロセッサにおける非同期遠隔手続き呼び出し方法、非同期遠隔手続き呼び出しプログラムおよび記録媒体
WO2007088581A1 (ja) * 2006-01-31 2007-08-09 Fujitsu Limited 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
JP5163128B2 (ja) * 2006-01-31 2013-03-13 富士通株式会社 共有メモリ型マルチプロセッサにおける手続の呼び出し方法、手続の呼び出しプログラム、記録媒体、およびマルチプロセッサ
US8200934B2 (en) 2006-10-06 2012-06-12 Hitachi, Ltd. Data transfer unit in multi-core processor
JP2009199210A (ja) * 2008-02-20 2009-09-03 Mitsubishi Electric Corp 通信システム及び情報収集装置
US8656393B2 (en) 2008-12-25 2014-02-18 Fujitsu Semiconductor Limited Multi-core system
JP2012173884A (ja) * 2011-02-18 2012-09-10 Fuji Xerox Co Ltd データ転送制御装置及びプログラム
EP2704009A2 (en) 2012-08-31 2014-03-05 Fujitsu Limited Information processing apparatus, information processing method, and program
US9063929B2 (en) 2012-08-31 2015-06-23 Fujitsu Limited Information processing apparatus, information processing method, computer-readable recording medium having stored therein program
JP2015165371A (ja) * 2014-03-03 2015-09-17 キヤノン株式会社 データ通信システムおよびデータ通信方法、並びにプログラム

Also Published As

Publication number Publication date
AU751616B2 (en) 2002-08-22
US6108693A (en) 2000-08-22
AU8935498A (en) 1999-05-06

Similar Documents

Publication Publication Date Title
JPH11120156A (ja) マルチプロセッサシステムにおけるデータ通信方式
US5829052A (en) Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
US5978839A (en) Data sharing method in a plurality of computer systems
JPS60246460A (ja) デジタルコンピユ−タ−システムで交信路の制御を割当てる調停機構
JPH0962558A (ja) データベース管理システム及び方法
JP2007026094A (ja) 実行装置およびアプリケーションプログラム
CN111124255B (zh) 数据存储方法、电子设备和计算机程序产品
KR920009449B1 (ko) 공통 버스제어방법 및 시스템
US6826622B2 (en) Method of transferring data between memories of computers
KR20020009823A (ko) 버스 시스템 및 그 버스 중재방법
KR100630071B1 (ko) 다중 프로세서 환경에서의 dma를 이용한 고속 데이터전송 방법 및 그 장치
JP2004355307A (ja) 通信方法および情報処理装置
JP2000029776A (ja) メモリ要求取消し方法
JP2001333137A (ja) 自主動作通信制御装置及び自主動作通信制御方法
US6516344B1 (en) Reducing network traffic for remote file system accesses by keeping track of unallocated regions in files
US8051251B2 (en) Method and apparatus for setting status of cache memory
JPH08212178A (ja) 並列計算機
JPH09269934A (ja) 共有メモリのデータ一致化方法および伝送システム
US6681260B1 (en) Data transfer method in function expansion system
JPH06274463A (ja) データ通信システム
JP3206585B2 (ja) バス制御装置、マスタ装置及びスレーブ装置並びにバス制御方法
JPS62179035A (ja) ジャーナル版数更新方法
JP2984594B2 (ja) マルチクラスタ情報処理システム
KR100431511B1 (ko) 클러스터 시스템에서 부하 분산이 가능한 전역버퍼 관리방법
JP3457084B2 (ja) パケットバス制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20000111