JP4117621B2 - データ一括転送装置 - Google Patents

データ一括転送装置 Download PDF

Info

Publication number
JP4117621B2
JP4117621B2 JP2004101887A JP2004101887A JP4117621B2 JP 4117621 B2 JP4117621 B2 JP 4117621B2 JP 2004101887 A JP2004101887 A JP 2004101887A JP 2004101887 A JP2004101887 A JP 2004101887A JP 4117621 B2 JP4117621 B2 JP 4117621B2
Authority
JP
Japan
Prior art keywords
data
transfer
memory
address
node
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.)
Expired - Fee Related
Application number
JP2004101887A
Other languages
English (en)
Other versions
JP2005285042A (ja
Inventor
克彦 岡田
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 JP2004101887A priority Critical patent/JP4117621B2/ja
Publication of JP2005285042A publication Critical patent/JP2005285042A/ja
Application granted granted Critical
Publication of JP4117621B2 publication Critical patent/JP4117621B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)

Description

本発明はデータ一括転送装置に関し、特に複数のコンピュータ(ノード)を接続して高速データ転送を行いながら計算すると共に1つの命令でノード間の大容量転送を実行可能にする、計算システム又はディスタンス転送によるクラスタ内データを一括転送するデータ一括転送装置に関する。
複数のノードに跨る大型計算システムにおいて、処理速度の高速化等のために、並列処理が行われる。ノード間に跨る並行実行プログラムは、主に各ノードの計算フェーズと、ノード間で同期転送する転送フェーズに処理が分れる。急速に向上する計算性能に対して、この転送フェーズの転送時間を軽減することが重要である。
特に、科学計算分野(例えば、各種のシミュレーション)においては、主として、
(1)各ノードでの計算に先立ち、あるノードで大配列データを構築し、これを分割してノードへ割り当ててデータを各ノードに転送する作業、また最後に逆に転送しデータを統合する作業および
(2)計算フェーズの間の転送フェーズでの転送(隣接する計算領域の境界のデータの加算演算等をするため、各ノード間で転送しあう)
の2種類の転送が発生する。そこで、これらの転送時間を軽減することが求められる。
斯かる技術分野における従来技術は、種々の技術文献に開示されている。各々ローカルエリアネットワークに接続された複数のCPU(演算処理装置)、データ転送装置および共有メモリを備える複数のクラスタをクラスタ間ネットワークで相互接続するデータ処理装置およびそのデータ処理方法が開示されている(例えば、特許文献1参照。)。また、二次元配列データ内のサブアレイデータ全体をアクセスする場合に、サブアレイデータの要素数に拘らず、総転送要素数をサブアレイデータの要素数で割った分だけデータ転送命令を発行することを不要とし、データ転送時の転送効率を改善する情報処理装置および情報処理システムが開示されている(例えば、特許文献2参照。)。
特開2000−322392号公報(第4頁、第1図) 特開平11−134310号公報(第2−3頁、第2図)
上述の如き従来技術を、図8を参照して説明する。従来技術のデータ(又は情報)処理装置100は、図8の左上に示す如く、それぞれ複数のCPU(図中ではCPと略記する)110、これら複数のCPU110に共通のメモリ120およびRCU(ノード間転送制御ユニット)130を含むノード0乃至ノードnの複数のノードを有する。そして、これら複数のノードを、ノード間スイッチ140により切替選択するように構成され、RCU130単位でノード間転送を実施している。この際の、RCU130から見たメモリ120のメモリアドレスのイメージを、図8中に左下に図示している。
次に、図9乃至図11を参照して従来のディスタンス転送を説明する。
図9はディスタンス転送のイメージ図であり、メモリーメモリ間転送時に各要素のアドレスをルールに従って変更して転送する。図中、BLはローカルノード内主記憶転送開始アドレスをBRはリモートノード内主記憶転送開始アドレスを、FL1は第1ディスタンス転送要素数、FL2は第2ディスタンス転送ブロック数、TLは総転送要素数、DL1はローカルノード第1ディスタンス、DL2はローカルノード第2ディスタンス、DL3はローカルノード第3ディスタンス、DR1はリモートノード第1ディスタンス、DR2はリモートノード第2ディスタンス、DR3はリモートノード第3ディスタンスをそれぞれ示す。
図10はディスタンス転送の仕組みを説明する原理図であり、連続するアドレスに格納された配列に対して演算を実施し、規則的に点在(アドレスが飛ぶ)する配列を、別の規則に並べ直して転送先に格納するものである。転送元メモリ内の状態と転送先ノードのメモリ内の状態が示されている。ここで、配列の開始アドレスを0x80000として表示している。
図11はディスタンス転送の利用方法の説明図である。図9において、各情報が転送指示情報である。このうちローカルノード側の情報が転送元配置情報であり、リモートノード側情報が転送先情報である。図10は、配列の構成とメモリ内の配置イメージを示す。大配列を分割して各ノードで演算するためには、配列中を点在するデータを一定のルールを持ってかき集めて転送し、1つの配列として集めて計算を行う。また、図11に示す如く、上述した分割・転送(図11(A)参照)のみならず、逆方向の転送・統合(図11(B)参照)、圧縮・拡大(図(C11)参照)および転置転送(変形)(図11(D)参照)等の種々の利用が行われる。
図8に示す従来例において、CPU110からもRCU130からもメモリ120には自ノードのメモリ120にしかアクセスすることができない。この条件の中で、並列実行プログラムの転送では、ノードごとの転送の際に競合調停が入ることで、転送時間に該当ノードへの転送待ち時間が加わることになる。特に、複数ノードへの転送を行うノードは、初めに競合調停で転送待ちになってしまうと、後続の転送も一緒に転送待ちとすることになり(所謂ヘッドブロッキング現象)、この競合調停時間が増加するという課題を有する。
本発明は、従来技術の上述の如き課題に鑑みなされたものであり、クラスタ内の一括転送の機構を持つことにより、並列実行プログラム等でもこの競合調停時間を1回以下に低減し、転送時間を短縮する計算システム、即ちデータ一括転送装置を提供することを主目的とする。また、ディスタンス転送の原理を変更することなく、ソフトウェア制御として実現され、新たな複雑な制御を行うことなく効率的且つ高速でプログラム実行可能にするデータ一括転送装置を提供することを付加的な目的とする。
前述の課題を解決するため、本発明によるデータ一括転送装置は次のような特徴的な構成を採用している。
(1)各々複数のCPUに共通のメモリを有するn個(nは2以上の整数)のノード(コンピュータ)数)のノード(コンピュータ)を備え、前記CPUが転送指示を、アドレスが規則的に点在しているデータ配列を別の規則に並べ直して転送先に転送することを指示する命令であって前記データ配列を前記メモリのメモリサイズと対応するメモリ容量ディスタンスにより並べ直して転送することを指示するディスタンス命令により発行し、前記転送指示により前記複数のノードの前記各メモリのデータを連続したメモリに一括ストア(蓄積)して転送するデータ一括転送装置において、
前記複数のノードの前記メモリに共通接続されたノード間転送制御ユニット(RCU)を備え、
該RCUは、前記各ノードのメモリに対してデータをストアするデータストア部と、前記各ノードの前記メモリの各々の実アドレスを、前記ノードの番号nと前記メモリ容量ディスタンスとを乗算した値をn番目のノードのメモリの前記実アドレスに対して加算することにより算出されるグローバルアドレスとして保持しており、前記転送指示において前記グローバルアドレスで指定される転送対象データのアドレスを前記メモリ容量ディスタンスにより前記実アドレスに分解し、前記実アドレスをどのノードのメモリに対して送出するかの対応関係を格納するアドレス変換テーブルを参照して、分解により生成された前記実アドレスと送出先のメモリを示す情報とを前記データストア部に通知するアドレス変換部とを備え、
前記データストア部は、前記グローバルアドレスに基づいて一括ストアされた前記転送対象データを、1つの前記ディスタンス命令で指定された前記グローバルアドレスを分解して生成された前記実アドレスと該実アドレスに対応する前記メモリを示す情報とに基づいて前記ノード間で転送するデータ一括転送装置。
本発明のデータ一括転送装置によると、次の如き実用上の顕著な効果が得られる。即ち、アドレス変換手段を備えて一括転送することにより、クラスタ内又は指定クラスタのノード転送毎に発生する転送競合調停時間を、クラスタ内全ノード転送で1回に時間短縮可能である。また、ソフトウェア命令のインタフェースを変更せずに実現するので、ソフトウェア制御を複雑化せず、転送手続きのソフトウェア制御が複雑化することなくハードウェアの本来の性能を引き出すことが可能である。
以下、本発明によるデータ一括転送装置の好適実施例の構成および動作を、添付図面を参照して詳細に説明する。
先ず、本発明は、以下の説明から明らかな如く、次に3点に集約できる。第1に、従来は、ノード(コンピュータ)1つ毎に保有するノード間転送制御ユニット(以下、RCUという)を複数のノードに対して1つ持つ(以下、その固まりをクラスタという)構成にし、且つそのRCUにおいて、個々のクラスタ内ノードのメモリ領域を連続アドレスとして、RCUからアクセスできるためのノード間クラスタ内のアドレス変換機構を有する。尚、本明細書中で『クラスタ』とは、各クラスタ内のノードのメモリは、ノード内の各CPUからはアクセス可能であるが、他のノードのCPUからはRCUを介してノード間転送を行い、自ノード内のメモリ上にデータを転送しないとデータを参照不可能な構成とし、各ノードが他のノードのメモリをダイレクトに参照(および更新)することが不可なノードを複数構成させたものを意味する。
第2に、ある1ノードの1CPUから転送命令(1命令)が発行されたときに、上述したアドレス変換機構を介し、CPUの指定するアドレスを変換し、各メモリからデータをロードして連続したデータとしてRCU内に取り込むデータロード機構を有する。そして、このデータロード機能により1カ所に集められたデータを、連続したデータとして一括してCPUの転送指示に従ってアドレスを変換し、各ノードに分かれている各メモリへデータをストア(蓄積)するデータストア機構を有する。
更に第3に、CPUからの命令である転送指示をディスタンス命令(メモリ上に規則的に点在する配列データをそのアドレス飛びルール〔転送元配列の配置ルールと転送先配列の配置ルール〕で指定することにより、一括ノード間転送する命令)で発行することである。これにより、クラスタ内のノード間に跨るアドレスの飛び幅を新たなディスタンスとして加えた単一ノード間ディスタンス転送のソフトウェア制御でありながら、クラスタ内の全ノード間の転送を一括転送可能にする。
図1は、本発明のデータ一括転送装置の好適実施例の基本構成を示すブロック図である。図1に示すデータ一括転送装置10は、それぞれ複数のCPU12を含む複数のノート(ノード0〜ノードn)、ノード毎に設けられ、CPUに接続されたメモリ14およびこれら複数のノードの全てのメモリ14に接続されたRCU20により構成される。
そして、RCU20は、図1の右側に示す如く、CPUからの転送指示情報通知部21、データロード部22、データストア部23、アドレス変換部24およびデータ蓄積バッファ25を含んでいる。ここで、CPUからの転送指示情報通知部21、データロード部22およびデータストア部23は、バスを介して相互接続されている。アドレス変換部24は、CPUからの転送指示情報通知部21から出力を得て、データロード部22およびデータストア部23に出力する。また、データ蓄積バッファ25は、データロード部22およびデータストア部23間に接続されている。
このように、データ一括転送装置10は、複数のノードに接続されたRCU20を備え、このRCU20は、アドレス変換部24を有し、複数のノードに接続された複数のCPU12のうちの1ノードに内在するCPUから転送命令(メモリ上に規則的に点在する配列データを、そのアドレス飛びルール〔転送元配列の配置ルールと転送先配列の配置ルール〕で指定することにより、一括ノード間転送する命令)による転送指示情報を受け取る。ノード間転送制御ユニット20の内部では、CPU12からの転送指示情報(転送元配置情報および転送先配置情報が含まれる)により、転送元データを複数のノードから並行して取り込み、またこれを各ノードのメモリ14に配置する。
次に、上述したデータ一括転送装置10を構成する各部の主要機能を説明する。アドレス変換部24は、CPU12からの転送指示情報の転送元情報に示されたアドレス開始位置およびアドレスの飛び幅等のデータの点在するルールに基づき、これを連続したデータの塊に分解する。更に、実際にどのデータをどのノードのどのアドレスから持ってくるのか示したアドレス変換テーブル(後述する図5参照)により一意に変換し、これを通知する。また、同様にCPU12からの転送指示情報の転送先情報に示されたアドレス開始位置およびアドレスの飛び幅等のデータの点在するルールに基づき、実際にどのデータをどのノードのどのアドレスへ書き込むか一意に変換する機能を有する。これにより、アドレス変換部24は、実際にメモリアクセスするノードおよびそのメモリアドレス(一塊のブロック毎)を特定し、この情報をデータロード部22に伝える。
データロード部22は、指定されたノードの指定されたメモリアドレス(開始アドレス)にアクセスし、ブロック毎のデータを一括ロードする。データロード部22は、ロードする際にアドレス変換部24で変換されたアドレスの順序を保持し、各ノードから非同期に返却されるデータを、要求したアドレスの順序が保障されるようにデータ蓄積バッファ25への格納を指示する。具体的には、順序のためのシーケンスIDを有し、これをデータ蓄積バッファ25の書き込みアドレスにする等して順序を保障する。データストア部23は、データ蓄積バッファ25からデータを取り出し、通知された転送先配置情報を元にアドレス変換部24が変換した転送先ノードおよび転送先アドレスに従い、指定するノードの指定するアドレス(開始アドレス)にブロック毎のデータを一括ストアする。
このようにして、本発明のデータ一括転送方法および装置では、ディスタンス命令1命令で複数のノードに点在する配列をクラスタ毎に処理するアドレス変換部24、データロード部22およびデータストア部23を有している。従って、ノード単位の転送に発生する競合調停が、クラスタ単位の1回になるため競合調停時間が減少でき且つディスタンス転送命令に基づき転送を実現することでSW制御を複雑にすることなく一括転送が実現できる。
次に、図2は、図1の具体例としてのノード0〜ノード3の合計4個のノードを束ねたクラスタ構成のブロック図が示されている。図2に示す具体例において、RCU(ノード間転送制御ユニット)20は、複数のノード(ノード0〜ノード3)と接続される。各ノードは、メモリ14および1以上のCPU12で構成される。RCU20は、複数のノードとの接続で各メモリ14とのデータの送受を行う。また、各ノードは、CPU12からメモリ14を経路としてRCU20に情報の通知を行う。ここで、RCU20は、CPUからの転送指示情報通知部21、データロード部22、データストア部23、アドレス変換部24a、24b、データ蓄積バッファ25a、25b、アドレス指示情報バッファ26a、26b、クラスタ間データ送出部27およびクラスタ間データ受信部28を含んでいる。
複数のノードのうちの1ノードに内在するCPU12が、転送命令(メモリ上に規則的に点在する配列データをそのアドレス飛びルールを指定することにより、一括転送命令(図3参照))による転送指示情報を受け取る。CPU12からの転送指示情報通知部21は、転送指示を複数個保持(キューイング)しながら一番古い指示情報から随時、転送元データ配置情報をアドレス変換部24に、転送先データ配置情報をアドレス指示情報バッファ26に通知する。
アドレス変換部24は、予め内部にデータをロードしておき、これを保持するアドレス変換テーブル(図5参照)を持ち、CPU12からの転送指示情報通知部21から通知された転送元データ配置情報をノードとデータの固まり(ブロックという)毎のアドレスに分解し、これをデータロード部22に通知する。データロード部22は、ブロック毎に各ノードのメモリ14内の指定アドレスよりデータをロードし、データをアドレス変換部24からアドレスを通知された順序になるようにデータ蓄積バッファ25に格納する。
クラスタ間データ送出部27は、クラスタ間のデータ転送の競合調停を行い、データ転送の制御を行う。データの転送が可能な場合には、アドレス指示情報バッファ26とデータ蓄積バッファ25から各情報およびデータを取り出し、これを転送する。クラスタ内への自クラスタから自クラスタへ転送の場合には、クラスタ間データ受信部28にデータを送信する。クラスタ間データ受信部28は、アドレス指示情報バッファ26とデータ蓄積バッファ25に転送先データ配置情報とデータを格納する。アドレス指示情報バッファ26は、アドレス変換部24に転送先データ配置情報を通知する。アドレス変換部24bは、予め内部にデータをロードしておき、これを保持するアドレス変換テーブル(図5参照)を有し、アドレス指示情報バッファ26から通知された転送先データ配置情報をノードとデータの固まり(ブロック)毎のアドレスに分解し、これをデータストア部23に通知する。データストア部23は、ブロック毎に各ノードのメモリ14内の指定アドレスにデータをストアする。
以上、本発明の実施例の構成および各部の機能を詳述したが、図2のCPU12、メモリ14およびクラスタ間スイッチ30は、当業者に周知であり、また本発明とは直接関係しないので、その詳細構成は省略する。尚、上述の実施例では、クラスタは単一であってもよく、複数個存在してもよい。また、CPU12の数も特に制限はない。また、アドレス変換テーブル(図)は、ページサイズ64MB、主記憶1TB、クラスタ内ノード数4の場合の具体例であるが、これらは1例に過ぎず、これらの数に特に制限はない。主記憶のページ管理については、当業者に周知であり、また本発明とは直接関係しないので、その詳細な構成は省略する。
次に、本発明による新ディスタンス転送の原理を、図3を参照して説明する。従来のディスタンス転送において、ノード内メモリのサイズを1つのディスタンスとして定義して、大きな1枚のメモリの中の一部分が1ノードに割り当てられるイメージで指定ディスタンス毎(即ち、各ノードへの同時アクセス)に一括してデータを転送する。図3では、ノードを跨るディスタンス=ノード内メモリサイズ(1TBと想定)と定義してディスタンスアクセスを行っている。本例では、複数ノードに分散したデータを1ノードに統合している。ここでは、AsubとAは簡単のため一次元配列として説明している。
図5は、図2中のアドレス変換部24の説明図である。アドレス変換部24は、図5(A)に示す如く、複数の加算器等を含む従来構成のディスタンスアドレス分解回路241およびその出力側に設けられるアドレス変換テーブル242により構成される。図5(B)は、このアドレス変換テーブル242の具体例の説明である。
次に、図4におけるデータ転送について、図2のシステムの動作を、図6(A)、(B)に示すタイミングチャートを参照して説明する。先ず、ノードのシステム立ち上げ時に、アドレス変換部24にアドレステーブルの書き込みを行う。これは、RCU20の一部へのデータ書き込みという形でCPU12等から値を設定する。このようにして、予め実際の転送に先立って設定される。その後、(1)のタイミングで、CPU12が、ディスタンス転送命令を発行する。この転送命令は、転送指示情報をメモリ14に対して通知する。メモリ14は、これをRCU20に受け渡す。次に、(2)のタイミングで、転送指示情報がRCU20内のCPUからの転送指示情報通知部21に到着する。図4では、Asub_nが隣接する配列Aのサブ空間(Asub_n+1等)のAsub_nに隣接する配列部分を1〜3命令(3次元配列ならば3命令)で一括して隣接ノードに転送することができる。
CPUからの転送指示情報通知部21では、転送指示を複数個保持(キューイング)しながら一番古い指示情報から随時、転送指示情報内の転送元データ配置情報をアドレス変換部24に、転送先データ配置情報をアドレス指示情報バッファ26に、(3)のタイミングで通知する。アドレス変換部24は、CPUからの転送指示情報通知部21から通知された転送元データ配置情報を、ディスタンス転送でのアドレス分解回路を動作させることでデータの固まり(ブロック)毎のアドレスに分解し(タイミング4〜7)、これをアドレス変換テーブルで変換することにより、RCU20のポート番号と送出するメモリアクセスリクエストのメモリアドレスおよびデータ長に変換する。変換後は、これをデータロード部22に通知する(タイミング8〜11)。
データロード部22は、ブロック毎に指定されたポートに出力する(タイミング12〜15)。これら各タイミングで戻ってきたデータ(各ノードのメモリ内指定アドレスからのデータ)をそれぞれロードする(タイミング16〜19)。データをアドレス変換部24からアドレスを通知された順序になるようにデータ蓄積バッファ25aに格納する(タイミング20)。データが全て来たか否かを、データ蓄積バッファ25はロードしたデータの個数により判別する。
次に、データ蓄積バッファ25aにデータが全て揃うと、クラスタ間データ送出部27に転送可能通知が発行される(タイミング21)。これにより、クラスタ間データ送出部27は、クラスタ間のデータ転送の競合調停を行い、データ転送の制御を行う(タイミング22)。データの転送が可能な場合には、アドレス指示情報バッファ26aおよびデータ蓄積バッファ25aから各情報およびデータを取り出し、これを転送する(タイミング23)。クラスタ内への自クラスタから自クラスタへ転送の場合には、クラスタ間データ受信部28にデータを送信する(タイミング24)。
クラスタ間データ受信部28は、アドレス指示情報バッファ26bおよびデータ蓄積バッファ25bに転送先データ配置情報およびデータを格納する(タイミング25)。アドレス指示情報バッファ26bは、アドレス変換部24bに転送先データ配置情報を通知する(タイミング26)。アドレス変換部24bは、アドレス指示情報バッファ26bから通知された転送先データ配置情報をディスタンス転送でのアドレス分解回路を動作させることでデータの固まり(ブロック)毎のアドレスに分解する(タイミング27〜30)。そして、これをアドレス変換テーブルで変換することにより、RCU20のポート番号と送出するメモリアクセスリクエストのメモリアドレスおよびデータ長に変換する。この変換後は、これをデータストア部23に通知する。データストア部23は、ブロック毎に各ノードのメモリ14内の指定アドレスにデータをそれぞれストアする(タイミング31〜34)。これにより、図4に示す如く、各ノードから転送データが複数ノードから複数ノードに一括して転送される。
次に、図7を参照して本発明の第2実施例について説明する。この基本構成は、図2を参照して上述した通りであるが、ディスタンス命令の通知について更に工夫している。実施例として、今まで説明した実施例は基本的に転送元クラスタから転送先クラスタ(自クラスタを含む)にデータを転送する形をとり、転送元クラスタのCPUからの通知で転送を開始する。図7において、CPUからの転送指示情報通知部21は、別クラスタのCPUからのリクエストを通知するリクエスト転送手段とリクエスト受信手段を持ち、リクエスト受信手段が転送指示情報を受け取ったとき、これをCPUからの転送指示情報通知部21に通知する。以後、CPUからの転送指示情報通知部21からの処理は、上述した第1実施例と同様である。
このように、第2実施例では、他クラスタに対してもクラスタ内の一括転送が可能なため、複数のクラスタで構成されるシステムについて、動作を統括する1ノードの1CPUから、全てのクラスタで並列してクラスタ内の一括転送処理を行うことにより、実行時間を更に短縮することが可能である。
図8に、本発明によるデータ一括転送装置10および従来のデータ一括転送装置100を、RCU側から見たメモリアドレスのイメージと共に対比して示す。図8に右側に示す本発明によるデータ一括転送装置10によると、各々複数のCPU12とメモリ14を含む複数のノードの複数のメモリ14に共通のRCU20を使用し、このRCU20からクラスタ間スイッチ30を介して他のクラスタと接続される。従って、クラスタ内をグローバルアドレス化してRCU20から見たメモリアドレスは、点在するアドレスのデータを一定のルールでかき集めて1回の一括転送が可能であることが分かる。
以上、本発明の好適実施例の構成および動作を詳述した。しかし、斯かる実施例は、本発明の単なる例示に過ぎず、何ら本発明を限定するものではないことに留意されたい。本発明の要旨を逸脱することなく、特定用途に応じて種々の変形変更が可能であること、当業者には容易に理解できよう。
本発明によるデータ一括転送装置の第1実施例の基本構成を示すブロック図である。 図1に示すデータ一括転送装置の具体例を示すブロック図である。 本発明による新ディスタンス転送を説明する概念図である。 本発明による転送フェーズでの隣接領域のデータ転送の説明図である。 図2中のアドレス変換部の1例の内部構成を示すブロック図である。 図2中のドレス変換テーブルの説明図である。 本発明の動作を説明するためのタイミングチャートである。 本発明の動作を説明するためのタイミングチャートである。 本発明の第2実施例の説明図である。 データ一括転送装置の従来例(左側)および本発明(右側)を対比する説明図である。 従来のディスタンス転送命令の仕様を説明する図である。 分割の際のディスタンス転送と演算の仕組みの説明図である。 ディスタンス転送の主な利用方法の説明図である。
符号の説明
10 データ一括転送装置
12 CPU
14 メモリ
20 RCU(ノード間転送制御ユニット)
21 CPUからの転送指示情報通知部
22 データロード部
23 データストア部
24 アドレス変換部
25 データ蓄積バッファ
26 アドレス指示情報バッファ
27 クラスタ間データ送出部
28 クラスタ間データ受信部
30 クラスタ間スイッチ

