JP2007249810A - 並列計算機のリダクション処理方法及び並列計算機 - Google Patents

並列計算機のリダクション処理方法及び並列計算機 Download PDF

Info

Publication number
JP2007249810A
JP2007249810A JP2006074971A JP2006074971A JP2007249810A JP 2007249810 A JP2007249810 A JP 2007249810A JP 2006074971 A JP2006074971 A JP 2006074971A JP 2006074971 A JP2006074971 A JP 2006074971A JP 2007249810 A JP2007249810 A JP 2007249810A
Authority
JP
Japan
Prior art keywords
nodes
data
node
parallel computer
transfer
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
JP2006074971A
Other languages
English (en)
Other versions
JP4546413B2 (ja
Inventor
Junichi Inagaki
淳一 稲垣
Masao Koyabu
正夫 小薮
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2006074971A priority Critical patent/JP4546413B2/ja
Priority to US11/472,987 priority patent/US7756144B2/en
Priority to EP20060253428 priority patent/EP1835414B8/en
Priority to CNB2006101078140A priority patent/CN100524284C/zh
Priority to KR20060068366A priority patent/KR100833139B1/ko
Publication of JP2007249810A publication Critical patent/JP2007249810A/ja
Application granted granted Critical
Publication of JP4546413B2 publication Critical patent/JP4546413B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • G06F15/17381Two dimensional, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】複数のノードの保持データを演算する並列計算機のリダクションにおいて、リダクション処理に要する時間を短縮する。
【解決手段】並列計算機を構成する各ノード(10,11,12,13)が、n分割したデータを、他のノード(10,11,12,13)に転送し、各ノード(10,11,12,13)は、1/nずつのデータを集約して、演算し、次に、複数のノード(11,12,13)が、それぞれの演算結果を、集約ノード(10)に転送する。このため、全ノードが、それぞれ分割されたデータの演算を実行しているため、リダクション処理時間を短縮できる。しかも、1回目、2回目のデータ転送で、より多くのノード(ネットワークアダプタ)が、データ転送に参加するようにしているため、高速に転送処理を実現でき、転送時間を短縮できる。
【選択図】図5

Description

本発明は、複数のコンピュータノードがネットワークで接続された並列計算機において、複数のコンピュータノードの計算結果を集約し、リダクションするリダクション処理方法及び並列計算機に関し、特に、各コンピュータノードに設けた複数のネットワークアダプタを利用して、効率良くリダクション処理する並列計算機のリダクション処理方法及び並列計算機に関する。
計算機システムの処理の高速化の要求に伴い、コンピュータを含むノードを複数設け、これら複数のノードをネットワークで接続した並列計算型コンピュータシステムが提供されている。例えば、並列計算機の分野では、複数のノードで並列に計算処理し、これらの処理データを、ネットワークを介し、やりとりする。このような並列計算機においては、大規模なものでは、数百〜数千ノードで構成される。
このように、並列計算機において、複数のノードの持つデータを集めて、指定された演算を実行する。これをリダクション処理という。このようなリダクション処理としては、全ノードのデータの総和を求める演算や、全ノードのデータの最大値や最小値を求める演算などがある。
図11及び図12は、従来の並列計算機のリダクション処理の説明図である。図11に示すように、複数(ここでは、4つ)のノード100,101,102,103が、図示しないネットワークで接続される。この各ノード100,101,102,103は、並列転送を可能とするため、複数(ここでは、3つ)のネットワークアダプタ110A,110B,110Cを有する。尚、図では、ノード100のみ、ネットワークアダプタに参照番号を付しているが、他のノード101,102,103も同一である。
この構成において、複数のノード100〜103が持っているデータを、集めて、指定された演算(例えば、総和等)を実施する場合には、ノード101からノード100に、ノード101のデータを転送し、ノード103からノード102に、ノード103のデータを転送し、先ず、ノード100で、ノード100と101のデータの演算を、ノード102で、ノード102と103のデータの演算を、各々実行する。次に、ノード102の演算結果を、ノード100に転送し、ノード100で、ノード100のデータとノード102のデータとの演算を行う。
例えば、図12の12ブロックの例で説明する。尚、図中、D0,D1,D2,D3は、各ノード100,101,102,103が持つデータであり、D01,D23は、ノード100と101のデータの演算結果、ノード102と103のデータの演算結果であり、D0123は、ノード100〜103の演算結果である。
図12に示すように、各ノード100〜103が持っている12ブロックのデータを、3つに分割し、3つのネットワークアダプタ110A,110B,110Cを使用して、ノード101,103からノード100,102に、データ演算結果D1〜O1,D3〜O3を転送する。ノード100,102では、ノード100と101のデータの演算結果D01〜O01、ノード102と103のデータの演算結果D23〜O23を演算する。
次に、ノード102から演算結果D23〜O23を、ノード100に転送する。ノード100は、演算結果D01〜O1と演算結果D23〜O23から、ノード100〜103の演算結果D0123〜O0123を演算する。
このように、従来技術では、ノード100,101,102,103が、ネットワークアダプタを複数持つことで、並列転送により、リダクション処理に要する時間を短縮していた(例えば、特許文献1)。
特開2001−325239号公報
しかしながら、従来技術では、第1回目の転送後、2つのノードが演算を実行し、他の2つのノードは、転送するのみであり、演算を実行していない。このため、演算するノードが限られ、リダクション処理の高速化が困難である。
従って、本発明の目的は、多数のノードのデータを集めて、演算するリダクション処理を高速化するための並列計算機のリダクション処理方法及び並列計算機を提供することにある。
又、本発明の他の目的は、多数のノードがリダクション処理の演算に参加して、リダクション処理を高速化するための並列計算機のリダクション処理方法及び並列計算機を提供することにある。
更に、本発明の他の目的は、リダクション処理を高速化し、並列計算の能力を向上するための並列計算機のリダクション処理方法及び並列計算機を提供することにある。
この目的の達成のため、本発明の並列計算機は、各々複数のネットワークアダプタを有する3つ以上のノードと、前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、各前記ノードは、保持しているデータを、複数個のデータに分割し、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送し、前記ノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数のノードは、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約する。
又、本発明は、複数のネットワークアダプタを有する複数のノードの保持するデータを集約して、データをリダクションする並列計算機のリダクション処理方法であって、各前記ノードが、保持しているデータを、複数個のデータに分割するステップと、前記各ノードが、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送するステップと、前記ノードの各々が、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行するステップと、前記複数のノードが、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約するステップとを有する。
更に、本発明では、好ましくは、前記各ノードは、保持しているデータを、複数個のデータに分割し、自身でリダクション演算するデータ以外の分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送する。
更に、本発明では、好ましくは、前記複数のノードは、前記ネットワークアダプタを介し、他の複数の前記ノードに、前記リダクション演算結果を転送する。
更に、本発明では、好ましくは、前記各ノードは、前記リダクション処理するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成する。
更に、本発明では、好ましくは、前記各ノードは、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送する。
更に、本発明では、好ましくは、前記各ノードは、前記ネットワークアダプタの数+1の数の分割数で、分割して、前記分割データを作成する。
更に、本発明では、好ましくは、前記ノードの各々は、前記分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記他のノードに転送する。
更に、本発明では、好ましくは、前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続される。
更に、本発明では、好ましくは、前記各ノードが、少なくともCPUと、メモリと、前記複数のネットワークアダプタとで構成される。
更に、本発明では、好ましくは、前記複数のノードを複数のノードグループにグループ化した各ノードグループ内で、前記各ノードが、保持しているデータを、複数個のデータに分割し、前記分割したデータを、前記ノードグループ内の他の複数のノードに転送し、前記ノードグループ内のノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数のノードは、少なくとも1の前記ノードに、前記リダクション演算結果を転送し、集約し、前記集約した各ノードが、複数個のデータに分割し、前記分割したデータを、前記集約した他の複数のノードに転送し、前記集約したノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数の集約したノードは、少なくとも1つの前記集約したノードに、前記リダクション演算結果を転送し、ノードグループ間のリダクション演算結果を集約する。
本発明では、各ノードは、n分割したデータを、他のノードに転送し、各ノードは、1/nずつのデータを集約して、演算し、次に、各ノードが、それぞれの演算結果を、集約ノードに転送する。このため、全ノードが、それぞれ分割されたデータの演算を実行しているため、全体の計算量が同じであれば、それだけ処理が早く終了する。しかも、1回目、2回目のデータ転送で、より多くのノード(ネットワークアダプタ)が、データ転送に参加するようにしているため、高速に転送処理を実現でき、転送時間も短縮できる。
以下、本発明の実施の形態を、並列計算機の構成、第1の実施の形態、第2の実施の形態、第3の実施の形態、他の実施の形態の順で説明するが、本発明は、この実施の形態に限られない。
――並列計算機の構成――
図1は、本発明の並列計算機の一実施の形態の構成図、図2は、図1のノードのブロック図、図3は、図1のネットワークアダプタのブロック図、図4は、図1の転送データのフレームフォーマット図である。
図1に示すように、並列計算機は、複数(ここでは、4つ)のノード10,11,12,13と、3つのクロスバースイッチ(図中、SWA,SWB,SWC)20,21,22とを有する。各ノード10,11,12,13は、3つのネットワークアダプタ(図中、A,B,Cで示す)14A,14B,14Cを有する。各ノード10,11,12,13のネットワークアダプタ14A,14B,14Cは、各々クロスバースイッチ20,21,22を介して、相互に通信する。即ち、各ノード10,11,12,13のネットワークアダプタ14A,14B,14Cのそれぞれは、Ethernet(登録商標)等の伝送路を介し、クロスバースイッチ20,21,22に接続される。
このノード10(11,12,13)は、図2に示すように、CPU40と、メモリ44と、IOアダプタ46と、前述のネットワークアダプタ14A〜14Cとが、システムコントローラ42を介して接続された計算機である。又、このCPU40,メモリ44、IOアダプタ46、ネットワークアダプタ14A〜14Cの数は、このノードに必要な処理能力に応じて、複数設けても良い。
図1及び図2のネットワークアダプタ14A(14B,14C)は、図3に示すように、システムコントローラ42と接続するホストインターフェイス制御回路50と、送信制御回路52と、伝送路に接続されるネットワークインターフェイス制御回路54と、受信制御回路56とで構成される。このネットワークアダプタ14A(14B,14C)は、ノード間のデータ通信を担当する。
ネットワークアダプタ14A(14B,14C)を介してノード間のデータ転送をする場合には、図4に示すようなフレーム形式で通信する。図4に示すフレーム形式は、Ethernet(登録商標)で使用されるフレーム形式を示しており、宛先アドレスと、送信元アドレスと、フレームタイプ(例えば、コマンド種別、データサイズ等)と、データ、フレームチエックサム(例えば、CRC(Cyclic Redundancy Code))とからなる。データ領域のデータ長(データサイズ)は、可変であり、ノード間を転送するデータは、必要に応じて、複数個のフレームに分割して、転送する。
――第1の実施の形態――
図5は、本発明のリダクション処理の第1の実施の形態の説明図、図6は、図5のリダクション処理のデータの流れを示す図、図7は、図5のノードの転送/演算処理フロー図、図8は、ノードの集約処理フロー図である。
図5に示すように、各ノード10,11,12,13は、リダクション処理すべきデータブロックをn分割し、各ノード10、11,12、13に、別々のネットワークアダプタ14A,14B,14Cを介して、転送する。受信したノード10,11,12,13は、1/nずつのデータを集約して、演算する(1)。次に、各ノード11,12,13は、自分が演算した結果を、ノード10に転送し、ノード10は、受信した結果と、自身で演算した結果を集約する(2)。
図6も参照して、図12と同一のデータ量の例で説明する。尚、図中、D0〜D3、E0〜E3,・・・、O0〜O3は、各ノード10,11,12,13が持つ12ブロックのデータであり、D0123〜O123は、リダクション処理の演算結果を示す。
図6に示すように、各ノード10〜13が持っている12ブロックのデータD0〜O0、D1〜O1,D2〜O2、D3〜O3を、4つに分割する。ノード10,11,12,13は、3つのネットワークアダプタ14A,14B,14Cを使用して、4つに分割されたデータ群の3つのデータ群を、別々のノード10,11,12、13に転送する。
例えば、ノード10は,12ブロックのデータD0〜O0の内、データG0〜I0,J0〜L0,M0〜O0を、各々、ノード11,12,13に転送する。同様に、ノード11は,12ブロックのデータD1〜O1の内、データD1〜F1,J1〜L1,M1〜O1を、各々、ノード10,12,13に転送する。ノード12は,12ブロックのデータD2〜O2の内、データD2〜F2,G2〜I2,M2〜O2を、各々、ノード10,11,13に転送する。ノード13は,12ブロックのデータD3〜O3の内、データD3〜F3,G3〜I3,J3〜L3を、各々、ノード10,11,12に転送する。
従って、ノード10は、データD0〜F0,データD1〜F1、データD2〜F2、データD3〜F3を集約し、ノード11は、データG0〜I0,データG1〜I1、データG2〜I2、データG3〜I3を集約し、ノード12は、データJ0〜L0,データJ1〜L1、データJ2〜L2、データJ3〜L3を集約し、ノード13は、データM0〜O0,データM1〜O1、データM2〜O2、データM3〜O3を集約する。
ノード10は、データD0〜F0,データD1〜F1、データD2〜F2、データD3〜F3を集約して、演算(例えば、総和)し、演算結果D0123〜F0123を得る。同様に、ノード11は、データG0〜I0,データG1〜I1、データG2〜I2、データG3〜I3を集約して、演算(例えば、総和)し、演算結果G0123〜I0123を得る。ノード12は、データJ0〜L0,データJ1〜L1、データJ2〜L2、データJ3〜L3を集約して、演算(例えば、総和)し、演算結果J0123〜L0123を得る。ノード13は、データM0〜O0,データM1〜O1、データM2〜O2、データM3〜O3を集約して、演算(例えば、総和)し、演算結果M0123〜O0123を得る。
次に、各ノードで演算した結果を、ノード10に集約する。即ち、各ノード11,12,13のネットワークアダプタ14A,14B,14Cからノード10に、演算結果G0123〜I0123,J0123〜L0123、M0123〜O0123を転送する。
このように、各ノード10,11,12,13は、4分割したデータの3つのデータを、他のノードに転送し、各ノードは、1/4ずつのデータを集約して、演算する。次に、ノード11,12,13が、それぞれの演算結果を、ノード10に転送する。
即ち、リダクション処理の演算内容は、従来技術と本発明で同一とすると、演算量に変わりない。従来例では、実際に演算しているのは、ノード10,12であり、ノード11,13は、データ転送するのみである。本発明では、全ノードが、それぞれ分割されたデータの演算を実行しているため、全体の計算量が同じであれば、それだけ処理が早く終了する。
しかも、本発明では、1回目、2回目のデータ転送で、より多くのノード(ネットワークアダプタ)が、データ転送に参加するようにしているため、高速に転送処理を実現でき、転送時間も短縮できる。
例えば、ネットワーク全体の総転送量に対する従来技術と本実施例との転送時間を比較すると、従来技術では、総転送量÷3×2=2/3となるのに対し、本実施例では、総転送量÷4×2=1/2となる。従って、本実施例では、従来技術の3/4の時間で、データ転送が可能となる。
又、この実施例では、第1回目、第2回目の転送において、送信ネットワークアダプタと受信ネットワークアダプタとの接続関係を、重複しないように、選択することにより、1回の転送で済むようにしている。
図7は、各ノードの処理フロー図である。
(S10)各ノード10,11,12,13のCPU40は、リダクションするデータブロックを、複数(図6では、4つ)に分割する。この分割数は、転送先ノード数やネットワークアダプタ数であると、前述のリダクション演算処理の効果を最大限発揮する。
(S12)次に、ノード10,11,12,13のCPU40は、ネットワークアダプタ14A,14B,14Cに、分割されたデータブロック(図6では、3ブロック)を、別々のノード10、11,12,13に転送するように、指示する。これにより、ノード10,11,12,13のネットワークアダプタ14A,14B,14Cは、分割されたデータブロックを、ノード10,11,12,13のネットワークアダプタ14A,14B,14Cに転送する。
(S14)各ノード10,11,12,13のCPU40は、転送しなかったデータと、他のノードから受け取ったデータをリダクション演算処理して、演算結果を得る。
次に、図8は、ノードの集約処理フロー図である。
(S20)各ノード11,12,13は、集約ノード10を宛先として、演算結果を、転送すべきノード10に転送する。
このように、各ノード10,11,12,13のCPU40が、データ分割、転送、演算処理を並列に実行することにより、容易に、リダクション処理時間を短縮できる。
――第2の実施の形態――
図9は、本発明の第2の実施の形態のリダクション処理の説明図である。第1の実施の形態は、演算結果は、1つの集約ノード10で、集約しているが、他のノードでも、演算結果を知りたい場合がある。この実施の形態は、第2回目のデータ転送で、全ノードで演算結果を得ることにより、全ノードで、演算結果を共有する。
図9は、図6の第2回目のデータ転送を示しており、第1回目の転送/演算処理は、図6と同一である。
図9に示すように、第2回目の転送において、各ノードで演算した結果を、各ノード10,11,12,13に転送する。即ち、各ノード10,11,12,13のネットワークアダプタ14A,14B,14Cからノード10,11,12,13に、演算結果G0123〜I0123,J0123〜L0123、M0123〜O0123を転送する。
この例でも、各ノード10,11,12,13は、4分割したデータの3つのデータを、他のノードに転送し、各ノードは、1/4ずつのデータを集約して、演算する。次に、全ノード10、11,12,13が、それぞれの演算結果を、全ノード10,11,12,13に転送する。
即ち、第1の実施の形態では、ノード10の全ネットワークアダプタ、ノード11のネットワークアダプタ14A,14B,ノード12のネットワークアダプタ14A,14C,ノード13のネットワークアダプタ14B,14Cは、使用されていないので、これを使用して、演算結果の共有のため、データ転送を行う。
――第3の実施の形態――
図10は、本発明の第3の実施の形態のブロードキャスト処理の説明図である。この例は、各々ネットワークアダプタを3つ持つ16個のノード0〜15で構成された並列計算機において、ノード0〜15のリダクション処理を行う例である。尚、図10では、図1及び図5と同一の各ノードを、連番を符って、示してある。
先ず、16個のノードを、4つのノードグループ0〜3,4〜7,8〜11,12〜15に分け、各ノードグループを対象に、第1の実施の形態と同様の処理を実行する。
即ち、各ノードグループ0〜3,4〜7,8〜11,12〜15内で、ノード0〜3,4〜7,8〜11,12〜15は、リダクション処理すべきデータをn分割し、グループ内の各ノード0〜3、4〜7、8〜11,12〜15に、別々のネットワークアダプタ14A,14B,14Cで、転送する。受信したノード0〜3,4〜7,8〜11,12〜15は、1/nずつのデータを集約して、演算する(1)。次に、各ノード1〜3,5〜7,9〜11、13〜15は、自分が演算した結果を、ノード0,4,8、12に転送し、ノード0,4,8、12で、受信した結果と、自身で演算した結果を集約する(2)。
次に、各グループのデータを集約したノード0,4,8,12は、第1の実施の形態と同様に、リダクション処理すべきデータをn分割し、各ノード0、4、8,12に、別々のネットワークアダプタ14A,14B,14Cで、転送する。受信したノード0,4,8,12は、1/nずつのデータを集約して、演算する(3)。次に、ノード4,8,12は、自分が計算した結果を、ノード0に転送し、ノード0は、受信した結果と、自身で演算した結果を集約する(4)。
このように、第1の実施の形態の処理を繰り返すことにより、ノード数が増加しても、同様に、リダクション処理を実行できる。即ち、第1の実施の形態を、2段階実行すれば、最大16ノードまで対応でき、3段階実行すれば、最大64ノードまで対応できる。これにより、段階を増やすことにより、ノード数の増加に対応できる。
このように、1度に、リダクション処理できる最大のノード数は、ネットワークアダプタの数+1であり、ノード数が更に増える場合には、2回の処理を、2段、3段と行うことにより、リダクション処理できるノード数を増加できる。
――他の実施の形態――
前述の実施の形態では、4ノードの並列計算機で説明したが、3ノード以上の並列計算機に適用できる。又、ノードの構成を、CPU,メモリ等のコンピュータユニットで説明したが、他のコンピュータ構成のものでも良い。更に、伝送路のフォーマットは、Ethernet(登録商標)に限らず、他のネットワークプロトコルを適用できる。
(付記1)各々複数のネットワークアダプタを有する3つ以上のノードと、前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、各前記ノードは、保持しているデータを、複数個のデータに分割し、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送し、前記ノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数のノードは、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約することを特徴とする並列計算機。
(付記2)前記各ノードは、保持しているデータを、複数個のデータに分割し、自身でリダクション演算するデータ以外の分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送することを特徴とする付記1の並列計算機。
(付記3)前記複数のノードは、前記ネットワークアダプタを介し、他の複数の前記ノードに、前記リダクション演算結果を転送することを特徴とする付記1の並列計算機。
(付記4)前記各ノードは、前記リダクション処理するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成することを特徴とする付記1の並列計算機。
(付記5)前記各ノードは、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送することを特徴とする付記1の並列計算機。
(付記6)前記各ノードは、前記ネットワークアダプタの数+1の数の分割数で、分割して、前記分割データを作成することを特徴とする付記4の並列計算機。
(付記7)前記ノードの各々は、前記分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記他のノードに転送することを特徴とする付記1の並列計算機。
(付記8)前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続されたことを特徴とする付記1の並列計算機。
(付記9)前記各ノードが、少なくともCPUと、メモリと、前記複数のネットワークアダプタとで構成されたことを特徴とする付記1の並列計算機。
(付記10)前記複数のノードを複数のノードグループにグループ化した各ノードグループ内で、前記各ノードが、保持しているデータを、複数個のデータに分割し、前記分割したデータを、前記ノードグループ内の他の複数のノードに転送し、前記ノードグループ内のノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数のノードは、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約し、前記集約したノードが、複数個のデータに分割し、前記分割したデータを、前記集約した他の複数のノードに転送し、前記集約したノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数の集約したノードは、少なくとも1つの前記集約したノードに、前記リダクション演算結果を転送し、ノードグループ間のリダクション演算結果を集約することを特徴とする並列計算機。
(付記11)複数のネットワークアダプタを有する複数のノードの保持するデータを集約して、データをリダクションする並列計算機のリダクション処理方法において、各前記ノードが、保持しているデータを、複数個のデータに分割するステップと、前記各ノードが、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送するステップと、前記ノードの各々が、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行するステップと、前記複数のノードが、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約するステップとを有することを特徴とする並列計算機のリダクション処理方法。
(付記12)前記転送ステップは、前記各ノードは、自身でリダクション演算するデータ以外の分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送するステップからなることを特徴とする付記11の並列計算機のリダクション処理方法。
(付記13)前記集約ステップは、前記複数のノードが、前記ネットワークアダプタを介し、他の複数の前記ノードに、前記リダクション演算結果を転送するステップを有することを特徴とする付記11の並列計算機のリダクション処理方法。
(付記14)前記分割ステップは、前記各ノードが、前記リダクション処理するデータを、前記ネットワークアダプタの数に従った分割数で、分割して、前記分割データを作成するステップからなることを特徴とする付記11の並列計算機のリダクション処理方法。
(付記15)前記転送ステップは、前記各ノードが、前記分割データを、前記ネットワークアダプタの数の前記複数のノードに、転送するステップからなることを特徴とする付記11の並列計算機のリダクション処理方法。
(付記16)前記分割ステップは、前記各ノードが、前記ネットワークアダプタの数+1の数の分割数で、分割して、前記分割データを作成するステップからなることを特徴とする付記14の並列計算機のリダクション処理方法。
(付記17)前記転送ステップは、前記受け取った分割されたデータを、前記複数のノード間で、前記ネットワークアダプタを重複使用しないように決められたネットワークアダプタを介し、前記分割データを他のノードに転送するステップからなることを特徴とする付記11の並列計算機のリダクション処理方法。
(付記18)前記各ネットワークアダプタが、前記クロスバースイッチと、ネットワークを介し接続されたことを特徴とする付記11の並列計算機のリダクション処理方法。
(付記19)前記各ノードが、少なくともCPUと、メモリと、前記複数のネットワークアダプタとで構成されたことを特徴とする付記11の並列計算機のリダクション処理方法。
(付記20)前記複数のノードを複数のノードグループにグループ化した各ノードグループ内で、前記分割ステップ、前記転送ステップ、前記演算ステップ、前記集約ステップを実行するステップと、前記集約した複数のノードが、前記分割ステップ、前記転送ステップ、前記演算ステップ、前記集約ステップを実行するステップとを更に有することを特徴とする付記11の並列計算機のリダクション処理方法。
並列計算機を構成する各ノードが、n分割したデータを、他のノードに転送し、各ノードは、1/nずつのデータを集約して、演算し、次に、複数のノードが、それぞれの演算結果を、集約ノードに転送する。このため、全ノードが、それぞれ分割されたデータの演算を実行しているため、それだけ処理が早く終了する。しかも、1回目、2回目のデータ転送で、より多くのノード(ネットワークアダプタ)が、データ転送に参加するようにしているため、高速に転送処理を実現でき、転送時間を短縮できる。
本発明の一実施の形態の並列計算機の構成図である。 図1のノードの構成図である。 図1及び図2のネットワークアダプタの構成図である。 図1の伝送フレームのフォーマット図である。 本発明の第1の実施の形態のリダクション処理の説明図である。 図5の第1の実施の形態のデータの流れ図である。 図5の第1の実施の形態のノードの転送/演算処理フロー図である。 図5の第1の実施の形態のノードの転送/集約処理フロー図である。 本発明の第2の実施の形態のリダクション処理の説明図である。 本発明の第3の実施の形態のリダクション処理の説明図である。 従来技術のリダクション処理の説明図である。 図11のデータの流れ図である。
符号の説明
10,11,12,13,100,101,102,103 ノード
14A,14B,14C、110A,110B,110C,110D ネットワークアダプタ
20,21,22 クロスバースイッチ
40 CPU
42 システムコントローラ
44 メモリ
46 IOアダプタ
50 ホスト インターフェイス回路
52 送信制御回路
54 ネットワーク インターフェイス回路
56 受信制御回路

Claims (5)

  1. 各々複数のネットワークアダプタを有する3つ以上のノードと、
    前記各ノードのネットワークアダプタ間を接続するクロスバースイッチとを有し、
    各前記ノードは、保持しているデータを、複数個のデータに分割し、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送し、
    前記ノードの各々は、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行し、前記複数のノードは、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約する
    ことを特徴とする並列計算機。
  2. 前記各ノードは、保持しているデータを、複数個のデータに分割し、自身でリダクション演算するデータ以外の分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送する
    ことを特徴とする請求項1の並列計算機。
  3. 前記複数のノードは、前記ネットワークアダプタを介し、他の複数の前記ノードに、前記リダクション演算結果を転送する
    ことを特徴とする請求項1の並列計算機。
  4. 複数のネットワークアダプタを有する複数のノードの保持するデータを集約して、データをリダクションする並列計算機のリダクション処理方法において、
    各前記ノードが、保持しているデータを、複数個のデータに分割するステップと、
    前記各ノードが、前記分割したデータを、各々異なるネットワークアダプタを介し、他の複数のノードに転送するステップと、
    前記ノードの各々が、前記受け取った分割されたデータと保持したデータとのリダクション演算を実行するステップと、
    前記複数のノードが、前記ネットワークアダプタを介し、少なくとも1つの前記ノードに、前記リダクション演算結果を転送し、集約するステップとを有する
    ことを特徴とする並列計算機のリダクション処理方法。
  5. 前記集約ステップは、前記複数のノードが、前記ネットワークアダプタを介し、他の複数の前記ノードに、前記リダクション演算結果を転送するステップを有する
    ことを特徴とする請求項4の並列計算機のリダクション処理方法。
JP2006074971A 2006-03-17 2006-03-17 並列計算機のリダクション処理方法及び並列計算機 Expired - Fee Related JP4546413B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2006074971A JP4546413B2 (ja) 2006-03-17 2006-03-17 並列計算機のリダクション処理方法及び並列計算機
US11/472,987 US7756144B2 (en) 2006-03-17 2006-06-23 Reduction processing method for parallel computer, and parallel computer
EP20060253428 EP1835414B8 (en) 2006-03-17 2006-06-29 Reduction processing method for parallel computer, and parallel computer
CNB2006101078140A CN100524284C (zh) 2006-03-17 2006-07-21 并行计算机的归约处理方法和并行计算机
KR20060068366A KR100833139B1 (ko) 2006-03-17 2006-07-21 병렬 계산기의 리덕션 처리 방법 및 병렬 계산기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006074971A JP4546413B2 (ja) 2006-03-17 2006-03-17 並列計算機のリダクション処理方法及び並列計算機

Publications (2)

Publication Number Publication Date
JP2007249810A true JP2007249810A (ja) 2007-09-27
JP4546413B2 JP4546413B2 (ja) 2010-09-15

Family

ID=38229048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006074971A Expired - Fee Related JP4546413B2 (ja) 2006-03-17 2006-03-17 並列計算機のリダクション処理方法及び並列計算機

Country Status (5)

Country Link
US (1) US7756144B2 (ja)
EP (1) EP1835414B8 (ja)
JP (1) JP4546413B2 (ja)
KR (1) KR100833139B1 (ja)
CN (1) CN100524284C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251334A (ja) * 2006-03-14 2007-09-27 Fujitsu Ltd ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
JP2019086976A (ja) * 2017-11-06 2019-06-06 富士通株式会社 情報処理システム、演算処理装置及び情報処理システムの制御方法
US10491491B2 (en) 2015-11-27 2019-11-26 Fujitsu Limited Calculation device, program, and information processing method
WO2020084693A1 (ja) * 2018-10-23 2020-04-30 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2020086837A (ja) * 2018-11-22 2020-06-04 富士通株式会社 情報処理システム及び情報処理システムの制御方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7752421B2 (en) * 2007-04-19 2010-07-06 International Business Machines Corporation Parallel-prefix broadcast for a parallel-prefix operation on a parallel computer
US8161480B2 (en) 2007-05-29 2012-04-17 International Business Machines Corporation Performing an allreduce operation using shared memory
US8140826B2 (en) 2007-05-29 2012-03-20 International Business Machines Corporation Executing a gather operation on a parallel computer
US8090704B2 (en) 2007-07-30 2012-01-03 International Business Machines Corporation Database retrieval with a non-unique key on a parallel computer system
US7827385B2 (en) 2007-08-02 2010-11-02 International Business Machines Corporation Effecting a broadcast with an allreduce operation on a parallel computer
US7840779B2 (en) 2007-08-22 2010-11-23 International Business Machines Corporation Line-plane broadcasting in a data communications network of a parallel computer
US7991857B2 (en) 2008-03-24 2011-08-02 International Business Machines Corporation Broadcasting a message in a parallel computer
US8122228B2 (en) 2008-03-24 2012-02-21 International Business Machines Corporation Broadcasting collective operation contributions throughout a parallel computer
US8422402B2 (en) 2008-04-01 2013-04-16 International Business Machines Corporation Broadcasting a message in a parallel computer
US8161268B2 (en) 2008-05-21 2012-04-17 International Business Machines Corporation Performing an allreduce operation on a plurality of compute nodes of a parallel computer
US8375197B2 (en) 2008-05-21 2013-02-12 International Business Machines Corporation Performing an allreduce operation on a plurality of compute nodes of a parallel computer
US8484440B2 (en) 2008-05-21 2013-07-09 International Business Machines Corporation Performing an allreduce operation on a plurality of compute nodes of a parallel computer
US8281053B2 (en) 2008-07-21 2012-10-02 International Business Machines Corporation Performing an all-to-all data exchange on a plurality of data buffers by performing swap operations
US8565089B2 (en) 2010-03-29 2013-10-22 International Business Machines Corporation Performing a scatterv operation on a hierarchical tree network optimized for collective operations
US8332460B2 (en) 2010-04-14 2012-12-11 International Business Machines Corporation Performing a local reduction operation on a parallel computer
US9424087B2 (en) 2010-04-29 2016-08-23 International Business Machines Corporation Optimizing collective operations
US8346883B2 (en) 2010-05-19 2013-01-01 International Business Machines Corporation Effecting hardware acceleration of broadcast operations in a parallel computer
US8489859B2 (en) 2010-05-28 2013-07-16 International Business Machines Corporation Performing a deterministic reduction operation in a compute node organized into a branched tree topology
US8949577B2 (en) 2010-05-28 2015-02-03 International Business Machines Corporation Performing a deterministic reduction operation in a parallel computer
US8776081B2 (en) 2010-09-14 2014-07-08 International Business Machines Corporation Send-side matching of data communications messages
US8566841B2 (en) 2010-11-10 2013-10-22 International Business Machines Corporation Processing communications events in parallel active messaging interface by awakening thread from wait state
JP6138701B2 (ja) * 2011-03-04 2017-05-31 富士通株式会社 分散計算方法及び分散計算システム
US8893083B2 (en) 2011-08-09 2014-11-18 International Business Machines Coporation Collective operation protocol selection in a parallel computer
US8667501B2 (en) 2011-08-10 2014-03-04 International Business Machines Corporation Performing a local barrier operation
US8910178B2 (en) 2011-08-10 2014-12-09 International Business Machines Corporation Performing a global barrier operation in a parallel computer
US9495135B2 (en) 2012-02-09 2016-11-15 International Business Machines Corporation Developing collective operations for a parallel computer
CN104023039B (zh) * 2013-02-28 2018-02-02 国际商业机器公司 数据包传输方法和装置
US9495260B2 (en) * 2014-07-01 2016-11-15 Sas Institute Inc. Fault tolerant communications
JP6911361B2 (ja) * 2017-01-19 2021-07-28 カシオ計算機株式会社 計算機、計算方法及びプログラム
GB201904267D0 (en) * 2019-03-27 2019-05-08 Graphcore Ltd A networked computer with multiple embedded rings
CN111858017A (zh) * 2019-04-30 2020-10-30 伊姆西Ip控股有限责任公司 用于处理任务的方法、设备和计算机程序产品
KR102425909B1 (ko) * 2019-07-30 2022-07-29 한국과학기술원 뉴럴 네트워크 가속기 시스템 및 그것의 동작 방법
US11714765B2 (en) * 2021-07-23 2023-08-01 Hewlett Packard Enterprise Development Lp System and method for implementing a network-interface-based allreduce operation

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0149983B2 (ja) * 1984-06-27 1989-10-26 Intaanashonaru Bijinesu Mashiinzu Corp
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
JPH07295944A (ja) * 1994-04-28 1995-11-10 Fujitsu Ltd マルチプロセッシングシステムの大域演算処理方法,マルチプロセッシングシステム用処理装置および大域演算処理装置
JP2889932B2 (ja) * 1989-04-07 1999-05-10 ディジタル イクイプメント コーポレーション 4ポート付きパケットメモリ制御装置を有する二重経路コンピュータ相互接続システム
JP2000222339A (ja) * 1999-02-02 2000-08-11 Hitachi Ltd ディスクサブシステム
JP2001325239A (ja) * 2000-05-16 2001-11-22 Hitachi Ltd 並列計算機のリダクション処理装置および処理方法
JP2003256400A (ja) * 2002-02-27 2003-09-12 Nec Corp システム制御方法、制御処理システムおよび制御処理装置
WO2006020298A2 (en) * 2004-07-19 2006-02-23 Blumrich Matthias A Collective network for computer structures

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4695999A (en) * 1984-06-27 1987-09-22 International Business Machines Corporation Cross-point switch of multiple autonomous planes
US4918686A (en) * 1987-07-27 1990-04-17 Hitachi, Ltd. Data transfer network suitable for use in a parallel computer
JPH07107545B2 (ja) 1987-08-20 1995-11-15 株式会社東芝 交流電圧試験装置
EP0543512B1 (en) * 1991-11-19 1999-10-06 International Business Machines Corporation Multiprocessor system
JP3094849B2 (ja) * 1995-06-21 2000-10-03 株式会社日立製作所 並列計算機およびその多段結合網
JPH09231075A (ja) * 1996-02-28 1997-09-05 Hitachi Ltd 組込み手続きの高速実現方法
JPH09330304A (ja) 1996-06-05 1997-12-22 Internatl Business Mach Corp <Ibm> プロセッサ間の通信スケジュールを決定する方法
JP3916192B2 (ja) 1998-07-03 2007-05-16 株式会社東芝 並列計算機システム及びその演算処理装置間の通信方法
US6223242B1 (en) * 1998-09-28 2001-04-24 Sifera, Inc. Linearly expandable self-routing crossbar switch
US6766470B1 (en) * 2000-03-29 2004-07-20 Intel Corporation Enhancing reliability and robustness of a cluster
JP2002351681A (ja) 2001-05-25 2002-12-06 Hitachi Tohoku Software Ltd ネットワークを用いた情報処理方法、情報処理システム、情報処理プログラムおよび記録媒体
JP2003015890A (ja) 2001-07-05 2003-01-17 Sony Corp 分散型情報処理システム、及び暗号化システム
KR20040074752A (ko) * 2003-02-18 2004-08-26 엘지엔시스(주) 금융업무 서버시스템의 부하 분산장치 및 분산방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0149983B2 (ja) * 1984-06-27 1989-10-26 Intaanashonaru Bijinesu Mashiinzu Corp
JP2889932B2 (ja) * 1989-04-07 1999-05-10 ディジタル イクイプメント コーポレーション 4ポート付きパケットメモリ制御装置を有する二重経路コンピュータ相互接続システム
JPH06290158A (ja) * 1993-03-31 1994-10-18 Fujitsu Ltd 再構成可能なトーラス・ネットワーク方式
JPH07295944A (ja) * 1994-04-28 1995-11-10 Fujitsu Ltd マルチプロセッシングシステムの大域演算処理方法,マルチプロセッシングシステム用処理装置および大域演算処理装置
JP2000222339A (ja) * 1999-02-02 2000-08-11 Hitachi Ltd ディスクサブシステム
JP2001325239A (ja) * 2000-05-16 2001-11-22 Hitachi Ltd 並列計算機のリダクション処理装置および処理方法
JP2003256400A (ja) * 2002-02-27 2003-09-12 Nec Corp システム制御方法、制御処理システムおよび制御処理装置
WO2006020298A2 (en) * 2004-07-19 2006-02-23 Blumrich Matthias A Collective network for computer structures

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007251334A (ja) * 2006-03-14 2007-09-27 Fujitsu Ltd ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
US10491491B2 (en) 2015-11-27 2019-11-26 Fujitsu Limited Calculation device, program, and information processing method
JP2019086976A (ja) * 2017-11-06 2019-06-06 富士通株式会社 情報処理システム、演算処理装置及び情報処理システムの制御方法
WO2020084693A1 (ja) * 2018-10-23 2020-04-30 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JPWO2020084693A1 (ja) * 2018-10-23 2021-09-02 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP7004083B2 (ja) 2018-10-23 2022-01-21 富士通株式会社 演算処理装置及び演算処理装置の制御方法
JP2020086837A (ja) * 2018-11-22 2020-06-04 富士通株式会社 情報処理システム及び情報処理システムの制御方法
US11327764B2 (en) 2018-11-22 2022-05-10 Fujitsu Limited Information processing system and method for controlling information processing system
JP7087953B2 (ja) 2018-11-22 2022-06-21 富士通株式会社 情報処理システム及び情報処理システムの制御方法

Also Published As

Publication number Publication date
KR20070094430A (ko) 2007-09-20
JP4546413B2 (ja) 2010-09-15
CN101038579A (zh) 2007-09-19
KR100833139B1 (ko) 2008-05-29
EP1835414B8 (en) 2014-02-26
EP1835414B1 (en) 2013-12-11
CN100524284C (zh) 2009-08-05
EP1835414A2 (en) 2007-09-19
US20070220164A1 (en) 2007-09-20
EP1835414A3 (en) 2009-07-22
US7756144B2 (en) 2010-07-13

Similar Documents

Publication Publication Date Title
JP4546413B2 (ja) 並列計算機のリダクション処理方法及び並列計算機
US8499222B2 (en) Supporting distributed key-based processes
US20150358219A1 (en) System and method for gathering information
US20220029854A1 (en) Collective communication system and methods
JP2009116872A (ja) ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置
CN106688208A (zh) 利用机架规模架构中的池化存储器进行的网络通信
US7873688B2 (en) Processing method and computer system for summation of floating point data
CN103812949A (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
KR20210044180A (ko) 고급 상호 연결 통신기술을 이용한 ai 훈련 가속화 방법 및 시스템
JP4704252B2 (ja) ネットワークシステムのブロードキャスト処理方法及びネットワークシステム
JP4088611B2 (ja) シングル・チップ・プロトコル・コンバーター
CN111885158B (zh) 一种集群任务处理方法、装置、电子设备及存储介质
KR20190120057A (ko) 로드 균형을 위한 확률 기반 적응형 라우팅 알고리즘
Ali et al. The static performance effect of hybrid-hierarchical interconnection by shifted completely connected network
CN103532758A (zh) 适合下一代传输、数据设备融合的配置处理方法
Arai et al. Disjoint-path routing on hierarchical dual-nets
KR20180088076A (ko) 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 운영 방법
US20240205133A1 (en) Network collective offload message chunking management
CN113132141B (zh) 一种存储、业务网分离的分布式训练高效通信网络、方法
JP7087953B2 (ja) 情報処理システム及び情報処理システムの制御方法
JP2009271830A (ja) 描画データ分散処理方法およびマスク描画装置
JP6665607B2 (ja) 通信管理方法、通信管理プログラム及び情報処理装置
WO2020090009A1 (ja) 演算処理装置及びその制御方法
JP2002288147A (ja) 分散メモリ型並列計算機およびコンピュータ・プログラム
JP2019115001A (ja) テーブル変換装置、テーブル変換方法、及びゲートウェイ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080704

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090817

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

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

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

Free format text: PAYMENT UNTIL: 20130709

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4546413

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees