JPH10269185A - Barrier synchronization method - Google Patents

Barrier synchronization method

Info

Publication number
JPH10269185A
JPH10269185A JP7132597A JP7132597A JPH10269185A JP H10269185 A JPH10269185 A JP H10269185A JP 7132597 A JP7132597 A JP 7132597A JP 7132597 A JP7132597 A JP 7132597A JP H10269185 A JPH10269185 A JP H10269185A
Authority
JP
Japan
Prior art keywords
synchronization
barrier synchronization
timer interrupt
barrier
timer
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.)
Pending
Application number
JP7132597A
Other languages
Japanese (ja)
Inventor
Koji Sonoda
浩二 薗田
Takashi Nishikado
隆 西門
Kenzo Moriyama
建三 森山
Yukihiro Akiyama
幸広 秋山
Kazumasa Tobe
和政 戸部
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7132597A priority Critical patent/JPH10269185A/en
Publication of JPH10269185A publication Critical patent/JPH10269185A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a high-speed barrier synchronization method by reducing the probability that barrier synchronization encounters timer interruption, by synchronizing the timing of the timer interruption generation of all calculation units on parallel computers. SOLUTION: In the parallel computers, timer interruption synchronization control parts 109 are provided on the respective calculation units and the timer interruption synchronization control parts 109 periodically perform the barrier synchronization among all the calculation units and set an interruption setting register 117 immediately after the barrier synchronization is established. Also, the generation scheduled time of a timer interruption processing is stored in timer interruption synchronization information 112, and in the timer interruption processing, the difference of the time of the actual timer interruption processing and the generation scheduled time is calculated and an interval timer is reset.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、並列計算機におけ
るバリア同期方法に関する。
The present invention relates to a barrier synchronization method in a parallel computer.

【0002】[0002]

【従来の技術】並列計算機において、計算ユニット間の
同期をとる手段として、バリア同期が良く知られてい
る。バリア同期は、それぞれの計算ユニット上で動作す
る並列プログラムが同期点に達した時に使用し、並列プ
ログラムが存在する全計算ユニット間の同期を取る機能
を提供する。すなわち、関係する全ての計算ユニット上
の並列プログラムが同期点に達し、バリア同期を発行す
るのを待ち、全ての計算ユニットがバリア同期を発行し
た時点で処理を再開する。このようにバリア同期は、複
数の計算ユニットの処理に影響を与えるため、高性能で
ある必要があり、専用のハードウェアにより、高速に計
算ユニット間の同期を実行できる方法が提案されてい
る。Kai Hwang「ADVANCED COMP
UTER ARCHITECTURE」pp365−3
67によれば、各計算ユニットがバリア同期用のレジス
タを持ち、そのレジスタ同士をAND回路で結合する方
法が示されている。この方法によれば、各計算ユニット
がレジスタに書き込みを行うと、その結果が即座にそれ
ぞれの計算ユニット上のレジスタに反映される。しか
し、各計算ユニット内でバリア同期点に到達するまでの
処理については言及されていない。
2. Description of the Related Art In a parallel computer, barrier synchronization is well known as a means for synchronizing between computation units. The barrier synchronization is used when a parallel program operating on each computing unit reaches a synchronization point, and provides a function of synchronizing all the computing units where the parallel program exists. That is, it waits for the parallel programs on all the related computing units to reach the synchronization point and issue the barrier synchronization, and resumes processing when all the computing units issue the barrier synchronization. As described above, since barrier synchronization affects the processing of a plurality of calculation units, it is necessary to have high performance, and a method has been proposed in which synchronization between the calculation units can be performed at high speed by dedicated hardware. Kai Hwang "ADVANCED COMP
UTER ARCHITECTURE ”pp365-3
According to No. 67, a method is shown in which each calculation unit has a register for barrier synchronization and the registers are connected to each other by an AND circuit. According to this method, when each calculation unit writes to the register, the result is immediately reflected in the register on each calculation unit. However, there is no mention of the processing until reaching the barrier synchronization point in each calculation unit.

【0003】また、ハードウェアで実現したバリア同期
の場合、並列計算機内の全ての計算ユニットがバリア同
期に参加しなければならない、1つの計算ユニットが同
時に参加できるバリア同期の数に制限があるなど、使用
条件に制約が多い。このため、バリア同期に参加する各
計算ユニット間で通信を行う、ソフトウェアによるバリ
ア同期が良く用いられる。ソフトウェアによるバリア同
期は、同期点到達通知を通信手段を使用して収拾し、全
ての同期点到達通知が収拾できると、再び通信手段を用
いて同期完了通知を各バリア同期参加計算ユニットに送
信する方法が用いられる。この場合、処理を並列実行す
るために、バリア同期計算ユニット間で仮想的にツリー
構造を構築し、このツリー構造にそって同期点到達通知
の収拾と、同期完了通知の送信を行う。
Further, in the case of barrier synchronization realized by hardware, all the computation units in a parallel computer must participate in barrier synchronization, and there is a limit to the number of barrier synchronizations in which one computation unit can simultaneously participate. There are many restrictions on use conditions. For this reason, barrier synchronization by software, in which communication is performed between calculation units participating in barrier synchronization, is often used. In the barrier synchronization by software, the synchronization point arrival notification is collected using the communication means, and when all the synchronization point arrival notifications can be collected, the synchronization completion notification is transmitted to each barrier synchronization participation calculation unit again using the communication means. A method is used. In this case, in order to execute the processing in parallel, a virtual tree structure is constructed between the barrier synchronization calculation units, and a synchronization point arrival notification is collected and a synchronization completion notification is transmitted along the tree structure.

【0004】[0004]

【発明が解決しようとする課題】上記の通り、バリア同
期は参加する全ての計算ユニットがバリア同期を発行す
るまで、他の全ての計算ユニットは待ち合わせを行う。
従って、バリア同期の発行が遅れる計算ユニットが1つ
でも存在すれば、そのほかの計算ユニットでのバリア同
期待ち時間が大きくなってしまう。多くの場合バリア同
期を発行するのは、計算ユニット上で実行される並列プ
ログラムであり、並列プログラムは計算ユニット上に常
駐するOS上で動作している。 OSがタイムアウト処
理などのサービスを提供するため、通常各計算ユニット
では定期的にタイマ割り込みを発生させている。タイマ
割り込みが発生すると、OSはユーザプログラムの実行
を一時中断し、タイマ割り込み処理を実行する。ある計
算ユニット上で、並列プログラムがバリア同期を実行す
る直前にタイマ割り込みが発生すると、その計算ユニッ
トでのバリア同期発行は、タイマ割り込み処理の分だけ
遅れる事になり、その結果他の計算ユニットでのバリア
同期待ち時間が大きくなってしまう。従来、タイマ割り
込みはそれぞれの計算ユニット上で定期的に発生させる
だけで、計算ユニット間で同期して発生させる事は考慮
されていなかった。このため、バリア同期の様に複数の
計算ユニット間で待ち合わせを行う処理では、バリア同
期に参加する計算ユニットの数が増加するに伴い、いず
れかの計算ユニットでタイマ割り込みが発生する確率が
高くなる。
As described above, in the barrier synchronization, all the other computing units wait until the participating computing units issue the barrier synchronization.
Therefore, if there is at least one calculation unit that delays issuing barrier synchronization, the barrier synchronization waiting time in other calculation units will increase. It is often a parallel program that runs on a computing unit that issues barrier synchronization, and the parallel program runs on an OS resident on the computing unit. In order for the OS to provide services such as timeout processing, each computing unit normally generates a timer interrupt periodically. When a timer interrupt occurs, the OS temporarily suspends execution of the user program and executes timer interrupt processing. If a timer interrupt occurs immediately before a parallel program executes barrier synchronization on a certain computation unit, barrier synchronization issuance in that computation unit will be delayed by the timer interrupt processing, and as a result, in another computation unit. Barrier synchronization waiting time increases. Conventionally, a timer interrupt is only generated periodically on each calculation unit, and generation of a synchronization between the calculation units has not been considered. For this reason, in the process of waiting between a plurality of calculation units such as barrier synchronization, as the number of calculation units participating in barrier synchronization increases, the probability of a timer interrupt occurring in any one of the calculation units increases. .

