(57)【要約】【課題】データを高速に処理すること。【解決手段】分散処理システム１は、分散処理を実行した各スレーブノード２０における被分割データ及び演算結果データのデータ量を取得する取得部２３と、取得されたデータ量に基づいて分散処理前後におけるデータ量の変化を判定し、その処理によりデータ量が増加した場合には、データ量が減少する場合よりも、分散処理する複数の中間データの分散度を低く設定する分散度設定部１４と、設定された分散度が所定の閾値以下である場合には、分散処理する複数の中間データを複数のノードグループのうち一のグループに配置し、そうでない場合には、それら中間データを２以上のグループに配置する処理部２２と、を備えている。【選択図】図１
2010244470.tif 000002
【特許請求の範囲】
【請求項１】
データを中継する中継装置と、該中継装置に直接接続されている少なくとも一つのコンピュータとを含むグループを複数備える分散処理システムであって、
分散処理を実行した前記各コンピュータにおける、該処理の入力データのデータ量と、該処理の結果である出力データのデータ量とを取得する取得手段と、
前記取得手段により取得された入力データ量及び出力データ量に基づいて前記分散処理前後におけるデータ量の変化を判定し、該処理によりデータ量が増加した場合には、該処理によりデータ量が減少する場合よりも、分散処理する複数の被分割データの分散度を低く設定する設定手段と、
前記設定手段により設定された分散度が所定の閾値以下である場合には、分散処理する複数の被分割データを前記複数のグループのうち一のグループに配置し、そうでない場合には、該複数の被分割データを前記複数のグループのうち２以上のグループに配置する配置手段と、
を備えることを特徴とする分散処理システム。
【請求項２】
前記分散処理がマップリデュース（ＭａｐＲｅｄｕｃｅ）のプログラミングモデルにより実行される、
ことを特徴とする請求項１に記載の分散処理システム。
【請求項３】
データを中継する中継装置と、該中継装置に直接接続されている少なくとも一つのコンピュータとを含むグループを複数備える分散処理システムにより実行される分散処理方法であって、
分散処理を実行した前記各コンピュータにおける、該処理の入力データのデータ量と、該処理の結果である出力データのデータ量とを取得する取得ステップと、
前記取得ステップにおいて取得された入力データ量及び出力データ量に基づいて前記分散処理前後におけるデータ量の変化を判定し、該処理によりデータ量が増加した場合には、該処理によりデータ量が減少する場合よりも、分散処理する複数の被分割データの分散度を低く設定する設定ステップと、
前記設定ステップにおいて設定された分散度が所定の閾値以下である場合には、分散処理する複数の被分割データを前記複数のグループのうち一のグループに配置し、そうでない場合には、該複数の被分割データを前記複数のグループのうち２以上のグループに配置する配置ステップと、
を含むことを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータ及び複数の中継装置を備える分散処理システム、並びにそのシステムにより実行される分散処理方法に関する。
【背景技術】
【０００２】
従来から、分散処理システムの処理効率を高めるために様々な技術が開発されている。例えば下記特許文献１には、ソフトウェアの起動状態の変更に要する時間を考慮して、計算処理を割り当てるノードを決定する技術が開示されている。具体的には、この技術は、各ノードから取得した、起動中のソフトウェアを示す環境情報と、処理に必要なソフトウェアを示す環境条件情報とを比較し、新たなソフトウェアの起動が少ないノードを処理の割当先として優先的に選択するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４０１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
分散処理の種類によっては、ハードディスクなどからデータを読み出す速度や、データをコンピュータ間で移動させる際の通信速度が全体の処理速度を低下させる要因となる。例えば、マップリデュース（ＭａｐＲｅｄｕｃｅ）のグレップ（ｇｒｅｐ）処理のように中間データの生成量が少ない場合には、各コンピュータにおいてハードディスクからのデータ読み出し速度がボトルネックとなる。また、ＭａｐＲｅｄｕｃｅのソート（ｓｏｒｔ）処理のように中間データの生成量が多い場合には、Ｌ２スイッチなどの中継装置に大量のトラフィックが集中し、ボトルネックとなる。
【０００５】
本発明は上記課題を解決するためになされたものであり、データを高速に処理することが可能な分散処理システム及び分散処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の分散処理システムは、データを中継する中継装置と、該中継装置に直接接続されている少なくとも一つのコンピュータとを含むグループを複数備える分散処理システムであって、分散処理を実行した各コンピュータにおける、該処理の入力データのデータ量と、該処理の結果である出力データのデータ量とを取得する取得手段と、取得手段により取得された入力データ量及び出力データ量に基づいて分散処理前後におけるデータ量の変化を判定し、該処理によりデータ量が増加した場合には、該処理によりデータ量が減少する場合よりも、分散処理する複数の被分割データの分散度を低く設定する設定手段と、設定手段により設定された分散度が所定の閾値以下である場合には、分散処理する複数の被分割データを複数のグループのうち一のグループに配置し、そうでない場合には、該複数の被分割データを複数のグループのうち２以上のグループに配置する配置手段と、を備えることを特徴とする。
【０００７】
また、本発明の分散処理方法は、データを中継する中継装置と、該中継装置に直接接続されている少なくとも一つのコンピュータとを含むグループを複数備える分散処理システムにより実行される分散処理方法であって、分散処理を実行した各コンピュータにおける、該処理の入力データのデータ量と、該処理の結果である出力データのデータ量とを取得する取得ステップと、取得ステップにおいて取得された入力データ量及び出力データ量に基づいて分散処理前後におけるデータ量の変化を判定し、該処理によりデータ量が増加した場合には、該処理によりデータ量が減少する場合よりも、分散処理する複数の被分割データの分散度を低く設定する設定ステップと、設定ステップにおいて設定された分散度が所定の閾値以下である場合には、分散処理する複数の被分割データを複数のグループのうち一のグループに配置し、そうでない場合には、該複数の被分割データを複数のグループのうち２以上のグループに配置する配置ステップと、を含むことを特徴とする。
【０００８】
このような分散処理システム及び分散処理方法によれば、各コンピュータにおける入力データ量及び出力データ量に基づいて、分散処理によりデータ量が増加したか否かが判定され、この判定に基づいて被分割データの分散度が決定される。分散度は、データ量が増加した場合には相対的に低く設定され、データ量が減少した場合には相対的に高く設定される。そして、設定された分散度が所定の閾値以下である場合には被分割データが一つのグループに集約され、そうでない場合には被分割データは複数のグループに分散される。
【０００９】
データ量が増えた場合には、その後の処理においてネットワークトラフィックを抑制することが処理の高速化につながる。一方、データ量が減少した場合には、その後に処理するデータを極力多くのコンピュータに分散させてシステムの処理能力を最大限に引き出すことが処理の高速化につながる。したがって、処理前後におけるデータ量の変化に基づいて分散度を設定し、その分散度に基づいて被分割データを配置することで、上記のような柔軟なデータ配置を実現でき、その結果、データを高速に処理することが可能になる。
【００１０】
本発明の分散処理システムでは、分散処理がマップリデュース（ＭａｐＲｅｄｕｃｅ）のプログラミングモデルにより実行されることが好ましい。
【００１１】
この場合、マップリデュース（ＭａｐＲｅｄｕｃｅ）処理においてデータを高速に処理することができる。
【発明の効果】
【００１２】
このような分散処理システム及び分散処理方法によれば、処理前後におけるデータ量の変化に基づいて分散度が設定され、その分散度に基づいて被分割データが配置されるので、データを高速に処理することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態に係る分散処理システムの全体構成を示す図である。
【図２】図１に示すマスタノードの機能構成を示す図である。
【図３】図１に示すマスタノードのハードウェア構成を示す図である。
【図４】図２に示す分散度テーブルに記憶されている情報の例を示す図である。
【図５】図１に示すスレーブノードの機能構成を示す図である。
【図６】図５に示すラック構成テーブルに記憶されているグループ情報の例を示す図である。
【図７】図１に示す分散処理システムの動作を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１５】
まず、図１〜６を用いて、実施形態に係る分散処理システム１の機能及び構成を説明する。
【００１６】
分散処理システム１は、マップリデュース（ＭａｐＲｅｄｕｃｅ）というプログラミングモデルを用いて分散処理を実行するコンピュータシステムである。なお、処理されるデータは、所定の手法により予め分散処理システム１内に分散配置されるものとし、以下では、分散配置されたデータを被分割データという。分散処理システム１は、図１に示すように、１個のマスタノード１０と、複数のスレーブノード２０と、各ノード間を接続する複数のネットワークスイッチ（以下では単に「スイッチ」という）３０とを備えている。マスタノード１０は分散処理を統括するコンピュータであり、スレーブノード２０はデータを実際に処理するコンピュータである。スイッチ３０は、ノード間で伝送されるデータを中継する装置であり、例えばＬ２スイッチ、Ｌ３スイッチ、ルータなどである。
【００１７】
マスタノード１０、各スレーブノード２０及び各スイッチ３０は、複数あるラックＲのうちのいずれか一つの中に格納されている。図１の例では、分散処理システム１は１個のマスタノード１０、１１個のスレーブノード２０、４個のスイッチ３０及び４個のラックＲを含んで構成されている。各ラックＲには３個のノード（マスタノード１０又はスレーブノード２０）と１個のスイッチ３０が格納されており、各ラックＲ内では、スイッチ３０に各ノードが直接接続されている。一つのラックＲ内に格納されている複数のスレーブノード２０は、一つのグループ（以下では「ノードグループ」という）を形成している。
【００１８】
次に、マスタノード１０について説明する。図２に示すように、マスタノード１０は機能的構成要素として受付部１１、分散度テーブル１２、指示部１３及び分散度設定部（設定手段）１４を備えている。
【００１９】
図３に示すように、マスタノード１０は、オペレーティングシステムやアプリケーションプログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、ネットワークカードなどで構成される通信制御部１０４と、キーボードやマウスなどの入力部１０５と、モニタなどの出力部１０６とで構成される。マスタノード１０の各機能は、ＣＰＵ１０１や主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４を動作させ、主記憶部１０２や補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。
【００２０】
図２に戻って、受付部１１は、ユーザ操作により入力されたり、他のコンピュータシステム（図示せず）から入力された分散処理の実行指示を受け付ける部分である。この実行指示には、分散処理プログラムを識別するアプリケーション情報が含まれ、場合によっては、分散度を示すパラメータも含まれる。ここで、分散度とは、分散処理される複数の中間データ（分散処理の途中結果）をどの程度分散させて配置するかを示す数値である。分散度が小さければ、中間データは狭い範囲（例えば一つのノードグループ（ラックＲ）内）に配置され、分散度が大きければ中間データは広い範囲（例えばシステム１内の全スレーブノード２０）に配置される。受付部１１は、受け付けた実行指示を指示部１３に出力する。
【００２１】
分散度テーブル１２は、アプリケーション毎に設定された分散度を記憶する部分である。例えば、分散度テーブル１２は図４に示すようなアプリケーションの分散度を記憶する。図４に従えば、アプリケーションＡを実行する場合には中間データは特定のスレーブノードのみから成る群に集められ、アプリケーションＢを実行する場合には中間データはそれよりも広い範囲のスレーブノード群に配置される。また、アプリケーションＣを実行する場合には、アプリケーションＢの場合よりも更に広い範囲のスレーブノード群に配置されることになる。
【００２２】
指示部１３は、各スレーブノード２０に分散処理の実行を指示する部分である。具体的には、指示部１３は入力されたアプリケーション情報と、そのアプリケーションに対応する分散度とを含む指示信号を各スレーブノード２０に送信する。
【００２３】
分散度が入力された場合には、指示部１３はその分散度、すなわちユーザ又は他のシステムにより指定された分散度を指示信号に含めて送信する。一方、分散度が入力されなかった場合には、指示部１３はアプリケーション情報に対応する分散度を分散度テーブル１２から読み出し、取得できた場合にはその分散度を指示信号に含めて送信する。取得できなかった場合には、指示部１３は予め保持している分散度のデフォルト値を指示信号に含めて送信する。なお、分散度が取得できない現象は、例えば、あるアプリケーションが分散処理システム１において初めて実行される場合などに起こり得る。
【００２４】
分散度設定部１４は、各スレーブノード２０から受信した入力データ量及び出力データ量に基づいて分散処理前後におけるデータ量の変化を判定し、その処理によりデータ量が増加した場合には、データ量が減少する場合よりも、分散処理する複数の被分割データの分散度を低く設定する部分である。なお、入力データ量とは被分割データのデータ量であり、出力データ量とは演算結果データのデータ量であるが、これらについては以下で改めて説明する。
【００２５】
分散度設定部１４は、入力データ量と出力データ量との大小関係を検査し、出力データ量の方が大きい場合には分散度を所定値ａ以下に設定し、そうでなければ分散度を所定値ａよりも大きい値に設定する。例えば、分散度設定部１４は、各スレーブノード２０について、入力データ量に対する出力データ量の比ｒ＝（出力データ量）／（入力データ量）を算出し、その比ｒの平均値ｒａを算出する。そしてｒａ＞１であれば分散度を１に設定し、ｒａ≦１であれば、ｒａが小さくなるほど分散度が大きくなるように、分散度を２以上に設定する。また、分散度設定部１４は、所定の時間内に受信した入力データ量及び出力データ量のみ、すなわち一部のスレーブノード２０から受信したデータ量のみに基づいて、上記と同様に平均値ｒａを算出し、分散度を設定してもよい。
【００２６】
続いて、分散度設定部１４は、算出した分散度と、受付部により受け付けられたアプリケーション情報とを関連付けて分散度テーブル１２に記憶する。これにより、実行中のアプリケーションの分散度が登録又は更新され、次回に同じアプリケーションに関する実行指示が入力されたときに参照される。
【００２７】
次に、スレーブノード２０について説明する。図５に示すように、スレーブノード２０は機能的構成要素としてラック構成テーブル２１、処理部（配置手段）２２及び取得部（取得手段）２３を備えている。スレーブノード２０のハードウェア構成は図３に示すものと同様であり、スレーブノード２０の各機能がハードウェア上でどのように実現されるかも、マスタノード１０と同様である。
【００２８】
ラック構成テーブル２１は、スイッチ３０と、そのスイッチ３０に直接接続されているスレーブノード２０（ノードグループ）とに関する情報を記憶する部分である。具体的には、ラック構成テーブル２１は、スイッチ３０を識別するスイッチＩＤと、そのスイッチ３０に直接接続されているスレーブノード２０を識別するノードＩＤと、そのスレーブノード２０で構成されるノードグループを識別するラックＩＤとが互いに関連付けられたグループ情報を記憶する。分散処理システム１が図１に示す構成であれば、ラック構成テーブル２１は図６に示すグループ情報を記憶する。この情報から、例えば、ノードＩＤが「ａ」，「ｂ」、「ｃ」である３個のスレーブノード２０が一つのノードグループを形成し、これらのノード２０は「ＳＷ１」のスイッチＩＤで特定されるスイッチ３０に直接接続されていることなどを知ることができる。
【００２９】
なお、ラック構成テーブル２１の情報は、グループ情報を管理するマスタノード１０から所定のタイミングで送信されてくる。この情報がラック構成テーブル２１に記憶されることで、マスタノード１０とスレーブノード２０との間でラック構成テーブルの同期が取られる。
【００３０】
処理部２２は、マスタノード１０から送られてきた情報に基づいて、被分割データに対する演算を実行する部分である。処理部２２は、マスタノード１０から送られてきた指示信号を受信し、アプリケーション情報及び分散度を抽出する。続いて、処理部２２はそのアプリケーション情報と予め記憶している被分割データとに基づいて、自ノード内での処理が必要か否かを判定する。このとき、処理不要と判定した場合には、処理部２２は他のノードからの要求があるまで待機する。一方、処理が必要と判定した場合には、処理部２２はアプリケーション情報で示されるアプリケーションプログラムを実行して被分割データに対する所定の演算（マップ（Ｍａｐ）処理）を実行する。
【００３１】
処理部２２は、被分割データをＭａｐ処理して演算結果データを生成する。そして、当該演算結果データの一部ごとにＲｅｄｕｃｅ処理を行う。
【００３２】
その際、処理部２２は入力された分散度とラック構成テーブル２１から読み出したグループ情報とに基づいて、次に分散処理を実行するノードグループを選択する。ノードグループの選択方法は一つに限定されるものではない。例えば、処理部２２は、分散度が閾値ｃ以下の場合には１個のノードグループのみを選択し、分散度が閾値ｃを超える場合には２個以上のノードグループを選択する。なお、具体的にどのノードグループを指定するかも任意であるが、記憶している被分割データの個数が最も多いノードグループが含まれるのが好ましい。
【００３３】
ここで、閾値ｃは、上記平均値ｒａが１を超えるか否か、すなわち分散処理前後でデータ量が増加したか否かの基準に合わせて設定してもよい。この場合には、データ量が増加した場合には１個のノードグループのみが選択され、そうでない場合には複数のノードグループが選択されることになる。もちろん、閾値ｃを、上記平均値ｒａが１を超えるか否かとは関係なく設定してもよい。この場合には、データ量が一定の割合以上増加した場合に初めて、１個のノードグループのみが選択されることになる。
【００３４】
続いて、処理部２２は選択したノードグループに含まれるスレーブノード２０のうちの一つをリデューサー（Ｒｅｄｕｃｅｒ）として選択する。そして、処理部２２は選択したスレーブノード２０に演算結果データの一部を送信する。なお、送信される演算結果データは、更なる処理が必要な中間データであるといえる。処理部２２は、このようなＲｅｄｕｃｅｒの選択及び送信処理を、演算結果データに対する処理がすべて終了するまで繰り返し実行する。
【００３５】
各スレーブノード２０の処理部２２がこのような処理を実行することで、Ｍａｐ処理された複数の中間データはいずれかのラックＲ内のいずれかのスレーブノード２０に配置され、その後は、従来のＭａｐＲｅｄｕｃｅプログラミングモデルによりリデュース（Ｒｅｄｕｃｅ）処理が実行される。すなわち、処理部２２は配置手段として機能する。
【００３６】
取得部２３は、処理部２２により処理された被分割データ（入力データ）のデータ量と、演算結果データ（出力データ）のデータ量とを取得する部分である。取得部２３は処理部２２の演算処理を監視することでこれらのデータ量を取得し、マスタノード１０に送信する。
【００３７】
次に、図７を用いて、図１に示す分散処理システムの動作を説明するとともに本実施形態に係る分散処理方法について説明する。
【００３８】
マスタノード１０において、受付部１１が実行指示を受け付けると（ステップＳ１１）、指示部１３が指定されたアプリケーションに対応する分散度を取得する（ステップＳ１２）。具体的には、指示部１３は、分散度テーブル１２から分散度を読み出すか、実行指示から分散度を抽出するか、又は予め保持している分散度のデフォルト値を用いることで、分散度を取得する。続いて、指示部１３はアプリケーション情報及び分散度をすべてのスレーブノード２０に送信する（ステップＳ１３）。
【００３９】
各スレーブノード２０では、処理部２２がそのアプリケーション情報と予め記憶している被分割データとに基づいて処理の要否を判定し、処理が必要である場合には、まず被分割データに対してＭａｐ処理を実行する（ステップＳ１４）。このとき、取得部２３が、入力データである被分割データのデータ量と、出力データである演算結果データのデータ量とを取得する（ステップＳ１４、取得ステップ）。
【００４０】
続いて、処理部２２は、演算結果データを一部ずつ送信するために、分散度とラック構成テーブル２１から読み出したグループ情報とに基づいて一又は複数のノードグループを選択し（ステップＳ１５、配置ステップ）、選択したノードグループから一のスレーブノードを選択する（ステップＳ１６、配置ステップ）。そして、処理部２２はそのスレーブノード２０に演算結果データの一部を送信する（ステップＳ１７、配置ステップ）。上記ステップＳ１５〜Ｓ１７の処理は、演算結果データに対する処理がすべて終了するまで繰り返し実行される。
【００４１】
各スレーブノード２０の処理部２２が上述した処理を実行することで、Ｍａｐ処理された複数の中間データは一又は複数のグループ内に集められ、その後は、そのグループ内のスレーブノード２０においてＲｅｄｕｃｅ処理が実行される（ステップＳ１８）。なお、図７では「選択されたスレーブノード」を一つしか示していないが、実際にはそのようなスレーブノード２０は複数存在する。
【００４２】
Ｍａｐ処理を実行したスレーブノード２０では、上記ステップＳ１５〜Ｓ１７の処理と並行して、取得部２３が被分割データ及び演算結果データのデータ量をマスタノード１０に送信する（ステップＳ１９）。
【００４３】
これを受けてマスタノード１０では、分散度設定部１４がそれらのデータ量の比を算出し、その比に基づいて分散度を設定する（ステップＳ２０、設定ステップ）。例えば、分散処理によりデータ量が増加した場合には、分散度設定部１４は、次回に同じアプリケーションが実行されたときに中間データが一のノードグループ（ラックＲ）に集まるように分散度を設定する。一方、分散処理によりデータ量が減少した場合には、分散度設定部１４は、次回に同じアプリケーションが実行されたときに２以上のノードグループに中間データが分散するように、データ量が増加した場合よりも高い分散度を設定する。分散度設定部１４は、このように設定した分散度を分散度テーブル１２に記憶する（ステップＳ２１、設定ステップ）。この分散度は、同じアプリケーションの実行指示が入力されたときに参照される。
【００４４】
以上説明したように、本実施形態によれば、各スレーブノード２０における被分割データ及び演算結果データのデータ量に基づいて、分散処理によりデータ量が増加したか否かが判定され、この判定に基づいて中間データの分散度が決定される。分散度は、データ量が増加した場合には相対的に低く設定され（例えば１に設定）、データ量が減少した場合には相対的に高く設定される（例えば３に設定）。そして、設定された分散度が所定の閾値以下である場合には中間データが一つのグループに集約され、そうでない場合には複数のグループに分散される。
【００４５】
データ量が増えた場合には、データが複数のスイッチ３０を経由しないように一つのグループ（ラックＲ）内で分散処理することが、高速化につながる。一方、データ量が減少した場合には、どのグループ（ラックＲ）かを考慮することなく極力多くのスレーブノード２０にデータを分散させてシステム１の処理能力を最大限に引き出すことが、処理の高速化につながる。したがって、処理前後におけるデータ量の変化に基づいて分散度を設定し、その分散度に基づいて中間データを配置することで、上記のような柔軟なデータ配置を実現でき、その結果、データを高速に処理することが可能になる。
【００４６】
例えば、分散処理システム１でｓｏｒｔ処理を実行した場合には演算後のデータ量の方が多くなるので、中間データ（演算結果データ）は一つのグループ（ラックＲ）に集まり、その結果、ラックを跨って移動するデータが大量に発生してスイッチ３０にトラフィックが集中するのを回避できる。一方、ｇｒｅｐ処理の場合には演算後のデータの方が少なくなるので、中間データは複数のグループ（ラックＲ）に分散され、その結果、処理効率が上がる。これに対して、従来の手法を用いてｓｏｒｔ処理した場合には、中間データは複数のグループ（ラックＲ）に分散するので、スイッチに大量のトラフィックが集中し、全体として処理速度が低下する。
【００４７】
また、本実施形態によれば、分散度がアプリケーション毎に自動的に設定されるので、従来のように手動で分散度を設定する場合と比べて、より最適な分散度を柔軟に設定することが可能になる。
【００４８】
また、本実施形態によれば、演算結果データを一つのグループ内に配置する際には、被分割データを最も多く記憶しているグループに演算結果データが集められるので、一グループ内にデータを移動する際の通信量や処理量を低減することができる。
【００４９】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【００５０】
本発明は、ＭａｐＲｅｄｕｃｅ以外の手法により分散処理を実行する場合にも適用し得る。
【符号の説明】
【００５１】
１…分散処理システム、１０…マスタノード、１１…受付部、１２…分散度テーブル、１３…指示部、１４…分散度設定部（設定手段）、２０…スレーブノード（コンピュータ）、２１…ラック構成テーブル、２２…処理部（配置手段）、２３…取得部（取得手段）、３０…スイッチ（中継装置）。
【図１】
2010244470.tif 000003
【図２】
2010244470.tif 000004
【図３】
2010244470.tif 000005
【図４】
2010244470.tif 000006
【図５】
2010244470.tif 000007
【図６】
2010244470.tif 000008
【図７】
2010244470.tif 000009