JP2000305919A - マルチプロセッサシステムとその同期方法、振動試験装置 - Google Patents

マルチプロセッサシステムとその同期方法、振動試験装置

Info

Publication number
JP2000305919A
JP2000305919A JP11116113A JP11611399A JP2000305919A JP 2000305919 A JP2000305919 A JP 2000305919A JP 11116113 A JP11116113 A JP 11116113A JP 11611399 A JP11611399 A JP 11611399A JP 2000305919 A JP2000305919 A JP 2000305919A
Authority
JP
Japan
Prior art keywords
processor
synchronization
processors
check
flag
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
JP11116113A
Other languages
English (en)
Inventor
Kazuhiro Umekita
和弘 梅北
Masatsugu Kametani
雅嗣 亀谷
Katsuhisa Ike
勝久 池
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 JP11116113A priority Critical patent/JP2000305919A/ja
Publication of JP2000305919A publication Critical patent/JP2000305919A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)

Abstract

(57)【要約】 【課題】 同期処理専用の特別なハードウェアや不可分
命令の使用なしで、マルチプロセッサシステムのプロセ
ッサ間同期を実現する。 【解決手段】 共有メモリ上に各プロセッサ対応の同期
フラグ及びチェックフラグを設け、並列処理開始時には
これらの全フラグをクリアしておく。各プロセッサの同
期処理では、まず自プロセッサ対応の同期フラグをセッ
トしたのち全同期フラグがセットされるのを待ち、セッ
トされると次に自プロセッサ対応のチェックフラグをセ
ットしたのち全チェックフラグがセットされるのを待
ち、セットされると次に自プロセッサ対応の同期フラグ
をクリアしたのち全同期フラグがクリアされるのを待
ち、クリアされると自プロセッサ対応のチェックフラグ
をクリアして同期処理を終了する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、共有メモリを備え
たマルチプロセッサシステムとその同期方法、およびこ
れを用いた振動試験装置に関するものである。
【0002】
【従来の技術】マルチプロセッサシステムを用いて、目
的とする処理を複数のプロセッサで分担して並列処理す
れば、その処理を高速に実行できる。例えば特開平5−
10846号に開示されている技術を用いれば、部分構
造の試験と数値モデルの解析とを結合することにより、
大規模な構造物や数値モデル化が困難な部分を含む構造
でも、部分モデルを用いた実験により全体構造を実験し
たのと同等な実験条件を実現することができるが、数値
モデルが大規模になった場合、解析時間が増大する。こ
のような場合には、マルチプロセッサシステムの利用が
有効である。
【0003】このような並列処理を実行するときには、
一般にプロセッサ間の同期処理が必要である。このため
の従来技術としては、同期監視のための専用のプロセッ
サを設けたもの、同期監視のための専用線を各プロセッ
サに設けたものがあるが、前者では同期監視用プロセッ
サと同期制御線等のハードウェアを設ける必要があり、
後者では、同期要求線、同期検出線、同期制御回路等の
ハードウェアを設ける必要がある。また、別の従来技術
として、ソフトウェアによって同期処理を行う従来技術
もあるが、複数の命令を不可分で行う不可分命令を実行
できる特別なハードウェアを必要としたり、複雑な制御
が必要で同期処理時間が長かったりした。さらに、例え
ば、特開平9−305546号に開示された従来技術が
あるが、この技術では、同期先プロセッサが、同期元プ
ロセッサを待つことはできるが、同期元プロセッサは同
期先プロセッサを待つことができない。
【0004】これらの従来技術に対して、専用のハード
ウェアを用いず、また不可分命令も用いないで、ソフト
処理で同期をとるようにした技術が特開平2−1059
61号に開示されている。この技術では、各プロセッサ
に同期用レジスタを設け、そのレジスタは全てのプロセ
ッサに対応するフラグを持っている。そして各プロセッ
サが分担して処理を行う1つのフェーズの開始時に各プ
ロセッサはそのレジスタの全フラグを「0」にリセット
しておく。各プロセッサは、当該フェーズにおける処理
を終わると自プロセッサ内の同期用レジスタの自プロセ
ッサ対応のフラグを「1」にセットするとともに、通信
手段を介して他プロセッサの全てに処理終了を通知し、
これを受けた各プロセッサは、割り込み処理により自プ
ロセッサ内のレジスタの通知元プロセッサ対応フラグを
「1」にセットする。そして各プロセッサは、自分の当
該フェーズの処理が終わっていれば、いずれかのフラグ
を「1」としたときに、全てのフラグが「1」となって
いるかのチェックを行い、すべて「1」となっていれば
次のフェーズの処理に移行する。
【0005】
【発明が解決しようとする課題】前記した特開平2−1
05961号に開示され技術によると、専用ハードウェ
アを設置したり、不可分命令の利用なしに、経済的でか
つ単純なソフト処理によりプロセッサ間の同期をとるこ
とができる。しかし、この技術には以下に述べる問題点
がある。今、簡単のため2個のプロセッサPE1、PE
2が図7に示したように、フェーズj−1で処理A1、
A2をそれぞれ実行して同期をとり(Sync1)、次
いでフェーズjで処理B1、B2をそれぞれ実行して同
期をとり(Sync2)、さらにフェーズj+1で処理
C1、C2をそれぞれ実行して終了するようプログラム
されているとする。
【0006】図8はこのときの各プロセッサの動作例を
示すタイムチャートで、時刻t0からプロセッサPE
1、PE2がそれぞれフェーズj−1の処理A1、A2
を開始したとすると、このときプロセッサPE1の同期
用レジスタのフラグ(f11、f12)は(0、0)であ
り、プロセッサPE2の同期用レジスタのフラグ(f2
1、f22)は(0、0)である。但しf11、f21はプロ
セッサPE1対応のフラグであり、f12、f22はプロセ
ッサPE2対応のフラグとする。時間が経過して時刻t
1にプロセッサPE1での処理A1が終了したとする
と、その後はプロセッサPE1は終了通知の送信とフラ
グf11を「1」とする更新処理を行い、続いてフラグチ
ェックを行うSync1動作に入る。一方、終了通知を
受けたプロセッサPE2ではフラグf21を「1」とする
割り込み処理とフラグチェックを行う。各プロセッサの
フラグ更新が時刻t2に終わったとすると(これは必ず
しも2つのプロセッサで同一時刻とは限らないが、ここ
ではほぼ同じと見て1つの時刻としている。以下同
様)、この後に続くフラグチェックではどちらのレジス
タも(1、0)なのでプロセッサPE1はフラグチェッ
クを続け、プロセッサPE2では処理A2を継続する。
さらに時間が経過して時刻t3にプロセッサPE2の処
理A2が終了したとすると、先程と同様にして各プロセ
ッサのフラグf12、f22の更新処理が行われ、これが時
刻t4に完了し、いずれの同期用レジスタも(1、1)
となったとする。この後、時刻t5にプロセッサPE1
がフラグチェックを終わってフェーズjの処理B1を開
始し(このときプロセッサPE1のフラグ(f11、f1
2)は(0、0)にリセット)、時刻t6にその処理B1
を終了して時刻t7には自分のフラグf11を「1」にセ
ットしたとする。一方、プロセッサPE2は、自分のフ
ラグ(f21、f22)が時刻t4に(1、1)となってい
るので、続くフラグチェックでこれを検出すれば、処理
B2を開始できるが、何らかの理由でこのチェック動作
が遅れ、その動作が前記の時刻t7よりも後の時刻t8に
完了したとする。そして自分の同期用レジスタのフラグ
(f21、f22)を(0、0)にリセットし(時刻t
9)、処理B2を開始し、これを時刻t9に終わったとす
ると、その少し後の時刻t10には(f21、f22)が
(0、1)となり、処理B2の終了に伴いプロセッサP
E1の方でも(f11、f12)=(1、1)となる。これ
によってプロセッサPE1はフェーズj+1の処理C1
を実行し、終了する。ここで処理B1終了後の時刻t
7、処理B2終了後の時刻t10においては、本来両プロ
セッサのもつフラグが一致している必要があるのに、異
なった値を持っている。これは、時刻t4以降のプロセ
ットPE2におけるチェック動作CHが遅れ、その間に
プロセッサPE1が処理B1を終了してしまった結果で
ある。このため、プロセッサPE2は時刻t10以降、S
ync2の同期処理でフラグ(f21、f22)を調べる
が、f21は「0」のままで「1」になることはないの
で、いつまで待っても処理C2に入れないことになる。
【0007】また、特開平2−105961号に開示さ
れた技術では、1つのプロセッサが処理を終了して終了
通知を行ったとき、他の各プロセッサは自分の分担する
処理の実行中であっても、またフラグチェックを繰り返
している同期待ちのときでも、割り込み処理により、終
了通知を自分の同期用レジスタに反映させる必要があ
り、その分だけ同期のためのオーバーヘッドが増大す
る。
【0008】本発明の目的は、共有メモリを備えたマル
チプロセッサシステムにおいて、同期処理専用の特別な
ハードウェアが不要で、不可分命令を実行できる特別な
ハードウェアが不要な、簡単なソフト処理で確実に相互
の同期がとれるようにしたマルチプロセッサシステムと
その同期方法を提供することにあり、またその同期方法
を具備した振動試験装置を提供することにある。
【0009】
【課題を解決するための手段】本発明は、少なくとも2
個のプロセッサと、これらプロセッサのいずれからもア
クセス可能な共有記憶装置とを具備するマルチプロセッ
サシステムにおいて、前記共有記憶装置にプロセッサ毎
に対応する同期フラグ及びチェックフラグを設け、並列
処理開始時に少なくともその並列処理に参加する参加プ
ロセッサに対応する前記同期フラグおよびチェックフラ
グのすべてをクリアする初期化手段を備えるとともに、
前記参加プロセッサの各々は、同期処理を開始すると自
プロセッサ対応の同期フラグをセットしたのち前記参加
プロセッサ対応の同期フラグがすべてセットされている
かを検出するための第1の手段と、この手段により前記
参加プロセッサ対応の同期フラグがすべてセットされて
いることが検出されると、自プロセッサ対応のチェック
フラグをセットしたのち前記参加プロセッサ対応のチェ
ックフラグがすべてセットされているかを検出するため
の第2の手段と、この手段により前記参加プロセッサ対
応のチェックフラグがすべてセットされていることが検
出されると自プロセッサ対応の同期フラグをクリアした
のち前記参加プロセッサ対応の同期フラグがすべてクリ
アされているかを検出するための第3の手段と、この手
段により前記参加プロセッサ対応の同期フラグがすべて
クリアされていることが検出されると自プロセッサ対応
のチェックフラグをクリアして自プロセッサの同期処理
を終了する第4の手段とを備えたことを特徴とするマル
チプロセッサシステムを開示する。
【0010】更に本発明は、少なくとも2個のプロセッ
サと、これらプロセッサのいずれからもアクセス可能な
共有記憶装置とを具備するマルチプロセッサシステムの
同期方法において、前記共有記憶装置にプロセッサ毎に
対応する同期フラグ及びチェックフラグを設けるととも
に、並列処理の開始時には少なくともその並列処理に参
加するプロセッサに対応する前記同期フラグ及びチェッ
クフラグをすべてクリアしておき、前記参加プロセッサ
の各々は、同期処理を開始すると自プロセッサ対応の同
期フラグをセットしたのち前記参加プロセッサ対応の同
期フラグがすべてセットされるのを待ち、前記参加プロ
セッサ対応の同期フラグがすべてセットされると自プロ
セッサ対応のチェックフラグをセットしたのち前記参加
プロセッサ対応のチェックフラグがすべてセットされる
のを待ち、前記参加プロセッサ対応のチェックフラグが
すべてセットされると自プロセッサ対応の同期フラグを
クリアしたのち前記参加プロセッサ対応の同期フラグが
すべてクリアされるのを待ち、前記参加プロセッサ対応
の同期フラグがすべてクリアされると自プロセッサ対応
のチェックフラグをクリアして同期処理を終了するよう
にしたことを特徴とするマルチプロセッサシステムの同
期方法を開示する。
【0011】更に本発明は、部分的な実システムとして
の供試体と、この供試体を加振するための加振手段と、
少なくともこの手段により加振されたときの供試体から
の反力を入力として、試験体の供試体を除く部分の挙動
を数値モデルを用いて算出し、前記加振手段への加振指
令値を出力する計算手段とから構成された振動試験装置
において、前記計算手段を前記マルチプロセッサシステ
ムで構成したことを特徴とする振動試験装置を開示す
る。
【0012】
【発明の実施の形態】以下、本発明の実施の形態を詳細
に説明する。図2は、共有メモリを備えたマルチプロセ
ッサシステムの構成例を示したもので、n個のプロセッ
サユニットP1〜Pnがバス21に接続されており、各
プロセッサユニットP1〜Pnはそれぞれローカルメモ
リ211〜2n1、プロセッサ212〜2n2、キャッ
シュメモリ213〜2n3を備えている。各プロセッサ
P1〜Pnは、共有メモリ22を共有しており、バス2
1を介して共有メモリ22にアクセス可能である。
【0013】本発明のマルチプロセッサシステムでは、
今図2のn個のプロセッサユニットP1〜Pnが並列処
理を実行する同期チームを構成しているとしたとき、こ
れら同期チームに属する各プロセッサユニットPj(j
=1〜n)に対応して同期フラグSFj(j=1〜n)
とチェックフラグCFj(j=1〜n)を共有メモリ2
2上に用意する。そして、並列処理の開始時には、1つ
のプロセッサユニットが図3に示した手順に従い、これ
らのフラグを全て初期化する。即ち、n個の同期フラグ
SFj(j=1〜n)およびn個のチェックフラグCFj
(j=1〜n)の全てをクリアしておく。
【0014】並列処理を開始すると、例えば図7に示し
たようなプログラムの場合、各同期処理(Sync1;
2)が行われるが、この同期処理は、本発明のマルチプ
ロセッサシステムでは、図1に示す手順で実行される。
この図1の処理は、各プロセッサで同期処理時に実行さ
れる。但しここでは、簡単のため図2のローカルメモ
リ、キャッシュメモリはないものとして説明する。この
場合、“プロセッサユニット”と“プロセッサ”は同義
語として扱う。まず、同期チーム中のプロセッサkが同
期処理を開始すると、そのプロセッサkに対応する同期
フラグSFkをセットする(ステップ101)。次にプ
ロセッサkは、同期チームに参加した全プロセッサに対
応する同期フラグSFj、j=1〜nの全てがセットさ
れているかを判定し(ステップ102)、全てがセット
されていないときは、別の処理S1を行った後にこの判
定を繰り返し、全ての同期フラグSFj、j=1〜nが
セットされていれば次に自プロセッサkに対応するチェ
ックフラグCFkをセットする(ステップ103)。次
に、プロセッサkは、同期チームに参加した全プロセッ
サに対応するチェックフラグCFj、j=1〜nがセッ
トされているかを判定し(ステップ104)、全てがセ
ットされていないときは、別の処理S2を行った後にこ
の判定を繰り返し、全てのチェックフラグCFj、j=
1〜nがセットされていれば自プロセッサkに対応する
同期フラグSFkをクリアする(ステップ105)。さ
らにプロセッサkは、同期チームに参加した全プロセッ
サに対応する同期フラグがクリアされているかを判定し
(ステップ106)、全てがクリアされていないとき
は、別の処理S3を行った後にこの判定を繰り返し、全
ての同期フラグSFj、j=1〜nがクリアされていれ
ば自プロセッサkに対応するチェックフラグCFkをク
リアし(ステップ107)、同期処理を終了する。
【0015】以上の図1の同期処理において、別の処理
S1、S2、S3は、プロセッサのノーオペレーション
命令の実行でもよいし、共有メモリ22以外へのアクセ
スを行う処理でもよい。また、別の処理S1〜S3を行
わなくても良い。また、同期チーム情報の設定は、同期
処理に先立ち、所定のメモリエリアに同期チーム情報を
設定しておき、これを上記同期処理中で参照するように
してもよいし、上記同期処理を関数化して、同期チーム
情報を引数としてこの関数に与えるようにしてもよい。
【0016】以上に説明した図1の同期処理によると、
図8の例で説明したような、あるプロセッサによる全同
期フラグのセット状態確認が何らかの理由で遅れたとき
でも、そのプロセッサ対応のチェックフラグがリセット
のままであるから、他のプロセッサは次のフェーズの処
理へ進むことはない。従って全同期フラグがセットか、
のチェック遅れがあっても図8のような不一致が生じる
ことはない。また、どれかのプロセッサによる全チェッ
クフラグのセット状態のチェック遅れがあっても、その
ときは当該プロセッサ対応の同期フラグがクリアされて
おらず、やはり他プロセッサが次の処理フェーズへ進む
こともない。こうして常に全ての同期フラグがリセット
された状態で、どのプロセッサの次フェーズ処理も開始
されるので、確実な同期をとることができる。むろん本
発明の同期方法では、専用のハードウェアや不可分命令
を実行できる特別なハードウェアは不要で、ソフト処理
も単純なものである。また、どのプロセッサも他プロセ
ッサの同フェーズの処理を待つことができるのはいうま
でもない。さらに、あるフェーズの処理中にあるプロセ
ッサの処理が終わったとき、他プロセッサへの終了通知
による割り込み発生もないから、処理効率がよい。
【0017】なお、以上では図2の各プロセッサユニッ
トに設けられたローカルメモリ及びキャッシュメモリは
ないものとしたが、ローカルメモリを設ければプロセッ
サ212〜2n2の間で共有する必要のないデータはロ
ーカルメモリ上に配置できる。そうすると各プロセッサ
の共有メモリに対するアクセスする回数を減らすことが
でき、従って共有メモリに対するアクセス競合を減らす
ことができるため、同期処理時間を短くできる効果があ
る。また、共有メモリ22のキャッシングを行うキャッ
シュメモリを各プロセッサユニット内に設けたときは、
各プロセッサはそれぞれそのプロセッサユニット内のキ
ャッシュメモリにアクセスすることにより、共有メモリ
内の情報を参照することができる。この場合もプロセッ
サのバス21を経由した共有メモリ22へのアクセス回
数を減らすことができ、従って共有メモリに対するアク
セス競合を減らすことができるため、同期処理時間を短
くできる効果がある。
【0018】図4は、本発明を適用したマルチプロセッ
サシステムの別の構成例を示したもので、バス41に接
続されたプロセッサユニットP′1〜P′nの各々は、
それぞれプロセッサ412〜4n2、ローカルメモリ4
11〜4n1、及び共有メモリ413〜4n3を備えて
いる。ここで、共有メモリ413〜4n3はマルチリー
ドメモリ(ブロードキャストメモリ)である。即ち、共
有メモリ413〜4n3の各々のアドレスは共通であ
り、ある共有メモリに書き込みが生じたときは、そのデ
ータはバス41を介して全ての共有メモリの同一アドレ
スに書き込まれる。また、共有メモリからの読み出しに
関しては、各プロセッサはそれが属するプロセッサユニ
ット内の共有メモリから読み出しを行うため、各プロセ
ッサはバス41を介さずに、共有メモリからデータの読
み出しを行うことができる。即ち、読み出し競合がな
い。このため、このシステムで図1の同期処理を実行す
れば、同期フラグ、チェックフラグのチェックを行うと
きに共有メモリに対する読み出しアクセス競合をなくす
ことができるため、同期処理時間を短くできる効果があ
る。
【0019】次に、本発明の同期方法を適用したマルチ
プロセッサシステムを用いて構成された振動試験装置に
ついて述べる。図5はその構成例を示しており、実験対
象は実供試体部501と数値モデル部とに分けられてい
る。数値モデル部は本発明のマルチプロセッサシステム
502で構成され、ここで算出された加振機指令値がD
/A変換器503を介して加振機システム504に印加
され、ロードセル505を介して実供試体部へ数値モデ
ル部からの加振力が加えられる。この加振力に対する実
供試体部501からの反力はA/D変換されてマルチプ
ロセッサシステムへ、また外力としての地震波データ5
06もマルチプロセッサシステム502へ入力される。
【0020】この振動試験装置における数値モデル部、
即ちマルチプロセッサシステムで実行すべき計算は以下
のようである。まず地震力による外力ベクトルを
{p}、実供試体部501から数値モデル部に加わる反
力ベクトルを{q}とし、数値モデル部の質量マトリク
スを〈M〉、減衰マトリクスを〈C〉、剛性マトリクス
を〈K〉、変位ベクトルを{x}としたとき、数値モデ
ル部の運動方程式は、
【数1】 と表される。ここで文中では大文字を〈 〉で囲んだ量
がマトリクスを、小文字を{ }で囲んだ量はベクトル
を表し、数式中では表示を簡略化するため、大文字の太
字でマトリクスを表し、小文字の太字でベクトルを表す
ものとする。これは以下でも同様である。(数1)を例
えば中央差分法を用いて解けば、
【数2】 と表すことができる。ここで、添え字のiは現時刻iに
おける値であることを示し、i−1は時刻i−Δtでの
値、i+1は時刻i+Δtでの値であることを示す。Δ
tは微小時間である。
【0021】ここで、マルチプロセッサシステム502
は3個のプロセッサP1〜P3から成り立っているとし
て、これらにより(数2)を並列処理するように変形す
る。このために各ベクトル、マトリクスを(数3)〜
(数9)のように3つの部分に分け、それらに添字0、
1、2を付して表す。
【数3】
【数4】
【数5】
【数6】
【数7】
【数8】
【数9】 そうすると(数2)は
【数10】 とかける。ここでさらに
【数11】 とおけば(数10)は
【数12】 あるいは
【数13】 となる。また、加振機への指令値ベクトル{xr}は、
〈X0〉を出力マトリクスとして、
【数14】 により計算できる。
【0022】以上の計算をプロセッサシステム(以下、
単にプロセッサという)P1〜P3により実行するとき
の図5の処理A1〜C3の例を表1に示す。
【表1】 即ち、プロセッサP1が図3に示したフラグの初期化処
理を行い(ステップS101)、マルチプロセッサを構
成する他のプロセッサP2、P3を起動する(ステップ
S102)。続いてプロセッサP1は、表1の処理A
1、即ち地震波データ506をもとに地震力による外力
ベクトル{p}を算出し、それをマルチプロセッサシス
テム502内の共有メモリ(図5には図示していない)
へ書き込み、さらにロードセル505から得た反力をA
/D変換器507によりA/D変換したデータを基に、
実供試体部501から数値モデル部に加わる反力ベクト
ル{q}を計算し、共有メモリへ書き込む(ステップS
103)。この共有メモリは、前述したように各プロセ
ッサから自由にアクセス可能であるとする。以上の処理
A1が終わると、プロセッサP1は同期処理(ステップ
S104)へ入る。なお、ここで用いる地震波データは
マルチプロセッサシステム内に記憶したデジタルまたは
アナログのデータであってもよいし、図5のようにマル
チプロセッサシステムの外部から取り込んだデジタルま
たはアナログのデータであってもよい。
【0023】一方、プロセッサP2、P3では、起動さ
れると処理A2、A3としては何もせず(ステップS2
01、S301)、すぐに同期処理(ステップS20
2、S302)へ入る。こうしてプロセッサP1〜P3
の間の同期処理(ステップS104、S202、S30
2)が本発明の方法に従って行われ、同期がとれると各
プロセッサP1〜P3は表1の処理B1〜B3(ステッ
プS105、S203、S303)をそれぞれ実行す
る。この表1の処理B1〜B3は(数11)で与えられ
るベクトル{y}i+1の各成分{y0}i+1、{y1}i+
1、{y2}i+1をそれぞれ計算するもので、これらは
(数11)からわかるように、定数マトリクス〈M〉、
〈C〉、〈K〉、現時点及びΔt前の時点の値として求
められた変位ベクトル{x}i、{x}i-1、処理A1で
算出され、共有メモリに書き込まれたベクトル{p}
i、{q}i を用いて3個のプロセッサP1〜P3によ
り並列に算出され、共有メモリへ書き込まれる。
【0024】処理B1〜B3の処理がすべて終わったこ
とが、本発明の方法による同期処理ステップS106、
S204、S304で確認されると、プロセッサP1は
表1の処理C1(ステップS107)を実行する。これ
は(数12)によりΔt後の変位ベクトル{x}i+1を
定数マトリクス〈R〉と処理B1〜B3で求めたベクト
ル{y}i+1から算出する演算と、この演算結果と出力
マトリクス〈X0〉を用いて(数14)により加振機指
令値{xr}i+1を算出し、図5のD/A変換器503へ
出力する処理である。一方、他のプロセッサP2、P3
では処理C2、C3としては表1のように何もしない。
こうしてD/A変換器503を介してアナログ指令値に
変換された加振機指令値は加振機システム504に印加
され、実供試体部501を加振する。
【0025】プロセッサP1では、前記処理C1が終了
すると、(数2)の差分方程式の繰り返し演算を終了す
るか、即ち所望の時刻までのモデル計算が終わったかの
判定を行い、その結果の終了/未終了を他プロセッサへ
通知するとともに、未終了のときはステップS103の
処理A1へ戻って次の時刻の演算を開始し、終了のとき
は、処理終了する(ステップS108)。プロセッサP
2、P3では、処理C2、C3の後、プロセッサP1か
ら処理の終了/未終了の通知を待ち(ステップS20
6、S306)、未終了が通知されているときはそれぞ
れステップS201、S301の処理A2、A3へ戻っ
て次の時刻の演算を開始し、終了が通知されているとき
は処理を終了する。
【0026】以上説明したように、図5のマルチプロセ
ッサシステムに表1の処理A1〜C3を割り当てると、
ベクトル{y}i+1の計算を複数のプロセッサで並列に
処理できるため、1つのプロセッサで計算した場合に比
べ、計算処理時間を短縮することができ、数値モデルが
大規模になった場合でも、計算時間の増大を抑え、大規
模な実験対象を精度良く振動試験できる効果がある。
【0027】図6は、図5のマルチプロセッサシステム
の別の構成例で、処理A1〜D3の内容は表2に示され
ている。
【表2】 このマルチプロセッサシステムでは、処理C1〜C3の
あとに同期処理ステップS109、S207、S307
を実行し、その後に処理D1〜D3を追加している点
と、処理A2、A3、B2、B3、C1〜C3の内容が
表2のように異なっている以外は、図5、表1のシステ
ムと同様である。相違点を説明すると、まず処理A2、
A3では、表1のようにNOPではなく、ベクトル{y
1}i+1、{y2}i+1の計算に用いる(数11)の内で、
ベクトル{p}i、{q}iを含まない部分を算出し、処
理B2、B3でこの結果と残りの{p}i、{q}iを含
む部分とを合わせた計算を行っている。また、表1では
{x}i+1をすべて処理C1で算出していたが、表2で
はこれを3つに分けた(数13)に従ってプロセッサP
1〜P3で処理C1〜C3で分担して並列処理し、その
後同期処理を行う(ステップS109、S207、S3
07)。そして処理C1〜C3が終了して{x}i+1が
求まると、プロセッサP1の処理D1で加振機指令値
{xr}i+1を算出して出力している(ステップS11
0)。このとき他のプロセッサP2、P3の処理D2、
D3はNOPである(ステップS208、S209)。
この図6及び表1の構成例では、図5及び表1の場合よ
りも並列処理を多く行っているから、計算時間のさらな
る短縮がはかれる。
【0028】なお、図5、図6において、外力ベクトル
{p}は地震力とは限らず、所定の入力加速度による加
振力としてもよい。このとき、地震波加速度以外の入力
加速度に対して、振動実験を行える効果がある。また、
加振機指令値{xr}i+1を算出するに際し、加振機シス
テム504の遅れを補償するようにしてもよい。このよ
うにすれば、精度の高い実験が可能になる。また、プロ
セッサを3台使用した場合について説明したが、プロセ
ッサ数が2または4以上の場合であっても、上記と同様
に実施可能であり、プロセッサの数を増やすにつれ、数
値モデルが大規模になった場合の計算時間の増大を抑え
る効果が増え、大規模な実験対象を精度良く振動試験で
きる。
【0029】さらに、図5、図6の構成例では、一般に
計算の時間単位Δtは実際の振動における時間の単位と
は一致せず、その関係はプロセッサの処理速度に依存す
る。しかし、プロセッサの処理速度が実時間での振動よ
りも短い時間でシミュレートできる速度である場合に
は、図5、図6で図示を省略している入出力時刻管理手
段を付加し、これによって1つの加振機指令値が出力さ
れるごとに次の計算を開始する処理A1〜A3の開始時
刻を管理するようにすれば、実時間での振動実験が可能
となる。
【0030】
【発明の効果】本発明によれば、同期処理専用の特別な
ハードウェアや不可分命令を実行できる特別なハードウ
ェアが不要で同期処理のための複雑な制御も不要で、さ
らに複数のプロセッサが互いを待つことのできるマルチ
プロセッサシステムを実現することができる。また、こ
のマルチプロセッサシステムを用いることにより、数値
モデルが大規模になった場合でも、マルチプロセッサを
用いた並列処理により、解析時間の増大を抑え、大規模
な実験対象でも精度良く振動試験を行える振動試験装置
を提供できる効果がある。
【図面の簡単な説明】
【図1】本発明になるプロセッサ間の同期処理方法の例
を示したフローチャートである。
【図2】共有メモリを備えたマルチプロセッサシステム
の例である。
【図3】本発明の同期処理のためのフラグ初期化処理の
フローチャートである。
【図4】共有メモリを備えたマルチプロセッサシステム
の別の例である。
【図5】本発明になる振動試験装置の構成例を示す図で
ある。
【図6】本発明になる振動試験装置の別の構成例を示す
図である。
【図7】並列処理の同期問題を説明するプログラム例で
ある。
【図8】図7のプログラム例で生じうる従来技術の問題
点を示すタイムチャートである。
【符号の説明】
22、413、4n3 共有メモリ 101 同期フラグセット処理 102 全同期フラグセット状態検出処理 103 チェックフラグセット処理 104 全チェックフラグセット状態検出処理 105 同期フラグクリア処理 106 全同期フラグクリア状態検出処理 107 チェックフラグクリア処理 502、602 マルチプロセッサシステム P1、P2、P3、Pn プロセッサユニット P1′、Pn′ プロセッサユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 池 勝久 茨城県土浦市神立町502番地 株式会社日 立製作所機械研究所内 Fターム(参考) 5B045 AA00 CC07 DD12 HH06

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 少なくとも2個のプロセッサと、これら
    プロセッサのいずれからもアクセス可能な共有記憶装置
    とを具備するマルチプロセッサシステムにおいて、 前記共有記憶装置にプロセッサ毎に対応する同期フラグ
    及びチェックフラグを設け、並列処理開始時に少なくと
    もその並列処理に参加する参加プロセッサに対応する前
    記同期フラグおよびチェックフラグのすべてをクリアす
    る初期化手段を備えるとともに、 前記参加プロセッサの各々は、同期処理を開始すると自
    プロセッサ対応の同期フラグをセットしたのち前記参加
    プロセッサ対応の同期フラグがすべてセットされている
    かを検出するための第1の手段と、この手段により前記
    参加プロセッサ対応の同期フラグがすべてセットされて
    いることが検出されると、自プロセッサ対応のチェック
    フラグをセットしたのち前記参加プロセッサ対応のチェ
    ックフラグがすべてセットされているかを検出するため
    の第2の手段と、この手段により前記参加プロセッサ対
    応のチェックフラグがすべてセットされていることが検
    出されると自プロセッサ対応の同期フラグをクリアした
    のち前記参加プロセッサ対応の同期フラグがすべてクリ
    アされているかを検出するための第3の手段と、この手
    段により前記参加プロセッサ対応の同期フラグがすべて
    クリアされていることが検出されると自プロセッサ対応
    のチェックフラグをクリアして自プロセッサの同期処理
    を終了する第4の手段とを備えたことを特徴とするマル
    チプロセッサシステム。
  2. 【請求項2】 請求項1に記載のマルチプロセッサシス
    テムにおいて、前記各プロセッサに前記共有メモリの情
    報をキャッシングするキャッシュメモリを具備したこと
    を特徴とするマルチプロセッサシステム。
  3. 【請求項3】 請求項1に記載のマルチプロセッサシス
    テムにおいて、前記共有メモリは、各プロセッサ毎に具
    備されたブロードキャスト型共有メモリであることを特
    徴とするマルチプロセッサシステム。
  4. 【請求項4】 少なくとも2個のプロセッサと、これら
    プロセッサのいずれからもアクセス可能な共有記憶装置
    とを具備するマルチプロセッサシステムの同期方法にお
    いて、 前記共有記憶装置にプロセッサ毎に対応する同期フラグ
    及びチェックフラグを設けるとともに、並列処理の開始
    時には少なくともその並列処理に参加するプロセッサに
    対応する前記同期フラグ及びチェックフラグをすべてク
    リアしておき、 前記参加プロセッサの各々は、同期処理を開始すると自
    プロセッサ対応の同期フラグをセットしたのち前記参加
    プロセッサ対応の同期フラグがすべてセットされるのを
    待ち、前記参加プロセッサ対応の同期フラグがすべてセ
    ットされると自プロセッサ対応のチェックフラグをセッ
    トしたのち前記参加プロセッサ対応のチェックフラグが
    すべてセットされるのを待ち、前記参加プロセッサ対応
    のチェックフラグがすべてセットされると自プロセッサ
    対応の同期フラグをクリアしたのち前記参加プロセッサ
    対応の同期フラグがすべてクリアされるのを待ち、前記
    参加プロセッサ対応の同期フラグがすべてクリアされる
    と自プロセッサ対応のチェックフラグをクリアして同期
    処理を終了するようにしたことを特徴とするマルチプロ
    セッサシステムの同期方法。
  5. 【請求項5】 部分的な実システムとしての供試体と、
    この供試体を加振するための加振手段と、少なくともこ
    の手段により加振されたときの供試体からの反力を入力
    として、試験体の供試体を除く部分の挙動を数値モデル
    を用いて算出し、前記加振手段への加振指令値を出力す
    る計算手段とから構成された振動試験装置において、 前記計算手段を請求項1乃至3の内の1つに記載のマル
    チプロセッサシステムで構成したことを特徴とする振動
    試験装置。
