明 細 書
データ配置方法及び装置
技術分野
[0001] 本発明は、複数の計算機の記憶装置に格納されたデータを、演算処理を担当する 計算機に配置させる方法と、その方法を実施する装置に関する。とくに、データが、 相互相関演算の対象となるものである。
^景技術
[0002] 現在、 VLBI (Very Long Baseline Interferometry:超長基線電波干渉計) などの電波干渉計の観測解析、通信分野における信号解析、地震波の解析、心電 図 '筋電図'脳波等の解析、気象データの解析、構造物の振動解析など広く様々な 分野で相互相関演算が計算機によって処理されている。
[0003] 相互相関演算を処理する計算機は、一般的には、コンピュータである。
相互相関演算の対象となるデータ量が比較的小規模であるならば、近年の汎用コ ンピュータの高性能化に伴レ、、汎用コンピュータを用いて相互相関演算を処理する ことが可能である。
[0004] ここで、汎用コンピュータとは、明確な定義は無いものの、一般的には、バッチ処理 、リアルタイム処理、オンライン処理など様々な処理をプログラムによって実行可能に 設計されているコンピュータと解されている。別の観点力、ら説述すれば、演算装置と 主記憶装置が協働可能に接続され、所定の手順によって演算が処理されるような制 御回路を備えたコンピュータとレ、つてもょレ、。
例えば、いわゆるパーソナルコンピュータは、汎用コンピュータである。
[0005] 一方、汎用コンピュータに対するのが専用コンピュータであり、同じく明確な定義は 無いものの、一般的には、例えば画像処理や相互相関演算処理など特定の処理を 効率的に行えるように設計されているコンピュータのことである。別の観点から説述す れば、例えば、演算処理の所定の手順の一部を演算装置というハードウェアで直接 実行するコンピュータといってもよい。
[0006] 相互相関演算の対象となるデータ量が比較的大規模の場合には、汎用コンビユー
タによって相互相関演算を処理するには負担が大きぐ例えば実行速度が極端に遅 くなるなどの問題が生じうる。そこで、このような場合には、専用コンピュータによって 相互相関演算処理をさせることが一般的である。
[0007] ここで、 VLBIを例に具体的に説述することにする。
VLBIでは、複数の VLBI局の電波望遠鏡によって、電波源である天体からの電波 を受信'記録する。共通の電波源である天体からの電波(アナログ信号)を、原子周 波数標準器を用いてデジタル信号に変換して磁気テープに記録するのである。そし て、この磁気テープを相関器の所在地に搬送し、各磁気テープに記録されたデジタ ル信号を同期再生させ、相関器によって、同期再生されたデジタル信号間の相関関 数を計算するのである。また、必ずしも磁気テープを相関器の所在地に搬送しなけ ればならないものではなぐ近年、ネットワーク媒体であるケーブルの単位時間当たり のデータ転送量の増大などに伴い、デジタル信号に変換された観測データを、直接 相関器に転送することが行われている。即ち、各 VLBI局において、デジタル信号に 変換された観測データを磁気テープに記録することなくこの観測データを通信装置 に送り、ケーブルを介して直接相関器に転送するのである。このようにして、およそ実 時間の相互相関演算処理が実現されている。
なお、ここで説述したのは、 VLBIの概要であって本発明と関連のある部分であり、 実際はこのような単純なものではない。
[0008] この相関器が既述の専用コンピュータに相当するものである。 VLBIの観測によつ て記録可能なデジタル信号のデータ量は、 1秒当たりギガビット単位のデータ量に達 するため、このような大規模のデータ量を単独の汎用コンピュータで相互相関演算処 理するには負担が大きく、専用コンピュータである相関器を用レ、て処理するのである
[0009] このように、専用コンピュータを用レ、て相互相関演算を行うことは現在一般的である ものの、専用コンピュータの開発には、多大な労力とコストがかかる。
[0010] そこで、近年の汎用コンピュータの高性能化に着眼し、複数の汎用コンピュータに 相互相関演算を分散処理させることで、専用コンピュータに比肩するほどの相互相 関演算処理を実現することが考えられる。なぜなら、 1台の汎用コンピュータで大規
模なデータ量の相互相関演算処理をさせようとすると、既述のとおり、実行速度が極 端に遅くなる、データの記憶装置から読み込みがバスを圧迫して破綻するなどの大き な問題を生じるからである。
[0011] ところで、複数の汎用コンピュータに相互相関演算を分散処理させるにあたっては
、データ量が大規模であればあるほど、相互相関演算の対象となるデータを、いかに して複数の汎用コンピュータに配置するかが問題になる。
[0012] 無論、ある 1局の汎用コンピュータの記憶装置にデータが格納されているだけの場 合には、このデータを適宜他の汎用コンピュータに分配するだけなので格別の問題 は生じないが、複数局の汎用コンピュータの記憶装置にデータが格納されている場 合には効率的なデータの配置が求められるのである。 発明の開示
発明が解決しょうとする課題
[0013] そこで本発明は、上記の問題点に鑑み、複数局の計算機の記憶装置に格納される
、相互相関演算の対象となるデータを、効率的に複数局の計算機に配置する方法と 装置を提供することを課題とする。
課題を解決するための手段
[0014] 本発明のデータ配置方法は、上記課題の解決を図るため、次の手段を用いる。
即ち、 n局(nは 2以上の自然数)の計算機 PC、 PC、 PC、 · · ·、 PC 、 PC (iを 0
0 1 2 n-2 n-1 力 n— 1までの整数を取りうるものとして PCと表記する。)が、ネットワーク媒体によつ て、スイッチング機能を有する集線装置または通信ネットワークに接続されるネットヮ ーク構成において、各計算機 PC、 PC、 PC、■·■、 PC 、 PC は、相互相関演算の
0 1 2 n-2 n-1
対象となるデータ X、Χ、Χ、 · · ·、Χ 、X (iは 0から η_1までの整数を取りうるものと
0 1 2 n-2 n-1
して Xと表記する。)が格納される記憶装置を備え、各計算機 PCにおける上記デー タ Xは、部分データ X (0)、 X ( 1 )、 X (2)、■·■、 X (n-2)、 X (n-1 ) (jを 0から n_lま i i i i i i
での整数を取りうるものとして X (j)と表記する。 )に n分割可能であり、 k番目(kは 0か
I
ら n-1までの整数を取りうる。)の計算機 PCは、各計算機 PCにおける k番目の部分
k i
データ x (k)の相互相関演算を担当するものであって、さらに、上記集線装置または
I
通信ネットワークを介してデータ転送可能に接続された計算機 2局ずつの各ペアに
おいて、接続された 2局の計算機の間で相互に、接続された相手方計算機に対して 、該計算機の担当する部分データを転送するステップを繰り返すデータ配置方法と するのである。
[0015] そして、上記ステップを、 nが偶数の場合には n— 1回、 nが奇数の場合には n回繰り 返すとともに、各ステップにおいて、上記各ペアに同一の計算機を重複することなぐ 且つ、全てのステップをとおして同一のペアを重複することなく割り当てるものとしても よい。このようにすることによって、最も効率の良いデータの転送が可能になる。
[0016] また、集線装置に全二重通信可能なものを用いることによって、 n局 (nは 2以上の 自然数)の計算機 PC (iは 0から n_lまでの整数を取りうる。)が、ネットワーク媒体によ つて、全二重通信可能なスイッチング機能を有する集線装置または通信ネットワーク に接続されるネットワーク構成において、 各計算機 PCは、相互相関演算の対象と なるデータ X (iは 0から n-1までの整数を取りうる。)が格納される記憶装置を備え、 各計算機 PCにおける上記データ Xは、部分データ X (j) (jは 0から n— 1までの整数 を取りうる。)に n分割可能であり、 k番目(kは 0から n-1までの整数を取りうる。)の計 算機 PCは、各計算機 PCにおける k番目の部分データ X (k)の相互相関演算を担 当するものであって、さらに、上記集線装置または通信ネットワークを介してデータ転 送可能に接続された計算機において、データを送る側の計算機とデータを受ける側 の計算機の間で、該計算機の担当する部分データを転送するステップを繰り返すに あたり、各ステップにおいて、データ送り側計算機からデータ受け側計算機への対応 に同一の計算機を重複することなぐ且つ、全てのステップをとおして同一の対応を 重複することなく割り当てるとともに、該ステップを、 nが偶数奇数いずれの場合にも n 一 1回繰り返して、全ての計算機 で同時にデータ交換を行レ、、 nの奇偶に関わら ずデータ転送効率を向上させてもよい。
[0017] あるいは、 n局(nは 2以上の自然数)の計算機 PC (iは 0から n— 1までの整数を取りう る。)が、ネットワーク媒体によって、スイッチング機能を有する集線装置または通信ネ ットワークに接続されるネットワーク構成において、各計算機 PCは、相互相関演算の 対象となるデータ X (iは 0から n-1までの整数を取りうる。)が格納される記憶装置を 備え、各計算機 PCにおける上記データ Xは、単位データ量である部分データ X (m
) (mは 0以上の整数を取りうる。)に n個以上分割可能であり、かつ、連続する n個の 部分データごとに重複することなくブロック区分可能であって、 k番目(kは 0から n— 1 までの整数を取りうる。)の計算機 PCは、各計算機 PCにおける各ブロックの k番目 の部分データの相互相関演算を担当するものであって、さらに、上記ブロックごとに、 上記集線装置または通信ネットワークを介してデータ転送可能に接続された計算機 2局ずつの各ペアにおいて、接続された 2局の計算機の間で相互に、接続された相 手方計算機に対して、該計算機の担当する部分データを転送するステップを繰り返 すデータ配置方法とするのである。
[0018] また、上記ひ番目(ひは 0以上の整数を取りうる。)のブロックには、 n X ひ番目力 ( n X a + n— 1 )番目までの部分データを含み、 k番目の計算機 PCは、各計算機 PC における(k +n X ひ)番目の部分データ X (k+ n X ひ)の相互相関演算を担当する ものとしてもよレ、。このようにすることによって、例えば、データが、実験等の観測によ つて収集される時系列データである場合に、データ収集を行いながら、一方で時間 進行に伴って収集された時系列データをブロックごとに順次データ配置を行って、相 互相関演算処理を行うことが可能になる。
[0019] 上記ブロックごとに、上記ステップを、 nが偶数の場合には n— 1回、 nが奇数の場合 には n回繰り返すとともに、各ステップにおいて、上記各ペアに同一の計算機を重複 することなぐ且つ、全てのステップをとおして同一のペアを重複することなく割り当て ることを繰り返すようにしてもよい。このようにすることによって、最も効率の良いデータ の転送が可能になる。
[0020] またさらに、集線装置に全二重通信可能なものを用いることによって、 n局 (nは 2以 上の自然数)の計算機 PC (iは 0から n-1までの整数を取りうる。)が、ネットヮ ーク媒体によって、全二重通信可能なスイッチング機能を有する集線装置または通 信ネットワークに接続されるネットワーク構成において、各計算機 PCは、相互相関演 算の対象となるデータ X (iは 0から n-1までの整数を取りうる。)が格納される記憶装 置を備え、各計算機 PCにおける上記データ Xは、単位データ量である部分データ X
(m) (mは 0以上の整数を取りうる。 )に n個以上分割可能であり、かつ、連続する n個 の部分データごとに重複することなくブロック区分可能であり、 k番目(kは 0から n— 1
までの整数を取りうる。)の計算機 PCは、各計算機 PCにおける各ブロックの k番目 の部分データの相互相関演算を担当するものであって、さらに、上記ブロックごとに、 上記集線装置または通信ネットワークを介してデータ転送可能に接続された計算機 において、データを送る側の計算機とデータを受ける側の計算機の間で、該計算機 の担当する部分データを転送するステップを繰り返すにあたり、各ステップにおいて 、データ送り側計算機からデータ受け側計算機への対応に同一の計算機を重複す ることなく、且つ、全てのステップをとおして同一の対応を重複することなく割り当てる とともに、該ステップを、 nが偶数奇数いずれの場合にも n— 1回繰り返して、全ての計 算機 PCで同時にデータ交換を行って、 nの奇偶に関わらず、データ転送効率を向 上させてもよい。
[0021] とくに、計算機を汎用計算機とすることで、高価な専用計算機を用いることなぐ専 用計算機を用いた場合に比肩するほどの相互相関演算処理を実現することが可能と なる。
[0022] ネットワーク媒体を全二重通信可能なものとすることで、データ転送可能に接続され た 2局の計算機の間で相互に、データ転送をおよそ同時に行えるので、データ配置 を完了する時間を短縮できる。
[0023] また、上記データが、電波望遠鏡による観測によって得られる時系列データである 場合には、上記例に挙げた VLBIの場合のように、単位時間当たりのデータ量が膨 大であるので、本発明の方法によるデータ配置方法を適用することで、各局への効 率的なデータ配置による相互相関演算の分散処理が可能になる。
[0024] 本発明のデータ配置装置は、 n局 (nは 2以上の自然数)の計算機 PC (iは 0から n— 1までの整数を取りうる。)が、ネットワーク媒体によって、スイッチング機能を有する集 線装置または通信ネットワークに接続されるネットワーク構成において、各計算機 PC は、相互相関演算の対象となるデータ X (iは 0から n— 1までの整数を取りうる。)が格 納される記憶装置を少なくとも備え、各計算機 PCにおける上記データ Xは、部分デ ータ X (j) (jは 0から n_lまでの整数を取りうる。)に n分割可能であり、 k番目(kは 0力、 ら n-1までの整数を取りうる。)の計算機 PCは、各計算機 PCにおける k番目の部分 データ x (k)の相互相関演算を担当するものであって、さらに、上記集線装置または
通信ネットワークを介してデータ転送可能に接続された計算機 2局ずつの各ペアに おいて、接続された 2局の計算機の間で相互に、接続された相手方計算機に対して 、該計算機の担当する部分データを転送するステップを繰り返すデータ転送手段を 備えることを特徴とする。
[0025] あるいは、 n局(nは 2以上の自然数)の計算機 PC (iは 0から n— 1までの整数を取 りうる。)が、ネットワーク媒体によって、スイッチング機能を有する集線装置または通 信ネットワークに接続されるネットワーク構成において、各計算機 PCは、相互相関演 算の対象となるデータ X (iは 0から n-1までの整数を取りうる。)が格納される記憶装 置を少なくとも備え、各計算機 PCにおける上記データ Xは、単位データ量である部 分データ X (m) (mは 0以上の整数を取りうる。 )に n個以上分割可能であり、かつ、連 続する n個の部分データごとに重複することなくブロック区分可能であり、 k番目(kは 0から n-1までの整数を取りうる。)の計算機 PCは、各計算機 PCにおける各ブロック の k番目の部分データの相互相関演算を担当するものであって、さらに
、上記ブロックごとに、 上記集線装置または通信ネットワークを介してデータ転送可 能に接続された計算機 2局ずつの各ペアにおいて、接続された 2局の計算機の間で 相互に、接続された相手方計算機に対して、該計算機の担当する部分データを転送 するステップを繰り返すデータ転送手段を備えることを特徴としてもよい。
[0026] また、全二重通信可能な集線装置を用いることによって、 n局 (nは 2以上の自然数) の計算機 PC (iは 0から n— 1までの整数を取りうる。)が、ネットワーク媒体によって、全 二重通信可能なスイッチング機能を有する集線装置または通信ネットワークに接続さ れるネットワーク構成において、各計算機 PCは、相互相関演算の対象となるデータ X (iは 0から n - 1までの整数を取りうる。)が格納される記憶装置を備え、各計算機 P Cにおける上記データ Xは、部分データ X (j) (jは 0から n— 1までの整数を取りうる。 ) に n分割可能であり、 k番目(kは 0から n-1までの整数を取りうる。 )の計算機 PCは
、各計算機 PCにおける k番目の部分データ X (k)の相互相関演算を担当するもので あって、さらに、上記集線装置または通信ネットワークを介してデータ転送可能に接 続された計算機において、データを送る側の計算機とデータを受ける側の計算機の 間で、該計算機の担当する部分データを転送するステップを繰り返すにあたり、各ス
テツプにおいて、データ送り側計算機からデータ受け側計算機への対応に同一の計 算機を重複することなぐ且つ、全てのステップをとおして同一の対応を重複すること なく割り当てるとともに、該ステップを、 nが偶数奇数いずれの場合にも n— 1回繰り返 すデータ転送手段を備えることを特徴としてもょレヽ。
[0027] 同様に、全二重通信可能な集線装置を用いることによって、 n局 (nは 2以上の自然 数)の計算機 PC (iは 0から n_lまでの整数を取りうる。)が、ネットワーク媒体によって 、全二重通信可能なスイッチング機能を有する集線装置または通信ネットワークに接 続されるネットワーク構成において、各計算機 PCは、相互相関演算の対象となるデ ータ X (iは 0から n— 1までの整数を取りうる。)が格納される記憶装置を備え、各計算 機 PCにおける上記データ X;は、単位データ量である部分データ X (m) (mは 0以上 の整数を取りうる。 )に n個以上分割可能であり、かつ、連続する n個の部分データご とに重複することなくブロック区分可能であり、 k番目(kは 0から n— 1までの整数を取り うる。)の計算機 PCは、各計算機 PCにおける各ブロックの k番目の部分データの相 互相関演算を担当するものであって、さらに、上記ブロックごとに、上記集線装置また は通信ネットワークを介してデータ転送可能に接続された計算機において、データを 送る側の計算機とデータを受ける側の計算機の間で、該計算機の担当する部分デ ータを転送するステップを繰り返すにあたり、各ステップにおいて、データ送り側計算 機からデータ受け側計算機への対応に同一の計算機を重複することなぐ且つ、全 てのステップをとおして同一の対応を重複することなく割り当てるとともに、該ステップ を、 nが偶数奇数いずれの場合にも n— 1回繰り返すデータ転送手段を備えることを特 徴としてもよい。
[0028] ネットワーク媒体を全二重通信可能なもので構成して、処理時間の短縮に寄与させ てもよい。
発明の効果
[0029] 本発明のデータ配置方法及び装置は、例えば、 VLBI観測によって電波望遠鏡で 得られる時系列データのようにデータ量が大規模な場合であっても、複数局の計算 機の各記憶装置に格納された相互相関演算の対象となるデータを、相互相関演算 を担当する計算機ごとに部分データに分割して効率的に配置するので、コストの大き
い専用コンピュータを利用せずに、安価な汎用コンピュータでの相互相関演算の分 散処理を可能にする。また、このデータ配置方法及び装置は、各ステップにおける転 送時間が局数 nに依存せず、さらに、総ステップ数は数 1、数 2に示したとおり、 n回ま たは n— 1回で済む。
[0030] また、データを、単位データ量である部分データに n個以上分割し、さらに連続する n個の部分データごとに重複することなくブロック区分して、ブロックごとにデータ配置 を行うことで、データ収集を行いながら、既に収集されたデータの各局への配置が可 能になり、データ収集におよそ並行して、既に収集されたデータの相互相関演算が できることになる。
[0031] とくに、ネットワーク媒体または集線装置を全二重通信可能なもので構成することで 、データ配置の処理時間を短縮できる。
図面の簡単な説明
[0032] [図 1]本発明におけるネットワーク構成の一例を示す説明図
[図 2]PCの装置構成例を示す説明図
[図 3]n分割の場合に、本発明によるデータ配置の前後の、各 PCの外部記憶装置に 格納される部分データの配置状況を示す説明図
[図 4]n分割以上の場合に、本発明によるデータ配置の前後の、各 PCの外部記憶装 置に格納される部分データの配置状況を示す説明図
[図 5]PCの局数が奇数の場合に、全二重通信可能な集線装置を用いて、データ交換 を行う処理ステップを示す説明図
符号の説明
[0033] 1 PC
2 スイッチングハブ
3 ケープノレ
発明を実施するための最良の形態
[0034] 本発明の実施形態を図面に基づいて説明するが、以下の具体例は本発明を限定 するものではない。実施形態は、本発明の趣旨から逸脱しない限り適宜変更可能な ものである。
[0035] 図 1に、本発明におけるネットワーク構成の一例を示す図を、図 2に、 PCの装置構 成例を示す図を、図 3に、 n分割の場合に、本発明によるデータ配置の前後の、各!3 Cの外部記憶装置に格納される部分データの配置状況を示す図を、図 4に、 n分割 以上の場合に、本発明によるデータ配置の前後の、各 PCの外部記憶装置に格納さ れる部分データの配置状況を示す図を示す。
[0036] 本実施形態例においては、計算機は汎用コンピュータ、例えばいわゆるパーソナ ルコンピュータ(personal computer:以下、 PCと表記する。)とする。なお、本発明 の方法においては、必ずしも計算機は汎用コンピュータでなければならないものでは なぐ専用コンピュータなどであってもよい。
[0037] 本実施形態例では、 PC〔1〕は、 n局あるものとする。ここで、 nは 2以上の自然数で ある。即ち、 PCは複数局ある。各 PCを識別するために、添字を用いて、各 PCを、 P C、 PC、 PC、 ·■·、 PC 、 PC と表記する。なお、 0力 n_lの整数を取りうる添字 i
0 1 2 n- 2 n- 1
を用いて PCと表記しても特段の断りが無い限り同じことを意味するものとする。また、
i
図 1では符号の煩雑を避けるため、符号による識別はしていない。
[0038] 各 PCは、その装置構成 ·性能において、およそ同じにしなければならないものでは ない。し力 ながら、各 PCは相互相関演算を行うので、相応の演算性能を有すること が好ましい。
[0039] 各 PCは、スイッチング機能を有する集線装置であるスイッチングハブ〔2〕に、ネット ワーク媒体であるケーブル〔3〕を介して接続される(図 1参照)。図 1では、 n= 6、即ち 、 PC〔1〕が 6局の場合を例示している。
[0040] ケーブル〔3〕は、受信と送信を同時に行うことで実質的に 2倍の通信速度を実現す る全二重通信が可能なものとする。全二重通信可能なケーブルは、このケーブルに よってデータ転送可能に接続された 2局の PC間でデータを相互に転送するのに好 適である。全二重通信が可能なケーブルとしては、例えばイーサネット(Ethernet : 登録商標)のツイストペアケーブルが挙げられる。また、その他にも例えば光ファイバ であってもよい。ケーブル〔3〕の通信速度は高速であるほど好ましい。例えば既述の VLBIでは、 1秒あたりギガビット単位のデータ量となるので、できるだけ短時間にデ ータ転送を実現するためには、高速の通信速度が求められるからである。上述のィ
ーサネット(登録商標)では、 lGbps (Gbit/sec:ギガビット毎秒)の通信速度を実現 するギガビット'イーサネット(登録商標)が挙げられる。
[0041] なお、ケーブル〔3〕は、全二重通信が可能なものであることに限定されるものではな ぐ受信と送信を各別に実現する半二重通信可能なものでもよい。半二重通信可能 なケーブルを用いる場合には、半二重通信可能なケーブルによってデータ転送可能 に接続された 2局の PC、例えば PCと PCとの間でデータを相互に転送する場合、ま ず、例えば PC力ら PCへ、次いで、 PC力ら PCへとデータを転送すればよい。 し力 ながら、全二重通信可能なケーブルの場合には、 PC力 PCへのデータ転 送と、 PC力 PCへのデータ転送がおよそ同時に行えるため、半二重通信可能なケ 一ブルを用いた場合に比して、相互の PCでデータ転送を終了する時間がおよそ半 分で済むという大きな利点がある。
[0042] スイッチングハブ〔2〕は、スイッチング機能を有するハブである。ハブに設けられた ポートに接続されたイーサネット(登録商標)デバイスの物理アドレスを記憶し、通信 に必要とされるポート同士を直結してデータ転送を行う。従って、複数の PC間で通信 を行う場合でも、データのコリジョンを回避できる。
[0043] スイッチングハブ〔2〕に n局の PCがケーブル〔3〕を介して接続することでネットヮー クを構成する力 このネットワークの形態(トポロジー)は、いわゆるスター型である。 n 局の PCを各セグメントとみれば、スイッチングハブ〔2〕は、セグメントの中継装置なの で、マルチポート'リピータといえる。
[0044] 以上においては、複数の PCがケーブル〔3〕を介して、スイッチングハブ〔2〕にスタ 一型に接続する形態を説述したが、他の実施形態としては、複数の PCが通信ネット ワーク、例えばインターネットに接続する構成でもよい。この場合には、後述のように 複数の PC間でデータの転送を相互に行うので、データのコリジョンを防止するため に、複数の PC間でデータ転送をする際に、途中の通信回線の全部または一部を共 有することは避けなければならない。また、比較的大規模なデータ量を転送する場合 には、通信回線における帯域に相当の余裕があることが好ましレ、。
[0045] また、既存のインターネットなどの通信ネットワークを利用する場合には、回線の通 信速度が異なるものが種々混在してレ、るのが通常である力 できるだけ通信速度の
速い回線を利用するのが好ましい。
[0046] 各 は、記憶装置を備える。記憶装置は、一般的にハードディスクと称される外部 記憶装置〔18〕でよい。この外部記憶装置〔18〕には、相互相関演算の対象となるデ ータ〔20〕が格納される。 PCの外部記憶装置〔18〕に格納されるデータ〔20〕を X、 P
0 0
Cの外部記憶装置〔18〕に格納されるデータ〔20〕を X、その他の PCについても同
1 1
様で、 PCの外部記憶装置〔18〕に格納されるデータ〔20〕を Xと表記することにする
[0047] また、各 PCは、演算装置〔12〕、主記憶装置〔16〕及びケーブル〔3〕と接続して外 部記憶装置〔18〕に格納されるデータ〔20〕を他の PCへと転送することのできる伝送 部〔11〕などを備える。演算装置〔12〕には、外部記憶装置〔18〕に格納されたデータ 〔20〕の制御などを行うデータ制御部〔15〕、相互相関演算を処理する演算部〔14〕、 伝送部〔11〕を制御する伝送制御部〔13〕などが備わる(図 2参照)。図示はしていな いが、外部記憶装置〔18〕に、他の PCとのデータ転送の順番などを制御するプログ ラムを格納し、この順番に従って、後述のデータ転送が行われるようにしてもよレ、。ま た、外部記憶装置〔18〕に格納されるデータ〔20〕は、演算装置〔12〕のデータ制御部 〔15〕の制御の下、伝送部〔11〕を介して、他の PCへと転送され得る。
[0048] 各データ Xは、 n分割可能である。即ち、 Xは、部分データ X (0)、 X (1)、 X (2)、
i 0 0 0 0
•· 、Χ (η-2)、Χ (η-1)の η個に分割でき、 Xは、部分データ X (0)、 X (1)、 X (2)
0 0 1 1 1 1
、 · · ·、 X (η— 2)、 X (η— 1)の η個に分割でき、その他の Xについても同様で、部分デ
1 1 i
ータ X (0)、 X (1)、 X (2)、 · · ·、 X (n-2)、 X (n— 1)の n個に分割できるものとする。こ のように、 PCの外部記憶装置〔18〕に格納されるデータ Xの n分割された部分データ を X (j)と表記することにする。ここで、 jは 0から n_lまでの整数を取りうるものとする。
[0049] なお、ここで「分割可能」なる表現を用いているが、本発明における「分割可能」とは 、連続したデータ Xを部分データ X (j)に分割する場合を含むことは上述のとおりであ
i
つて、さらに、データ Xが部分データ X (j)の集合体である場合も含むものとする。
[0050] 具体的に VLBIにおいて得られる時系列データを例にとると、電波望遠鏡によって 得られるアナログ信号のデータは、適宜、原子周波数標準器によってデジタル信号 に変換されて、 PCの外部記憶装置に格納される。勿論、既述したとおりであるが、実
際の VLBIのデータサンプリングはこのような単純なものではなぐここでは、本発明 の関連を有する概要を示すにすぎない。この外部記憶装置に格納された時系列デ ータは、例えば 4秒間のデータが一括して格納されるものでもよいし、 1秒間ごとに区 切って 4秒間分のデータが格納されるものでもよい。そして、電波望遠鏡が 4局、即ち PC力 局とすると、前者の場合には、 4秒分のデータを、 0秒から 1秒まで、 1秒から 2 秒まで、 2秒から 3秒まで、 3秒から 4秒までの 4つの部分データに分割すればよい。 一方後者の場合には、 1秒間ごとの 4つの部分データ力 4秒間のデータが構成され ているので、そもそも分割されているといえるのである力 このような場合であっても、 概念的には 4秒間のデータが各 1秒間の部分データに分割されたものといえるので、 このような場合も「分割可能」という表現に含めるのである。
[0051] データの分割方法は、従来公知の方法でよぐ例えばアプリケーションソフトウェア を用いて分割するものであってよレ、。
[0052] 各部分データ X (j)は、そのデータ量はおよそ同じにしなければならないものではな レ、。しかし、一般的には、およそ同じとするのが好適である。つまり、データ Xをお よそ n等分割するのである。本実施例においても、特段の断りが無い限り、およそ n等 分割したものとする。
[0053] 各 PCは、上記のように分割された部分データの相互相関演算を担当する。具体的 には、 PCは、 PCの 0番目の部分データ X (0)、 PCの 0番目の部分データ X (0)、
0 0 0 1 1
PCの 0番目の部分データ X (0)、…、 PC の 0番目の部分データ X (0)、 PC の
2 2 n-2 n-2 n - 1
0番目の部分データ X (0)の各部分データの相互相関演算を担当するのである。
n-1
つまり、 PCは、 PCの 0番目の部分データ X (0)の相互相関演算を担当するのであ
0 i i
る。
[0054] 同様にして、 PCは、 PCの 1番目の部分データ X (1)、 PCの 1番目の部分データ
1 0 0 1
X (1)、 PCの 1番目の部分データ X (1)、 ·■·、 PC の 1番目の部分データ X (1)、
1 2 2 n-2 n-2
PC の 1番目の部分データ X (1)の各部分データの相互相関演算を担当するの
11 - 1 n-1
である。つまり、 PCの 1番目の部分データ X (l)の相互相関演算を担当するのである
[0055] 二のことは、各 PCについて妥当し、 0から n— 1までの整数を取りうる kを用いると、 k
番目の PCは、 PCの k番目の部分データ X (k)、 PCの k番目の部分データ X (k)、 k 0 0 1 1
PCの k番目の部分データ X (k)、…、 PC の k番目の部分データ X (k)、 PC の
2 2 n-2 n-2 n - 1 k番目の部分データ X (k)の各部分データの相互相関演算を担当するのである。
n-1
つまり、 k番目の PCは、 PCの外部記憶装置〔18〕に格納される k番目の部分データ k i
X (k)の相互相関演算を担当するのである。
[0056] このように、 k番目の PCで、各 PCの外部記憶装置〔18〕に格納される k番目の部 k i
分データ X (k)の相互相関演算を行えるようにするには、 k番目の PCに、 PCの外部 i k i 記憶装置〔18〕に格納される k番目の部分データ X (k)を配置しなければならなレ、(図
I
3参照)。
[0057] この配置方法を以下に説述する。
各 PCを、スイッチングハブ〔2〕を介して、 2局ずつのペアで、データ転送可能に接 続する。そして、各ペアにおいて、相互の PCは、相手方 PCが担当する部分データを 転送する。このとき、ケーブル〔3〕は、全二重通信可能なので、相互のデータ転送を 同時に行える。また、各ペアのデータ転送もスイッチングハブ〔2〕を介することで同時 に行える。そして、このステップを、各ペアにおける 2局の PCの組み合わせを変えて 繰り返すことで、配置が完了する。
[0058] ここで、 PCが 4局の場合と 5局の場合で、具体的に説明する。
まず、 PCが 4局、即ち n=4の場合力も説明する。
4局の PC、 PC、 PC、 PCにおいて、各 PCの外部記憶装置〔18〕には、データが
0 1 2 3
格納され 4つの部分データに分割される。即ち、 PCの外部記憶装置には、部分デ
0
ータ X (0)、 X (1)、 X (2)、 X (3)が、 PCの外部記憶装置には、部分データ X (0)
0 0 0 0 1 1
、 X (1)、 X (2)、 X (3)が、 PCの外部記憶装置には、部分データ X (0)、 X (1)、 X
1 1 1 2 2 2
(2)、 X (3)が、 PCの外部記憶装置には、部分データ X (0)、 X (1)、 X (2)、 X (3
2 2 3 3 3 3 3
)が格納されている。
[0059] そして、次のステップの各ペアでデータ転送を行う。ペアは、括弧で表記するものと する。
ステップ 1: (PC、 PC ) (PC、 PC )
0 1 2 3
ステップ 2 : (PC、 PC ) (PC、 PC )
0 3 1 2
ステップ 3 : (PC、 PC ) (PC、 PC )
0 2 1 3
必ずこの順番によるものではなぐ適宜入れ替えても良い。
[0060] ここで、各ステップにおける各ペアには、同じ PCが含まれないようにするのが良い。
また、各ステップには、同じ PCの組み合わせのペアが含まれないようにするのが良い 。つまり、できるだけ 1回のステップで同時にデータ転送できるペアの組み合わせを 多くし、かつ、ステップの回数をできるだけ少なくなるようにするのである。
[0061] まず、ステップ 1では、 PCと PC、 PCと PCとをスイッチングハブ〔2〕を介して接続
0 1 2 3
することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PCは、
0 1 2 3 0
PCが担当する部分データ X (1)を、 PCは、 PCが担当する部分データ X (0)を相
1 0 1 0 1 互にデータ転送し、 PCは、 PCが担当する部分データ X (3)を、 PCは、 PCが担
2 3 2 3 2 当する部分データ X (2)を相互にデータ転送する。
3
[0062] 次に、ステップ 2では、 PCと PC、 PCと PCとをスイッチングハブ〔2〕を介して接続
0 3 1 2
することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PCは、
0 3 1 2 0
PCが担当する部分データ X (3)を、 PCは、 PCが担当する部分データ X (0)を相
3 0 3 0 3 互にデータ転送し、 PCは、 PCが担当する部分データ X (2)を、 PCは、 PCが担
1 2 1 2 1 当する部分データ X (1)を相互にデータ転送する。
2
[0063] 次いで、ステップ 3では、 PCと PC、 PCと PCとをスイッチングハブ〔2〕を介して接
0 2 1 3
続することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PC
0 2 1 3 0 は、 PCが担当する部分データ X (2)を、 PCは、 PCが担当する部分データ X (0)
2 0 2 0 2 を相互にデータ転送し、 PCは、 PCが担当する部分データ X (3)を、 PCは、 PCが
1 3 1 3 1 担当する部分データ X (1)を相互にデータ転送する。
3
[0064] これらのステップが終了すると、 PCには、 X (0)、 X (0)、 X (0)、 X (0)が配置さ
0 0 1 2 3
れ、 PCには、 X (1)、 X (1)、 X (1)、 X (1)が配置され、 PCには、 X (2)、 X (2)、
1 0 1 2 3 2 0 1
X (2)、 X (2)が配置され、 PCには、 X (3)、 X (3)、 X (3)、 X (3)が配置されたこ
2 3 3 0 1 2 3
とになる。なお、データ転送は、一般的には、データをコピーして転送するので、各 P Cには、元の部分データ X (j)は残ったままである。
[0065] 次に、 PCが 5局、即ち n= 5の場合を説明する。
5局の PC、 PC、 PC、 PC、 PCにおいて、各 PCの外部記憶装置には、データが
0 1 2 3 4
格納され 5つの部分データに分割される。即ち、 PCの外部記憶装置には、部分デ
0
ータ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部分デー
0 0 0 0 0 1
タ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部分データ
1 1 1 1 1 2
X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部分データ X
2 2 2 2 2 3 3
(0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部分データ X (0
3 3 3 3 4 4
)、X (1)、X (2)、X (3)、X (4)が格納されている。
4 4 4 4
[0066] そして、次のステップの各ペアでデータ転送を行う。
ステップ 1: (PC、 PC ) (PC、 PC )
0 1 2 4
ステップ 2: (PC、 PC ) (PC、 PC )
0 2 3 4
ステップ 3: (PC、 PC ) (PC、 PC )
0 3 1 2
ステップ 4: (PC、 PC ) (PC、 PC )
0 4 1 3
ステップ 5: (PC、 PC ) (PC、 PC )
1 4 2 3
必ずこの順番によるものではなぐ適宜入れ替えても良い。
[0067] ここでも、各ステップにおける各ペアには、同じ PCが含まれないようにするのが良い 。また、各ステップには、同じ PCの組み合わせのペアが含まれないようにするのが良
[0068] まず、ステップ 1では、 PCと PC、 PCと PC
0 1 2 4
することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PCは、
0 1 2 4 0
PCが担当する部分データ X (1)を、 PCは、 PCが担当する部分データ X (0)を相
1 0 1 0 1 互にデータ転送し、 PCは、 PCが担当する部分データ X (4)を、 PCは、 PCが担
2 4 2 4 2 当する部分データ X (2)を相互にデータ転送する。
4
[0069] 次に、ステップ 2では、 PCと PC、 PCと PCとをスイッチングハブ〔2〕を介して接続
0 2 3 4
することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PCは、
0 2 3 4 0
PCが担当する部分データ X (2)を、 PCは、 PCが担当する部分データ X (0)を相
2 0 2 0 2 互にデータ転送し、 PCは、 PCが担当する部分データ X (4)を、 PCは、 PCが担
3 4 3 4 3 当する部分データ X (3)を相互にデータ転送する。
4
[0070] 次いで、ステップ 3では、 PCと PC、 PCと PCとをスイッチングハブ〔2〕を介して接
0 3 1 2
続することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PC
は、 PCが担当する部分データ X (3)を、 PCは、 PCが担当する部分データ X (0)
3 0 3 0 3 を相互にデータ転送し、 PCは、 PCが担当する部分データ X (2)を、 PCは、 PCが
1 2 1 2 1 担当する部分データ X ( 1 )を相互にデータ転送する。
2
[0071] 次いで、ステップ 4では、 PCと PC、 PCと PC
0 4 1 3
続することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PC
0 4 1 3 0 は、 PCが担当する部分データ X (4)を、 PCは、 PCが担当する部分データ X (0)
4 0 4 0 4 を相互にデータ転送し、 PCは、 PCが担当する部分データ X (3)を、 PCは、 PCが
1 3 1 3 1 担当する部分データ X ( 1 )を相互にデータ転送する。
3
[0072] 次いで、ステップ 5では、 PCと PC、 PCと PC
1 4 2 3
続することで、 PCと PC、 PCと PCとは相互に同時にデータ転送可能になる。 PC
1 4 2 3 1 は、 PCが担当する部分データ X (4)を、 PCは、 PCが担当する部分データ X ( 1 )
4 1 4 1 4 を相互にデータ転送し、 PCは、 PCが担当する部分データ X (3)を、 PCは、 PCが
2 3 2 3 2 担当する部分データ X (2)を相互にデータ転送する。
3
[0073] これらのステップが終了すると、 PCには、 X (0)、 X (0)、 X (0)、 X (0)、 X (0)が
0 0 1 2 3 4 配置され、 PCには、 X ( 1 )、 X ( 1 )、 X ( 1 )、 X ( 1 )、 X ( 1 )が配置され、 PCには、
1 0 1 2 3 4 2
X (2)、 X (2)、 X (2)、 X (2)、 X (2)が配置され、 PCには、 X (3)、 X (3)、 X (3)
0 1 2 3 4 3 0 1 2
、 X (3)、 X (3)が配置され、 PCには、 X (4) X (4)、 X (4)、 X (4)、 X (4)が配
3 4 4 0 1 2 3 4 置されたことになる。なお、データ転送は、一般的には、データをコピーして転送する ので、各 pcには、元の部分データ X 0)は残ったままである。
[0074] 以上、 n= 4と n= 5の場合について例示した力 一般的に、 n局の場合において、 各ステップにおける各ペアには、同じ PCが含まれないようにするとともに、各ステップ には、同じ PCの組み合わせのペアが含まれないようにするとの条件の下で、データ の配置を完了するのに必要なステップの回数は、 n個の中から 2個のものを取り出す 組み合わせの数を、 1回のステップで組み合わせ可能なペアの数で除することによつ て得られる。
従って、 nが偶数の場合には、
[0075] [数 1]
„C2 n(n - l) 2
'- ·— = n - l
n 2 n
2
[0076] なので、データの配置を完了するのに必要なステップの回数は n— 1回であり、 nが奇 数の場合は、
[0077] [数 2]
„C2 n(n - l) 2
=— ^ '-■ = n
« -丄 2 n - 1
2
[0078] なので、データの配置を完了するのに必要なステップの回数は n回となる。
[0079] このようにして、 n局の場合に、データの転送を完了するのに必要なステップの理論 的な回数は求められるが、実際、この理論的な回数でデータ配置を完了させることの できる、各ステップのペアとペアの PCの具体的な組み合わせも必ず存在する。従つ て、本発明の方法は PC力 ^、かなる局数であっても実施可能である。なお、 n局の場 合における、各ステップのペアとペアの PCの組み合わせを求める方法は、別に後述 する。
[0080] 以上では、各データ Xを n分割した場合について説述した力 次に、各データ Xを、
i i 単位データ量である部分データ X (m)に n分割以上可能な場合について説述する。 なお、 PCやネットワーク構成については基本的には異ならないので、ここでは、各デ ータ Xの分割と転送方法にっレ、て説述するものとする。
[0081] 単位データ量を、例えば、 q [bit]として、各データ Xを n個以上の部分データに分 割可能であるとする。
[0082] 具体的には、各データ Xは、例えば、 Xは、それぞれが q [bit]である部分データ X i 0 0
(0)、X ( 1)、X (2)、…と n個以上に分割でき、 Xは、それぞれ力 ¾ [bit]である部分
0 0 1
データ X (0)、X ( 1)、X (2)、…と n個以上に分割でき、その他の Xについても同様
1 1 1 i で、 q [bit]である部分データ X (0)、 X ( 1 )、 X (2)、…と n個以上に分割できるものと する。換言すれば、 PCのデータ Xが分割された部分データを X (m) (mは勿論 0以 上の整数である。)とすれば、 mは n— 1以上の整数を取りうるものであって、さらに、レヽ ずれの mに対しても、 X (m)のデータ量は q [bit]であるということである。
[0083] なお、ここで「分割可能」なる表現を用いている力 既述のとおり、本発明における「 分割可能」とは、連続したデータ Xを部分データ X (m)に分割する場合およびデータ Xが部分データ X (m)の集合体である場合も含むものとする。
[0084] 各部分データ X (m)は、そのデータ量はおよそ同じにしなければならないものでは ない。しかし、一般的には、およそ同じとするのが好適である。例えば、各部分データ X (m)のデータ量を、ケーブル〔3〕の単位時間当たりに転送可能なデータ転送量と およそ同じとするのである。
[0085] 次に、各 PCにおいて上記のように分割された部分データを、連続する n個の部分 一、、 ータごとに重複することなくブロック区分する。
具体的には、 PCにおける n個以上の部分データ X (0)、X (1)、X (2)、…を、 0
0 0 0 0
番目のブロックを、部分データ X (0)、Χ (1)、 ···、Χ (η— 2)、Χ (η— 1)カゝらなるもの
0 0 0 0
とし、 1番目のブロックを、部分データ X (η)、 X (η+1)、 ···、 X (2η_2)、 X (2η_1)
0 0 0 0 力 なるものとし、同様にして、 α番目(αは 0以上の整数を取りうる。)のブロックは、 部分データ X (ηΧ α)、 X (ηΧ α +1)、 ···、 X (ηΧ a +η— 2)、 X (ηΧ a +η— 1)
0 0 0 0
からなるものとするのである。
[0086] 他の PCにおいても同様であって、 PCにおける n個以上の部分データ X (0)、 X (1 i i i
)、 X (2)、…を、 0番目のブロックを、部分データ X (0)、 X (1)、 ···、 X (n-2)、 X (n i i i i i 一 1)からなるものとし、 1番目のブロックを、部分データ X (η)、Χ(η+1)、 "·、Χ(2η i i i
_2)、Xi(2n-l)力 なるものとし、同様にして、 α番目のブロックは、部分データ Χ^η X α)、 X (ηΧ α +1)、 ···、 X (ηΧ a +η_2)、 X (ηΧ a +η_1)力らなるものとする i i i
のである。
[0087] 上記のようなブロック区分は必須のものではなぐ連続する n個の部分データごとに 重複することなくブロック区分すればよレ、。例えば、 0番目のブロックを、 X (0)、 X (1) i i とし、 1番目のブロックを X (2) X (n+1)とし、 2番目のブロックを X (n + 2)— X (2n i i i i
+ 1)、…とするものでもよレ、。ところで、このようなブロック区分では、 0番目のブロック の部分データの個数が n個以上ではなぐ 2個となる。このことは、既述のブロック区 分でも同様のことが言える。つまり、既述のブロック区分では、 PCのひ番目のブロック
は、部分データ X (ηΧ α)、 X (ηΧ α +1)、 ···、 X (nX a +n— 2)、 X (nX a +n— 1 i i i i
)からなるとしたが、最終のブロックでは、必ずしも n個の部分データが存在しない場 合もある。このような場合におけるデータ配置の方法は後記の <部分データの個数 が n個未満の場合 >で説述する。
[0088] 各 PCは、上記のようにブロック区分された各ブロックの部分データの相互相関演算 を担当する。
具体的には、 PCは、各ブロックごとに、 0番目のブロックの部分データ X (0)、 X (
0 0 1
0)、 '··、Χ (0)、Χ (0)、 1番目のブロックの部分データ X (η)、Χ (η)、 '··、Χ (η
11 - 2 η-1 0 1 η-2
)、Χ (η)、 2番目のブロックの部分データ X (2η), X (2η)、 '··、Χ (2η), X (2η η-1 0 1 η-2 η - 1
)、…の相互相関演算を担当する。また、 PCは、各ブロックごとに、 0番目のブロック
1
の部分データ X (1)、X (1)、 '··、χ (1)、Χ (1)、 1番目のブロックの部分データ
0 1 11-2 η-1
X (η+1)、 X (η+1)、■·■、 X (η+1)、 X (η+1)、 2番目のブロックの部分デー
0 1 η-2 η-1
タ X (2η+1)、Χ (2η+1)、 · 、Χ (2η+1)、Χ (2η+1)、…の相互相関演算を
0 1 η-2 η-1
担当する。他の PCでも同様であり、 k番目の PCである PCは、各ブロックごとに、 0番
k
目のブロックの部分データ X (k)、 X (k)、 ···、 X (k)、 X (k)、 1番目のブロックの
0 1 n-2 n-1
部分データ X (n + k)、 X (n + k)、 ···、 X (n + k)、X (n+k)、 2番目のブロックの
0 1 n-2 n-1
部分データ X (2n + k)、X (2n + k)、 ·'·、Χ (2n + k)、X (2n + k)、…の相互相
0 1 n-2 n-1
関演算を担当する。換言すれば、 k番目の PCである PCは、各 PCにおける(k+nX k i
ひ)番目の部分データ X (k + nX α)の相互相関演算を担当するものであって、この 部分データ X(k+nX α)は、 α番目のブロックに含まれるものである。
[0089] このように、 k番目の PCで、 PCの外部記憶装置〔18〕に格納される(k+nX α)番
k i
目の部分データ X (k + nX a )の相互相関演算を行えるようにするには、 k番目の P Cに、 PCの外部記憶装置〔18〕に格納される(k+nXひ)番目の部分データ X (k+ k i i nX α)を配置しなければならなレヽ(図 4参照)。
[0090] このデータ配置の方法は、各の各ブロックには、 n個の連続する部分データが含ま れるので、各ブロックごとに、 n分割の場合で説明した方法を適用すればよい。つまり 、各 PC間で、 X (0)— X.(n_l)のデータ配置、 X (n)一 X (2n_l)のデータ配置、 X (2n) -X (3n— 1)のデータ配置のように、各ブロックごとにデータ配置を行うのである
(具体的な詳細は、 n分割の場合の説明が各ブロックごとに妥当する。)。
[0091] <部分データの個数が n個未満の場合 >
既述のとおり、あるブロックの部分データの個数力 個未満になる場合がある。この ような場合の、このブロックにおけるデータ配置の方法を以下に具体例を示して説述 する。要すれば、部分データの個数力 個の場合と同様であるが、ここでは、 n=4の 場合で、 0番目のブロックの部分データの個数が 2個の場合で説明する。
[0092] データ配置前の各 PCにおける 0番目のブロックの部分データの配置の状況は以下 となる。
PC :X (0)、 X (1)
0 0 0
PC :X (0)、 X (1)
1 1 1
PC :X (0)、 X (1)
2 2 2
PC :X (0)、 X (1)
3 3 3
[0093] ここで、 n=4の場合の既述のステップは、
ステップ 1: (PC、 PC ) (PC、 PC )
0 1 2 3
ステップ 2 : (PC、 PC ) (PC、 PC )
0 3 1 2
ステップ 3 : (PC、 PC ) (PC、 PC )
0 2 1 3
である。
そこで、このステップに従えばよぐステップ 1では、ペア(PC、 PC )で、 PCの X (
0 1 0 0
1)と PCの X (0)を相互にデータ転送し、ペア(PC、 PC )では何もしなレ、。ステップ
1 1 2 3
2では、ペア(PC、 PC )で、 PC力ら PCへ X (0)をデータ転送し、ペア(PC、 PC )
0 3 3 0 3 1 2 で、 PC力ら PCへ X (1)をデータ転送する。ステップ 3では、ペア(PC、 PC )で、 P
2 1 2 0 2
C力ら PCへ X (0)をデータ転送し、ペア(PC、 PC )で、 PC力ら PCへ X (1)をデ
2 0 2 1 3 3 1 3 ータ転送するのである。
[0094] このように、あた力も n個の部分データがある場合の如ぐ同様のステップを繰り返せ ばよぐペアの相手方 PCの担当する部分データの存在しない場合には、いわば半 二重通信のように一方からのデータ転送のみを行えばよいのである。
[0095] このように、データを、単位データ量である n個以上の部分データに分割して、さら に部分データをブロック区分することによって、例えば、 VLBI観測を行いデータを継
続的に収集 ·格納しながら、既に外部記憶装置に格納されたデータを部分データに 分割して、適宜ブロックごとに各局へのデータ配置を行うことができるので、観測にお よそ並行して、既に収集されたデータの相互相関演算ができることになる。
[0096] < PCのペアの組み合わせ方 >
数 1、数 2に示したように、 n局の場合に、データの転送を完了するのに必要なステ ップの理論的な回数は求められる力 具体的に、各ステップにおけるペアをどのよう にして組み合わせるかが問題となる。
n= 6の場合を具体的に例示する。
n=6の場合で、最初の 3回のステップにおけるペアの組み合わせとして、例えば、 次のようなペアの組み合わせを考える。
ステップ 1: (PC、 PC ) (PC、 PC ) (PC、 PC )
0 1 2 3 4 5
ステップ 2 : (PC、 PC ) (PC、 PC ) (PC、 PC )
0 5 1 2 3 4
ステップ 3 : (PC、 PC ) (PC、 PC ) (PC、 PC )
0 3 1 4 2 5
[0097] この場合に、各ステップにおける各ペアには、同じ PCが含まれないようにするととも に、各ステップには、同じ PCの組み合わせのペアが含まれないようにするとの条件の 下、続くステップのペアの組み合わせを考えると、例えば次のように最低 3回のステツ プが必要になる。
ステップ 4 : (PC、 PC ) (PC、 PC )
0 4 1 3
ステップ 5 : (PC、 PC ) (PC、 PC )
0 2 1 5
ステップ 6: (PC、 PC ) (PC、 PC )
2 4 3 5
[0098] つまり、数 1に示したように、 n=6の場合には 5回で完了できるはずのところ、各ステ ップのペアとペアの PCの組み合わせ方によってはこの場合のように計 6回のステップ が必要となってしまう。ステップの回数が増えれば、通常、データを配置するのに掛 かる時間が長くなるので効率が悪い。これは、各ステップにおけるペアとペアにおけ る PCを任意に組み合わすことによっては、必ずしも理論的な回数ではデータの配置 を完了することができず、効率の良いデータの配置が行えないことを示している。
[0099] そこで、 n局の場合に、理論的な回数でデータの配置を完了するための、各ステツ プにおいて組み合わせるペアとペアにおける PCの具体的な組み合わせを求める方
法を以下に説述する。
[0100] 局数 nが 2の場合は自明なので、 3以上の場合を考えればょレ、。
まず、 nが奇数の場合、円周上に等間隔で n個の点を打ち(正 n角形をつくることに 同じ)、各点に、例えば時計回りに順番に、 0から n-1までの番号を付ける。この円周 上の n個の点が PCに対応するのである。つまり、 nが奇数の場合に、 n回(この回数 は数 2から明らかである。 )の各ステップにおいて組み合わせるペアとペアにおける P Cの具体的な組み合わせを求めることは、円周上に等間隔に打たれた各点の間で引 くことのできる総ての対角線を、 1個の対角線群力 S1つの点から複数の対角線を引くこ とのなレ、 (n— 1) 2個の対角線で構成される、 n個の対角線群に分離することに同じで あって、逆に言えば、できるだけ 1回のステップで多くの点から、各点からは複数の対 角線を引いてはならないという条件の下、対角線を引く操作を行い、この操作を n回 繰り返すことで、円周上に等間隔に打たれた各点の間で、重複する対角線なくしてい わゆるダイアモンドパターンを描ききる方法を求めればよいことになる。
[0101] まず、ステップ 1 (以上では、ステップの番号は丸数字で示していた力 以下では、 表記の都合上、単なる数字で示すものとする。)では、 0番が付された点以外の n— 1 個の点において、 0番の点から円の中心を通る直径線を引き、その線に対称な各 2点 でペアをつくる。この(n— 1) /2個のペア力 \ステップ 1において組み合わせるペアで あり、この各ペアが、ペアにおける PCの具体的な組み合わせとなるのである。具体的 には、例えば n= 7の場合、ステップ 1において組み合わせるペアとペアにおける PC の具体的な組み合わせは、(pc、 PC ) (PC、 PC ) (PC、 PC )となる。
1 6 2 5 3 4
[0102] 次に、ステップ 2では、 1番が付された点以外の n— 1個の点において、 1番の点から 円の中心を通る直径線を引き、その線に対称な各 2点でペアをつくる。この(n— 1)Z 2個のペアが、ステップ 2において組み合わせるペアであり、この各ペアが、ペアにお ける PCの具体的な組み合わせとなるのである。具体的には、例えば n= 7の場合、ス テツプ 2において組み合わせるペアとペアにおける PCの具体的な組み合わせは、(P C、 PC ) (PC、 PC ) (PC、 PC )となる。
2 0 3 6 4 5
[0103] 以下同様にして、各ステップにおいて組み合わせるペアとペアにおける PCの具体 的な組み合わせを求めることができる。即ち、ステップ R (Rは自然数)では、 R— 1番
が付された点以外の n— 1個の点において、 R— 1番の点から円の中心を通る直径線 を引き、その線に対称な各 2点でペアをつくる。この(n— 1) /2個のペアが、ステップ Rにおいて組み合わせるペアであり、この各ペアが、ペアにおける PCの具体的な組 み合わせとなるのである。そして、 R— 1番の点から円の中心を通る直径線を引き、そ の線に対称な各 2点でペアをつくることを、 n個の各点で行えばよいので、全部のステ ップの回数は nとなる。
[0104] 次に、 nが偶数の場合には、 n— 1個の PCと 1局の PCとの和集合と考えればよい。
換言すれば、 nが偶数の場合には、 n-1 (勿論これは奇数である。)の場合に適用す る上記方法において、各ステップにおいて対角線が引けずに必ず余る 1点と、 1局の PC即ちここでは円周外の 1点とを線で結ぶものと考えればよく(この具体的な PCの 組み合わせが 1つ増えることによって、各ステップにおけるペアは (n— 1— 1) /2 + 1 =nZ2個となる。)、全部のステップの回数は n— 1となる。
[0105] 以上のようにして、各ステップにおいて組み合わせるペアとペアにおける PCの具体 的な組み合わせが求められるのである力 無論、このステップの順番とおりでなけれ ばならなレ、ものではなぐ適宜入れ替えてもよレ、。
また、ここに示した各ステップのペアとペアの PCの組み合わせを求める方法によつ て得られる組み合わせだけしかありえないというものではなレ、。し力しながら、この付 録に示した方法に依れば、 PCの局数がいかなる場合であっても、理論的な回数で データの配置を完了することが可能な各ステップのペアの組み合わせが容易に必ず 得られるのであって、特に局数が大きい場合に有益である。
[0106] く全二重通信可能な集線装置を用いる場合 > 以上においては、複数の PCが ケーブル〔3〕を介して、スイッチングハブ〔2〕に接続する形態を説述した。集線装置と してのスイッチングハブ〔2〕に、全二重通信可能なものを用いて、全ての計算機 PC で同時にデータ交換を行うと、 PCの局数 nの奇偶に関わらず、データ転送効率を向 上させることが可能になる。
[0107] 図 5は、 PCの局数が奇数、 n= 5の場合に、全二重通信可能な集線装置を用いて 、データ交換を行う処理ステップを示す図である。
前記と同様、 5局の PC、 PC、 PC、 PC、 PCにおいて、各 PCの外部記憶装置に
0 1 2 3 4
は、データが格納され 5つの部分データに分割される。即ち、 PCの外部記憶装置に
0
は、部分データ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には
0 0 0 0 0 1
、部分データ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、
1 1 1 1 1 2
部分データ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部
2 2 2 2 2 3
分データ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が、 PCの外部記憶装置には、部分
3 3 3 3 3 4
データ X (0)、 X (1)、 X (2)、 X (3)、 X (4)が格納されている。
4 4 4 4 4
[0108] データの送り側の PCとデータの受け側の PCの間で、該 PCの担当する部分データ を転送するステップを前記と同様に繰り返す。
図示のように、次のステップの各対応でデータ転送を行う。
ステップ 1 : PC→ PC
i i+1
ステップ 2: PC→ PC
i i+2
ステップ 3 : PC→ PC
i i+3
ステップ 4: pc → PC
i i+4
必ずこの順番によるものではなぐ適宜入れ替えても良い。
iは、 PCの局番を示す数であり 1から 4までの整数である。 i+ 1等が 4を超えた場合 は、 4を減じた値 1に戻って指標する。
PCの局数力 ¾= 5の場合に限らず、奇数の場合一般で同様である。
[0109] これによると、 PCの局数 nが奇数であっても、ステップを n-1回繰り返すことによつ て、短時間で効率よく処理できる。
産業上の利用可能性
[0110] 本発明のデータ配置方法及び装置は、例えば、 VLBI観測によって電波望遠鏡で 得られる時系列データのようにデータ量が大規模な場合であっても、複数局の計算 機の各記憶装置に格納された相互相関演算の対象となるデータを、相互相関演算 を担当する計算機ごとに部分データに分割して効率的に配置するので、コストの大き い専用コンピュータを利用せずに、安価な汎用コンピュータでの相互相関演算の分 散処理を可能にする。また、各ステップにおける転送時間が局数 nに依存せず、さら に、総ステップ数は数 1、数 2に示したとおり、 n回または n— 1回で済む。
[0111] また、データを、単位データ量である部分データに n個以上分割し、さらに連続する
n個の部分データごとに重複することなくブロック区分して、ブロックごとにデータ配置 を行うことで、データ収集を行いながら、既に収集されたデータの各局への配置が可 能になり、データ収集におよそ並行して、既に収集されたデータの相互相関演算が できることになる。
とくに、ネットワーク媒体または集線装置を全二重通信可能なもので構成することで 、 nの奇偶に関わらず n— 1回のステップで済ませることができ、データ配置の処理時 間を短縮できる。