Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5310735B2 - パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法 - Google Patents
[go: Go Back, main page]

JP5310735B2 - パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法 - Google Patents

パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法 Download PDF

Info

Publication number
JP5310735B2
JP5310735B2 JP2010539197A JP2010539197A JP5310735B2 JP 5310735 B2 JP5310735 B2 JP 5310735B2 JP 2010539197 A JP2010539197 A JP 2010539197A JP 2010539197 A JP2010539197 A JP 2010539197A JP 5310735 B2 JP5310735 B2 JP 5310735B2
Authority
JP
Japan
Prior art keywords
packets
processor
communication
packet
communication path
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 - Fee Related
Application number
JP2010539197A
Other languages
English (en)
Other versions
JPWO2010058693A1 (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.)
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 JP2010539197A priority Critical patent/JP5310735B2/ja
Publication of JPWO2010058693A1 publication Critical patent/JPWO2010058693A1/ja
Application granted granted Critical
Publication of JP5310735B2 publication Critical patent/JP5310735B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)

Description

本発明は、パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関し、例えば、並列コンピュータで使用されるパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法に関する。
並列コンピュータでのプロセッサ間通信では、送信データが、複数のパケットに分割され、各パケットが、プロセッサ間ネットワークを通して、宛先のプロセッサまで転送される。プロセッサ間ネットワークには、クロスバスイッチ等のプロセッサ間データ転送装置が存在する。
プロセッサ間通信では、複数のパケットの順序を保証しなければならない通信、つまり、パケットの送信順序の通りにパケットが受信されなければならない通信がある。以下、複数のパケットの順序を保証しなければならない通信を、「順序保証通信」と称する。
順序保証通信の1つの例は、送信側が、送信データの分割によって生成されたパケットにシーケンス番号を付与して送信し、受信側が、パケットの受信時に、そのシーケンス番号の予測値と、到着したパケットに付与されたシーケンス番号と、を比較して、エラー検出をする通信である。
この場合、もし、プロセッサ間ネットワーク内でパケット間の順序が変わると、受信側は、予測値と異なるシーケンス番号の付いたパケットを受信してしまい、エラーと判定する。
順序保障通信の他の例は、受信側が、送信データの最後の部分を有するパケットを受信して、その最後の部分を書き込んだときに、送信データ全体の受信が完了したと判断する通信である。
この場合、もし、プロセッサ間ネットワーク内でパケットの順序が変わると、1つの送信データから生成された複数のパケットのすべてが受信される前に、受信側は、受信完了と判断して送信データを読み出す。このため、1つの送信データのすべてが書き込まれる前の値が読み出されてしまう。
このように、プロセッサ間ネットワーク内でパケットの順序を保証することは重要なことである。
順序保証が必要な通信は、1つの送信データの分割によって生成された複数のパケットが、同じプロセッサから、同じ宛先のプロセッサに送信される通信である。なお、パケットが、同じプロセッサから同じ宛先のプロセッサに送信される通信でも、異なる送信データから生成されたパケット間の順序保証は不要である。
特許文献1には、並列プロセッサ間のネットワークにおいて、故障情報を元にデータの転送経路を変更して故障スイッチを迂回する技術が開示されている。
特許文献2には、故障したクロスバスイッチの代わりに使用される部分ネットワークが予め決められている、プロセッサ間データ通信方法が開示されている。
特許第2960454号公報 特開平8−77127号公報
並列コンピュータのプロセッサ間ネットワークで障害が発生した場合に障害箇所を切り離す障害処理において、特許文献1および2に記載されたように、単純に転送経路を変更して故障箇所を迂回するだけでは、順序保証が必要なパケットの順序を保証することができないという課題がある。
なぜなら、先行したパケットが通る経路と、後続のパケットが通る迂回経路とが異なるため、その経路間の混雑度の差によっては、パケットの到着順序が逆転する可能性があるためである。
本発明の目的は、上述した課題を解決可能なパケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法を提供することである。
本発明のパケット転送装置は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納部と、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御部と、を含む。
本発明のプロセッサ間通信システムは、前記パケット転送装置と、前記複数の通信経路と、を含む。
本発明の並列プロセッサシステムは、前記プロセッサ間通信システムと、前記第1プロセッサと、前記第2プロセッサと、を含む。
本発明のパケット転送方法は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。
本発明のパケット転送方法は、第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。
本発明のパケット転送方法は、第1プロセッサと、第2プロセッサと、前記第2プロセッサに通じる複数の通信経路と、前記第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行う並列コンピュータシステムが行うパケット転送方法であって、前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納部に格納し、前記パケット転送装置が、前記通信中情報が前記格納部に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える。
本発明によれば、通信経路の切り替えが生じる際にも、複数のパケットの順序を保証することが可能になる。
本発明の第1の実施の形態の並列プロセッサシステムの構成を示したブロック図である。 プロセッサ間ネットワーク2で通信されるパケット200の形式を説明するための説明図である。 プレーン間クロスバ105の詳細を示した説明図である。 プレーン間クロスバ105でのプロセッサ行き方向のデータパスを示した説明図である。 プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。 本発明の第1の実施の形態のプレーン間クロスバの動作を説明する図である。 本発明の第2の実施の形態で使用されるパケット700の形式を説明するための説明図である。 本発明の第2の実施の形態のプレーン間クロスバのネットワークプレーン行き方向のデータパスを示した説明図である。
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態の並列プロセッサシステム、プロセッサ間通信システムおよびパケット転送装置を示したブロック図である。
図1において、並列プロセッサシステム1は、複数のネットワークプレーン101〜104と、複数のプレーン間クロスバ(プレーン間クロスバスイッチ)105〜112と、複数のプロセッサ113〜144と、を含む。
並列プロセッサシステム1では、プロセッサ113〜144が、相互に協調しあって並列演算を行う。プロセッサ113〜144のそれぞれは、一般的に、第1プロセッサおよび第2プロセッサと呼ぶことができる。
プロセッサ113〜144のそれぞれは、他のプロセッサに送信すべきデータ(以下「送信用データ」と称する)があると、送信用データを分割して、他のプロセッサ宛ての複数のパケットを生成する。
複数のパケットが順序保証を必要とする場合、プロセッサ113〜144のそれぞれは、複数のパケットのそれぞれに、順序保証を必要とする旨の情報を付加する。
順序保証を必要とする複数のパケットは、一般的に所定の複数のパケットと呼ぶことができる。この複数のパケットによって、1つの通信命令が構成される。
プロセッサ113〜144のそれぞれは、1つの通信命令を構成する個々のパケットを、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
プロセッサ間ネットワーク2は、一般的にプロセッサ間通信システムと呼ぶことができる。
プロセッサ間ネットワーク2は、プロセッサ113〜144のそれぞれと接続されている。プロセッサ間ネットワーク2は、複数のネットワークプレーン101〜104と、複数のプレーン間クロスバ105〜112と、を含む。
ネットワークプレーン101〜104は、一般的に複数の通信経路と呼ぶことができる。また、ネットワークプレーン101〜104は、互いに直接接続されていない独立した複数の部分ネットワークと呼ぶことができる。
ネットワークプレーン101〜104のそれぞれは、8入力8出力のネットワークである。ネットワークプレーン101〜104のそれぞれは、8入力8出力の3個のクロスバ(クロスバスイッチ)145〜147を含む。
プレーン間クロスバ105〜112のそれぞれは、一般的にパケット転送装置と呼ぶことができる。
プレーン間クロスバ105〜112のそれぞれは、ネットワークプレーン101〜104と接続されている。
プレーン間クロスバ105は、プロセッサ113〜116とも接続されている。プレーン間クロスバ106は、プロセッサ117〜120とも接続されている。プレーン間クロスバ107は、プロセッサ121〜124とも接続されている。プレーン間クロスバ108は、プロセッサ125〜128とも接続されている。プレーン間クロスバ109は、プロセッサ129〜132とも接続されている。プレーン間クロスバ110は、プロセッサ133〜136とも接続されている。プレーン間クロスバ111は、プロセッサ137〜140とも接続されている。プレーン間クロスバ112は、プロセッサ141〜144とも接続されている。
プレーン間クロスバ105〜112のそれぞれは、8入力8出力のクロスバである。
プレーン間クロスバ105〜112のそれぞれは、自己に接続されているプロセッサ(第1プロセッサ)から1つずつ順番に送信された他のプロセッサ(第2プロセッサ)宛ての複数のパケットを受信し、そのパケットのそれぞれを、ネットワークプレーン101〜104のうち転送先として設定されたネットワークプレーンに転送する。
ネットワークプレーン101〜104のそれぞれは、プレーン間クロスバ105〜112のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、プレーン間クロスバ105〜112のいずれかに転送する。
プレーン間クロスバ105〜112のそれぞれは、ネットワークプレーン101〜104のいずれかからパケットを受信すると、そのパケットに記載されたルーティングに関する情報に基づいて、そのパケットを、自己に接続されているプロセッサのいずれかに転送する。
このため、ネットワークプレーン101〜104は、パケットの宛先のプロセッサに通じる複数の通信経路として機能する。
ここでは、並列プロセッサシステム1の一例として、図1に示したような構成を示しているが、部分ネットワークであるネットワークプレーンの数、部分ネットワークのトポロジおよび構成、プレーン間クロスバのポート数および個数、並びに、プロセッサの個数は、任意である。
図2は、プロセッサ間ネットワーク2で通信されるパケット200の形式を説明するための説明図である。
図2において、パケット200は、プロセッサ113〜144のそれぞれによって生成される。本実施形態では、プロセッサ113〜144のそれぞれは、送信用データを分割することによって、複数のパケット200を生成する。プロセッサ113〜144のそれぞれは、個々のパケット200を、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
パケット200は、経路指定情報201、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。
経路指定情報201は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報201は、第1経路指定情報206と、第2経路指定情報207と、第3経路指定情報208と、を含む。
第1経路指定情報206は、プレーン間クロスバ105〜112のうち、プロセッサ113〜144のいずれかからパケット200を受信したプレーン間クロスバ(以下「受信プレーン間クロスバ」と称する)によって使用される。
第1経路指定情報206は、ネットワークプレーン101〜104のうち、受信プレーン間クロスバからの送信先となるネットワークプレーン(以下「送信先ネットワークプレーン」と称する)を指定するための情報(ルーティングに関する情報)である。
本実施形態では、第1経路指定情報206は、受信プレーン間クロスバの出力ポートのうち、送信先ネットワークプレーンと接続している出力ポート(宛先出力ポート)を指定する。
第2経路指定情報207は、送信先ネットワークプレーンによって使用される。第2経路指定情報207は、プレーン間クロスバ105〜112のうち、送信先ネットワークプレーンからの送信先となるプレーン間クロスバ(以下「送信先プレーン間クロスバ」と称する)を指定するための情報(ルーティングに関する情報)である。
本実施形態では、第2経路指定情報207は、送信先ネットワークプレーンの出力ポートのうち、送信先プレーン間クロスバと接続している出力ポートを指定する。
第3経路指定情報208は、送信先プレーン間クロスバによって使用される。第3経路指定情報208は、プロセッサ113〜144のうち、送信先プレーン間クロスバからの送信先となるプロセッサ(以下「送信先プロセッサ」と称する)を指定するための情報(ルーティングに関する情報)である。
本実施形態では、第3経路指定情報208は、送信先プレーン間クロスバの出力ポートのうち、送信先プロセッサと接続している出力ポートを指定する。
順序保証フラグ202は、パケット200が、プロセッサ間ネットワーク2内で順序保証が必要なパケットかどうかを示す。
本実施形態では、順序保証フラグ202が“1”である場合は、パケット200は、順序保証が必要なパケットであることを示す。一方、順序保証フラグ202が“0”である場合は、パケット200は、順序保証が必要ないパケットであることを示す。
ラストパケットフラグ203は、パケット200が、1つの通信命令の最後のパケットであるかどうかを示す。
本実施形態では、ラストパケットフラグ203が“0”である場合は、パケット200は、1つの通信命令の最後のパケットでないことを示す。一方、ラストパケットフラグ203が“1”である場合は、パケット200は、1つの通信命令の最後のパケットであることを示す。
パケット長204は、データ205の長さを指定する。
図3は、プレーン間クロスバ105の詳細を示した説明図である。図3において、図1に示したものと同一構成のものには同一符号を付してある。
図3では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105〜112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
図3では、プレーン間クロスバ105でのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105でのプロセッサ行き方向のデータパスは、図4で説明する。
プレーン間クロスバ105は、ネットワークプレーン行き方向のデータパスについては、4つの入力ポート301〜304と、4つの出力ポート305〜308と、を含む。
出力ポート305に番号「0」が付してある。出力ポート306に番号「1」が付してある。出力ポート307に番号「2」が付してある。出力ポート308に番号「3」が付してある。なお、番号は、一般的に識別情報と呼ぶことができる。
4つの入力ポート301〜304のそれぞれは、プロセッサ113〜116のいずれかに接続されている。本実施形態では、入力ポート301はプロセッサ113と接続されている。入力ポート302はプロセッサ114と接続されている。入力ポート303はプロセッサ115と接続されている。入力ポート304はプロセッサ116と接続されている。
4つの出力ポート305〜308のそれぞれは、ネットワークプレーン101〜104のいずれかに接続されている。本実施形態では、出力ポート305はネットワークプレーン101と接続されている。出力ポート306はネットワークプレーン102と接続されている。出力ポート307はネットワークプレーン103と接続されている。出力ポート308はネットワークプレーン104と接続されている。
プレーン間クロスバ105は、格納部105a〜105dと、制御部105eと、を含む。
格納部105a〜105dのそれぞれは、一般的に格納手段と呼ぶことができる。
格納部105aは、切り替え状態レジスタ309と、切り替え先レジスタ310と、通常宛先レジスタ311と、仕掛中レジスタ312と、を含む。格納部105bは、切り替え状態レジスタ313と、切り替え先レジスタ314と、通常宛先レジスタ315と、仕掛中レジスタ316と、を含む。格納部105cは、切り替え状態レジスタ317と、切り替え先レジスタ318と、通常宛先レジスタ319と、仕掛中レジスタ320と、を含む。格納部105dは、切り替え状態レジスタ321と、切り替え先レジスタ322と、通常宛先レジスタ323と、仕掛中レジスタ324と、を含む。
制御部105eは、一般的に制御手段と呼ぶことができる。
制御部105eは、マルチプレクサ325〜328と、制御回路329〜332と、調停回路333〜336と、を含む。
調停回路333に番号「0」が付してある。調停回路334に番号「1」が付してある。調停回路335に番号「2」が付してある。調停回路336に番号「3」が付してある。
入力ポート301は、格納部105aと、制御回路329と、に対応づけられている。入力ポート302は、格納部105bと、制御回路330と、に対応づけられている。入力ポート303は、格納部105cと、制御回路331と、に対応づけられている。入力ポート304は、格納部105dと、制御回路332と、に対応づけられている。
出力ポート305は、マルチプレクサ325と、調停回路333と、に対応づけられている。出力ポート306は、マルチプレクサ326と、調停回路334と、に対応づけられている。出力ポート307は、マルチプレクサ327と、調停回路335と、に対応づけられている。出力ポート308は、マルチプレクサ328と、調停回路336と、に対応づけられている。
通常宛先レジスタ311、315、319および323のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートに対応する調停回路の番号を格納する。
図3では、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載してある0〜3の番号が、出力ポート305〜308の番号「0」〜「3」に対応する。
このため、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305に対応する調停回路の番号を格納する。
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306に対応する調停回路の番号を格納する。
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307に対応する調停回路の番号を格納する。
また、通常宛先レジスタ311、315、319および323のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308に対応する調停回路の番号を格納する。
切り替え先レジスタ310、314、318および322のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートから切り替えられる出力ポートに対応する調停回路の番号を格納する。
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305の切り替え先の出力ポートに対応する調停回路の番号を格納する。
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306の切り替え先の出力ポートに対応する調停回路の番号を格納する。
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307の切り替え先の出力ポートに対応する調停回路の番号を格納する。
切り替え先レジスタ310、314、318および322のそれぞれは、切り替え状態レジスタ309、313、317および321のそれぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308の切り替え先の出力ポートに対応する調停回路の番号を格納する。
本実施形態では、切り替え先レジスタ310、314、318および322のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートの番号に1を加えてmod4を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。
切り替え状態レジスタ309、313、317および321のそれぞれは、出力ポート305〜308(番号「0」〜「3」)のそれぞれについて、その出力ポートの切り替えの状態を表す切り替え状態情報(「0」〜「3」のいずれか)を格納する。
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号0の列に存在する部分(レジスタ)に、出力ポート305についての切り替え状態情報を格納する。
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号1の列に存在する部分(レジスタ)に、出力ポート306についての切り替え状態情報を格納する。
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号2の列に存在する部分(レジスタ)に、出力ポート307についての切り替え状態情報を格納する。
切り替え状態レジスタ309、313、317および321のそれぞれは、それぞれの上に記載されている番号3の列に存在する部分(レジスタ)に、出力ポート308についての切り替え状態情報を格納する。
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「0」が格納される。切り替え状態情報が「0」である場合には、通常宛先レジスタ内の番号が使用される。
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「0」から「1」に変更される。
切り替え状態情報が「1」である場合には、パケット200が、順序保証が必要なパケットかどうか、および、パケット200が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
使用する番号の決定方法と切り替え状態情報が「1」から「2」になる場合については、あとで図5を使って説明する。
切り替え状態情報が「2」の場合には、必ず、切り替え先レジスタ内の番号が使用される。
プレーン間クロスバ105〜112の出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「1」から「2」になると、障害が発生したネットワークプレーンは使われなくなる。
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。
切り替え状態情報が「3」である場合には、パケット200が、順序保証が必要なパケットかどうか、および、パケット200が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
使用する番号の決定方法と切り替え状態情報が「3」から「0」になる場合については、あとで図5を使って説明する。
図3に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「0」である。
仕掛中レジスタ312、316、320および324のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「1」を格納する。
順序保証が必要なパケットとは、複数のパケット間のプロセッサ間ネットワーク2内での順序を保証し、送り元プロセッサから送信されたパケットの順序と宛先プロセッサへの到着順序とが同じになることを保証する必要があるパケットである。
プロセッサ間ネットワーク2内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
制御回路329〜332のそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。
そして、制御回路329〜332のそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。
制御回路329〜332のそれぞれは、自己に対応する入力ポートから受信したパケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図2に示したラストパケットフラグ202の状態を調べて判定する。
ラストパケットフラグ202が“0”である場合、制御回路329〜332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
一方、ラストパケットフラグ202が“1”である場合、制御回路329〜332のそれぞれは、パケット200が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
また、制御回路329〜332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット200が到着した場合、そのパケット200が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。
制御回路329〜332のそれぞれは、パケット200内の第1経路指定情報206、および、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット200を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。
制御回路329〜332のそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット200が到着した場合、パケット200の宛先(転送先)となる出力ポートの切り替えを行わない。
なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。
マルチプレクサ325〜328のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、4つの入力ポート301〜304から1つの入力ポートを選択する。マルチプレクサ325〜328のそれぞれは、その選択された入力ポートからのパケット200を、自己に対応する出力ポートに転送する。
調停回路333〜336のそれぞれは、制御回路329〜332のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
格納部105a〜105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。
制御部105eは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
制御部105eは、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてを、転送先として設定されたネットワークプレーンへ転送した後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
図4は、プレーン間クロスバ105でのプロセッサ行き方向のデータパスのみを示した説明図である。なお、図4において、図1に示したものと同一構成のものには同一符号を付してある。
図4では、図1に示したプレーン間クロスバ105を図示しているが、プレーン間クロスバ105〜112は、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
プレーン間クロスバ105は、プロセッサ行き方向のデータパスについては、4つの入力ポート401〜404と、4つの出力ポート405〜408と、を含む。
また、プレーン間クロスバ105は、マルチプレクサ409〜412と、制御回路413〜416と、調停回路417〜420と、を含む。
本実施形態では、調停回路417に番号「4」が付してある。調停回路418に番号「5」が付してある。調停回路419に番号「6」が付してある。調停回路420に番号「7」が付してある。
4つの入力ポート401〜404のそれぞれは、ネットワークプレーン101〜104のいずれかに接続されている。本実施形態では、入力ポート401はネットワークプレーン101と接続されている。入力ポート402はネットワークプレーン102と接続されている。入力ポート403はネットワークプレーン103と接続されている。入力ポート404はネットワークプレーン104と接続されている。
入力ポート401は、制御回路413に対応づけられている。入力ポート402は、制御回路414に対応づけられている。入力ポート403は、制御回路415に対応づけられている。入力ポート404は、制御回路416に対応づけられている。
4つの出力ポート405〜408のそれぞれは、プロセッサ113〜116のいずれかに接続されている。本実施形態では、出力ポート405はプロセッサ113と接続されている。出力ポート406はプロセッサ114と接続されている。出力ポート407はプロセッサ115と接続されている。出力ポート408はプロセッサ116と接続されている。
出力ポート405は、マルチプレクサ409と、調停回路417と、に対応づけられている。出力ポート406は、マルチプレクサ410と、調停回路418と、に対応づけられている。出力ポート407は、マルチプレクサ411と、調停回路419と、に対応づけられている。出力ポート408は、マルチプレクサ412と、調停回路420と、に対応づけられている。
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート405に転送する場合、調停回路417に、送信用のリクエストを送信する。
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート406に転送する場合、調停回路418に、送信用のリクエストを送信する。
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート407に転送する場合、調停回路419に、送信用のリクエストを送信する。
制御回路413〜416のそれぞれは、自己に対応する入力ポートからのパケット200を、パケット200内の第3経路指定情報208に従って出力ポート408に転送する場合、調停回路420に、送信用のリクエストを送信する。
マルチプレクサ409〜412のそれぞれは、自己と同じ出力ポートに対応する調停回路からの指示に基づいて、4つの入力ポート401〜404から1つの入力ポートを選択する。マルチプレクサ409〜412のそれぞれは、その選択された入力ポートからのパケット200を、自己に対応する出力ポートに転送する。
調停回路417〜420のそれぞれは、制御回路413〜416のいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
次に、動作を説明する。
図5は、プレーン間クロスバでのネットワークプレーン行き方向のデータパスでの処理を説明するためのフローチャートである。
以下では、プロセッサ113が、入力ポート301に、パケット200を送信した場合を例にとって説明する。なお、他のプロセッサがパケット200を送信した場合では、パケット200が入力される入力ポートと、処理を実行する制御回路と、使用される格納部とが、異なるだけなので、その説明は省略する。
制御回路329は、入力ポート301からパケット200を受信すると、まず、パケット200内の第1経路指定情報206で示された宛先出力ポートを確認し、切り替え状態レジスタ309内の切り替え状態情報のうち、その宛先出力ポートに対応する切り替え状態情報(以下、「対応切り替え状態情報」と称する)を調べる(ステップ501)。
まず、対応切り替え状態情報が「0」か「2」である場合、つまり、ステップ502の場合には、制御回路329は、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ503)。
パケット200の順序保証フラグ202が“1”の場合、つまり、ステップ504の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ505)。
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ506の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ507)。
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ508の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ509)。
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ510の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ511の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、仕掛中レジスタ312に「1」を格納する(ステップ512)。
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ513の場合は、制御回路329は、仕掛中レジスタ312の値を変更しない。
制御回路329は、ステップ509、510、512または513に続いて、対応切り替え状態情報が、「0」なのか「2」なのかを調べる(ステップ514)。
対応切り替え状態情報が「0」である場合、つまり、ステップ515の場合は、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ516)。
対応切り替え状態情報が「2」である場合、つまり、ステップ517の場合は、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ518)。
次に、対応切り替え状態情報が「1」である場合、つまり、ステップ519の場合は、宛先出力ポートに接続されたネットワークプレーンに障害が発生し、制御回路329が、転送先の切替え指示を受け付け、対応切り替え状態情報に「1」を格納した状態である。
この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ520)。
パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ521の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ522)。
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ523の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ524)。
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ525の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ526)。
続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ527)。
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ528の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ527を実行する。
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ529の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、切り替え先のネットワークプレーンに送ることができる。
したがって、制御回路329は、対応切り替え状態情報を「1」から「2」に変更し(ステップ530)、仕掛中レジスタ312に「1」を格納する(ステップ531)。
続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ532)。
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ533の場合は、制御回路329は、ステップ532を実行する。
最後に、対応切り替え状態情報が「3」である場合、つまり、ステップ534の場合は、宛先出力ポートに接続されているネットワークプレーンが復旧され、そのネットワークプレーンが利用できる状態である。
この場合、制御回路329は、まず、パケット200が順序保証を必要とするパケットかどうかを調べる(ステップ535)。
パケット200の順序保証フラグ202が“1”である場合、つまり、ステップ536の場合、制御回路329は、仕掛中レジスタ312の値を調べる(ステップ537)。
仕掛中レジスタ312が「1」を格納している場合、つまり、ステップ538の場合には、制御回路329は、パケット200のラストパケットフラグ203を調べる(ステップ539)。
そして、ラストパケットフラグ203が、“1”すなわち最後のパケットであることを示している場合、つまり、ステップ540の場合は、制御回路329は、仕掛中レジスタ312の値を「1」から「0」に変更する(ステップ541)。
続いて、制御回路329は、切り替え先レジスタ310内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ542)。
ラストパケットフラグ203が、“0”すなわち最後のパケットでないことを示している場合、つまり、ステップ543の場合は、制御回路329は、仕掛中レジスタ312の値を変更せずに、ステップ542を実行する。
仕掛中レジスタ312が「0」を格納している場合、つまり、ステップ544の場合は、順序保証が必要な複数のパケットの最初のパケットが到着したことを意味する。このため、制御回路329は、順序保証が必要な複数のパケットのすべてを、通常の宛先のネットワークプレーンに送ることができる。
したがって、制御回路329は、対応切り替え状態情報を「3」から「0」に変更し(ステップ545)、仕掛中レジスタ312に「1」を格納する(ステップ546)。
続いて、制御回路329は、通常宛先レジスタ311内の番号の中から、宛先出力ポートに対応する番号を特定し、その番号が付加された調停回路に対して、リクエストを送る(ステップ547)。
パケット200の順序保証フラグ202が“0”である場合、つまり、ステップ548の場合は、制御回路329は、ステップ547を実行する。
次に、図6A〜6Eを用いて、本発明の実施の形態のプレーン間クロスバの動作について説明する。図6A〜6Eにおいて、図3に示したものと同一構成のものには同一符号を付してある。
図6Aは、ネットワークプレーン102に障害が発生する直前の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべては、切り替え状態情報として、「0」を格納している。
図6Bは、ネットワークプレーン102に障害が発生した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601〜604が、切り替え状態情報として「1」を格納している。
図6Cは、入力ポート301および303にパケットが到着して処理される状況を示した説明図である。
まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット605が、入力ポート301に到着する。
このとき、入力ポート301に対応する仕掛中レジスタ312は「1」を格納している。このため、切り替え状態レジスタ309内のレジスタ601が「1」を格納していても、制御回路329は、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット605を送る。
次に、プロセッサ115から、順序保証が必要な、出力ポート306宛のパケット607が、入力ポート303に到着する。
このとき、入力ポート303に対応する仕掛中レジスタ320は「0」を格納している。このため、制御回路331は、パケット607が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
したがって、制御回路331は、切り替え状態レジスタ317内のレジスタ603の値を「1」から「2」に変更し、仕掛中レジスタ320の値を「0」から「1」に変更し、切り替え先レジスタ318内の番号の中から、出力ポート306に対応する番号「2」608を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット607を送る。
図6Dは、障害が発生して切り離されていたネットワークプレーン102が復旧した直後の状態を示した説明図である。切り替え状態レジスタ309、313、317および321のすべてにおいて、出力ポート306(番号「1」)に対応するレジスタ601〜604が、切り替え状態情報として「3」を格納している。
図6Eは、入力ポート301および304にパケットが到着して処理される状況を示した説明図である。
まず、プロセッサ113から、順序保証が必要な、出力ポート306宛のパケット609が、入力ポート301に到着する。
このとき、入力ポート301に対応する仕掛中レジスタ312は「0」を格納している。このため、制御回路329は、パケット609が、順序保証が必要な複数のパケットの最初のパケットであると判定する。
したがって、制御回路329は、切り替え状態レジスタ309内のレジスタ601の値を「3」から「0」に変更し、仕掛中レジスタ312の値を「0」から「1」に変更し、通常宛先レジスタ311内の番号の中から、出力ポート306に対応する番号「1」606を特定し、その番号「1」が付与されている調停回路334にリクエストを送って、ネットワークプレーン102にパケット609を送る。
次に、プロセッサ116から、順序保証が必要な、出力ポート306宛の最後のパケット610が、入力ポート304に到着する。
このとき、入力ポート304に対応する仕掛中レジスタ324は「1」を格納している。このため、制御回路332は、仕掛中レジスタ324の値を「1」から「0」に変更し、切り替え先レジスタ322内の番号の中から、出力ポート306に対応する番号「2」611を特定し、その番号「2」が付与されている調停回路335にリクエストを送って、ネットワークプレーン103にパケット610を送る。
本実施形態によれば、格納部105a〜105bのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
制御部105eは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
制御部105eは、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
このため、切替え指示が受け付けられても、1つのプロセッサから送信される所定の複数のパケットのすべてを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。
本実施形態では、所定の複数のパケットとして、順序保証が必要な複数のパケットが用いられる。この場合、順序保証が必要な複数のパケットについて、順番を保証することが可能になる。
本実施形態では、制御部105eは、転送先が他のネットワークプレーンに切り替えられており、かつ、格納部105a〜105bのうち、ある1つの入力ポートに対応する格納部が通信中情報を格納している状況で、通信経路を元のネットワークプレーンに切り替える旨の指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが他のネットワークプレーンへ転送された後、転送先を、他のネットワークプレーンから元のネットワークプレーンに切り替える。
この場合、例えば、故障したネットワークプレーンが修理された後に復帰した場合でも、1つのプロセッサから送信される所定の複数のパケットを同一のネットワークプレーンに転送することが可能になる。よって、所定の複数のパケットの順番を保証することが可能になる。
本実施形態では、複数の通信経路として、互いに直接接続されていない独立した複数の部分ネットワーク(ネットワークプレーン)が用いられている。
この場合、複数の通信経路として、複数の部分ネットワークが用いられている場合に、複数のパケットの順番を保証することが可能になる。
本実施形態では、プロセッサ間ネットワーク2は、複数のネットワークプレーン101〜104と、少なくとも1つのプレーン間クロスバと、を含む。この場合、プロセッサ間ネットワーク2において、複数のパケットの順番を保証することが可能になる。
本実施形態では、並列プロセッサシステム1は、複数のプロセッサ113〜144と、プロセッサ間ネットワーク2と、を含む。この場合、並列プロセッサシステム1において、複数のパケットの順番を保証することが可能になる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して説明する。
第2の実施の形態の並列プロセッサシステム1の構成は、各プレーン間クロスバ内の各格納部内のレジスタの構成が簡略化されている点を除いて、第1の実施の形態の図1と同じである。
第2の実施の形態では、各格納部内の各レジスタの構成が簡略化されているプレーン間クロスバ105A〜112Aを、プレーン間クロスバ105〜112の代わりに用いる。
第2の実施の形態では、通常の場合のパケットの出力先は、プレーン間クロスバの各入力ポートに応じて予め決められている。つまり、プロセッサによって、通常時に使用するネットワークプレーンが決まっている。
すべてのネットワークプレーン101〜104は、すべてのプレーン間クロスバ105A〜112Aに接続されている。このため、プレーン間クロスバ105A〜112Aのそれぞれは、どのネットワークプレーンを使っても、送信先のプレーン間クロスバ、さらに言えば、宛先のプロセッサにパケットを送信することができる。
図7は、第2の実施の形態で用いるパケット700の形式を説明するための説明図である。なお、図7において、図2に示したものと同一情報のものには同一符号を付してある。
パケット700は、プロセッサ113〜144のそれぞれによって生成される。本実施形態では、プロセッサ113〜144のそれぞれは、送信用データを分割することによって、複数のパケット700を生成する。プロセッサ113〜144のそれぞれは、個々のパケット700を、1つずつ順番に、プロセッサ間ネットワーク2に送信する。
パケット700は、経路指定情報701、順序保証フラグ202、ラストパケットフラグ203、パケット長204、および、データ205から構成される。
経路指定情報701は、プロセッサ間ネットワーク2でのルーティングに用いられる。経路指定情報701は、第2経路指定情報207と、第3経路指定情報208と、を含む。
本実施形態では、プレーン間クロスバ105A〜112Aでのネットワークプレーン行き方向のルーティングは、すでに決められている。このため、プレーン間クロスバ105A〜112Aでのネットワークプレーン行き方向を指定するルーティング情報は、パケット700には付加されていない。
図8は、プレーン間クロスバ105Aの詳細を示した説明図である。図8において、図3に示したものと同一構成のものには同一符号を付してある。
図8では、プレーン間クロスバ105Aを図示しているが、プレーン間クロスバ105A〜112Aは、接続されるプロセッサが変わるだけで、すべて同一構成である。このため、他のプレーン間クロスバについての説明は省略する。
図8では、プレーン間クロスバ105Aでのネットワークプレーン行き方向のデータパスのみを図示している。なお、プレーン間クロスバ105Aでのプロセッサ行き方向のデータパスは、第1の実施の形態において図4で示した構成と同じである。
以下では、プレーン間クロスバ105Aについて、プレーン間クロスバ105と異なる点を中心に説明を行う。
プレーン間クロスバ105Aは、格納部105aA〜105dAと、制御部105eAと、を含む。
格納部105aA〜105dAのそれぞれは、一般的に格納手段と呼ぶことができる。
格納部105aAは、切り替え状態レジスタ801と、切り替え先レジスタ802と、通常宛先レジスタ803と、仕掛中レジスタ804と、を含む。格納部105bAは、切り替え状態レジスタ805と、切り替え先レジスタ806と、通常宛先レジスタ807と、仕掛中レジスタ808と、を含む。格納部105cAは、切り替え状態レジスタ809と、切り替え先レジスタ810と、通常宛先レジスタ811と、仕掛中レジスタ812と、を含む。格納部105dAは、切り替え状態レジスタ813と、切り替え先レジスタ814と、通常宛先レジスタ815と、仕掛中レジスタ816と、を含む。
制御部105eAは、一般的に制御手段と呼ぶことができる。
制御部105eAは、マルチプレクサ325〜328と、制御回路329A〜332Aと、調停回路333〜336と、を含む。
入力ポート301は、格納部105aAと、制御回路329Aと、に対応づけられている。入力ポート302は、格納部105bAと、制御回路330Aと、に対応づけられている。入力ポート303は、格納部105cAと、制御回路331Aと、に対応づけられている。入力ポート304は、格納部105dAと、制御回路332Aと、に対応づけられている。
通常宛先レジスタ803、807、811および815のそれぞれは、自己に対応する入力ポートにより決定される出力ポート(以下「対応出力ポート」と称する)と対応する調停回路の番号を格納する。
通常宛先レジスタ803は、番号「0」を格納する。通常宛先レジスタ807は、番号「1」を格納する。通常宛先レジスタ811は、番号「2」を格納する。通常宛先レジスタ815は、番号「3」を格納する。
切り替え先レジスタ802、806、810および814のそれぞれは、対応出力ポートから切り替えられる出力ポートの番号を格納する。
切り替え先レジスタ802、806、810および814のそれぞれは、対応出力ポートの番号に1を加えてmod4を計算した値を、切り替え先の出力ポートに対応する調停回路の番号として格納している。
切り替え状態レジスタ801、805、809および813のそれぞれは、対応出力ポートの切り替えの状態を表す切り替え状態情報(「0」〜「3」のいずれか)を格納する。
ある出力ポートに接続されているネットワークプレーンに障害が発生していない場合は、その出力ポートを他の出力ポートに切り替える必要がない。出力ポートを切り替えない場合、その出力ポートに対応する切り替え状態情報として「0」が格納される。切り替え状態情報が「0」である場合には、通常宛先レジスタ内の番号が使用される。
ある出力ポートに接続されているネットワークプレーンに障害が発生して他のネットワークプレーンを使用するために、その出力ポートを他の出力ポートに切り替える場合は、切り替え状態情報が、「0」から「1」に変更される。
切り替え状態情報が「1」である場合には、パケット700が、順序保証が必要なパケットかどうか、および、パケット700が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
第2の実施の形態において、使用する番号の決定方法と切り替え状態情報が「1」から「2」になる場合の動作は、図5を用いて説明した第1の実施の形態の動作と同じである。
切り替え状態情報が「2」の場合には、必ず、切り替え先レジスタ内の番号が使用される。
プレーン間クロスバ105A〜112Aの出力ポートのうち、故障が発生したネットワークプレーンに接続されたすべての出力ポートの切り替え状態情報が、「1」から「2」になると、障害が発生したネットワークプレーンは使われなくなる。
この時点で、障害が発生したネットワークプレーンを、並列プロセッサシステム1から切り離すことが可能となる。このため、この時点で、障害が発生したネットワークプレーンについて、保守が行われる。
そして、障害が発生したネットワークプレーンが修理され、再び、並列プロセッサシステム1に組み込まれる。この時点で、障害が発生したネットワークプレーンに接続されていた出力ポートの切り替え状態情報が、「2」から「3」に変更される。
切り替え状態情報が「3」である場合には、パケット700が、順序保証が必要なパケットかどうか、および、パケット700が、順序保証が必要なパケットの何番目のパケットかによって、通常宛先レジスタ内の番号を使うか、切り替え先レジスタ内の番号を使うかが決まる。
第2の実施の形態において、使用する番号の決定方法と切り替え状態情報が「3」から「0」になる場合の動作は、図5を用いて説明した第1の実施の形態の動作と同じである。
図8に示した例は、まだ、障害が発生していない状態を示している。このため、切り替え状態情報は、すべて「0」である。
仕掛中レジスタ804、808、812および816のそれぞれは、自己に対応する入力ポートに接続されたプロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報「1」を格納する。
プロセッサ間ネットワーク2内でパケットの順序が逆転すると、エラーが発生したり、宛先プロセッサによるメモリ(不図示)へのデータの書込みの順序を保証できなくなるなどの問題が発生する。
制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから、順序保証が必要な複数のパケットのうち最初に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタに、「1」(通信中情報)を格納する。
そして、制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから、順序保証の必要な複数のパケットのうち最後に送信されたパケットを受信したら、自己と同じ入力ポートに対応する仕掛中レジスタ内の「1」(通信中情報)を削除して「0」を格納する。
制御回路329A〜332Aのそれぞれは、自己に対応する入力ポートから受信したパケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであるかどうかを、図7に示したラストパケットフラグ202の状態を調べて判定する。
ラストパケットフラグ202が“0”である場合、制御回路329A〜332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットでないと判定する。
一方、ラストパケットフラグ202が“1”である場合、制御回路329A〜332Aのそれぞれは、パケット700が、順序保証の必要な複数のパケットのうち最後に送信されたパケットであると判定する。
また、制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「0」で、かつ、順序保証が必要なパケット700が到着した場合、そのパケット700が、順序保証の必要な複数のパケットのうち最初に送信されたパケットであると判定する。
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート305に転送する場合、調停回路333に、送信用のリクエストを送信する。
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート306に転送する場合、調停回路334に、送信用のリクエストを送信する。
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート307に転送する場合、調停回路335に、送信用のリクエストを送信する。
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する格納部内の情報に従ってパケット700を出力ポート308に転送する場合、調停回路336に、送信用のリクエストを送信する。
制御回路329A〜332Aのそれぞれは、自己と同じ入力ポートに対応する仕掛中レジスタの値が「1」で、かつ、順序保証が必要なパケット700が到着した場合、パケット700の宛先(転送先)となる出力ポートの切り替えを行わない。
なぜなら、2つのパケットが異なるネットワークプレーンを通ると、プロセッサ間ネットワーク2内での順序保証ができないからである。
例えば、先に来たパケットが通るネットワークプレーンが混雑していて、後から来たパケットが通るネットワークプレーンが空いていると、宛先となっているプロセッサへの到着順序が逆転してしまう。
調停回路333〜336のそれぞれは、制御回路329A〜332Aのいずれかからのリクエストを受信すると、そのリクエストを送信した制御回路に対応する入力ポートを選択する旨の指示を、自己と同じ出力ポートに対応するマルチプレクサに出力する。
格納部105aA〜105bAのそれぞれは、自己に対応する入力ポートに接続されているプロセッサが、所定の複数のパケット(例えば、順序保証が必要な複数のパケット)のうち1個以上のパケットを送信済みであり、かつ、その複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する。
なお、所定の複数のパケットは、順序保証が必要な複数のパケットであることが望ましいが、順序保証が必要な複数のパケットの他に、他のパケットが含まれてもよい。この場合、他のパケットも含めて、順序を保証することができる。
制御部105eAは、ある1つの入力ポートから、所定の複数のパケットを構成する個々のパケットを受信すると、そのパケットを、転送先として設定されたネットワークプレーンへ転送する。
制御部105eAは、格納部105aA〜105bAのうち、ある1つの入力ポートに対応する格納部が、通信中情報を格納している状況で、その入力ポートからのパケットの転送先を切り替える旨の切替え指示を受け付けると、その入力ポートに送信される所定の複数のパケットのすべてが、転送先として設定されたネットワークプレーンへ転送された後、転送先を、複数のネットワークプレーンのうちの他のネットワークプレーンに切り替える。
本実施形態によれば、通常時に使用する出力ポート、つまり、ネットワークプレーンが、プレーン間クロスバ105にて決定されている。このため、第1の実施の形態と同様の効果を奏すると共に、パケットに第1経路指定情報206を記載する必要がなくなる。
次に、上記各実施の形態の効果を説明する。
上記各実施の形態によれば、プレーン間クロスバが、プロセッサごとに、プロセッサが、順序保証が必要な複数のパケットのうち1個以上のパケットを通信済みで、かつ、最後のパケットがまだ通信されていないかどうかを記憶しており、最後のパケットが通信されてから、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える。
このため、パケットの転送先を、障害が発生した部分ネットワークから予め決められた他の部分ネットワークに切り替える際に、順序保証が必要な複数のパケットの順序を保証することができる。
また、障害が発生した部分ネットワークへ送られる予定であったパケットは、予め決められた他の部分ネットワークに送られる。このため、部分ネットワークを切り替えた場合の通信性能への影響を予測することが可能になる。
以上、各実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2008年11月21日に出願された日本出願特願2008−297981を基礎とする優先権を主張し、その開示の全てをここに取り込む。
101〜104 ネットワークプレーン
105〜112 プレーン間クロスバ
113〜144 プロセッサ
145〜147 クロスバ
105a〜105d、105aA〜105dA 格納部
105e、105eA 制御部
200、700 パケット
201、701 経路指定情報
202 順序保証フラグ
203 ラストパケットフラグ
204 パケット長
205 データ
206 第1経路指定情報
207 第2経路指定情報
208 第3経路指定情報
301〜304 入力ポート
305〜308 出力ポート
309、313、317、321、801、805、809、813 切り替え状態レジスタ
310、314、318、322、802、806、810、814 切り替え先レジスタ
311、315、319、323、803、807、811、815 通常宛先レジスタ
312、316、320、324、804、808、812、816 仕掛中レジスタ
325〜328 マルチプレクサ
329〜332、329A〜332A 制御回路
333〜336 調停回路
401〜404 入力ポート
405〜408 出力ポート
409〜412 マルチプレクサ
413〜416 制御回路
417〜420 調停回路
601〜604 レジスタ
605、607、609、610 パケット
606、608、611 番号

Claims (12)

  1. 第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置であって、
    前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を格納する格納手段と、
    前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える制御手段と、を含むパケット転送装置。
  2. 前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項1に記載のパケット転送装置。
  3. 前記制御手段は、前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項1または2に記載のパケット転送装置。
  4. 請求項1から3のいずれか1項に記載のパケット転送装置と、前記複数の通信経路と、を含むプロセッサ間通信システム。
  5. 前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項4に記載のプロセッサ間通信システム。
  6. 請求項4または5に記載のプロセッサ間通信システムと、前記第1プロセッサと、前記第2プロセッサと、を含む、並列プロセッサシステム。
  7. 第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置が行うパケット転送方法であって、
    前記第1プロセッサが、前記複数のパケットのうち1個以上のパケットを送信済みであり、かつ、当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
    前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
  8. 前記所定の複数のパケットは、順序保証が必要な複数のパケットである、請求項7に記載のパケット転送方法。
  9. 前記転送先が前記他の通信経路に切り替えられており、かつ、前記通信中情報が前記格納手段に格納されている状況で、通信経路を元の通信経路に切り替える旨の指示を受け付けると、前記複数のパケットのすべてが、前記他の通信経路へ転送された後、前記転送先を、前記他の通信経路から前記元の通信経路に切り替える、請求項7または8に記載のパケット転送方法。
  10. 第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記第2プロセッサに通じる複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、前記複数の経路と、を含むプロセッサ間通信システムが行うパケット転送方法であって、
    前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
    前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
  11. 前記複数の通信経路は、互いに直接接続されていない独立した複数の部分ネットワークである、請求項10に記載のパケット転送方法。
  12. 第1プロセッサと、第2プロセッサと、前記第2プロセッサに通じる複数の通信経路と、前記第1プロセッサから1つずつ順番に送信された第2プロセッサ宛ての所定の複数のパケットを受信し、当該パケットを、前記複数の通信経路のうち転送先として設定された通信経路に転送するパケット転送装置と、を含む並列プロセッサシステムが行うパケット転送方法であって、
    前記パケット転送装置が、前記第1プロセッサが前記複数のパケットのうち1個以上のパケットを送信済みでありかつ当該複数のパケットのすべてを送信していない場合に、通信中である旨の通信中情報を、格納手段に格納し、
    前記パケット転送装置が、前記通信中情報が前記格納手段に格納されている状況で、前記転送先の切替え指示を受け付けると、前記複数のパケットのすべてが、前記転送先として設定された通信経路へ転送された後、前記転送先を、前記複数の通信経路のうちの他の通信経路に切り替える、パケット転送方法。
