(57)【要約】【課題】マルチプロセッサ計算機システムにおいて、一つのプログラムを処理する際の負荷を軽減し、スループットの低下を防止することができる演算装置、データ転送システムおよびデータ転送プログラムを提供する。【解決手段】マルチノードを構成する演算装置において、各演算装置内にある外部記憶装置からのデータを受け取る受信手段とノード間データ転送を行うノード間接続手段との間にバイパス経路を設ける事を特徴とし、これによって、外部記憶装置へのアクセスを軽減し、読み取り時間にシステムのスループットを低下されることを防ぐことができるデータ転送システム。また、本発明は、内部記憶手段に一旦データを読み込む必要が無いので、１つの演算装置が外部記憶装置からプログラムおよびデータを読み込む時間とほぼ同じ時間で転送を終了するものである。【選択図】　　　　図１
2004013324.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されることによって外部記憶装置から送信されるプログラムおよびデータを受信することができる受信手段と、該受信手段が受信したプログラムおよびデータを格納する内部記憶手段と、複数の演算装置とノード間接続切替スイッチを介して接続されることによって他の演算装置へプログラムおよびデータを転送することができる機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、該ノード間接続手段に転送命令を出すことができる制御手段とを有し、前記受信手段と前記ノード間接続手段との間にプログラムおよびデータを送信することができる経路が設けられていることを特徴とする演算装置。
【請求項２】
演算装置の接続がクロスバー接続によりなされるものであって、前記制御手段が、複数の他の演算装置に転送を行うよう命令を出すことを特徴とする請求項１記載の演算装置。
【請求項３】
複数の演算装置がノード間接続切替スイッチを介して接続されており、各演算装置が複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されているデータ転送システムにおいて、前記演算装置が、複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されており外部記憶装置から送信されるプログラムおよびデータを受信することができる受信手段と、該受信手段が受信したプログラムおよびデータを格納する内部記憶手段と、複数の演算装置とノード間接続切替スイッチを介して接続されており他の演算装置へプログラムおよびデータを転送することができる機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、該ノード間接続手段に転送命令を出すことができる制御手段とを有し、前記受信手段と前記ノード間接続手段との間にプログラムおよびデータを送信することができる経路が設けられていることを特徴とするデータ転送システム。
【請求項４】
前記ノード間接続手段がクロスバー接続で演算装置を接続することを特徴とする請求項３記載のデータ転送システム。
【請求項５】
複数の演算装置が他の演算装置とノード間接続切替スイッチを介して接続されているデータ転送システムにおける演算装置を、外部記憶装置からのプログラムおよびデータを受信する受信手段と、該受信手段で受け取ったプログラムおよびデータを格納する内部記憶手段と、複数のデータ演算装置とノード間接続切替スイッチを介して接続されている他の演算装置へ前記受信手段から送信されたプログラムおよびデータを内部記憶手段を介さず転送する機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、該ノード間接続手段に転送命令を出すことができる制御手段として機能させることを特徴とするデータ転送プログラム。
【請求項６】
演算装置の接続がクロスバー接続によりなされるものであって、前記制御手段を、他の複数の演算装置にプログラムおよびデータの転送命令を出す手段としても機能させることを特徴とする請求項５記載のデータ転送プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の演算装置に対し、演算対象となる処理を分散して並列処理を実行する、いわゆるマルチプロセッサ計算機システムの各演算装置の負荷を低減し、システムの演算性能を向上させる演算装置、データ転送システムおよびデータ転送プログラムに関する。
【０００２】
【従来の技術】
近年、ＬＳＩの微細化により１台の情報処理装置の性能は飛躍的に向上しているが、大規模な科学計算等ではそれらを複数台使用してマルチノード構成でしか要求する性能に達しないのが現状である。マルチノードの情報処理の場合、各演算装置に演算処理を細分化し並列して処理するが、プログラム上で並列化出来ない部分は少なからず存在する。このため、演算の途中結果をあるノード上に集めて続きの処理の判断または実行を行う必要がある。それゆえ、ノード間転送速度は性能を上げるために、Ｉ／Ｏより帯域が広いのが一般的である。多ノードで一つのプログラムの処理を行う場合、プログラム実行当初に各演算装置は、自メモリ内にプログラムやデータを読み込んで演算を行う。したがって、共通部分のプログラムや初期データは各演算装置で同じモノを読み込むこととなり、ディスクに負荷が集中する結果、システムとしてのスループットを低下させてしまう。
一般的に多ポートのディスクであっても内部的にはリクエストをシリアライズするのが常套手段であり、ｍノードで要求すればその数に応じてｍ倍の時間が必要となるのである。
【０００３】
【発明が解決しようとする課題】
このディスク競合により顕著にスループットを低下させていることが分かっている場合は、１ノードのメモリにデータを読み込んで、ノード間転送で他ノードへデータを分配する手段が考えられる。しかし、この場合はメモリ上で配置されたデータの単位でしか転送を行えない等の欠点を有する。
【０００４】
本発明は、以上の欠点に鑑みてなされたものであって、複数の制御手段に対し、演算対象となる処理を分散して並列処理を実行する、いわゆるマルチプロセッサ計算機システムにおいて、一つのプログラムを処理する際の負荷を軽減し、スループットの低下を防止することができる演算装置、データ転送システムおよびデータ転送プログラムを提供することを目的とする。
【０００５】
【課題を解決するための手段】
請求項１記載の演算装置は、複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されることによって外部記憶装置から送信されるプログラムおよびデータを受信することができる受信手段と、該受信手段が受信したプログラムおよびデータを格納する内部記憶手段と、複数の演算装置とノード間接続切替スイッチを介して接続されることによって他の演算装置へプログラムおよびデータを転送することができる機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、ノード間接続手段に転送命令を出すことができる制御手段とを有し、前記受信手段と前記ノード間接続手段との間にプログラムおよびデータを送信することができる経路が設けられていることを特徴とするものである。
【０００６】
本発明における受信手段とは、外部からのデータを受け入れるバスであって、記憶装置と演算装置内部の各パーツ間を結ぶデータ伝送路である。特に、ＰＣＩバスであることが好ましい。これは、演算装置が拡張スロットとして備えているものであり、記憶装置から送信されるプログラムおよびデータを受信する機能を有するものである。このとき、受信手段は、受信したプログラムおよびデータを内部記憶手段およびノード間接続手段に送信する機能を有している。
また、本発明における内部記憶手段は受信手段が受信したプログラムおよびデータを一時的に所定のアドレスに格納するものであり、メモリ、ＨＤＤ等を挙げることができる。
また、本発明におけるノード間接続手段は、演算装置（ノード）同士をノード間接続切替スイッチを介して接続するものであって、演算装置が読み取り命令を受け取った場合は、受信手段が外部記憶装置から送信されたプログラムおよびデータを受信手段から直接受け取り、さらにそのプログラムおよびデータを他の演算装置へ転送する機能を有しており、演算装置が受信命令を受け取った場合は、読み取り命令を受け取った演算装置から送信されてきたプログラムおよびデータを受信し、受信したプログラムおよびデータを内部記憶手段の所定の場所（メモリアドレス等）に配置させる機能を有しているものである。
また、本発明における制御手段は、演算装置が読み取り命令を受け取った場合には、ノード間接続手段から他の演算装置へプログラムおよびデータを転送することを命令する機能を有するものであり、これには通常ＣＰＵが用いられる。
【０００７】
本発明の演算装置は、受信手段とノード間接続手段の間にデータを伝送できる経路を設けたことを特徴とし、受信手段がプログラムおよびデータを受信したときには、自装置の内部記憶手段に格納するだけでなく、他の演算装置へプログラムおよびデータを転送するためにノード間接続手段へもプログラムおよびデータを送信する。したがって、内部記憶手段に格納すると同時にデータの転送も行うことができ、他の演算装置においてもこの送信されたプログラムおよびデータをノード間接続手段において受信し、受信したプログラムおよびデータを本来プログラムおよびデータを読み込んだときに格納すべき場所（メモリアドレス等）に配置することで、読み取り命令のあった演算装置および受信命令のあった演算装置の全てにプログラムおよびデータが共有化される。
【０００８】
これにより、演算装置が個々に外部記憶装置からプログラムおよびデータを読み込む必要がなく、外部記憶装置へのアクセスの軽減を図り、プログラムおよびデータの読み取り時間のためシステムのスループットが低下することを防ぐことができる。また、転送されるプログラムおよびデータを受信する演算装置は、内部記憶手段に一旦データを読み込む必要がないので、演算装置が外部記憶装置からプログラムおよびデータを読み込む時間とほぼ同じ時間で転送を終了することができる。さらに、従来のように内部記憶手段に一旦読み込んだ場合は、その読み込んだ際の内部記憶手段上に配置されたデータの単位でしか転送を行うことができなかったが、本発明では、内部記憶手段にプログラムおよびデータを読み込まずに転送を行うことができるため、従来のような制限なくプログラムおよびデータの転送を行うことができる。
【０００９】
請求項２記載の演算装置は、演算装置の接続がクロスバー接続によりなされるものであって、制御手段が、複数の他の演算装置にプログラムおよびデータの転送を行うよう命令を出すことを特徴とするものである。
【００１０】
本発明は、ノード間接続がクロスバー接続でなされているため、読み取り命令を受け取った演算装置から受信命令を受け取った演算装置へプログラムおよびデータを転送する際に、転送先が複数であってもほぼ同時に転送することができ、読み取り命令を受け取った演算装置から他の演算装置全てにプログラムおよびデータを転送することもできる。
したがって、ノード間接続が１：１の接続しかサポートしていない場合は、外部記憶装置へのアクセスを１件減らすにすぎないが、ノード間接続をクロスバー接続とした本発明においては、ｍ台の演算装置を接続している場合には、最大でｍ−１件のアクセスを減らすことができ、大幅に演算装置の負荷を軽減することができる。
【００１１】
請求項３記載のデータ転送システムは、複数の演算装置がノード間接続切替スイッチを介して接続されており、各演算装置が複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されているデータ転送システムにおいて、前記演算装置が、複数の外部記憶装置と外部記憶装置切替スイッチを介して接続されており外部記憶装置から送信されるプログラムおよびデータを受信することができる受信手段と、該受信手段が受信したプログラムおよびデータを格納する内部記憶手段と、複数の演算装置とノード間接続切替スイッチを介して接続されており他の演算装置へプログラムおよびデータを転送することができる機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、ノード間接続手段に転送命令を出すことができる制御手段とを有し、前記受信手段と前記ノード間接続手段との間にプログラムおよびデータを送信することができる経路が設けられていることを特徴とするものである。
【００１２】
本発明のデータ転送システムにおける演算装置は、請求項１記載の演算装置と同一である。
また、本発明におけるノード間接続切替スイッチは、演算装置同士を接続するものであり、読み取り命令を受け取った演算装置と受信命令を受け取った演算装置とを接続するものである。このノード間接続切替スイッチを介してプログラムおよびデータが送信されることとなる。
また、外部記憶装置は、演算装置の外部に設けられるものであって、マルチノードにおいて処理を行うためのプログラムおよびデータが保存されている。この外部記憶装置はそのマルチノードで用いる情報量から複数台用いられる。これらは記憶装置切替スイッチを介して演算装置に接続されるものであって、本発明では読み取り命令を受けるのは１台の演算装置であるから、その演算装置と読み取るプログラムおよびデータを記憶している外部記憶装置とを接続することができればよい。
これにより、請求項１と同様に、システムのスループットが低下することを防ぐこと、演算装置が外部記憶装置からプログラムおよびデータを読み込む時間とほぼ同じ時間で転送を終了すること、内部記憶手段上に配置されたデータの単位でしか送信できないとの制限もなくプログラムおよびデータの転送を行うことができる。
【００１３】
請求項４記載のデータ転送システムは、ノード間接続手段がクロスバー接続で演算装置を接続することを特徴とするものである。
【００１４】
本発明は、ノード間接続がクロスバー接続であるため、読み取り命令を受け取った演算装置から受信命令を受け取った演算装置へプログラムおよびデータを転送する際に、転送先が複数であってもほぼ同時に転送することができ、読み取り命令を受け取った演算装置から他の演算装置全てにプログラムおよびデータを転送することもできる。
これにより請求項２と同様、ｍ台の演算装置を接続している場合には、最大でｍ−１件のアクセスを減らすことができる。
【００１５】
請求項５記載のデータ転送プログラムは、複数の演算装置が他の演算装置とノード間接続切替スイッチを介して接続されているデータ転送システムにおける演算装置を、外部記憶装置からのプログラムおよびデータを受信する受信手段と、該受信手段で受け取ったプログラムおよびデータを格納する内部記憶手段と、複数のデータ演算装置とノード間接続切替スイッチを介して接続されている他の演算装置へ前記受信手段から送信されたプログラムおよびデータを内部記憶手段を介さず転送する機能ならびに他の演算装置から送信されるプログラムおよびデータを受信することができる機能を有するノード間接続手段と、該ノード間接続手段に転送命令を出すことができる制御手段として機能させることを特徴とするものである。
【００１６】
本発明は、演算装置を、請求項１の演算装置として機能させるためのプログラムである。したがって、請求項１と同様に、システムのスループットが低下することを防ぐこと、演算装置が外部記憶装置からプログラムおよびデータを読み込む時間とほぼ同じ時間で転送を終了すること、内部記憶手段上に配置されたデータの単位でしか送信できないとの制限もなくプログラムおよびデータの転送を行うことができる。
【００１７】
請求項６記載のデータ転送プログラムは、演算装置の接続がクロスバー接続によりなされるものであって、前記制御手段を、他の複数の演算装置にプログラムおよびデータの転送命令を出す手段としても機能させることを特徴とするものである。
【００１８】
本発明は、ノード間接続がクロスバー接続であるため、読み取り命令を受け取った演算装置から受信命令を受け取った演算装置へプログラムおよびデータを転送する際に、転送先が複数であってもほぼ同時に転送を行うことができ、読み取り命令を受け取った演算装置から他の演算装置全てにプログラムおよびデータを転送することもできる。
これにより請求項２と同様、ｍ台の演算装置を接続している場合には、最大でｍ−１件のアクセスを減らすことができる。
【００１９】
【発明の実施の形態】
以下、本発明について図面を参照しながら説明する。
図１は本発明のデータ転送システムの構成を示すブロック図である。
図１において、本発明のマルチノードにおけるデータ転送システムは、演算装置（ノード）１０、２０、３０、４０、それらのノード間データ転送の際に相手先を切り替えるノード間接続切替スイッチ５０、演算装置からの要求に応じて外部記憶装置のポートを割り当てる外部記憶装置切替スイッチ６０、外部記憶装置装置７０、８０、９０から構成されている。また、本発明の演算装置１０は、制御手段１１、内部記憶手段１２、ノード間接続手段１３、受信手段１４から構成されており、ノード間接続手段１３と受信手段１４との間に経路１５を設けることを特徴とするものである。他の演算装置も同様の構成をとるものである。
【００２０】
本発明において、経路１５はノード間接続手段とノード間接続切替スイッチとを結ぶ経路ほど帯域が広い必要は無く、外部記憶装置７０、８０、９０のピーク性能の帯域があればよい。制御手段１１からノード間接続手段１３の間には特別な制御信号線１６があり、他のノードへの転送命令はこの制御信号線１６を経由してノード間接続手段１３に送られる。このように、制御手段１１は、受信手段１４から経路１５を経てノード間接続手段１３に送られたデータを、他ノードに転送するかどうかを制御するのである。
【００２１】
以下、本発明について、実施の形態の動作について図面を参照しながら説明する。
多数の演算装置１０、２０、３０、４０で、外部記憶装置７０から同じデータを読み込む場合、ある１つの演算装置にだけ読み取り命令を発効し、残りの演算装置にはノード間転送の受信命令を発効する。ここでは、読み取り命令が演算装置１０に発せられた場合について説明する。
読み取り命令を発効された演算装置１０は、通常通りデータを読み出すと同時に、制御信号線１６により他の演算装置への転送の指示を行う。転送は外部記憶装置７０からの受信データをそのまま他の演算装置へリアルタイムで送信する。受信命令を受けた他の演算装置は、読み取り命令を発効された演算装置１０からの、ノード間データ転送をノード間接続手段で受信し、本来外部記憶装置から読んだ場合に、格納すべきメモリアドレスに配置する。これにより、各演算装置から外部記憶装置へアクセスした場合と同じ結果が得られる。なお、ノード間接続切替スイッチ５０が１：１の接続しかサポートしていなければ、外部記憶装置へのアクセスを１件減らすに過ぎないが、クロスバー接続が可能である場合は最大でｍ−１のアクセスを減らす事ができる。
【００２２】
【発明の効果】
本発明のデータ転送システムは、マルチノードを構成する演算装置において、各演算装置内にある外部記憶装置からのデータを受け取る受信手段とノード間データ転送を行うノード間接続手段との間にバイパス経路を設ける事を特徴とする。
これによって、外部記憶装置へのアクセスを軽減し、読み取り時間によりシステムのスループットが低下されることを防ぐことが可能である。
また、内部記憶手段に一旦データを読み込む必要が無いので、１つの演算装置が外部記憶装置からプログラムおよびデータを読み込む時間とほぼ同じ時間で転送が終了する。
【図面の簡単な説明】
【図１】本発明のデータ転送システムの構成を示したブロック図である。
【符号の説明】
１０、２０、３０、４０　演算装置
１１、２１、３１、４１　制御手段
１２、２２、３２、４２　内部記憶手段
１３、２３、３３、４３　ノード間接続手段
１４、２４、３４、４４　受信手段
１５、２５、３５、４５　経路
１６、２６、３６、４６　制御信号線
５０　ノード間接続切替スイッチ
６０　外部記憶装置切替スイッチ
７０、８０、９０　外部記憶装置
【図１】
2004013324.tif 000003