【0005】また、通信を用いてソフトウェアでバリア
同期を実現する場合、同期完了通知の送信をツリー構造
に沿って行うと、同期完了通知の受信時刻が計算ユニッ
ト間でばらついてしまう。並列プログラムの性能を向上
させるためには、各計算ユニットでの処理時間が等しく
なるようにする必要があるため、このようなばらつきは
好ましくない。さらに、ツリー構造のリーフノードに相
当する計算ユニットでは、同期完了通知が最も遅れて到
着するためバリア同期の待ち時間が大きくなってしま
う。
In the case where barrier synchronization is realized by software using communication, if transmission of a synchronization completion notification is performed along a tree structure, the reception time of the synchronization completion notification varies among the calculation units. In order to improve the performance of the parallel program, it is necessary to make the processing time in each calculation unit equal, and such a variation is not preferable. Further, in a calculation unit corresponding to a leaf node having a tree structure, a synchronization completion notification arrives with the latest delay, so that the waiting time for barrier synchronization increases.

【0006】本発明の目的は、並列計算機上の全ての計
算ユニットのタイマ割り込み発生のタイミングを同期さ
せる事で、バリア同期がタイマ割り込みと遭遇する確率
を小さくし、高速なバリア同期方法を提供する事であ
る。
An object of the present invention is to provide a high-speed barrier synchronization method by synchronizing the timing of occurrence of timer interrupts of all the computation units on a parallel computer, thereby reducing the probability of barrier synchronization encountering a timer interrupt. Is the thing.

【0007】本発明の他の目的は、同期点完了通知にブ
ロードキャストを使用する事で、全計算ユニットが同期
点に到達してから、実行を再開するまでの時間を最小化
する高速性と、全計算ユニットが同時に処理を再開する
同時性を合わせ持つバリア同期方法を提供する事であ
る。
Another object of the present invention is to use a broadcast for the synchronization point completion notification, thereby minimizing the time from when all the computation units reach the synchronization point to when execution is resumed, and at high speed. It is an object of the present invention to provide a barrier synchronization method which has the same simultaneity that all the computing units resume processing at the same time.

【0008】[0008]

【課題を解決するための手段】本発明によれば,定期的
にバリア同期を使用して、並列計算機内の全計算ユニッ
トのタイマ割り込み発生のタイミングを同期させるタイ
マ割り込み同期手段が提供される。
According to the present invention, there is provided timer interrupt synchronizing means for synchronizing the timing of timer interrupt generation of all the computing units in a parallel computer by periodically using barrier synchronization.

【0009】また、本発明によれば、タイマ割り込み処
理の実行時刻の予定時刻からのズレに応じてインターバ
ルタイマの設定値を変更するタイマ割り込み同期手段が
提供される。
Further, according to the present invention, there is provided a timer interrupt synchronizing means for changing a set value of an interval timer according to a deviation of an execution time of a timer interrupt process from a scheduled time.

【0010】また、本発明によれば、同期点到達通知の
収拾を一対一通信を用いて階層的に行い、同期完了通知
はブロードキャスト通信を用いるバリア同期手段が提供
される。
Further, according to the present invention, there is provided a barrier synchronizing means for collecting a synchronization point arrival notification hierarchically using one-to-one communication and for synchronizing completion notification using broadcast communication.

【0011】[0011]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(従来技術)本発明の実施例を説明する前に、図2、図
3を用いて従来技術の詳細を説明する。
(Prior Art) Prior to the description of the embodiment of the present invention, the details of the prior art will be described with reference to FIGS.

【0012】図2は、同様の構成を有する計算ユニット
201、202、203をネットワーク204で接続し
て構成する並列計算機を示している。計算ユニット20
1は、プロセッサ205とインターバルタイマ206と
メモリ208を有しており、メモリにはOS208が常駐
する。インターバルタイマ206は指定した時間が経過
するとプロセッサ205にタイマ割込をかける機能を有
している。プロセッサ205はタイマ割込を受けると、
実行中の処理を一時中断し、OS208内の割込処理21
0を実行した後、中断しておいた処理を再開する。割込
処理210では、インターバルタイマ206に一定の値
をセットするため、定期的にプロセッサ205にタイマ
割込が発生する。従来技術によると、計算ユニット20
1、202、203それぞれでは、定期的にタイマ割込
が発生するが、タイマ割込の発生する時刻は各計算ユニ
ット間で同期していない。また、あるタイミングで同期
していたとしても、タイマ割込発生時にプロセッサが割
込禁止状態の場合は、割込処理の開始時刻が遅れてしま
うため、その計算ユニットの次のタイマ割込時刻が遅れ
ることになり、タイマ割込時刻の同期が崩れる。
FIG. 2 shows a parallel computer constructed by connecting computing units 201, 202 and 203 having the same configuration via a network 204. Calculation unit 20
1 has a processor 205, an interval timer 206, and a memory 208, and an OS 208 resides in the memory. The interval timer 206 has a function of interrupting the processor 205 with a timer when a specified time has elapsed. When the processor 205 receives the timer interrupt,
The currently executing process is temporarily suspended, and the interrupt process 21 in the OS 208 is interrupted.
After executing 0, the interrupted processing is resumed. In the interrupt processing 210, a timer interrupt is periodically generated in the processor 205 to set a constant value in the interval timer 206. According to the prior art, the calculation unit 20
In each of 1, 202, and 203, a timer interrupt occurs periodically, but the time at which the timer interrupt occurs is not synchronized between the calculation units. Even if they are synchronized at a certain timing, if the processor is in the interrupt disabled state when a timer interrupt occurs, the start time of the interrupt processing will be delayed, so the next timer interrupt time of the computation unit will be delayed. As a result, the synchronization of the timer interrupt time is lost.

【0013】図3は、タイマ割込時刻が計算ユニット2
01、202、203間で同期していないことの影響を
説明する図である。
FIG. 3 shows that the timer interrupt time is calculated by the calculation unit 2.
It is a figure explaining the influence of not being synchronized among 01, 202, and 203.

【0014】図3は、計算ユニット201、202、2
03それぞれのメモリに、並列プログラム209をロー
ドし実行する場合の、各計算ユニットの処理の流れを示
している。並列プログラム209は、計算211、バリ
ア同期212、計算213、バリア同期214、計算2
15の順番で処理を進める。
FIG. 3 shows the calculation units 201, 202, 2
03 shows the flow of processing of each calculation unit when the parallel program 209 is loaded into each memory and executed. The parallel program 209 includes a calculation 211, a barrier synchronization 212, a calculation 213, a barrier synchronization 214, and a calculation 2
The process proceeds in the order of 15.

【0015】図3において、計算ユニット201は計算
211を実行中にタイマ割込が発生し、タイマ割込処理
301を実行したのち計算211の実行を再開してい
る。また、計算ユニット203は計算213を実行中に
タイマ割込が発生しタイマ割込処理304を実行した後
計算213の実行を再開している。計算ユニット201
では、タイマ割込処理301のためにバリア同期212
の実行がバリア同期完了時刻305まで遅れ、その結果
計算ユニット202、203では同期待ち303、30
4が発生する。また計算ユニット203では、タイマ割
込処理304のために、バリア同期214の実行がバリ
ア同期完了時刻306まで遅れ、その結果計算ユニット
201、203では同期待ち307、308が発生す
る。
In FIG. 3, a timer interrupt occurs during execution of the calculation 211 in the calculation unit 201. After execution of the timer interrupt processing 301, the execution of the calculation 211 is resumed. In addition, the calculation unit 203 restarts the execution of the calculation 213 after the timer interrupt occurs during the execution of the calculation 213 and the timer interrupt processing 304 is executed. Calculation unit 201
Then, the barrier synchronization 212
Is delayed until the barrier synchronization completion time 305, and as a result, the calculation units 202 and 203 wait for synchronization 303 and 30.
4 occurs. In the calculation unit 203, the execution of the barrier synchronization 214 is delayed until the barrier synchronization completion time 306 due to the timer interrupt processing 304. As a result, the calculation units 201 and 203 generate synchronization waits 307 and 308.

【0016】以上の通り、タイマ割込処理によってバリ
ア同期の開始が遅れる計算ユニットが1つでも存在する
と、その他の計算ユニットのバリア同期待ち時間が大き
くなるが、さらに、タイマ割込処理301とタイマ割込
処理304の時刻がずれているために、バリア同期21
2とバリア同期214の両方が影響を受けている。
As described above, if at least one calculation unit delays the start of barrier synchronization due to the timer interrupt processing, the barrier synchronization waiting time of the other calculation units increases. Since the time of the interrupt processing 304 is shifted, the barrier synchronization 21
2 and barrier sync 214 are both affected.

【0017】従来技術での問題点は、タイマ割込の時刻
が計算ユニット間で同期していないために、計算ユニッ
ト数の増加に伴い、いずれかの計算ユニットでタイマ割
込処理が発生する確率が高くなり、その結果バリア同期
待ち時間が大きくなる確率が高くなることである。
The problem with the prior art is that, since the time of the timer interrupt is not synchronized between the calculation units, the probability that the timer interrupt processing will occur in any one of the calculation units with the increase in the number of calculation units. Is increased, and as a result, the probability that the barrier synchronization waiting time is increased is increased.

【0018】(実施例1)次に、図1、図5〜図8を用
いて本発明の一実施例を説明する。
(Embodiment 1) Next, an embodiment of the present invention will be described with reference to FIGS.

【0019】図1は、本発明が対象としている並列計算
機の全体構成を示している。並列計算機は、計算ユニッ
ト101、102、103をネットワーク113で接続
して構成する。計算ユニット101はプロセッサ10
4、インターバルタイマ105、メモリ106、通信制
御部114を有している。計算ユニット102、103
も同様の構成である。
FIG. 1 shows the overall configuration of a parallel computer to which the present invention is applied. The parallel computer is configured by connecting the calculation units 101, 102, and 103 via a network 113. The calculation unit 101 is a processor 10
4. It has an interval timer 105, a memory 106, and a communication control unit 114. Calculation units 102, 103
Has a similar configuration.

【0020】インターバルタイマ105は、マシンサイ
クルに同期してカウントアップする実時間カウンタ11
6を有する。この実時間カウンタ116はプロセッサ1
04から読み出し可能であり、プロセッサ104は、実
時間カウンタ116を任意の2点で読み出し、それらの
差分を求めることで、絶対経過時間を知ることができ
る。また、インターバルタイマ105は、割込設定レジ
スタ117を用いてタイマ割込時間間隔を設定すること
ができ、インターバルタイマ105は割込設定レジスタ
117に設定された時間が経過するとプロセッサ104
にタイマ割込をかける。プロセッサ104は、タイマ割
込を受けると、現在の処理を中断してタイマ割込処理を
実行し、タイマ割込処理が終了すると中断しておいた処
理を続行する。タイマ割込処理では、割込設定レジスタ
117を再設定し、再びタイマ割込が発生するようにす
る。プロセッサ104は、タイマ割込を受け付けるかど
うかの状態を有し、タイマ割込を受け付けない状態でタ
イマ割込が発生した場合には、タイマ割込処理の実行
は、タイマ割込の受け付けが可能な状態になるまでペン
ディングされる。
The interval timer 105 is a real time counter 11 that counts up in synchronization with a machine cycle.
6. This real time counter 116 is the processor 1
04, the processor 104 can read the real-time counter 116 at any two points and find the difference between them, so that the absolute elapsed time can be known. Further, the interval timer 105 can set a timer interrupt time interval using the interrupt setting register 117. When the time set in the interrupt setting register 117 elapses, the interval timer 105 sets the processor 104.
Interrupt the timer. Upon receiving the timer interrupt, the processor 104 interrupts the current process and executes the timer interrupt process. When the timer interrupt process ends, the processor 104 continues the interrupted process. In the timer interrupt processing, the interrupt setting register 117 is reset so that the timer interrupt occurs again. The processor 104 has a state as to whether or not to accept a timer interrupt. If a timer interrupt occurs in a state in which the timer interrupt is not accepted, execution of the timer interrupt processing can accept the timer interrupt. Pending until it becomes

【0021】メモリ106には、OS107が常駐する。
OS107はその内部に、タイマ割込時に実行する割込処
理プログラム115と本発明の特徴であるタイマ割込同
期制御部109及びバリア同期制御部108を有する。
An OS 107 resides in the memory 106.
The OS 107 includes therein an interrupt processing program 115 to be executed at the time of a timer interrupt, and a timer interrupt synchronization control unit 109 and a barrier synchronization control unit 108 which are features of the present invention.

【0022】バリア同期制御部108は、バリア同期の
範囲などの情報であるバリア同期情報110とバリア同
期で使用する通知データの受信領域111を有する。
The barrier synchronization control unit 108 has barrier synchronization information 110 which is information such as a range of barrier synchronization, and a reception area 111 for notification data used in barrier synchronization.

【0023】タイマ割込同期制御部109は、タイマ割
込同期制御情報112を有する。
The timer interrupt synchronization control section 109 has timer interrupt synchronization control information 112.

【0024】タイマ割込の同期処理は、基本的にタイマ
割込処理内で、タイマ割込同期制御部109が行う。タ
イマ割込同期制御部の行う処理は、全計算ユニット上で
一斉にインターバルタイマの設定を行うインターバルタ
イマ一斉設定処理と、各計算ユニットそれぞれがインタ
ーバルタイマ設定値の補正を行うインターバルタイマ補
正処理の2つである。
The timer interrupt synchronization process is basically performed by the timer interrupt synchronization control unit 109 in the timer interrupt process. The processing performed by the timer interrupt synchronization control unit includes an interval timer simultaneous setting processing for simultaneously setting an interval timer on all calculation units, and an interval timer correction processing for each calculation unit correcting the interval timer set value. One.

【0025】これらの処理を行うために、タイマ制御部
109は図8に示すタイマ割込同期制御情報を使用す
る。タイマ割込時刻801は、計算ユニット101で次
回のタイマ割込が発生する予定時刻である。一斉設定時
刻802は、一斉設定処理を行う予定時刻である。一斉
設定間隔803は、一斉設定処理を行う時間間隔であ
る。タイマ割込間隔804は、タイマ割込を発生させる
時間間隔である。一斉設定間隔803とタイマ割込間隔
804は、あらかじめ決められた固定値であり、全計算
ユニットで同じ値を用いる。また、計算ユニット101
のタイマ割込同期制御部で用いる時刻は、実時間カウン
タ116を用いて、計算ユニット101内部で計算する
ローカルな時刻であり、この時刻が必ずしも並列計算機
内の他の計算ユニットと一致している必要はない。
In order to perform these processes, the timer control unit 109 uses the timer interrupt synchronization control information shown in FIG. The timer interrupt time 801 is a scheduled time at which the next timer interrupt will occur in the calculation unit 101. The simultaneous setting time 802 is a scheduled time for performing the simultaneous setting process. The simultaneous setting interval 803 is a time interval for performing the simultaneous setting process. The timer interrupt interval 804 is a time interval for generating a timer interrupt. The simultaneous setting interval 803 and the timer interrupt interval 804 are predetermined fixed values, and the same value is used in all the calculation units. Also, the calculation unit 101
The time used by the timer interrupt synchronization control unit is a local time calculated inside the calculation unit 101 using the real time counter 116, and this time always coincides with other calculation units in the parallel computer. No need.

【0026】図5にタイマ割込処理でのタイマ割込同期
処理の流れを示す。まずはじめに、ステップ501で一
斉設定時刻113と現在時刻を比較し、現在時刻が一斉
設定時刻113を過ぎているかどうかをチェックする。
FIG. 5 shows the flow of the timer interrupt synchronous process in the timer interrupt process. First, in step 501, the simultaneous setting time 113 is compared with the current time, and it is checked whether the current time is after the simultaneous setting time 113.

【0027】現在時刻が一斉設定時刻113を過ぎてい
る場合には、ステップ502で一斉設定処理を行い、現
在時刻が一斉設定時刻113を過ぎていない場合には、
ステップ503でインターバルタイマ補正処理を行う。
If the current time has passed the simultaneous setting time 113, the simultaneous setting processing is performed in step 502, and if the current time has not passed the simultaneous setting time 113,
In step 503, an interval timer correction process is performed.

