JP4080397B2 - Parallel computer - Google Patents

Parallel computer Download PDF

Info

Publication number
JP4080397B2
JP4080397B2 JP2003303604A JP2003303604A JP4080397B2 JP 4080397 B2 JP4080397 B2 JP 4080397B2 JP 2003303604 A JP2003303604 A JP 2003303604A JP 2003303604 A JP2003303604 A JP 2003303604A JP 4080397 B2 JP4080397 B2 JP 4080397B2
Authority
JP
Japan
Prior art keywords
time
node
slave
synchronization
master
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
JP2003303604A
Other languages
Japanese (ja)
Other versions
JP2005071280A (en
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003303604A priority Critical patent/JP4080397B2/en
Publication of JP2005071280A publication Critical patent/JP2005071280A/en
Application granted granted Critical
Publication of JP4080397B2 publication Critical patent/JP4080397B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、例えば、電力系統のリアルタイムシミュレーションに適用される並列計算機、マスタノード及びそのプログラム、スレーブノード及びそのプログラムに関するものである。   The present invention relates to a parallel computer, a master node and a program thereof, a slave node and a program thereof applied to, for example, a real-time simulation of a power system.

一般に、並列計算機によるシミュレーションでは、計算機間の同期は重要である。例えば、外部機器と接続するリアルタイム電力系統シミュレーションでは、計算刻み時間50μs程度でシミュレーションするため、同期時刻が計算機間で数10μsずれただけで、シミュレーション結果に悪影響を及ぼす。従って、正確な同期がとれるかどうかが、信頼性の高いシミュレータであることの一つの条件でもある。   In general, synchronization between computers is important in a parallel computer simulation. For example, in a real-time power system simulation connected to an external device, the simulation is performed with a calculation step time of about 50 μs. Therefore, the simulation result is adversely affected if the synchronization time is shifted by several tens of μs between computers. Therefore, whether or not accurate synchronization can be achieved is also a condition for a highly reliable simulator.

電力系統シミュレーションの分野では、近年の計算機技術の発展に伴い、従来のアナログシミュレータに代わって、設置スペース・操作性・現象の再現性に優れたディジタルシミュレータの開発が活発になってきた。電力系統のシミュレーションにおいて並列処理が有効であることは以前から知られており、これを実現するために専用ハードウェアあるいは共有メモリ型の非常に高性能な計算機上でシミュレーションソフトウェアが開発されてきた。しかし、これら計算機は非常に高価であることから、一般ユーザーへの普及が進みにくい状況にあった。このような高性能ハードウェアを採用した場合、CPU間通信は非常に高速であるため、CPU間の同期は大きな問題ではなかった。   In the field of power system simulation, with the recent development of computer technology, the development of digital simulators with excellent installation space, operability, and phenomenon reproducibility has become active in place of conventional analog simulators. It has been known for some time that parallel processing is effective in power system simulation, and simulation software has been developed on a very high-performance computer of dedicated hardware or shared memory to realize this. However, since these computers are very expensive, it has been difficult to spread to general users. When such high-performance hardware is adopted, communication between CPUs is very fast, so synchronization between CPUs is not a big problem.

一方、計算機技術者の間では、1990年代半ばに登場し、性能対コストパフォーマンスに優れたPCクラスタと呼ばれる新しい計算機プラットフォームが注目されるようになってきた。PCクラスタとは、汎用PC(パーソナルコンピュータ)をネットワーク装置で接続した分散並列処理システムの一般的な呼称である。本出願人は、このPCクラスタという新しい技術に注目し、他社に先駆けてPCクラスタ上で電力系統シミュレータの開発を開始した。開発したシミュレータでは、様々な高度な並列処理技術を適用して、高性能なシステムを実現した。開発システムでは、PC間の通信に高速なネットワーク装置を使用し、PC間通信ソフトウェアの高速化開発を行った結果、PC間の同期のずれを10μs程度の通信時間で抑えることに成功した。しかしながら、シミュレータのさらなる高性能化を目指すためには、この同期時刻のずれの改善が一つの課題でもある。   On the other hand, among computer engineers, a new computer platform called a PC cluster, which appeared in the mid-1990s and is excellent in performance and cost performance, has been attracting attention. A PC cluster is a general name for a distributed parallel processing system in which general-purpose PCs (personal computers) are connected by a network device. The present applicant paid attention to this new technology called the PC cluster, and started the development of a power system simulator on the PC cluster ahead of other companies. The developed simulator has realized a high-performance system by applying various advanced parallel processing technologies. In the development system, a high-speed network device was used for communication between PCs, and as a result of high-speed development of communication software between PCs, a synchronization shift between PCs was successfully suppressed in a communication time of about 10 μs. However, in order to further improve the performance of the simulator, improvement of this synchronization time shift is also an issue.

一般に、並列計算機の同期方法では、並列計算機のうち、1台をマスタノード、残りをスレーブノードとし、同期時刻はマスタノードにより管理していた。即ち、マスタノードは、シミュレーションの各タスク実行間隔毎に、全スレーブノードに同期信号を送信する。マスタノードの同期時刻は、この信号送信直前または全スレーブノードに送信完了直後のいずれかである。スレーブノードの同期時刻は、マスタノードからの信号受信直後である。あるいは、確実に送受信できていることを保証するため、スレーブノードで信号受信後、確認信号をマスタノードに送り返す方法もあった。このような方法を用いた場合には、マスタノードの同期時刻は、全スレーブノードから確認信号を受信した時刻であり、スレーブノードの同期時刻は、マスタノードに信号を送信した直後である。   In general, in the parallel computer synchronization method, one of the parallel computers is a master node, the remaining is a slave node, and the synchronization time is managed by the master node. That is, the master node transmits a synchronization signal to all slave nodes at each task execution interval of the simulation. The synchronization time of the master node is either immediately before this signal transmission or immediately after transmission to all slave nodes. The synchronization time of the slave node is immediately after reception of a signal from the master node. Alternatively, in order to ensure that transmission / reception can be performed reliably, there is a method of sending a confirmation signal back to the master node after receiving the signal at the slave node. When such a method is used, the synchronization time of the master node is the time when the confirmation signal is received from all the slave nodes, and the synchronization time of the slave node is immediately after the signal is transmitted to the master node.

従来、このような並列計算機の同期に関する技術としては、例えば特許文献1に示すものがあった。このような従来技術では、バリア同期機構の複雑化を招かず、しかも特別な通信機構を設けずに、自装置内でのバリア同期成立の情報を送受信することによって並列処理の完了を検出する。このように、従来の技術では、計算機間の同期をとるためには、同期信号を送受信する必要があり、この通信時間の遅延は本質的に避けることはできない。   Conventionally, as a technique related to synchronization of such parallel computers, for example, there has been one disclosed in Patent Document 1. In such a conventional technique, the completion of parallel processing is detected by transmitting and receiving information on the establishment of barrier synchronization in the own apparatus without incurring the complexity of the barrier synchronization mechanism and without providing a special communication mechanism. Thus, in the conventional technique, in order to synchronize computers, it is necessary to transmit and receive a synchronization signal, and this communication time delay cannot be avoided essentially.

特開2001−51966号公報JP 2001-51966 A

上記従来の一般的な同期方法を用いた場合、以下のような問題点があった。
従来の技術では、PCクラスタのような分散並列計算機では、同期信号の送受信は、イーサネット(登録商標)(米国ゼロックス社の登録商標)などのネットワーク通信により行う。しかし、この通信時間は、ギガビットイーサーネット(登録商標)でも数10μs、もっと高速なMyrinet (米国Myricom 社の登録商標)でも10μs程度の通信時間がかかる。このような通信時間に起因する遅延により、全計算機で真に正確な同期をとることができない。これは、現在のハードウェア技術では解決できない問題であり、将来的にも通信時間を0にすることは不可能である。
When the conventional general synchronization method is used, there are the following problems.
In a conventional technique, in a distributed parallel computer such as a PC cluster, transmission / reception of synchronization signals is performed by network communication such as Ethernet (registered trademark) (registered trademark of Xerox Corporation in the United States). However, this communication time takes several tens of μs even for Gigabit Ethernet (registered trademark), and about 10 μs even for higher speed Myrinet (registered trademark of Myricom, USA). Due to such a delay due to the communication time, it is impossible to achieve truly accurate synchronization in all computers. This is a problem that cannot be solved by the current hardware technology, and it is impossible to reduce the communication time to 0 in the future.

特に、電力系統シミュレータのように、計算刻み時間50μsが要求されるようなシミュレーションにおいては、この同期時刻のずれがシミュレーションの信頼性を損なうことがある。この同期の問題が、リアルタイム電力系統シミュレーションの分野で本出願人以外がPCクラスタを使わない一つの原因でもある。本出願人は、PC間通信ソフトウェアの高速化開発を行った結果、上述した従来の方法でPC間通信時間10μsを実現し、多くの場合、シミュレーション結果に問題がないことを確認している。しかしながら、シミュレータのさらなる高性能化・高信頼化を目指した場合、この同期時刻のずれの改善が課題の一つであった。   In particular, in a simulation that requires a calculation step time of 50 μs, such as a power system simulator, this shift in synchronization time may impair the reliability of the simulation. This synchronization problem is one reason why the PC cluster is not used by anyone other than the present applicant in the field of real-time power system simulation. As a result of high-speed development of the PC-to-PC communication software, the present applicant has realized the PC-to-PC communication time of 10 μs by the above-described conventional method, and in many cases, has confirmed that there is no problem in the simulation result. However, when aiming for higher performance and higher reliability of the simulator, improvement of the synchronization time shift was one of the problems.

もっとも、ネットワーク通信を用いずに、非常に高性能なDIOカードといった通信装置により同期信号を送受信することもできる。しかし、このような通信装置は、PC本体と比べて何倍も高価であり、正確な同期のためだけに、このような高価なハードウェアを採用するのは現実的ではない。
この発明は上記のような課題を解決するためになされたもので、第1の目的は、高価なハードウェアを用いることなく、汎用のPCと汎用のネットワークを用いて並列計算機における正確な同期を実現するものである。
However, the synchronization signal can be transmitted and received by a communication device such as a very high performance DIO card without using network communication. However, such a communication device is many times more expensive than the PC main body, and it is not realistic to employ such expensive hardware only for accurate synchronization.
The present invention has been made to solve the above-described problems. The first object is to perform accurate synchronization in a parallel computer using a general-purpose PC and a general-purpose network without using expensive hardware. It is realized.

この発明に係る並列計算機は、そのマスタノードが、スレーブノードに対してタスク実行間隔の同期を開始させるための同期開始信号を送信すると共に、自己が管理する送信開始時刻を基準として、マスタノードからスレーブノードへの通信時間に基づいて求めた同期開始時刻でタスク実行間隔の同期を開始するようにしたものである。また、予め決められた特定の時刻間隔でタスク実行間隔の同期時刻修正のための監視信号を送信する監視信号送信手段を備えたものである。また、そのスレーブノードが、マスタノードからの同期開始信号を受信した場合、自己が管理する受信時刻に基づいて、マスタノードの同期開始時刻に一致した自スレーブノードの同期開始時刻を決定し、この時刻でタスク実行間隔の同期を開始するようにしたものである。更に、スレーブノードにおいて、監視信号を受信した場合に、スレーブ側時刻管理手段が管理する受信時刻と、マスタ側時刻管理手段が管理する監視信号の送信時刻にマスタノードから自スレーブノードへの通信時間を加えた時刻とのずれを測定し、測定したずれの値に基づき、特定の時刻間隔で自スレーブノードのタスク実行間隔の同期時刻をマスタノードのタスク実行間隔の同期時刻に一致させる時刻修正手段とを備えたものである。 In the parallel computer according to the present invention, the master node transmits a synchronization start signal for starting synchronization of task execution intervals to the slave node, and from the master node based on the transmission start time managed by the master node. The task execution interval synchronization is started at the synchronization start time obtained based on the communication time to the slave node. In addition, there is provided monitoring signal transmission means for transmitting a monitoring signal for correcting the synchronization time of the task execution interval at a predetermined specific time interval. When the slave node receives the synchronization start signal from the master node, the slave node determines the synchronization start time of the slave node that matches the synchronization start time of the master node based on the reception time managed by the slave node. The task execution interval synchronization is started at the time. Further, when the monitoring signal is received at the slave node, the communication time from the master node to the own slave node at the reception time managed by the slave time management means and the transmission time of the monitoring signal managed by the master time management means Time correction means for measuring a deviation from the time at which the task is added and matching the synchronization time of the task execution interval of the own slave node with the synchronization time of the task execution interval of the master node at a specific time interval based on the measured deviation value It is equipped with.

この発明は、マスタノードとスレーブノード間の通信時間に基づいた同期開始時刻により、マスタノードとスレーブノード間のタスク実行間隔の同期を開始するようにしたので、従来では避けることができなかった同期信号の送受信時間に起因する同期時刻のずれが発生せず、正確な計算機間の同期を実現することができる。   In the present invention, synchronization of the task execution interval between the master node and the slave node is started based on the synchronization start time based on the communication time between the master node and the slave node. A synchronization time shift due to signal transmission / reception time does not occur, and accurate synchronization between computers can be realized.

実施の形態1.
先ず、本発明の実施の形態1の概要を説明する。
実施の形態1の並列計算機は、マスタノードからの同期信号でスレーブノードの同期を行うのではなく、スレーブノードが独自に時刻管理を行うようにしたものであり、そのため、大きく分けて、次のような三つの特徴点を有している。
(1)同期開始時刻の決定方法
(2)同期開始後に発生する、同期時刻のずれの自動補正方法
(3)自動補正の監視方法
Embodiment 1 FIG.
First, an outline of the first embodiment of the present invention will be described.
The parallel computer according to the first embodiment does not synchronize the slave node with the synchronization signal from the master node, but the slave node independently performs time management. It has the following three feature points.
(1) Method for determining synchronization start time (2) Automatic correction method for synchronization time deviation occurring after synchronization start (3) Automatic correction monitoring method

本実施の形態では、計算機のうち一つをマスタノードとし、その他をスレーブノードとする。以下、4台の同一ハードウェア構成の計算機があり、1台をマスタノード、3台をスレーブノードとした場合を例として説明する。   In the present embodiment, one of the computers is a master node and the other is a slave node. In the following, an example will be described in which there are four computers with the same hardware configuration, one being a master node and three being slave nodes.

前処理として、マスタノードと各スレーブノード間の通信時間は予め測定しておく。即ち、マスタノード→スレーブノード#1、マスタノード→スレーブノード#2、・・・、マスタノード→スレーブノード#N(スレーブノードが3台の場合、N=3)の各通信時間を測定しておく。このようなマスタノードと各スレーブノード間の通信時間を予め測定する点が本実施の形態における一つの特徴である。   As preprocessing, the communication time between the master node and each slave node is measured in advance. That is, measure each communication time of master node → slave node # 1, master node → slave node # 2,..., Master node → slave node #N (N = 3 when there are three slave nodes). deep. One feature of the present embodiment is that the communication time between the master node and each slave node is measured in advance.

(1)同期開始時刻の決定方法
[マスタノードの動作]
先ず、スレーブノード#1に同期開始信号を送信する。
送信命令実行後、予め測定済のマスタノード−スレーブノード#1間にかかる通信時間の間だけ待つ。
次に、スレーブノード#2に同期開始信号を送信する。
送信命令実行後、予め測定済のマスタノード−スレーブノード#2間にかかる通信時間の間だけ待つ。
最後に、スレーブノード#3に同期開始信号を送信する。
送信命令実行後、予め測定済のマスタノード−スレーブノード#3間にかかる通信時間の間だけ待つ。
最後の通信時間待ちが完了した時刻を、同期開始時刻とする。
(1) Method for determining synchronization start time [operation of master node]
First, a synchronization start signal is transmitted to slave node # 1.
After the transmission command is executed, it waits only for the communication time required between the master node and slave node # 1 that have been measured in advance.
Next, a synchronization start signal is transmitted to slave node # 2.
After the transmission command is executed, it waits only for the communication time required between the master node and slave node # 2 that have been measured in advance.
Finally, a synchronization start signal is transmitted to slave node # 3.
After the transmission command is executed, it waits only for the communication time required between the master node and slave node # 3 that have been measured in advance.
The time when the last communication time waiting is completed is set as the synchronization start time.

[スレーブノード#1の動作]
マスタノードが最初の同期開始信号を送信する前に、信号受信待ち状態で待機する。
マスタノードからの同期開始信号受信完了後、予め測定済のマスタノード−スレーブノード#2間の通信時間と、マスタノード−スレーブノード#3間の通信時間の合計値の間だけ待つ。この通信時間待ちが完了した時刻を、同期開始時刻とする。
[Operation of slave node # 1]
The master node waits in a signal reception waiting state before transmitting the first synchronization start signal.
After completion of reception of the synchronization start signal from the master node, it waits for the total value of the communication time between master node-slave node # 2 that has been measured in advance and the communication time between master node-slave node # 3. The time when the waiting for the communication time is completed is set as the synchronization start time.

[スレーブノード#2の動作]
マスタノードが最初の同期開始信号を送信する前に、信号受信待ち状態で待機する。
マスタノードからの同期開始信号受信完了後、予め測定済のマスタノード−スレーブノード#3間にかかる通信時間の間だけ待つ。この通信時間待ちが完了した時刻を、同期開始時刻とする。
[Operation of slave node # 2]
The master node waits in a signal reception waiting state before transmitting the first synchronization start signal.
After completion of receiving the synchronization start signal from the master node, it waits for the communication time required between the master node and slave node # 3 that have been measured in advance. The time when the waiting for the communication time is completed is set as the synchronization start time.

[スレーブノード#3の動作]
マスタノードが最初の同期開始信号を送信する前に、信号受信待ち状態で待機する。
マスタノードからの同期開始信号受信が完了した時刻を、同期開始時刻とする。
[Operation of slave node # 3]
The master node waits in a signal reception waiting state before transmitting the first synchronization start signal.
The time when the synchronization start signal reception from the master node is completed is set as the synchronization start time.

(2)同期開始後に発生する、同期時刻のずれの自動補正方法
同期開始後のシミュレーション中の時間管理は、各スレーブノードが独立して行う。スレーブノード毎のCPUクロックの微妙なずれによるタスク実行間隔の同期時刻のずれは、以下のようにして自動補正する。
予め、マスタノードと各スレーブノードの間で、所定時間(例えば1秒間)のテストシミュレーションを実施し、マスタノードの時間管理と各スレーブノードの時間管理の間で、テストシミュレーション中に1秒間に発生するずれの値を測定しておく。実際のシミュレーション中は、各スレーブノードのタスク実行間隔毎に、このずれの値に基づく時刻補正係数を用いて、独立に同期時刻のずれを補正する。
(2) Automatic correction method for synchronization time shift that occurs after the start of synchronization Time management during simulation after the start of synchronization is performed independently by each slave node. A shift in the synchronization time of the task execution interval due to a subtle shift in the CPU clock for each slave node is automatically corrected as follows.
A test simulation for a predetermined time (for example, 1 second) is performed in advance between the master node and each slave node, and occurs during the test simulation between the time management of the master node and the time management of each slave node. Measure the deviation value. During actual simulation, the synchronization time shift is corrected independently using a time correction coefficient based on this shift value at each task execution interval of each slave node.

(3)自動補正の監視方法
各スレーブノードでは、それぞれの時刻補正係数を用いて独自に時刻管理を補正しているが、この補正が正しいかを以下のようにして監視する。
予め決められた特定の時刻間隔で、マスタノードから各スレーブノードに時刻補正係数を修正するための監視信号を送り、各スレーブノードでは、その受信した時刻に基づいて、時刻補正係数による補正が正しいかを確認する。補正結果にずれがあった場合は、時刻補正係数を調整する。
以上が、実施の形態1の概要である。以下、このような実施の形態1を更に詳細に説明する。
(3) Monitoring method of automatic correction Each slave node independently corrects time management by using its time correction coefficient, and monitors whether this correction is correct as follows.
A monitoring signal for correcting the time correction coefficient is sent from the master node to each slave node at a predetermined time interval, and the correction by the time correction coefficient is correct based on the received time at each slave node. To check. If there is a deviation in the correction result, the time correction coefficient is adjusted.
The above is the outline of the first embodiment. Hereinafter, the first embodiment will be described in more detail.

図1は、この発明の実施の形態1による並列計算機を示すブロック図である。
図示の並列計算機は、マスタノード1と3台のスレーブノード2(2a〜2c)からなる4台の同一ハードウェア構成の並列計算機の例を示している。尚、スレーブノード2a,2b,2cは、それぞれ同様の構成であるため、スレーブノード2a以外は、内部の機能ブロックの図示を省略している。以下、スレーブノード2a〜2cに共通する構成、動作の場合は、スレーブノード2として説明する。
FIG. 1 is a block diagram showing a parallel computer according to Embodiment 1 of the present invention.
The illustrated parallel computer is an example of four parallel computers having the same hardware configuration including a master node 1 and three slave nodes 2 (2a to 2c). Since the slave nodes 2a, 2b, and 2c have the same configuration, illustration of internal functional blocks is omitted except for the slave node 2a. Hereinafter, the configuration and operation common to the slave nodes 2a to 2c will be described as the slave node 2.

これらの並列計算機はPCクラスタを構成するものである。各PCは、図示しないNIC(Network Interface Card )を有し、ケーブルを用い、相互にスイッチングハブ等を介して接続されている。尚、NICやケーブルおよびスイッチングハブは、公知の汎用のNICやケーブルおよびスイッチングハブであるため、ここでの図示およびその説明は省略する。   These parallel computers constitute a PC cluster. Each PC has a NIC (Network Interface Card) (not shown) and is connected to each other via a switching hub or the like using a cable. The NIC, the cable, and the switching hub are well-known general-purpose NICs, cables, and switching hubs, and illustration and description thereof are omitted here.

図1において、マスタノード1は、通信時間測定手段11、補正係数用信号送信手段12、マスタ側同期開始手段13、タスク実行手段14、マスタ側時刻管理手段15、監視信号送信手段16を備えている。通信時間測定手段11は、マスタノード1と各スレーブノード2との通信時間を計測する機能を有している。補正係数用信号送信手段12は、各スレーブノード2に対して、補正係数計測のための補正係数用信号を送信する機能を有している。マスタ側同期開始手段13は、スレーブノード2に対して、タスク実行間隔の同期を開始させるための同期開始信号を送信すると共に、スレーブノード2への通信時間に基づいて求めた同期開始時刻で同期を開始する機能を有している。タスク実行手段14は、シミュレーションのタスクを実行する機能を有している。マスタ側時刻管理手段15は、マスタノード1側の同期時刻や送信時刻といった時刻の管理を行う機能部である。監視信号送信手段16は、予め決められた特定の時刻間隔で時刻補正係数を修正するための監視信号を各スレーブノード2に送信する機能を有している。   In FIG. 1, the master node 1 includes a communication time measuring unit 11, a correction coefficient signal transmitting unit 12, a master side synchronization starting unit 13, a task executing unit 14, a master side time managing unit 15, and a monitoring signal transmitting unit 16. Yes. The communication time measuring unit 11 has a function of measuring the communication time between the master node 1 and each slave node 2. The correction coefficient signal transmission unit 12 has a function of transmitting a correction coefficient signal for measuring a correction coefficient to each slave node 2. The master side synchronization start means 13 transmits a synchronization start signal for starting synchronization of task execution intervals to the slave node 2 and is synchronized at the synchronization start time obtained based on the communication time to the slave node 2. Has the function to start. The task execution means 14 has a function of executing a simulation task. The master-side time management means 15 is a functional unit that manages time such as synchronization time and transmission time on the master node 1 side. The monitoring signal transmission means 16 has a function of transmitting a monitoring signal for correcting the time correction coefficient to each slave node 2 at a predetermined specific time interval.

スレーブノード2は、補正係数算出手段21、スレーブ側同期開始手段22、タスク実行手段23、時刻補正手段24、スレーブ側時刻管理手段25、監視信号受信手段26、補正係数修正手段27を備えている。補正係数算出手段21は、マスタノード1から送信された補正係数用信号を受信し、この信号の受信時刻に基づいてマスタノード1とスレーブノード2間における所定時間当たりのずれ時間を求め、このずれ時間から補正係数を算出する機能を有している。スレーブ側同期開始手段22は、マスタノード1からの同期開始信号を受信した場合、スレーブ側時刻管理手段25が管理する受信時刻に基づいて自己の同期開始時刻を決定し、その時刻で同期を開始する機能を有している。   The slave node 2 includes correction coefficient calculation means 21, slave side synchronization start means 22, task execution means 23, time correction means 24, slave side time management means 25, monitoring signal reception means 26, and correction coefficient correction means 27. . The correction coefficient calculation means 21 receives the correction coefficient signal transmitted from the master node 1, obtains a shift time per predetermined time between the master node 1 and the slave node 2 based on the reception time of this signal, and this shift It has a function to calculate a correction coefficient from time. When receiving the synchronization start signal from the master node 1, the slave side synchronization start means 22 determines its own synchronization start time based on the reception time managed by the slave side time management means 25, and starts synchronization at that time. It has a function to do.

タスク実行手段23は、シミュレーションのタスクを実行する機能部である。時刻補正手段24は、補正係数算出手段21で算出された補正係数に基づいて時刻の補正を行う機能部である。スレーブ側時刻管理手段25は、スレーブノード2としての時刻管理を行う機能部である。監視信号受信手段26は、マスタノード1から予め決められた特定の時刻間隔で送信される監視信号を受信する機能部である。補正係数修正手段27は、監視信号受信手段26で受信した監視信号に基づいて、時刻補正手段24にて補正された時刻とのずれがあった場合は、時刻補正手段24が用いる補正係数を修正する機能を有している。   The task execution unit 23 is a functional unit that executes a simulation task. The time correction unit 24 is a functional unit that corrects the time based on the correction coefficient calculated by the correction coefficient calculation unit 21. The slave-side time management means 25 is a functional unit that performs time management as the slave node 2. The monitoring signal receiving unit 26 is a functional unit that receives a monitoring signal transmitted from the master node 1 at a predetermined time interval. The correction coefficient correction means 27 corrects the correction coefficient used by the time correction means 24 when there is a deviation from the time corrected by the time correction means 24 based on the monitoring signal received by the monitoring signal reception means 26. It has a function to do.

尚、上記のマスタノード1における通信時間測定手段11〜監視信号送信手段16およびスレーブノード2における補正係数算出手段21〜補正係数修正手段27は、それぞれ、各機能に対応したプログラムと、これらのプログラムを実行するためのCPUやメモリ等からなるハードウェアとによって構成されている。   The communication time measuring means 11 to the monitoring signal transmitting means 16 in the master node 1 and the correction coefficient calculating means 21 to the correction coefficient correcting means 27 in the slave node 2 are respectively a program corresponding to each function and these programs. And hardware composed of a CPU, a memory, and the like.

次に、本実施の形態の並列計算機の動作を説明する。動作説明として、先ず、シミュレーション開始処理に先立って行うマスタノード1とスレーブノード2との通信時間の測定について説明する。
図2は、マスタノード1とスレーブノード2との往復通信時間(ラウンドトリップタイム:RTT)の計測方法の説明図である。
Next, the operation of the parallel computer of this embodiment will be described. As an explanation of the operation, first, measurement of communication time between the master node 1 and the slave node 2 performed prior to the simulation start process will be described.
FIG. 2 is an explanatory diagram of a method for measuring the round-trip communication time (round trip time: RTT) between the master node 1 and the slave node 2.

ラウンドトリップタイムとは、2台の計算機のうち、一方の計算機が他方の計算機に向かってデータを送信し、他方の計算機がこのデータ受信後、一方の計算機にデータを送信し、一方の計算機がこのデータを受信するまでの時間である。データの送受信にかかる時間は、図2に示すように、送信側(図ではマスタノード)の処理100a(図示しないCPUとNICの処理)、ケーブル間のデータ移動とスイッチングハブの処理(図中の矢印部分)、受信側(図ではスレーブノード)の処理100b(図示しないCPUとNICの処理)の三つに分けることができる。   Round trip time means that one of two computers sends data to the other computer, and after the other computer receives this data, it sends the data to one computer. This is the time until this data is received. As shown in FIG. 2, the time required for data transmission / reception includes processing 100a (CPU and NIC processing not shown) on the transmission side (master node in the figure), data movement between cables and processing of the switching hub (shown in the figure). The process can be divided into three parts, that is, the process 100b (CPU and NIC processes not shown) on the receiving side (slave node in the figure).

マスタノード1とスレーブノード2が同一のハードウェア構成である場合、片道の通信時間は、ラウンドトリップタイムRTTの半分であると推定できる。通常、ラウンドトリップタイム計測時に、その他の通信が全く行われていない場合には、このラウンドトリップタイムはほぼ一定であり、その誤差は通常1μs以下である。以上により、本発明が対象とする分散並列計算機においても、予めラウンドトリップタイムを測定することにより、正確な計算機間片道通信時間を知っておくことができる。   When the master node 1 and the slave node 2 have the same hardware configuration, it can be estimated that the one-way communication time is half of the round trip time RTT. Normally, when no other communication is performed at the time of round trip time measurement, this round trip time is almost constant, and the error is usually 1 μs or less. As described above, even in the distributed parallel computer targeted by the present invention, it is possible to know the accurate one-way communication time between computers by measuring the round trip time in advance.

各スレーブノード2のラウンドトリップタイムRTT1〜RTT3は、マスタノード1の通信時間測定手段11により、シミュレーション前にシステムデータとして計測しておくが、その計測方法を次に説明する。
図3は、ラウンドトリップタイムの測定方法のフローチャートである。
マスタノード1において、計測反復回数として、通信回数(例えばn=10,000回)が入力される(ステップST1a)。その後、実際の測定が開始される。先ず、開始時刻t0を計測し、これを保持しておく(ステップST2a)。次に、1回目の送信を行う(ステップST3a)。尚、この場合の送信データは、単に送受信の確認が行えるものであれば、そのデータの内容は特にどのようなものであってもよい。
The round trip times RTT1 to RTT3 of each slave node 2 are measured as system data before simulation by the communication time measuring means 11 of the master node 1, and the measuring method will be described next.
FIG. 3 is a flowchart of the round trip time measurement method.
In the master node 1, the number of communication (for example, n = 10,000) is input as the number of measurement repetitions (step ST1a). Thereafter, actual measurement is started. First, the start time t0 is measured and held (step ST2a). Next, the first transmission is performed (step ST3a). Note that the transmission data in this case may be anything in particular as long as the transmission / reception can be simply confirmed.

次に、スレーブノード2からの信号を受信すると(ステップST4a)、これがステップST1aで入力された計測反復回数nに達したかを判定し(ステップST5a)、達していない場合はステップST3aに戻り、信号の送受信を繰り返す。
ステップST5aにおいて、入力された計測反復回数nに達した場合は、信号の送受信を終了し、終了時刻t1を計測する(ステップST6a)。次に、一回のラウンドトリップタイムを式RTT1=(t1−t0)/nにより計算し(ステップST7a)、結果を出力する(ステップST8a)。
Next, when a signal from the slave node 2 is received (step ST4a), it is determined whether or not the number of measurement repetitions n input in step ST1a has been reached (step ST5a). If not, the process returns to step ST3a. Repeat signal transmission and reception.
In step ST5a, when the input number of measurement repetitions n is reached, signal transmission / reception is terminated and an end time t1 is measured (step ST6a). Next, one round trip time is calculated by the formula RTT1 = (t1-t0) / n (step ST7a), and the result is output (step ST8a).

また、スレーブノード2では、マスタノード1からの信号を受信した場合(ステップST1b)、マスタノード1へ信号を送信する(ステップST2b)。そして、マスタノード1からの信号を受信する度にこれを繰り返す。この計測は、各スレーブノード2個別に行う。   Further, when the slave node 2 receives a signal from the master node 1 (step ST1b), the slave node 2 transmits a signal to the master node 1 (step ST2b). This is repeated every time a signal from the master node 1 is received. This measurement is performed for each slave node 2 individually.

次に、同期開始後に発生するタスク実行間隔のずれを自動補正するための時刻補正係数A1の求め方について説明する。
図4は、時刻補正係数A1の求め方の説明図である。
説明を簡単にするため、マスタノード1と1台のスレーブノード2aの間の関係についてのみ述べる。時刻補正係数A1の求め方としては、先ず、本実施の形態の同期開始時刻を同期させる方法(これについては、後述する)を用いて、A1計測用シミュレーションを開始する。尚、A1計測用シミュレーションといっても、実際には時刻を常にチェックし、1秒経過するのを待つだけである。そして、マスタノード1で1秒経過した時点でスレーブノード2aに補正係数用信号を送る。
Next, a description will be given of how to obtain the time correction coefficient A1 for automatically correcting a deviation in task execution interval that occurs after the start of synchronization.
FIG. 4 is an explanatory diagram of how to obtain the time correction coefficient A1.
In order to simplify the explanation, only the relationship between the master node 1 and one slave node 2a will be described. As a method of obtaining the time correction coefficient A1, first, the simulation for A1 measurement is started using the method of synchronizing the synchronization start time of the present embodiment (this will be described later). Note that even though the simulation for A1 measurement is actually performed, the time is always checked and only one second has to wait. Then, when 1 second elapses in the master node 1, a correction coefficient signal is sent to the slave node 2a.

スレーブノード2aでは、常に待ち状態で待機し、マスタノード1から送信された補正係数用信号を受信した時刻の測定値をTとする。このTとラウンドトリップタイムRTT1を用いると、A1は1−T/(1+RTT1/2)で求めることができる。尚、この式は次のように導くことができる。即ち、スレーブノード2aはマスタノード1に対して1秒間にA1秒遅れるとする(マスタノード1側で1秒間の時刻カウントを示す点線からA1経過した時刻が、スレーブノード2a側での時刻カウントが開始から1秒間を示している)。これを言い換えると、マスタノード1での時刻カウントでの時刻1は、スレーブノード2aでの時刻カウントでは時刻1−A1となる。補正係数用信号のスレーブノード2a側受信時刻Tについてみると、マスタノード1側での時刻カウントは時刻1+RTT1/2であり、一方、スレーブノード2a側の時刻カウントでは時刻Tである。従って、[マスタの時刻カウント:スレーブの時刻カウント]には以下の関係が成り立つ。
1:(1−A1)=(1+RTT1/2):T
これにより、
A1=1−T/(1+RTT1/2)の関係を導くことができる。
The slave node 2a always waits in a waiting state, and T is a measured value at the time when the correction coefficient signal transmitted from the master node 1 is received. Using this T and the round trip time RTT1, A1 can be obtained by 1−T / (1 + RTT1 / 2). This equation can be derived as follows. That is, the slave node 2a is delayed by A1 seconds per second from the master node 1 (the time when A1 has elapsed from the dotted line indicating the time count of 1 second on the master node 1 side is the time count on the slave node 2a side) 1 second from the beginning). In other words, time 1 in the time count at the master node 1 becomes time 1-A1 in the time count at the slave node 2a. Looking at the reception time T of the correction coefficient signal on the slave node 2a side, the time count on the master node 1 side is time 1 + RTT1 / 2, while the time count on the slave node 2a side is time T. Therefore, the following relationship holds for [master time count: slave time count].
1: (1-A1) = (1 + RTT1 / 2): T
This
A relationship of A1 = 1−T / (1 + RTT1 / 2) can be derived.

図5は、時刻補正係数A1の測定方法を示すフローチャートである。
マスタノード1において、本実施の形態の同期開始処理(マスタ側同期開始手段13とスレーブ側同期開始手段22とによる同期開始処理)によって、各スレーブノード2との同期を開始し、時刻補正係数A1の計測処理を開始する。次に、マスタ側時刻管理手段15で1秒が経過したら(ステップST11a)、補正係数用信号送信手段12は、各スレーブノード2に補正係数用信号を送信し(ステップST12a)、マスタノード1側の処理を終了する。
FIG. 5 is a flowchart showing a method for measuring the time correction coefficient A1.
In the master node 1, synchronization with each slave node 2 is started by the synchronization start processing (synchronization start processing by the master side synchronization start means 13 and the slave side synchronization start means 22) of the present embodiment, and the time correction coefficient A1 Start the measurement process. Next, when one second has elapsed in the master side time management means 15 (step ST11a), the correction coefficient signal transmission means 12 transmits a correction coefficient signal to each slave node 2 (step ST12a), and the master node 1 side. Terminate the process.

スレーブノード2では、補正係数の計測処理が開始されると、補正係数算出手段21は、先ず、補正係数用信号の受信を待機し(ステップST11b)、補正係数用信号が受信された場合は、受信直後の時刻Tを計測する(ステップST12b)。その後、時刻補正係数A1を、A1=1−T/(1+RTT1/2)の式に基づいて計算する(ステップST13b)。そして、この時刻補正係数A1を時刻補正手段24に出力する(ステップST14b)。時刻補正手段24は、この時刻補正係数A1を保持する。   In the slave node 2, when the correction coefficient measurement process is started, the correction coefficient calculation means 21 first waits for reception of the correction coefficient signal (step ST11b). When the correction coefficient signal is received, The time T immediately after reception is measured (step ST12b). Thereafter, the time correction coefficient A1 is calculated based on an equation of A1 = 1−T / (1 + RTT1 / 2) (step ST13b). And this time correction coefficient A1 is output to the time correction means 24 (step ST14b). The time correction means 24 holds this time correction coefficient A1.

次に、マスタノード1とスレーブノード2の同期開始について説明する。
図6は、マスタノード1とスレーブノード2との同期開始時刻の決定方法を示す説明図である。
マスタノード1と、各スレーブノード2間のラウンドトリップタイムRTT1〜RTT3は、通信時間測定手段11によって予め測定してあるとする。また、マスタノード1から各スレーブノード2に同期開始信号を送信する順番は予め決定され、マスタノード1のマスタ側同期開始手段13は、この情報を保持しておく。一方、各スレーブノード2のスレーブ側同期開始手段22は、マスタノード1からの送信順序が、自スレーブノード2より後であるスレーブノード2の通信時間の合計値を保持しておく。
Next, the start of synchronization between the master node 1 and the slave node 2 will be described.
FIG. 6 is an explanatory diagram showing a method for determining the synchronization start time between the master node 1 and the slave node 2.
It is assumed that the round trip times RTT1 to RTT3 between the master node 1 and each slave node 2 are measured in advance by the communication time measuring means 11. Further, the order in which the synchronization start signal is transmitted from the master node 1 to each slave node 2 is determined in advance, and the master side synchronization start means 13 of the master node 1 holds this information. On the other hand, the slave side synchronization start means 22 of each slave node 2 holds the total value of the communication times of the slave nodes 2 whose transmission order from the master node 1 is later than the own slave node 2.

先ず、全てのスレーブノード2(2a〜2c)が、マスタノード1からの同期開始信号の受信を待つ。
マスタノード1は、最初にスレーブノード2a(1番目のスレーブノード)に同期開始信号を送信する。この同期開始信号の送受信にかかる時間、即ち、マスタノード1における同期開始信号送信処理開始(図6のTs)からスレーブノード2aにおける同期開始信号受信処理完了(図6のTr1)までの時間は、Tr1−Tsである。この値は既知の値RTT1/2であるので、マスタノード1は、スレーブノード2aの受信が完了する時刻を正確に知っている。マスタノード1は、スレーブノード2aへの送信開始後RTT1/2秒間待ち、次に、スレーブノード2b(2番目のスレーブノード)へ同期開始信号を送信する。そして、この送信後RTT2/2秒待ち、次にスレーブノード2c(最後のスレーブノード)へ同期開始信号を送信する。そして、この送信後RTT3/2秒待ち、この待ちが完了した時刻を同期開始時刻(t=0)、即ちシミュレーション開始時刻とする。
First, all the slave nodes 2 (2a to 2c) wait for reception of a synchronization start signal from the master node 1.
First, the master node 1 transmits a synchronization start signal to the slave node 2a (first slave node). The time required for transmission / reception of the synchronization start signal, that is, the time from the start of the synchronization start signal transmission process in the master node 1 (Ts in FIG. 6) to the completion of the synchronization start signal reception process in the slave node 2a (Tr1 in FIG. 6) is Tr1-Ts. Since this value is a known value RTT1 / 2, the master node 1 knows exactly the time when the reception of the slave node 2a is completed. The master node 1 waits for RTT1 / 2 seconds after starting transmission to the slave node 2a, and then transmits a synchronization start signal to the slave node 2b (second slave node). Then, after this transmission, wait for RTT 2/2 seconds, and then transmit a synchronization start signal to the slave node 2c (the last slave node). Then, after this transmission, wait for RTT 3/2 seconds, and the time when this waiting is completed is set as the synchronization start time (t = 0), that is, the simulation start time.

一方、スレーブノード2aでは、マスタノード1からの同期開始信号受信後、保持している他のスレーブノード2b,2cの通信時間に基づいて、(RTT2/2+RTT3/2)秒間待ち、この待ちが完了した時刻を同期開始時刻とする。また、スレーブノード2bでは、マスタノード1からの同期開始信号受信後、RTT3/2秒間待ち、この待ちが完了した時刻を同期開始時刻とする。更に、スレーブノード2cでは、マスタノード1からの同期開始信号の受信が完了した時刻を同期開始時刻とする。
以上の方法で、マスタノード1と各スレーブノード2との同期開始時刻を正確に一致させることができる。
On the other hand, after receiving the synchronization start signal from the master node 1, the slave node 2a waits for (RTT2 / 2 + RTT3 / 2) seconds based on the held communication time of the other slave nodes 2b and 2c, and this wait is completed. This time is set as the synchronization start time. Further, after receiving the synchronization start signal from the master node 1, the slave node 2b waits for RTT 3/2 seconds, and the time when this waiting is completed is set as the synchronization start time. Furthermore, in the slave node 2c, the time when the reception of the synchronization start signal from the master node 1 is completed is set as the synchronization start time.
With the above method, the synchronization start times of the master node 1 and each slave node 2 can be made to coincide accurately.

尚、上記の同期開始処理を行う場合、同期開始以前(同期開始時刻t=0以前)では、スレーブノード2において後述する時刻補正は行われていないため、各スレーブノード2は、スレーブノード自身の時刻カウントで開始時刻を管理することになる。従って、各通信時間の値RTT1,RTT2,RTT3の値は、厳密には、マスタノード1と各スレーブノード2とでは異なることになる。しかしながら、マスタノード1とスレーブノード2との時刻のずれは、補正を行わなかった場合でも、例えば1秒当たり1μs以下といったように極めて小さいため、ここでの待ち時間のずれは無視することができる。   When the above synchronization start processing is performed, before the synchronization start (before the synchronization start time t = 0), the slave node 2 does not perform time correction, which will be described later, so that each slave node 2 has its own slave node. The start time is managed by the time count. Therefore, strictly speaking, the values of the communication time values RTT1, RTT2, and RTT3 are different between the master node 1 and each slave node 2. However, since the time lag between the master node 1 and the slave node 2 is extremely small, for example, 1 μs or less per second, even when correction is not performed, the time lag here can be ignored. .

また、ここで、後段側のスレーブノード2の通信時間を、スレーブノード2側で保持しているが、同期開始信号と共に、マスタノード1から知らせるようにしてもよい。しかし、本実施の形態のように、スレーブノード2側で、後段側のスレーブノード2の通信時間のデータを持つことにより、マスタノード1から送信する同期開始信号は、単にこれを識別するための信号であればよい。その結果、スレーブノード2の数が多くなった場合でもマスタノード1から各スレーブノード2に送信する同期開始信号は同一のもので済む等、送受信の信号形態を単純化することができる。   Here, although the communication time of the slave node 2 on the rear stage side is held on the slave node 2 side, it may be notified from the master node 1 together with the synchronization start signal. However, as in this embodiment, the slave node 2 side has the data of the communication time of the slave node 2 on the subsequent stage side, so that the synchronization start signal transmitted from the master node 1 is simply for identifying this. Any signal may be used. As a result, even when the number of slave nodes 2 increases, the signal form of transmission / reception can be simplified, for example, the same synchronization start signal is transmitted from the master node 1 to each slave node 2.

次に、本実施の形態における全体の動作をフローチャートに沿って説明する。
図7は、マスタノード1側の動作フローチャートである。
図8は、スレーブノード2側の動作フローチャートである。
先ず、図7に示すマスタノード1側の動作について説明する。
シミュレーションが開始されると、マスタ側同期開始手段13により、各スレーブノード2に同期開始信号を送信する(ステップST21)。その後、全てのスレーブノード2に送信を完了したかを判定し(ステップST22)、完了していない場合には、次の信号送信時刻まで待機する(ステップST23)。このステップST23における具体的な待ち時間は、図6の説明で述べた通りである。ステップST23で次の信号送信時刻に達したら、ステップST21に戻り、次のスレーブノード2に同期開始信号を送信する。このような処理を繰り返して行い、全てのスレーブノード2に送信を完了した場合には、最後の同期開始信号がスレーブノード2で受信されるまでの時間待つ(ステップST24)。そして、シミュレーションの本体部分を開始、即ち、シミュレーションループを開始する(ステップST25)。
Next, the overall operation in the present embodiment will be described along a flowchart.
FIG. 7 is an operation flowchart on the master node 1 side.
FIG. 8 is an operation flowchart on the slave node 2 side.
First, the operation on the master node 1 side shown in FIG. 7 will be described.
When the simulation is started, the master side synchronization start means 13 transmits a synchronization start signal to each slave node 2 (step ST21). Thereafter, it is determined whether transmission to all the slave nodes 2 has been completed (step ST22), and if not completed, the process waits until the next signal transmission time (step ST23). The specific waiting time in step ST23 is as described in the explanation of FIG. When the next signal transmission time is reached in step ST23, the process returns to step ST21, and a synchronization start signal is transmitted to the next slave node 2. When such processing is repeated and transmission to all the slave nodes 2 is completed, the time until the last synchronization start signal is received by the slave node 2 is waited (step ST24). Then, the main part of the simulation is started, that is, a simulation loop is started (step ST25).

次に、図8に示すスレーブノード2側のシミュレーションループ開始までの動作について説明する。
シミュレーションを開始すると、スレーブ側同期開始手段22は、マスタノード1からの同期開始信号を待ち、受信する(ステップST31)。受信後、スレーブ側同期開始手段22は、マスタノード1が最後のスレーブノード2に送った同期開始信号が、その最後のスレーブノード2で受信される時刻まで待つ(ステップST32)。具体的な待ち時間は、図6の説明で述べた通りであり、スレーブノード2毎に待ち時間は異なる。その後、シミュレーションの本体部分を開始する(ステップST33)。
Next, the operation up to the start of the simulation loop on the slave node 2 side shown in FIG. 8 will be described.
When the simulation is started, the slave side synchronization start means 22 waits for and receives the synchronization start signal from the master node 1 (step ST31). After the reception, the slave side synchronization start means 22 waits until the time when the synchronization start signal sent from the master node 1 to the last slave node 2 is received by the last slave node 2 (step ST32). The specific waiting time is as described in the description of FIG. 6, and the waiting time is different for each slave node 2. Thereafter, the main part of the simulation is started (step ST33).

次に、シミュレーションループ開始後の動作について説明する。
図7に戻り、マスタノード1では、シミュレーション開始後、タスク実行手段14において、タスク実行間隔[t,t+Δt]で実行すべきタスクを実行する(ステップST26)。尚、[t,t+Δt]は、同期時刻tから同期時刻t+Δtまでの時間間隔を示している。また、Δtはシミュレーションの計算刻み時間であり、例えば50μsである。タスク実行後、マスタ側時刻管理手段15において、次の同期時刻t+Δtに移るまでの時刻を管理し(ステップST27)、現在時刻がt+Δtに到達した時点で、後述する時刻T1×n,T2×n,T3×nのいずれでもない場合(ステップST28)は、ステップST26に戻って、シミュレーションループを継続する。即ち、次のタスク実行間隔[t+Δt,t+2Δt]のタスク実行に移る。具体的な時刻管理の方法としては、CPUのクロックカウンタが、時刻tの後何カウントしたかを常に計測し続け、「この計測値をCPU周波数で割った値」がΔtを越えた時点が、tからΔt経過したと判定する。
Next, the operation after starting the simulation loop will be described.
Returning to FIG. 7, in the master node 1, after starting the simulation, the task execution means 14 executes a task to be executed at a task execution interval [t, t + Δt] (step ST26). [T, t + Δt] represents a time interval from the synchronization time t to the synchronization time t + Δt. Further, Δt is a simulation calculation time, for example, 50 μs. After the task execution, the master side time management means 15 manages the time until the next synchronization time t + Δt (step ST27), and when the current time reaches t + Δt, the times T1 × n and T2 × n described later , T3 × n (step ST28), the process returns to step ST26 to continue the simulation loop. That is, the next task execution interval [t + Δt, t + 2Δt] is started. As a specific time management method, the CPU clock counter keeps measuring how many times it has counted after time t, and the time when “the value obtained by dividing this measured value by the CPU frequency” exceeds Δt is: It is determined that Δt has elapsed from t.

一方、ステップST27の待機後の時刻が、ステップST28において、シミュレーション中のある特定の時刻、例えばT1であるときには、すぐにステップST26のタスク実行には戻らずに、該当するスレーブノード2への監視信号の送信処理を行い(ステップST29)、その後ステップST26に戻る。この特定の時刻は、スレーブノード2a,2b,2cに対応して、時刻間隔T1,T2,T3で発生する。即ち、時刻T1,2×T1,3×T1,…でスレーブノード2aに監視信号を送信し、時刻T2,2×T2,3×T2,…でスレーブノード2bに監視信号を送信し、時刻T3,2×T3,3×T3,…でスレーブノード2cに監視信号を送信する。尚、T1,T2,T3の具体的な数値については、スレーブノード2側の処理で説明する。   On the other hand, when the time after standby in step ST27 is a specific time during simulation in step ST28, for example, T1, the task execution in step ST26 is not immediately resumed, and the corresponding slave node 2 is monitored. A signal transmission process is performed (step ST29), and then the process returns to step ST26. This specific time occurs at time intervals T1, T2, T3 corresponding to the slave nodes 2a, 2b, 2c. That is, the monitoring signal is transmitted to the slave node 2a at time T1, 2 × T1, 3 × T1,..., The monitoring signal is transmitted to the slave node 2b at time T2, 2 × T2, 3 × T2,. , 2 × T3, 3 × T3,... Transmit a monitoring signal to the slave node 2c. Note that specific numerical values of T1, T2, and T3 will be described in the processing on the slave node 2 side.

次に、図8を参照してスレーブノード2におけるシミュレーションループ開始後の動作について説明する。
スレーブノード2では、シミュレーション開始後、それぞれ独立に時刻管理を行う。先ず、タスク実行手段23において、タスク実行間隔[t,t+Δt]で実行すべきタスクを実行する(ステップST34)。
タスク実行後、時刻補正手段24は、補正係数算出手段21が算出した時刻補正係数A1に基づいて、CPU毎の微妙なクロックのずれ等により生じるマスタノード1との同期時刻のずれを補正する。
Next, the operation after the start of the simulation loop in the slave node 2 will be described with reference to FIG.
The slave node 2 performs time management independently after starting the simulation. First, the task execution means 23 executes a task to be executed at a task execution interval [t, t + Δt] (step ST34).
After the task execution, the time correction unit 24 corrects a synchronization time shift with the master node 1 caused by a subtle clock shift for each CPU, based on the time correction coefficient A1 calculated by the correction coefficient calculation unit 21.

本発明では、各計算機で独立して時刻管理を行うために、もし時刻補正を行わなければ、長時間シミュレーションしたときに徐々に同期時刻がずれてくる。従って、この微妙なずれを補正するために予め求めた時刻補正係数A1に基づいて補正を行う。具体的な補正方法を、以下に説明する。   In the present invention, since time management is performed independently by each computer, the synchronization time gradually shifts when a long-time simulation is performed unless time correction is performed. Therefore, correction is performed based on the time correction coefficient A1 obtained in advance in order to correct this delicate deviation. A specific correction method will be described below.

図9は、時刻補正手段24における同期時刻補正の説明図である。
図示のように、あるスレーブノードが自分自身で時間管理したときに、マスタノードの時間管理と比較して、1秒間にA1秒ずれる(遅れる)とする(A1の与え方は図4で説明した通りである)。また、時刻tでは全てのノードが完全に同期しているとする。このとき、あるスレーブノード2の時刻カウントが、t+Δtを示す時刻には、マスタノード1の時刻カウントでは、t+(1+A1)Δtを指している。逆に言えば、マスタノード1の時刻カウントがt+Δtを示している時刻には、そのスレーブノード2の時刻カウントでは、t+(1−A1)Δtを指していることになる。従って、基準となるマスタノード1の時刻カウントで、t+Δtで同期させるためには、スレーブノード2では、t+(1−A1)Δtで、次のタスク実行間隔の同期時刻に移らなければならない。
FIG. 9 is an explanatory diagram of the synchronization time correction in the time correction unit 24.
As shown in the figure, when a certain slave node performs time management by itself, it is shifted (delayed) by A1 seconds per second compared to the time management of the master node (how to give A1 has been described with reference to FIG. 4). Street). Further, it is assumed that all nodes are completely synchronized at time t. At this time, when the time count of a certain slave node 2 indicates t + Δt, the time count of the master node 1 indicates t + (1 + A1) Δt. In other words, at the time when the time count of the master node 1 indicates t + Δt, the time count of the slave node 2 indicates t + (1−A1) Δt. Therefore, in order to synchronize at t + Δt with the time count of the master node 1 serving as a reference, the slave node 2 must move to the synchronization time of the next task execution interval at t + (1−A1) Δt.

そこで、時刻補正手段24では、このスレーブノードが、次のループを開始する時刻をt+(1−A1)×Δtと補正する。このようにして、次の同期時刻がマスタノードの同期時刻と正確に一致することを保証する。この補正は、全スレーブノード2がそれぞれ独立に行う。従って、A1の値もスレーブノード2毎に異なる。   Therefore, the time correction means 24 corrects the time when the slave node starts the next loop as t + (1−A1) × Δt. In this way, it is ensured that the next synchronization time exactly matches the synchronization time of the master node. This correction is performed independently by all slave nodes 2. Therefore, the value of A1 is also different for each slave node 2.

図8に戻って、次に、スレーブ側時刻管理手段25において、次の同期時刻t+Δtに移るまでの時刻を管理し(ステップST36)、現在時刻がt+Δt(実際には、ステップST35の時刻補正処理により補正された時刻t+(1−A1)×Δtである)に到達した時点で、時刻T1×n(またはT2×nか、T3×n)でない場合(ステップST37)は、ステップST34に戻って、シミュレーションループを継続する。即ち、次のタスク実行間隔[t+Δt,t+2Δt]のタスク実行に移る。Δt経過を判定する時刻管理の具体的な方法は、マスタノード1で述べた方法と同一である。   Returning to FIG. 8, the slave time management unit 25 manages the time until the next synchronization time t + Δt (step ST36), and the current time is t + Δt (actually, the time correction process of step ST35). If it is not time T1 × n (or T2 × n or T3 × n) at the time of reaching time t + (1−A1) × Δt corrected by (step ST37), the process returns to step ST34. Continue the simulation loop. That is, the next task execution interval [t + Δt, t + 2Δt] is started. The specific method of time management for determining the Δt passage is the same as the method described in the master node 1.

一方、ステップST36における待ち時間完了後の時刻が、シミュレーション中のある特定の時刻、例えばT1に到達したときには、すぐにステップST34には戻らずに、監視信号受信手段26により、マスタノード1からの監視信号の受信待ちを行い、この監視信号を受信する(ステップST38)。受信後、補正係数修正手段27により、時刻補正手段24で使用する時刻補正係数A1を修正した後に、ステップST34に戻る。   On the other hand, when the time after the completion of the waiting time in step ST36 reaches a specific time during the simulation, for example, T1, the monitoring signal receiving unit 26 does not immediately return to step ST34 but the master signal from the master node 1. A monitoring signal reception wait is performed and this monitoring signal is received (step ST38). After reception, the correction coefficient correction means 27 corrects the time correction coefficient A1 used by the time correction means 24, and then the process returns to step ST34.

この特定の時刻は、それぞれのスレーブノード2に対応して、時刻間隔T1×n,T2×n,T3×nで発生する。即ち、T1,2×T1,3×T1,…と、T2,2×T2,3×T2,…と、T3,2×T3,3×T3,…である。このT1,T2,T3の値は、マスタノード1におけるT1,T2,T3の値と同一である。ここで、T1,T2,T3の具体的な数値の決定方法としては、例えば、もしステップST35の時刻補正をしなかった場合に発生する同期時刻のずれが、計算刻み時間の10%になる時刻、即ちA1の値を用いて、0.1/A1×Δtとする。但し、この監視で計算機間通信によるオーバーヘッドが発生しないように、T1,T2,T3は全て異なる値に設定する。   This specific time is generated at time intervals T1 × n, T2 × n, and T3 × n corresponding to each slave node 2. That is, T1, 2 × T1, 3 × T1,..., T2, 2 × T2, 3 × T2,..., T3, 2 × T3, 3 × T3,. The values of T1, T2, and T3 are the same as the values of T1, T2, and T3 in the master node 1. Here, as a specific method for determining the numerical values of T1, T2, and T3, for example, the time when the synchronization time shift that occurs when the time correction of step ST35 is not performed becomes 10% of the calculation step time. That is, using the value of A1, 0.1 / A1 × Δt. However, T1, T2, and T3 are all set to different values so that overhead due to communication between computers does not occur in this monitoring.

図10は、監視信号による補正係数の修正処理の説明図である。
スレーブノード2aにおける、監視信号受信時刻TTと時刻T1とのずれをR1とする。もし、ステップST35の時刻補正処理で厳密に補正できているとすれば、このR1はRTT1/2に一致する筈である。しかし、これが一致しない場合には、ステップST35の時刻補正が正確でなかったということになり、監視時刻間隔T1の間にR1−RTT1/2のずれが新たに発生しているといえる。そこで、これまで行っていた「t+(1−A1)Δt」による補正の他に、「(R1−RTT1/2)/T1×Δt」の補正を新たに加える。即ち、補正係数を「A1=A1−(R1−RTT1/2)/T1」と置き換え、スレーブノード2aにおける次のループ開始時刻は、この新しいA1を用いて「t+(1−A1)×Δt」とする。このA1は、次の監視時刻までの間使用する。即ち、時刻補正係数A1は、監視時刻間隔T1毎に修正されることになる。このような時刻補正および時刻補正係数の修正処理を、シミュレーションループ中継続する。
FIG. 10 is an explanatory diagram of correction coefficient correction processing using a monitoring signal.
Let R1 be the difference between the monitoring signal reception time TT and the time T1 in the slave node 2a. If the time can be corrected strictly by the time correction process of step ST35, this R1 should match RTT1 / 2. However, if they do not match, it means that the time correction of step ST35 was not accurate, and it can be said that a deviation of R1-RTT1 / 2 has newly occurred during the monitoring time interval T1. Therefore, in addition to the correction by “t + (1−A1) Δt” performed so far, a correction of “(R1−RTT1 / 2) / T1 × Δt” is newly added. That is, the correction coefficient is replaced with “A1 = A1− (R1−RTT1 / 2) / T1”, and the next loop start time in the slave node 2a is “t + (1−A1) × Δt” using this new A1. And This A1 is used until the next monitoring time. That is, the time correction coefficient A1 is corrected every monitoring time interval T1. Such time correction and time correction coefficient correction processing are continued during the simulation loop.

尚、図8のステップST37において、時刻が、T1×n,T2×n,T3×nのいずれかであった場合は、該当するスレーブノード2では、ステップST34のタスク実行の前に、このタスクとは別処理である補正係数の修正処理(ステップST38、ステップST39の処理)が行われることになる。従って、この修正処理の時間分タスクの実行開始が遅れることになるが、これは次のように考えることができる。   If the time is any one of T1 × n, T2 × n, and T3 × n in step ST37 in FIG. 8, the corresponding slave node 2 performs this task before executing the task in step ST34. In other words, correction coefficient correction processing (step ST38 and step ST39) is performed. Therefore, the task execution start is delayed by the time of the correction process, which can be considered as follows.

先ず、図10における時刻T1直後の状態を考える。
マスタノード1では、時刻T1で次の処理[T1,T1+Δt]分を開始する。一方、スレーブノード2では、監視信号が到着するのを待ってからでないと次の処理が開始できないので、実際に[T1,T1+Δt]分の処理を開始するのは、時刻TTとなる。即ち、スレーブノード2側は、マスタノード1が実行する[T1,T1+Δt]の処理に対応する部分が[TT,TT+Δt−RTT1/2]の間に処理することになる。これは、スレーブノード2側の、時刻T1後の最初の処理に使用可能な時間がRTT1/2だけ短くなったことを意味するが、通信時間RTT1/2がΔtに対して十分小さければ問題とはならない。
First, consider the state immediately after time T1 in FIG.
The master node 1 starts the next process [T1, T1 + Δt] at time T1. On the other hand, in the slave node 2, since the next process cannot be started until the monitoring signal arrives, the process for [T1, T1 + Δt] is actually started at time TT. That is, on the slave node 2 side, the portion corresponding to the processing of [T1, T1 + Δt] executed by the master node 1 is processed during [TT, TT + Δt−RTT1 / 2]. This means that the time available for the first processing after time T1 on the slave node 2 side has been shortened by RTT1 / 2, but this is problematic if the communication time RTT1 / 2 is sufficiently small with respect to Δt. Must not.

通常、この通信時間はMyrinet 使用の場合約10μsであり、次の処理への時間50μsのうち、実際のタスク実行時間を20〜30μsとすると、この監視処理によるタスク実行への影響はほとんどないと言える。
また、監視処理を実行する頻度は、例えば、ステップST35の補正処理を行わなかった場合のずれがΔtの10%まで遅れても良いという条件では、Δt=50μsのとき、ずれは5μsまで可能である。ここで、1秒間にスレーブノード2の時刻カウントが、(大きくみて)1μsずれるとすると、5秒毎に時刻修正を行えば良いことになる。
また、上述した時刻修正を行うために必要な処理時間が必要となるのは、計算刻み時間を50μs、監視時間間隔を5秒とすると、5/(50×10−6)=100000であり、従って、100000回のタスク実行で1回の割合となり、ほとんど本来のタスク実行には影響を及ぼさないことになる。
Normally, this communication time is about 10 μs when using Myrinet, and if the actual task execution time is 20 to 30 μs out of the next processing time of 50 μs, there is almost no effect on task execution by this monitoring process. I can say that.
The frequency of executing the monitoring process can be up to 5 μs when Δt = 50 μs, for example, under the condition that the deviation when the correction process of step ST35 is not performed may be delayed to 10% of Δt. is there. Here, if the time count of the slave node 2 is shifted by 1 μs per second (at a large scale), the time should be corrected every 5 seconds.
In addition, the processing time required for performing the time correction described above is 5 / (50 × 10 −6 ) = 100000 when the calculation step time is 50 μs and the monitoring time interval is 5 seconds. Therefore, 100,000 tasks are executed once, so that the original task execution is hardly affected.

以上の処理により、マスタノード1とスレーブノード2間の同期が正確に開始され、また、各スレーブノード2の固有の同期時刻のずれも補正されると共に、タスク実行中の自動補正された各スレーブノード2の同期時刻のずれも補正される。   Through the above processing, synchronization between the master node 1 and the slave node 2 is accurately started, and the inherent synchronization time shift of each slave node 2 is corrected, and each automatically corrected slave during task execution is corrected. A shift in the synchronization time of the node 2 is also corrected.

以上のように、実施の形態1によれば、マスタノード1とスレーブノード2とが、それぞれの通信時間に基づいて求めた同期開始時刻で同期を開始し、その後は、各スレーブノード間に固有の同期時刻のずれを補正しながらタスクを実行し、更に、所定時刻間隔で、時刻補正係数を修正するようにしたので、同期のための特別なハードウェアを用いることなく、汎用の計算機や汎用のネットワークを用いて、各計算機間の正確な同期をとることができる。その結果、従来のような通信時間による遅延がなく各計算機間で正確な同期がとれることから、リアルタイム電力系統シミュレーションといった、タスク実行間隔が短く、厳密な同期を必要とする並列計算機において特に大きな効果が得られる。   As described above, according to the first embodiment, the master node 1 and the slave node 2 start synchronization at the synchronization start time obtained based on the respective communication times, and thereafter, are unique among the slave nodes. Since the task was executed while correcting the synchronization time deviation, and the time correction coefficient was corrected at a predetermined time interval, a general-purpose computer or general-purpose computer could be used without using special hardware for synchronization. This network can be used to accurately synchronize the computers. As a result, there is no delay due to communication time as in the past, and accurate synchronization can be achieved between computers. This is especially effective for parallel computers that require short synchronization and require precise synchronization, such as real-time power system simulation. Is obtained.

また、上記実施の形態1では、同期開始後、時刻補正とその補正係数の修正処理を行うようにしたが、同期開始処理のみであってもよい。即ち、マスタノード1のマスタ側同期開始手段13と、スレーブノード2のスレーブ側同期開始手段22とによる同期開始のみであってもよい。このような構成は、例えば、マスタノード1と各スレーブノード2間の時刻のずれが小さい場合や、シミュレーション時間が短い場合であれば有効である。即ち、各ノード間の時刻のずれが小さい場合は、シミュレーションをある程度の時間行っていても時刻のずれが大きくならないため、各処理実行間隔内でタスクが実行できるからである。また、シミュレーション時間が短い場合、その時間内では時刻のずれが許容範囲内であるため、各処理実行間隔内でタスクが実行できるからである。   In the first embodiment, the time correction and the correction coefficient correction process are performed after the synchronization is started. However, only the synchronization start process may be performed. That is, only the synchronization start by the master side synchronization start unit 13 of the master node 1 and the slave side synchronization start unit 22 of the slave node 2 may be performed. Such a configuration is effective, for example, when the time difference between the master node 1 and each slave node 2 is small or when the simulation time is short. That is, when the time lag between the nodes is small, the time lag does not become large even if the simulation is performed for a certain period of time, so that the task can be executed within each processing execution interval. In addition, when the simulation time is short, the time difference is within an allowable range within that time, and therefore the task can be executed within each processing execution interval.

また、上記実施の形態1では、マスタノード1のマスタ側同期開始手段13は、全スレーブノード2に対して順番に同期開始信号を送信し、かつ、最初の同期開始信号の送信開始時刻を基準として、全スレーブノード2の通信時間の合計値に達した時刻を同期開始時刻とし、スレーブノード2のスレーブ側同期開始手段22は、マスタノード1からの同期開始信号の受信時刻を基準として、マスタノード1が送信する順番が自スレーブノードより後側のスレーブノードの通信時間の合計値に達した時刻を同期開始時刻とするようにしたので、マスタノードとスレーブノードとの同期開始時刻を正確に一致させることができる。   In the first embodiment, the master side synchronization start unit 13 of the master node 1 transmits the synchronization start signal to all the slave nodes 2 in order, and the transmission start time of the first synchronization start signal is used as a reference. Assuming that the time when the total communication time of all slave nodes 2 has reached the synchronization start time, the slave side synchronization start means 22 of the slave node 2 uses the reception time of the synchronization start signal from the master node 1 as a reference. Since the time when the transmission order of the node 1 reaches the total communication time of the slave nodes behind the slave node is set as the synchronization start time, the synchronization start time between the master node and the slave node is accurately set. Can be matched.

また、上記実施の形態1では、スレーブノード2は、自スレーブノードとマスタノード1との所定時間当たりの時刻のずれに基づいて算出した時刻補正係数を用い、自スレーブノードのタスク実行間隔をマスタノードのタスク実行間隔に同期させるよう補正を行う時刻補正手段を備えたので、タスク実行中に発生するスレーブノードに固有のずれも補正されるため、各ノード間の、より正確な同期を実現することができる。   In the first embodiment, the slave node 2 uses the time correction coefficient calculated based on the time lag between the local slave node and the master node 1 per predetermined time, and sets the task execution interval of the local slave node to the master node. Since the time correction means that corrects to synchronize with the task execution interval of the node is provided, the deviation inherent to the slave node that occurs during task execution is also corrected, so that more accurate synchronization between each node is realized be able to.

また、上記実施の形態1では、マスタノード1は、同期開始から所定時間経過した時刻で補正係数用信号を送信する補正係数用信号送信手段12を備え、スレーブノード2は、同期開始後、補正係数用信号を受信した場合、スレーブ側時刻管理手段25の時刻管理に基づく受信時刻と、同期開始の時刻に、マスタ側時刻管理手段15の時刻管理に基づく所定時間とマスタノード1から自スレーブノードへの通信時間とを加えた時刻とを比較し、これら時刻のずれに対応して時刻補正係数を算出する補正係数算出手段を備えたので、単純な構成で、スレーブノードにおける正確な補正係数の算出を行うことができる。   In the first embodiment, the master node 1 includes the correction coefficient signal transmission unit 12 that transmits the correction coefficient signal at a time when a predetermined time has elapsed from the start of synchronization. The slave node 2 performs the correction after the synchronization starts. When the coefficient signal is received, the reception time based on the time management of the slave-side time management unit 25 and the synchronization start time, the predetermined time based on the time management of the master-side time management unit 15, and the slave node from the master node 1 And a correction coefficient calculation means for calculating a time correction coefficient corresponding to the time lag, so that an accurate correction coefficient in the slave node can be obtained with a simple configuration. Calculations can be made.

尚、上記実施の形態1では、実際のシミュレーションの開始前に各スレーブノード2の補正係数A1を求めるようにしたが、シミュレーション開始後に補正係数A1の演算を各スレーブノード2毎に行い、その後、求めた補正係数A1を用いて補正を行うようにしてもよい。   In the first embodiment, the correction coefficient A1 of each slave node 2 is obtained before the actual simulation is started. However, the calculation of the correction coefficient A1 is performed for each slave node 2 after the simulation is started, and then Correction may be performed using the obtained correction coefficient A1.

実施の形態2.
上記実施の形態1では、同期開始後、時刻補正手段24によって各タスク実行間隔毎に同期時刻の補正を行った。実施の形態2では、このタスク実行間隔毎の補正は行わず、予め決められた特定の同期時刻毎に、マスタノードとスレーブノード間の同期時刻を一致させるための時刻修正処理を行うようにしたものである。
Embodiment 2. FIG.
In the first embodiment, after the start of synchronization, the time correction means 24 corrects the synchronization time at each task execution interval. In the second embodiment, the correction at every task execution interval is not performed, and the time correction process for matching the synchronization time between the master node and the slave node is performed at each predetermined synchronization time. Is.

図11は、実施の形態2の並列計算機を示すブロック図である。
実施の形態2の並列計算機は、マスタノード3とスレーブノード4(4a〜4c)からなり、これらの基本的な構成は実施の形態1のマスタノード1およびスレーブノード2と同様である。
FIG. 11 is a block diagram illustrating the parallel computer according to the second embodiment.
The parallel computer according to the second embodiment includes a master node 3 and slave nodes 4 (4a to 4c), and the basic configuration thereof is the same as that of the master node 1 and the slave node 2 according to the first embodiment.

実施の形態2のマスタノード3と実施の形態1のマスタノード1との図面上の違いは、実施の形態1のマスタノード1において補正係数用信号送信手段12が設けられていないだけである。但し、実施の形態2のマスタノード3の監視信号送信手段16は、実施の形態1の監視信号送信手段16と同様に監視信号を送出するが、この監視信号がスレーブノード4における同期時刻修正のための監視信号であることが異なっている。これ以外の各構成は図1の構成と同様であるため、対応する部分に同一符号を付してその説明は省略する。   The difference between the master node 3 of the second embodiment and the master node 1 of the first embodiment in the drawing is that the master node 1 of the first embodiment is not provided with the correction coefficient signal transmitting means 12. However, the monitoring signal transmission unit 16 of the master node 3 of the second embodiment transmits a monitoring signal in the same manner as the monitoring signal transmission unit 16 of the first embodiment, but this monitoring signal is used to correct the synchronization time in the slave node 4. The monitoring signal is different. Since the other components are the same as those in FIG. 1, the corresponding parts are denoted by the same reference numerals and the description thereof is omitted.

また、実施の形態2のスレーブノード4では、実施の形態1のスレーブノード2における時刻補正手段24がなく、スレーブノード2の補正係数修正手段27と基本的に同様の機能を有する時刻修正手段28が設けられている。即ち、この時刻修正手段28は、監視信号受信手段26が監視信号を受信した場合に、スレーブ側時刻管理手段25の時刻管理に基づく受信時刻と、マスタノード3側のマスタ側時刻管理手段15の時刻管理に基づく監視信号の送信時刻にマスタノード3から自スレーブノードへの通信時間を加えた時刻とのずれを測定し、この測定したずれの値に基づき、特定の時刻間隔で自スレーブノードのタスク実行間隔をマスタノードのタスク実行間隔に同期させる機能を有している。スレーブノード4における他の構成は図1の構成と同様であるため、対応する部分に同一符号を付してここでの説明は省略する。   Further, the slave node 4 of the second embodiment does not have the time correction unit 24 in the slave node 2 of the first embodiment, and the time correction unit 28 basically has the same function as the correction coefficient correction unit 27 of the slave node 2. Is provided. That is, when the monitoring signal receiving unit 26 receives the monitoring signal, the time adjusting unit 28 receives the reception time based on the time management of the slave side time managing unit 25 and the master side time managing unit 15 on the master node 3 side. A deviation from the time obtained by adding the communication time from the master node 3 to the own slave node to the transmission time of the monitoring signal based on the time management is measured, and based on the measured deviation value, the deviation of the own slave node is determined at a specific time interval. The task execution interval is synchronized with the master node task execution interval. Since the other configuration of the slave node 4 is the same as that of FIG. 1, the same reference numerals are given to the corresponding portions, and description thereof is omitted here.

このように構成された実施の形態2において、マスタノード3側の動作は図7に示した動作と同様であるため、これを援用して以降の動作説明を行う。
図12は、実施の形態2におけるスレーブノード4側の動作を示すフローチャートである。
ステップST41〜ステップST44までは、図8のステップST31〜ステップST34と同様である。その後、スレーブ側時刻管理手段25の時刻管理によって、t+Δtまで待ち(ステップST45)、次のステップST46において、t=T1×n,T2×n,T3×nのいずれでもない場合は、ステップST44に戻ってタスク実行を繰り返す。
一方、ステップST46において、t=T1×n,T2×n,T3×nのいずれかであった場合、監視信号受信手段26は、監視信号の受信待ちを行う。そして、監視信号受信手段26によって監視信号が受信されると、時刻修正手段28は、スレーブ側時刻管理手段25が管理する時刻の修正を行う(ステップST48)。
In the second embodiment configured as described above, the operation on the master node 3 side is the same as the operation shown in FIG.
FIG. 12 is a flowchart showing the operation on the slave node 4 side in the second embodiment.
Steps ST41 to ST44 are the same as steps ST31 to ST34 in FIG. After that, by time management of the slave side time management means 25, it waits until t + Δt (step ST45), and when it is not any of t = T1 × n, T2 × n, T3 × n in the next step ST46, the process goes to step ST44. Go back and repeat the task execution.
On the other hand, in step ST46, when t = T1 × n, T2 × n, or T3 × n, the monitoring signal receiving unit 26 waits for reception of the monitoring signal. When the monitoring signal is received by the monitoring signal receiving means 26, the time adjusting means 28 corrects the time managed by the slave time managing means 25 (step ST48).

図13は、時刻修正処理の説明図である。
時刻T0で、マスタ側同期開始手段13およびスレーブ側同期開始手段22による、同期開始が行われ、次に、マスタノード3から、時刻T1経過後スレーブノード4aに対して信号が送られたとする。
FIG. 13 is an explanatory diagram of time correction processing.
It is assumed that synchronization is started by the master side synchronization start unit 13 and the slave side synchronization start unit 22 at time T0, and then a signal is sent from the master node 3 to the slave node 4a after time T1 has elapsed.

スレーブノード4aでは、常に待ち状態で待機し、マスタノード3からの信号を受信した時刻の測定値をTTとする。この時刻TTはマスタノード3とスレーブノード4とが正確に同期しているのであれば、TT=T1+RTT1/2となる筈である。従って、スレーブノード4a側では、時刻修正手段28は、この時刻TTがT1+RTT1/2の時刻となるよう、スレーブ側時刻管理手段25が管理する時刻を修正する。   The slave node 4a always stands by in a waiting state, and the measured value at the time when the signal from the master node 3 is received is defined as TT. If the master node 3 and the slave node 4 are accurately synchronized, the time TT should be TT = T1 + RTT1 / 2. Therefore, on the slave node 4a side, the time correction unit 28 corrects the time managed by the slave side time management unit 25 so that the time TT becomes the time of T1 + RTT1 / 2.

尚、時刻T1毎にスレーブノード4側がずれる値B1は、T1とラウンドトリップタイムRTT1を用いると、図4で示した時刻補正係数A1を求める場合と同様に、
B1=T1−T1×TT/(T1+RTT1/2)
で求めることができる。
Note that the value B1 that the slave node 4 side deviates at every time T1 uses T1 and the round trip time RTT1, as in the case of obtaining the time correction coefficient A1 shown in FIG.
B1 = T1-T1 × TT / (T1 + RTT1 / 2)
Can be obtained.

このように、時刻T1毎に時刻修正を行うことにより、時刻T1の次の計算刻み時間であるT1+Δtではほぼ完全に同期がとれることになる。ここで、同期開始からの時刻を累積すると、スレーブノード4側の時刻カウントがずれていくことになるが、T1毎に時刻を0にリセットすれば、0+Δtでは常にほぼ完全に同期がとれていることになる。
監視する時刻T1の間隔を短く設定し、スレーブノード4とマスタノード3との時刻カウントのずれが大きくならないうちに時刻修正を行うようにすれば、計算刻み時間の間隔が短いリアルタイム電力系統シミュレーションであっても、十分に適用することができる。例えば、ずれB1がΔtの10%まで遅れても良いという条件では、Δt=50μsのとき、B1=5μsまで可能である。ここで、1秒間にスレーブノード4の時刻カウントが、(大きくみて)1μsずれるとすると、5秒毎に時刻修正を行えば良いことになる。また、この場合の時刻修正処理が行われる頻度は、実施の形態1の監視処理で説明したように、100000回のタスク実行で1回の割合となり、ほとんど本来のタスク実行には影響を及ぼさない。
As described above, by correcting the time every time T1, synchronization is almost completely achieved at T1 + Δt which is the next calculation step time after time T1. Here, when the time from the start of synchronization is accumulated, the time count on the slave node 4 side is shifted. However, if the time is reset to 0 every T1, synchronization is always almost complete at 0 + Δt. It will be.
If the interval of the time T1 to be monitored is set short and the time is corrected before the time count deviation between the slave node 4 and the master node 3 becomes large, a real-time power system simulation with a short interval of calculation time can be performed. Even if it is, it can be applied sufficiently. For example, under the condition that the deviation B1 may be delayed to 10% of Δt, when Δt = 50 μs, B1 = 5 μs is possible. Here, if the time count of the slave node 4 is shifted by 1 μs per second (at a large scale), the time may be corrected every 5 seconds. In addition, as described in the monitoring process of the first embodiment, the frequency of time correction processing in this case is one in every 100,000 task executions, and hardly affects the original task execution. .

以上のように、実施の形態2によれば、スレーブノード4は、マスタノード3からの監視信号を受信した場合に、自スレーブノード側の時刻管理に基づく受信時刻と、マスタノード3側の時刻管理に基づく監視信号の送信時刻にマスタノード3から自スレーブノードへの通信時間を加えた時刻とのずれを測定し、このずれの値に基づき、特定の時刻間隔で自スレーブノードのタスク実行間隔をマスタノード3のタスク実行間隔に同期させる時刻修正手段28を備えたので、特別のハードウェアを用いることなく、汎用の計算機や汎用のネットワークを用いて、計算機間の正確な同期をとることができる。また、実施の形態1に比べて構成を簡素化できる効果がある。   As described above, according to the second embodiment, when the slave node 4 receives the monitoring signal from the master node 3, the slave node 4 receives the reception time based on the time management on the own slave node side and the time on the master node 3 side. Measures the deviation from the time when the monitoring signal is transmitted based on the management to the time obtained by adding the communication time from the master node 3 to the own slave node, and based on this deviation value, the task execution interval of the own slave node at a specific time interval Since the time correction means 28 for synchronizing the master node 3 with the task execution interval of the master node 3 is provided, it is possible to accurately synchronize the computers using a general-purpose computer or a general-purpose network without using special hardware. it can. In addition, the configuration can be simplified as compared with the first embodiment.

尚、上記各実施の形態では、スレーブノード2,4が3台である場合を説明したが、この台数に限定されるものではなく、1台以上のスレーブノード2,4であれば、同様の効果を奏することができる。例えば、マスタノード+スレーブノード1台の場合でも、従来であれば同期信号を通信していたため、この通信には高速なネットワーク装置でも約10μs必要であるが、本実施の形態の並列計算機ではこれを0にすることができる等、有効な効果を得ることができる。但し、本実施の形態の並列計算機の場合、スレーブノード2,4の台数が多ければ多いほど、大きな効果を得ることができる。   In each of the above embodiments, the case where there are three slave nodes 2 and 4 has been described. However, the number of slave nodes 2 and 4 is not limited to this number. There is an effect. For example, even in the case of a master node + one slave node, since a synchronization signal was conventionally communicated, this communication requires about 10 μs even with a high-speed network device. In the parallel computer of the present embodiment, this is necessary. An effective effect can be obtained, for example, can be made zero. However, in the case of the parallel computer according to the present embodiment, the larger the number of slave nodes 2 and 4, the greater the effect.

以上のように、この発明に係る並列計算機は、タスク実行間隔の完全な同期を実現する。そして、リアルタイム電力系統シミュレーションに適用され、信頼性の高いシミュレータを得るのに適している。   As described above, the parallel computer according to the present invention realizes complete synchronization of task execution intervals. It is applied to real-time power system simulation and is suitable for obtaining a highly reliable simulator.

この発明の実施の形態1による並列計算機を示すブロック図である。It is a block diagram which shows the parallel computer by Embodiment 1 of this invention. マスタノードとスレーブノードとの往復通信時間の計測方法の説明図である。It is explanatory drawing of the measuring method of the round-trip communication time between a master node and a slave node. ラウンドトリップタイムの測定方法のフローチャートである。It is a flowchart of the measuring method of round trip time. 時刻補正係数の求め方の説明図である。It is explanatory drawing of how to obtain | require a time correction coefficient. 時刻補正係数の測定方法を示すフローチャートである。It is a flowchart which shows the measuring method of a time correction coefficient. 同期開始時刻の決定方法を示す説明図である。It is explanatory drawing which shows the determination method of a synchronization start time. マスタノードの動作フローチャートである。It is an operation | movement flowchart of a master node. スレーブノード側の動作フローチャートである。It is an operation | movement flowchart by the side of a slave node. 時刻補正手段における時刻補正の説明図である。It is explanatory drawing of the time correction in a time correction means. 監視信号による補正係数の修正処理の説明図である。It is explanatory drawing of the correction process of the correction coefficient by a monitoring signal. この発明の実施の形態2による並列計算機を示すブロック図である。It is a block diagram which shows the parallel computer by Embodiment 2 of this invention. 実施の形態2におけるスレーブノード側の動作フローチャートである。10 is an operation flowchart on the slave node side in the second embodiment. 時刻修正処理の説明図である。It is explanatory drawing of a time correction process.

符号の説明Explanation of symbols

1,3 マスタノード、2,4 スレーブノード、11 通信時間測定手段、12 補正係数用信号送信手段、13 マスタ側同期開始手段、14 タスク実行手段、15 マスタ側時刻管理手段、16 監視信号送信手段、21 補正係数算出手段、22 スレーブ側同期開始手段、23 タスク実行手段、24 時刻補正手段、25 スレーブ側時刻管理手段、26 監視信号受信手段、27 補正係数修正手段、28 時刻修正手段。   DESCRIPTION OF SYMBOLS 1,3 Master node, 2,4 Slave node, 11 Communication time measurement means, 12 Correction coefficient signal transmission means, 13 Master side synchronization start means, 14 Task execution means, 15 Master side time management means, 16 Monitoring signal transmission means , 21 correction coefficient calculation means, 22 slave side synchronization start means, 23 task execution means, 24 time correction means, 25 slave side time management means, 26 monitoring signal reception means, 27 correction coefficient correction means, 28 time correction means.

Claims (5)

マスタノードとスレーブノードからなり、前記マスタノードのタスク実行間隔と前記スレーブノードのタスク実行間隔とを同期させる並列計算機において、
前記マスタノードは、
前記マスタノード側の時刻を管理するマスタ側時刻管理手段と、
前記スレーブノードに対して、前記タスク実行間隔の同期を開始させるための同期開始信号を送信し、かつ、前記マスタ側時刻管理手段が管理する送信開始時刻を基準として、前記マスタノードから前記スレーブノードへの通信時間に基づいて求めた同期開始時刻で前記タスク実行間隔の同期を開始するマスタ側同期開始手段と
予め決められた特定の時刻間隔でタスク実行間隔の同期時刻修正のための監視信号を送信する監視信号送信手段とを備え、
前記スレーブノードは、
前記スレーブノード側の時刻を管理するスレーブ側時刻管理手段と、
前記マスタノードからの同期開始信号を受信した場合、前記スレーブ側時刻管理手段が管理する受信時刻に基づいて、前記マスタノードの同期開始時刻に一致した自スレーブノードの同期開始時刻を決定し、当該時刻で前記タスク実行間隔の同期を開始するスレーブ側同期開始手段と
前記監視信号を受信した場合に、スレーブ側時刻管理手段が管理する受信時刻と、マスタ側時刻管理手段が管理する監視信号の送信時刻に前記マスタノードから前記自スレーブノードへの通信時間を加えた時刻とのずれを測定し、当該測定したずれの値に基づき、前記特定の時刻間隔で前記自スレーブノードのタスク実行間隔の同期時刻を前記マスタノードのタスク実行間隔の同期時刻に一致させる時刻修正手段とを備えた並列計算機。
In a parallel computer consisting of a master node and a slave node and synchronizing the task execution interval of the master node and the task execution interval of the slave node,
The master node is
Master side time management means for managing the time on the master node side;
Sending a synchronization start signal for starting synchronization of the task execution interval to the slave node, and from the master node to the slave node on the basis of the transmission start time managed by the master side time management means a master-side synchronization start means initiating synchronization of the task execution interval synchronization start time determined based on the communication time to,
Monitoring signal transmission means for transmitting a monitoring signal for correcting the synchronization time of the task execution interval at a predetermined specific time interval ,
The slave node is
Slave side time management means for managing the time on the slave node side;
When receiving the synchronization start signal from the master node, based on the reception time managed by the slave side time management means, determine the synchronization start time of its own slave node that matches the synchronization start time of the master node, Slave side synchronization start means for starting synchronization of the task execution interval at time ;
When the monitoring signal is received, the communication time from the master node to the slave node is added to the reception time managed by the slave side time management unit and the transmission time of the monitoring signal managed by the master side time management unit A time correction that measures a deviation from the time and matches the synchronization time of the task execution interval of the slave node with the synchronization time of the task execution interval of the master node at the specific time interval based on the measured deviation value And a parallel computer.
マスタノードとスレーブノードからなり、前記マスタノードのタスク実行間隔と前記スレーブノードのタスク実行間隔とを同期させる並列計算機において、
前記マスタノードは、
前記マスタノード側の時刻を管理するマスタ側時刻管理手段と、
全スレーブノードに対して順番に前記タスク実行間隔の同期を開始させるための同期開始信号を送信し、かつ、前記マスタ側時刻管理手段が管理する最初の同期開始信号の送信開始時刻を基準として、前記全スレーブノードの通信時間の合計値に達した時刻を同期開始時刻とし、当該同期開始時刻で前記タスク実行間隔の同期を開始するマスタ側同期開始手段とを備え、
前記スレーブノードは、
前記スレーブノード側の時刻を管理するスレーブ側時刻管理手段と、
前記マスタ側同期開始手段からの同期開始信号の受信時刻を基準として、前記マスタノードが送信する順番が自スレーブノードより後側へのスレーブノードの通信時間の合計値に達した時刻を同期開始時刻とし、当該時刻で前記タスク実行間隔の同期を開始するスレーブ側同期開始手段とを備えた並列計算機。
In a parallel computer consisting of a master node and a slave node and synchronizing the task execution interval of the master node and the task execution interval of the slave node,
The master node is
Master side time management means for managing the time on the master node side;
Sending a synchronization start signal for starting the synchronization of the task execution interval in turn to all slave nodes, and with reference to the transmission start time of the first synchronization start signal managed by the master side time management means , A time at which a total value of communication times of all the slave nodes is reached as a synchronization start time, and master side synchronization start means for starting synchronization of the task execution interval at the synchronization start time,
The slave node is
Slave side time management means for managing the time on the slave node side;
Based on the reception time of the synchronization start signal from the master side synchronization start means, the time when the transmission order of the master node has reached the total value of the communication time of the slave node from the slave node to the rear side is the synchronization start time And a slave side synchronization start means for starting synchronization of the task execution interval at the time .
マスタノードとスレーブノードからなり、前記マスタノードのタスク実行間隔と前記スレーブノードのタスク実行間隔とを同期させる並列計算機において、
前記マスタノードは、
前記マスタノード側の時刻を管理するマスタ側時刻管理手段と、
前記スレーブノードに対して、前記タスク実行間隔の同期を開始させるための同期開始信号を送信し、かつ、前記マスタ側時刻管理手段が管理する送信開始時刻を基準として、前記マスタノードから前記スレーブノードへの通信時間に基づいて求めた同期開始時刻で前記タスク実行間隔の同期を開始するマスタ側同期開始手段とを備え、
前記スレーブノードは、
前記スレーブノード側の時刻を管理するスレーブ側時刻管理手段と、
前記マスタノードからの同期開始信号を受信した場合、前記スレーブ側時刻管理手段が管理する受信時刻に基づいて、前記マスタノードの同期開始時刻に一致した自スレーブノードの同期開始時刻を決定し、当該時刻で前記タスク実行間隔の同期を開始するスレーブ側同期開始手段と、
自スレーブノードとマスタノードとの所定時間当たりの時刻のずれに基づいて算出した時刻補正係数を用い、前記自スレーブノードのタスク実行間隔を前記マスタノードのタスク実行間隔に同期させるよう補正を行う時刻補正手段とを備えた並列計算機。
In a parallel computer consisting of a master node and a slave node and synchronizing the task execution interval of the master node and the task execution interval of the slave node,
The master node is
Master side time management means for managing the time on the master node side;
Sending a synchronization start signal for starting synchronization of the task execution interval to the slave node, and from the master node to the slave node on the basis of the transmission start time managed by the master side time management means Master side synchronization start means for starting synchronization of the task execution interval at the synchronization start time obtained based on the communication time to
The slave node is
Slave side time management means for managing the time on the slave node side;
When receiving the synchronization start signal from the master node, based on the reception time managed by the slave side time management means, determine the synchronization start time of its own slave node that matches the synchronization start time of the master node, Slave side synchronization start means for starting synchronization of the task execution interval at time;
Time for performing correction so that the task execution interval of the slave node is synchronized with the task execution interval of the master node, using a time correction coefficient calculated based on a time lag between the slave node and the master node per predetermined time parallel computer including a correction means.
マスタノードは、予め決められた特定の時刻間隔で時刻補正係数を修正するための監視信号を送信する監視信号送信手段を備え、
スレーブノードは、前記監視信号を受信した場合に、スレーブ側時刻管理手段が管理する受信時刻と、前記マスタ側時刻管理手段が管理する監視信号の送信時刻に前記マスタノードから前記自スレーブノードへの通信時間を加えた時刻とのずれを測定し、当該測定したずれの値に基づき、前記特定の時刻間隔で時刻補正係数を修正する補正係数修正手段を備えた請求項記載の並列計算機。
The master node includes monitoring signal transmission means for transmitting a monitoring signal for correcting the time correction coefficient at a specific time interval determined in advance.
When the slave node receives the monitoring signal, the slave node transmits the monitoring time managed by the slave time management unit and the transmission time of the monitoring signal managed by the master time management unit from the master node to the slave node. 4. The parallel computer according to claim 3 , further comprising a correction coefficient correcting unit that measures a deviation from a time added with communication time and corrects a time correction coefficient at the specific time interval based on the measured deviation value.
マスタノードは、同期開始から所定時間経過した時刻で補正係数用信号を送信する補正係数用信号送信手段を備え、
スレーブノードは、同期開始後、前記補正係数用信号を受信した場合、スレーブ側時刻管理手段の管理に基づく受信時刻と、前記同期開始の時刻に、前記マスタ側時刻管理手段の管理に基づく所定時間と当該マスタノードから自スレーブノードへの通信時間とを加えた時刻とを比較し、これら時刻のずれに対応して時刻補正係数を算出する補正係数算出手段を備えた請求項記載の並列計算機。
The master node includes correction coefficient signal transmitting means for transmitting a correction coefficient signal at a time when a predetermined time has elapsed from the start of synchronization,
When the slave node receives the correction coefficient signal after the start of synchronization, the slave node receives a reception time based on the management of the slave side time management means, and a predetermined time based on the management of the master side time management means at the time of the synchronization start. 4. A parallel computer according to claim 3, further comprising a correction coefficient calculation means for comparing a time obtained by adding a communication time from the master node to the slave node and calculating a time correction coefficient corresponding to the time lag. .
JP2003303604A 2003-08-27 2003-08-27 Parallel computer Expired - Fee Related JP4080397B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003303604A JP4080397B2 (en) 2003-08-27 2003-08-27 Parallel computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003303604A JP4080397B2 (en) 2003-08-27 2003-08-27 Parallel computer

Publications (2)

Publication Number Publication Date
JP2005071280A JP2005071280A (en) 2005-03-17
JP4080397B2 true JP4080397B2 (en) 2008-04-23

Family

ID=34407550

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003303604A Expired - Fee Related JP4080397B2 (en) 2003-08-27 2003-08-27 Parallel computer

Country Status (1)

Country Link
JP (1) JP4080397B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614239A (en) * 2018-12-12 2019-04-12 浪潮(北京)电子信息产业有限公司 System cluster load-balancing method, device and relevant device

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288137A1 (en) * 2005-09-16 2008-11-20 Autonetworks Technologies, Ltd. Vehicle-Mounted Load Drive Control System
WO2010073312A1 (en) * 2008-12-22 2010-07-01 トヨタ自動車株式会社 Vehicle electronic control system, vehicle electronic control unit, and vehicle control synchronization method
DE112008004194B4 (en) 2008-12-22 2015-01-29 Toyota Jidosha Kabushiki Kaisha ELECTRONIC VEHICLE CONTROL SYSTEM, ELECTRONIC VEHICLE CONTROL UNIT AND VEHICLE CONTROL SYNCHRONIZATION METHOD
JP5568048B2 (en) 2011-04-04 2014-08-06 株式会社日立製作所 Parallel computer system and program
JP6485306B2 (en) * 2015-09-25 2019-03-20 株式会社デンソー Control system
JP6683137B2 (en) * 2017-01-11 2020-04-15 三菱電機株式会社 Industrial controller system
CN111817819B (en) * 2019-04-12 2023-06-02 中兴通讯股份有限公司 FEC mode synchronization method, system, master node and slave node

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614239A (en) * 2018-12-12 2019-04-12 浪潮(北京)电子信息产业有限公司 System cluster load-balancing method, device and relevant device

Also Published As

Publication number Publication date
JP2005071280A (en) 2005-03-17

Similar Documents

Publication Publication Date Title
US7475272B2 (en) Method for calculating clock offset and skew
KR101109980B1 (en) Facilitating synchronization of servers in a coordinated timing network
RU2404448C2 (en) Hardware-generated time marks for network packets: improved synchronisation of network clocks
US6865612B2 (en) Method and apparatus to provide high precision packet traversal time statistics in a heterogeneous network
US8108557B2 (en) System and method for measuring clock skew on a network
US7925916B2 (en) Failsafe recovery facility in a coordinated timing network
US20220248353A1 (en) Synchronization method and device
US20100293243A1 (en) method and apparatus for measuring directionally differentiated (one-way) network latency
JP4080397B2 (en) Parallel computer
CN113572560B (en) Method, electronic device, and storage medium for determining clock synchronization accuracy
WO2023123956A1 (en) Io full-lifecycle latency monitoring method and related apparatus
JP5675703B2 (en) Communication device, control device, and program
US8989039B2 (en) Packet transfer delay measurement system
KR100735407B1 (en) Apparatus and method for estimating distance using time of arrival
CN110375596B (en) Time consistency control method for cooperative guidance simulation system
CN111884751A (en) Smart grid time synchronization method and device based on PTP
CN103401813B (en) A kind of asymmetric delay compensation method and switch
JP2917939B2 (en) Server performance measurement method
KR20160088982A (en) System and Method for synchronizing data including timestamp between plural controllers
CN111638749A (en) Simulation system synchronization method, simulation device and system
KR20170124213A (en) UTC Time Synchronization Method for a Device using GPS Module
WO2020132834A1 (en) Method and device for stamping processing
CN115459897B (en) Step length synchronous calibration method and device in power real-time simulation and related equipment
CN112398560A (en) Measuring method, measuring device and storage medium
CN113890841B (en) Efficient large-scale one-way delay measuring method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070907

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070912

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080206

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

Free format text: PAYMENT UNTIL: 20110215

Year of fee payment: 3

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

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees