JP4259390B2 - 並列演算処理装置 - Google Patents

並列演算処理装置 Download PDF

Info

Publication number
JP4259390B2
JP4259390B2 JP2004133315A JP2004133315A JP4259390B2 JP 4259390 B2 JP4259390 B2 JP 4259390B2 JP 2004133315 A JP2004133315 A JP 2004133315A JP 2004133315 A JP2004133315 A JP 2004133315A JP 4259390 B2 JP4259390 B2 JP 4259390B2
Authority
JP
Japan
Prior art keywords
processing
synchronization
arithmetic processing
parallel
packet
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
JP2004133315A
Other languages
English (en)
Other versions
JP2005316679A (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 JP2004133315A priority Critical patent/JP4259390B2/ja
Publication of JP2005316679A publication Critical patent/JP2005316679A/ja
Application granted granted Critical
Publication of JP4259390B2 publication Critical patent/JP4259390B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明は並列演算処理装置に関し、特に並列演算処理装置のバリア同期の技術に関する。
一つのジョブ(コンピュータに実行させるための仕事)をプロセスと呼ばれる複数の処理単位に分割し、その複数のプロセスを複数の演算処理装置にそれぞれ割当てて演算処理を実行することにより、当該ジョブの処理速度を向上させる技術が知られている。そのような技術は一般的に並列演算処理と呼ばれ、並列演算処理を実現するためにネットワークを介して接続された複数の演算処理装置によってシステムを構成する技術が知られている。そのような並列演算処理においては、あるジョブに対応する複数のプロセスの全ての処理が完了してから、次のジョブの処理に移行するという処理動作が行われている。そのため、複数のプロセスの処理状況を監視して、そのジョブに対応する全てのプロセスの処理完了を待ち合わせするバリア同期という技術が知られている。
従来の並列演算処理システムにおいて、複数の演算処理装置の各々に割当てられたプロセスの処理状況を監視する同期制御装置を備え、その同期制御装置が複数のプロセスの処理状況を監視することにより、バリア同期を実現する技術が知られている(例えば、特許文献1参照。)。
従来のプロセッサ間バリア同期装置は、バリア同期用のカウンタを設け、各プロセッサはこのカウンタにアクセスできるような構成である。バリア同期開始前に、ある1つのプロセッサによって、カウンタに対して初期値がセットされる。この場合の初期値は、バリア同期を行うプロセッサ数と同じ数である。ジョブ処理が開始され、複数のプロセスの処理が行われていき、各プロセッサが同期ポイント(プロセス完了ポイント)に到達すると、カウンタがデクリメントされる。そして、すべてのプロセッサが同期ポイントに達し、カウンタの値が0となったならばバリア同期完了となる。各プロセッサは同期ポイントに達し、カウンタのデクリメントを行った後には、カウンタを読み込み、カウンタの値が0かどうかをスピンロックにて確認する。カウンタの値が0ならばバリア同期が成立し、各プロセッサは次の処理に移行する。
この従来技術では、多数のプロセッサがバリア同期を行う場合、全プロセッサからのカウンタのデクリメント要求、及び、読み込み要求が1つのカウンタに対して集中し、デクリメント及び読み込みのアクセス時間が増大することがある。これにより、バリア同期に必要となるターンアラウンドタイムも増加することがあり、並列計算機システムにおいて、適切な情報処理性能を提供することが困難になる場合がある。バリア同期が適切に実行できる技術が望まれている。
特開2000−215182号公報
本発明が解決しようとする課題は、並列処理が可能な情報処理装置において、特定の制御装置にバリア同期のための処理を集中させること無く、バリア同期制御のターンアラウンドタイムを短縮することができる技術を提供することにある。
さらに、本発明が解決しようとする他の課題は、バリア同期成立に関連するパケットの送信先に対する制約が無く、任意のネットワークを使用しても適切にバリア同期を実行することが可能な並列処理システムを構成することができる技術を提供することにある。
さらに、本発明が解決しようとする他の課題は、バリア同期成立に関連するパケットをネットワーク内に複数存在させることで、あるパケットに不具合が発生していたとしてもバリア同期の一貫性に与える影響を低くし、それにより、ネットワーク障害に対する対故障性能を向上させることができる技術を提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号を用いて、課題を解決するための手段を説明する。これらの番号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために付加されたものである。ただし、それらの番号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
コンピュータによる情報処理が可能なジョブを複数の処理単位に分割し、前記複数の処理単位の各々を、複数の並列計算機(1−n)のそれぞれに割当てて演算処理を実行する並列計算装置において、
前記複数の並列計算機(1−n)の各々に備えられ、前記複数の処理単位の中の少なくとも一つの処理単位を演算処理する演算処理装置(11、21)を備える。その演算処理装置(11、21)は、割当てられた前記処理単位の演算処理完了に応答して、同期要求命令を出力するものとする。そしてさらに、前記複数の並列計算機(1−n)の各々に備えられ、前記複数の演算処理装置(11、21)の演算処理状態を記憶する記憶回路(14、24)と、前記複数の並列計算機(1−n)の各々に備えられ、前記複数の演算処理装置(11、21)の中の一つに対応し、前記対応する演算処理装置(11、21)に割当てられた前記処理単位の演算処理完了に応答して、処理完了情報を記憶するフラグ保持装置(16、26)と、前記複数の並列計算機(1−n)の各々に備えられ、前記複数の演算処理装置(11、21)の中の一つに対応し、前記同期要求命令に応答して前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定する同期監視装置(13、23)とを備えるように並列計算機の各々を構成する。ぞのうえで、前記同期監視装置(13、23)は、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知し、前記演算処理装置(11、21)は、前記通知に応答して、新たなジョブに対応する新たな処理単位の演算処理を実行する。このような並列計算装置を構成し、その並列計算装置を動作させることで並列処理を実行する。
これによって、複数の並列計算機で分割された複数の処理単位(タスク)を演算処理する場合、最後にその処理単位の演算を完了させた並列計算機を速やかに把握することが可能になる。
その並列演算処理装置(11、21)において、前記同期監視装置(13、23)は、前記通知に応答して同期成立パケットを生成し、前記同期成立パケットを他の演算処理装置(11、21)に備えられた他の同期監視装置(13、23)に送信する。
前記同期成立パケットを受信した前記他の同期監視装置(13、23)は、前記同期成立パケットの受信に対応して、前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定し、前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知する。そして、前記他の演算処理装置(11、21)は、前記通知に応答して、前記新たなジョブに対応する新たな処理単位の演算処理を実行する。このような並列計算装置を構成し、その並列計算装置を動作させることで並列処理を実行する。
これによって、複数の並列計算機で分割された複数の処理単位(タスク)を演算処理する場合、最後にその処理単位の演算を完了させた並列計算機が、他の並列計算機にバリア同期成立を速やかに通知することが可能になる。
その並列計算装置において、前記同期監視装置(13、23)は、前記監視に対応して前記処理単位の演算処理が未完了である他の演算処理装置(11、21)を抽出し、前記抽出の完了に応答して、同期要求パケットを生成し、前記同期要求パケットを他の演算処理装置(11、21)に備えられた他の同期監視装置(13、23)に送信する。
前記同期要求パケットを受信した前記他の同期監視装置(13、23)は、前記同期要求パケットの受信に対応して、前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定し、前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知する。そして、前記他の演算処理装置(11、21)は、前記通知に応答して、前記新たなジョブに対応する新たな処理単位の演算処理を実行する。このような並列計算装置を構成し、その並列計算装置を動作させることで並列処理を実行する。
これによって、複数の並列計算機で分割された複数の処理単位(タスク)を演算処理する場合、まだ処理単位の演算を完了させていない並列計算機に、処理単位の演算が完了した他の並列計算機の存在を通知することが可能になり、それに伴って、バリア同期を速やかに実行することが可能になる。
その並列計算装置において、前記同期監視装置(13、23)は、前記他の同期監視装置(13、23)から送信された同期要求パケットの受信に応答して前記フラグ保持装置(16、26)に記憶される情報を検索し、前記検索の結果、前記フラグ保持装置(16、26)に前記処理完了情報が記憶されている場合、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知する。通知を受けた前記演算処理装置(11、21)は、前記通知に応答して、新たなジョブに対応する新たな処理単位の演算処理を実行する。このような並列計算装置を構成し、その並列計算装置を動作させることで並列処理を実行する。
これにより、複数の並列計算機で分割された複数の処理単位(タスク)を演算処理する場合、自分自身に対応する演算処理装置に割当てられた処理単位の演算処理が完了したことを記憶することが可能になる。それによって、他の演算処理装置から送信されたバリア同期要求パケットや、バリア同期成立パケットを受信した場合、その受信に対応する情報処理を適切に実行することが可能になる。
その並列計算装置において、前記複数の並列計算機(1−n)の各々は、タイマー(15、25)を備える構成にする。そして、前記タイマー(15、25)は、演算処理装置(11、21)に割当てられた前記処理単位の演算処理完了に応答して、前記処理完了情報が記憶されるた時刻から所定の時間が経過したかどうかを計測し、前記計測の結果、前記所定の時間が経過した場合、前記記憶回路(14、24)と前記フラグ保持装置(16、26)とに記憶された値を初期状態にする。このような並列計算装置を構成し、その並列計算装置を動作させることで並列処理を実行する。
これにより、複数の並列計算機で分割された複数の処理単位(タスク)を演算処理する場合、所定の時間が経過したときにシステムを初期状態にすることが可能になり、現ジョブのバリア同期制御から、次ジョブのバリア同期制御への移行を適切に行うことが可能になる。
コンピュータによる情報処理が可能なジョブを複数の処理単位に分割し、前記複数の処理単位の各々を、複数の並列計算機(1−n)のそれぞれに割当てて演算処理を実行する並列計算装置を動作させるコンピュータプログラムにおいて、
前記複数の並列計算機(1−n)の各々に備えられた演算処理装置(11、21)が、前記複数の処理単位の中の少なくとも一つの処理単位を演算処理するステップと、割当てられた前記処理単位の演算処理完了に応答して、同期要求命令を出力するステップと、前記複数の並列計算機(1−n)の各々に備えられ記憶回路(14、24)が、前記複数の演算処理装置(11、21)の演算処理状態を記憶するステップと、前記記憶回路(14、24)に記憶された前記演算処理状態を読み出すステップと、前記複数の並列計算機(1−n)の各々に備えられ、前記複数の演算処理装置(11、21)の中の一つに対応するフラグ保持装置(16、26)が、前記対応する演算処理装置(11、21)に割当てられた前記処理単位の演算処理完了に応答して、処理完了情報を記憶するステップと、前記複数の並列計算機(1−n)の各々に備えられ、前記複数の演算処理装置(11、21)の中の一つに対応する同期監視装置(13、23)が、前記同期要求命令に応答して前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定するステップと、前記同期監視装置(13、23)が、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知するステップと、前記演算処理装置(11、21)が、前記通知に応答して、新たなジョブに対応する新たな処理単位の演算処理を実行するステップ
を具備するコンピュータで実行可能なプログラムを複数のコンピュータに搭載する。そしてそのコンピュータを動作させることで並列処理を実行する。
そのプログラムにおいて、前記同期監視装置(13、23)が、前記通知に応答して同期成立パケットを生成し、前記同期成立パケットを他の演算処理装置(11、21)に備えられた他の同期監視装置(13、23)に送信するステップと、前記同期成立パケットを受信した前記他の同期監視装置(13、23)が、前記同期成立パケットの受信に対応して、前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定し、前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知するステップと、前記他の演算処理装置(11、21)が、前記通知に応答して、前記新たなジョブに対応する新たな処理単位の演算処理を実行するステップとを具備するコンピュータで実行可能なプログラムを複数のコンピュータに搭載する。そして、そのコンピュータを動作させることで並列処理を実行する。
そのプログラムにおいて、前記同期監視装置(13、23)が、前記監視に対応して前記処理単位の演算処理が未完了である他の演算処理装置(11、21)を抽出し、前記抽出の完了に応答して、同期要求パケットを生成し、前記同期要求パケットを他の演算処理装置(11、21)に備えられた他の同期監視装置(13、23)に送信するステップと、前記同期要求パケットを受信した前記他の同期監視装置(13、23)が、前記同期要求パケットの受信に対応して、前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定し、前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知するステップと、前記他の演算処理装置(11、21)が、前記通知に応答して、前記新たなジョブに対応する新たな処理単位の演算処理を実行するステップを具備するコンピュータで実行可能なプログラムを複数のコンピュータに搭載する。そしてそのコンピュータを動作させることで並列処理を実行する。
その並列計算装置において、前記同期監視装置(13、23)が、前記他の同期監視装置(13、23)から送信された同期要求パケットの受信に応答して前記フラグ保持装置(16、26)に記憶される情報を検索し、前記検索の結果、前記フラグ保持装置(16、26)に前記処理完了情報が記憶されている場合、前記同期監視装置(13、23)に対応する演算処理装置(11、21)に同期成立を通知するステップと、前記演算処理装置(11、21)は、前記通知に応答して、新たなジョブに対応する新たな処理単位の演算処理を実行するステップを具備するコンピュータで実行可能なプログラムを複数のコンピュータに搭載する。そしてそのコンピュータを動作させることで並列処理を実行する。
そのプログラムにおいて、前記複数の並列計算機(1−n)の各々は、タイマー(15、25)を備える構成にする。そして、前記タイマー(15、25)が、前記タイマー(15、25)を含む並列計算機に対応する演算処理装置(11、21)に割当てられた前記処理単位の演算処理完了に応答して、前記処理完了情報が記憶されるた時刻から所定の時間が経過したかどうかを計測するステップと、前記計測の結果、前記所定の時間が経過した場合、前記記憶回路(14、24)と前記フラグ保持装置(16、26)とに記憶された値を初期状態にするステップを具備するコンピュータで実行可能なプログラムを複数のコンピュータに搭載する。そしてそのコンピュータを動作させることで並列処理を実行する。
本発明のよると、特定の制御装置にバリア同期のための処理を集中させることが無いため、バリア同期制御のターンアラウンドタイムを短縮することができる。
さらに、本発明によると、バリア同期成立に関連するパケットの送信先に対する制約が無いので、並列処理システムを構成するネットワークに任意のネットワークを使用することが可能であり、柔軟性の高いシステム構築が可能になる。
さらに、本発明によると、バリア同期成立に関連するパケットをネットワーク内に複数存在させることができる。そのため、あるパケットに不具合が発生していたとしてもバリア同期の一貫性に与える影響が低く、それにより、ネットワーク障害に対する対故障性能を向上させることが可能になる。
[実施の形態の構成]
以下に、図面を使用して本発明を実施するための最良の形態について述べる。図1は、本発明を実施するための形態における並列演算処理システムの構成を示すブロック図である。図1を参照すると、本実施に実施の形態における並列演算処理システムは、セル間ネットワーク10と、そのセル間ネットワーク10に接続される複数のセル(1−1〜1−n:nは任意の自然数)を備えていることが示されている。(以下の説明では複数のセルが演算処理装置であることを前提に説明を行っていく。)セル間ネットワーク10に接続されている複数の並列演算処理装置(1−1〜1−n)の各々は、同様のモジュールで構成されている。したがって、以下の演算処理装置(セル)の構成に関する説明では、並列演算処理装置1−1に対応させて説明を行っていくものとする。また、図1に示されている複数の並列演算処理装置(1−1〜1−n)の接続形態は、セル間ネットワーク10を介して直線型に接続されているが、これは、本実施の形態における複数の並列演算処理装置(1−1〜1−n)の接続形態を限定するものではない。
並列演算処理装置1−1は、複数の処理単位(以下、プロセスと呼ぶ)に分割された特定のジョブ(コンピュータで情報処理可能な仕事)の中の、少なくとも一つのプロセスを割当てられ、そのプロセスに対応する情報処理を実行する情報処理装置である。また、並列演算処理装置1−1は、自分自身が特定のジョブの分割する場合、その分割処理を実行して複数のプロセスを生成する。生成された複数のプロセスは、並列演算処理装置1−1によって任意の並列演算処理装置に振分けられる。本実施の形態の並列処理システムは、各々のプロセスが割当てられたそれぞれの並列演算処理装置が、そのプロセスに対応する情報処理を実行することで並列処理を実現する。複数の並列演算処理装置(1−1〜1−n)の各々は、それぞれ演算処理能力が異なる場合や、複数のプロセスの処理完了にかかる修理時間が異なる場合に、複数の並列演算処理装置(1−1〜1−n)の各々のプロセス処理完了の待ち合わせ(以下、本実施の形態において、上記の待ち合わせのことを“バリア同期”と呼ぶ。)を行うことで適切に現ジョブから次ジョブへ移行する。
図1に示されているように、並列演算処理装置1−1は、プロセッサ11と、そのプロセッサ11に接続されているバリア同期制御装置12とで構成されている。プロセッサ11は、並列演算処理装置1−1に備えられた情報処理機能である。プロセッサ11は、一般的に、CPU(Central Processing Unit:中央演算処理装置)や、MPU(Microprocessor Unit:マイクロプロセッサ)と呼ばれている半導体集積回路で構成されている。以下の説明では、本実施の形態におけるプロセッサ11が、上記のような半導体集積回路である場合を前提に説明を行っていくが、これは本発明におけるプロセッサ11の構成を限定するものではない。
バリア同期制御装置12は、セル間ネットワーク10に接続される複数の並列演算処理装置(1−1〜1−n)の各々に備えられ、その複数の並列演算処理装置(1−1〜1−n)の各々に割当てられたプロセスのバリア同期を制御する情報処理機能である。バリア同期制御装置12は、複数のプロセスに分割されたジョブの実行状況を監視し、現ジョブに対応するプロセスの処理が完了かどうかを監視し、その監視動作に基づいて、次のジョブの処理を実行することが可能かどうかを判断する。
図1を参照すると、バリア同期制御装置12には、パケット転送制御装置13と、ビットマップレジスタ14と、バリア同期フラグ16と、タイマー15とが備えられていることが示されている。パケット転送制御装置13は、プロセッサ11に接続され、プロセッサ11からの命令に応答してパケットを生成する情報生成機能である。パケット転送制御装置13は、さらに、プロセッサ11からの命令に応答して転送データをパケット化し、データ線17を介してセル間ネットワーク10に出力する。セル間ネットワーク10に出力された上記転送データは、他の並列演算処理装置のパケット転送制御装置(例えば並列演算処理装置1−2のパケット転送制御装置23)に送信される。また、パケット転送制御装置13は、他の並列演算処理装置のパケット転送制御装置(例えば並列演算処理装置1−2のパケット転送制御装置23)から送信された、並列処理の実行に必要なパケットの受信を行う。ここで、本実施の形態では、パケット転送制御装置13によって、同期要求パケットと、同期成立パケットとの二つが生成されるものとする。バリア同期要求パケットは、プロセッサ11のプロセス処理完了に応答して生成されるパケットであり、バリア同期成立パケットは、バリア同期の成立に応答して生成されるパケットである。
ビットマップレジスタ14は、システムを構成する複数の並列演算処理装置(1−1〜1−n)に一対一に対応する記憶領域を備える記憶回路である。ビットマップレジスタ14に格納される情報は、セル間ネットワーク10を介して送信されたパケットの情報に基づいて更新される。プロセッサ11は、ビットマップレジスタ14に格納される情報に基づいて複数の並列演算処理装置(1−1〜1−n)のプロセス処理の実行状況を監視する。
バリア同期フラグ16は、1ビットの記憶領域で構成される記憶回路である。バリア同期フラグ16は、プロセッサ11においてバリア同期が成立した場合に、そのフラグをバリア同期完了を示す値にして格納する。以下の説明では、バリア同期が成立した場合に、バリア同期フラグ16の所定の記憶領域には値 “1”が格納され、その値がバリア同期完了を示す値がであるものとする。
タイマー15は、ビットマップレジスタ14とバリア同期フラグ16とに格納されている値をリセットする時期をカウントするタイマである。本実施の形態の並列処理システムは、バリア同期成立後に、現ジョブから次ジョブに移行する場合に、ビットマップレジスタ14とバリア同期フラグ16とに格納されている値のクリアが要求される。タイマー15は、バリア同期フラグ16にバリア同期完了を示す値“1”が格納されたことに応答して、カウントを開始する。タイマー15は、そのカウント開始時刻から、システムにおける最大パケット転送時間経過後に、ビットマップレジスタ14とバリア同期フラグ16との値をクリアにする。
上述のように、図1に示されている並列演算処理装置1−2は、並列演算処理装置1−1と同様の構成である。以下に、簡単に並列演算処理装置1−2の構成について説明を行う。図1に示されているように、並列演算処理装置1−2は、プロセッサ21と、バリア同期制御装置22とで構成されている。バリア同期制御装置22は、さらに、パケット転送制御装置23と、ビットマップレジスタ24と、タイマー25と、バリア同期成立フラグとを備えている。
[実施の形態の動作]
以下に、添付図面を使用して、本発明を実施するための形態に示す並列処理システムの動作について述べる。図2Aから図2Cは、本実施の形態の並列処理システムの動作を示すフローチャートである。以下の動作の説明では、本実施の形態における並列処理システムの動作に対する理解を容易にするために、図1に示されている並列演算処理装置1−1と並列演算処理装置1−2とが並列処理を実行する場合に対応させて説明を行う。
また、図2Aから図2Cに示されているフローチャートのステップS01、S09、S19はパケット転送制御装置13(またはパケット転送制御装置23)の動作を示すステップである。本実施の形態の動作は、パケット転送制御装置13(またはパケット転送制御装置23)がプロセッサ11(またはプロセッサ21)からの命令や、セル間ネットワーク10を介して受信されるパケットを常時監視することにより実現される。また、S27は、タイマー15(または、バリア同期成立フラグ)の動作を示すステップである。以下に述べる説明では、並列演算処理装置1−1に備えられた各処理モジュールの動作に対応してシステムの動作説明を行っていくものとする。なお、以下の説明に対応する処理フローは、システムが稼働している間は、セル間ネットワーク10に接続された複数の並列演算処理装置(1−1〜1−n)で、同様の処理が行われているものとする。
プロセッサ11は、自分自身に対して割当てられたプロセス(以下、自己プロセスと呼ぶ。)の処理が完了すると、同期要求命令を生成し、生成したその同期要求命令をパケット転送制御装置13に出力する。ステップS01において、パケット転送制御装置13は、プロセッサ11から同期要求命令が出力されたどうかを監視する。ステップS01での監視動作に対応して、プロセッサ11から出力された同期要求命令を検出したパケット転送制御装置13は、自己プロセスの処理が完了したことを記憶するためにビットマップレジスタ14にアクセスする。
ステップS02において、パケット転送制御装置13は、ビットマップレジスタ14に備えられた記憶領域の中から、パケット転送制御装置13に対応する領域(以下、自己領域と呼ぶ。)を選択する。パケット転送制御装置13は、その自己領域に、自己プロセスの処理が完了したことを示す情報を書きこむ。ここにおいて、ビットマップレジスタ14に記憶される情報の形式は、どのような形式であっても本実施の形態を限定するものではない。したがって、以下の説明では、ビットマップレジスタ14の所定領域に値 “1”が書きこまれた場合、その書きこまれた領域に対応する並列演算処理装置が、自己プロセスの処理が完了したものであるとする。
ステップS03において、パケット転送制御装置13は、ビットマップレジスタ14に格納される情報から、セル間ネットワーク10に接続される全ての並列演算処理装置の各々が、それぞれ自己プロセスを完了したかどうかの判断を実行する。その判断は、ビットマップレジスタ14に備えられた、複数の並列演算処理装置に対応する記憶領域の全てに値 “1”が書きこまれているかどうかによって行われる。その判断の結果、上記の記憶領域の全てに値 “1”が書きこまれていない場合、処理はステップS04に進み、全てに値 “1”が書きこまれている場合、処理はステップS05に進む。
ステップS04において、パケット転送制御装置13はビットマップレジスタ14に記憶領域に値 “0”が書きこまれている領域を抽出する。パケット転送制御装置13は、その値 “0”が書きこまれている領域の抽出完了に応答して、同期要求パケットを生成する。このとき生成される同期要求パケットには、ビットマップレジスタ14の値が添付される。生成された同期要求パケットは、パケット転送制御装置13によって抽出された領域に対応する並列演算処理装置のアドレスに送信される。このときに、ステップS04で送信された同期要求パケットを受信した他の並列演算処理装置(例えば、並列演算処理装置1−2)は、その同期要求パケットの受信に応答してステップS09からの処理を実行する。
ステップS05において、ビットマップレジスタ14の複数の並列演算処理装置に対応する記憶領域の全てに値 “1”が書きこまれている場合、パケット転送制御装置13は、プロセッサ11に同期成立通知を出力する。上記のように、記憶領域の全てに値 “1”が書きこまれている場合、バリア同期が全ての並列演算処理装置で成立していることになる。ステップS05における動作は、並列演算処理装置1−1の内部での処理に対応してバリア同期が成立したことを、並列演算処理装置1−2に通知するための動作である。
ステップS06において、プロセッサ11に対して同期成立を通知したパケット転送制御装置13は、ビットマップレジスタ14の自己領域の値を“1”から “0”に更新する。さらにステップS07において、パケット転送制御装置13は、バリア同期フラグ16のフラグを書きこむ領域に、値“1”を書きこむ。バリア同期フラグ16は、その書きこまれた値“1”を保持する。
ステップS08において、パケット転送制御装置13は、バリア同期フラグ16の書きこみ完了に応答して、同期成立パケットを生成する。このとき生成される同期成立パケットには、自己領域の値を“1”から “0”に更新された後のビットマップレジスタ14の値が添付される。パケット転送制御装置13は、その同期成立パケットの生成が完了したことに応答して、値“1”が書きこまれているビットマップレジスタ14の記憶領域に対応する並列演算処理装置のアドレスに同期成立パケットを送信する。このときに、ステップS08で送信された同期成立パケットを受信した他の並列演算処理装置(例えば、並列演算処理装置1−2)は、その同期成立パケットの受信に応答してステップS19からの処理を実行する。
ステップS09において、パケット転送制御装置13は、セル間ネットワーク10を介して同期要求パケットを受信したかどうかを監視する。以下の説明では、並列演算処理装置1−1が、並列演算処理装置1−2のパケット転送制御装置23から送信された同期要求パケットを受信した場合を例に、動作の説明を行う。また、このときに受信する同期要求パケットは、ステップS04の動作によって生成された同期要求パケットであるものとする。ステップS09で同期要求パケットを受信したことにより、処理は、ステップS10に進む。
ステップS10おいて、パケット転送制御装置13は、タイマー25から送信された同期要求パケットの受信に応答して、バリア同期フラグ16のフラグの状態を確認する。この動作により、他の並列演算処理装置から送信された同期要求パケットを受信する前に、ステップS05からステップS08の動作が実行されたかどうかの判断が行われる。ここでバリア同期フラグ16に値“1”が格納されていた場合、現ジョブに対応する複数のプロセスの全ての処理が完了していることになるので、処理は戻り、その後、ステップS27に進む。ステップS10で、ここでバリア同期フラグ16に値“0”が格納されていた場合、処理はステップS11に進む。
ステップS11において、パケット転送制御装置13は、受信した同期要求パケットに添付された値(タイマー25の値)とバリア同期フラグ16との論理和をとり、その結果をバリア同期フラグ16に書きこむことでバリア同期フラグ16の値を更新する。パケット転送制御装置13は、その更新されたバリア同期フラグ16から、自己領域の値を抽出し、処理はステップS12に進む。
ステップ12において、パケット転送制御装置13は、ステップS11で抽出された自己領域の値が値“1”であるかどうかの判断を行う。ここで、受信した同期要求パケットに添付されているビットマップレジスタ24の値には、並列演算処理装置1−1に対応する領域には“0”が書きこまれている。そのビットマップレジスタ24の値とビットマップレジスタ14の値との論理和をとった結果、並列演算処理装置1−1に対応する領域の値が値“1”になるには、ビットマップレジスタ14の並列演算処理装置1−1に対応する領域に値“1”が書きこまれている場合である。したがって、この動作により、同期要求パケット受信前に、プロセッサ11からの同期要求命令を受信したかどうかの判断を行うことが可能になる。ステップS12の判断の結果、自己領域の値が値“0”の場合、プロセッサ11から同期要求が出力されていない、つまり、割当てられたプロセスの処理が完了していないことになる。そのため、ステップS12の判断の結果、自己領域の値が値“0”の場合、処理は戻り、監視動作を継続する。
ステップS12での判断の結果、自己領域の値が値“1”の場合、ステップ13に進む。ステップ13において、パケット転送制御装置13は、ビットマップレジスタ14に格納される情報から、セル間ネットワーク10に接続される全ての並列演算処理装置の各々が、それぞれ自己プロセスを完了したかどうかの判断を実行する。その判断は、上記論理和をとった結果が書きこまれたビットマップレジスタ14の、複数の並列演算処理装置に対応する記憶領域の全てに値 “1”が書きこまれているかどうかによって行われる。その判断の結果、上記の記憶領域の全てに値 “1”が書きこまれていない場合、処理はステップS14に進み、全てに値 “1”が書きこまれている場合、処理はステップS15に進む。
ステップS14において、パケット転送制御装置13はビットマップレジスタ14に記憶領域に値 “0”が書きこまれている領域を抽出する。パケット転送制御装置13は、その値 “0”が書きこまれている領域の抽出完了に応答して、同期要求パケットを生成する。このとき生成される同期要求パケットには、ステップS11で更新されたビットマップレジスタ14の値が添付される。生成された同期要求パケットは、ステップS14でパケット転送制御装置13によって抽出された領域に対応する並列演算処理装置のアドレスに送信される。このときに、ステップS14で送信された同期要求パケットを受信した他の並列演算処理装置(例えば、並列演算処理装置1−2)は、その同期要求パケットの受信に応答してステップS09からの処理を実行する。
ステップS15において、ビットマップレジスタ14の複数の並列演算処理装置に対応する記憶領域の全てに値 “1”が書きこまれている場合、パケット転送制御装置13は、プロセッサ11に同期成立通知を出力する。上記のように、記憶領域の全てに値 “1”が書きこまれている場合、バリア同期が全ての並列演算処理装置で成立していることになる。ステップS15における動作は、並列演算処理装置1−1の内部での処理に対応してバリア同期が成立したことを、並列演算処理装置1−2に通知するための動作である。
ステップS16において、プロセッサ11に対して同期成立を通知したパケット転送制御装置13は、ビットマップレジスタ14の自己領域の値を“1”から “0”に更新する。さらにステップS17において、パケット転送制御装置13は、バリア同期フラグ16のフラグを書きこむ領域に、値“1”を書きこむ。バリア同期フラグ16は、その書きこまれた値“1”を保持する。
ステップS18において、パケット転送制御装置13は、バリア同期フラグ16の書きこみ完了に応答して、同期成立パケットを生成する。このとき生成される同期成立パケットには、自己領域の値を“1”から “0”に更新された後のビットマップレジスタ14の値が添付される。パケット転送制御装置13は、その同期成立パケットの生成が完了したことに応答して、値“1”が書きこまれているビットマップレジスタ14の記憶領域に対応する並列演算処理装置のアドレスに同期成立パケットを送信する。このときに、ステップS18で送信された同期成立パケットを受信した他の並列演算処理装置(例えば、並列演算処理装置1−2)は、その同期成立パケットの受信に応答してステップS19からの処理を実行する。
ステップS19において、パケット転送制御装置13は、セル間ネットワーク10を介して同期成立パケットを受信したかどうかを監視する。以下の説明では、並列演算処理装置1−1が、並列演算処理装置1−2のパケット転送制御装置23から送信された同期成立パケットを受信した場合を例にして、動作の説明を行う。また、このときに受信する同期成立パケットは、ステップS08の動作によって生成された同期成立パケットであるものとするが、ステップS18の動作によって生成された同期成立パケットにおいても、本字しいの形態のシステムは同様に動作する。ここで、ステップS19で同期要求パケットを受信したことにより、処理はステップS20に進む。
ステップS20において、パケット転送制御装置13は、同期成立パケットの受信に応答してバリア同期フラグ16のフラグの値を確認する。その確認の結果、バリア同期フラグ16に保持されている値が値“1”である場合、処理はステップS24に進み、バリア同期フラグ16に保持されている値が値“0”である場合、処理はステップ21に進む。上記のように、同期成立パケットを受信し、バリア同期フラグ16に保持されている値が値“1”である場合、バリア同期が全ての並列演算処理装置で成立していることになり、このときのビットマップレジスタ14の自己領域は値“0”が保持されている。
ステップS21において、バリア同期フラグ16に保持されている値が値“0”である場合、パケット転送制御装置13は、プロセッサ11に同期成立通知を出力する。上記のように、同期成立パケットを受信し、バリア同期フラグ16に保持されている値が値“0”である場合というのは、同期要求パケットを送信後、同期成立パケット受信前であり、そのような場合にバリア同期フラグ16はこのような値をとる。このときのビットマップレジスタ14の自己領域は値“1”が保持されている。
ステップS22、プロセッサ11に対して同期成立を通知したパケット転送制御装置13は、ビットマップレジスタ14の自己領域の値を“1”から “0”に更新する。さらにステップS23において、パケット転送制御装置13は、バリア同期フラグ16のフラグを書きこむ領域に、値“1”を書きこむ。バリア同期フラグ16は、その書きこまれた値“1”を保持する。
ステップS24において、パケット転送制御装置13は、受信した同期成立パケットに添付されるビットマップレジスタ24の値と、ビットマップレジスタ14の値との論理積をとり、その結果に対応してビットマップレジスタ14の値を更新する。ステップS25において、パケット転送制御装置13は、更新されたビットマップレジスタ14の値から、複数の並列演算処理装置に対応する記憶領域の全てに値 “0”が書きこまれているかどうかの判断を行う。その判断の結果、複数の並列演算処理装置に対応する記憶領域の全てに値 “0”が書きこまれている場合、処理は戻り、監視動作を実行後ステップS27に進む。複数の並列演算処理装置に対応する記憶領域の全てに値 “0”が書きこまれていない場合、ステップS26にすすむ。ステップS26において、値“1”が書きこまれているビットマップレジスタ14の記憶領域に対応する並列演算処理装置のアドレスに同期成立パケットを送信し、監視動作を継続する。
ステップS27において、タイマー15は、バリア同期フラグ16を監視を実行する。その監視の結果、バリア同期フラグ16に保持される値が値“0”であるならば、待機状態に戻る。その監視の結果、バリア同期フラグ16の値が値“1”の場合、処理はステップS28に進む。ステップS28において、タイマー15は、バリア同期フラグ16の値が“1”になったことに応答して、カウント動作を開始する。タイマー15は、そのカウント開始に対応して、予め設定された時間が経過したかどうかの監視を行う。本実施の形態においては、その予め設定された時間が、システムにおける最大パケット転送時間である場合を例に述べるが、これは本発明のカウント時間を限定するものではない。
ステップS28において、所定の時間が経過していない場合(ステップS28における“NO”の場合)、タイマー15は、バリア同期フラグ16に対する監視動作を継続する。所定の時間が経過した場合、処理はステップS29に進む。ステップS29において、タイマー15は、ビットマップレジスタ14の値のリセットをパケット転送制御装置13に要求し、パケット転送制御装置13は、その要求に応答してビットマップレジスタ14の全ての記憶領域に“0”を書きこむ。ステップS30において、ステップS29と同様に、タイマー15は、バリア同期フラグ16の値のリセットをパケット転送制御装置13に要求し、パケット転送制御装置13は、その要求に応答してバリア同期フラグ16の記憶領域に“0”を書きこむ。
なお、上記の動作において、各並列演算処理装置から送信される同期要求パケットおよび同期成立パケットは、少なくとも一つの送信対象に対して送信されることで、本発明のバリア同期の制御を実現することが可能である。したがって、各並列演算処理装置の備えられたパケット転送制御装置13は、セル間ネットワーク10の伝送状況を監視し、適切な数のパケットを送信する構成を備えることで、より効率の良いバリア同期を実現することが可能になる。
図1は、本実施の形態の構成を示すブロック図である。 図2Aは、本実施の形態の動作を示すフローチャートである。 図2Bは、本実施の形態の動作を示すフローチャートである。 図2Cは、本実施の形態の動作を示すフローチャートである。
符号の説明
1−1〜1−n…並列演算処理装置
10…セル間ネットワーク
11、21…プロセッサ
12、22…バリア同期制御装置
13、23…パケット転送制御装置
14、24…ビットマップレジスタ
15、25…タイマー
16、26…バリア同期フラグ

Claims (2)

  1. コンピュータによる情報処理が可能なジョブを複数の処理単位に分割し、前記複数の処理単位の各々を、複数の並列計算機のそれぞれに割当てて演算処理を実行する並列演算処理装置であって、
    前記複数の並列計算機の各々は、
    前記複数の処理単位の中の少なくとも一つの処理単位を演算処理するプロセッサと、前記プロセッサは、割当てられた処理単位の演算処理完了に応答して、同期要求命令を出力し、
    前記複数の並列計算機の各々に備えられたプロセッサの演算処理状態を記憶する記憶回路と、
    前記複数の並列計算機の各々に備えられ、前記複数のプロセッサの中の一つに対応し、前記記憶回路に、前記複数の並列計算機の各々に割当てられた処理単位の演算処理の全てが完了したことを示す情報が書きこまれている場合、バリア同期が成立したことを示す処理完了情報を記憶するフラグ保持装置と、
    前記複数の並列計算機の各々に備えられ、前記複数のプロセッサの中の一つに対応し、前記同期要求命令及び同期要求パケットの受信に応答して前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定する同期監視装置と
    を具備し、
    前記同期監視装置は、
    前記同期要求パケットを受信した際、前記同期要求パケットに含まれる前記演算処理状態を基に、前記記憶回路に記憶される前記演算処理状態を更新後、前記監視を行い、
    前記判定の結果、前記複数の処理単位の演算処理が完了していない場合、前記複数の並列計算機のうちの前記処理単位の演算処理が未完了である他の並列計算機に備えられた他のプロセッサを抽出し、前記抽出の完了に応答して、前記記憶回路に記憶された前記演算処理状態を含む前記同期要求パケットを生成し、前記同期要求パケットを抽出されたプロセッサを備えた他の並列計算機の他の同期監視装置に送信し、
    前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記同期監視装置に対応するプロセッサに同期成立を通知し、同期成立パケットを生成し、前記同期成立パケットを前記複数の並列計算機のうち他の並列計算機の他の同期監視装置に送信し、
    前記同期成立パケットを受信した際、前記同期監視装置に対応するプロセッサに同期成立を通知する
    ことを特徴とする並列演算処理装置。
  2. コンピュータによる情報処理が可能なジョブを複数の処理単位に分割し、前記複数の処理単位の各々を、複数の並列計算機のそれぞれに割当てて演算処理を実行する並列演算処理プログラムであって、
    前記複数の並列計算機の各々を、
    前記複数の処理単位の中の少なくとも一つの処理単位を演算処理し、割当てられた処理単位の演算処理完了に応答して、同期要求命令を出力する演算処理手段と、
    前記複数の並列計算機の各々に備えられた演算処理手段の演算処理状態を記憶する記憶手段と、
    前記記憶手段に、前記複数の並列計算機の各々に割当てられた処理単位の演算処理の全てが完了したことを示す情報が書きこまれている場合、バリア同期が成立したことを示す処理完了情報を記憶するフラグ保持手段と、
    前記同期要求命令及び同期要求パケットの受信に応答して前記演算処理状態を監視し、前記監視に基づいて前記複数の処理単位の演算処理が完了したかどうかを判定し、前記複数の処理単位の演算処理完了に応答して、前記演算処理手段に同期成立を通知する同期監視装置手段として機能させ
    前記同期監視手段は、
    前記同期要求パケットを受信した際、前記同期要求パケットに含まれる前記演算処理状態を基に、前記記憶手段に記憶される前記演算処理状態を更新後、前記監視を行い、
    前記判定の結果、前記複数の処理単位の演算処理が完了していない場合、前記複数の並列計算機のうちの前記処理単位の演算処理が未完了である他の並列計算機に備えられた他の演算処理手段を抽出し、前記抽出の完了に応答して、前記記憶手段に記憶された前記演算処理状態を含む前記同期要求パケットを生成し、前記同期要求パケットを抽出された前記演算処理手段を備えた他の並列計算機の他の同期監視手段に送信し、
    前記判定の結果、前記複数の処理単位の演算処理が完了している場合、前記複数の処理単位の演算処理完了に応答して、前記演算処理手段に同期成立を通知し、同期成立パケットを生成し、前記同期成立パケットを他の並列計算機の他の同期監視手段に送信し、
    前記同期成立パケットを受信した際、前記演算処理手段に同期成立を通知する
    ことを特徴とする並列処理プログラム。
JP2004133315A 2004-04-28 2004-04-28 並列演算処理装置 Expired - Fee Related JP4259390B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004133315A JP4259390B2 (ja) 2004-04-28 2004-04-28 並列演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004133315A JP4259390B2 (ja) 2004-04-28 2004-04-28 並列演算処理装置

Publications (2)

Publication Number Publication Date
JP2005316679A JP2005316679A (ja) 2005-11-10
JP4259390B2 true JP4259390B2 (ja) 2009-04-30

Family

ID=35444045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004133315A Expired - Fee Related JP4259390B2 (ja) 2004-04-28 2004-04-28 並列演算処理装置

Country Status (1)

Country Link
JP (1) JP4259390B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4894391B2 (ja) * 2006-07-25 2012-03-14 横河電機株式会社 制御装置
JP5273045B2 (ja) * 2007-06-20 2013-08-28 富士通株式会社 バリア同期方法、装置、及びプロセッサ
JP2010020363A (ja) 2008-07-08 2010-01-28 Sony Corp 演算処理装置
JP5239751B2 (ja) 2008-10-31 2013-07-17 富士通株式会社 ノード間同期装置、ノード間同期方法およびノード間同期プログラム
JP5825346B2 (ja) * 2011-05-24 2015-12-02 富士通株式会社 データ処理方法及びデータ処理システム
KR102279025B1 (ko) 2014-12-12 2021-07-19 삼성전자주식회사 연산 프로세서 및 연산 프로세서의 동작 방법
US10896106B2 (en) * 2018-05-10 2021-01-19 Teradyne, Inc. Bus synchronization system that aggregates status
CN113821321B (zh) * 2021-08-31 2024-08-09 上海阡视科技有限公司 任务处理芯片、方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
JP2005316679A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
US10877766B2 (en) Embedded scheduling of hardware resources for hardware acceleration
US10169268B2 (en) Providing state storage in a processor for system management mode
JP6328134B2 (ja) クラスタ化されたコンピュータ・システムで通信チャネルのフェイルオーバを実行する方法、装置、およびプログラム
CN108647104B (zh) 请求处理方法、服务器及计算机可读存储介质
JP5737050B2 (ja) 情報処理装置、割込み制御方法および割込み制御プログラム
KR101400286B1 (ko) 다중 프로세서 시스템에서 작업을 이동시키는 방법 및 장치
US20060085794A1 (en) Information processing system, information processing method, and program
US8151147B2 (en) Synchronize error handling for a plurality of partitions
JP2009265963A (ja) 情報処理システム及びタスクの実行制御方法
CN103942178A (zh) 多核处理器上实时操作系统与非实时操作系统之间的通信方法
TWI528155B (zh) 在多核心處理系統中處理核心之重設
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
US20090083467A1 (en) Method and System for Handling Interrupts Within Computer System During Hardware Resource Migration
US9658861B2 (en) Boot strap processor assignment for a multi-core processing unit
JP2008262419A (ja) 情報処理装置、オペレーティングシステム選択方法、プログラム。
WO2016033755A1 (zh) 任务处理装置、电子设备及方法
JP4259390B2 (ja) 並列演算処理装置
US20190243673A1 (en) System and method for timing out guest operating system requests from hypervisor level
JP5672521B2 (ja) コンピュータシステム、およびそのチェックポイントリスタート方法
US9372816B2 (en) Advanced programmable interrupt controller identifier (APIC ID) assignment for a multi-core processing unit
JP2010140146A (ja) マルチコアプロセッサ,制御方法および情報処理装置
JP2021043725A (ja) 計算システム、計算方法及びプログラム
JP2013200805A (ja) 信号振り分けシステム、信号振り分け方法及びコンピュータ・プログラム
CN114691296A (zh) 中断处理方法、装置、介质及设备
JP2017138755A (ja) マルチプロセッサシステム、マルチプロセッサシステムにおける主記憶アクセス制御方法、及び、マルチプロセッサシステムにおける主記憶アクセス制御プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070625

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080411

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081008

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20081008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20081009

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081113

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

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

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

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees