JPH09269936A - リモートリード処理方法およびその装置 - Google Patents
リモートリード処理方法およびその装置Info
- Publication number
- JPH09269936A JPH09269936A JP8103674A JP10367496A JPH09269936A JP H09269936 A JPH09269936 A JP H09269936A JP 8103674 A JP8103674 A JP 8103674A JP 10367496 A JP10367496 A JP 10367496A JP H09269936 A JPH09269936 A JP H09269936A
- Authority
- JP
- Japan
- Prior art keywords
- remote
- processor
- read
- header
- remote read
- 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
Links
Landscapes
- Multi Processors (AREA)
Abstract
でのユーザプログラムの中断を無くす。 【解決手段】 プロセッサAのCPU111 上で走行する
ユーザプロセスはリモートリードの要求ヘッダ170 をヘ
ッダキュー120 に書き込み、ログバッファ127 にリモー
トリード完了通知が書き込まれるのを待つ。送信装置11
3 はヘッダ170 からリモートライトのヘッダを作成し、
それをパケット本体に持つリモートリードパケット171
を作成してプロセッサBに送る。プロセッサBの受信装
置214 は受信したパケット171 中のリモートライトのヘ
ッダ270 をヘッダキュー221 に書き込む。送信装置213
は、リモートライトのヘッダ270 を処理し、一連のリモ
ートライトのパケット271,274 を生成してプロセッサA
に送信する。受信装置114 は受信したパケット271,274
中のデータをメモリ112 に書き込み、最後にログバッフ
ァ127 にリモートリード完了通知を書き込む。
Description
ユニット)とメモリと受信装置と送信装置とを備えた複
数のプロセッサがプロセッサ間ネットワークを通じて相
互に接続されたシステムにおけるプロセッサ間通信に関
し、特に、或るプロセッサが他のプロセッサのメモリ上
のデータを読み出す処理であるリモートリードを、高速
に行うためのリモートリード処理方法およびその装置に
関する。
(オペレーティング・システム)が行うシステムコール
として実現されており、実際の処理はOS間のメッセー
ジ通信によって処理されていた。また、システムコール
の中では、OSは、宛先プロセッサのOSへのメッセー
ジとして、リモートリードを要求する。以下、図4を参
照して従来技術を説明する。
U111で走っているユーザプログラムからシステムコ
ールremote−readが実行されると、CPU1
11の制御はOSに切り替わり、OSが、データを読み
出す宛先プロセッサのOSへのメッセージとして、リモ
ートリードのメッセージのパーセルヘッダ160をメモ
リ112上のパーセルヘッダキュー120に作成する。
このリモートリードのメッセージのパーセルヘッダ16
0には、このパーセルヘッダ160から生成されるパケ
ット161中に示すように、メッセージの宛先プロセッ
サ番号162,リモートリードであることを示すメッセ
ージの種類163,読み出しワード数164,読み出し
アドレス165,読み出したデータを転送する宛先であ
る自プロセッサ番号(書き込みプロセッサ番号)16
6,読み出したデータの書き込みアドレス167等が含
まれる。そして、CPU111上のOSは送信装置11
3に対して、このリモートリードのメッセージのパーセ
ルの送信を要求する。送信装置113は、メモリ112
上のパーセルヘッダキュー120からこのパーセルヘッ
ダ160を読み出し、リモートリードのメッセージのパ
ケット161を生成し、図示しないプロセッサ間ネット
ワークを通じてプロセッサB201に送り出す。
61を受け取ったプロセッサB201の受信装置214
は、リモートリードのメッセージをメモリ212上のメ
ッセージバッファ228に書き込み、CPU211に対
し割り込みを発生し、OSにメッセージの処理を要求す
る。OSは、メモリ212上のメッセージバッファ22
8から、リモートリードのメッセージを読み出し、読み
出しアドレス165をソースアドレスとし、書き込みア
ドレス167をデスティネーションアドレスとするプロ
セッサA101宛のリモートライトパーセルヘッダ26
0と、プロセッサA101のOSへのリモートリード完
了のメッセージのパーセルヘッダ261とをメモリ21
2上のパーセルヘッダキュー220に作成し、送信装置
213に対して送信要求を発する。
OSからの送信要求を受け取ると、パーセルヘッダキュ
ー220内のリモートライトのパーセルヘッダ260を
読み出し、処理を行う。リモートライトのパーセルヘッ
ダ260は送信装置213によって、複数のリモートラ
イトパケット262となり、図示しないプロセッサ間ネ
ットワークを通じてプロセッサA101に送られる。そ
の後、送信装置213はパーセルヘッダキュー220内
のリモートリード完了のメッセージヘッダ261を読み
出して処理することにより、リモートリードの完了を伝
えるメッセージのパケット265をプロセッサA101
のOSに送る。
プロセッサB201からのリモートライトパケット26
2を受け取ると、そのパケット本体264をデスティネ
ーションアドレス263で指定されたメモリ112上の
アドレスに書き込む。また受信装置114は、その後に
続く、OSへのメッセージを受け取ると、メモリ112
上のメッセージバッファ128に書き込み、CPU11
1に対し割り込みを発生させる。OSは、メッセージを
読み出し、リモートリードの完了を知り、システムコー
ルから抜け出し、制御をユーザプログラムに移す。
み出したデータが次の処理に必要な場合が多く、いかに
速く処理するかで、プログラム全体の性能が左右され
る。従って、できるだけ速く処理しなければならない
が、上述した従来技術では、以下の点が問題である。
プロセッサでのリモートリード要求を行うまでの処理時
間が長くかかることである。その理由は、リモートリー
ドがOS間のメッセージによって実現されているため、
リモートリードを行う場合、システムコールを行う必要
があり、ユーザプログラムからOSへのコンテクストス
イッチが発生し、処理に時間がかかるからである。
れたプロセッサで、その処理時間が長くかかることであ
る。その理由は、リモートリードの要求はOS間のメッ
セージという形で伝えられるため、ユーザのプログラム
を実行していたCPUをOSに切り替えるための、コン
テクストスイッチの時間が必要となり、処理に時間がか
かるからである。
れたプロセッサでのユーザプログラムの実行時間が長く
なるということである。その理由は、リモートリードの
要求はOS間のメッセージという形で伝えられ、ユーザ
のプログラムを実行していたCPUをOSに切り替える
ため、ユーザプログラムが中断されるからである。
う場合、システムコールを行うためにユーザプログラム
からOSへのコンテクストスイッチが発生して依頼側プ
ロセッサでの処理に時間がかかり、また、OS間のメッ
セージによってリモートリードが依頼されるために宛先
プロセッサでもOSへのコンテクストの切り替えが必要
となって処理に時間がかかり、さらにそのとき、宛先プ
ロセッサでのユーザプログラムが中断されるという問題
がある。
要求したプロセッサ及び要求されたプロセッサでのユー
ザプログラムからOSへのコンテクストスイッチを無く
し、プログラム全体の性能を左右するリモートリードを
高速に処理し得るようにすることにある。
ドを要求されたプロセッサのCPUでのユーザプログラ
ムの実行を中断しないようにして、ユーザプログラムの
実行時間が長引かないようにすることにある。
処理方法は、CPUとメモリと送信装置と受信装置とを
備えた複数のプロセッサがプロセッサ間ネットワークを
介して接続されたシステムにおいて、或るプロセッサの
CPU上で走行しているユーザプロセスが別のプロセッ
サのメモリに格納されたデータをリードするリモートリ
ード処理方法において、リモートリード元プロセッサに
おいて、前記ユーザプロセスが、読み出しプロセッサ番
号,読み出しワード数,読み出しアドレスおよび書き込
みアドレスを含むリモートリードパーセルヘッダを、自
プロセッサのメモリ上のパーセルヘッダキューに書き込
んで自プロセッサの送信装置に送信を依頼した後、自プ
ロセッサのメモリ上のログバッファをポーリングしてリ
モートリードの完了を待つステップと、リモートリード
元プロセッサにおいて、送信を依頼された前記送信装置
が、自プロセッサのメモリ上のパーセルヘッダキューか
らリモートリードパーセルヘッダを読み出し、宛先プロ
セッサ番号に自プロセッサ番号を、ワード数に前記読み
出しワード数を、ソースアドレスに前記読み出しアドレ
スを、デスティネーションアドレスに前記書き込みアド
レスを、それぞれ設定したリモートライトパーセルヘッ
ダをパケット本体として持つリモートリードパケットを
生成して、プロセッサ間ネットワークを介して宛先のプ
ロセッサに送信するステップと、リモートリード先プロ
セッサにおいて、プロセッサ間ネットワークを介してリ
モートリードパケットを受信したプロセッサの受信装置
が、受信したリモートリードパケットのパケット本体で
あるリモートライトパーセルヘッダを、自プロセッサの
メモリ上のパーセルヘッダキューに書き込んで自プロセ
ッサの送信装置に送信を依頼するステップと、リモート
リード先プロセッサにおいて、送信を依頼された前記送
信装置が、自プロセッサのメモリ上のパーセルヘッダキ
ューからリモートライトパーセルヘッダを読み出して処
理し、一連のリモートライトのパケットを生成してプロ
セッサ間ネットワークを介してリモートリード元プロセ
ッサに送信するステップと、リモートリード元プロセッ
サにおいて、プロセッサ間ネットワークを介してリモー
トリードに対する応答である一連のリモートライトのパ
ケットを受信した受信装置が、受信したリモートライト
のパケットの本体に含まれるデータを自プロセッサのメ
モリに格納すると共に最後のパケットの受信時に自プロ
セッサのメモリ上のログバッファにリモートリードが完
了した旨を書き込むステップとを含むことを特徴とす
る。
は、リモートリード元プロセッサのCPU上で走行して
いるユーザプロセスが前記プロセッサとプロセッサ間ネ
ットワークを介して接続されたリモートリード先プロセ
ッサのメモリに格納されたデータをリードする際の処理
を司るリモートリード処理装置において、リモートリー
ド元プロセッサに設けられ、前記ユーザプロセスが、読
み出しプロセッサ番号,読み出しワード数,読み出しア
ドレスおよび書き込みアドレスを含むリモートリードの
パーセルヘッダを自プロセッサのメモリ上のパーセルヘ
ッダキューに書き込んだ後に出した送信の依頼を受け
て、そのリモートリードのパーセルヘッダを読み出し、
宛先プロセッサ番号に自プロセッサ番号を、ワード数に
前記読み出しワード数を、ソースアドレスに前記読み出
しアドレスを、デスティネーションアドレスに前記書き
込みアドレスを、それぞれ設定したリモートライトパー
セルヘッダをパケット本体として持つリモートリードパ
ケットを、プロセッサ間ネットワークを介してリモート
リード先プロセッサに送信するリモートリード元送信装
置と、リモートリード先プロセッサに設けられ、受信し
たリモートリードパケットのパケット本体であるリモー
トライトパーセルヘッダを、自プロセッサのメモリ上の
パーセルヘッダキューに書き込んで送信を依頼するリモ
ートリード先受信装置と、リモートリード先プロセッサ
に設けられ、前記リモートリード先受信装置からの送信
の依頼を受けて、前記パーセルヘッダキューからリモー
トライトパーセルヘッダを読み出して処理し、一連のリ
モートライトのパケットを生成してプロセッサ間ネット
ワークを介してリモートリード元プロセッサに送信する
リモートリード先送信装置と、リモートリード元プロセ
ッサに設けられ、受信したリモートライトのパケットの
本体に含まれるデータを自プロセッサのメモリに格納す
ると共に最後のパケットの受信時に自プロセッサのメモ
リ上のログバッファにリモートリードが完了した旨を書
き込むリモートリード元受信装置とを備えることを特徴
とする。
あっては、リモートリード元プロセッサのユーザプロセ
スが、読み出しプロセッサ番号,読み出しワード数,読
み出しアドレスおよび書き込みアドレスを含むリモート
リードパーセルヘッダを自プロセッサのメモリ上のパー
セルヘッダキューに書き込んだ後に通常用ヘッダキュー
オフセットレジスタの更新等によって送信を依頼する
と、そのリモートリード元プロセッサの送信装置が、こ
の送信の依頼を受けて、そのリモートリードパーセルヘ
ッダを読み出し、宛先プロセッサ番号に自プロセッサ番
号を、ワード数に前記読み出しワード数を、ソースアド
レスに前記読み出しアドレスを、デスティネーションア
ドレスに前記書き込みアドレスを、それぞれ設定したリ
モートライトパーセルヘッダをパケット本体として持つ
リモートリードパケットを、プロセッサ間ネットワーク
を介してリモートリード先プロセッサに送信する。次
に、リモートリード先プロセッサに設けられたリモート
リード先受信装置が、受信したリモートリードパケット
のパケット本体であるリモートライトパーセルヘッダ
を、自プロセッサのメモリ上のパーセルヘッダキューに
書き込んで、リモートリード用ヘッダキューオフセット
レジスタの更新等によってリモートリード先送信装置に
送信を依頼し、このリモートリード先送信装置が、パー
セルヘッダキューからリモートライトパーセルヘッダを
読み出して処理し、一連のリモートライトのパケットを
生成してプロセッサ間ネットワークを介してリモートリ
ード元プロセッサに送信する。そして、リモートリード
元プロセッサ上に設けられたリモートリード元受信装置
が、受信したリモートライトのパケットの本体に含まれ
るデータを自プロセッサのメモリに格納すると共に最後
のパケットの受信時に自プロセッサのメモリ上のログバ
ッファにリモートリードが完了した旨を書き込み、ユー
ザプロセスにリモートリードの完了を通知する。
いて図面を参照して詳細に説明する。
ある。図1に示されるように、複数のプロセッサ1は、
プロセッサ間ネットワーク2によって接続されている。
また各々のプロセッサ1は、CPU11と、メモリ12
と、送信装置13と、受信装置14と、これらを接続す
るバス10とを有している。なお、送信装置13と受信
装置14とでプロセッサ間通信装置が構成される。
ュー20とリモートリード用パーセルヘッダキュー21
の2つのパーセルヘッダキューが設けられている。リモ
ートリード用パーセルヘッダキュー21はリモートリー
ドの結果を送り返すのに用いられ、通常用パーセルヘッ
ダキュー20はそれ以外のパーセルの送信に用いられ
る。
ダキュー20を指す通常用ヘッダキューベースアドレス
レジスタ30および通常用ヘッダキューオフセットレジ
スタ32がある。通常用パーセルヘッダキュー20は通
常用ヘッダキュー20の先頭位置を示し、通常用ヘッダ
キューオフセットレジスタ32は通常用ヘッダキュー2
0内でのパーセルヘッダの書き込み位置を先頭からの相
対アドレスで示す。また、通常用ヘッダキュー20中に
未処理のパーセルヘッダが存在しない状態で通常用ヘッ
ダキューオフセットレジスタ32の値と等しい値を保持
する通常用ヘッダキューオフセットレジスタ31があ
る。更に、通常用ヘッダキューオフセットレジスタ32
の値と通常用ヘッダキューオフセットレジスタ31の値
とを比較する比較器33が設けられており、その比較結
果はシーケンサ37に入力される。また、上記の通常用
ヘッダキューオフセットレジスタ31の値のコピー25
が、通常用パーセルヘッダキュー20のベースアドレス
24(通常用ヘッダキューベースアドレスレジスタ30
の値と等価)と共にメモリ12上に格納されている。ま
た、通常用パーセルヘッダキュー20のどこまでが空き
なのかを示す(但し、どこまでが空きかは正確には通常
用ヘッダキューオフセットレジスタ32の値で決まる)
通常用ラストポインタ26もメモリ12上に格納されて
おり、CPU11はこれらの値を用いて通常用パーセル
ヘッダキュー20にパーセルヘッダ22を書き込む。
うに、リモートリード用パーセルヘッダキュー21に
も、それ用の下記のようなレジスタがある。先ず、受信
装置14には、リモートリード用ヘッダキューベースア
ドレスレジスタ50及びリモートリード用ヘッダキュー
オフセットレジスタ51がある。リモートリード用ヘッ
ダキューベースアドレスレジスタ50はリモートリード
用パーセルヘッダキュー21の先頭を指し、リモートリ
ード用ヘッダキューオフセットレジスタ51はリモート
リード用パーセルヘッダキュー21の書き込み位置をそ
の先頭からの相対アドレスで示す。これらは、受信装置
14がリモートリードの結果を送るためのパーセルヘッ
ダ22をリモートリード用パーセルヘッダキュー21に
書き込む時に用いられる。また、受信装置14は、リモ
ートリード用パーセルヘッダキュー21の空きの最後を
示す(但し、どこまでが空きかは正確にはリモートリー
ド用ヘッダキューオフセットレジスタ35の値で決ま
る)リモートリード用ラストポインタ52も装備してい
る。上述のリモートリード用ヘッダキューオフセットレ
ジスタ51とリモートリード用ラストポインタ52の値
は、比較器53によって比較され、その比較結果がシー
ケンサ55に入力されている。他方、送信装置13に
は、リモートリード用ヘッダキューベースアドレスレジ
スタ50およびリモートリード用ヘッダキューオフセッ
トレジスタ51と同様のリモートリード用ヘッダキュー
ベースアドレスレジスタ34およびリモートリード用ヘ
ッダキューオフセットレジスタ35があり、双方のリモ
ートリード用ヘッダキューオフセットレジスタ51,3
5の値を比較する比較器36を備えている。また、リモ
ートリード用ヘッダキューオフセットレジスタ35の値
は受信装置14内のデクリメンタ(−1回路)54で1
引かれ、リモートリード用ラストポインタ52に設定で
きるようになっている。
つのパーセルヘッダキュー20,21から読み出したパ
ーセルヘッダ22を格納するパーセルヘッダレジスタ3
8を備えている。このパーセルヘッダレジスタ38に
は、リモートリードのパーセルヘッダの処理に必要なリ
モートライトのパーセルヘッダの1ワード目39が予め
格納されている。更に、送信装置13は、パーセルヘッ
ダ22に書かれたソースアドレスが論理アドレスなの
で、それを物理アドレスに変換するためのTLB40を
備えている。
トワーク2から送られてきたパケットを一時格納するF
IFOメモリ56と、そのパケットのヘッダ部分を格納
するパケットヘッダレジスタ57を備えている。また、
受信装置14は、送られてきたパケットの書き込みアド
レスを論理アドレスから物理アドレスに変換するための
TLB58を備えている。
受信したリモートリードの返答のパケットの最後のパケ
ットの到着をユーザプロセスに知らせるためのログバッ
ファ27が設けられており、受信装置14には、このロ
グバッファ27の書き込みアドレスを保持するログバッ
ファアドレスレジスタ59がある。
されるパケットの構成を例示している。
ヘッダ300とパケット305の構成を示している。パ
ーセルヘッダ300は4ワードで構成される。1ワード
目301には、パーセルの種類や宛先のプロセッサ番
号,宛先プロセッサでの書き込みアドレス(デスティネ
ーションアドレス)が指定されているかどうかなどが指
定される。2ワード目302には、このパーセルで転送
するワード数が指定される。プロセッサ間ネットワーク
2を転送されるパケットは、プロセッサ間ネットワーク
2のハードウェアの制限で大きさが限られているので、
一般に、ここに指定されたワード数を転送するために
は、複数のパケットが用いられる。3ワード目303に
は、転送するデータが格納してあるメモリ12の先頭ア
ドレス(ソースアドレス)が指定される。4ワード目3
04には、宛先プロセッサでの書き込みアドレスである
デスティネーションアドレスが指定される。1ワード目
301で書き込みアドレスを送り側が指定しないことが
書かれた場合には、4ワード目304は使われない。す
なわち、送信装置13で4ワード目304の値は無視さ
れる。
で処理され、複数のパケット305となって、プロセッ
サ間ネットワーク2に送出される。パケット305の1
ワード目306には、パーセルヘッダ300の1ワード
目301とほぼ同じ情報が格納される。つまり、パケッ
トの種類や宛先プロセッサ番号,書き込みアドレスの選
択などである。その他に、宛先プロセッサでの受信が終
了した時点で、ログバッファ27に受信終了したことを
書き込むかどうかも指定される。2ワード目307に
は、パケット本体のワード数が指定される。3ワード目
308には、デスティネーションアドレスが格納され
る。もし、宛先プロセッサでの書き込みアドレスを受信
側が決定する場合には、パケットヘッダの3ワード目3
08は存在しない。これらパケットヘッダの後ろには、
パケットの本体309である転送されるデータが続く。
ヘッダ310とパケット315の形式を説明している。
リモートライトのパーセルヘッダ310の1ワード目3
11には、リモートライトのパーセルであることと宛先
プロセッサ番号,デスティネーションアドレスがあるこ
となどが指定されている。2ワード目312には転送す
るワード数が指定され、3ワード目313,4ワード目
314には、転送するデータのメモリ12上の格納アド
レスであるソースアドレスと、宛先プロセッサでの書き
込みアドレスであるデスティネーションアドレスとが指
定される。
ら生成されるパケット315では、リモートライトのパ
ケットであることと宛先プロセッサ番号,デスティネー
ションが付加されていることと、ログバッファ27にロ
グを残すかどうかを指定するビットが1ワード目316
に指定され、2ワード目317にはパケット本体のワー
ド数が、3ワード目318にはデスティネーションアド
レスが、それぞれ指定される。そして、その後にパケッ
ト本体319である転送するデータが続く。
ヘッダ320とパケット325とを説明している。リモ
ートリードのパーセルヘッダ320の1ワード目321
には、リモートリードのパーセルヘッダであることと、
宛先のプロセッサ番号とが格納される。2ワード目32
2にはリモートリードで読み出すワード数が、3ワード
目323には宛先プロセッサでの読み出しアドレスが、
4ワード目324にはリモートリードの結果を書き込む
アドレスが、それぞれ格納されている。
ルヘッダ320の場合には、通常のパーセルヘッダとは
異なった処理をして、リモートリードのパケット325
を作成する。リモートリードのパケット325は、1ワ
ード目326に、リモートリードのパケットであること
と、宛先プロセッサ番号とが格納される。2ワード目3
27には、リモートリードのパーセルヘッダ320の2
ワード目322の値ではなく、パケット本体のワード数
である4が格納される。3ワード目以降のパケット本体
にあたる部分には、リモートライトのパーセルヘッダ3
28を構成する4ワードが格納される。すなわち、3ワ
ード目329には、リモートライトのパーセルヘッダと
宛先である自分のプロセッサ番号とが、4ワード目33
0には、パーセルヘッダ320の2ワード目322で指
定されていたリモートリードで読み出すワード数が、5
ワード目331には、パーセルヘッダ320の3ワード
目323で指定されていた宛先プロセッサでの読み出し
アドレスがソースアドレスとして、6ワード目332に
は、パーセルヘッダ320の4ワード目324で指定さ
れていたリモートリードの結果を書き込むアドレスがデ
スティネーションアドレスとして、それぞれ格納され
る。リモートリードのパケット325は、その読み出し
ワード数にかかわらず、パケットワード数が4の1つの
パケットとなる。
動作説明図であり、プロセッサA101のユーザプログ
ラムがプロセッサB201のメモリ212上のデータ2
29をリモートリードする場合を説明している。以下、
その動作について各図を参照しながら説明する。
しているユーザプログラムが、通信ライブラリ関数re
mote−readを実行したとする。通信ライブラリ
関数remote−readの引数には、読み出しプロ
セッサ番号,読み出しワード数,宛先プロセッサでの読
み出しアドレス,読み出した結果を書き込むアドレスが
指定される。通信ライブラリはメモリ112上の通常用
ヘッダキューベースアドレスレジスタ24の値と通常用
ヘッダキューオフセットレジスタ31のコピー25の値
とを組み合わせてパーセルヘッダを書き込むアドレスを
計算し、そのアドレスにリモートリードのパーセルヘッ
ダ170を書き込み、送信装置113内の通常用ヘッダ
キューオフセットレジスタ31を1ヘッダ分更新する。
それと同時にメモリ112上の通常用ヘッダキューオフ
セットレジスタ31のコピー25も1ヘッダ分更新す
る。その後、通信ライブラリは、メモリ112上のログ
バッファ127をポーリングし、リモートリードの結果
が書き込まれるのを待つ。ここで、ユーザプログラムお
よび通信ライブラリがユーザプロセスを構成している。
時、通信ライブラリは、通常用ヘッダキューオフセット
のコピー25と通常用ラストポインタ26の値とを比較
し、一致していれば、通常用ヘッダキューオフセットレ
ジスタ32の値を通常用ラストポインタ26に設定し直
して再度比較を行い、それでも一致していれば、通常用
パーセルヘッダキュー120がほぼ満杯なので、その旨
をOSに伝える。一致していなければ、通常用パーセル
ヘッダキュー120に空きが十分にあるので、処理を続
ける。
3では、通常用ヘッダキューオフセットレジスタ31の
値と通常用ヘッダキューオフセットレジスタ32の値と
が比較器33で比較されているが、上述のように通信ラ
イブラリが通常用ヘッダキューオフセットレジスタ31
を1ヘッダ分更新すると、両者の値が異なるものとな
り、その旨が比較器33からシーケンサ37に伝えられ
る。これにより、シーケンサ37は自送信装置に送信が
依頼されたことを認識し、パーセルの送信処理を開始す
る。
ューアドレスベースレジスタ30および通常用ヘッダキ
ューオフセットレジスタ32の値が指すメモリ112の
アドレスから4ワードのパーセルヘッダ170を読み出
し、パーセルヘッダレジスタ38に格納する。次に、こ
のパーセルヘッダ170の1ワード目(図3(c)の3
21に相当)に書かれたパーセルの種類を検査し、この
パーセルヘッダ170がリモートリードのパーセルヘッ
ダであることを認識する。そして、パーセルヘッダの1
ワード目321をリモートリードのパケットの1ワード
目172に変換し、プロセッサ間ネットワーク2に送
る。そして、パケット長である4ワードをリモートリー
ドのパケットの2ワード目173としてプロセッサ間ネ
ットワーク2に送る。次に、予めパーセルヘッダレジス
タ38に格納されていたリモートライトのパケットヘッ
ダの1ワード目39に自分のプロセッサ番号を組み込み
リモートリードのパケットの3ワード目174としてプ
ロセッサ間ネットワーク2に送る。その後、パーセルヘ
ッダレジスタ38に格納したリモートリードのパーセル
ヘッダの2ワード目322から4ワード目324を、リ
モートリードのパケットの4ワード目175から6ワー
ド目177として、プロセッサ間ネットワーク2に送
る。以上で、プロセッサA101でのリモートリードの
パーセルの送出処理が完了する。なお、送信装置13は
通常用ヘッダキュー20中の1つのパーセルヘッダ22
を処理し終える毎に通常用ヘッダキューオフセットレジ
スタ32を1ヘッダ分増やす。この結果、通常用ヘッダ
キュー20の空き領域が増えるが、メモリ12に対する
アクセス頻度の増加を避けるため、通常用ヘッダキュー
オフセットレジスタ32の更新毎に通常用ラストポイン
タ26を更新することは行わない。
A101からのリモートリードのパケット171は、プ
ロセッサB201の受信装置214内のFIFOメモリ
56に格納される。FIFOメモリ56からパケットの
到着を知らされたシーケンサ55は、パケットの1ワー
ド目172と2ワード目173とをFIFOメモリ56
から読み出し、パケットヘッダレジスタ57に格納す
る。シーケンサ55はパケットの1ワード目172を検
査して、これがリモートリードのパケット171である
ことを認識する。そして、パケットの3ワード目以降に
続く4ワードのパケット本体の部分であるリモートライ
トのパーセルヘッダ270を、リモートリード用ヘッダ
キューベースアドレスレジスタ50とヘッダキューオフ
セットレジスタ51との組み合わせで計算できるメモリ
212上のリモートリード用パーセルヘッダキュー22
1のアドレスに書き込む。そして、リモートリード用ヘ
ッダキューオフセットレジスタ51を1ヘッダ分増や
す。これで、プロセッサB201の受信装置214での
リモートリードのパケット171の処理は完了する。
ット171の本体(リモートライトのパーセルヘッダ)
270を書き込むときに、リモートリード用ヘッダキュ
ーオフセットレジスタ51の値と、リモートリード用の
ラストポインタ52の値とが同じであることが比較器5
3で判定されている場合には、シーケンサ55は、送信
装置213のリモートリード用ヘッダキューオフセット
レジスタ35の値から−1回路54で1引いた値を最新
のラストポインタとしてリモートリード用ラストポイン
タ52に設定し、比較器53の判定結果を再度調べる。
もし、更新しても比較結果が変わらない場合には、リモ
ートリード用パーセルヘッダキュー221がほぼ満杯で
あることを表しているため、CPU211に対して割り
込みを起こし、例外処理を依頼する。
モートリード用ヘッダキューオフセットレジスタ51が
更新されると、リモートリード用ヘッダキューオフセッ
トレジスタ51の値と送信装置213内のリモートリー
ド用ヘッダキューオフセットレジスタ35の値とが相違
することになり、比較器36から不一致である旨の比較
結果がシーケンサ37に伝えられ、シーケンサ37は送
信が依頼されたことを認識する。シーケンサ37は、リ
モートリード用ヘッダキューベースアドレスレジスタ3
4およびリモートリード用ヘッダキューオフセットレジ
スタ35の値で指定されたメモリ212上のリモートリ
ード用パーセルヘッダキュー221からパーセルヘッダ
270を読み出し、パーセルヘッダレジスタ38に格納
する。次にシーケンサ37はパーセルヘッダ270の1
ワード目を検査し、これがリモートリード用パーセルヘ
ッダキュー221にあった、リモートライトのパーセル
ヘッダ270であることを認識する。そして、シーケン
サ37は通常のリモートライトのパーセルヘッダと同じ
ようにパーセルを処理する。すなわち、リモートライト
のパケットヘッダを作成して、パーセルヘッダ270の
3ワード目のソースアドレスで示されたメモリ212の
アドレスから2ワード目で示されたワード数を、4ワー
ド目で示されたデスティネーションアドレスに書き込む
リモートライトの複数のパケット271,…,274を
作成し、プロセッサ間ネットワーク2に送出する。ただ
し、通常のリモートライトと異なるのは、最後のパケッ
ト274の1ワード目には、このパケットの受信終了後
に、ログバッファ127にログを書き込むことを指定す
ることである。なお、送信装置13は1つのパーセルヘ
ッダ270を処理し終えるごとに、リモートリード用ヘ
ッダキューオフセットレジスタ35の値を1ヘッダ分だ
け増加する。
送られたリモートライトのパケット271,…,274
は、プロセッサA101の受信装置114で受信され
る。受信装置114は、各リモートライトのパケットを
処理し、送られてきたデータ273をパケットヘッダに
指定されたデスティネーションアドレス272に書き込
んでいく。最後のパケット274の処理では、パケット
本体を書き込んだ後、受信装置114内のログバッファ
アドレスレジスタ59で指されるメモリ112上のログ
バッファ127に受信が終了したこと(リモートリード
が完了したこと)を書き込み、ログバッファアドレスレ
ジスタ59の値を1増やす。
メモリ112上のログバッファ127にリモートリード
の完了が書き込まれたことを確認して、そのライブラリ
呼び出しを抜けて、CPU111の制御をユーザプログ
ラムに渡す。
のような効果を得ることができる。
間を短縮することができる。その理由は、リモートリー
ドの処理をOSのシステムコールではなく、ユーザプロ
セス(ユーザプログラム及びそれが呼び出した通信ライ
ブラリ)が行うため、呼び出し時にコンテクストスイッ
チをする必要がないからである。また、宛先プロセッサ
においても、CPUを介さないで、受信装置と送信装置
だけで処理されるため、CPUに割り込みを起こす必要
がなく、従来技術で問題であった宛先プロセッサでの割
り込みによるオーバヘッドがなくなるからである。つま
り、上記2箇所でのオーバヘッドがなくなることによ
り、リモートリードに要する時間が短縮される。
宛先プロセッサでの本来の処理が中断されないことであ
る。その理由は、宛先プロセッサの受信装置が、送られ
てきたリモートリードのパケットを解釈し、その本体と
して送られたリモートライトのパケットを直接メモリ上
のパケットヘッダキューに書き込み、送信装置に対して
処理を要求するからである。宛先プロセッサでのリモー
トリード処理には、CPUを一切必要としないため、宛
先プロセッサでの本来の処理が中断されることはない。
る。
図である。
ットの構成例を示す図である。
2の値を比較する比較器 34…リモートリード用ヘッダキューベースアドレスレ
ジスタ 35…リモートリード用ヘッダキューオフセットレジス
タ 36…リモートリード用ヘッダキューオフセットレジス
タ35,51の値を比較する比較器 37…送信装置のシーケンサ 38…パーセルヘッダレジスタ 39…リモートリードパーセルヘッダの1ワード目 40…送信装置のTLB 50…リモートリード用ヘッダキューベースアドレスレ
ジスタ 51…リモートリード用ヘッダキューオフセットレジス
タ 52…リモートリード用ラストポインタ 53…リモートリード用ヘッダキューオフセットレジス
タの値とリモートリード用ラストポインタの値を比較す
る比較器 54…デクリメンタ(−1回路) 55…受信装置のシーケンサ 56…FIFOメモリ 57…パケットヘッダレジスタ 58…受信装置のTLB 59…ログバッファアドレスレジスタ 101…プロセッサA 111…プロセッサAのCPU 112…プロセッサAのメモリ 113…プロセッサAの送信装置 114…プロセッサAの受信装置 120…プロセッサAの通常用パーセルヘッダキュー 127…プロセッサAのログバッファ 128…プロセッサAのメッセージバッファ 160…リモートリードのメッセージのパーセルヘッダ 161…リモートリードのメッセージのパケット 162…宛先プロセッサ番号;プロセッサB 163…メッセージの種類;リモートリード 164…リモートリードで読み出すワード数 165…リモートリードで読み出す先頭アドレス 166…リモートリードの結果を返すプロセッサ番号;
プロセッサA 167…リモートリードの結果を書き込むメモリアドレ
ス 170…リモートリードパーセルヘッダ 171…リモートリードパケット 172…リモートリードパケットの1ワード目 173…リモートリードパケットの2ワード目;パケッ
トワード数4ワード 174…リモートリードパケットの3ワード目;リモー
トライトパケットの1ワード目 175…リモートリードパケットの4ワード目 176…リモートリードパケットの5ワード目 177…リモートリードパケットの6ワード目 201…プロセッサB 211…プロセッサBのCPU 212…プロセッサBのメモリ 213…プロセッサBの送信装置 214…プロセッサBの受信装置 220…プロセッサBの通常用パーセルヘッダキュー 221…プロセッサBのリモートリード用パーセルヘッ
ダキュー 228…プロセッサBのメッセージバッファ 260…リモートライトパーセルヘッダ 261…リモートリード完了メッセージのパーセルヘッ
ダ 262…リモートライトパケット 263…リモートライトパケットのデスティネーション
アドレス 264…リモートライトパケットの本体(データ) 265…リモートリード完了メッセージのパケット 270…リードライトパーセルヘッダ 271…リモートリードの結果を送るリモートライトパ
ケット 272…リモートライトパケットに指定されたデスティ
ネーションアドレス 273…リモートライトパケットの本体(データ) 274…リモートリードの結果を送る最後のリモートラ
イトパケット 300…一般のパーセルヘッダ 301…一般のパーセルヘッダの1ワード目 302…一般のパーセルヘッダの2ワード目 303…一般のパーセルヘッダの3ワード目 304…一般のパーセルヘッダの4ワード目 305…一般のパケット 306…一般のパケットの1ワード目 307…一般のパケットの2ワード目 308…一般のパケットの3ワード目 309…一般のパケットのパケット本体 310…リモートライトのパーセルヘッダ 311…リモートライトのパーセルヘッダの1ワード目 312…リモートライトのパーセルヘッダの2ワード目 313…リモートライトのパーセルヘッダの3ワード目 314…リモートライトのパーセルヘッダの4ワード目 315…リモートライトのパケット 316…リモートライトのパケットの1ワード目 317…リモートライトのパケットの2ワード目 318…リモートライトのパケットの3ワード目 319…リモートライトのパケットの本体 320…リモートリードのパーセルヘッダ 321…リモートリードのパーセルヘッダの1ワード目 322…リモートリードのパーセルヘッダの2ワード目 323…リモートリードのパーセルヘッダの3ワード目 324…リモートリードのパーセルヘッダの4ワード目 325…リモートリードのパケット 326…リモートリードパケットの1ワード目 327…リモートリードパケットの2ワード目 328…リモートライトのパーセルヘッダ 329…リモートリードパケットの3ワード目 330…リモートリードパケットの4ワード目 331…リモートリードパケットの5ワード目 332…リモートリードパケットの6ワード目
Claims (4)
- 【請求項1】 CPUとメモリと送信装置と受信装置と
を備えた複数のプロセッサがプロセッサ間ネットワーク
を介して接続されたシステムにおいて、或るプロセッサ
のCPU上で走行しているユーザプロセスが別のプロセ
ッサのメモリに格納されたデータをリードするリモート
リード処理方法において、 リモートリード元プロセッサにおいて、前記ユーザプロ
セスが、読み出しプロセッサ番号,読み出しワード数,
読み出しアドレスおよび書き込みアドレスを含むリモー
トリードパーセルヘッダを、自プロセッサのメモリ上の
パーセルヘッダキューに書き込んで自プロセッサの送信
装置に送信を依頼した後、自プロセッサのメモリ上のロ
グバッファをポーリングしてリモートリードの完了を待
つステップと、 リモートリード元プロセッサにおいて、送信を依頼され
た前記送信装置が、自プロセッサのメモリ上のパーセル
ヘッダキューからリモートリードパーセルヘッダを読み
出し、宛先プロセッサ番号に自プロセッサ番号を、ワー
ド数に前記読み出しワード数を、ソースアドレスに前記
読み出しアドレスを、デスティネーションアドレスに前
記書き込みアドレスを、それぞれ設定したリモートライ
トパーセルヘッダをパケット本体として持つリモートリ
ードパケットを生成して、プロセッサ間ネットワークを
介して宛先のプロセッサに送信するステップと、 リモートリード先プロセッサにおいて、プロセッサ間ネ
ットワークを介してリモートリードパケットを受信した
プロセッサの受信装置が、受信したリモートリードパケ
ットのパケット本体であるリモートライトパーセルヘッ
ダを、自プロセッサのメモリ上のパーセルヘッダキュー
に書き込んで自プロセッサの送信装置に送信を依頼する
ステップと、 リモートリード先プロセッサにおいて、送信を依頼され
た前記送信装置が、自プロセッサのメモリ上のパーセル
ヘッダキューからリモートライトパーセルヘッダを読み
出して処理し、一連のリモートライトのパケットを生成
してプロセッサ間ネットワークを介してリモートリード
元プロセッサに送信するステップと、 リモートリード元プロセッサにおいて、プロセッサ間ネ
ットワークを介してリモートリードに対する応答である
一連のリモートライトのパケットを受信した受信装置
が、受信したリモートライトのパケットの本体に含まれ
るデータを自プロセッサのメモリに格納すると共に最後
のパケットの受信時に自プロセッサのメモリ上のログバ
ッファにリモートリードが完了した旨を書き込むステッ
プとを含むことを特徴とするリモートリード処理方法。 - 【請求項2】 前記ユーザプロセスは、自プロセッサの
メモリ上のパーセルヘッダキューにリモートリードパー
セルヘッダを書き込んだ後、そのパーセルヘッダキュー
の書き込み位置を示す通常用ヘッダキューオフセットレ
ジスタの値を1ヘッダ分更新することで送信の依頼を行
い、前記リモートリード元プロセッサの送信装置は、前
記通常用ヘッダキューオフセットレジスタの値が更新さ
れたことを検出することにより送信の依頼があったこと
を認識し、 前記リモートリード先プロセッサの受信装置は、自プロ
セッサのメモリ上のパーセルヘッダキューにリモートラ
イトパーセルヘッダを書き込んだ後、そのパーセルヘッ
ダキューの書き込み位置を示すリモートリード用ヘッダ
キューオフセットレジスタの値を1ヘッダ分更新するこ
とで送信の依頼を行い、前記リモートリード先プロセッ
サの送信装置は、前記リモートリード用ヘッダキューオ
フセットレジスタの値が更新されたことを検出すること
より送信の依頼があったことを認識することを特徴とす
る請求項1記載のリモートリード処理方法。 - 【請求項3】 リモートリード元プロセッサのCPU上
で走行しているユーザプロセスが前記プロセッサとプロ
セッサ間ネットワークを介して接続されたリモートリー
ド先プロセッサのメモリに格納されたデータをリードす
る際の処理を司るリモートリード処理装置において、 リモートリード元プロセッサに設けられ、前記ユーザプ
ロセスが、読み出しプロセッサ番号,読み出しワード
数,読み出しアドレスおよび書き込みアドレスを含むリ
モートリードのパーセルヘッダを自プロセッサのメモリ
上のパーセルヘッダキューに書き込んだ後に出した送信
の依頼を受けて、そのリモートリードのパーセルヘッダ
を読み出し、宛先プロセッサ番号に自プロセッサ番号
を、ワード数に前記読み出しワード数を、ソースアドレ
スに前記読み出しアドレスを、デスティネーションアド
レスに前記書き込みアドレスを、それぞれ設定したリモ
ートライトパーセルヘッダをパケット本体として持つリ
モートリードパケットを、プロセッサ間ネットワークを
介してリモートリード先プロセッサに送信するリモート
リード元送信装置と、 リモートリード先プロセッサに設けられ、受信したリモ
ートリードパケットのパケット本体であるリモートライ
トパーセルヘッダを、自プロセッサのメモリ上のパーセ
ルヘッダキューに書き込んで送信を依頼するリモートリ
ード先受信装置と、 リモートリード先プロセッサに設けられ、前記リモート
リード先受信装置からの送信の依頼を受けて、前記パー
セルヘッダキューからリモートライトパーセルヘッダを
読み出して処理し、一連のリモートライトのパケットを
生成してプロセッサ間ネットワークを介してリモートリ
ード元プロセッサに送信するリモートリード先送信装置
と、 リモートリード元プロセッサに設けられ、受信したリモ
ートライトのパケットの本体に含まれるデータを自プロ
セッサのメモリに格納すると共に最後のパケットの受信
時に自プロセッサのメモリ上のログバッファにリモート
リードが完了した旨を書き込むリモートリード元受信装
置とを備えることを特徴とするリモートリード処理装
置。 - 【請求項4】 前記リモートリード元送信装置は、 リモートリードパーセルヘッダを書き込むパーセルヘッ
ダキューの書き込み位置を示し、リモートリードパーセ
ルヘッダの書き込み後にユーザプロセスによって1ヘッ
ダ分更新される通常用ヘッダキューオフセットレジスタ
と、 該通常用ヘッダキューオフセットレジスタの値が更新さ
れることで送信を依頼されたことを認識する手段とを備
え、 前記リモートリード先受信装置は、 自プロセッサのメモリ上のパーセルヘッダキューにリモ
ートライトパーセルヘッダを書き込んだ後、そのパーセ
ルヘッダキューの次書き込み位置を示すリモートリード
用ヘッダキューオフセットレジスタの値を1ヘッダ分更
新することで送信の依頼を行う手段を備え、 前記リモートリード先送信装置は、 前記リモートリード用ヘッダキューオフセットレジスタ
の値が更新されることで送信を依頼されたことを認識す
る手段を備えることを特徴とする請求項3記載のリモー
トリード処理装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8103674A JP2924783B2 (ja) | 1996-03-30 | 1996-03-30 | リモートリード処理方法およびその装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8103674A JP2924783B2 (ja) | 1996-03-30 | 1996-03-30 | リモートリード処理方法およびその装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH09269936A true JPH09269936A (ja) | 1997-10-14 |
| JP2924783B2 JP2924783B2 (ja) | 1999-07-26 |
Family
ID=14360348
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8103674A Expired - Fee Related JP2924783B2 (ja) | 1996-03-30 | 1996-03-30 | リモートリード処理方法およびその装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2924783B2 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11316748A (ja) * | 1998-02-06 | 1999-11-16 | Ncr Internatl Inc | 並列処理コンピュ―タ・システムにおけるデ―タの転送方法 |
| JP2010508591A (ja) * | 2006-10-26 | 2010-03-18 | リード・コーク・エス | 並列コンピューティング・システムに使用されるネットワーク・インターフェース・カード |
| JP2013214168A (ja) * | 2012-03-30 | 2013-10-17 | Fujitsu Ltd | 情報処理装置、演算装置および情報転送方法 |
| JP2017010319A (ja) * | 2015-06-23 | 2017-01-12 | 富士通株式会社 | 演算処理装置、情報処理装置、および情報処理装置の制御方法 |
-
1996
- 1996-03-30 JP JP8103674A patent/JP2924783B2/ja not_active Expired - Fee Related
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH11316748A (ja) * | 1998-02-06 | 1999-11-16 | Ncr Internatl Inc | 並列処理コンピュ―タ・システムにおけるデ―タの転送方法 |
| JP2010508591A (ja) * | 2006-10-26 | 2010-03-18 | リード・コーク・エス | 並列コンピューティング・システムに使用されるネットワーク・インターフェース・カード |
| JP2013214168A (ja) * | 2012-03-30 | 2013-10-17 | Fujitsu Ltd | 情報処理装置、演算装置および情報転送方法 |
| US9003082B2 (en) | 2012-03-30 | 2015-04-07 | Fujitsu Limited | Information processing apparatus, arithmetic device, and information transferring method |
| JP2017010319A (ja) * | 2015-06-23 | 2017-01-12 | 富士通株式会社 | 演算処理装置、情報処理装置、および情報処理装置の制御方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2924783B2 (ja) | 1999-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0753817B1 (en) | Method and apparatus for data communication | |
| EP0674276B1 (en) | A computer system | |
| US5557744A (en) | Multiprocessor system including a transfer queue and an interrupt processing unit for controlling data transfer between a plurality of processors | |
| US5625846A (en) | Transfer request queue control system using flags to indicate transfer request queue validity and whether to use round-robin system for dequeuing the corresponding queues | |
| JPH06309252A (ja) | 相互接続インタフェース | |
| JPH03130863A (ja) | 制御要素転送システム | |
| JPH0824320B2 (ja) | 通信制御装置における緩衝域連鎖の方法およびその装置 | |
| JPH06202883A (ja) | プロセス間通信装置及び通信方法 | |
| CN111930676A (zh) | 多处理器间的通信方法、装置、系统及存储介质 | |
| JP3639319B2 (ja) | 並列計算機システム,データ転送制御方法および送受信制御装置 | |
| KR19980079670A (ko) | 멀티프로세서 시스템에서 인터럽트를 융통성있게 제어하기 위한 장치 | |
| CN114928511A (zh) | 数据处理设备及数据处理系统 | |
| US7788437B2 (en) | Computer system with network interface retransmit | |
| JP3641834B2 (ja) | 並列プロセッサシステムおよびそれに適したパケット廃棄方法 | |
| US5961614A (en) | System for data transfer through an I/O device using a memory access controller which receives and stores indication of a data status signal | |
| JP2924783B2 (ja) | リモートリード処理方法およびその装置 | |
| JP3189269B2 (ja) | ネットワークプリンタ | |
| US6098105A (en) | Source and destination initiated interrupt method for message arrival notification | |
| EP0578496A2 (en) | Job execution method in multi-CPU system | |
| JPH08202566A (ja) | プロセス間通信システム | |
| JP3115801B2 (ja) | 並列計算機システム | |
| JP2001325212A (ja) | マルチプロセッサシステムにおけるソースプロセッサから宛先プロセッサにデータブロックを送信する方法と装置 | |
| JP3058010B2 (ja) | プロセッサ間通信方法及び装置 | |
| JPH03127154A (ja) | 転送制御システム | |
| JP3799741B2 (ja) | バスコントローラ |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090507 Year of fee payment: 10 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100507 Year of fee payment: 11 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110507 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110507 Year of fee payment: 12 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120507 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120507 Year of fee payment: 13 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130507 Year of fee payment: 14 |
|
| FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140507 Year of fee payment: 15 |
|
| LAPS | Cancellation because of no payment of annual fees |