(57)【要約】【課題】受信ビジーの発生確率を低下させ、システムとしてのスループットの向上を図ることのできるプロセッサ間通信制御装置を得る。【解決手段】受信側プロセッサ３１，３２，３３は、任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す通信抑制情報を生成する。この通信抑制情報は、受信側マスタプロセッサ３５を介して送信側マスタプロセッサ２５で受信される。送信側マスタプロセッサ２５は、それぞれの中継プロセッサ２１，２２，２３宛に、通信抑制情報を送信し、中継プロセッサ２１，２２，２３は、受信した通信抑制情報に基づいて送信スケジュールを決定する。【選択図】図１
2008186388.tif 000002
【特許請求の範囲】
【請求項１】
それぞれデータ送信を行う複数の送信側プロセッサと、それぞれデータ受信を行う複数の受信側プロセッサの通信経路の組み合わせが任意に選択可能なマルチプロセッサシステムにおける前記複数の送信側プロセッサと前記複数の受信側プロセッサの通信制御を行うプロセッサ間通信制御装置であって、
それぞれの前記複数の受信側プロセッサが任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す通信抑制情報を生成する通信抑制情報生成手段と、
前記通信抑制情報を前記複数の送信側プロセッサに配信する通信抑制情報配信手段とを備えたプロセッサ間通信制御装置。
【請求項２】
通信抑制情報は、複数の受信側プロセッサ及び複数の送信側プロセッサの処理単位時間毎に、いずれかの受信側プロセッサがどの送信側プロセッサからデータ受信が可能であるかを示すことを特徴とする請求項１記載のプロセッサ間通信制御装置。
【請求項３】
通信抑制情報配信手段は、複数の受信側プロセッサから受信した通信抑制情報に基づいて、送信側プロセッサ毎の通信抑制情報を生成し、当該送信側プロセッサ毎の通信抑制情報を、対応した送信側プロセッサに送信することを特徴とする請求項１または請求項２に記載のプロセッサ間通信制御装置。
【請求項４】
複数の送信側プロセッサは、通信抑制情報配信手段から配信された通信抑制情報に基づいて、処理単位時間毎にどの受信側プロセッサ宛にデータ送信するかを示すスケジュール管理を行うことを特徴とする請求項２記載のプロセッサ間通信制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、マルチプロセッサシステムにおけるプロセッサ間の通信制御を行うプロセッサ間通信制御装置に関するものである。
【背景技術】
【０００２】
従来のマルチプロセッサシステムでは、ある一つのプロセッサから他のプロセッサにデータを提供する際に、データを送る送信プロセッサとデータを受ける受信プロセッサとの間の通信処理を開始しようとする時点で受信側プロセッサが受信可能な状態であるとは限らなかった。更に、送信プロセッサが受信プロセッサの処理状況を関知せずに通信処理を開始するために受信プロセッサが受信ビジーとなって、送信プロセッサ側でデータの再送処理が発生することがあった。
【０００３】
このような問題を解決するため、受信プロセッサが受信可能な状態かどうかを送信プロセッサから識別可能とするための状態識別レジスタを設け、この状態識別レジスタの内容に基づいて、受信プロセッサが受信不可能な状態のときには通信処理を抑制するようにしたものがあった（例えば、特許文献１参照）。
【０００４】
【特許文献１】特開平３−８７９６２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような形態のシステムにおいては、送信プロセッサが受信プロセッサの状態を把握するためには、事前に状態識別レジスタの内容を取得しなければならず、
システム全体としてのスループットの向上があまり見込めないという問題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、受信ビジーの発生確率を低下させ、システムとしてのスループットの向上を図ることのできるプロセッサ間通信制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るプロセッサ間通信制御装置は、複数の送信側プロセッサと複数の受信側プロセッサの通信経路の組み合わせが任意に選択可能なマルチプロセッサシステムにおいて、それぞれの複数の受信側プロセッサが任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す通信抑制情報を生成する通信抑制情報生成手段と、通信抑制情報を複数の送信側プロセッサに配信する通信抑制情報配信手段とを備えたものである。
【発明の効果】
【０００８】
この発明のプロセッサ間通信制御装置は、複数の受信側プロセッサが任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す通信抑制情報を生成し、これを複数の送信側プロセッサに配信するようにしたので、この通信抑制情報に基づいて送信側プロセッサが送信を行うことで、受信ビジーの発生確率を低下させることができ、システムとしてのスループットの向上を図ることができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１によるプロセッサ間通信制御装置を示す構成図である。
図において、プロセッサ間通信制御装置は、送信プロセッサ（Ｂ０）１１，（Ｂ１）１２，（Ｂ２）１３、中継プロセッサ（Ｘ０）２１，（Ｘ１）２２，（Ｘ２）２３、受信側プロセッサ（Ｙ０）３１，（Ｙ１）３２，（Ｙ２）３３を備えている。ここで、送信プロセッサ１１，１２，１３は、それぞれデータを生成して他のプロセッサに送信するプロセッサである。中継プロセッサ２１，２２，２３は、送信プロセッサ１１，１２，１３からのデータを処理してデータＬＡＮ４０に送信するプロセッサであり、受信側プロセッサ３１，３２，３３に対して送信側プロセッサを構成している。受信側プロセッサ３１，３２，３３はデータＬＡＮ４０から受信したデータを処理するプロセッサである。
【００１０】
それぞれの送信プロセッサ１１，１２，１３と、中継プロセッサ２１，２２，２３とは一対一に接続されている。中継プロセッサ２１，２２，２３は、データＬＡＮ４０とスイッチ５０とを介して受信側プロセッサ３１，３２，３３に接続され、中継プロセッサ２１，２２，２３で中継されるデータは、任意の受信側プロセッサ３１，３２，３３に転送可能に構成されている。即ち、中継プロセッサ２１，２２，２３と受信側プロセッサ３１，３２，３３とのデータ送受信の組み合わせは任意に選択可能になっている。
【００１１】
また、中継プロセッサ２１，２２，２３は、システムバス２４を介して送信側マスタプロセッサ２５が接続され、受信側プロセッサ３１，３２，３３には、システムバス３４を介して受信側マスタプロセッサ３５が接続されている。更に、送信側マスタプロセッサ２５と受信側マスタプロセッサ３５とは制御ＬＡＮ６０を介して通信接続されている。また、中継プロセッサ２１，２２，２３、システムバス２４及び送信側マスタプロセッサ２５は中継プロセッサ用筐体２０に収納され、受信側プロセッサ３１，３２，３３、システムバス３４及び受信側マスタプロセッサ３５は、受信側プロセッサ用筐体３０に収納されている。
【００１２】
図２は、中継プロセッサ２１，２２，２３の構成図である。
図示のように、中継プロセッサ２１，２２，２３は、データバッファ２０１、データ処理手段２０２、送信バッファ２０３、データ送信手段２０４、通信制御パケット受信手段２０５、通信制御パケット解析手段２０６、送信スケジュール決定手段２０７を備えている。データバッファ２０１は、データ処理手段２０２が処理を行うためのデータを一時格納するためのバッファであり、データ処理手段２０２は、中継プロセッサとしてのデータ処理を行う手段である。送信バッファ２０３は、データ処理手段２０２によって処理され、データＬＡＮ４０に送出するためのデータを一時格納するためのバッファ、データ送信手段２０４は、送信バッファ２０３に格納されているデータを所定の送信スケジュールに従ってデータＬＡＮ４０へ送信する手段である。
【００１３】
通信制御パケット受信手段２０５は、送信側マスタプロセッサ２５から送信された通信抑制情報である通信制御パケットをシステムバス２４を介して受信する手段であり、通信制御パケット解析手段２０６は、通信制御パケット受信手段２０５で受信された通信制御パケットを解析する手段である。送信スケジュール決定手段２０７は、通信制御パケット解析手段２０６で解析された通信抑制フラグに基づいてデータ送信手段２０４の送信スケジュールを決定する手段である。
【００１４】
図３は、受信側プロセッサ３１，３２，３３の構成図である。
図示のように、受信側プロセッサ３１，３２，３３は、データ受信手段３０１、受信バッファ３０２、データ処理手段３０３、通信制御パケット生成手段３０４、通信制御パケット送信手段３０５を備えている。データ受信手段３０１は、データＬＡＮ４０を介していずれかの中継プロセッサ２１，２２，２３から送信されたデータを受信する手段、受信バッファ３０２は、データ受信手段３０１で受信したデータを一時格納するためのバッファ、データ処理手段３０３は、受信バッファ３０２に格納されたデータに対して所定の処理を行う手段である。
【００１５】
通信制御パケット生成手段３０４は、データ処理手段３０３におけるデータ処理の負荷状況や受信バッファ３０２の空き状況に基づいて、単位時間毎にどの中継プロセッサ２１，２２，２３からデータ受信が可能かを表す通信抑制情報である通信制御パケットを生成する手段であり、通信制御パケット送信手段３０５は、通信制御パケット生成手段３０４で生成された通信制御パケットをシステムバス３４を介して受信側マスタプロセッサ３５に対して送信する手段である。
【００１６】
また、通信制御パケット生成手段３０４、通信制御パケット送信手段３０５及び受信側マスタプロセッサ３５、送信側マスタプロセッサ２５により、通信抑制情報生成手段が構成され、送信側マスタプロセッサ２５により、通信抑制情報配信手段が構成されている。
【００１７】
尚、中継プロセッサ２１，２２，２３におけるデータ処理手段２０２，データ送信手段２０４，通信制御パケット解析手段２０６，送信スケジュール決定手段２０７や、受信側プロセッサ３１，３２，３３におけるデータ処理手段３０３〜通信制御パケット送信手段３０５の各構成は、それぞれの機能に対応するソフトウェアと、これを実行するためのプロセッサやメモリ等のハードウェアから構成されている。
【００１８】
次に、実施の形態１の動作について説明する。
実施の形態１では、各プロセッサは通信制御を行うものとし、送信プロセッサ（Ｂ０）１１，（Ｂ１）１２，（Ｂ２）１３はレイヤＢ、中継プロセッサ（Ｘ０）２１，（Ｘ１）２２，（Ｘ２）２３はレイヤＸ、受信側プロセッサ（Ｙ０）３１，（Ｙ１）３２，（Ｙ２）３３は、レイヤＹの処理を行うものとする。
【００１９】
ここで、レイヤＸを構成する中継プロセッサ２１，２２，２３の動作に着目すれば、プロセッサＢ０のデータを受信したプロセッサＸ０は、プロセッサＢ０から送信されたデータを処理し、プロセッサＹ０に送信すべきデータを生成する。同様に、プロセッサＢ１のデータを受信したプロセッサＸ１はプロセッサＹ１に送信すべきデータ、プロセッサＢ２のデータを受信したプロセッサＸ２はプロセッサＹ２に送信すべきデータ、を各々生成する。
【００２０】
図１に示す通り、レイヤＸとレイヤＹはスイッチ５０経由で接続される。レイヤＢからレイヤＸへの通信処理が各々のプロセッサ間でほぼ同時に開始されるとすれば、レイヤＸからレイヤＹへの通信経路を通じて送信されるデータのうち最初のデータは、ほぼ同じタイミングで送信処理が開始される。ここで、例えば、プロセッサＸ０〜Ｘ２から送信されたデータがプロセッサＹ０に集中した場合、マイクロ秒以下のオーダでみればプロセッサＹ０は二つ以上のデータを同時に受信することはできないので、三つの通信処理が受信ビジーで待たされることになる。尚、ここで、スイッチ５０は全ての通信処理が同時に起動されても輻輳しないだけの十分な能力を備え、かつ、全二重通信に対応しているものとする。
【００２１】
そこで、レイヤＹにおける受信ビジーの発生確率を低減させるために、レイヤＹの受信側プロセッサ３１，３２，３３は処理単位時間毎の通信抑制フラグを設定し、レイヤＸの各プロセッサがデータ送信をスケジューリングするための情報をレイヤＸの各プロセッサに提供する。
【００２２】
図４は、実施の形態１の動作を示すシーケンスチャートである。
先ず、受信側マスタプロセッサ３５は、受信側プロセッサ３１，３２，３３が通信制御パケットを生成するための通信制御パケットの初期設定を行い（ステップＳＴ１）、この通信制御パケットを受信側プロセッサ３１，３２，３３に送信する（ステップＳＴ２）。
【００２３】
図５は、通信制御パケットのフォーマットを示す説明図である。
図示のように、通信制御パケットは、受信側プロセッサ３１，３２，３３を識別するための受信プロセッサＩＤと、どの中継プロセッサ（送信側プロセッサ）２１，２２，２３に対する通信制御パケットであるかを示す送信プロセッサＩＤと、処理単位時間毎の通信抑制フラグを示す（通信抑制フラグ＃０，時刻情報＃０）〜（通信抑制フラグ＃９，時刻情報＃９）から構成されている。尚、ここでは単位時間として０〜９迄の期間としている。
【００２４】
レイヤＹの処理を行う受信側プロセッサ３１，３２，３３の通信制御パケット生成手段３０４は、受信側マスタプロセッサ３５で初期設定された通信制御パケットを受信すると（ステップＳＴ３）、各プロセッサの内部処理の負荷状況と受信バッファ３０２の空き状況に基づいて、通信制御パケットを更新し（ステップＳＴ４）、受信側マスタプロセッサ３５に送信する（ステップＳＴ５）。
【００２５】
図６は、受信側プロセッサ（Ｙ０）３１が生成した通信制御パケットの一例を示す説明図である。ここで、期間Ｔ０〜Ｔ９は、図５に示した通信制御パケットにおける時刻情報＃０〜＃９に対応しているものである。
図中、例えば、Ｘ０Ｙ０は、中継プロセッサ（Ｘ０）２１に対する受信側プロセッサ（Ｙ０）３１の通信抑制フラグの状態を示すもので、期間Ｔ０〜Ｔ９のうち、Ｔ０及びＴ４〜Ｔ９は通信抑制フラグが０であり、その時間帯は中継プロセッサ２１からのデータを受信できない状態であることを示している。また、期間Ｔ１〜Ｔ３は、通信抑制フラグが０でなく受信可能であることを示している。同様に、Ｘ１Ｙ０は中継プロセッサ（Ｘ１）２２に対する通信抑制フラグ、Ｘ２Ｙ０は中継プロセッサ（Ｘ２）２３に対する通信抑制フラグを示している。即ち、受信側プロセッサ（Ｙ０）３１から出力される通信制御パケットは、期間Ｔ１〜Ｔ３は中継プロセッサ（Ｘ０）２１、Ｔ４〜Ｔ６は中継プロセッサ（Ｘ１）２２、Ｔ７〜Ｔ９は中継プロセッサ（Ｘ２）２２からの受信が可能なことを示している。
【００２６】
各受信側プロセッサ３１，３２，３３から送信された通信制御パケットは受信側マスタプロセッサ３５及び制御ＬＡＮ６０を介して送信側マスタプロセッサ２５で受信される（ステップＳＴ６）。送信側マスタプロセッサ２５は、受信側プロセッサ３１，３２，３３からの通信制御パケットを元にして、それぞれの中継プロセッサ２１，２２，２３宛の通信制御パケットを生成し（ステップＳＴ７）、システムバス２４を介して各中継プロセッサ２１，２２，２３宛に送信する（ステップＳＴ８）。
【００２７】
図７は、中継プロセッサ（Ｘ０）２１宛の通信制御パケットを示す説明図である。
ここで、Ｘ０Ｙ０は、受信側プロセッサ（Ｙ０）３１が中継プロセッサ（Ｘ０）２１に対して生成した通信制御パケット、Ｘ０Ｙ１は、受信側プロセッサ（Ｙ１）３２が中継プロセッサ（Ｘ０）２１に対して生成した通信制御パケット、Ｘ０Ｙ２は、受信側プロセッサ（Ｙ２）３２が中継プロセッサ（Ｘ０）２１に対して生成した通信制御パケットである。
【００２８】
それぞれの中継プロセッサ２１，２２，２３は、通信制御パケット受信手段２０５によって、送信側マスタプロセッサ２５からの通信制御パケットを受信すると（ステップＳＴ９）、通信制御パケット解析手段２０６はこれらの通信制御パケットの解析を行う。次に、送信スケジュール決定手段２０７は、通信制御パケット解析手段２０６で解析された通信制御パケットの内容に基づいて送信スケジュールを更新する（ステップＳＴ１０）。これにより、データ送信手段２０４は、更新されたスケジュールに基づいて受信側プロセッサ３１，３２，３３へのデータ送信を行う（ステップＳＴ１１）。
【００２９】
図８は、中継プロセッサ（Ｘ０）２１における送信スケジュールを示す説明図である。
図示の送信スケジュールは、図７の通信制御パケットに基づいて決定されたものである。例えば、受信側プロセッサ（Ｙ０）３１は、期間Ｔ１〜Ｔ３が受信可能であるため、期間Ｔ１〜Ｔ３は、受信側プロセッサ（Ｙ０）３１に対してデータ送信を行う。次に、受信側プロセッサ（Ｙ１）３２は、期間Ｔ０，Ｔ１，Ｔ５，Ｔ６が受信可能であるが、期間Ｔ１は、受信側プロセッサ（Ｙ０）３１へのデータ送信を行うよう決定したため、期間Ｔ０，Ｔ５，Ｔ６をデータ送信期間とする。更に、受信側プロセッサ（Ｙ２）３３は、期間Ｔ０，Ｔ４，Ｔ８，Ｔ９が受信可能であるが、期間Ｔ０は、受信側プロセッサ（Ｙ１）３２へのデータ送信を行うよう決定したため、期間Ｔ４，Ｔ８，Ｔ９をデータ送信期間とする。
【００３０】
このような送信スケジュールに基づいて送信されたデータは、宛先として指定されている受信側プロセッサ３１，３２，３３のデータ受信手段３０１で受信され（ステップＳＴ１２）、それぞれの受信側プロセッサ３１，３２，３３では、データ受信による内部処理の負荷状況や受信バッファ３０２の空き状況に基づいて通信制御パケット生成手段３０４が通信制御フラグを更新し（ステップＳＴ１３）、これらの通信制御フラグを含む通信制御パケットを受信側マスタプロセッサ３５宛に送信する（ステップＳＴ１４）。また、データ処理手段３０３は、受信したデータの処理を行う（ステップＳＴ１５）。
このような通信制御パケットの更新処理は、中継プロセッサ２１，２２，２３から受信側プロセッサ３１，３２，３３へデータ送信を行っている間は繰り返し行う。
【００３１】
以上述べた実施の形態では、プロセッサ間のデータ通信をレイヤＢ，Ｘ，Ｙと模式化して説明したが、例えば本実施の形態のシステムをレーダ・システムに適用した場合は、レイヤＢをアンテナ、レイヤＸをデータ処理または信号処理、レイヤＹをコンソール画面の描画処理（ビデオ処理）に置き換えることで、同様の効果を得ることができる。
【００３２】
また、以上の実施の形態では、通信抑制情報を、処理単位時間毎の通信抑制フラグで構成したが、受信側プロセッサ３１，３２，３３から中継プロセッサ２１，２２，２３に対して、任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す情報であればどのような情報であってもよい。
【００３３】
以上のように、実施の形態１のプロセッサ間通信制御装置によれば、それぞれデータ送信を行う複数の送信側プロセッサと、それぞれデータ受信を行う複数の受信側プロセッサの通信経路の組み合わせが任意に選択可能なマルチプロセッサシステムにおける複数の送信側プロセッサと複数の受信側プロセッサの通信制御を行うプロセッサ間通信制御装置であって、それぞれの複数の受信側プロセッサが任意の時間にどの送信側プロセッサからデータ受信が可能であるかを示す通信抑制情報を生成する通信抑制情報生成手段と、通信抑制情報を複数の送信側プロセッサに配信する通信抑制情報配信手段とを備えたので、送信側プロセッサが通信抑制情報に基づいて送信を行うことで、受信ビジーの発生確率を低下させ、システムとしてのスループットの向上を図ることができる。
【００３４】
また、実施の形態１のプロセッサ間通信制御装置によれば、通信抑制情報は、複数の受信側プロセッサ及び複数の送信側プロセッサの処理単位時間毎に、いずれかの受信側プロセッサがどの送信側プロセッサからデータ受信が可能であるかを示すようにしたので、処理単位時間毎に送信を制御することができ、更にシステムとしてのスループットの向上を図ることができる。
【００３５】
また、実施の形態１のプロセッサ間通信制御装置によれば、通信抑制情報配信手段は、複数の受信側プロセッサから受信した通信抑制情報に基づいて、送信側プロセッサ毎の通信抑制情報を生成し、送信側プロセッサ毎の通信抑制情報を、対応した送信側プロセッサに送信するようにしたので、送信側プロセッサは、送信された通信抑制情報を得ることにより容易に受信側プロセッサへの送信スケジュール管理を行うことができる。
【００３６】
また、実施の形態１のプロセッサ間通信制御装置によれば、複数の送信側プロセッサは、通信抑制情報配信手段から配信された通信抑制情報に基づいて、処理単位時間毎にどの受信側プロセッサ宛にデータ送信するかを示すスケジュール管理を行うようにしたので、確実に送信制御を行うことができ、更にシステムとしてのスループットの向上を図ることができる。
【図面の簡単な説明】
【００３７】
【図１】この発明の実施の形態１によるプロセッサ間通信制御装置を適用するマルチプロセッサシステムを示す構成図である。
【図２】この発明の実施の形態１によるプロセッサ間通信制御装置の中継プロセッサの構成図である。
【図３】この発明の実施の形態１によるプロセッサ間通信制御装置の受信側プロセッサの構成図である。
【図４】この発明の実施の形態１によるプロセッサ間通信制御装置の動作シーケンスを示す説明図である。
【図５】この発明の実施の形態１によるプロセッサ間通信制御装置の通信制御パケットの説明図である。
【図６】この発明の実施の形態１によるプロセッサ間通信制御装置の受信側プロセッサＹ０が生成した通信制御パケットの一例を示す説明図である。
【図７】この発明の実施の形態１によるプロセッサ間通信制御装置の送信側プロセッサＸ０宛の通信制御パケットを示す説明図である。
【図８】この発明の実施の形態１によるプロセッサ間通信制御装置の送信側プロセッサＸ０における送信スケジュールを示す説明図である。
【符号の説明】
【００３８】
２１，２２，２３  中継プロセッサ（送信側プロセッサ）、２５  送信側マスタプロセッサ、３１，３２，３３  受信側プロセッサ、３５  受信側マスタプロセッサ、５０  スイッチ、２０５  通信制御パケット受信手段、２０６  通信制御パケット解析手段、２０７  送信スケジュール決定手段、３０４  通信制御パケット生成手段、３０５  通信制御パケット送信手段。
【図１】
2008186388.tif 000003
【図２】
2008186388.tif 000004
【図３】
2008186388.tif 000005
【図４】
2008186388.tif 000006
【図５】
2008186388.tif 000007
【図６】
2008186388.tif 000008
【図７】
2008186388.tif 000009
【図８】
2008186388.tif 000010