JP2010539197A 2008-11-21 2009-10-30 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法 Expired - Fee Related JP5310735B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010539197A JP5310735B2 (ja) 2008-11-21 2009-10-30 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2008297981 2008-11-21
JP2008297981 2008-11-21
JP2010539197A JP5310735B2 (ja) 2008-11-21 2009-10-30 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
PCT/JP2009/068674 WO2010058693A1 (ja) 2008-11-21 2009-10-30 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法

Publications (2)

Publication Number Publication Date
JPWO2010058693A1 JPWO2010058693A1 (ja) 2012-04-19
JP5310735B2 true JP5310735B2 (ja) 2013-10-09

Family

ID=42198132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010539197A Expired - Fee Related JP5310735B2 (ja) 2008-11-21 2009-10-30 パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法

Country Status (2)

Country Link
JP (1) JP5310735B2 (ja)
WO (1) WO2010058693A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2948036A1 (en) * 2014-05-26 2015-12-03 Zomojo Pty Ltd A trading system
JP6350098B2 (ja) * 2014-08-11 2018-07-04 富士通株式会社 演算処理装置,情報処理装置,及び情報処理装置の制御方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185716A (ja) * 1997-09-01 1999-03-30 Hitachi Ltd 並列プロセッサ
JP2000330952A (ja) * 1999-05-20 2000-11-30 Nec Corp 多段接続スイッチシステムのフロー制御装置および方法
JP2006178866A (ja) * 2004-12-24 2006-07-06 Nec Computertechno Ltd データ転送システム、データ転送方法およびクロスバlsi

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1185716A (ja) * 1997-09-01 1999-03-30 Hitachi Ltd 並列プロセッサ
JP2000330952A (ja) * 1999-05-20 2000-11-30 Nec Corp 多段接続スイッチシステムのフロー制御装置および方法
JP2006178866A (ja) * 2004-12-24 2006-07-06 Nec Computertechno Ltd データ転送システム、データ転送方法およびクロスバlsi

