JP2006277635A - 情報処理システムとjob実行方法 - Google Patents

情報処理システムとjob実行方法 Download PDF

Info

Publication number
JP2006277635A
JP2006277635A JP2005099577A JP2005099577A JP2006277635A JP 2006277635 A JP2006277635 A JP 2006277635A JP 2005099577 A JP2005099577 A JP 2005099577A JP 2005099577 A JP2005099577 A JP 2005099577A JP 2006277635 A JP2006277635 A JP 2006277635A
Authority
JP
Japan
Prior art keywords
node
calculation
notification
crossbar switch
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005099577A
Other languages
English (en)
Other versions
JP4336894B2 (ja
Inventor
Katsuhiko Okada
克彦 岡田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2005099577A priority Critical patent/JP4336894B2/ja
Publication of JP2006277635A publication Critical patent/JP2006277635A/ja
Application granted granted Critical
Publication of JP4336894B2 publication Critical patent/JP4336894B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Multi Processors (AREA)

Abstract

【課題】マルチノードJOBの高速実行を可能とするシステム及び方法の提供。
【解決手段】ノードは、CPU11と転送制御部12を有し、リクエスト元ノードの転送制御部がCPUから発行されたMPI専用命令を受け取り、専用命令待合せバッファ13に情報を格納し、クロスバースイッチ20に対して、マスク情報を通知し、クロスバースイッチではデータ通知フラグレジスタ22にマスク情報を設定し、ブロードキャスト通信により、全ノードに対して演算実行指示を通知し、演算実行する全てのノード間の演算が終了すると、通知終了部26は演算結果を、全ノードにブロードキャスト通知し、各ノードでは、返却データJID比較部18で要求した演算結果に対応するものであるかチェックし、要求したデータの場合にはCPUに返却し、そうでない場合には受け取った演算結果を廃棄する。
【選択図】図1

Description

本発明は、情報処理装置に関し、特に、計算機が複数集まり1つのシステムを構成するマルチノードシステムとJOB実行方法に関する。
計算機が複数集まり1つのシステムを構成するマルチノードシステムにおける、MPI(Message Passing Interface)の機能を使ったマルチノードのJOB実行として、MPIの転送機能(関数)であるMPI_REDUCE、MPI_ALL_REDUCE命令について、図4を参照して説明する。図4(A)は、処理フロー、図4(B)は、マルチノードシステムのデータ通信を模式的に示している。
図4おいて、このMPI転送命令は、
(1)の命令の分配フェーズ、
(2)の各ノードの演算フェーズ、
(3)の結果の転送フェーズ
の3つに大別されることが示されている。
(1)の命令の分配フェーズでは、上記命令を実行する際に、リクエスト元のノードのCPUは、各ノードに、ノード内のMax/Sumの演算を実行するように、演算指示を、各ノードに通知する(図4(A)のステップS21、S22、図4(B)の(1)分配参照)。
その際、該演算を終了したときに、結果をどのノードに送るかの情報も付随して、演算指示を送る。このため、各ノードへの指示は、別々になり、命令発行元のノードから1:1(1対1)で各ノードに通知を送ることになる。
この通知の転送のためのデータ通信時間が無視できないため、上記命令の実装において、(1)の分配フェーズでは、発行元ノードが全てのノードに通知をするのではなく、例えば2分岐ツリー状に、指示を分担させ、複数のノードから分配通知を行うことで、転送の負荷を軽減するようにしている。
(2)の各ノードの演算フェーズでは、各ノードで、ノード内のMax/Sumの演算を各々実行し、ノード内の最終値を求める(ステップS23)。
(3)の転送フェーズでは、(1)と逆方向に、Max/Sumの結果の転送を行いMax/Sum値を求め(ステップS24)、Max/Sumがリクエスト元ノードに全て集まると(ステップS25のyes分岐)、最終的に、リクエスト元ノードプロセスで集まったMax/Sumを求め、最終的なMax/Sum値を求める(ステップS26)。MPI_ALL_REDUCE命令では、全ノードが、この結果値を得る必要性があるため、この結果値を、全ノードにブロードキャストするなどしている。
MPIの機能を使ったマルチノードJOB実行(複数ノードでのJOBの実行)は、性能が重視されるが、ノード間の転送時間が性能のネックとなる。特に、マルチノードJOBでは、各ノードに分散したデータの合計値やMax値を求めることが多々発生するが、その演算の実行時の転送時間が、演算時間に対して、割合的に、無視できなくなる、という問題が生じていた。
従来のマルチノードシステムは、MPIの転送機能の実現において、次のような課題がある。
リクエスト元ノードへの演算結果の転送フェーズにおいて、分配フェースと逆方向に、Max/Sumの結果の転送を行い、最終的に、リクエスト元ノードでMax/Sumの結果値を求めている。コネクション型のネットワークでは、全ノード(ノード数をNとする)から、1つのノードにデータを通知するために、通常、N:1(2分岐ツリーでノード間転送の効率化を行った場合でも、LogN:1)の通信が発生し、1つの転送ごとにコネクションをし直すネットワークでは、転送時間が多くかかる(第1の課題)。
分配フェーズにおいて返却値を返却するルート(ノード)を通知するために、ブロードキャスト通信して一括して演算の実行を指示することができない、ということである(第2の課題)。
したがって、本発明の目的は、ノード内の演算結果転送や、演算指示の分配フェーズで、コネクション型ネットワークをもつゆえの上記課題を解消し、高速なマルチノードJOB実行を可能とする情報処理システムと方法を提供することにある。
本願で開示される発明は、上記目的を達成するため、概略以下の構成とされる。
本発明の1つのアスペクトに係るシステムは、複数のノードと、クロスバースイッチとを備え、前記クロスバースイッチは、1のリクエスト元のノードからの演算要求を受け、他のノードに前記要求をブロードキャスト通信で分配し、前記クロスバースイッチが、前記分配されたノードでのそれぞれの演算結果を集めて演算し、演算結果をブロードキャストで複数のノードに通知する構成とされる。本発明において、各ノードでは、前記クロスバースイッチから取った演算結果が、自ノードで要求したものに対応する演算結果であるかチェックし、自ノードで要求したものでない場合には、廃棄する。
本発明において、前記クロスバースイッチは、前記ノードから集めた演算結果が1つになるまで演算を行う演算部と、結果が1つなるまで演算される間、複数ノードから要求に応じて、並列に動作できるように、JOB毎に指示されるシステムにユニークなIDで管理された多重実行手段を備える。
本発明の他のアスペクトに係る方法は、複数のノードと、クロスバースイッチとを備えたマルチノードシステムのジョブ実行方法であって、
前記各ノードは、CPUと転送制御部を有し、
リクエスト元ノードの前記転送制御部が、前記CPUから発行されたMPI(メッセージ・パッシング・インタフェース)専用命令を受け取り、専用命令待合せバッファに情報を格納する工程と、
前記リクエスト元ノードの転送制御部が、前記クロスバースイッチに対して、無効とするノードを指定するマスク情報を通知する工程と、
前記クロスバースイッチが、データ通知フラグレジスタにマスク情報を設定する工程と、
前記クロスバースイッチがブロードキャスト通信により、全ノードに対して演算実行指示を通知する工程と、
演算実行を行った各ノードにおいて、通知専用命令が前記CPUから送られてきた時に、演算結果を、前記クロスバースイッチの演算部に通知する工程と、
前記クロスバースイッチにおいて、前記演算部は、各ノードの通知命令作成部からの通知を受け取り、データ通知フラグレジスタの設定により、各ノード間の演算を実行し、演算実行する全てのノード間の演算が終了すると、演算結果を、全ノードにブロードキャスト通知する工程と、を含む。
本発明の他のアスペクトに係るノードは、クロスバースイッチに接続するノードであって、CPUと転送制御部を備え、前記転送制御部は、前記CPUから発行された転送専用命令とその関連情報を格納する専用命令待合せバッファと、前記クロスバースイッチに対して、演算結果の待ち合わせを行わないノードを指定するマスク情報を通知するマスク情報作成部と、前記CPUからの通知専用命令を受け、前記クロスバースイッチに送信する通知命令を生成する通知命令作成部と、前記クロスバースイッチから通知された演算結果が、自ノードのCPUが発行した命令に対応するものであるか判定し、発行した命令に対応しない場合に廃棄する制御を行う返却データ比較部と、を備えている。
本発明の他のアスペクトに係るクロスバースイッチは、データ通知フラグレジスタと、演算部と、終了通知部と、ノードからの通知データを格納する通知受信バッファと、演算結果データを格納する演算結果格納バッファよりなるデータ格納バッファを備え、前記要求元のノードからマスク情報を受け取り、前記データ通知フラグレジスタに設定し、前記要求元のノードからの要求を受けて、ブロードキャスト通信により、複数のノードに対して演算実行を通知し、演算実行した複数のノードにおいて、通知専用命令がノードのCPUから送られてきた時に、演算結果が、前記クロスバースイッチの前記演算部に通知され、前記演算部では、各ノードの通知命令作成部からの通知を受け取り、前記データ通知フラグレジスタの設定により、各ノード間の演算を実行し、前記演算部で演算実行する全てのノード間の演算が終了すると、前記終了通知部は、演算結果を、全ノードにブロードキャスト通知する構成とされる。
本発明によれば、コネクション・ロックを持たずに、転送を行うことで、MPI転送機能であるMPI_ALL_REDUCE、及びMPI_REDUCEの機能を、高速に実行することができる。
また、本発明によれば、ブロードキャスト通信して一括して演算の実行を指示することができる。
[発明の原理]
本発明は、データの転送時に、データの転送先ノードが同時に2つ以上のノードからデータを転送されないように、転送先をロック(1つの転送元ノードしかロックが取れない)してから、データを転送するコネクション型のノード間のデータ転送ネットワークを具備し、これをクロスバースイッチで実現しているマルチノードシステムにおいて、ノード間転送の手段として使用される、MPI転送機能であるMPI_ALL_REDUCE、及びMPI_REDUCEの機能を、高速に実行可能とするものである。
コネクション型のネットワークは、データの転送先ノードに、他のノードからの転送が同時に行われないように、転送先のノードをロック(「コネクション・ロック」と呼ぶ)する必要があるが、クロスバースイッチまでの転送であれば、コネクション・ロックの必要がなく、ノードからいつでも転送可能である。
本発明は、この点に着目し、コネクション・ロックを持たずに、転送を行うことで、転送時間を短縮している。
具体的には、
・ノードへではなく、クロスバースイッチ内に、ノードに転送データを送る転送制御機構を備える。
・クロスバースイッチ内で1つの結果になるまで演算を行えるように、演算部をクロスバー内に備える。
・結果が1つになるまで演算される間、クロスバースイッチ内の演算部が、複数ノードからのリクエストに応じて、並列に動作できるように、JOB毎に指示される、システムにユニークなID(「JOBID」、あるいは「JID」とも略記される)で管理された多重実行機構を備える。
・結果を命令種に応じ、リクエスト元ノードのCPUのほか、全ノードのCPUへ返却する機構をもつ。
図1のリクエスト元ノード10において、CPU11は、MPI_ALL_REDUCE/MPI_REDUCE命令を処理するMPI専用命令を発行する。
同様に、各ノード10のCPU11は、演算したMax/Sum(最大値/総和)の結果を、マルチノード間を接続するクロスバースイッチ20に通知するために、通知専用命令を発行する。
リクエスト元ノード10の転送制御部12は、CPU11から発行されたMPI専用命令/通知専用命令を受け取り、MPI専用命令の場合、転送制御部12内の専用命令待合せバッファ(バッファ)13が、この情報を格納し、同時に、転送制御部12内のマスク情報作成部14が、クロスバースイッチ20内のデータ通知フラグレジスタ22に対して、マスク情報を通知し、クロスバースイッチ20内のデータ通知フラグレジスタ22でマスク情報を設定をする(マスク情報の設定については後に詳述される)。
さらに、ブロードキャスト通信により、クロスバースイッチ20を介して、全ノードに対して、Max/Sumの演算実行指示を通知する。その際、MPI_ALL_REDUCE/MPI_REDUCEのどちらの命令実行中かは、各ノード10のCPU11に通知される。
また、同様に、各ノード10の通知命令作成部15では、ノード10のCPU11から通知専用命令(CPU11で実行した演算結果を通知するための命令)が送られてきた時に、Max/Sumの結果を、クロスバースイッチ20内のMax/Sum演算部24に通知する。この通知の際、MPI_ALL_REDUCE命令の実行時には、ノード10iのCPU11から、専用待ち合わせバッファ13の具備する命令発行元フラグをセットし、結果値返却CPU情報を格納する。
クロスバースイッチ20において、データ格納バッファは、データが滞留し、デッドロックになるのを避けるために、JOB識別するシステムにユニークなID(JID)でバッファ内アドレスを管理する機能を持つ。
また、クロスバースイッチ20において、データ通知フラグレジスタ22は、
・各ノードから演算データが送られてきたことや演算完了を管理する演算フラグを格納すると共に、
・ノード10のマスク情報作成部14からの通知により、演算に使用しないノードのフラグをセットする。
クロスバースイッチ20において、Max/Sum演算部24は、各ノード10の通知命令作成部15からの通知を受け取り、データ通知フラグレジスタ22の設定により、各ノード間のMax/Sum演算を実行する。
この際、クロスバースイッチ20において、Max/Sum演算部24は、毎回、演算結果格納バッファ25の指定されたジョブID(JID)のアドレスに、データを格納する。
クロスバースイッチ20において、終了通知部26は、演算実行する全てのノード間の演算が終了すると、演算完了を検出し、全ノードに対して演算結果をブロードキャスト通知する。
再び、各ノード10、10の返却データJID比較部18では、専用命令待合せバッファ13のJOB毎に指定されたIDのアドレスに格納される命令発行元フラグの情報を参照し、命令発行元ノードであるか否かを確認する。返却データJID比較部18は、命令発行元フラグが発行元であることを示していない場合、クロスバースイッチ20からの返却情報を廃棄し、一方、発行元であれば、CPU11にその情報を返却する。
このようにして、複数JOBで、MPI_ALL_REDUCE命令、MPI_REDUCE命令を発行した際に、各ノード10に、ノード10内のCPUにMax/Sumの演算をするように指示し、その結果を、クロスバースイッチ20上で、デッドロックを生じさせないように考慮されたハードウェア機構により、Max/Sum演算し、各ノード10からのコネクションを接続せずに、全ノードを対象としたMax/Sumの演算結果を、全ノード(または発行元ノードにのみ)に返却することができる。
コネクション型のネットワークのネックとなる1:1でコネクションしないデータ転送ができない問題を回避し、高速に、MPI専用命令のMPI_ALL_REDUCE、MPI_REDUCEを演算でき、マルチノードシステムの演算性能を向上することができる。
本発明においては、「コネクション型のネットワークは、データの転送先ノードに他のノードからの転送が同時に行われないように、コネクション・ロックをする必要があるが、クロスバースイッチまでの転送であれば、コネクション・ロックの必要がなく、Nodeからいつでも転送可能である。」という点に着目し、クロスバースイッチに、Node内転送データを送り、クロスバースイッチ内で1つの結果になるまで演算を行えるように、演算部を、クロスバースイッチ内に備える。
また、本発明においては、1つに演算されるまでの間、その演算機構が複数ノードからのリクエストに応じて並列に動作できるように、JOBのIDで(JOBID)管理された多重実行機構を備える。
さらに、本発明においては、クロスバースイッチ20から演算結果を、全ノードにブロードキャストすることで、コネクション・ロックを行わずに、転送フェーズの動作を実現する。
さらにまた、本発明においては、クロスバースイッチ20から全ノードに結果をブロードキャストし、その通知を、命令種によって選択して、CPU11に伝える転送制御部12を備え、分配フェーズでルートを通知する必要がなくなり、分配フェーズについても、ブロードキャストでのノードの演算開始を指示することが出来る(分配フェーズを簡略化できる)。
このように、本発明においては、各ノードが、CPU11と転送制御部12を備え、複数JOBのMPI_ALL_REDUCE命令、MPI_REDUCE命令を発行した際に、クロスバースイッチ20を介して、各ノードに、ノード内のMax/Sumの演算をするよう指示し、その結果を、クロスバースイッチ20上でデッドロックを生じさせないように考慮されたハードウェア機構により、Max/Sum演算し、各ノードからのコネクションを接続せずに、全ノードを対象としたMax/Sumの演算結果を、全ノード(または、発行元ノードにのみ)返却することができる構成としたことで、コネクション型のネットワークのネックとなる1:1でコネクションしないデータ転送ができないという問題を回避し、MPI_ALL_REDUCE/MPI_REDUCE命令を処理する転送時間を大幅に減少させることで、高速なマルチノードJOBを実現している。以下、実施例に即して説明する。
図1は、本発明の一実施例のマルチノードシステムの構成を示す図である。図1には、複数のノード10、10(ノード数がN(ただし、Nは2以上の整数)の場合、iは2〜Nの整数)と、1つのクロスバースイッチ20によるマルチノードシステムが示されており、各ノード10、10は、同一構成とされ、それぞれが、少なくとも1つ以上のCPU11をもち演算を処理し、各々一部分を分担しながらマルチノードJOBを実行する。
複数のノードは、どのノードからも、同様な命令が発行でき処理できる能力をもつが、構成例は説明のため、リクエスト元のノード10からのみ命令が発行されているとして、構成を説明する。
ノード10、10は、1つ以上のCPU11、メモリおよび転送制御部12を備えている。
図1のリクエスト元ノード10において、CPU11は、MPI_ALL_REDUCE/MPI_REDUCE命令を処理するMPI専用命令を、転送制御部12に対して発行する。
MPI専用命令は、
・マルチノードJOBのシステムにユニークなID(JOBID)と、
・命令を演算実行する配列情報や命令を実行するノードの情報、
・命令の種類(命令種1:MPI_ALL_REDUCEか、MPI_REDUCEか、命令種2:Max演算、Sum演算か)、
・命令の返却先情報
を有し、これらの情報は、転送制御部12に通知される。
また、その他のノード10(iは2以上の整数)内のCPU11は、CPU11で演算したMax/Sumの結果を、マルチノード間を接続するクロスバースイッチ20に通知するために、通知専用命令を発行する機能を備えている。なお、CPU自体は任意の公知の構成が用いられるが、CPUは、最終的な返却値を演算結果として持つためにその演算実行終了を待ちあわせることになる。CPUが参照するメモリ(不図示)等の構成についても、任意の公知の構成が用いられる。
転送制御部12は、専用命令待ち合わせバッファ13、マスク情報作成部14、通知命令作成部15、データ受信部16、データ送信部17、返却データJID比較部18、既設他命令発行機構19を備えている。なお、既設他命令発行機構19は、MPI専用命令、通知専用命令以外の他の命令の発行を制御するユニットであり、本発明の主題とは直接関係しないため、説明は省略する。
また、図1では、動作の説明の容易化のため、リクエスト元ノード10の転送制御部12がマスク情報作成部14を備え、その他の各ノード10の転送制御部12が通知命令作成部15を備えた構成とされているが、各ノードとも同一構成とされ、マスク情報作成部14、通知命令作成部15を備えている。
リクエスト元ノード10の転送制御部12は、当該ノード10のCPU11から発行された上記MPI専用命令を受け取り、MPI専用命令の場合、転送制御部12内に具備する専用命令待合せバッファ13に、JOBID(JID)と、返却先情報を格納し、自ノードがMPI専用命令の発行元であることを示す命令発行元フラグをONにして保存する。
リクエスト元ノード10の転送制御部12では、上記MPI専用命令と同時にCPU11から通知されるノード情報(演算を実行するノードの情報)より、マスク情報作成部14にて、クロスバースイッチ20内のデータ通知フラグレジスタ22に対して通知するマスク情報を作成し、データ送信部17より、作成したマスク情報をクロスバースイッチ20に対して通知する。
リクエスト元ノード10の転送制御部12のマスク情報作成部14では、命令種1、2や、演算実行する配列情報、JOBIDをその内容としてもつブロードキャスト通信命令を作成し、データ送信部17より、クロスバースイッチ20に対して通知する。
なお、ブロードキャスト通信については、クロスバースイッチがもつ公知の機能であり、クロスバースイッチ20を経由し、全ノードのCPUに対して通知される。
一方、ノード10の転送制御部12では、通知専用命令がノード10内のCPU11から送られてきた時に、通知命令作成部15にて、通知専用命令を送信できる形状(形式)に変え、Max/Sumの演算結果を、データ送信部17から、クロスバースイッチ20内のMax/Sum演算部24に通知する。
この通知の際に、ノード10内の専用待ち合わせバッファ13に対して、MPI_ALL_REDUCE命令実行時にはCPU11から、JOBIDと返却先情報、および発行元フラグをONにして情報を格納する。
各ノード(リクエスト元ノード10、その他のノード10)の転送制御部12において、クロスバースイッチ20より、Max/Sum演算結果が、データ受信部16を経由して、返却データJID比較部18に通知される。
返却データJID比較部18では、Max/Sum演算結果と専用命令待ち合わせバッファ13の情報について、比較を行い、CPU11へMax/Sum演算結果を通知するか、もしくはデータの廃棄を行う。具体的には、専用命令待合せバッファ13の中に、JOB毎に指定されたID(JOBID)が、クロスバースイッチ20からデータ受信部16を通して受け取ったJOBIDと等しいものがあるかを確認し、等しいものが存在する場合には、さらに、専用命令待ち合わせバッファ13内に格納されている命令発行元フラグの情報(命令発行元フラグは、MPI専用命令の発行元である場合、オンとされる)を参照し、命令発行元フラグより、当該ノードが命令発行元でなければ、クロスバースイッチ20より通知された返却情報、および専用命令待合せバッファ13の格納情報を廃棄し、命令発行元(リクエスト元ノード)であれば、該当CPU11に、情報(Max/Sum演算結果)を返却し、専用命令待合せバッファ13の情報のみ廃棄する。
各ノードの転送制御部12は、クロスバースイッチ20からの通信情報を、データ受信部16で受け取ると、ブロードキャスト通信ならば、無条件で、これをCPU11に通知する。
なお、上記ブロードキャスト通信命令(命令種1、2や、演算実行する配列情報、JOBIDをもつ)は、クロスバースイッチ20を介して、Max/Sumの演算実行のリクエストを各ノード10のCPU11に通知し、Max/Sumの演算を、各ノードのCPU11が実行する。各ノードのCPU11は、Max/Sumの演算実行後、得られたMax/Sum演算結果を、JOBIDや命令種別とともに、各ノードのCPU11から転送制御部12に、通知専用命令で通知する。
次に、本実施例のクロスバースイッチ20について説明する。クロスバースイッチ20は、ブロードキャスト実行制御部とコネクション型転送実行部(いずれも不図示)と、データフラグ通知レジスタ22と、データ格納バッファ(23、25)と、Max/Sum演算部24と、終了通知部26を備えている。
クロスバースイッチ20内のデータ通知フラグレジスタ22は、JOBID毎に、Nノード数分のビットをもつレジスタを備え、この各ビットに0がある限り、Max/Sum演算部24では、該当ノードからのデータを待ち合わせして、Max/Sum演算を行い続けるように制御する。
演算のリクエスト元ノード10から各ノードの演算が始まる前に、そのJOBで使用しないノードのMax/Sum演算結果を待ち合わせしないために、データ通知フラグレジスタ22にマスク設定が通知され、これに従い、JOBIDに対応するレジスタ22にマスク情報を設定し(無効ノードに対応する位置のビットに1を立てる)、もしくは、ノードのMax/Sumの演算データ到着の完了で、該ノードに対応する位置のビットが1にセットされる。
データ格納バッファは、各ノード10の通知命令作成部15からの通知を受け取り管理するバッファであり、通知受信格納バッファ23と演算結果格納バッファ25を備え、各々のバッファは、JOB識別するシステムにユニークなID(JOBID)によって、データを格納するバッファ内アドレスが管理される(多重実行理機構)。
各ノードから通知されたデータは、一旦、通知受信格納バッファ23に格納され、複数のJOBIDの演算結果が同ノードから通知された場合でも、異なるJOBIDのデータは別のアドレスに格納されるため、消えることがなく、かつ、演算優先順序により、可変に、Max/Sum演算部24より読み出しが可能なため、先行する演算データが原因でデッドロックもしくはデータの消失は発生しない。
Max/Sum演算部24は、各ノード、データ通知フラグレジスタ22の設定により、優先順位を決め、各ノード間のMax/Sum演算を実行する。この際、Max/Sum演算部24は、毎回、データ格納バッファの演算結果格納バッファ25にJOBIDとともに演算結果を渡し、指定したIDのアドレスにデータを格納させる。演算の優先順位の決め方が固定的に、若番のJOBID及びノード番号から実行する方法や、優先順位を可変にして負荷を均等にする等、任意の方法が用いられる。
終了通知部26は、演算実行する全てのノード間の演算が終了すると、演算完了を検出し、演算結果を、全ノードにブロードキャスト通知する。
具体的には、データ通知フラグレジスタ22がもつJOBID毎のNビットのレジスタの各ビットが全て1の場合、終了通知部26において、AND演算結果が1になり、出力通知の出力が有効(Valid)になり、演算完了とともに、ブロードキャストで全ノードに対して最終結果を通知する。
なお、上記実施例では、返却先は、CPUとしたが、データ通信の返却先をメモリ(不図示)として、CPUは、該メモリ領域を参照することで、命令実行終了を知る構成としてもよい。
また、演算種類に関しては、特に、制限されるものでなく、最大値を求めるMax演算のみ、総和を求めるSum演算のみとしてもよく、さらに、それ以外の四則演算やスクエアルート(SQRT)等の関数演算を行うものであってもよい。
次に、図1のマルチノードシステムの動作を、図2に示す動作フローを参照して説明する。なお、図1及び図2において、複数のノードと1つのクロスバースイッチによるマルチノードシステムが示されており、どのノードも少なくとも1つ以上のCPUを備え、演算処理し、各々一部分を分担しながら、マルチノードJOBを実行する。各ノードがどのノードからも同様な命令が発行でき処理できる能力をもつが、図に示した例では、説明のため、リクエスト元のノードからのみ命令が発行されているものとして、説明する。
図2(A)及び図2(B)の(1)分配のフェーズにおいて、マスタプロセス(リクエスト元ノードのCPU(プロセス))から各プロセス(CPU)へのクロスバースイッチ20を介してのブロードキャスト通信を実行する(ステップS11)。全プロセス(CPU)への通知が完了すると(ステップS12のyes分岐)、各ノードでの演算が実行される。
より詳細には、図1のリクエスト元ノード10内において、CPU11は、MPI_ALL_REDUCE/MPI_REDUCE命令を処理するMPI専用命令を転送制御部12に対して発行する。
MPI専用命令は、
・マルチノードJOBのシステムにユニークなID(JOBID)と、
・命令を演算実行する配列情報や命令を実行するノードの情報、
・命令の種類(命令種1:MPI_ALL_REDUCEか、MPI_REDUCEか、命令種2:Max演算、Sum演算等)、及び、
・返却先情報を持つ。MPI専用命令は転送制御部12に通知される。
次に、リクエスト元ノードの転送制御部12は、CPU11から発行された上記MPI専用命令を受け取り、転送制御部12内に具備する専用命令待合せバッファ13に、JOBIDと返却先情報を格納し、命令発行元フラグをONにして保存する。
また、実行するノード情報より、マスク情報作成部14が、クロスバースイッチ20のデータ通知フラグレジスタ22に対して通知するマスク情報を作成し、データ送信部17よりクロスバースイッチ20に対して通知する。
同様にして、マスク情報作成部14では、命令種1、2や演算実行する配列情報及びJOBIDをもつブロードキャスト通信命令を作成し、データ送信部17より、クロスバースイッチに対して通知する。
クロスバースイッチ20のデータ通知フラグレジスタ22は、通知されたマスク情報により該当JOBIDの該当ノードの各ビット(ビットフラグ)にマスク情報を設定する。
ブロードキャスト通信については、既にクロスバースイッチが従来技術としてもつ機能であるクロスバースイッチの通信機構が動作し、クロスバースイッチ20を経由し全ノードのCPU11に対して通知される。
図2(A)及び図2(B)の(2)演算フェーズにおいて、各ノードでは、ブロードキャスト通信によりクロスバーを介してMax/Sumの演算実行のリクエストが、転送制御部12のデータ受信部16に通知される。
これを、データ受信部16はCPU11に通知し、CPU11にてMax/Sumの演算が実行される。各ノードのCPU11でMax/Sumの演算実行後、得られたMax/Sumの演算結果を、JOBIDや命令種別とともに、各ノードのCPU11から転送制御部12に通知専用命令として通知する。
図2(A)及び図2(B)の(3)転送フェーズにおいて、クロスバースイッチ20に各ノードから非ブロードキャスト通信で演算結果を通知する(ステップS14)。各ノードの出力がそろったところで、各ノードのMax/Sumをクロスバースイッチ20で一括演算する(ステップS16)。リクエスト元ノードを含め、全ノードにMax/Sum演算結果を通知し、リクエスト元ノードはMax/Sum演算結果を得る(ステップS17)。
より詳細には、演算実行指示を受け取り演算を実行した各ノード内の転送制御部12内に具備する通知命令作成部15は、通知専用命令がCPU11から送られてきた時に、通知情報を作成し、データ送信部よりMax/Sumの結果をクロスバースイッチ20のMax/Sum演算部24に通知する。通知の際に、ノード内の専用待ち合わせバッファ13に対してMPI_ALL_REDUCE命令実行時には、CPU11から、JOBIDと、返却先情報、および、命令発行元フラグをONにして、情報を格納する。
クロスバースイッチ20において、データ格納バッファで、データが滞留しデッドロックになるのを避けるために、JOBを識別するシステムにユニークなID(JOBID)でバッファ内アドレスを管理する機能を持つ。また、データ通知フラグレジスタ22は、各ノードから演算データが送られてきたことや、演算完了を管理する演算フラグ(JOBIDに対応するレジスタ(Nビット)のノードに対応して設けられるビット)を格納すると共に、マスク情報作成部14からの通知により、演算に使用しないノードのフラグをセットする。
クロスバースイッチ20のMax/Sum演算部24は、各ノードの通知命令作成部からの通知をデータ送信部経由で受け取り、演算結果格納バッファ(データ格納バッファ)25のJOBIDのアドレスに格納する。
クロスバースイッチ20のMax/Sum演算部24は、データ通知フラグレジスタ22の設定により、データ格納バッファより計算中のMax/Sum値及び各ノードのMax/Sum値を取り出し、各ノード間のMax/Sum演算を実行し、この結果を、再び、演算結果格納バッファ(データ格納バッファ)25のJOBIDのアドレスに格納する。これを、ノード数分繰り返し実行し、対象とする全ノードのMax/Sum演算を実行する。
この際、Max/Sum演算部24は、毎回、演算結果格納バッファ(データ格納バッファ)25の指定されたIDのアドレスにデータを格納する。
終了通知部26は、演算実行する全てのノード間の演算が終了すると、演算完了を検出し、演算結果を全ノードに通知する(終了通知が出力される際に該当JOBIDアドレスのデータ格納バッファの値はクリアされる)。
各ノードでは、返却データJID比較部18が、クロスバースイッチ20からデータ受信部を通して通信を受け取り通信内容と等しいJIDが、専用命令待合せバッファ13の中にもあるか確認する。等しいものが存在する場合、返却データJID比較部18は、さらに、専用命令待合せバッファ13内に格納されている命令発行元フラグの情報を参照し、命令発行元フラグより発行元でなければ、クロスバースイッチ20より通知された返却情報、及び専用命令待合せバッファ13の格納情報を廃棄し、命令の発行元であれば、該当CPU11に、その情報を返却し、専用命令待合せバッファ13の情報のみ廃棄する。
以上のように動作することで、マルチノードJOBのMPI_ALL_REDUCE、MPI_REDUCE命令を高速に実行する。
以上説明したように、本実施例においては、下記記載の作用効果を奏する。
マルチノードJOBでのMPI_ALL_REDUCE、MPI_REDUCE命令の実行過程において、コネクション型のネットワークでは、全ノード(ノード数をNとする)から1つのノードにデータを通知するために、通常N:1(2分岐ツリーでノード間転送の効率化を行った場合でも、LogN:1)の通信が発生する。1つの転送ごとにコネクションをしなおすネットワークでありながら、クロスバースイッチまでの転送であれば、コネクション・ロックの必要がなく、ノードからいつでも転送可能である。
そこで、本発明は、クロスバースイッチに、ノード内転送データを送り、クロスバースイッチ内で、1つの結果になるまで、演算を行えるように演算部を、クロスバースイッチ内に具備したことにより、コネクション・ロックを要しなくし、コネクション・ロックのために費やされていた時間を、大幅に短縮し、マスチノードシステムのJOBの実行を効率化、高速化することができる。
また、ノードの転送制御部において、MPI_ALL_REDUCE、MPI_REDUCE命令時のCPUとの通信を行うため、ソフトウェア(SW)として、従来技術の延長線上(かつソフトウェア処理が減る)形で、機能を実現しているので、修正が容易に対応でき、ソフトウェア資産を有効に活用することができる。
次に、本発明の他の実施例について説明する。本発明の第2の実施例として、その基本的構成は上記の通りであるが、クロスバースイッチ20のデータ通知フラグレジスタ22についてさらに工夫が施されている。なお、ノードは、図1の前記実施例と同一構成とされる。
図3は、本発明の第2の実施例の構成を示す図である。図3において、データ通知フラグレジスタ22は、JOBIDごとに、Max/Sumデータ通知カウンタ28を備えることで、図1に示したように、フラグを持つ場合よりも、ハードウェア量を削減し、ほぼ同様な機能を実現する。
本実施例では、マスク設定時に、図1の前記実施例のように、演算に関与しないノードのビットを1にする代わりに、演算に関与する(対象となる)ノード数をカウンタに設定する。例えば10個のノードに演算指示を行う場合、Max/Sumデータ通知カウンタを10とする。
また、特に制限されないが、Max/Sumデータ通知カウンタ28としてダウンカウンタを用いた場合、JOBIDの演算が実行されるたびに、Max/Sumデータ通知カウンタ28を減算していき、Max/Sumデータ通知カウンタ28のカウント値が0になったときに、終了とみなして、出力を各ノードに通知するように変更する。なお、ダウンカウンタを用いた場合と比較して、ハードウェア量は多くなるが、Max/Sumデータ通知カウンタ28の構成を変え、設定値を格納するレジスタと別に、加算するカウンタを設け、終了を判定する回路を備えて構成するようにしてもよい。
このように、本実施例では、データ通知フラグレジスタをカウンタという構成で実現しているので、ハードウェア量を削減することができる、という効果が得られる。
以上本発明を上記実施例に即して説明したが、本発明は上記実施例の構成にのみに限定されるものでなく、本発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
本発明の一実施例の構成を示す図である。 (A)、(B)は本発明の一実施例の動作を説明するための図である。 本発明の第2の実施例の構成を示す図である。 (A)、(B)は従来のマルチノードシステムのJOB実行動作を説明するための図である。
符号の説明
10 ノード
11 CPU
12 転送制御部
13 専用命令待ち合わせバッファ
14 マスク情報作成部
15 通知命令作成部
16 データ受信部
17 データ送信部
18 返却データJID比較部
19 他の命令発行機構
20 クロスバースイッチ
22 データ通知フラグレジスタ
23 通知受信格納バッファ
24 Max/Sum演算部
25 演算結果格納バッファ
26 終了通知部
28 Max/Sumデータ通知カウンタ

Claims (29)

  1. 複数のノードと、クロスバースイッチとを備え、
    前記クロスバースイッチは、複数のノードのうちのリクエスト元のノードからの要求を受け、他のノードに対して、前記要求に対応した演算指示を、ブロードキャスト通信で分配する手段と、
    前記演算指示が分配されたノードで実行された演算結果を集めて演算する演算手段と、
    前記演算手段での演算結果を、少なくとも前記リクエスト元のノードに通知する手段と、
    を備えている、ことを特徴とする情報処理システム。
  2. 前記クロスバースイッチは、前記演算手段での演算結果を、ブロードキャスト通信で、複数のノードに通知する、ことを特徴とする請求項1記載の情報処理システム。
  3. 前記各ノードは、前記クロスバースイッチから受け取った演算結果が、自ノードで発行した命令に対応する演算結果であるか否か確認し、自ノードで要求したものでない場合には、前記クロスバースイッチから受け取った演算結果を廃棄する手段を備えている、ことを特徴とする請求項2記載の情報処理システム。
  4. 前記クロスバースイッチにおいて、前記演算手段は、前記ノードから集めた演算結果が1つになるまで演算を行う制御を行う、ことを特徴とする請求項1又は2記載の情報処理システム。
  5. 前記クロスバースイッチは、前記ノードから受け取った演算結果を格納し前記演算手段に供給する記憶手段、及び、前記演算手段から出力される演算結果を記憶する記憶手段が、前記要求に対応したIDにしたがったアドレスにデータを記憶管理する、ことを特徴とする請求項4記載の情報処理システム。
  6. 演算結果を命令種に応じて、要求元のノードのCPUのほか、全ノードのCPUへ返却する、ことを特徴とする請求項1記載の情報処理システム。
  7. 前記各ノードは、それぞれ、CPUと転送制御部とを備え、
    前記転送制御部は、前記CPUから発行されたMPI(メッセージ・パッシング・インタフェース)専用命令と、その関連情報を格納する専用命令待合せバッファと、
    前記クロスバースイッチに対して、演算に使用せず演算結果の待ち合わせを行わないノードを指定するマスク情報を通知するマスク情報作成部と、
    前記CPUからの通知専用命令を受け、前記クロスバースイッチに対して送信する通知命令を生成する通知命令作成部と、
    前記クロスバースイッチから通知された演算結果が、自ノードのCPUが発行した命令に対応するものであるか判定し、自ノードのCPUが発行した命令に対応する場合、演算結果を前記CPUに通知し、発行した命令に対応しない場合には、廃棄する制御を行う返却データ比較部と、
    を備えている、ことを特徴とする請求項1又は2記載の情報処理システム。
  8. 前記クロスバースイッチは、データ通知フラグレジスタと、演算部と、終了通知部と、ノードからの通知データを格納する通知受信格納バッファ及び演算結果データを格納する演算結果格納バッファよりなるデータ格納バッファを備え、
    前記クロスバースイッチにおいて、前記データ通知フラグレジスタには、前記リクエスト元のノードから受け取ったマスク情報が設定され、
    リクエスト元ノードからの演算実行指示を受けブロードキャスト通信により、複数のノードに対して演算実行を通知し、
    演算実行した複数のノードにおいて、通知専用命令が前記各ノードのCPUから送られてきた時に、前記各ノードから演算結果が、前記クロスバースイッチの前記演算部に通知され、
    前記クロスバースイッチにおいて、前記演算部では、各ノードの通知命令作成部からの通知を受け取り、前記データ通知フラグレジスタの設定により、各ノード間の演算を実行し、
    前記演算部において、前記データ通知フラグレジスタの設定にしたがい、演算実行する全てのノード間の演算が終了すると、前記終了通知部は、演算結果を、前記複数のノードにブロードキャスト通知する、ことを特徴とする請求項7記載の情報処理システム。
  9. 前記データ通知フラグレジスタが、要求に関係付けられるジョブのID(「JOBID」という)毎に設けられ、前記複数のノードの個数分のビット数を有するレジスタを備え、
    前記演算部は、前記データ通知フラグレジスタの前記ジョブに対応する前記レジスタのビットに第1の値がある限り、前記ビットに対応するノードからの通知データの待ち合わせをして演算を行うように制御する、ことを特徴とする請求項8記載の情報処理システム。
  10. 演算のリクエスト元ノードから、分配されたノードでの演算が始まる前に、ジョブで使用しないノードの演算結果を待ち合わせしないために、前記データ通知フラグレジスタにマスク情報の設定が通知され、
    前記データ通知フラグレジスタの対応するレジスタにマスク情報として、無効ノードビットに第2の値が設定される、ことを特徴とする請求項9記載の情報処理システム。
  11. 前記データ通知フラグレジスタにおいて、前記ノードからの通知データの到着の完了により、前記ジョブに対応するレジスタのノードに対応するビットが第2の値に設定される、ことを特徴とする請求項9記載の情報処理システム。
  12. 前記通知受信格納バッファ及び前記演算結果格納バッファとが、ジョブを識別するジョブIDに応じてバッファ内アドレスが管理される、ことを特徴とする請求項8記載の情報処理システム。
  13. 前記演算部は、前記データ通知フラグレジスタの設定により、各ノード間の演算を実行し、前記演算部は、演算の都度、前記演算結果格納バッファにジョブIDとともに演算結果を渡し、指定したジョブIDのアドレスにデータを格納する、ことを特徴とする請求項8記載の情報処理システム。
  14. 前記終了通知部は、前記データ通知フラグレジスタがもつ、ジョブIDに対応するレジスタのビットが全て第2の値の場合、出力通知を有効とし、前記演算部での演算完了とともに、ブロードキャストで全ノードに対して最終結果を通知する制御を行う、ことを特徴とする請求項8記載の情報処理システム。
  15. 前記専用命令待ち合わせバッファには、前記MPI専用命令の実行に関連するジョブのIDと、返却先情報と、MPI専用命令の発行元ノードであることを示す命令発行元フラグをオンにして保存され、
    前記返却データ比較部は、前記専用命令待合せバッファの中に、ジョブ毎に指定されたIDが、前記クロスバースイッチから受け取ったジョブIDと等しいものがあるかを確認し、等しいものが存在する場合には、さらに、前記専用命令待ち合わせバッファ内に格納されている命令発行元フラグの情報を参照し、命令発行元フラグより、当該ノードが命令発行元でなければ、前記クロスバースイッチより通知された返却情報、および専用命令待合せバッファの格納情報を廃棄し、命令発行元であれば、前記CPUに、クロスバースイッチからの演算結果を返却し、前記専用命令待合せバッファの情報のみ廃棄する、ことを特徴とする請求項7記載の情報処理システム。
  16. 前記データ通知フラグレジスタは、ジョブIDごとに、カウンタを備え、演算の対象となるノード数を前記カウンタに設定し、
    ジョブIDに対応して前記演算部で演算が実行されるたびに、対応する前記カウンタをカウントダウンしていき、カウント値が0になったときに、終了とみなして、前記終了通知部が演算結果を各ノードに通知する、ことを特徴とする請求項8記載の情報処理システム。
  17. 前記データ通知フラグレジスタは、ジョブIDごとに、カウンタを備え、
    ジョブIDに対応して前記演算部で演算が実行されるたびに、対応する前記カウンタをカウントアップしていき、カウント値が演算の対象となるノード数に達したときに、終了とみなして、前記終了通知部が演算結果を各ノードに通知する、ことを特徴とする請求項8記載の情報処理システム。
  18. 複数のノードと、クロスバースイッチとを備えたマルチノードシステムのジョブ実行方法であって、
    前記各ノードは、CPUと転送制御部を有し、
    リクエスト元ノードの前記転送制御部が、前記CPUから発行されたMPI(メッセージ・パッシング・インタフェース)専用命令を受け取り、専用命令待合せバッファに情報を格納する工程と、
    前記リクエスト元ノードの転送制御部が、前記クロスバースイッチに対して、無効とするノードを指定するマスク情報を通知する工程と、
    前記クロスバースイッチが、データ通知フラグレジスタにマスク情報を設定する工程と、
    前記クロスバースイッチがブロードキャスト通信により、全ノードに対して演算実行指示を通知する工程と、
    演算実行を行った各ノードにおいて、通知専用命令が前記CPUから送られてきた時に、演算結果を、前記クロスバースイッチの演算部に通知する工程と、
    前記クロスバースイッチにおいて、前記演算部は、各ノードの通知命令作成部からの通知を受け取り、データ通知フラグレジスタの設定により、各ノード間の演算を実行し、演算実行する全てのノード間の演算が終了すると、演算結果を、全ノードにブロードキャスト通知する工程と、
    を含む、ことを特徴とするマルチノードシステムのジョブ実行方法。
  19. 各ノードでは、専用命令待合せバッファのジョブ毎に指定されたジョブIDのアドレスに格納される命令発行元フラグの情報を参照し、命令発行元ノードであるか否かを確認し、命令発行元フラグが発行元であることを示していない場合、前記クロスバースイッチからの返却情報を廃棄し、発行元であれば、前記CPUにその情報を返却する、ことを特徴とする請求項18記載のマルチノードシステムのジョブ実行方法。
  20. クロスバースイッチに接続するノードであって、
    CPUと転送制御部を備え、
    前記転送制御部は、前記CPUから発行された転送専用命令とその関連情報を格納する専用命令待合せバッファと、
    前記クロスバースイッチに対して、演算に使用せず演算結果の待ち合わせを行わないノードを指定するマスク情報を通知するマスク情報作成部と、
    前記CPUからの通知専用命令を受け、前記クロスバースイッチに送信する通知命令を生成する通知命令作成部と、
    前記クロスバースイッチから通知された演算結果が、自ノードのCPUが発行した命令に対応するものであるか判定し、発行した命令に対応しない場合に、廃棄する制御を行う返却データ比較部と、
    を備えている、ことを特徴とするノード。
  21. 複数のノードに接続するクロスバースイッチであって、
    データ通知フラグレジスタと、
    演算部と、
    終了通知部と、
    ノードからの通知データを格納する通知受信バッファと、演算結果データを格納する演算結果格納バッファよりなるデータ格納バッファを備え、
    前記要求元のノードからマスク情報を受け取り、前記データ通知フラグレジスタに設定し、
    前記要求元のノードからの要求を受けて、ブロードキャスト通信により、複数のノードに対して演算実行を通知し、
    演算実行した複数のノードにおいて、通知専用命令が前記ノードのCPUから送られてきた時に、演算結果が、前記クロスバースイッチの前記演算部に通知され、
    前記演算部では、各ノードの通知命令作成部からの通知を受け取り、前記データ通知フラグレジスタの設定により、各ノード間の演算を実行し、
    前記演算部で演算実行する全てのノード間の演算が終了すると、前記終了通知部は、演算結果を、全ノードにブロードキャスト通知する、ことを特徴とするクロスバースイッチ。
  22. 前記データ通知フラグレジスタが、ジョブID毎に設けられ、前記複数のノード数分のビットをもつレジスタを備え、
    前記レジスタの各ビットに第1の値がある限り、前記演算部は、前記ノードからのデータを待ち合わせして演算を行い続けるように制御する、ことを特徴とする請求項21記載のクロスバースイッチ。
  23. 演算のリクエスト元ノードから各ノードの演算が始まる前に、ジョブで使用しないノードの演算結果を待ち合わせしないために、前記データ通知フラグレジスタにマスク設定が通知され、前記データ通知フラグレジスタの対応するレジスタにマスク情報として、ジョブで使用しないノードに対応するビットが、無効ノードビットとして、第2の値に設定される、ことを特徴とする請求項21又は22記載のクロスバースイッチ。
  24. 前記データ通知フラグレジスタには、ノードからの演算データの到着の完了で、前記ジョブに対応するレジスタのノードに対応するビットが第2の値に設定される、ことを特徴とする請求項21又は22記載のクロスバースイッチ。
  25. 前記通知受信格納バッファと演算結果格納バッファとは、ジョブを識別するジョブIDに応じて、データを格納するバッファ内アドレスが管理される、ことを特徴とする請求項21記載のクロスバースイッチ。
  26. 前記演算部は、前記データ通知フラグレジスタの設定により、各ノード間の演算を実行し、
    前記演算部は、前記演算結果格納バッファにジョブIDとともに演算結果を渡し、指定したジョブIDのアドレスにデータを格納する、ことを特徴とする請求項25記載のクロスバースイッチ。
  27. 前記終了通知部は、前記データ通知フラグレジスタがもつ、ジョブIDに対応するレジスタのビットが全て第2の値の場合、出力通知を有効とし、前記演算部での演算完了とともに、ブロードキャスト通信で全ノードに対して最終結果を通知する制御を行う、ことを特徴とする請求項21記載のクロスバースイッチ。
  28. 前記データ通知フラグレジスタは、ジョブIDごとに、カウンタを備え、演算の対象となるノード数を前記カウンタに設定し、
    ジョブIDに対応して、前記演算部で演算が実行されるたびに、対応する前記カウンタをカウントダウンしていき、カウント値が0になったときに、終了とみなして、前記終了通知部が、演算結果を各ノードに通知する、ことを特徴とする請求項21記載のクロスバースイッチ。
  29. 前記データ通知フラグレジスタは、ジョブIDごとに、カウンタを備え、
    ジョブIDに対応して前記演算部で演算が実行されるたびに、対応する前記カウンタをカウントアップしていき、カウント値が演算の対象となるノード数に達したときに、終了とみなして、前記終了通知部が演算結果を各ノードに通知する、ことを特徴とする請求項21記載のクロスバースイッチ。
JP2005099577A 2005-03-30 2005-03-30 情報処理システムとjob実行方法 Expired - Fee Related JP4336894B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005099577A JP4336894B2 (ja) 2005-03-30 2005-03-30 情報処理システムとjob実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005099577A JP4336894B2 (ja) 2005-03-30 2005-03-30 情報処理システムとjob実行方法

Publications (2)

Publication Number Publication Date
JP2006277635A true JP2006277635A (ja) 2006-10-12
JP4336894B2 JP4336894B2 (ja) 2009-09-30

Family

ID=37212290

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005099577A Expired - Fee Related JP4336894B2 (ja) 2005-03-30 2005-03-30 情報処理システムとjob実行方法

Country Status (1)

Country Link
JP (1) JP4336894B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010095476A1 (ja) * 2009-02-18 2010-08-26 日本電気株式会社 プロセッサ及びデータ収集方法
US10496592B2 (en) 2014-12-26 2019-12-03 Fujitsu Limited System and method to effectively overlap computation and reduction operation of nonblocking collective communication
WO2020084693A1 (ja) * 2018-10-23 2020-04-30 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2021501947A (ja) * 2017-11-03 2021-01-21 コーヒレント・ロジックス・インコーポレーテッド メモリ・ネットワーク・プロセッサ

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010095476A1 (ja) * 2009-02-18 2010-08-26 日本電気株式会社 プロセッサ及びデータ収集方法
JP2010191696A (ja) * 2009-02-18 2010-09-02 Nec Corp プロセッサ及びデータ収集方法
JP4539889B2 (ja) * 2009-02-18 2010-09-08 日本電気株式会社 プロセッサ及びデータ収集方法
US8688958B2 (en) 2009-02-18 2014-04-01 Nec Corporation System for data collection from processing elements in a SIMD processor
US10496592B2 (en) 2014-12-26 2019-12-03 Fujitsu Limited System and method to effectively overlap computation and reduction operation of nonblocking collective communication
JP2021501947A (ja) * 2017-11-03 2021-01-21 コーヒレント・ロジックス・インコーポレーテッド メモリ・ネットワーク・プロセッサ
JP7295104B2 (ja) 2017-11-03 2023-06-20 コーヒレント・ロジックス・インコーポレーテッド メモリ・ネットワーク・プロセッサ
US11829320B2 (en) 2017-11-03 2023-11-28 Coherent Logix, Incorporated Memory network processor
WO2020084693A1 (ja) * 2018-10-23 2020-04-30 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JPWO2020084693A1 (ja) * 2018-10-23 2021-09-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP7004083B2 (ja) 2018-10-23 2022-01-21 富士通株式会社 演算処理装置及び演算処理装置の制御方法

Also Published As

Publication number Publication date
JP4336894B2 (ja) 2009-09-30

Similar Documents

Publication Publication Date Title
US5991797A (en) Method for directing I/O transactions between an I/O device and a memory
US5361334A (en) Data processing and communication
US7287255B2 (en) System and method for dynamic ordering in a network processor
WO2017133623A1 (zh) 一种数据流处理方法、装置和***
KR100277167B1 (ko) 가상버스들을사용한연결망을갖는분산컴퓨팅시스템및데이터통신방법
CN102831018B (zh) 低延迟先进先出消息交换***
JP3969089B2 (ja) 階層構成サーバシステム
JPH05153163A (ja) メツセージのルーテイング方法およびネツトワーク
JPH08185380A (ja) 並列計算機
JPH1185710A (ja) サーバ装置およびファイル管理方法
JP4336894B2 (ja) 情報処理システムとjob実行方法
CN114500355B (zh) 路由方法、片上网络、路由节点和路由装置
EP1650667B1 (en) Apparatus for controlling a multi-processor system, scalable node, scalable multi-processor system, and method of controlling a multi-processor system
JP6088528B2 (ja) トランザクションミドルウェアマシン環境においてシングルポイントボトルネックを防止するためのシステムおよび方法
JP2006053896A (ja) コンピュータシステムの複数の処理ノードを接続するファブリック数のソフトウェアトランスペアレントな拡張
JP2007316955A (ja) 通信インターフェース装置及び通信方法
EP3629171A1 (en) Lock manager for multi-core architectures
JP3115801B2 (ja) 並列計算機システム
JPH07262155A (ja) 並列計算機およびメッセージ放送方法
JP5488029B2 (ja) 分散処理システム、分散処理方法、及びプログラム
Tudruj " Connection by communication" paradigm for dynamically reconfigurable multi-processor systems
JP2004348233A (ja) ファイル共有システム及びサーバー並びにプログラム
Marovac On interprocess interaction in distributed architectures
JP3982077B2 (ja) マルチプロセッサシステム
US20120011277A1 (en) Data transfer controlling apparatus, system and method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090430

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090602

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090615

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120710

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130710

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees