(57)【要約】【課題】  計算ノードの数の多い並列計算機において、光信号を用いた通信を行う際に、コストと性能を両立させること困難となる。【解決手段】  情報処理装置であって、複数の計算ノードと、光信号を用いた通信経路と、通信経路を切り替えるための光スイッチと、複数の計算ノードにジョブを割り当てる制御部と、光スイッチを切り替える信号を発生させる制御部とを有し、計算ノードの性能と光信号を用いた通信経路と計算する対象の性能を並べたテーブルの情報に従って、ジョブの割り当てと光スイッチの接続を切り替えることを特徴とする。【選択図】  図12
2016075968.tif 000002
【特許請求の範囲】
【請求項１】
複数の計算ノードと、
光信号を用いた通信経路と、
通信経路を切り替えるための光スイッチと、
複数の計算ノードにジョブを割り当てる制御部と、
光スイッチを切り替える信号を発生させる第1の制御部とを有し、
各計算ノードの持つ通信経路の数と計算するジョブの必要通信量を記載した第1のテーブルの情報に従って、
ジョブの必要通信量が多い順に通信経路の数の多い計算ノードにジョブが割り当てられるとともに、
第1のジョブが割り当てられている第1の計算ノードから、第2のジョブが割り当てられている第2の計算ノードへのデータ通信を行うために、かつ、
前記第1の計算ノードと前記第2の計算ノードとの間の光通信回線を設定するために、前記複数の計算ノードの間に設けられた光スイッチの設定を行うことを特徴とする情報処理装置。
【請求項２】
通信経路に障害があった場合に障害のある通信経路を使用しないように前記光スイッチを切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項３】
通信路の障害は光信号を送受信する光素子に発生することを特徴とする請求項２記載の情報処理装置。
【請求項４】
通信路に障害があった場合に前記のジョブを割り当てる制御部は使用しない通信路が発生するようにジョブを割り当てることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記ジョブを割り当てる制御部は計算ノードの一部の機能を用いて実現されていることを特徴とする請求項４記載の情報処理装置。
【請求項６】
通信路の故障した場所を特定するために光スイッチを切り替えて複数の通信経路を用いることを特徴とする請求項４記載の情報処理装置。
【請求項７】
通信路の稼働時間を記憶する記憶回路と、
通信路の稼働状況を伝達する信号とを有し、
通信路の稼働状況が長い通信路を使用しないように光スイッチを切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項８】
通信に使用される光素子の稼働時間が通信路の稼働時間として使用されることを特徴とする請求項７記載の情報処理装置。
【請求項９】
通信に使用される光素子の発光強度を測定する装置を有し、
発光強度が低下した発光素子を含む通信路を使用しないように光スイッチを切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項１０】
光の発光強度の履歴を記憶する回路を有し、
光の発光強度が以前よりも低下した発光素子を含む通信路と使用しないように光スイッチを切り替えることを特徴とする請求項９記載の情報処理装置。
【請求項１１】
通信に使用される部品の周辺回路の温度を測定する温度計を有し、
温度が高い部品を含む通信路を使用しないように光スイッチを切り替えることを特徴とする請求項１記載の情報処理装置。
【請求項１２】
通信路には光素子を含み、
光素子周辺の温度を計測することを特徴とする請求項１１記載の情報処理装置。
【請求項１３】
複数の電気スイッチを有し、
計算ノードから出力される通信経路は前記電気スイッチに接続され、
電気スイッチから出力される通信経路の一部が光スイッチに接続されることを特徴とする請求項１記載の情報処理装置。
【請求項１４】
電気スイッチから出力される経路を制御する信号と
前記電気スイッチから出力される経路を制御する信号を出力する第2の制御部とを有することを特徴とする請求項１３記載の情報処理装置。
【請求項１５】
前記第2の制御部は第1のテーブルの情報を用いて光スイッチの切り替え情報をもとに出力経路を決定することを特徴とする請求項１４記載の情報処理装置。
【請求項１６】
複数の計算ノードと、
前記複数の計算ノードが光信号を用いた通信経路で接続された光スイッチと、
複数の計算ノードにジョブを割り当てる第1の制御部と、
光スイッチを切り替える信号を発生させる第2の制御部とを有し、
計算ノードで実行するジョブが通信量の多い順に光信号を用いた通信経路の多い計算ノードに割り当てられるように第1の制御部が計算ノードにジョブを割り当てるとともに、第2の制御部が光スイッチの接続を切り替えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の計算ノードが接続された並列情報処理装置に関し、特に複数の計算ノードが光配線と光スイッチを用いて接続されている並列情報処理装置に関する。
【背景技術】
【０００２】
大規模な情報処理を行うための計算機として、並列計算機が一般的となっている。並列計算機では、複数ある計算ノードが配線で接続され、計算するジョブが各計算ノードに割り当てられ、計算ノード間でデータをやり取りして計算が実行される。
【０００３】
特に、グラフと呼ばれるノード(頂点)群とノード間の連結関係を表すエッジ(枝)群で構成される抽象データを計算する際には、計算ノード間の通信性能が全体の情報処理性能に大きく影響を与える。よって、これらの並列計算機では、計算ノード間の通信速度の向上が必要となる。通信速度を向上させる一つの手段として、光信号を用いた通信が挙げられる。従来の電気信号を用いた通信では、例えば25Gbpsという速度で1m程度の計算ノード間通信を行おうとすると通信に必要な消費電力が劇的に増加するが、光信号を用いた通信では消費電力を抑えることが可能となる。
【０００４】
光信号を用いた通信では、発光素子を用いた通信装置が必要となる。しかし、発光素子は従来の電気信号を扱う素子よりも信頼性が低く、故障しやすいという問題がある。
【０００５】
よって、この問題を解決するために、光通信経路に冗長な経路を設けておき、発光素子が故障した場合には冗長な経路に切り替えて通信を行うという技術があった(特許文献1)。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2010-514366号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献1記載の方法では、余分な発光素子を含む通信装置を準備しておく必要があるため、コストが大きくなる。特に、計算ノードの数の多い並列計算機では、通信経路も多くなり、冗長な通信経路のコストは膨大となる。また、別の観点から見れば、冗長な通信経路を素子が故障する以前に使用できればさらに高速な通信が可能となり、同じコストで考えれば特許文献1に記載の発明では、通信性能が低下している。よって、光信号を用いた通信を行う際に、コストと性能を両立させることが課題となっていた。
【課題を解決するための手段】
【０００８】
本発明では、実行するジョブが必要とする通信量を考慮してジョブを計算ノードに配置するとともに、配置されたジョブに最適な通信経路構成に組み替える。
【０００９】
本願発明による課題を解決するための手段のうち、代表的なものは以下の通りである。
【００１０】
第1に、情報処理装置であって、複数の計算ノードと、光信号を用いた通信経路と、通信経路を切り替えるための光スイッチと、複数の計算ノードにジョブを割り当てる制御部と、光スイッチを切り替える信号を発生させる制御部とを有し、計算ノードの性能と光信号を用いた通信経路と計算する対象の性能を並べたテーブルの情報に従って、必要通信量の多いジョブを通信容量の多い計算ノードに割り当てるとともに、計算ノード間に必要な通信量を確保できるように光スイッチの接続を切り替えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、光通信経路を用いた情報処理装置において、光通信経路に障害があっても性能を極力落とさずに情報処理を実施することが可能となる。さらには、情報処理装置が持つ通信経路等のリソースを最大限活用して性能を出すことが可能となる。さらには、通信経路等のコストを最小限に抑えて性能を最大にすることが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明を用いた並列計算機の基本構成図。
【図２】計算ノードの一例。
【図３】各計算ノードのネットワーク容量を保持した表。
【図４】演算するジョブ間の通信量を保持した表。
【図５】光スイッチおよびジョブの割り当て表。
【図６】演算するジョブ間の通信量を保持した表。
【図７】光スイッチおよびジョブの割り当て表。
【図８】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図９】並列計算機の通信経路に故障が発生した場合の状態を示す図。
【図１０】各計算ノードのネットワーク容量を保持した表。
【図１１】光スイッチおよびジョブの割り当て表。
【図１２】本発明を用いた並列計算機に故障が発生した場合の状態図。
【図１３】この図の(a)および(b)は、故障場所を特定するためのスイッチ切り替え図。
【図１４】故障箇所を特定するためのフローチャート。
【図１５】本発明を用いた並列計算機の基本構成図。
【図１６】電気スイッチのネットワーク容量を保持した表。
【図１７】演算するジョブ間の通信量を保持した表。
【図１８】光スイッチおよびジョブの割り当て表。
【図１９】電気スイッチのネットワーク容量を保持した表。
【図２０】光スイッチおよびジョブの割り当て表。
【図２１】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図２２】各計算ノードのネットワーク容量を保持した表。
【図２３】演算するジョブ間の通信量を保持した表。
【図２４】光スイッチおよびジョブの割り当て表。
【図２５】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図２６】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図２７】ネットワークの稼働時間を保持した表。
【図２８】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図２９】ネットワーク内の光素子の発光強度を保持した表。
【図３０】本発明を用いた並列計算機の光スイッチ切替え後の構成図。
【図３１】ネットワークの発光素子の周辺温度を保持した表。
【図３２】ジョブの実行フロー。
【図３３】ジョブの計算ノードへの割り当てと光スイッチ切り替えフロー。
【図３４】ジョブの計算ノードへの割り当てと光スイッチ切り替えフロー。
【図３５】通信経路に障害が起こった場合のジョブの実行フロー。
【図３６】通信経路に障害が起こった場合のジョブの実行フロー。
【発明を実施するための形態】
【００１３】
本発明の代表的な情報処理装置では、複数の計算ノードと光素子を用いた通信経路を用いた並列情報処理装置において、光通信経路に障害があった場合にも性能を落とさず情報処理を行うことが可能となる。以下、本発明の各実施例について、図面を用いて詳細に説明する。
【実施例１】
【００１４】
図1に本発明を用いた情報処理装置の構成を示す。図1において、NODE1〜NODE4は演算を行う計算ノード、OSW1は12入力×12出力の光スイッチ、CONT1は計算ノードにジョブを割り振るとともに光スイッチを制御する制御回路、JCONT1は計算ノードにジョブを割り当てるための信号、OCONT1は光スイッチの経路を切り替えるための制御信号を表す。各計算ノードからは3本の通信経路が出力され、光スイッチを介して他の計算ノードと接続されている。この構成で情報処理を行う際には、複数ある計算ノードにそれぞれジョブが割り振られて計算が実施される。あるジョブで計算した結果を他のジョブに渡す際には、光スイッチを用いた通信経路を通じてデータが転送される。また、あるノードからあるノードにデータを送る際に、直接の経路がなくても他のノードを経由してデータを送ることが可能である。例えば、NODE1からNODE4へデータを送る際に直接の通信経路がない場合にも、NODE1からNODE2とNODE2からNODE4の経路があれば、まずはNODE1からNODE2へデータを送り、さらにそのデータをNODE2からNODE4に送ることでデータ通信が可能となる。ただし、直接の経路がない場合にはデータの転送に時間がかかり、直接の経路がある場合と比較して性能は劣化する。
【００１５】
計算ノードNODE1〜NODE4の一例を図2に示す。計算ノードは、ボード(図中BOARD)上に、計算を実行するCPU(図中のCPU)と計算データを記憶するメモリ(図中のMEM)、メモリよりも大容量の一時的にデータを保存するストレージ(図中のSTO)、3本の通信経路(図中のLAN)を出力する通信カード(図中のHCA)が配置されて構成されている。CPUは一般的なCPUであり、メモリには通常DRAMが、ストレージにはハードディスクドライブやSSD(Solid State Drive)等が用いられる。通信経路には、イーサネットやInfiniband、PCE Expressなどが用いられる。本実施例では、各計算ノードからは3本の通信経路が出力されており、ここには光信号を用いた通信経路が用いられる。図3では、各計算ノードの通信経路数、つまり通信経路の容量がテーブルであらわされる。図1の状態では各ノードの通信経路がすべて動作している場合を示しているため、各ノードのネットワーク容量は3となっている。
【００１６】
図4に、この情報処理装置で処理する並列な計算における各ジョブ間の通信量の一例を示す。並列計算では、計算する処理をノード数のジョブに分割し、そのジョブを情報処理装置の各ノードに割り当てる。その際に、ノード間では計算結果のやり取りが必要となるため、通信が発生する。
【００１７】
計算処理を分割した際には各ジョブ間で必要な通信量はわかるため、図4のテーブルに示す通信量の分布が得られる。本発明を用いた情報処理装置では、図3の各ノードが持っているネットワーク容量と図4の各ジョブ間で必要な通信量を考慮して、各ジョブを各ノードに割り当てるとともに、ノード間の通信を行うための配線を光スイッチで切替え、処理を実行する。この例では、各ノードのネットワーク容量が均等であることと、必要な通信量が均等であることから、図5に示すようにジョブを割り当てるとともに光スイッチの接続も各ノード間に均等に割り当てる。図5の表の中心の4列は各ノード間を接続する通信路の本数を示しており、4つあるノード間が均等に1本ずつで接続されている。また右の列はジョブの割り当てを示しており、NODE1〜NODE4にそれぞれJOB1〜JOB4が割り当てられる。この際の光スイッチによる通信経路の割り当ては、図1のとおりとなる。
【００１８】
図32に本発明を用いた情報処理装置での演算の実行手順を示す。最初に実行するジョブの特性に応じて計算ノードへのジョブの割り当てと光スイッチの切り替えを実行し、ジョブ割り当てと光スイッチの切り替えが終了後ジョブを実行する。ジョブの実行が終了すると、次のジョブの内容にしたがって、再度計算ノードへのジョブの割り当てと光スイッチの切り替えを行う。
【００１９】
この繰り返しによって、ジョブを実行するとともに各ジョブに最適な計算ノードの割り当てとネットワーク構成を用いて計算を実行する。図33に、図32でのジョブ割り当てと光スイッチ切り替えを実行する際のフローを示す。最初にジョブの特性の情報より各ジョブが必要とする通信量のテーブルを作成する。次に、そのテーブルの情報を元に必要情報量が情報装置の有するネットワーク容量にあうように各ジョブを情報装置内の計算ノードに割り当てる。次に各ジョブが割り当てられた各計算ノードに必要なネットワーク構成を実現するように光スイッチを切り替える。光スイッチの切り替えが終わると、計算を実行する。
【００２０】
図34には、図33のフローを実行するためのフローチャートの一例を示す。ステップ101において、各ジョブ間の必要通信量のテーブルにより各ジョブに必要な通信量の合計を計算する。これによって図4の表が得られる。ステップ102において、必要通信量の多いジョブから順に通信容量の大きい計算ノードに割り当てる。ステップ102〜104の条件分岐およびループによって、すべてのジョブを必要通信量の多い順に割り当てることが可能となる。次にステップ106においてノード間の必要通信量のテーブルを作成する。
【００２１】
これは、割り当てられたジョブの情報を元にノード間に必要な通信量を書き出すことで容易に作成可能である。次にステップ107において各ノードが持つネットワークを必要通信量に比例配分で割り当てる。この時に使われる各ノードの持つネットワーク容量は例えば図3の表が使用される。ステップ108〜110の分岐およびループは、単純にネットワーク容量を各ノードに比例配分すると、ネットワークは必要だが実際にはネットワークが接続されないノードが出てくることを防ぐためのフローである。
【００２２】
たとえば、ノード1とノード2の間の必要通信量が100、ノード1とノード3との間の必要通信量が1で、ノード1に配分できる通信経路(ネットワーク容量)が3だった場合、3ある通信経路がすべてノード1とノード2の間に割り当てられてしまう。これを防ぐために、通信経路がまったくないノードがあった場合には、必要通信量を便宜上2倍に大きく見せてネットワークの割り当てをやり直すことでネットワーク接続が必要にもかかわらずネットワークが接続されていないノードが形成されることを防ぐ。この割り当て結果によって図5の表が得られる。この表のとおりに光スイッチを切り替えれば、ジョブを配置して計算が可能となる。
【００２３】
ここで、本例における情報処理装置で処理する計算の内容が変化し、ジョブ間の必要通信量が変わった場合を考える。図6に変化した各ジョブ間の必要通信量を示す。図4の場合と比較すると、JOB1とJOB3の間の必要通信量が増加する一方、JOB4からJOB1およびJOB3への必要通信量が減っていることが分かる。この処理を図1および図5で示した通信経路で処理した場合、JOB1とJOB3の間の通信がボトルネックとなってしまう。よって、光スイッチによって通信経路を変更することで、このボトルネックを解消することが可能となる。
【００２４】
そのための光スイッチの割り当て方を図7の表に示す。JOB1とJOB3が割り当てられているNODE1およびNODE3の間の通信経路を図5の場合から増やして2とする一方で、通信が必要のないJOB4が割り当てられたNODE4とNODE1およびNODE3との経路は減って0となっている。これを実際に光スイッチで切り替えた場合の構成を図8に示す。図1の場合と異なり、NODE1とNODE3の間は2本の通信経路が出来ている一方、NODE1およびNODE3からNODE4への通信経路はなくなっていることがわかる。
【００２５】
つまり、光スイッチによって通信経路を切り替えることによって、計算する処理に応じた計算機構成をとることが出来、性能が向上できることがわかる。この場合も、図34のフローを用いて、各ジョブの各計算ノードへの割り当てと光スイッチの切り替えを実行することが可能となる。この場合、図34のステップ101で生成されるテーブルは図6のテーブルであり、各ノードが持つ通信量のテーブルは図3のテーブルが使用され、最終的なジョブの計算ノードへの割り当てと光スイッチの接続を表すテーブルとして図7のテーブルが生成される。図11のテーブルにしたがって光スイッチを切り替えれば、ジョブを計算ノードに配置して処理を実行することが可能となる。
【００２６】
さらに、通信経路では故障がおきやすく、特に光信号を用いる場合に必要となる発光素子は壊れやすいという特徴がある。本発明を用いると、通信経路に故障が発生した場合に性能を落とさずに計算を行うことがある。
【００２７】
図9に通信経路に故障が発生した場合の情報処理装置の状態を示す。本例では、NODE3がもつ3本の通信経路の1本が故障した状態をあらわしている。この際に、NODE3で通信路が故障したことを感知し、制御部に通知する。それにともなって、制御部で保持する各ノードのネットワーク容量の表が図10のように書き換えられる。それにともなって、図6で示した各ジョブの必要な通信量と図10のネットワーク容量からジョブおよび光スイッチの再割り当てが行われる。
【００２８】
ジョブおよびスイッチの割り当て結果の一例を図11に示す。NODE3のネットワーク容量が低くなっているため、必要な通信量が少ないJOB4がNODE3に割り当てられ、JOB3はNODE4に割り当てられる。JOB1とJOB3間の通信量は多いため、NODE1とNODE4の接続本数が増やされて2となる。このジョブの割り当ての状態、および、光スイッチの接続を図12に示す。
【００２９】
図8の場合と同じ処理を実行しても、ジョブの割り当ておよび光スイッチの接続状態が異なっていることがわかる。また、このとき、図12では通信経路の一部が故障しているが、必要な通信量は確保できているため、図8と比較して図12では性能が落ちていないことが分かる。
【００３０】
この場合も、図34のフローを用いて、各ジョブの各計算ノードへの割り当てと光スイッチの切り替えを実行することが可能となる。この場合、図34のステップ101で生成されるテーブルは図6のテーブルであり、各ノードが持つ通信量のテーブルは図10のテーブルが使用され、最終的なジョブの計算ノードへの割り当てと光スイッチの接続を表すテーブルとして図11のテーブルが生成される。図11のテーブルにしたがって光スイッチを切り替えれば、ジョブを計算ノードに配置し、通信経路に故障があった場合にも計算性能を落とさずに処理を実行することが可能となる。
【００３１】
ここで、通信経路が故障した場合、通信経路を構成する部品に故障が発生した際にエラー信号を発生したり、ランプが点いたりという機能がある場合には容易に故障箇所を突き止めることが出来る。特に、故障信号を発生する場合には、その信号を光スイッチの制御回路に入力することで、容易に図3に示したネットワーク容量の表を書き換えることが出来、ジョブおよび光スイッチの構成を変更することが出来る。
【００３２】
また、部品にその機能がない場合には、通信経路を制御することで故障箇所を特定することが出来る。例えば、図13(a)において、NODE3の一番上の通信出力が故障した場合、NODE1とNODE3のデータのやり取りからNODE1の一番上の通信路とNODE3の一番上を接続した経路Aにて障害が発生したことは検出可能であるが、経路A上のどこが故障したかは判明しない。よってこの場合には、図14のシーケンスにしたがって故障箇所を特定する。故障が発生すると、そのとき実行していたジョブを停止する。経路A上で故障が発生したことはわかるため、次に光スイッチを図13(b)の状態に切替え、経路Bおよび経路Cを構成する。
【００３３】
この状態において、経路Bの通信路が不通であればNODE3の一番上の通信路が故障したことが分かり、経路Cの通信路が不通であればNODE1の一番上の通信路が故障したことが分かる。よって、この情報を各ノードの通信容量のテーブルに反映してジョブおよび光スイッチを切り替えることで、性能を落とさないように故障箇所を迂回することが可能となる。
【００３４】
また、通信経路に障害が発生したときのジョブの実行フローを図35に示す。故障が発生してない状況では、図32と同様に、ジョブの割り当ておよび光スイッチの切り替えが行われた後にジョブの実行が行われる。ここで、例えばジョブBを実行中に通信経路に障害が発生した場合を考える。例えば、ノード間の通信に、例えば、Infinibandが使用されていた場合には、完全に通信路が遮断されない限り、通信の性能は低下するが、通信自体は実行可能である。よって、ジョブの実行時間は長くなるが、その時点で実行中のジョブBは実行可能である。本発明を用いた情報通信装置では、ジョブBが終わった時点で、障害が起きたネットワークの情報をもとに各ノードがもつネットワーク容量のテーブルが書き換えられる。
【００３５】
そのテーブルを用いて、図34のフローで各計算ノードへのジョブの割り当てと光スイッチの切り替えが実行され、次のジョブCの実行が行われる。
【００３６】
また通信経路に障害が発生した場合に、接続されているノードの通信経路が完全に失われてしまった場合や、ノード間の通信にイーサネットが使われていた場合には、通信経路に障害が発生した時点でそのネットワークは完全に遮断されてしまう。この場合のジョブの実行フローを図36に示す。その場合には実行中のジョブが停止し、ジョブを割り当てるノードが停止を検知する。その時点で各ノードが持つネットワーク容量のテーブルを書き換えるとともに、そのテーブルの情報を用いて図34のフローで各計算ノードへのジョブの割り当てと光スイッチの切り替えが実行され、停止したジョブBの再実行が行われる。
【００３７】
本実施例において、図1の制御回路CONT1は計算ノードとは別の構成要素として図示したが、実際にはいずれかの計算ノードがその役割を担うことが可能である。また計算ノードや通信経路、光スイッチのポートは複数あれば数が変わっても同様の効果が得られる。
【００３８】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信経路に障害があった際にも性能を落とさずに情報処理を実行することが可能となる。
【実施例２】
【００３９】
図15に本発明を用いた情報処理装置の構成を示す。図15において、NODE1〜NODE8は演算を行う計算ノード、OSW1は光信号を用いた通信経路を切り替える光スイッチ、ESW1〜ESW4は複数の計算ノードと光スイッチ間で通信する際のデータを割り振る電気スイッチ、CONT2は計算ノードにジョブを割り振るとともに電気スイッチのルーティングと光スイッチの接続を制御する制御回路、JCONT2は計算ノードにジョブを割り当てるための信号、OCONT2は光スイッチの経路を切り替えるための制御信号、ECONT2は電気スイッチのルーティングを制御するための制御信号を表す。
【００４０】
本実施例が実施例1と異なるのは、計算ノードと光スイッチの間に電気スイッチが入り、電気スイッチと光スイッチ間は光信号を用いた通信が行われる点である。計算ノードと電気スイッチ間の通信は、電気信号を用いた通信を用いることも可能であり、光信号を用いた通信を用いることも可能である。ある計算ノードから他の計算ノードへデータを送る場合には、同じ電気スイッチに接続されている計算ノードには電気スイッチのみを経由してデータを転送する。
【００４１】
このため、そのデータ転送の性能は高い。一方、同じ電気スイッチに接続されていない計算ノード間でデータをやり取りする場合、例えば図15のNODE1からNODE5にデータを送る場合には、NODE1から電気スイッチESW1にデータが送られ、そこで通信先が選択され、光信号を用いた通信路で光スイッチを経由し、電気スイッチESW3にデータが送られる。ESW3ではデータの転送先であるNODE5が選択され電気スイッチからNODE5にデータが転送される。
【００４２】
また、光スイッチの状態が図15の状態のときに、NODE1からNODE8にデータを転送する際には、NODE1からESW1、ESW1から光スイッチOSW1を介してESW2へ、さらにESW2から光スイッチOSW1を介してESW4へデータが転送され、最終的にESW4からNODE8へデータが転送される。このように、計算ノード間でデータを転送する際には、同じ電気スイッチに接続されたノード間でのデータ転送がもっとも高速で、次に異なる電気スイッチに接続されているがその電気スイッチが光スイッチで切り替える経路で接続されているノード間での通信が次に高速、異なる電気スイッチに接続されていてさらにその電気スイッチ同士が光スイッチを介した経路で結ばれていない場合がもっとも低速となる。
【００４３】
よって、本情報処理装置で演算を行う際には、通信量が多いジョブを同じ電気スイッチに接続されたノードに割り振り、次に通信量が多いジョブを光スイッチで接続された電気スイッチに接続された計算ノードに割り振ると性能が高くなる。
【００４４】
図16および図17に、それぞれ各電気スイッチの光ネットワーク容量と計算するジョブ間の通信量の一例を示す。この情報をテーブルとして図15中の制御回路CONT2が持ち、最適化を行い、図18のように光スイッチの接続とジョブの各ノードへの割り当てが決定される。この決定された情報は、図15における光スイッチ制御信号OCONT2で光スイッチを制御するとともに、ジョブ割り当て信号であるJCONT2によってジョブ各ノードに割り当てるのに使用される。さらに、実際に信号を送る際には、各電気スイッチがどのように接続されていて、どのあて先のデータをどの経路で送るか、という情報を電気スイッチが持っておく必要があるため、電気信号を制御する信号ECONT2によってその情報が各電気スイッチに転送される。
【００４５】
ここで光の通信経路に故障が発生した場合には、図19のように各電気スイッチの光ネットワークの容量の情報が変更される。この障害を検知するには、実施例1と同様の方法を用いれば可能である。この変更された情報と図17の各ジョブの情報から、光スイッチの状態と各ジョブの割り当てを決定すると図20のようになる。これを実現した光スイッチの状態を図21に示す。このとき、図21では通信経路の一部が故障しているが、必要な通信量は確保できているため、図15と比較して性能が落ちていないことが分かる。
【００４６】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信経路に障害があった際にも性能を落とさずに情報処理を実行することが可能となる。
【実施例３】
【００４７】
実施例1では、光信号を用いた通信経路の故障を検出してジョブの割り当ておよび光スイッチの経路の切替えを行ったが、現在の通信経路では、通信を行う部品の一部が故障しても性能を落として通信を行うことが可能である。例えば、Infinibandでは、一部の部品が壊れた場合に、正常時には40Gbpsの通信速度を一部故障時には10Gbpsで通信することが可能である。
【００４８】
よって、通信経路のネットワーク性能を正常か故障かの2値ではなく性能が落ちた状態を用いて、計算機でのジョブの割り当てと光スイッチの切り替えを行うことが可能である。
【００４９】
実施例3が実施例1と異なるのは、通信経路の性能を細かく見ることが出来る点である。
【００５０】
図22に各計算ノードのネットワーク容量の情報の一例を示す。各計算ノードは3本のネットワーク経路を持っているため、それぞれの経路の性能を示している。
【００５１】
さらに図23には計算を行うジョブ間の通信量を示す。この2つの表から、通信量をなるべく減らすように光スイッチの切り替えとジョブの割り当てを決定すると図24となる。これを実現するための装置構成は図25となる。図25の1001と1002は性能の低下した端子を示す。実施例1の場合と異なるのは、制御回路CONT3と各計算ノードを接続する信号JCONT3によって、各通信経路の性能が細かく制御回路CONT3にフィードバックされる点にある。
【００５２】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信経路に障害があった際にも性能を落とさずに情報処理を実行することが可能となる。
【実施例４】
【００５３】
光信号を用いた通信に用いられる光素子は、稼働時間が長くなると故障しやすくなるという性質がある。本発明では、稼働時間が長い素子をできるだけ使わないようにネットワークを構成する。図26に本発明を用いた情報処理装置の構成を示す。実施例1の図1と異なるのは、光素子の稼働時間を記憶するOTIMEと、光素子の稼働状況をOTIMEに伝える信号OINFOと、光素子の稼働時間の情報を加味して計算ノードへのジョブの割り振りと光スイッチの切り替えを制御する制御回路CONT4を有している点である。本構成では、図27のようにネットワークの稼働時間を記憶しており、稼働時間が長い素子を使わないように光スイッチが切り替えられる。本例では、NODE3が有しているネットワーク装置の稼働時間が長いため、図26のように光スイッチOSW1が切り替わり稼働時間を抑えている。
【００５４】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信装置の故障を発生させずさらに性能を落とさずに情報処理を実行することが可能となる。
【実施例５】
【００５５】
光信号を用いた通信に用いられる光素子は、故障する前に発光強度が低下するという性質がある。本発明では、発光強度を測定し、発光強度の低い素子をできるだけ使わないようにネットワークを構成する。図28に本発明を用いた情報処理装置の構成を示す。
【００５６】
実施例1の図1と異なるのは、光素子の発光強度をデータ化するOCALCと、光素子の発光強度を測定する測定器OMEASと、光素子の発光強度の情報を加味して計算ノードへのジョブの割り振りと光スイッチの切り替えを制御する制御回路CONT5を有している点である。
【００５７】
本構成では、図29のように光素子の発光強度がテーブル化され、発光強度の低下した素子を使わないように光スイッチが切り替えられる。本例では、NODE3が有しているネットワーク装置の光素子の発光強度が低いため、図28のように光スイッチOSW1が切り替わり稼働時間を抑えている。OCALCでは測定した発光強度情報を加工せずにCONT5に入力してスイッチを制御することも可能であるし、発光強度の変化を計測して記憶する記憶回路をOCALC内に有し、以前の状態と比較して発光強度が低下した光素子を使用しないようにスイッチを制御することも可能である。
【００５８】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信装置の故障を発生させずさらに性能を落とさずに情報処理を実行することが可能となる。
【実施例６】
【００５９】
光信号を用いた通信に用いられる光素子は、温度が高い状況で稼動すると故障しやすいという性質がある。本発明では、光素子周辺の温度を測定し、温度が高い状態にある素子をできるだけ使わないようにネットワークを構成する。
【００６０】
図30に本発明を用いた情報処理装置の構成を示す。実施例1の図1と異なるのは、光素子周辺の温度情報をデータ化するTCALCと、光素子周辺の温度を測定する温度計TMEASと、光素子周辺の温度情報を加味して計算ノードへのジョブの割り振りと光スイッチの切り替えを制御する制御回路CONT6を有している点である。本構成では、図31のように光素子の周辺の温度情報がテーブル化され、周辺温度が高い素子を使わないように光スイッチが切り替えられる。本例では、NODE3が有しているネットワーク装置の光素子の周辺温度が高いため、図30のように光スイッチOSW1が切り替わる。TCALCでは測定した温度情報を加工せずにCONT6に入力してスイッチを制御することも可能であるし、温度の変化を計測し温度が上がってきた光素子を使用しないようにスイッチを制御することも可能である。
【００６１】
以上のように、本発明を用いれば、複数の計算ノードを有する情報処理装置において、通信装置の故障を発生させずさらに性能を落とさずに情報処理を実行することが可能となる。
【符号の説明】
【００６２】
CONT1〜CONT6…ジョブおよび光スイッチ制御素子
NODE1〜NODE8…計算ノード
OSW1…光スイッチ
JCONT3…ジョブ制御信号
OCONT2…光スイッチ制御信号
CPU…演算LSI、CPU
MEM…メモリLSI
STO…ストレージ装置(ハードディスク、SSD)
HCA…通信カード
LAN…通信経路
JOB1〜JOB8…計算ジョブ
OTIME…通信装置の稼働時間を記憶する素子
OINFO…通信装置の稼働状況を示す信号
OCALC…通信装置内の光強度をデータ化する素子
OMEAS…通信装置内の光素子の光強度測定器
TCALC…通信装置内の光素子の周辺温度をデータ化する素子
TMEAS…通信装置内の光素子の周辺温度測定器
101〜112…ジョブの割り当てと光スイッチの切り替えフローのステップ
【図１】
2016075968.tif 000003
【図２】
2016075968.tif 000004
【図３】
2016075968.tif 000005
【図４】
2016075968.tif 000006
【図５】
2016075968.tif 000007
【図６】
2016075968.tif 000008
【図７】
2016075968.tif 000009
【図８】
2016075968.tif 000010
【図９】
2016075968.tif 000011
【図１０】
2016075968.tif 000012
【図１１】
2016075968.tif 000013
【図１２】
2016075968.tif 000014
【図１３】
2016075968.tif 000015
【図１４】
2016075968.tif 000016
【図１５】
2016075968.tif 000017
【図１６】
2016075968.tif 000018
【図１７】
2016075968.tif 000019
【図１８】
2016075968.tif 000020
【図１９】
2016075968.tif 000021
【図２０】
2016075968.tif 000022
【図２１】
2016075968.tif 000023
【図２２】
2016075968.tif 000024
【図２３】
2016075968.tif 000025
【図２４】
2016075968.tif 000026
【図２５】
2016075968.tif 000027
【図２６】
2016075968.tif 000028
【図２７】
2016075968.tif 000029
【図２８】
2016075968.tif 000030
【図２９】
2016075968.tif 000031
【図３０】
2016075968.tif 000032
【図３１】
2016075968.tif 000033
【図３２】
2016075968.tif 000034
【図３３】
2016075968.tif 000035
【図３４】
2016075968.tif 000036
【図３５】
2016075968.tif 000037
【図３６】
2016075968.tif 000038