【0028】図6は、インターバルタイマ一斉設定処理
502の詳細である。まずはじめに、ステップ601
で、全計算ユニット間のバリア同期を行う。バリア同期
が完了すると、その直後にステップ602でインターバ
ルタイマの設定処理を行う。ここでインターバルタイマ
に設定する値は、タイマ割込間隔804を使用する。全
計算ユニットが、バリア同期完了の直後に同じ値をイン
ターバルタイマに設定するため、次のタイマ割込は全計
算ユニットで揃うことになる。次に、ステップ603で
一斉設定時刻を更新する。これは、現在時刻に一斉設定
間隔803を足した時刻とする。最後にステップ604
でタイマ割込時刻の更新を行う。この時刻はインターバ
ルタイマを設定した時刻にタイマ割込間隔804を足し
た時刻とする。このインターバルタイマ一斉設定処理
は、タイマ割込処理内だけでなく、並列計算機の起動時
にも行う。
FIG. 6 shows details of the interval timer simultaneous setting process 502. First, step 601
Then, barrier synchronization between all the calculation units is performed. Immediately after the barrier synchronization is completed, an interval timer setting process is performed in step 602. Here, the value set for the interval timer uses the timer interrupt interval 804. Since all the calculation units set the same value in the interval timer immediately after the completion of the barrier synchronization, the next timer interrupt is completed in all the calculation units. Next, in step 603, the simultaneous set time is updated. This is a time obtained by adding the simultaneous setting interval 803 to the current time. Finally, step 604
To update the timer interrupt time. This time is a time obtained by adding the timer interrupt interval 804 to the time when the interval timer is set. The interval timer simultaneous setting process is performed not only in the timer interrupt process but also when the parallel computer is started.

【0029】図7は、インターバルタイマ補正処理50
4の詳細である。まずはじめにステップ701でインタ
ーバルタイマに設定する値SET_VALを計算する。この値
は、現在時刻をNOW_TIME、タイマ割込時刻801をPRE_
TIME、タイマ割込間隔804をINTERVALとすると、 SET_VAL = INTERVAL - (NOW_TIME - PRE_TIME) --- (1) の計算式で求める。SET_VALを固定値にせず、計算式
(1)で求めるのは以下の理由による。インターバルタ
イマ105がプロセッサ106にタイマ割込をかけた時
点で、プロセッサ106がタイマ割込禁止状態であり、
タイマ割込処理の開始が遅れると、タイマ割込処理の開
始が遅れた分だけインターバルタイマを設定する時刻が
遅れてしまう。このとき常に固定値を設定すると、次回
のタイマ割込発生のタイミングは、タイマ割込処理の開
始が遅れた分だけ他の計算ユニットから遅れることにな
る。このため、インターバルタイマに設定する値は、式
(1)の通りタイマ割込処理の開始が遅れた分だけINTE
RVALから引いて求める。ステップ701が終了すると次
にステップ702でインターバルタイマにSET_VALを設
定する。最後にステップ703で、タイマ割込時刻80
1を、インターバルタイマを設定した時刻にSET_VALを
足した時刻に変更する。
FIG. 7 shows an interval timer correction process 50.
4 is a detail. First, in step 701, a value SET_VAL to be set in the interval timer is calculated. The current time is NOW_TIME and the timer interrupt time 801 is PRE_
Assuming that TIME and the timer interrupt interval 804 are INTERVAL, the value is obtained by the following formula: SET_VAL = INTERVAL- (NOW_TIME-PRE_TIME) --- (1) The reason why SET_VAL is not set to a fixed value but is calculated by the formula (1) is as follows. When the interval timer 105 interrupts the processor 106 with the timer, the processor 106 is in the timer interrupt disabled state,
If the start of the timer interrupt processing is delayed, the time for setting the interval timer is delayed by the delay of the start of the timer interrupt processing. If a fixed value is always set at this time, the next timer interrupt generation timing will be delayed from the other calculation units by the delay of the timer interrupt processing start. Therefore, the value set in the interval timer is set to INTE by the delay of the start of the timer interrupt processing as shown in equation (1).
Subtract from RVAL. When step 701 ends, next, in step 702, SET_VAL is set in the interval timer. Finally, at step 703, the timer interrupt time 80
1 is changed to a time obtained by adding SET_VAL to the time at which the interval timer is set.

【0030】なお、タイマ割込禁止によるタイマ割込処
理開始時間のずれが、バリア同期時間にほとんど影響を
与えないことが分かっている場合には、ステップ503
のインターバルタイマ補正処理を行う必要はなく、イン
ターバルタイマ117に一定のタイマ割込間隔804を
設定するだけでよい。
If it is known that the deviation of the timer interrupt processing start time due to the timer interrupt prohibition hardly affects the barrier synchronization time, step 503 is executed.
It is not necessary to perform the interval timer correction processing described above, but only to set a fixed timer interrupt interval 804 in the interval timer 117.

【0031】また、ここで述べたインターバルタイマ
は、一度タイマ割込を発生すると、次のタイマ割込を発
生させるためには再び割込設定レジスタ117を設定す
る必要があることを前提にしているが、設定したタイマ
割込間隔で連続してタイマ割込を発生させるインターバ
ルタイマを用いても良い。この場合、タイマ割込同期処
理におけるインターバルタイマ補正処理は不要である。
The interval timer described here is based on the premise that once a timer interrupt is generated, it is necessary to set the interrupt setting register 117 again to generate the next timer interrupt. However, an interval timer that continuously generates a timer interrupt at the set timer interrupt interval may be used. In this case, the interval timer correction process in the timer interrupt synchronization process is unnecessary.

【0032】以上の方法を用いることにより、並列計算
機内部の全計算ユニットのタイマ割込を同期して発生さ
せることが可能となる。この状態で、バリア同期を実行
する事により、バリア同期の同期待ち時間に及ぼすタイ
マ割込処理の影響を最小化する事ができる。
By using the above method, it becomes possible to synchronously generate the timer interrupts of all the calculation units inside the parallel computer. By executing the barrier synchronization in this state, it is possible to minimize the influence of the timer interrupt processing on the synchronization waiting time of the barrier synchronization.

【0033】従来技術の説明で用いた並列プログラム2
09を、本発明を用いた図1の並列計算機で実行した場
合の処理の流れを図9に示す。本発明によれば、タイマ
割込発生は、全計算ユニット間で同期している。従っ
て、計算ユニット101、102、103のそれぞれで
は、同時にタイマ割込が発生し、タイマ処理401、4
02、403が同時に実行される。このため、タイマ割
込処理はバリア同期完了時刻404で完了するバリア同
期212だけにしか影響せず、バリア同期214での計
算ユニット101、103それぞれの同期待ち408、
407には影響しない。また、計算ユニット101、1
02、103の全てがタイマ割込処理を同時に実行する
ため、タイマ割込処理がバリア同期212の同期待ち4
06、409に与える影響も、従来技術に比べて少な
い。
The parallel program 2 used in the description of the prior art
FIG. 9 shows the flow of processing in the case where S.09 is executed by the parallel computer of FIG. 1 using the present invention. According to the present invention, the occurrence of the timer interrupt is synchronized between all the calculation units. Accordingly, in each of the calculation units 101, 102, and 103, a timer interrupt occurs at the same time, and the timer processing 401, 4
02 and 403 are executed simultaneously. Therefore, the timer interrupt processing affects only the barrier synchronization 212 completed at the barrier synchronization completion time 404, and the synchronization waiting 408 of each of the calculation units 101 and 103 in the barrier synchronization 214.
407 is not affected. The calculation units 101, 1
02 and 103 execute the timer interrupt processing at the same time.
06 and 409 are less affected than the prior art.

【0034】(実施例2)次に実施例2として、任意の
計算ユニット間でバリア同期を行う方法について説明す
る。 本発明におけるバリア同期方法は、全てのバリア
同期参加計算ユニットからの同期点到達通知を、1対1
通信を用いて階層的に収集し、同期完了通知をブロード
キャスト通信で行うことを特徴とする。以下、図1、図
9〜14をもちいて、本実施例を説明する。
(Embodiment 2) Next, as Embodiment 2, a method of performing barrier synchronization between arbitrary calculation units will be described. According to the barrier synchronization method of the present invention, the synchronization point arrival notification from all the barrier synchronization participation calculation units is transmitted on a one-to-one basis.
The communication is hierarchically collected using communication, and the synchronization completion notification is performed by broadcast communication. Hereinafter, this embodiment will be described with reference to FIGS. 1 and 9 to 14.

【0035】図1において、バリア同期制御部108
は、バリア同期情報110を用いて、同期点到達通知を
収集するための階層構造を作成し、この階層構造に基づ
いて同期点到達通知を1つの計算ユニットに収集する。
この階層構造の例として、図9に2分木1001を示
す。2分木1001の各ノードは、バリア同期に参加す
る計算ユニットに対応する。バリア同期に参加する各計
算ユニットが、同一の2分木を作成することで、バリア
同期に参加する全計算ユニット間の親子関係が一意に決
定できる。2分木1001のそれぞれのノードに対応す
る計算ユニットは、自計算ユニットの全ての子ノードに
対応する計算ユニット(以下、子計算ユニットと呼ぶ)
からの同期点到達通知を受信し、それらが全て受信でき
ると、自計算ユニットの親ノードに対応する計算ユニッ
ト(以下、親計算ユニットと呼ぶ)に対して同期点到達
通知を送信する。2分木1001のルートノードに対応
する計算ユニット(以下、ルート計算ユニットと呼ぶ)
は、その全ての子ノードに対応する計算ユニットからの
同期点到達通知を受信すると、全計算ユニットに対して
同期完了通知をブロードキャストする。全てのバリア同
期参加計算ユニットは、同期完了通知を受信することに
よりバリア同期の完了を知る。
In FIG. 1, barrier synchronization control section 108
Creates a hierarchical structure for collecting synchronization point arrival notifications using the barrier synchronization information 110, and collects synchronization point arrival notifications in one calculation unit based on this hierarchical structure.
FIG. 9 shows a binary tree 1001 as an example of this hierarchical structure. Each node of the binary tree 1001 corresponds to a computation unit participating in barrier synchronization. Each computing unit participating in barrier synchronization creates the same binary tree, so that the parent-child relationship between all the computing units participating in barrier synchronization can be uniquely determined. The calculation unit corresponding to each node of the binary tree 1001 is a calculation unit corresponding to all the child nodes of the own calculation unit (hereinafter, referred to as a child calculation unit).
, And when all of them are received, a synchronization point arrival notification is transmitted to a calculation unit (hereinafter, referred to as a parent calculation unit) corresponding to the parent node of the self-calculation unit. A calculation unit corresponding to the root node of the binary tree 1001 (hereinafter, referred to as a root calculation unit)
When receiving the synchronization point arrival notification from the calculation units corresponding to all of the child nodes, it broadcasts a synchronization completion notification to all the calculation units. All the barrier synchronization participation calculation units know the completion of the barrier synchronization by receiving the synchronization completion notification.

【0036】他計算ユニットとの1対1通信及びブロー
ドキャスト通信は、通信制御部114が提供する。バリ
ア同期制御部108は、バリア同期情報110を用いて
通信先の計算ユニットと使用する通信方法を決定し、通
信制御部114を用いて通知データの送信を行う。他計
算ユニットから受信する通知データは、通信制御部11
4によって通知データ受信領域に書き込まれる。通信制
御部114が行う通信は、たとえば本出願人が先に出願
した特開平6−110845の通信方式を用いることで
実現できる。
The one-to-one communication and the broadcast communication with other calculation units are provided by the communication control unit 114. The barrier synchronization control unit 108 uses the barrier synchronization information 110 to determine a communication method to be used with the calculation unit at the communication destination, and transmits the notification data using the communication control unit 114. The notification data received from the other calculation unit is transmitted to the communication control unit 11.
4 is written to the notification data receiving area. The communication performed by the communication control unit 114 can be realized by using, for example, the communication system of Japanese Patent Application Laid-Open No. HEI 6-110845 previously filed by the present applicant.

【0037】本発明のバリア同期は、複数の計算ユニッ
ト間で同期を行うことができる。この複数の計算ユニッ
トの集合をバリア同期グループと呼ぶ。並列計算機内の
各計算ユニットは、複数のバリア同期グループに参加す
ることができる。このため、バリア同期制御部108は
それぞれのバリア同期グループに対応するバリア同期情
報と通知データ受信領域を保持している。
In the barrier synchronization according to the present invention, synchronization can be performed between a plurality of calculation units. A set of the plurality of calculation units is called a barrier synchronization group. Each calculation unit in the parallel computer can participate in a plurality of barrier synchronization groups. Therefore, the barrier synchronization control unit 108 holds the barrier synchronization information and the notification data reception area corresponding to each barrier synchronization group.

【0038】図10に、バリア同期情報110の内容を
示す。バリア同期情報110は、バリア同期グループ情
報1104の集合である。バリア同期グループ情報11
04は、バリア同期GR1101、バリア同期ID110
2、計算ユニットリストで構成する。
FIG. 10 shows the contents of the barrier synchronization information 110. The barrier synchronization information 110 is a set of barrier synchronization group information 1104. Barrier synchronization group information 11
04 is a barrier synchronization GR 1101, a barrier synchronization ID 110
2. It is composed of a calculation unit list.

【0039】バリア同期GR1101は、バリア同期グル
ープの識別子、バリア同期ID1102は、同一のバリア
同期グループでバリア同期を複数回実行する場合の、そ
れぞれのバリア同期の識別子、計算ユニットリストは、
同一のバリア同期グループに含まれる全計算ユニットの
リストである。
The barrier synchronization GR 1101 is an identifier of the barrier synchronization group, and the barrier synchronization ID 1102 is an identifier of each barrier synchronization and a calculation unit list when the barrier synchronization is executed a plurality of times in the same barrier synchronization group.
It is a list of all the computation units included in the same barrier synchronization group.

【0040】図11に、通知データ受信領域111の構
成を示す。通知データ受信領域はバリア同期グループ単
位で分割し、同じバリア同期グループの通知データ受信
領域先頭からの位置は、全計算ユニット上で同じになる
ように確保する。各バリア同期グループ用の通知データ
受信領域は、同期完了通知データ受信領域1201と同
期点到達通知データ受信領域1202、1203で構成
する。同期点到達通知データ受信領域1202、120
3は、それぞれ自計算ユニットの子計算ユニットからの
同期点到達通知データを受信する領域であり、同期完了
通知データ受信領域1201は、ルート計算ユニットが
ブロードキャストする同期完了通知データを受信する領
域である。同期点到達通知受信領域の数は、同期点到達
通知の収集に使用する階層構造によって異なる。本実施
例では、2分木を用いているため同期点到達通知受信領
域数は2であるが、一般にN分木を用いて同期点到達通
知を収集する場合には、Nの同期点到達通知受信領域を
設ける。
FIG. 11 shows the configuration of the notification data receiving area 111. The notification data reception area is divided in units of barrier synchronization groups, and the position of the same barrier synchronization group from the head of the notification data reception area is ensured to be the same on all calculation units. The notification data reception area for each barrier synchronization group includes a synchronization completion notification data reception area 1201 and a synchronization point arrival notification data reception area 1202, 1203. Synchronization point arrival notification data reception areas 1202, 120
Reference numeral 3 denotes an area for receiving synchronization point arrival notification data from a child calculation unit of the own calculation unit, and a synchronization completion notification data reception area 1201 is an area for receiving synchronization completion notification data broadcast by the route calculation unit. . The number of the synchronization point arrival notification reception areas differs depending on the hierarchical structure used for collecting the synchronization point arrival notification. In the present embodiment, the number of synchronization point arrival notification reception areas is two because a binary tree is used. However, in general, when collecting synchronization point arrival notifications using an N-ary tree, N synchronization point arrival notifications are used. A reception area is provided.

【0041】図12に、通知データ受信領域111に書
き込まれる通知データのフォーマットを示す。通知デー
タはバリア同期GRフィールド1301とバリア同期IDフ
ィールド1302の2つのフィールドで構成する。バリ
ア同期GRフィールド1301には、バリア同期GR110
1の値が格納され、バリア同期IDフィールド1302に
は、バリア同期ID1102の値が格納される。前述の通
り、通知データ受信領域には、通信制御部114が受信
データを直接書き込む。従ってバリア同期制御部108
は、バリア同期GRフィールド1301とバリア同期IDフ
ィールド1302の値がそれぞれバリア同期GR1101
とバリア同期ID1102の値と等しい事をスピンループ
により確認して通知データの受信を知る。
FIG. 12 shows a format of the notification data written in the notification data receiving area 111. The notification data is composed of two fields, a barrier synchronization GR field 1301 and a barrier synchronization ID field 1302. The barrier synchronization GR field 1301 contains the barrier synchronization GR 110
1 is stored in the barrier synchronization ID field 1302, and the value of the barrier synchronization ID 1102 is stored in the barrier synchronization ID field 1302. As described above, the communication control unit 114 writes the received data directly in the notification data receiving area. Therefore, the barrier synchronization control unit 108
Is that the values of the barrier synchronization GR field 1301 and the barrier synchronization ID field 1302 are respectively the barrier synchronization GR 1101
And that the value is equal to the value of the barrier synchronization ID 1102 by a spin loop, thereby knowing that the notification data has been received.

【0042】図13に、バリア同期制御部108の処理
の流れを示す。
FIG. 13 shows a flow of processing of the barrier synchronization control unit 108.

【0043】まずはじめに、ステップ1401で現在処
理対象となっているバリア同期グループの初期化が完了
しているかどうかを調べる。初期化が完了していない場
合には、ステップ1402を行ったあと、ステップ14
03に進む。初期化が完了している場合には、ステップ
1403直接ステップ1403に進む。
First, it is checked in step 1401 whether or not the initialization of the barrier synchronization group that is currently being processed has been completed. If the initialization has not been completed, step 1402 is performed, and then step 14
Go to 03. If the initialization has been completed, step 1403 proceeds directly to step 1403.

【0044】ステップ1402では、初期化処理を行
う。初期化処理では、計算ユニットリスト1103を用
いて、2分木1001を作成し、自計算ユニットの子計
算ユニットと親計算ユニットを求める。また、初期化処
理では、バリア同期ID1102を1に設定する。
In step 1402, an initialization process is performed. In the initialization processing, a binary tree 1001 is created using the calculation unit list 1103, and the child calculation unit and the parent calculation unit of the self calculation unit are obtained. In the initialization process, the barrier synchronization ID 1102 is set to 1.

【0045】ステップ1403では、自計算ユニットの
子計算ユニットが存在するかどうかを調べる。子計算ユ
ニットが存在しない場合にはステップ1405に進む。
子計算ユニットを持つ場合には、ステップ1404を実
行した後ステップ1405に進む。
In step 1403, it is checked whether or not a child calculation unit of the self-calculation unit exists. If no child calculation unit exists, the process proceeds to step 1405.
If it has a child calculation unit, it proceeds to step 1405 after executing step 1404.

【0046】ステップ1404は、同期点到達通知の受
信待ち処理である。前述の通り、同期点到達通知の受信
確認は、同期点到達通知受信領域の1202、1203
のバリア同期GRフィールド1301の値がバリア同期情
報内のバリア同期GR1101と等しく、かつバリア同期
IDフィールド1302の値がバリア同期ID1102の値
と等しくなるまでスピンループすることで行う。この同
期点到達通知の受信確認を、全ての子計算ユニットから
の同期点到達通知データ受信領域に対して実行する。
Step 1404 is processing for waiting for reception of a synchronization point arrival notification. As described above, the reception confirmation of the synchronization point arrival notification is performed in the synchronization point arrival notification receiving area 1202, 1203.
The value of the barrier synchronization GR field 1301 is equal to the barrier synchronization GR 1101 in the barrier synchronization information, and the barrier synchronization is performed.
This is performed by performing a spin loop until the value of the ID field 1302 becomes equal to the value of the barrier synchronization ID 1102. The reception confirmation of the synchronization point arrival notification is executed for the synchronization point arrival notification data reception areas from all the child calculation units.

【0047】全ての子計算ユニットからの同期点到達通
知を受信すると、次にステップ1405で自計算ユニッ
トが親計算ユニットを持つかどうかを調べる。親計算ユ
ニットを持つ場合は、ステップ1406、1407、1
409を実行してバリア同期処理を終了する。計算ユニ
ットを持たない場合、自計算ユニットはルート計算ユニ
ットである。この場合、ステップ1408、1409を
実行してバリア同期処理を終了する。
Upon receiving the synchronization point arrival notification from all the child calculation units, it is checked in step 1405 whether the own calculation unit has a parent calculation unit. If there is a parent calculation unit, steps 1406, 1407, 1
409 is executed to end the barrier synchronization processing. If there is no calculation unit, the own calculation unit is a root calculation unit. In this case, steps 1408 and 1409 are executed, and the barrier synchronization processing ends.

【0048】ステップ1406は同期点到達通知データ
の親計算ユニットへの通知処理である。バリア同期情報
110内のバリア同期GR1101とバリア同期ID110
2の値を用いて図12に示した通知データを作成し、通
信制御部114を用いて親計算ユニットに送信する。
Step 1406 is processing for notifying the parent computing unit of the synchronization point arrival notification data. The barrier synchronization GR 1101 and the barrier synchronization ID 110 in the barrier synchronization information 110
The notification data shown in FIG. 12 is created using the value of 2, and transmitted to the parent calculation unit using the communication control unit 114.

【0049】ステップ1408は、同期完了通知の受信
待ち処理である。この処理も、同期点到達通知データ受
信待ち処理と同様、同期完了通知受信領域1201のバ
リア同期GRフィールド1301の値がバリア同期情報内
のバリア同期GR1101と等しく、かつバリア同期IDフ
ィールド1302の値がバリア同期ID1102の値と等
しくなるまでスピンループすることで行う。
Step 1408 is a process of waiting for reception of a synchronization completion notification. In this process, similarly to the synchronization point arrival notification data reception waiting process, the value of the barrier synchronization GR field 1301 of the synchronization completion notification reception area 1201 is equal to the barrier synchronization GR 1101 in the barrier synchronization information, and the value of the barrier synchronization ID field 1302 is This is performed by performing a spin loop until the value becomes equal to the value of the barrier synchronization ID 1102.

【0050】ステップ1407は同期完了通知処理であ
る。同期点到達通知処理と同様、バリア同期GR1101
とバリア同期ID1102の値を用いて図12に示した通
知データを作成し、通信制御部114を用いて全計算ユ
ニットに送信する。
Step 1407 is a synchronization completion notifying process. Similar to the synchronization point arrival notification processing, the barrier synchronization GR1101
The notification data shown in FIG. 12 is created using the value of the barrier synchronization ID 1102 and the value of the barrier synchronization ID 1102, and transmitted to all calculation units using the communication control unit 114.

【0051】ステップ1409は、バリア同期情報の更
新処理である。ここでは次のバリア同期で使用するため
に、バリア同期ID1102をインクリメントしておく。
Step 1409 is a process for updating the barrier synchronization information. Here, the barrier synchronization ID 1102 is incremented for use in the next barrier synchronization.

【0052】[0052]

【発明の効果】以上説明したとおり、本発明によれば、
並列計算機内の全計算ユニットのタイマ割込を同期させ
ることで、バリア同期性能を向上させることができる。
As described above, according to the present invention,
By synchronizing the timer interrupts of all the calculation units in the parallel computer, the barrier synchronization performance can be improved.

【0053】また、本発明によれば任意の計算ユニット
間でバリア同期を実行する場合、同期完了通知にブロー
ドキャストを使用することにより、高速で同時性の高い
バリア同期を提供することができる。
Further, according to the present invention, when performing barrier synchronization between arbitrary calculation units, it is possible to provide high-speed and highly-synchronous barrier synchronization by using broadcast for the synchronization completion notification.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明を適用した並列計算機の構成を示す図で
ある。
FIG. 1 is a diagram showing a configuration of a parallel computer to which the present invention is applied.

【図2】従来技術を用いた並列計算機の構成を示す図で
ある。
FIG. 2 is a diagram showing a configuration of a parallel computer using a conventional technique.

【図3】従来技術を用いた並列プログラムの実行を示す
図である。
FIG. 3 is a diagram showing execution of a parallel program using a conventional technique.

【図4】本発明を用いた並列プログラムの実行を示す図
である。
FIG. 4 is a diagram showing execution of a parallel program using the present invention.

【図5】タイマ割込同期処理のフローチャートを示す図
である。
FIG. 5 is a diagram illustrating a flowchart of a timer interrupt synchronization process.

【図6】インターバルタイマ一斉設定処理のフローチャ
ートを示す図である。
FIG. 6 is a diagram showing a flowchart of an interval timer simultaneous setting process.

【図7】インターバルタイマ補正処理のフローチャート
を示す図である。
FIG. 7 is a diagram illustrating a flowchart of an interval timer correction process.

【図8】タイマ割込同期制御情報を示す図である。FIG. 8 is a diagram showing timer interrupt synchronization control information.