JP11116113A 1999-04-23 1999-04-23 マルチプロセッサシステムとその同期方法、振動試験装置 Pending JP2000305919A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11116113A JP2000305919A (ja) 1999-04-23 1999-04-23 マルチプロセッサシステムとその同期方法、振動試験装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11116113A JP2000305919A (ja) 1999-04-23 1999-04-23 マルチプロセッサシステムとその同期方法、振動試験装置

Publications (1)

Publication Number Publication Date
JP2000305919A true JP2000305919A (ja) 2000-11-02

Family

ID=14679025

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11116113A Pending JP2000305919A (ja) 1999-04-23 1999-04-23 マルチプロセッサシステムとその同期方法、振動試験装置

Country Status (1)

Country Link
JP (1) JP2000305919A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108660B2 (en) 2008-01-25 2012-01-31 Renesas Electronics Corporation Multiprocessor system and method of synchronization for multiprocessor system
WO2013168258A1 (ja) * 2012-05-10 2013-11-14 三菱電機株式会社 待機冗長二重化装置
DE102017216823A1 (de) 2016-09-27 2018-03-29 Denso Corporation Verarbeitungseinheit, elektronische steuereinheit und verarbeitungsverfahren

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8108660B2 (en) 2008-01-25 2012-01-31 Renesas Electronics Corporation Multiprocessor system and method of synchronization for multiprocessor system
WO2013168258A1 (ja) * 2012-05-10 2013-11-14 三菱電機株式会社 待機冗長二重化装置
JPWO2013168258A1 (ja) * 2012-05-10 2015-12-24 三菱電機株式会社 待機冗長二重化装置
DE102017216823A1 (de) 2016-09-27 2018-03-29 Denso Corporation Verarbeitungseinheit, elektronische steuereinheit und verarbeitungsverfahren