Claims (1)

  1. 各々複数のCPUに共通のメモリを有するn個(nは2以上の整数)のノード(コンピュータ)を備え、前記CPUが転送指示を、アドレスが規則的に点在しているデータ配列を別の規則に並べ直して転送先に転送することを指示する命令であって前記データ配列を前記メモリのメモリサイズと対応するメモリ容量ディスタンスにより並べ直して転送することを指示するディスタンス命令により発行し、前記転送指示により前記複数のノードの前記各メモリのデータを連続したメモリに一括ストア(蓄積)して転送するデータ一括転送装置において、
    前記複数のノードの前記メモリに共通接続されたノード間転送制御ユニット(RCU)を備え、
    該RCUは、前記各ノードのメモリに対してデータをストアするデータストア部と、前記各ノードの前記メモリの各々の実アドレスを、前記ノードの番号nと前記メモリ容量ディスタンスとを乗算した値をn番目のノードのメモリの前記実アドレスに対して加算することにより算出されるグローバルアドレスとして保持しており、前記転送指示において前記グローバルアドレスで指定される転送対象データのアドレスを前記メモリ容量ディスタンスにより前記実アドレスに分解し、前記実アドレスをどのノードのメモリに対して送出するかの対応関係を格納するアドレス変換テーブルを参照して、分解により生成された前記実アドレスと送出先のメモリを示す情報とを前記データストア部に通知するアドレス変換部とを備え、
    前記データストア部は、前記グローバルアドレスに基づいて一括ストアされた前記転送対象データを、1つの前記ディスタンス命令で指定された前記グローバルアドレスを分解して生成された前記実アドレスと該実アドレスに対応する前記メモリを示す情報とに基づいて前記ノード間で転送することを特徴とするデータ一括転送装置。
JP2004101887A 2004-03-31 2004-03-31 データ一括転送装置 Expired - Fee Related JP4117621B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004101887A JP4117621B2 (ja) 2004-03-31 2004-03-31 データ一括転送装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004101887A JP4117621B2 (ja) 2004-03-31 2004-03-31 データ一括転送装置

Publications (2)

Publication Number Publication Date
JP2005285042A JP2005285042A (ja) 2005-10-13
JP4117621B2 true JP4117621B2 (ja) 2008-07-16

Family

ID=35183311

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004101887A Expired - Fee Related JP4117621B2 (ja) 2004-03-31 2004-03-31 データ一括転送装置

Country Status (1)

Country Link
JP (1) JP4117621B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0737182U (ja) * 1993-12-03 1995-07-11 一郎 栗原 携帯用薬箱

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116075A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Copy message from application buffer to send buffer within kernel
JP6402598B2 (ja) 2014-11-12 2018-10-10 富士通株式会社 情報処理装置、通信方法、通信プログラム、及び、情報処理システム
JP6160717B1 (ja) * 2016-01-15 2017-07-12 日本電気株式会社 プロセッサ、および、データ転送方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0737182U (ja) * 1993-12-03 1995-07-11 一郎 栗原 携帯用薬箱

Also Published As

