(57)【要約】【課題】光スイッチが備える受信ポートと送信ポートとの間の接続経路を変更するために要する時間が短くなるのにともなって、光スイッチネットワークの通信性能をより効果的に向上させることができる技術を提供する。【解決手段】本発明に係る光スイッチシステムは、光スイッチの接続経路を変更するよう要求する要求信号を受信すると、送信ポートが空いていればＡＣＫ信号を返信するとともに、これと並行して前記接続経路を切り替えるよう光スイッチに対して指示する。【選択図】図１０
2015091073.tif 000002
【特許請求の範囲】
【請求項１】
受信ポートと送信ポートを備え前記受信ポートと前記送信ポートとの間の接続経路を変更することができるように構成されている光スイッチ、
前記光スイッチが備える前記接続経路を変更するよう前記光スイッチに対して指示する制御モジュール、
を有し、
前記制御モジュールは、前記接続経路を変更するよう要求する要求信号を受信すると、前記要求信号が要求する変更後の前記送信ポートが使用中であるか否かを判定し、使用中でない場合は、前記要求信号に対する返信として前記接続経路の変更が完了した旨の応答信号を送信するとともに前記応答信号の送信と並行して前記光スイッチに対して前記要求信号にしたがって前記接続経路を切り替えるよう指示するスイッチ制御信号を前記光スイッチに対して送信し、
前記光スイッチは、前記制御モジュールが送信した前記スイッチ制御信号にしたがって前記接続経路を変更する
ことを特徴とする光スイッチシステム。
【請求項２】
前記制御モジュールは、
前記要求信号が要求する変更後の前記送信ポートが使用中である場合は、前記応答信号と前記スイッチ制御信号を送信せずに所定時間待機し、
前記所定時間が経過した後、前記要求信号が要求する変更後の前記送信ポートが使用中であるか否かを再判定し、使用中でない場合は前記応答信号を送信するとともにこれを並行して前記光スイッチに対して前記スイッチ制御信号を送信する
ことを特徴とする請求項１記載の光スイッチシステム。
【請求項３】
前記制御モジュールは、使用中である前記送信ポートのアドレスを記述するアドレスデータを記憶する連想メモリを備え、前記連想メモリ内に記憶されている前記アドレスデータに基づき、前記送信ポートが使用中であるか否かを判定する
ことを特徴とする請求項１記載の光スイッチシステム。
【請求項４】
前記光スイッチは、光導波路型のスイッチとして構成されている
ことを特徴とする請求項１記載の光スイッチシステム。
【請求項５】
前記光スイッチシステムは、前記要求信号と前記応答信号を伝送する伝送線を有し、
前記光スイッチは、前記接続経路を変更するために要する時間が、
前記要求信号の送信元から前記制御モジュールまで前記要求信号を伝送するために要する伝送時間、
前記制御モジュールが前記スイッチ制御信号を生成するために要する時間、
前記光スイッチが前記接続経路を変更するために要する時間、および
前記制御モジュールから前記要求信号の送信元まで前記応答信号を伝送するために要する伝送時間
の合計の２５％以上８０％以下となるように構成されている
ことを特徴とする請求項４記載の光スイッチシステム。
【請求項６】
請求項１記載の光スイッチシステム、
前記光スイッチシステムを介してデータを送信する計算ノード、
を有することを特徴とする並列情報処理システム。
【請求項７】
前記並列情報処理システムは、第１および第２の前記計算ノードを含み、
前記第１の計算ノードは、前記光スイッチを介して前記第２の計算ノードに対して前記データを送信する際に、前記接続経路を前記第２の計算ノードと接続するよう要求する前記要求信号を前記制御モジュールに対して送信し、
前記制御モジュールは、前記第１の計算ノードが送信した前記要求信号にしたがって、前記接続経路を前記第２の計算ノードと接続するよう指示する前記スイッチ制御信号を前記光スイッチに対して送信する
ことを特徴とする請求項６記載の並列情報処理システム。
【請求項８】
前記計算ノードは、前記制御モジュールから前記応答信号を受信すると、前記光スイッチが前記スイッチ制御信号に応じて前記接続経路を変更完了した以後に前記受信ポートが前記データを受信するように、前記光スイッチに対して前記データを送信する
ことを特徴とする請求項７記載の並列情報処理システム。
【請求項９】
前記並列情報処理システムは、前記データを前記光スイッチに対して伝送する光伝送線を有し、
前記計算ノードは、前記データを所定のフォーマットに変換して前記光伝送線に対して出力する送信回路を備え、
前記光スイッチ、前記制御モジュール、および前記計算ノードは、
前記制御モジュールが前記スイッチ制御信号を生成するために要する処理時間、前記スイッチ制御信号が前記制御モジュールから前記光スイッチに到達するまでに要する伝送時間、および前記光スイッチが前記接続経路を変更するために要する時間の合計として計算される第１所要時間が、
前記応答信号が前記制御モジュールから前記計算ノードに到達するまでに要する伝送時間、前記送信回路が前記データを変換するために要する処理時間、および前記データが前記光伝送線を介して前記計算ノードから前記光スイッチに到達するまでに要する伝送時間の合計として計算される第２所要時間以下
となるように構成されている
ことを特徴とする請求項８記載の並列情報処理システム。
【請求項１０】
前記並列情報処理システムは、前記データを前記光スイッチに対して伝送する光伝送線を有し、
前記計算ノードは、前記データを所定のフォーマットに変換して前記光伝送線に対して出力する送信回路を備え、
前記光スイッチ、前記制御モジュール、および前記計算ノードは、
前記制御モジュールが前記スイッチ制御信号を生成するために要する処理時間、前記スイッチ制御信号が前記制御モジュールから前記光スイッチに到達するまでに要する伝送時間、および前記光スイッチが前記接続経路を変更するために要する時間の合計として計算される第１所要時間が、
前記応答信号が前記制御モジュールから前記計算ノードに到達するまでに要する伝送時間、前記計算ノードが前記データを生成してから前記送信回路にそのデータを引き渡すまで待機する時間、前記送信回路が前記データを変換するために要する処理時間、および前記データが前記光伝送線を介して前記計算ノードから前記光スイッチに到達するまでに要する伝送時間の合計として計算される第２所要時間以下
となるように構成されている
ことを特徴とする請求項８記載の並列情報処理システム。
【請求項１１】
前記第１の計算ノードは、前記第２の計算ノードに対して前記データを送信し終えるとその旨を示す完了信号を前記制御モジュールに対して送信し、
前記制御モジュールは、前記完了信号を受信すると前記第２の計算ノードと接続されている前記送信ポートを解放するよう指示する解放信号を前記光スイッチに対して送信し、
前記光スイッチは、前記解放信号にしたがって前記送信ポートを解放する
ことを特徴とする請求項７記載の並列情報処理システム。
【請求項１２】
前記制御モジュールは、使用中である前記送信ポートのアドレスを記述するアドレスデータを記憶する連想メモリを備え、前記連想メモリ内に記憶されている前記アドレスデータに基づき、前記送信ポートが使用中であるか否かを判定するように構成されており、
前記連想メモリは、前記解放信号に対応する前記アドレスデータをリセットする
ことを特徴とする請求項１１記載の並列情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、光スイッチを用いて構成された光スイッチシステムに関する。
【背景技術】
【０００２】
並列計算機は、大規模な情報処理を実施するための計算機として一般に知られている。並列計算機においては、複数の計算ノードが配線で接続され、計算ジョブが各計算ノードに対して割り当てられ、計算ノード間でデータをやり取りすることによって並列的に計算を実行する。特に、グラフと呼ばれるノード（頂点）群とノード間の連結関係を表すエッジ（枝）群によって構成される抽象データを計算する際には、計算ノード間の通信性能が全体の情報処理性能に対して大きく影響を与える。したがってこれらの並列計算機においては、計算ノード間の通信速度を向上させることが必要となる。
【０００３】
計算ノード間の通信速度を向上させる１手段として、計算ノード間で光信号を用いて通信することが挙げられる。従来の電気信号を用いた通信においては、例えば２５Ｇｂｐｓの速度で１ｍ程度の計算ノード間通信を実施する場合、通信に必要な消費電力が劇的に増加する。光信号を用いた通信によれば、同様の計算ノード間通信における消費電力を抑えることができる。
【０００４】
従来の電気信号を用いた通信においては、スイッチ機器は受信したデータパケットのヘッダを解析して送信先ポートを判断し、送信ポートに対してそのパケットを出力する。同様のパケットヘッダの解析を光通信において実施する場合、パケットを電気的に解析するために光−電気変換が必要となり、さらに解析後に光信号に戻すため電気−光変換が必要となる。これは、処理速度すなわち通信速度の低下をもたらし、さらには消費電力の増大にもつながる。したがって、光信号を用いて高速通信するためには、受信ポートと送信ポートとの間の接続経路を変更することができる光スイッチを用いて光スイッチネットワークを構成し、光スイッチの送信先については光スイッチがデータを発信する前にあらかじめ制御しておくことが望ましい。
【０００５】
下記特許文献１は、光スイッチを用いて構成された光スイッチネットワークの１例として、データ回線の障害が発生したときに光スイッチ間の経路を切り替える技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−０４２８０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来、光スイッチ部分における損失を抑制するため、ＭＥＭＳ（Ｍｉｃｒｏ  Ｅｌｅｃｔｒｏ  Ｍｅｃｈａｎｉｃａｌ  Ｓｙｓｔｅｍ）型の光スイッチが用いられてきた。ＭＥＭＳ型の光スイッチは一般に、受信ポートと送信ポートとの間の接続経路を変更するために比較的長時間を要する。これに対し、近年では光導波路型の光スイッチの技術開発が進んでいる。光導波路型の光スイッチは、ＭＥＭＳ型の光スイッチと比較して、受信ポートと送信ポートとの間の接続経路を変更するために要する時間が格段に短いため、光スイッチネットワーク全体の通信性能を向上させることができると期待される。
【０００８】
ＭＥＭＳ型の光スイッチにおいては受信ポートと送信ポートとの間の接続経路を変更するために要する時間が支配的であるため、同時間が僅かに改善されても光スイッチネットワーク全体の通信性能の向上に対する寄与は相対的に小さかった。これに対し、受信ポートと送信ポートとの間の接続経路を変更するために要する時間が短くなると、通信性能全体に占める同時間の割合が相対的に高まる。したがって、受信ポートと送信ポートとの間の接続経路を変更する処理に関連する動作の効率を高めることにより、光スイッチネットワーク全体の通信性能をより効果的に向上させることができると考えられる。
【０００９】
本発明は、上記のような技術的背景に鑑みてなされたものであり、光スイッチが備える受信ポートと送信ポートとの間の接続経路を変更するために要する時間が短くなるのにともなって、光スイッチネットワークの通信性能をより効果的に向上させることができる技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る光スイッチシステムは、光スイッチの接続経路を変更するよう要求する要求信号を受信すると、送信ポートが空いていればＡＣＫ信号を返信するとともに、これと並行して前記接続経路を切り替えるよう光スイッチに対して指示する。
【発明の効果】
【００１１】
本発明に係る光スイッチシステムによれば、光スイッチの接続経路を変更するよう要求する機器がその変更完了を待機する時間を削減することができる。これにより、光スイッチの接続経路を変更するために要する時間が短いほど、より効果的に光スイッチシステムの通信性能を向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】従来技術における並列情報処理システムの構成図である。
【図２】光スイッチネットワーク４を構成する光スイッチ８と計算ノード１間の接続について説明する図である。
【図３】計算ノード１がＲＥＱ信号を発信してからＡＣＫ信号を受信するまでに要する合計時間について説明する図である。
【図４】実施形態１に係る並列情報処理システムの構成図である。
【図５】各機器の詳細構成を示す図である。
【図６】計算ノード１における各信号の動作波形を示す図である。
【図７】ＣＡＭ１８を用いてアドレス比較回路１５を構成した例を示す図である。
【図８】アドレス比較回路１５がアドレス判定を実施するときの各信号の動作波形を示す図である。
【図９】計算ノード１が光スイッチ８に対してデータを送信するときの各機器の動作を説明するフローチャートである。
【図１０】制御モジュール７がＡＣＫ信号を計算ノード１に対して発信してから計算ノード１が光スイッチ８に対してデータを送信するまでのタイムチャートである。
【図１１】計算ノード１がＲＥＱ信号を発信してからＡＣＫ信号を受信するまでに要する合計時間について説明する図である。
【発明を実施するための形態】
【００１３】
本発明の理解を促進するため、まず初めに従来技術における課題について実例とともに説明し、その後に本発明の実施形態について説明する。以下では従来技術および本発明の実施形態の１例として、光スイッチを用いる光スイッチシステムを介して計算ノード間でデータを送受信する並列情報処理システムの構成を説明する。
【００１４】
＜従来技術における課題＞
図１は、従来技術における並列情報処理システムの構成図である。図１に示す並列情報処理システムにおいて、複数の計算ノード１は光伝送線と光スイッチによって構成される光スイッチネットワーク４を介して接続され、互いにデータを送受信する。サーバ２は、計算ノード１の動作を制御する。サーバ２間はネットワーク３を介して接続されている。管理サーバ５は、並列情報処理システム全体を制御する。サーバ２と管理サーバ５は管理ネットワークを介して接続されている。光スイッチネットワーク４を構成する光スイッチは、計算ノード１からの要求に応じて受信ポートと送信ポートとの間の接続経路を変更することにより、データの送信先を変更することができるように構成されている。
【００１５】
光スイッチネットワーク４を用いない場合、ある計算ノード１から別の計算ノード１にデータを送る際には、計算ノード１に接続されているサーバ２を介してネットワーク３に対してそのデータを送り、サーバ２は送信先の計算ノード１を探してその計算ノード１に接続されているサーバ２に対してそのデータを転送し、さらにそのサーバ２から送信先の計算ノード１にデータを転送する。そのため、計算ノード１間でデータを送受信するために長い時間を要する。
【００１６】
これに対して光スイッチネットワーク４を用いる場合は、サーバ２を介さずに計算ノード１間で直接的にデータを送受信することができるので、データ転送性能が向上する。ただし計算ノード１がデータを送信する宛先ノードは通信毎に異なる場合があるため、光スイッチネットワーク４を構成する光スイッチは、上述のようにデータ送信先を動的に変更することができる必要がある。
【００１７】
図２は、光スイッチネットワーク４を構成する光スイッチ８と計算ノード１間の接続について説明する図である。図２において、制御モジュール７は光スイッチ８を制御する機能部であり、光スイッチ８の一部として構成することもできるし、光スイッチ８から独立して構成することもできる。光スイッチ８は複数のデータ受信ポートと複数のデータ送信ポートを備えており、各データ受信ポートはいずれかの計算ノード１のデータ出力ポートと接続され、各データ送信ポートはいずれかの計算ノード１のデータ入力ポートと接続されている。図２では光スイッチ８が４つのデータ受信ポートと４つのデータ送信ポートを備えている例を示した。光スイッチ８は、データ受信ポートとデータ送信ポートとの間の接続経路を変更することができ、またいずれかのデータ受信ポートやデータ送信ポートを解放して未使用とすることもできる。
【００１８】
計算ノード１は、並列情報処理システムが実行する計算の全部または一部を実施し、その計算結果を他の計算ノード１に対して送信する。計算ノード１が所望の宛先ノードへデータを送信するためには、光スイッチ８のデータ受信ポートとデータ送信ポートとの間の接続経路がその宛先ノードと接続されている必要がある。そこで計算ノード１は、データが所望の宛先ノードへ送信されるように、データ受信ポートとデータ送信ポートとの間の接続経路を変更するよう要求する要求信号（ＲＥＱ信号）を制御モジュール７に対して送信する。計算ノード１と光スイッチ８との間は、適当な伝送線によって接続されている。
【００１９】
制御モジュール７は、ＲＥＱ信号を受信すると、光スイッチ８に対してデータ受信ポートとデータ送信ポートとの間の接続経路を変更するよう指示するスイッチ制御信号を生成し、光スイッチ８に対して送信する。光スイッチ８は、そのスイッチ制御信号にしたがって接続経路を変更完了すると、変更完了信号を制御モジュール７に対して送信する。制御モジュール７は計算ノード１に対して、変更完了したことを示す応答信号（ＡＣＫ信号）を送信する。計算ノード１は、ＡＣＫ信号を受け取ると光スイッチ８の接続経路が所望通りに変更されたことが分かるので、データ送信を開始することができる。
【００２０】
図３は、計算ノード１がＲＥＱ信号を発信してからＡＣＫ信号を受信するまでに要する合計時間について説明する図である。この時間には、図３の上から順に、（ａ）ＲＥＱ信号が計算ノードから制御モジュール７に到達するまでに要する信号伝送時間、（ｂ）制御モジュール７がスイッチ制御信号を生成するために要する処理時間、（ｃ）スイッチ制御信号が制御モジュール７から光スイッチ８に到達するまでに要する信号伝送時間、（ｄ）光スイッチ８が上述の接続経路を変更するために要する処理時間、（ｅ）変更完了信号が光スイッチ８から制御モジュール７に到達するまでに要する信号伝送時間、（ｆ）ＡＣＫ信号が制御モジュール７から計算ノードに到達するまでに要する信号伝送時間、が含まれる。
【００２１】
図３左列は、ＭＥＭＳ型の光スイッチ８を用いる場合における合計時間の例を示す。ＭＥＭＳ型の光スイッチ８は、光スイッチ部分における損失が小さい利点があるため、従来から用いられている。ＭＥＭＳ型の光スイッチ８は、データ受信ポートとデータ送信ポートとの間の接続経路を変更するために要するスイッチ変更時間がその他の時間と比較して遅く、図３の例では合計時間の９３％を占めている。すなわち、合計時間を律速するのはスイッチ変更時間であるといえる。この場合、ＲＥＱ信号の伝送時間やスイッチ制御信号を生成するために要する時間を改善したとしても、合計時間を改善する効果は相対的に小さくなる。
【００２２】
図３右列は、光導波路型の光スイッチ８を用いる場合における合計時間の例を示す。光導波路型の光スイッチ８は、ＭＥＭＳ型の光スイッチ８と比較してスイッチ変更時間（上記（ｄ））が高速である利点がある（図３の例では１００ｎｓ）。この場合、合計時間を律速するのは計算ノード１と制御モジュール７との間で信号を送受信するために要する信号伝送時間であると考えられる（図３左列の例では１ｍｓ）。そこで、計算ノード１を構成する回路チップと制御モジュール７を構成する回路チップを直接接続して両者間の通信を高速化することにより、合計時間を効果的に短縮することができる。図３最下行に示すように、合計時間は大幅に改善されている。
【００２３】
ただし光導波路型の光スイッチ８を用いる場合、スイッチ変更時間が短縮されたことにともなって、合計時間に占める同時間の割合も少なくなっている（図３右列の例では１４％）。そうすると、ＭＥＭＳ型の光スイッチ８を用いる場合と比較して、スイッチ変更時間以外の時間を短縮することにより合計時間を改善する効果が相対的に高まると考えられる。そこで本発明は、制御モジュール７の動作を改善することにより、スイッチ変更時間が短縮されるのにともなって合計時間をより効果的に改善することを図る。
【００２４】
＜実施の形態１＞  
図４は、本発明の実施形態１に係る並列情報処理システムの構成図である。本実施形態１に係る並列情報処理システムにおいて、図２と比較して新たにアドレス判定回路９を設けた。
【００２５】
制御モジュール７は、ＲＥＱ信号を受信すると、ＲＥＱ信号が指示する変更後のデータ送信ポートが現在使用可能か否かを、アドレス判定回路９を用いて判定する。使用可能である場合（例えばそのデータ送信ポートが解放されており、いずれのデータ受信ポートとも接続されていない）は、ＲＥＱ信号にしたがって接続経路を変更するよう指示するスイッチ制御信号を光スイッチ８に対して送信する。また制御モジュール７は、光スイッチ８のスイッチ変更時間が十分に短いことを見込んで、スイッチ制御信号の送信と並行してＡＣＫ信号を計算ノード１に対して送信する。スイッチ制御信号とＡＣＫ信号を並行して発信することにより、計算ノード１は従来よりも早いタイミングでデータ送信を開始することができるので、結果として光スイッチシステムおよびこれを用いる並列情報処理システムの通信性能を向上させることができる。
【００２６】
図５は、各機器の詳細構成を示す図である。ここでは８ポート構成の８ｘ８光スイッチを用いた場合の構成を示す。光スイッチ８には６つの計算ノード１が接続されており、光スイッチ８の残り２ポートは管理ネットワークに接続されている。ドライバ回路１６は、制御モジュール７が生成した制御信号を光スイッチ８に対して出力する回路である。
【００２７】
計算ノード１は、演算回路１０、送受信回路１１、制御回路１２を備える。演算回路１０は、計算ノード１が受け持つ計算を実行する。送受信回路１１は、計算ノード１が光スイッチ８との間で送受信するデータを所定フォーマットに変換し、光スイッチ８との間で信号を送受信する。制御回路１２は、計算ノード１の全体動作を制御する。図５においては、図面を複雑にしないため光スイッチ８の受信ポートのみに送受信回路１１が接続されているが、実際には光スイッチ８の送信ポートも送受信回路１１と接続されている。計算ノード１が光スイッチ８の送信先ノードを変更する際、制御回路１２はその旨を要求するＲＥＱ信号を制御モジュール７に対して送信する。
【００２８】
ＲＥＱ信号は、（ａ）接続経路変更を要求するＲＥＱビット（１ビット）、（ｂ）送信ポートの現在のアドレスを無効にするよう指示するＤＩＳビット（１ビット、「完了信号」に対応する）、（ｃ）変更後の送信ポートのアドレスを指示するアドレスビット（３ビット）、を含む。ＤＩＳビットは、信号の送信が不要となった場合に単独で送信される。ＲＥＱビットは信号の送信が必要となったときにアドレスビットとともに出力される。
【００２９】
制御モジュール７は、制御回路１３、制御信号生成回路１４を備える。アドレス判定回路９は、アドレス比較回路１５を備える。制御回路１３は、ＲＥＱ信号を受け取ると、指定された変更後の送信ポートのアドレスが現在使われているか否かを判定するため、そのアドレスをアドレス比較回路１５に出力する。アドレス比較回路１５は、光スイッチ８が現在使用している送信ポートのアドレスを保持している。アドレス比較回路１５は、保持しているアドレスに基づき、制御回路１３から受け取ったアドレスが現在使われているか否かを判定し、その結果を制御回路１３に対して出力する。アドレスが使われていない場合、制御回路１３は計算ノード１に対してＡＣＫ信号（１ビット）を送信するとともに、その送信と並行して制御信号生成回路１４に対して変更後の送信ポートのアドレスを出力する。制御信号生成回路１４はそのアドレスにしたがってスイッチ制御信号を生成し、光スイッチ８に対して送信する。スイッチ制御信号はドライバ１６を介して光スイッチ８に送信される。
【００３０】
図６は、計算ノード１における各信号の動作波形を示す図である。ＤＩＳビットをアサートすることにより、制御回路１３は旧アドレスに対応するＡＣＫ信号をネゲートする。ＤＩＳビットは、データの送信が終了した際にアサートするビットであり、現在使用している送信ポートを解放するよう光スイッチ８に対して指示するためのものである。ＤＩＳビットを用いることにより、計算ノード１が同じポートを使用する必要が生じた際に、その計算ノード１は該当するポートを迅速に使用開始することができる。これに対しＤＩＳビットを用いない場合は、計算ノード１がデータ送信を完了してもそのときの送信ポートが確保されたままになるため、次にその送信ポートを使用する必要のある計算ノード１がデータ送信を待機する必要があり、並列情報処理システム全体の性能が劣化する可能性がある。
【００３１】
ＲＥＱビットをアサートすると、制御回路１３は、その送信先アドレスが空いていれば新しいアドレスに対応するＡＣＫ信号をアサートする。ＲＥＱ信号がアサートされてからＡＣＫ信号がアサートされるまでの詳細な制御に関しては、後述の図９で説明する。図６においては、ＲＥＱビットとＤＩＳビットに時間差をつけて示したが、制御回路１２はこれらビットを同時に出力することもできる。その場合、制御回路１２は、ＡＣＫ状態が新旧いずれのアドレスに対応するものであるかについての状態を保持しておく必要がある。
【００３２】
図７は、ＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ：連想メモリ）１８を用いてアドレス比較回路１５を構成した例を示す図である。ＣＡＭは、通常はＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のキャッシュメモリ内にデータがあるか否かを判定するために用いられる回路であり、入力されたデータが記憶されているか否かを１サイクルの命令で判断する機能がある。本発明においては、ＣＡＭ１８は光スイッチ８が現在使用している送信ポートのアドレスを保持する。
【００３３】
ＣＡＭ１８は、比較処理を指示するＣＯＭＰ信号と比較対象であるアドレスが入力されると、そのアドレスを記憶しているか否かを判断する。記憶している場合はＨＩＴ信号を返信し、記憶していない場合はＨＩＴ信号をネゲートする。これにより、ＲＥＱ信号が指定する変更後の送信ポートが使用されているか否かを高速に判定することができる。制御回路１３は、送信ポートを変更する場合は、変更後のアドレスをＣＡＭ１８に書き込む。また制御回路１３は、ＤＩＳビットを受け取った場合はＣＡＭ１８内の対応するアドレスをクリアする。
【００３４】
図８は、アドレス比較回路１５がアドレス判定を実施するときの各信号の動作波形を示す図である。アドレス比較回路１５は、クロック信号ＣＬＫに同期して動作する。ＤＩＳビットが入力されると、そのポートのデータ送信が無効になり、ＡＣＫ信号がネゲートされる。ＲＥＱビットが入力されると、次のクロックの立ち上がりでＣＯＭＰ信号がアサートされ、アドレス比較回路１５が活性化される。アドレス比較回路１５は、指定されたアドレスが現在使われているか否かを、自身が記憶しているアドレスと指定されたアドレスを比較することにより判定する。次のサイクルで比較結果が出力される。このタイミングでＨＩＴがアサートされていない場合は、該当するアドレスが使われておらず、光スイッチ８の送信ポートを変更できることを示している。よって、次のサイクルで変更完了を示すＡＣＫ信号が出力される。
【００３５】
図８には示していないが、制御回路１３はＡＣＫ信号を出力するのと同時に、光スイッチ８に対してスイッチ制御信号を出力する。さらに、図８には示していないが、ＨＩＴ信号がアサートされた場合は、ＡＣＫ信号はアサートされない。ＨＩＴ信号がアサートされた場合の動作に関しては、後述の図９において説明する。
【００３６】
図９は、計算ノード１が光スイッチ８に対してデータを送信するときの各機器の動作を説明するフローチャートである。以下、図９の各ステップについて説明する。
【００３７】
（図９：ステップＳ９００〜Ｓ９０１）
計算ノード１は、自身が受け持つ計算を完了すると、光スイッチ８を介してその計算結果を他の計算ノード１に対して送信するため、本フローチャートを開始する（Ｓ９００）。制御回路１２は、光スイッチ８の送信ポートを宛先ノードと接続するよう要求するＲＥＱ信号と、宛先ノードに対応する送信ポートのアドレスとを、制御モジュール７に対して送信する。制御回路１３は、計算ノード１が送信したＲＥＱ信号とアドレスを受け取る。
【００３８】
（図９：ステップＳ９０２）
制御回路１３は、受信したアドレスが使用中であるか否かをアドレス比較回路１５に対して問い合わせる。アドレス比較回路１５は、例えばＣＡＭ１８を用いてそのアドレスを検索することにより、当該アドレスが使用中であるか否かを判定する。
【００３９】
（図９：ステップＳ９０３〜Ｓ９０４）
ＲＥＱ信号が指定する変更後のアドレスが空いている場合はステップＳ９０５へ進む。空いていない場合は、制御回路１３は所定時間待機（Ｓ９０４）した後にステップＳ９０２へ戻り、同様の処理を繰り返す。Ｓ９０４における待機時間は、例えば１μｓなどあらかじめ定めておけばよい。
【００４０】
（図９：ステップＳ９０５〜Ｓ９０７）
制御回路１３は、計算ノード１に対してＡＣＫ信号を送信するとともに、これと並行してスイッチ制御信号を生成して光スイッチ８に対して送信する（Ｓ９０５）。計算ノード１の制御回路１２は、光スイッチ８の送信ポートが変更完了した後に光スイッチ８に対してデータが到着するように、所定時間待機する（Ｓ９０６）。この待機時間については後述の図１１で改めて説明する。制御回路１３は、送受信回路１１に対してデータを引き渡し、送受信回路１１はそのデータを光スイッチ８に対して送信する（Ｓ９０７）。
【００４１】
（図９：ステップＳ９０６：補足）
本ステップにおいて所定時間待機した後に改めて同じ送信ポートに対して接続するよう試みるのは、計算ノード１が実施した計算内容によって、計算結果の宛先ノードがあらかじめ定まっているからである。ただし並列情報処理システムの較正や計算内容によっては別の宛先ノードを選択し得る場合もあると考えられるので、その場合は別の宛先ノードを選択するようにＲＥＱ信号の内容を変更することもできる。
【００４２】
図１０は、制御モジュール７がＡＣＫ信号を計算ノード１に対して発信してから計算ノード１が光スイッチ８に対してデータを送信するまでのタイムチャートである。計算ノード１が送信するデータが送信エラーとならないようにするためには、光スイッチ８が送信ポートを変更完了した後に、計算ノード１が送信するデータが光スイッチ８に対して到達するようにする必要がある。制御モジュール７はＡＣＫ信号の発信と並行してスイッチ制御信号を生成開始するので、具体的には以下の条件を満たす必要がある。
【００４３】
制御モジュール７がＡＣＫ信号を発信してから光スイッチ８が送信ポートを変更完了するまでの時間は、制御信号生成回路１４がスイッチ制御信号を生成するために要する時間ｔ１、スイッチ制御信号が制御モジュール７から光スイッチ８に到達するまでに要する信号伝送時間ｔ２、光スイッチ８が送信ポートを変更するために要する処理時間ｔ３、の合計となる。これに対し制御モジュール７がＡＣＫ信号を発信してから光スイッチ８が計算ノード１からデータを受信するまでの時間は、ＡＣＫ信号が制御モジュール７から計算ノード１に到達するまでに要する信号伝送時間ｔ４、送受信回路１１が送信データを準備するために要する処理時間ｔ５、送信データが計算ノード１から光スイッチ８に到達するまでに要する信号伝送時間ｔ６、の合計となる。したがって、ｔ１＋ｔ２＋ｔ３≦ｔ４＋ｔ５＋ｔ６（式１）を満たす必要がある。
【００４４】
計算ノード１の制御回路１２は、上記各時間をレジスタなどの記憶装置内にあらかじめ保持しておき、上記式１が満たされていない場合は、ステップＳ９０６において式１が満たされるまで送受信回路１１に対して送信データを引き渡さずに待機する。上記不等式が満たされている場合は、ステップＳ９０６を省略することもできる。
【００４５】
図１１は、計算ノード１がＲＥＱ信号を発信してからＡＣＫ信号を受信するまでに要する合計時間について説明する図である。図１１左列は図３の右列に対応し、図１１右列は本実施形態１に係る並列情報処理システムにおける合計時間を示す。
【００４６】
ＲＥＱ信号が計算ノード１から制御モジュール７に到達するまでに要する信号伝送時間は、本実施形態１においても変わらない。本実施形態１においてはアドレス比較回路１５がアドレス判定を実施するための時間が必要となる。ＣＡＭ１８を用いる場合はその動作は１クロックで完了するので、例えば１００ＭＨｚクロックで動作する場合は、その時間は１０ｎｓとなる。スイッチ制御信号の生成時間、スイッチ制御信号の伝送時間、およびスイッチ変更時間は、本実施形態１においても変わらない。変更完了信号の伝送時間、およびＡＣＫ信号の伝送時間は、本実施形態１においても変わらない。
【００４７】
本実施形態１においては、式１が満たされる前提の下、ＡＣＫ信号の発信と並行して光スイッチ８の送信ポートを変更するので、計算ノード１がＲＥＱ信号を発信してからＡＣＫ信号を受信するまでの時間を短縮することができる。具体的には、ＲＥＱ信号が計算ノード１から制御モジュールに到達するまでに要する信号伝送時間、アドレス比較回路１５による判定時間、およびＡＣＫ信号が制御モジュール７から計算ノード１に到達するまでに要する時間の合計となる。図１１に示す例においては２１０ｎｓである。従来システムにおける同時間は７００ｎｓであるため、本実施形態１においては計算ノード１は従来よりも早いタイミングでデータ送信を開始できることが分かる。
【００４８】
また本実施形態１においては、図１１の最下行に示す合計時間に対するスイッチ変更時間の割合は、従来システムにおける１４％よりも高くなり、４８％となっている。このことは、スイッチ変更時間以外の時間によるロスが低減されたことにより、合計時間に占めるスイッチ変更時間の割合が高まっていることを示している。
【００４９】
＜実施の形態１：まとめ＞
以上のように、本実施形態１に係る光スイッチシステムは、ＡＣＫ信号を送信することと並行して、ＲＥＱ信号の指示にしたがって送信ポートを変更するように光スイッチ８に対して指示する。これにより、光スイッチ８が送信ポートを変更することにともなう時間ロスの影響を低減し、通信性能を改善することができる。
【００５０】
また本実施形態１に係る並列情報処理システムにおいて、計算ノード１は、式１が満たされるタイミングで光スイッチ８に対してデータを送信する。これにより、計算ノード１がＡＣＫ信号を受信してから光スイッチ８に対してデータを送信開始するまでの時間を短縮することができる。
【００５１】
本実施形態１において、制御モジュール７が計算ノード１に対してＡＣＫ信号を発信する動作と、制御モジュール７が光スイッチ８に対してスイッチ制御信号を発信する動作とは、必ずしも厳密に同時並行で実施する必要はない。少なくとも制御モジュール７がＡＣＫ信号を発信する動作と光スイッチ８に対して指示を発信するための準備動作が並列的に実施される期間が存在すれば、本発明の効果をその限りにおいて発揮することができる。例えば図１０に示すように、制御信号生成回路１４がスイッチ制御信号を生成するためにある程度の時間を要する場合は、計算ノード１にＡＣＫ信号が到達した後にスイッチ制御信号を光スイッチ８に対して発信してもよい。
【００５２】
＜実施の形態２＞
実施形態１においては、光スイッチ８が送信ポートを変更するために要する時間（スイッチ変更時間）以外の時間を短縮することにより、光スイッチシステムの通信性能を向上させる構成例について説明した。また、図３および図１１の最下行に示す合計時間に対するスイッチ変更時間の割合が小さくなると、その効果が相対的に高まることを説明した。本発明の実施形態２では、合計時間に対するスイッチ変更時間の割合がどの程度であれば効果的であるかについて考察する。
【００５３】
本発明における光スイッチシステムの主要動作は、ＡＣＫ信号の伝送、スイッチ制御信号の生成、スイッチ変更、ＲＥＱ信号の伝送、の４つであると考えられる。これらの動作のために要する時間が均等であると仮定すると、合計時間に対するスイッチ変更時間の割合が２５％以上であれば、本発明の効果が有効に発揮されると考えられる。また、現実の光スイッチシステムにおいては、ＲＥＱ信号の伝送とＡＣＫ信号の伝送に要する時間は最速でも１０ｎｓ程度であり、アドレス判定に要する時間が最短でも５ｎｓ程度かかると考えると、合計時間に対するスイッチ変更時間の割合は最大でも８０％程度になると考えられる。したがって、合計時間に対するスイッチ変更時間の割合が２５％以上８０％以下であれば、本発明の効果が有効に発揮されると考えられる。
【００５４】
本発明は上記した実施形態の形態に限定されるものではなく、様々な変形例が含まれる。上記実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。実施形態の構成の一部について、他の構成を追加・削除・置換することもできる。例えば上記実施形態においてはＣＡＭ１８を用いてアドレス比較回路１５を構成する例について説明したが、光スイッチ８のポート数が少ない場合は、全ビットの比較回路を用いることにより、アドレスが使用中であるか否かを判定することもできる。
【００５５】
上記各構成、機能、処理部、処理手段等は、それらの一部や全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能部等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に格納することができる。
【符号の説明】
【００５６】
１：計算ノード、２：サーバ、３：ネットワーク、４：管理サーバ、５：光スイッチネットワーク、７：制御モジュール、８：光スイッチ、９：アドレス判定回路、１０：演算回路、１１：送受信回路、１２：制御回路、１３：制御回路、１４：制御信号生成回路、１５：アドレス比較回路、１６：ドライバ、１８：ＣＡＭ。
【図１】
2015091073.tif 000003
【図２】
2015091073.tif 000004
【図３】
2015091073.tif 000005
【図４】
2015091073.tif 000006
【図５】
2015091073.tif 000007
【図６】
2015091073.tif 000008
【図７】
2015091073.tif 000009
【図８】
2015091073.tif 000010
【図９】
2015091073.tif 000011
【図１０】
2015091073.tif 000012
【図１１】
2015091073.tif 000013