【図9】2分木を示す図である。FIG. 9 is a diagram showing a binary tree.

【図10】バリア同期情報を示す図である。FIG. 10 is a diagram showing barrier synchronization information.

【図11】通知データ受信領域を示す図である。FIG. 11 is a diagram showing a notification data receiving area.

【図12】通知データフォーマットを示す図である。FIG. 12 is a diagram showing a notification data format.

【図13】バリア同期処理のフローチャートを示す図で
ある。
FIG. 13 is a diagram showing a flowchart of barrier synchronization processing.

【符号の説明】[Explanation of symbols]

101、102、103、201、202、203:計
算ユニット、113、204:ネットワーク、106、
207:メモリ、105、206:インターバルタイ
マ、104、205:プロセッサ、114:通信制御
部、108:バリア同期制御部、110:バリア同期情
報、111:通知データ受信領域、109:タイマ割込
同期制御部、112:タイマ割込同期制御情報、11
5、210:割込処理プログラム
101, 102, 103, 201, 202, 203: calculation unit, 113, 204: network, 106,
207: memory, 105, 206: interval timer, 104, 205: processor, 114: communication control unit, 108: barrier synchronization control unit, 110: barrier synchronization information, 111: notification data reception area, 109: timer interrupt synchronization control Part, 112: timer interrupt synchronization control information, 11
5, 210: interrupt processing program

───────────────────────────────────────────────────── フロントページの続き (72)発明者 秋山 幸広 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 (72)発明者 戸部 和政 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内 ──────────────────────────────────────────────────の Continuing on the front page (72) Inventor Yukihiro Akiyama 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Inside the Software Development Division, Hitachi, Ltd. (72) Inventor Kazuma Tobe 5030 Totsukacho, Totsuka-ku, Yokohama-shi, Kanagawa Prefecture Address Co., Ltd. Software Development Division, Hitachi, Ltd.

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】複数の計算ユニットをネットワークで接続
し、前記複数の計算ユニットはそれぞれ、メモリと、プ
ロセッサと、絶対経過時間が計算可能な情報を得ること
ができ、設定した時間が経過すると同一計算ユニット内
のプロセッサに割込を発生させるインターバルタイマを
持つ並列計算機において、前記計算ユニットのそれぞれ
で発生するタイマ割込を全計算ユニットで同期させ、前
記複数の計算ユニットのうち任意の計算ユニット間の同
期を行う事を特徴とするバリア同期方法。
1. A plurality of calculation units are connected by a network, each of said plurality of calculation units is capable of obtaining information capable of calculating an absolute elapsed time, a memory, a processor, and the same when a set time elapses. In a parallel computer having an interval timer that causes an interrupt in a processor in a computing unit, a timer interrupt that occurs in each of the computing units is synchronized by all of the computing units, and any one of the plurality of computing units is A barrier synchronization method characterized in that synchronization is performed.
【請求項2】請求項1記載のタイマ割込の全計算ユニッ
ト同期方法として、前記全計算ユニット間でタイマ割込
同期用バリア同期を行ない、前記全計算ユニットのそれ
ぞれは、前記タイマ割込同期用バリア同期が成立した直
後に、同一の割込発生間隔値を前記インターバルタイマ
に設定し、タイマ割込発生時に、前記インターバルタイ
マを再設定することを特徴とする請求項1記載のバリア
同期方法。
2. The method according to claim 1, wherein the timer interrupt synchronization barrier synchronization is performed between all of the computation units, and each of the all computation units performs the timer interrupt synchronization. 2. The barrier synchronization method according to claim 1, wherein the same interrupt occurrence interval value is set in the interval timer immediately after the barrier synchronization is established, and the interval timer is reset when a timer interrupt occurs. .
【請求項3】請求項2記載のタイマ割込同期におけるタ
イマ割込発生時のインターバルタイマ再設定方法とし
て、タイマ割込発生予定時刻を保存しておき、タイマ割
込発生時には、タイマ割込発生時刻と前記保存しておい
たタイマ割込発生予定時刻の差分と前記割込発生間隔値
を用いて計算した値を、インターバルタイマに設定し、
さらにタイマ割込発生予定時刻を更新する方法を用いる
ことを特徴とする請求項2記載のバリア同期方法。
3. A method of resetting an interval timer upon occurrence of a timer interrupt in the timer interrupt synchronization according to claim 2, wherein a scheduled timer interrupt occurrence time is stored, and when the timer interrupt occurs, the timer interrupt generation is performed. A value calculated using the difference between the time and the stored scheduled timer interrupt occurrence time and the interrupt occurrence interval value is set in the interval timer,
3. The barrier synchronization method according to claim 2, further comprising using a method of updating a scheduled timer interrupt occurrence time.
【請求項4】請求項3記載のタイマ割込発生予定時刻
は、前記インターバルタイマを設定した時刻に、前記イ
ンターバルタイマに設定した値を足した時刻であること
を特徴とする請求項3記載のバリア同期方法。
4. The timer according to claim 3, wherein the timer interrupt occurrence scheduled time is a time obtained by adding a value set in the interval timer to a time set in the interval timer. Barrier synchronization method.
【請求項5】請求項3記載のインターバルタイマに設定
する値を、前記タイマ割込発生時刻と前記保存しておい
たタイマ割込発生予定時刻の差分を前記割込発生間隔値
から引いて求めることを特徴とする請求項3または請求
項4記載のバリア同期方法。
5. A value to be set in the interval timer according to claim 3, wherein a difference between the timer interrupt occurrence time and the stored scheduled timer interrupt occurrence time is subtracted from the interrupt occurrence interval value. The barrier synchronization method according to claim 3 or 4, wherein:
【請求項6】請求項2記載のタイマ割込同期におけるタ
イマ割込発生時のインターバルタイマ再設定方法とし
て、前記同一の割込発生間隔値を、インターバルタイマ
に設定することを特徴とする請求項2記載のバリア同期
方法。
6. The method according to claim 2, wherein the same interrupt occurrence interval value is set in an interval timer when resetting the interval timer upon occurrence of a timer interrupt in timer interrupt synchronization. 2. The barrier synchronization method according to 2.
【請求項7】請求項2記載のタイマ割込同期用バリア同
期を、並列計算機起動時に行うことを特徴とする請求項
2記載のバリア同期方法。
7. The barrier synchronization method according to claim 2, wherein the barrier synchronization for timer interruption synchronization is performed when the parallel computer is started.
【請求項8】請求項2記載のタイマ割込同期用バリア同
期を、一定のタイマ割込同期用バリア同期時間間隔で行
うことを特徴とする請求項2記載のバリア同期方法。
8. The barrier synchronization method according to claim 2, wherein the barrier synchronization for timer interruption synchronization is performed at a constant barrier synchronization time interval for timer interruption synchronization.
【請求項9】請求項8記載のタイマ割込同期用バリア同
期において、タイマ割込同期用バリア同期実行予定時刻
を保存しておき、タイマ割込発生時に、タイマ割込発生
時刻がタイマ割込同期用バリア同期実行予定時刻をすぎ
ていたときにタイマ割込同期用バリア同期を行い、前記
タイマ割込同期用バリア同期完了直後に、タイマ割込同
期用バリア同期完了時刻と前記一定のタイマ割込同期用
バリア同期時間間隔値を足した時刻をタイマ割込同期用
バリア同期実行予定時刻として更新することを特徴とす
る請求項8記載のバリア同期方法。
9. The barrier synchronization for timer interrupt synchronization according to claim 8, wherein the scheduled execution time of the barrier synchronization for timer interrupt synchronization is stored, and when a timer interrupt occurs, the timer interrupt occurrence time is set to the timer interrupt time. When the scheduled synchronization barrier synchronization execution time has passed, barrier synchronization for timer interrupt synchronization is performed. Immediately after the completion of the barrier synchronization for timer interrupt synchronization, the barrier synchronization completion time for timer interrupt synchronization and the fixed timer interrupt 9. The barrier synchronization method according to claim 8, wherein a time obtained by adding the barrier synchronization time interval value for interruption synchronization is updated as a scheduled execution time of barrier synchronization for timer interruption synchronization.
【請求項10】複数の計算ユニットをネットワークで接
続し、前記複数の計算ユニットはそれぞれ、メモリと、
プロセッサと、他計算ユニットとの通信手段を持つ並列
計算機において、バリア同期参加計算ユニットそれぞれ
が、バリア同期情報を保持し、バリア同期参加計算ユニ
ットが同期点に到達した事を通知する同期点到達通知
を、前記バリア同期情報に基づき一つの計算ユニットに
収集し、前記一つの計算ユニットに全バリア同期参加ユ
ニットからの同期点到達通知が収集できると、前記一つ
の計算ユニットは、同期完了通知をブロードキャスト
し、 全バリア同期参加ユニットは、前記ブロードキャ
ストによる同期完了通知の受信により同期の完了を判定
する方法である事を特徴とするバリア同期方法。
10. A plurality of computing units connected by a network, each of said plurality of computing units having a memory,
In a parallel computer having a processor and communication means for communicating with another calculation unit, each of the barrier synchronization participation calculation units holds barrier synchronization information and notifies that the barrier synchronization participation calculation unit has reached a synchronization point. Is collected in one calculation unit based on the barrier synchronization information, and when the synchronization point arrival notifications from all the barrier synchronization participating units can be collected in the one calculation unit, the one calculation unit broadcasts a synchronization completion notification. The barrier synchronization method is characterized in that all the barrier synchronization participation units determine the completion of synchronization by receiving the synchronization completion notification by the broadcast.
【請求項11】請求項10記載の同期点到達通知の一つ
の計算ユニットへの収集は、前記バリア同期情報を用い
て、前記一つの計算ユニットをルートとするツリー構造
を作成し、前記作成したツリー構造に基づき、階層的に
収集する事を特徴とする請求項10記載のバリア同期方
法。
11. The method according to claim 10, wherein the synchronization point arrival notification is collected in one calculation unit by using the barrier synchronization information to create a tree structure having the one calculation unit as a root. The barrier synchronization method according to claim 10, wherein the collection is performed hierarchically based on a tree structure.
【請求項12】請求項10記載のバリア同期情報は、少
くとも、バリア同期の識別番号と、バリア同期に参加す
る全ての計算ユニットの番号リストを含む事を特徴とす
る請求項10又は請求項11のバリア同期方法
12. The barrier synchronization information according to claim 10, wherein the barrier synchronization information includes at least an identification number of the barrier synchronization and a list of numbers of all the calculation units participating in the barrier synchronization. 11 barrier synchronization methods
【請求項13】請求項1記載の任意の計算ユニット間の
バリア同期を行う方法として、バリア同期参加計算ユニ
ットそれぞれが、バリア同期情報を保持し、バリア同期
参加計算ユニットが同期点に到達した事を通知する同期
点到達通知を、前記バリア同期情報に基づき、一つの計
算ユニットに収集し、前記一つの計算ユニットに、全バ
リア同期参加ユニットからの同期点到達通知が収集でき
ると、前記一つの計算ユニットは、同期完了通知をブロ
ードキャストし、 全バリア同期参加ユニットは、前記
ブロードキャストによる同期完了通知の受信により同期
の完了を判定する事を特徴とする請求項1記載のバリア
同期方法。
13. A method according to claim 1, wherein each of the barrier synchronization participation calculation units holds barrier synchronization information and the barrier synchronization participation calculation unit reaches a synchronization point. The synchronization point arrival notification that notifies the synchronization point arrival notification from all the barrier synchronization participating units can be collected in one calculation unit based on the barrier synchronization information. The barrier synchronization method according to claim 1, wherein the calculation unit broadcasts a synchronization completion notification, and all the barrier synchronization participation units determine the completion of the synchronization by receiving the synchronization completion notification by the broadcast.
JP7132597A 1997-03-25 1997-03-25 Barrier synchronization method Pending JPH10269185A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7132597A JPH10269185A (en) 1997-03-25 1997-03-25 Barrier synchronization method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7132597A JPH10269185A (en) 1997-03-25 1997-03-25 Barrier synchronization method

Publications (1)

Publication Number Publication Date
JPH10269185A true JPH10269185A (en) 1998-10-09

Family

ID=13457302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7132597A Pending JPH10269185A (en) 1997-03-25 1997-03-25 Barrier synchronization method

Country Status (1)

Country Link
JP (1) JPH10269185A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134466A (en) * 1999-11-08 2001-05-18 Fujitsu Ltd Debug device and debug method and program recording medium
JP2005502970A (en) * 2001-09-13 2005-01-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method, apparatus and bus system for causing program interruption in a subscriber of a bus system
JP2005202779A (en) * 2004-01-16 2005-07-28 Kinji Mori Synchronous processing method for distributed computer system
JP2009026035A (en) * 2007-07-19 2009-02-05 Nec Corp Interrupt processing synchronizing device, interrupt processing synchronizing method, and program
JP2014166034A (en) * 2013-02-25 2014-09-08 Denso Corp Battery monitoring device
JP5590032B2 (en) * 2009-06-30 2014-09-17 富士通株式会社 Computer apparatus and parallel computer system
JP2015127982A (en) * 2015-04-06 2015-07-09 学校法人早稲田大学 Multiprocessor system
JP2017062843A (en) * 2016-11-30 2017-03-30 学校法人早稲田大学 Multiprocessor system
CN108563557A (en) * 2018-02-08 2018-09-21 北京东土科技股份有限公司 A kind of Channel Synchronous method and device of multichannel computer

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134466A (en) * 1999-11-08 2001-05-18 Fujitsu Ltd Debug device and debug method and program recording medium
JP2005502970A (en) * 2001-09-13 2005-01-27 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング Method, apparatus and bus system for causing program interruption in a subscriber of a bus system
JP2005202779A (en) * 2004-01-16 2005-07-28 Kinji Mori Synchronous processing method for distributed computer system
JP2009026035A (en) * 2007-07-19 2009-02-05 Nec Corp Interrupt processing synchronizing device, interrupt processing synchronizing method, and program
JP5590032B2 (en) * 2009-06-30 2014-09-17 富士通株式会社 Computer apparatus and parallel computer system
JP2014166034A (en) * 2013-02-25 2014-09-08 Denso Corp Battery monitoring device
JP2015127982A (en) * 2015-04-06 2015-07-09 学校法人早稲田大学 Multiprocessor system
JP2017062843A (en) * 2016-11-30 2017-03-30 学校法人早稲田大学 Multiprocessor system
CN108563557A (en) * 2018-02-08 2018-09-21 北京东土科技股份有限公司 A kind of Channel Synchronous method and device of multichannel computer
CN108563557B (en) * 2018-02-08 2020-01-21 北京东土科技股份有限公司 Channel synchronization method and device of multi-channel computer

Similar Documents

Publication Publication Date Title
JP3573546B2 (en) Parallel process scheduling method for parallel computer and processing device for parallel computer
US6243702B1 (en) Method and apparatus for propagating commit times between a plurality of database servers
US7334014B2 (en) Consistent time service for fault-tolerant distributed systems
JP2879567B2 (en) Data processing device and communication system
US7783736B2 (en) Definition of an active stratum-1 server in a coordinated timing network
JP5042318B2 (en) Method, system, and computer program for defining a tier 1 configuration in an agreement timing network
JP2002517819A (en) Method and apparatus for managing redundant computer-based systems for fault-tolerant computing
JP2002517035A (en) Distributed computing environment using real-time scheduling logic and time-deterministic architecture
US7640453B2 (en) Methods and apparatus to change a configuration of a processor system
JPH10269185A (en) Barrier synchronization method
CA2675644A1 (en) Facilitating recovery in a coordinated timing network
JP2012128809A (en) Parallel computer system, synchronization device, and control method for parallel computer system
CN112214350A (en) Software voting method for distributed multi-mode redundancy fault-tolerant system
Nicol Noncommittal barrier synchronization
CN113672401A (en) Triggering method and system for batch processing tasks and computer readable storage medium
US10824188B2 (en) Multichip timing synchronization circuits and methods
JP3891994B2 (en) System and method for draining an in-order queue
Fetzer et al. Fail-aware failure detectors
JPH1083379A (en) Parallel computer system
JP2009026035A (en) Interrupt processing synchronizing device, interrupt processing synchronizing method, and program
Liu et al. D-Paxos: building hierarchical replicated state machine for cloud environments
JPH04260962A (en) Synchronization control system in parallel computers
JPH01214939A (en) Single-chip microcomputer
JPH07200486A (en) Information processor
JP2002135284A (en) Line concentrator