Publication number Publication date
JP2005285042A (ja) 2005-10-13

Similar Documents

Publication Publication Date Title
US7039914B2 (en) Message processing in network forwarding engine by tracking order of assigned thread in order group
EP2159694B1 (en) Method and device for barrier synchronization, and multicore processor
JP5715644B2 (ja) 高速仮想メモリシステムでデータを保存するためのシステムおよび方法
JP2770603B2 (ja) 並列計算機
JPH0581216A (ja) 並列プロセツサ
JP2577865B2 (ja) ベクトル処理装置及びその制御方法
JPH0776942B2 (ja) マルチプロセッサ・システムおよびそのデータ伝送装置
JPH0816536A (ja) マルチプロセッサシステム
US20020069329A1 (en) Method and system for supporting multiprocessor TLB-purge instructions using directed write transactions
JP2010218364A (ja) 情報処理システム、通信制御装置および方法
KR20200139829A (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JPH04246745A (ja) 情報処理装置及びその方法
KR102539572B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
KR102539571B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JP2561261B2 (ja) バッファ記憶アクセス方法
JP4117621B2 (ja) データ一括転送装置
JP2003271448A (ja) スタック管理方法及び情報処理装置
KR102539573B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
JPH08235143A (ja) クラスタ構成の並列計算機
US5860026A (en) Information processing system for controlling operations of input/output devices of another clusters according to control instructions issued from a cluster
KR102539574B1 (ko) 네트워크 온칩 데이터 처리 방법 및 장치
CN114237717A (zh) 一种多核异构处理器片上暂存动态调度管理器
JPH04288638A (ja) コンピュータシステム
JP2001236335A (ja) 分散メモリ型並列計算機及びそのデータ転送終了確認方法
JP2906819B2 (ja) 並列計算機及びデータ交換制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060901

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061030

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070730

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080205

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: 20080328

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080410

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: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110502

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120502

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees