(57)【要約】      （修正有）【課題】動的再構成の前後において同じ通信経路を利用する。【解決手段】情報処理装置は、各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサを有する。そして、複数のプロセッサのうち第１のプロセッサが、複数のプロセッサのうち第２のプロセッサと、複数のプロセッサのうち第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、算出された１又は複数の通信経路の中から、第２のプロセッサと第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第２のプロセッサ及び第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を実行する。【選択図】図１２
2015220522.tif 000002
【特許請求の範囲】
【請求項１】
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサ
を有し、
前記複数のプロセッサのうち第１のプロセッサが、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
情報処理装置。
【請求項２】
前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
前記第１のプロセッサは動的再構成の対象ではなく、
前記第１のプロセッサは、
前記複数のグループのうち削除されるべきグループに含まれる１又は複数のプロセッサのうち前記第１のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、前記情報処理装置から削除し、
追加すべきグループに含まれる１又は複数のプロセッサのうち前記第１のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、前記情報処理装置に追加する
処理をさらに実行する請求項１記載の情報処理装置。
【請求項３】
前記第１のプロセッサが属する第１のグループは動的再構成の対象ではなく、
前記通信経路を特定する処理が、
前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、及び、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路が無い場合に、前記第１のグループのプロセッサ、前記第２のプロセッサが属するグループのプロセッサ及び前記第３のプロセッサが属するグループのプロセッサのみを含む通信経路を特定する
処理を含む請求項２記載の情報処理装置。
【請求項４】
前記通信経路を特定する処理が、
前記第１のグループのプロセッサ、前記第２のプロセッサが属するグループのプロセッサ及び前記第３のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、前記第２のプロセッサが属するグループに属し、且つ、前記第１のグループのプロセッサまでのホップ数が前記第２のプロセッサから前記第１のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する
処理を含む請求項３記載の情報処理装置。
【請求項５】
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第１のプロセッサが、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行する経路決定方法。
【請求項６】
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第１のプロセッサに、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行させるための経路決定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサ間の通信技術に関する。
【背景技術】
【０００２】
サーバには複数のＣＰＵ（Central Processing Unit）が搭載される場合がある。図１に、複数のＣＰＵの接続形態の一例を示す。図１におけるＣＰＵ＃０乃至３の各々には、メモリとＩ／Ｏ（Input/Output）デバイスとが接続されている。ＣＰＵ＃０乃至３の各々は他のＣＰＵと接続するためのポートを２つ有しているため、他のＣＰＵのうち２つのＣＰＵとは直接（すなわち、ポイントツーポイントで）接続される。具体的には、ＣＰＵ＃０はＣＰＵ＃１及び２と直接接続され、ＣＰＵ＃１はＣＰＵ＃０及び３と直接接続され、ＣＰＵ＃２はＣＰＵ＃０及び３と直接接続され、ＣＰＵ＃３はＣＰＵ＃１及び２と直接接続される。
【０００３】
直接接続されていないＣＰＵとＣＰＵとの間の通信は、他のＣＰＵを介して行われる。例えばＣＰＵ＃０がＣＰＵ＃３のキャッシュ又はＣＰＵ＃３に接続されたメモリにアクセスする場合、ＣＰＵ＃１又はＣＰＵ＃２を経由したアクセスを行うことになる。そのため、ＣＰＵ＃０乃至３の各々には、他のＣＰＵから受信したパケットをルーティングする機能が備えられる。
【０００４】
ところで、上で示したような複数のＣＰＵは動的再構成（Dynamic Reconfiguration）の対象になることがある。動的再構成とは、システムの運用を止めることなくＣＰＵ等のハードウエアの追加及び削除を行うことである。動的再構成には、ホットアド（Hot Add）とホットリムーヴ（Hot Remove）とがある。ホットアドは、例えばシステムの性能を高めるために実行される。ホットリムーヴは、例えば障害が発生する可能性が有るハードウエアを予め切り離すために行われる。
【０００５】
しかし、ホットリムーヴによってＣＰＵが削除されると、通信経路を変更しなければＣＰＵ間の通信を行えない場合がある。例えば図１において、ＣＰＵ＃０とＣＰＵ＃３との間の通信が、ＣＰＵ＃２を経由する通信経路で行われるとする。この場合、ＣＰＵ＃２がホットリムーヴによって削除されると、ＣＰＵ＃１を経由する通信経路に変更しなければＣＰＵ＃０とＣＰＵ＃３との間の通信を行えない。しかし、ＣＰＵの中には、動作中に通信経路を変更することができないものがある。従来技術は、このような問題には着目していない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−２０４８７６号公報
【特許文献２】特表２００３−５１０７２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本発明の目的は、１つの側面では、動的再構成の前後において同じ通信経路を利用するための技術を提供することである。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサを有する。そして、上で述べた複数のプロセッサのうち第１のプロセッサが、複数のプロセッサのうち第２のプロセッサと、複数のプロセッサのうち第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、算出された１又は複数の通信経路の中から、第２のプロセッサと第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第２のプロセッサ及び第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を実行する。
【発明の効果】
【０００９】
１つの側面では、動的再構成の前後において同じ通信経路を利用できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、ＣＰＵの接続形態を示す図である。
【図２】図２は、本実施の形態におけるサーバの構成を示す図である。
【図３】図３は、パーティションの一例を示す図である。
【図４】図４は、パーティションの一例を示す図である。
【図５】図５は、動的再構成について説明するための図である。
【図６】図６は、セルの接続関係について説明するための図である。
【図７】図７は、セルの接続関係について説明するための図である。
【図８】図８は、制御プログラムについて説明するための図である。
【図９】図９は、制御ＣＰＵが実行する処理の処理フローを示す図である。
【図１０】図１０は、経路決定処理の処理フローを示す図である。
【図１１】図１１は、トポロジグラフの一例を示す図である。
【図１２】図１２は、選択処理の処理フローを示す図である。
【図１３】図１３は、８ＣＰＵの場合の経路の一例を示す図である。
【図１４】図１４は、８ＣＰＵの場合の経路の一例を示す図である。
【図１５】図１５は、ホットアドの際に制御ＣＰＵが実行する処理の処理フローを示す図である。
【図１６】図１６は、６ＣＰＵの場合の接続形態を示す図である。
【図１７】図１７は、６ＣＰＵの場合の接続形態を示す図である。
【図１８】図１８は、７ＣＰＵの場合の経路の一例を示す図である。
【図１９】図１９は、７ＣＰＵの場合の経路の一例を示す図である。
【図２０】図２０は、ホットリムーヴの際に制御ＣＰＵが実行する処理の処理フローを示す図である。
【図２１】図２１は、６ＣＰＵの場合の経路の一例を示す図である。
【図２２】図２２は、６ＣＰＵの場合の経路の一例を示す図である。
【図２３】図２３は、経路の決定方法を具体的に説明するための図である。
【図２４】図２４は、経路の決定方法を具体的に説明するための図である。
【図２５】図２５は、経路の決定方法を具体的に説明するための図である。
【図２６】図２６は、経路の決定方法を具体的に説明するための図である。
【図２７】図２７は、経路の決定方法を具体的に説明するための図である。
【図２８】図２８は、経路の決定方法を具体的に説明するための図である。
【図２９】図２９は、経路の決定方法を具体的に説明するための図である。
【図３０】図３０は、経路の決定方法を具体的に説明するための図である。
【図３１】図３１は、経路の決定方法を具体的に説明するための図である。
【図３２】図３２は、経路の決定方法を具体的に説明するための図である。
【図３３】図３３は、経路の決定方法を具体的に説明するための図である。
【図３４】図３４は、経路の決定方法を具体的に説明するための図である。
【図３５】図３５は、経路の決定方法を具体的に説明するための図である。
【図３６】図３６は、経路の決定方法を具体的に説明するための図である。
【発明を実施するための形態】
【００１１】
図２に、本実施の形態におけるサーバ１０００の構成を示す。サーバ１０００においては、管理モジュール１０と、セルＡ乃至Ｄと、Ｉ／Ｏ（Input/Output）部１５とがバックプレーン１００を介して接続される。セルは、１又は複数のＣＰＵ、メモリ及び不揮発性メモリ等を含むボード（例えばシステムボード）である。サーバ１０００は、マルチパーティションコンピュータシステムであり、各々が１又は複数のセルを含む複数のパーティションを含む。各パーティションは、物理的に独立したコンピュータシステムとして動作することができる。
【００１２】
管理モジュール１０は、１又は複数のセルを含むパーティションの管理を行う。具体的には、管理モジュール１０は、パーティションの生成についての指示をサーバ１０００の管理者等から受け付け、受け付けた指示に従いセルＡ乃至Ｄを組み合わせることでパーティションを生成する。また、管理モジュール１０は、パーティションの電源の制御についての指示をサーバ１０００の管理者等から受け付け、受け付けた指示に従いパーティションの電源を制御する。
【００１３】
図３及び図４に、パーティションの一例を示す。図３の例では、セルＡを含むパーティションＰ１と、セルＢを含むパーティションＰ２と、セルＣを含むパーティションＰ３と、セルＤを含むパーティションＰ４とが有る。図４の例では、セルＡ及びセルＢを含むパーティションＰ１と、セルＣを含むパーティションＰ３と、セルＤを含むパーティションＰ４とが有る。
【００１４】
図５を用いて、本実施の形態における動的再構成について説明する。図５の例では、セルＤが動的再構成の対象である。セルＡ、セルＢ、セルＣ及びセルＤを含むパーティションＰ１におけるセルＤに対しホットリムーヴを実行すると、パーティションＰ１からセルＤが切り離される。一方、セルＡ、セルＢ及びセルＣを含むパーティションＰ１に対しセルＤのホットアドを実行すると、パーティションＰ１に対しセルＤが追加される。
【００１５】
本実施の形態においては、パーティションに含まれるセルのいずれかが制御セルである。制御セルは制御ＣＰＵを含むセルであり、動的再構成の対象にはならない。制御ＣＰＵは、制御プログラムを実行し、またＯＳ（Operating System）を起動するＣＰＵである。制御セルに含まれるＣＰＵのうちどのＣＰＵが制御ＣＰＵになるかは、例えばセルの製造時に決定される。
【００１６】
図２の説明に戻り、セルＡは、ＣＰＵ０及び１と、制御プログラム１１１を格納する不揮発性メモリ１１０と、メモリ１１２及び１１３とを含む。例えばセルＡが制御セルであり且つＣＰＵ０が制御ＣＰＵであるとする。この場合、ＣＰＵ０は、不揮発性メモリ１１０に格納された制御プログラム１１１を読み出し、制御プログラム１１１を実行する。また、ＣＰＵ０は、記憶装置１５５に格納されたＯＳのプログラム１５７を読み出し、メモリ１１２に格納する。そして、ＣＰＵ０は、メモリ１１２に格納されたＯＳのプログラム１５７を実行する。ＯＳの起動後、ＣＰＵ０及びＣＰＵ１は、記憶装置１５５に格納されたアプリケーションプログラム１５６を読み出し、メモリ１１２及び１１３に格納する。そして、ＣＰＵ０及び１は、メモリ１１２及び１１３に格納されたアプリケーションプログラム１５６を実行する。
【００１７】
なお、セルＢ乃至Ｄの構成はセルＡの構成と同様であるので、説明を省略する。
【００１８】
図６及び図７を用いて、セルＡ乃至Ｄの接続関係について説明する。図６に示すように、セルＡ乃至セルＤの各々は、他のセルのいずれとも直接接続される。具体的には、セルＡはセルＢ、セルＣ及びセルＤと直接接続され、セルＢはセルＡ、セルＣ及びセルＤと直接接続され、セルＣはセルＡ、セルＢ及びセルＤと直接接続され、セルＤはセルＡ、セルＢ及びセルＣと直接接続される。よって、セルＡ乃至Ｄのいずれが制御セルであったとしても、制御セル以外のセルは制御セルと直接接続される。
【００１９】
図７に、より詳細な接続関係を示す。ＣＰＵ０はＣＰＵ１、ＣＰＵ２及びＣＰＵ６と直接接続され、ＣＰＵ１はＣＰＵ０、ＣＰＵ３及びＣＰＵ５と直接接続され、ＣＰＵ２はＣＰＵ０、ＣＰＵ３及びＣＰＵ４と直接接続され、ＣＰＵ３はＣＰＵ１、ＣＰＵ２及びＣＰＵ７と直接接続され、ＣＰＵ４はＣＰＵ２、ＣＰＵ５及びＣＰＵ６と直接接続され、ＣＰＵ５はＣＰＵ１、ＣＰＵ４及びＣＰＵ７と直接接続され、ＣＰＵ６はＣＰＵ０、ＣＰＵ４及びＣＰＵ７と直接接続され、ＣＰＵ７はＣＰＵ３、ＣＰＵ５及びＣＰＵ６と直接接続される。
【００２０】
図２の説明に戻り、Ｉ／Ｏ部１５は、データの中継を行うスイッチ１５０と、例えばハードディスクを接続するためのカード及びＮＩＣ（Network Interface Card）等であるＩ／Ｏデバイス１５１乃至１５４とが接続される。Ｉ／Ｏデバイス１５４には、ハードディスク等の記憶装置１５５が接続される。記憶装置１５５には、アプリケーションプログラム１５６及びＯＳのプログラム１５７が格納される。
【００２１】
図８を用いて、制御プログラム１１１について説明する。制御プログラム１１１は、ＣＰＵの初期化（但し、経路の情報の初期化は含まれない）、メモリ及びＩ／Ｏ部１５の初期化、並びにＯＳの起動等を行うためのプログラムを含む。また、制御プログラム１１１は、経路決定プログラム１１１１と、設定プログラム１１１２と、生成プログラム１１１３とを含む。生成プログラム１１１３は、ＣＰＵの接続関係を表すデータであるトポロジグラフを生成するためのプログラムである。経路決定プログラム１１１１は、生成されたトポロジグラフに基づき、ＣＰＵ間の通信経路を決定するためのプログラムである。設定プログラム１１１２は、決定された通信経路の情報を、サーバ１０００内のＣＰＵに送信するためのプログラムである。なお、制御プログラム１２１乃至１４１は制御プログラム１１１と同様なので、説明を省略する。
【００２２】
次に、図９乃至図１４を用いて、パーティションの起動時に制御セルが実行する処理について説明する。以下では、セルＡが制御セルであり且つＣＰＵ０が制御ＣＰＵであるとする。
【００２３】
まず、制御ＣＰＵであるＣＰＵ０は、不揮発性メモリ１１０から制御プログラム１１１を読み出し、制御プログラム１１１の実行を開始する。そして、ＣＰＵ０は、制御プログラム１１１に含まれる経路決定プログラム１１１１によって、経路決定処理を実行する（図９：ステップＳ１）。経路決定処理については、図１０及び図１１を用いて説明する。
【００２４】
まず、ＣＰＵ０は、生成プログラム１１１３を呼び出す。そして、ＣＰＵ０は、ＣＰＵ０乃至７の実際の接続関係に基づき、パーティションに含まれていないセルを含む全セル（ここでは、ＣＰＵ０乃至７）の接続関係を表すデータであるトポロジグラフを生成する（図１０：ステップＳ１１）。そしてＣＰＵ０は生成プログラム１１１３の実行を終了する。実際の接続関係は、例えば管理モジュール１０から取得されたセル情報に基づき計算される。図１１に、トポロジグラフの一例を示す。図１１の例では、ＣＰＵ０乃至７の各々について、直接接続されるＣＰＵの識別情報が格納される。
【００２５】
ＣＰＵ０は、ＣＰＵ０乃至７の中から未処理のＣＰＵを１つ選択する（ステップＳ１３）。以下では、ステップＳ１３において選択されたＣＰＵを送信元ＣＰＵと呼ぶ。
【００２６】
ＣＰＵ０は、選択処理を実行する（ステップＳ１５）。選択処理については、図１２を用いて説明する。
【００２７】
まず、ＣＰＵ０は、送信元ＣＰＵ以外のＣＰＵの中から未処理のＣＰＵを１つ特定する（図１２：ステップＳ２１）。以下では、ステップＳ２１において特定されたＣＰＵを宛先ＣＰＵと呼ぶ。
【００２８】
ＣＰＵ０は、ステップＳ１１において生成されたトポロジグラフを用いて、送信元ＣＰＵと宛先ＣＰＵとの間の経路を計算する（ステップＳ２３）。ステップＳ２３においては、所定のホップ数（本実施の形態においては３）以下である経路を全て求める。例えば送信元ＣＰＵがＣＰＵ６であり且つ宛先ＣＰＵがＣＰＵ１である場合には、経路「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１」、経路「ＣＰＵ６→ＣＰＵ７→ＣＰＵ３→ＣＰＵ１」、経路「ＣＰＵ６→ＣＰＵ７→ＣＰＵ５→ＣＰＵ１」、及び経路「ＣＰＵ６→ＣＰＵ４→ＣＰＵ５→ＣＰＵ１」が計算される。
【００２９】
ＣＰＵ０は、ステップＳ２３において計算された経路の中に、ホップ数が１である経路が有るか判断する（ステップＳ２５）。ホップ数が１である経路が有る場合（ステップＳ２５：Ｙｅｓルート）、ＣＰＵ０は、ホップ数が１である経路を選択し（ステップＳ２７）、選択された経路の情報をメモリ１１２に格納する。そしてステップＳ３９の処理に移行する。ステップＳ２７において選択される経路は、例えば経路「ＣＰＵ０→ＣＰＵ１」である。
【００３０】
ホップ数が１である経路が無い場合（ステップＳ２５：Ｎｏルート）、ＣＰＵ０は、ステップＳ２３において計算された経路の中に、全中間ＣＰＵが制御セル（本実施の形態においては、セルＡ）に含まれる経路が有るか判断する（ステップＳ２９）。中間ＣＰＵとは、送信元ＣＰＵと宛先ＣＰＵとの間に有るＣＰＵである。従って、ホップ数が１である経路には中間ＣＰＵが無い。
【００３１】
全中間ＣＰＵが制御セルに含まれる経路が有る場合（ステップＳ２９：Ｙｅｓルート）、ＣＰＵ０は、全中間ＣＰＵが制御セルに含まれる経路のうち最短の経路を選択し（ステップＳ３１）、選択された経路の情報をメモリ１１２に格納する。そしてステップＳ３９の処理に移行する。ステップＳ３１において選択される経路は、例えば経路「ＣＰＵ１→ＣＰＵ０→ＣＰＵ２」である。
【００３２】
全中間ＣＰＵが制御セルに含まれる経路が無い場合（ステップＳ２９：Ｎｏルート）、ＣＰＵ０は、ステップＳ２３において計算された経路の中に、送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路が有るか判断する（ステップＳ３３）。
【００３３】
送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路が有る場合（ステップＳ３３：Ｙｅｓルート）、ＣＰＵ０は、送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路のうち最短の経路を選択し（ステップＳ３５）、選択された経路の情報をメモリ１１２に格納する。そしてステップＳ３９の処理に移行する。ステップＳ３５において選択される経路は、例えば「ＣＰＵ１→ＣＰＵ０→ＣＰＵ２」という経路及び「ＣＰＵ４→ＣＰＵ５→ＣＰＵ１→ＣＰＵ３」という経路である。
【００３４】
送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路が無い場合（ステップＳ３３：Ｎｏルート）、ＣＰＵ０は、送信元ＣＰＵを含むセルに含まれ且つ送信元ＣＰＵより制御セルに近いＣＰＵを経由する経路を選択し（ステップＳ３７）、選択された経路の情報をメモリ１１２に格納する。ステップＳ３７において選択される経路は、例えば経路「ＣＰＵ４→ＣＰＵ５→ＣＰＵ７」である。
【００３５】
ＣＰＵ０は、送信元ＣＰＵ以外のＣＰＵの中に未処理のＣＰＵが有るか判断する（ステップＳ３９）。未処理のＣＰＵが有る場合（ステップＳ３９：Ｙｅｓルート）、次のＣＰＵについて処理するため、ステップＳ２１の処理に戻る。一方、未処理のＣＰＵが無い場合（ステップＳ３９：Ｎｏルート）、ステップＳ１７の処理に戻る。
【００３６】
以上のような処理を実行すれば、動的再構成（特にホットリムーヴ）の影響を受けない経路を選択できるようになる。すなわち、「ホップ数が１である経路」は中間ＣＰＵが無いので動的再構成の影響を受けない。また、「全中間ＣＰＵが制御セルに含まれる経路」は、中間ＣＰＵが動的再構成の対象ではないので動的再構成の影響を受けない。
【００３７】
また、「送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路」及び「送信元ＣＰＵを含むセルに含まれ且つ送信元ＣＰＵより制御セルに近いＣＰＵを経由する経路」は、本実施の形態においてはＣＰＵが削除される順序及びＣＰＵが追加される順序が決められているので、動的再構成の影響を受けない。これについては後述する。
【００３８】
図１０の説明に戻り、ＣＰＵ０は、未処理のＣＰＵが有るか判断する（ステップＳ１７）。未処理のＣＰＵが有る場合（ステップＳ１７：Ｙｅｓルート）、次のＣＰＵについて処理するため、ステップＳ１３の処理に戻る。
【００３９】
未処理のＣＰＵが無い場合（ステップＳ１７：Ｎｏルート）、ＣＰＵ０は、設定プログラム１１１２の実行を開始する。そして、ＣＰＵ０は、メモリ１１２に格納された経路の情報を他のＣＰＵ（ここでは、ＣＰＵ１乃至７）に送信する（ステップＳ１９）。経路の情報は、例えば、管理モジュール１０経由で他のＣＰＵに送信される。そしてＣＰＵ０は設定プログラム１１１２及び経路決定プログラム１１１１の実行を終了し、ステップＳ３の処理に戻る。なお、他のＣＰＵは、受信した経路の情報を、そのＣＰＵ以外のＣＰＵとデータを交換するためのルーティングの際に利用する。
【００４０】
図１３及び図１４に、経路決定処理によって決定された経路の一例を示す。図１３及び図１４において、「アルゴリズム」の欄には、経路の決定に用いたアルゴリズムを表す番号が格納される。「ホップ数が１である経路」は１であり、「全中間ＣＰＵが制御セルに含まれる経路」は２であり、「送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路」は３であり、「送信元ＣＰＵを含むセルに含まれ且つ送信元ＣＰＵより制御セルに近いＣＰＵを経由する経路」は４である。
【００４１】
ステップＳ１９においては、他のＣＰＵに対して図１３及び図１４に示した全情報を送信しなくてもよい。例えばＣＰＵ１に対しては８行目から１４行目のデータ（すなわち、送信元ＣＰＵがＣＰＵ１であるデータ）を送信すれば、ＣＰＵ１がルーティングを行うことができる。
【００４２】
なお、本実施の形態においては一旦経路が決定されると、その経路が固定的に使用される。例えばＣＰＵ１がＣＰＵ２にデータを送信する場合には「ＣＰＵ１→ＣＰＵ０→ＣＰＵ２」という経路を固定的に使用し、それ以外の経路を使用しない。そして、決定された経路は動的再構成の影響を受けない。従って、仕様によりＣＰＵが動作中に通信経路を変更することができない場合にも問題は生じない。
【００４３】
図９の説明に戻り、ＣＰＵ０は、経路以外の事項について初期化を実行する（ステップＳ３）。ステップＳ３においては、例えば、Ｉ／Ｏ部１５の初期化及びメモリ１１２の初期化等が行われる。
【００４４】
ＣＰＵ０は、記憶装置１５５に格納されたＯＳのプログラム１５７を読み出し、メモリ１１２に格納する。そして、ＣＰＵ０は、メモリ１１２に格納されたＯＳのプログラム１５７を用いてＯＳを起動する（ステップＳ５）。そして処理を終了する。
【００４５】
以上のような処理を実行すれば、経路は動的再構成の影響を受けないので、動的再構成の前後において同じ経路を利用できるようになる。
【００４６】
次に、図１５乃至図２２を用いて、動的再構成の際に制御ＣＰＵ（ここでは、ＣＰＵ０）が実行する処理について説明する。まず、ホットアドの際に制御ＣＰＵが実行する処理について説明する。なお、図１５乃至図２２を用いて説明する処理は、制御ＣＰＵが制御プログラム１１１を実行することによって行われる。
【００４７】
管理モジュール１０は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を、サーバ１０００の管理者等から受け付ける。管理モジュール１０は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を、ＣＰＵ０に通知する。
【００４８】
ＣＰＵ０は、ホットアドによって追加すべきセル及びそのセルが追加されるパーティションの指定を管理モジュール１０から受け取ることによって、ホットアドが行われることを検出する（図１５：ステップＳ４１）。
【００４９】
ＣＰＵ０は、ホットアドによって追加すべきセルが制御セル（すなわち、セルＡ）であるか判断する（ステップＳ４３）。制御セルである場合（ステップＳ４３：Ｙｅｓルート）、処理を終了する。
【００５０】
制御セルではない場合（ステップＳ４３：Ｎｏルート）、ＣＰＵ０は、ホットアドによって追加すべきセルに含まれるＣＰＵのうち、制御セルにより近いＣＰＵを第１ＣＰＵに設定する。また、ＣＰＵ０は、ホットアドによって追加すべきセルに含まれるＣＰＵのうち、制御セルからより遠いＣＰＵを第２ＣＰＵに設定する（ステップＳ４５）。例えばホットアドによって追加すべきセルがセルＤである場合、制御セルまで１ホップであるＣＰＵ６が第１ＣＰＵであり、制御セルまで２ホップであるＣＰＵ７が第２ＣＰＵである。
【００５１】
ＣＰＵ０は、第１ＣＰＵについて追加処理を実行する（ステップＳ４７）。例えば、ステップＳ４７を実行する前の状態が図１６の状態であり、ステップＳ４７によってＣＰＵ６が追加されたとすると、図１７の状態になる。
【００５２】
ＣＰＵ０は、第１ＣＰＵが追加されたシステムについて経路決定処理を実行する（ステップＳ４９）。経路決定処理は図１０乃至図１２を用いて説明したとおりであるので、説明を省略する。例えば図１７の状態について経路決定処理を実行すると、決定された経路は図１８及び図１９に示すようになる。図１８及び図１９は、ＣＰＵ７が宛先ＣＰＵである経路及びＣＰＵ７が送信元ＣＰＵである経路が示されていないことを除いて、図１３及び図１４に示した経路と同じである。
【００５３】
ＣＰＵ０は、経路以外の事項について初期化を実行する（ステップＳ５１）。ステップＳ５１においては、例えば、メモリ１４２の初期化等が行われる。
【００５４】
ＣＰＵ０は、第２ＣＰＵについて追加処理を実行する（ステップＳ５３）例えば、ステップＳ５３を実行する前の状態が図１７の状態であり、ステップＳ５３によってＣＰＵ７が追加されたとすると、図７の状態になる。
【００５５】
ＣＰＵ０は、第２ＣＰＵが追加されたシステムについて経路決定処理を実行する（ステップＳ５５）。経路決定処理は図１０乃至図１２を用いて説明したとおりであるので、説明を省略する。例えば図７のような状態について経路決定処理を実行すると、決定された経路は図１３及び図１４に示すようになる。
【００５６】
ＣＰＵ０は、経路以外の事項について初期化を実行する（ステップＳ５７）。ステップＳ５７においては、例えば、メモリ１４３の初期化等が行われる。そして処理を終了する。
【００５７】
次に、ホットリムーヴの際に制御ＣＰＵが実行する処理について説明する。まず、管理モジュール１０は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を、サーバ１０００の管理者等から受け付ける。管理モジュール１０は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を示す情報を、ＣＰＵ０に通知する。
【００５８】
ＣＰＵ０は、ホットリムーヴによって削除すべきセル及びそのセルが削除されるパーティションの指定を管理モジュール１０から受け取ることによって、ホットリムーヴが行われることを検出する（図２０：ステップＳ６１）。
【００５９】
ＣＰＵ０は、ホットリムーヴによって削除すべきセルが制御セルであるか判断する（ステップＳ６３）。制御セルである場合（ステップＳ６３：Ｙｅｓルート）、ホットリムーヴを実行できないので、処理を終了する。
【００６０】
制御セルではない場合（ステップＳ６３：Ｎｏルート）、ＣＰＵ０は、ホットリムーヴによって削除すべきセルに含まれるＣＰＵのうち、制御セルからより遠いＣＰＵを第１ＣＰＵに設定する。また、ＣＰＵ０は、ホットリムーヴによって削除すべきセルに含まれるＣＰＵのうち、制御セルにより近いＣＰＵを第２ＣＰＵに設定する（ステップＳ６５）。例えばホットリムーヴによって削除すべきセルがセルＤである場合、制御セルまで２ホップであるＣＰＵ７が第１ＣＰＵであり、制御セルまで１ホップであるＣＰＵ６が第２ＣＰＵである。
【００６１】
ＣＰＵ０は、第１ＣＰＵについて削除処理を実行する（ステップＳ６７）。ステップＳ６７においては、例えば、ステップＳ６７を実行する前の状態が図７の状態であり、ステップＳ６７によってＣＰＵ７が削除されたとすると、図１７の状態になる。
【００６２】
ＣＰＵ０は、第１ＣＰＵが削除されたシステムについて経路決定処理を実行する（ステップＳ６９）。経路決定処理は図１０乃至図１２を用いて説明したとおりであるので、説明を省略する。例えば図１７のような状態について経路決定処理を実行すると、決定された経路は図１８及び図１９に示すようになる。図１８及び図１９は、ＣＰＵ７が宛先ＣＰＵである経路及びＣＰＵ７が送信元ＣＰＵである経路が示されていないことを除いて、図１３及び図１４に示した経路と同じである。
【００６３】
ＣＰＵ０は、第２ＣＰＵについて削除処理を実行する（ステップＳ７３）。例えば、ステップＳ７３を実行する前の状態が図１７の状態であり、ステップＳ７３によってＣＰＵ６が削除されたとすると、図１６の状態になる。
【００６４】
ＣＰＵ０は、第２ＣＰＵが削除されたシステムについて経路決定処理を実行する（ステップＳ７５）。経路決定処理は図１０乃至図１２を用いて説明したとおりであるので、説明を省略する。例えば図１６のような状態について経路決定処理を実行すると、決定された経路は図２１及び図２２に示すようになる。図２１及び図２２は、ＣＰＵ６が宛先ＣＰＵである経路及びＣＰＵ６が送信元ＣＰＵである経路が示されていないことを除いて、図１８及び図１９に示した経路と同じである。
【００６５】
以上のように、制御セルまでのホップ数に基づきＣＰＵを削除する順序及びＣＰＵを追加する順序を決定する。これにより、「送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路」及び「送信元ＣＰＵを含むセルに含まれ且つ送信元ＣＰＵより制御セルに近いＣＰＵを経由する経路」は、動的再構成の影響を受けなくなる。
【００６６】
以下では、経路の決定について具体例を用いて説明する。まず、送信元ＣＰＵがＣＰＵ６である場合の経路について説明する。
【００６７】
図２３に、ＣＰＵ６からＣＰＵ０への経路のうち３ホップ以下である経路を示す。図２３においては、「ＣＰＵ６→ＣＰＵ０」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ２→ＣＰＵ０」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ０への経路として、ホップ数が１である経路「ＣＰＵ６→ＣＰＵ０」が選択される。
【００６８】
図２４に、ＣＰＵ６からＣＰＵ１への経路のうち３ホップ以下である経路を示す。図２４においては、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１」という経路と、「ＣＰＵ６→ＣＰＵ７→ＣＰＵ３→ＣＰＵ１」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ５→ＣＰＵ１」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ１への経路として、全中間ＣＰＵが制御セルに含まれる経路「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１」が選択される。
【００６９】
図２５に、ＣＰＵ６からＣＰＵ２への経路のうち３ホップ以下である経路を示す。図２５においては、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ２」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ２」という経路と、「ＣＰＵ６→ＣＰＵ７→ＣＰＵ３→ＣＰＵ２」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ２への経路として、全中間ＣＰＵが制御セルに含まれる経路「ＣＰＵ６→ＣＰＵ０→ＣＰＵ２」が選択される。
【００７０】
図２６に、ＣＰＵ６からＣＰＵ３への経路のうち３ホップ以下である経路を示す。図２６においては、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１→ＣＰＵ３」という経路と、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ２→ＣＰＵ３」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ２→ＣＰＵ３」という経路と、「ＣＰＵ６→ＣＰＵ７→ＣＰＵ３」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ３への経路として、全中間ＣＰＵが制御セルに含まれる経路「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１→ＣＰＵ３」が選択される。
【００７１】
図２７に、ＣＰＵ６からＣＰＵ４への経路のうち３ホップ以下である経路を示す。図２７においては、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ２→ＣＰＵ４」という経路と、「ＣＰＵ６→ＣＰＵ４」という経路と、「ＣＰＵ６→ＣＰＵ７→ＣＰＵ５→ＣＰＵ４」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ４への経路として、ホップ数が１である経路「ＣＰＵ６→ＣＰＵ４」が選択される。
【００７２】
図２８に、ＣＰＵ６からＣＰＵ５への経路のうち３ホップ以下である経路を示す。図２８においては、「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１→ＣＰＵ５」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ５」という経路と、「ＣＰＵ６→ＣＰＵ７→ＣＰＵ５」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ５への経路として、全中間ＣＰＵが制御セルに含まれる経路「ＣＰＵ６→ＣＰＵ０→ＣＰＵ１→ＣＰＵ５」が選択される。
【００７３】
図２９に、ＣＰＵ６からＣＰＵ７への経路のうち３ホップ以下である経路を示す。図２９においては、「ＣＰＵ６→ＣＰＵ７」という経路と、「ＣＰＵ６→ＣＰＵ４→ＣＰＵ５→ＣＰＵ７」という経路とが示されている。ここでは、ＣＰＵ６からＣＰＵ７への経路として、ホップ数が１である経路「ＣＰＵ６→ＣＰＵ７」が選択される。
【００７４】
次に、送信元ＣＰＵがＣＰＵ７である場合の経路について説明する。
【００７５】
図３０に、ＣＰＵ７からＣＰＵ０への経路のうち３ホップ以下である経路を示す。図３０においては、「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０」という経路と、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ１→ＣＰＵ０」という経路と、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ１→ＣＰＵ０」という経路と、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ２→ＣＰＵ０」とが示されている。ここでは、ＣＰＵ７からＣＰＵ０への経路として、送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０」が選択される。
【００７６】
図３１に、ＣＰＵ７からＣＰＵ１への経路のうち３ホップ以下である経路を示す。図３１においては、「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０→ＣＰＵ１」という経路と、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ１」という経路と、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ１」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ１への経路として、送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０→ＣＰＵ１」が選択される。
【００７７】
図３２に、ＣＰＵ７からＣＰＵ２への経路のうち３ホップ以下である経路を示す。図３２においては、「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０→ＣＰＵ２」という経路と、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ４→ＣＰＵ２」という経路と、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ２」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ２への経路として、送信元ＣＰＵを含むセル、制御セル及び宛先ＣＰＵを含むセルのみを経由する経路「ＣＰＵ７→ＣＰＵ６→ＣＰＵ０→ＣＰＵ２」が選択される。
【００７８】
図３３に、ＣＰＵ７からＣＰＵ３への経路のうち３ホップ以下である経路を示す。図３３においては、「ＣＰＵ７→ＣＰＵ３」という経路と、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ１→ＣＰＵ３」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ３への経路として、ホップ数が１である経路「ＣＰＵ７→ＣＰＵ３」が選択される。
【００７９】
図３４に、ＣＰＵ７からＣＰＵ４への経路のうち３ホップ以下である経路を示す。図３４においては、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ２→ＣＰＵ４」という経路と、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ４」という経路と、「ＣＰＵ７→ＣＰＵ６→ＣＰＵ４」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ４への経路として、送信元ＣＰＵを含むセルに含まれ且つ送信元ＣＰＵより制御セルに近いＣＰＵ（ここでは、ＣＰＵ６）を経由する経路「ＣＰＵ７→ＣＰＵ６→ＣＰＵ４」が選択される。
【００８０】
図３５に、ＣＰＵ７からＣＰＵ５への経路のうち３ホップ以下である経路を示す。図３５においては、「ＣＰＵ７→ＣＰＵ３→ＣＰＵ１→ＣＰＵ５」という経路と、「ＣＰＵ７→ＣＰＵ５」という経路と、「ＣＰＵ７→ＣＰＵ６→ＣＰＵ４→ＣＰＵ５」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ５への経路として、ホップ数が１である経路「ＣＰＵ７→ＣＰＵ５」が選択される。
【００８１】
図３６に、ＣＰＵ７からＣＰＵ６への経路のうち３ホップ以下である経路を示す。図３６においては、「ＣＰＵ７→ＣＰＵ５→ＣＰＵ４→ＣＰＵ６」という経路と、「ＣＰＵ７→ＣＰＵ６」という経路とが示されている。ここでは、ＣＰＵ７からＣＰＵ６への経路として、ホップ数が１である経路「ＣＰＵ７→ＣＰＵ６」が選択される。
【００８２】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したサーバ１０００の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００８３】
また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００８４】
なお、上ではセルが４つであり、各セルに含まれるＣＰＵが２つである例を示したが、このような例に限られるわけではない。
【００８５】
また、上では制御セルからの距離に基づき第１のＣＰＵ及び第２のＣＰＵを決定したが、制御ＣＰＵからの距離に基づき第１のＣＰＵ及び第２のＣＰＵを決定してもよい。
【００８６】
また、処理を高速化するため、経路の情報を事前に計算しておき、テーブルとして保存しておいても良い。
【００８７】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００８８】
本実施の形態の第１の態様に係る情報処理装置は、（Ａ）各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサを有する。そして、上で述べた複数のプロセッサのうち第１のプロセッサが、（ａ１）複数のプロセッサのうち第２のプロセッサと、複数のプロセッサのうち第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、（ａ２）算出された１又は複数の通信経路の中から、第２のプロセッサと第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第２のプロセッサ及び第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、（ａ３）特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を実行する。
【００８９】
このようにすれば、通信経路は動的再構成の影響を受けないので、動的再構成の前後において同じ通信経路を利用できるようになる。
【００９０】
また、上で述べた複数のプロセッサの各々は、複数のグループ（例えば、実施の形態におけるセル）のいずれかに属し、上で述べた第１のプロセッサは動的再構成の対象ではなくてもよい。そして、上で述べた第１のプロセッサは、（ａ４）複数のグループのうち削除されるべきグループに含まれる１又は複数のプロセッサのうち第１のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、情報処理装置から削除し、（ａ５）追加すべきグループに含まれる１又は複数のプロセッサのうち第１のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、情報処理装置に追加する処理をさらに実行してもよい。このようにすれば、グループ毎に動的再構成が行われる場合にプロセッサの削除及び追加を適切に行えるようになる。
【００９１】
また、上で述べた第１のプロセッサが属する第１のグループは動的再構成の対象ではなくてもよい。そして、上で述べた通信経路を特定する処理が、（ａ２１）第２のプロセッサと第３のプロセッサとが直接接続された通信経路、及び、通信経路上のプロセッサのうち第２のプロセッサ及び第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路が無い場合に、第１のグループのプロセッサ、第２のプロセッサが属するグループのプロセッサ及び第３のプロセッサが属するグループのプロセッサのみを含む通信経路を特定する処理を含んでもよい。このようにすれば、動的再構成の前後において同じ通信経路を利用できるようになる。
【００９２】
また、上で述べた通信経路を特定する処理が、（ａ２２）第１のグループのプロセッサ、第２のプロセッサが属するグループのプロセッサ及び第３のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、第２のプロセッサが属するグループに属し、且つ、第１のグループのプロセッサまでのホップ数が第２のプロセッサから第１のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する処理を含んでもよい。このようにすれば、動的再構成の前後において同じ通信経路を利用できるようになる。
【００９３】
本実施の形態の第２の態様に係る経路決定方法は、各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第１のプロセッサにより実行される。そして、本経路決定方法は、（Ｂ）複数のプロセッサのうち第２のプロセッサと、複数のプロセッサのうち第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、（Ｃ）算出された１又は複数の通信経路の中から、第２のプロセッサと第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち第２のプロセッサ及び第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、（Ｄ）特定された通信経路の情報を、特定された通信経路上のプロセッサに送信する処理を含む。
【００９４】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００９５】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００９６】
（付記１）
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサ
を有し、
前記複数のプロセッサのうち第１のプロセッサが、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
情報処理装置。
【００９７】
（付記２）
前記複数のプロセッサの各々は、複数のグループのいずれかに属し、
前記第１のプロセッサは動的再構成の対象ではなく、
前記第１のプロセッサは、
前記複数のグループのうち削除されるべきグループに含まれる１又は複数のプロセッサのうち前記第１のプロセッサを含むグループまでのホップ数が多いプロセッサから順に、前記情報処理装置から削除し、
追加すべきグループに含まれる１又は複数のプロセッサのうち前記第１のプロセッサを含むグループまでのホップ数が少ないプロセッサから順に、前記情報処理装置に追加する
処理をさらに実行する付記１記載の情報処理装置。
【００９８】
（付記３）
前記第１のプロセッサが属する第１のグループは動的再構成の対象ではなく、
前記通信経路を特定する処理が、
前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、及び、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路が無い場合に、前記第１のグループのプロセッサ、前記第２のプロセッサが属するグループのプロセッサ及び前記第３のプロセッサが属するグループのプロセッサのみを含む通信経路を特定する
処理を含む付記２記載の情報処理装置。
【００９９】
（付記４）
前記通信経路を特定する処理が、
前記第１のグループのプロセッサ、前記第２のプロセッサが属するグループのプロセッサ及び前記第３のプロセッサが属するグループのプロセッサのみを含む通信経路が無い場合に、前記第２のプロセッサが属するグループに属し、且つ、前記第１のグループのプロセッサまでのホップ数が前記第２のプロセッサから前記第１のグループのプロセッサまでのホップ数より少ないプロセッサを含む通信経路を特定する
処理を含む付記３記載の情報処理装置。
【０１００】
（付記５）
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第１のプロセッサが、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行する経路決定方法。
【０１０１】
（付記６）
各々他のプロセッサのうち少なくとも一部のプロセッサと直接接続された複数のプロセッサのうちいずれかのプロセッサである第１のプロセッサに、
前記複数のプロセッサのうち第２のプロセッサと、前記複数のプロセッサのうち前記第２のプロセッサとは異なる第３のプロセッサとの間の１又は複数の通信経路を算出し、
算出された前記１又は複数の通信経路の中から、前記第２のプロセッサと前記第３のプロセッサとが直接接続された通信経路、又は、通信経路上のプロセッサのうち前記第２のプロセッサ及び前記第３のプロセッサ以外のプロセッサが動的再構成の対象ではない通信経路を特定し、
特定された前記通信経路の情報を、特定された前記通信経路上のプロセッサに送信する
処理を実行させるための経路決定プログラム。
【符号の説明】
【０１０２】
１０００  サーバ    １０  管理モジュール
Ａ，Ｂ，Ｃ，Ｄ  セル    １５  Ｉ／Ｏ部
１００  バックプレーン    ０，１，２，３，４，５，６，７  ＣＰＵ
１１０，１２０，１３０，１４０  不揮発性メモリ
１１２，１１３，１２２，１２３，１３２，１３３，１４２，１４３  メモリ
１１１，１２１，１３１，１４１  制御プログラム
１５０  スイッチ    １５１，１５２，１５３，１５４  Ｉ／Ｏデバイス
１５５  記憶装置    １５６  アプリケーションプログラム
１５７  ＯＳのプログラム    １１１１  経路決定プログラム
１１１２  設定プログラム    １１１３  生成プログラム
【図１】
2015220522.tif 000003
【図２】
2015220522.tif 000004
【図３】
2015220522.tif 000005
【図４】
2015220522.tif 000006
【図５】
2015220522.tif 000007
【図６】
2015220522.tif 000008
【図７】
2015220522.tif 000009
【図８】
2015220522.tif 000010
【図９】
2015220522.tif 000011
【図１０】
2015220522.tif 000012
【図１１】
2015220522.tif 000013
【図１２】
2015220522.tif 000014
【図１３】
2015220522.tif 000015
【図１４】
2015220522.tif 000016
【図１５】
2015220522.tif 000017
【図１６】
2015220522.tif 000018
【図１７】
2015220522.tif 000019
【図１８】
2015220522.tif 000020
【図１９】
2015220522.tif 000021
【図２０】
2015220522.tif 000022
【図２１】
2015220522.tif 000023
【図２２】
2015220522.tif 000024
【図２３】
2015220522.tif 000025
【図２４】
2015220522.tif 000026
【図２５】
2015220522.tif 000027
【図２６】
2015220522.tif 000028
【図２７】
2015220522.tif 000029
【図２８】
2015220522.tif 000030
【図２９】
2015220522.tif 000031
【図３０】
2015220522.tif 000032
【図３１】
2015220522.tif 000033
【図３２】
2015220522.tif 000034
【図３３】
2015220522.tif 000035
【図３４】
2015220522.tif 000036
【図３５】
2015220522.tif 000037
【図３６】
2015220522.tif 000038