Similar Documents

Publication Publication Date Title
KR100257516B1 (ko) 멀티프로세서회로의 시뮬레이션을 위한 방법 및 장치
JP2008210107A (ja) シミュレーション方法及びシミュレーション装置
JPH01188950A (ja) デッドロック回避実行制御方式
JP2000305919A (ja) マルチプロセッサシステムとその同期方法、振動試験装置
JPH0581119A (ja) レジスタ間接モードを用いる汎用メモリ・アクセス方式
JP4264422B2 (ja) 負荷制御機能付き速度変換装置
KR101293700B1 (ko) 코어스 그레인드 재구성 구조를 위한 코드 생성 장치 및 그 코드 생성 방법
WO2007088581A1 (ja) 共有メモリ型マルチプロセッサにおける手続き呼び出し方法、手続き呼び出しプログラムおよび記録媒体
JP2008102599A (ja) プロセッサ
JPH0954769A (ja) ベクトル処理装置
JP2883465B2 (ja) 電子計算機
JPH0496167A (ja) マルチプロセッサシステムの割込み方式
JP2004127154A (ja) 情報処理装置及び命令エミュレーション装置及び命令エミュレーション処理実行方法
JPS6315628B2 (ja)
JPH06149669A (ja) キャッシュデータ転送方式およびキャッシュデータ転送装置
JPH0668193A (ja) 論理評価システム
JP2009223762A (ja) 協調検証装置
JPH11238042A (ja) 分散シミュレーション制御装置
JP2621793B2 (ja) バスサイクルのマルチプレクス方式
JPH0887481A (ja) マルチプロセッサボードの立ち上げ方法
JPS6153754B2 (ja)
JP3729250B2 (ja) 情報処理装置及び電子機器
JPH0247726A (ja) 情報処理装置
JP2545594B2 (ja) オペランドデータ先取り方式
JP2009199344A (ja) データ処理装置