Also Published As

Publication number Publication date
JPWO2010058693A1 (ja) 2012-04-19
WO2010058693A1 (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
US11461617B2 (en) Neural network device
JP4519159B2 (ja) パケット転送装置及びパケット転送方法
JP6600518B2 (ja) バスシステム
KR100219350B1 (ko) 분산된 노드 사이 스위칭과 분리된 데이터/제어 메시지 처리를 갖는 다중 노드 네트워크
EP0234191A2 (en) Packet-switched communications network with parallel virtual circuits for re-routing message packets
JPH07202942A (ja) パケット交換機
US11251991B2 (en) Communication system, communication apparatus, communication method, and program
JPH05191440A (ja) セル交換装置
JP5492750B2 (ja) パケット転送装置およびパケット転送方法
JP4895972B2 (ja) リングプロトコル高速切替方法およびその装置
JP5310735B2 (ja) パケット転送装置、プロセッサ間通信システム、並列プロセッサシステムおよびパケット転送方法
US5572679A (en) Multiprocessor system transferring abnormality detection signal generated in networking apparatus back to processor in parallel with data transfer route
EP2355419B1 (en) Switching device of dual-port ethernet system
US20060212619A1 (en) Data processing system
CN101467390B (zh) 在帧交换网络中的虚链路的路由选择方法
JP3758523B2 (ja) 双方向リングネットワーク、ノード装置および双方向リングネットワーク制御方法
JP2973956B2 (ja) 冗長切替方式
JP2007116350A (ja) 負荷分散装置
WO2020004015A1 (ja) 動的可変容量メモリ装置及び記憶容量動的可変方法
JP6219233B2 (ja) 無瞬断切替装置および無瞬断切替方法
JP2013005145A (ja) パケット転送装置及びパケット転送方法
JP2000124949A (ja) パケットスイッチ
JPH1166024A (ja) クロスバスイッチ切換システム
JP2680096B2 (ja) パケット交換網の事前迂回方式
JP6312196B2 (ja) 伝送装置の終端手段、伝送装置、伝送方法および終端手段のプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

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: 20130604

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130617

R150 Certificate of patent or registration of utility model

Ref document number: 5310735

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees