JP5181762B2 - 分散処理を実行する演算装置とサーバおよび分散処理方法 - Google Patents
分散処理を実行する演算装置とサーバおよび分散処理方法 Download PDFInfo
- Publication number
- JP5181762B2 JP5181762B2 JP2008076904A JP2008076904A JP5181762B2 JP 5181762 B2 JP5181762 B2 JP 5181762B2 JP 2008076904 A JP2008076904 A JP 2008076904A JP 2008076904 A JP2008076904 A JP 2008076904A JP 5181762 B2 JP5181762 B2 JP 5181762B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- server
- arithmetic
- distributed processing
- time step
- 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
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
ステップS81では、サーバA(71a)がサーバB(71b)に演算の開始を指示する(サーバB演算開始通知)。ステップS82では、サーバB(71b)がサーバB演算開始通知を受信して、ステップS83のタイミングからプログラムP0の実行を開始する。
開始する。
ステップS814ではサーバB(71b)の演算が終了し、サーバB(71b)からサーバB演算終了通知が送信される。ステップS815のタイミングでサーバA(71a)はサーバB演算終了通知を受信する。次に、ステップS816ではサーバC(71c)の演算が終了し、サーバC(71c)からサーバC演算終了通知が送信される。ステップS817のタイミングでサーバA(71a)はサーバC演算終了通知を受信する。同様に、ステップS818ではサーバD(71d)の演算が終了し、サーバD(71d)からサーバD演算終了通知が送信される。ステップS819のタイミングでサーバA(71a)はサーバD演算終了通知を受信する。
(実施例1)
図1は、1台の計算機(サーバ:ホストPC等)と複数台の専用ハードウェアにより構成された分散処理システムの構成を示す図である。図1に示す分散処理システム1は、サーバ2と、複数の演算装置3(3a、3b、3c〜:専用ハードウェア)から構成されている。そして、図1に示す分散処理システム1を用いてSPMDプログラムなどの分散処理をする場合の演算一時停止時の同期ズレを防止する。
図3にサーバ2の構成を示す。サーバ2は通信部33と、OS34(Operating System)、演算部35、演算データ設定指示部36、演算終了タイムステップ設定指示部37、演算開始指示部38、演算一時停止指示部39、演算タイムステップ参照指示部310、演算終了タイムステップ更新指示部311、演算再開指示部312、リスタートデータ取得指示部313を搭載している。
演算部35は、SPMD(単一プログラム複数データ)型プログラムなどを含むプログラムを実行する。また、演算部35は最大値タイムステップ演算部314を有している。ここで、図1においてサーバ2が実行するSPMDプログラムは、図7、図8を用いて説明したプログラムP0のうちプログラムP1に関する部分である。また、サーバ2は、各演算装置3に対してSPMDプログラムに用いる演算データを送信する。図1では、SPMDプログラムのうちプログラムP2〜P4に用いる演算データD1〜D3が送信される。また、サーバ2はSPMDプログラムを実行する指示も各演算装置3に転送する。
演算終了タイムステップ設定指示部37は、分散処理により演算するシミュレーションを終了するタイムステップを各演算装置3に設定する指示を生成する。
演算一時停止指示部39は、分散処理により演算中のシミュレーションを一時停止するときに各演算装置3に指示をするための演算一時停止通知を生成する。
リスタートデータ取得指示部313は、演算の再開時に必要な演算データを含むデータを取得するための通知を生成する。
演算装置3は、演算部4、カウンタ5、演算終了タイムステップレジスタ6、通信部7
、制御部8、メモリ9、演算データ設定部10、演算終了タイムステップ設定部11、演算開始部12、演算一時停止部13、演算タイムステップ参照部14、演算終了タイムステップ更新部15、演算再開部16、リスタートデータ取得部17を備えている。
(動作説明)
図5を用いて図1に示す分散処理装置の動作を説明する。ただし、便宜上図5ではサーバ2、演算装置3a(ハード1)、演算装置3b(ハード2)の構成を用いて説明する。
ステップS5、ステップS6ではステップS3、S4と同様に演算装置3bの演算データ設定部10に演算データを設定する。
ステップS9、ステップS10ではステップS7、S8と同様に演算装置3bの演算終了タイムステップ設定部11に演算終了タイムステップを設定する。
ステップS11では、サーバ2に接続されている入力装置から分散処理の演算開始をす
る演算開始通知が設定され、演算開始通知を演算装置3aに送信する。このとき演算開始通知とともに演算装置3aを識別する演算装置識別データを送信する。
次に、サーバ2は演算一時停止イベントを検出する。例えば、演算一時停止イベントは分散処理の途中の演算結果を確認するために演算を一時停止するイベントである。
ステップS19では、サーバ2に一時停止したときのタイムステップを確認するために演算タイムステップ参照通知が設定され、演算タイムステップ参照通知を演算装置3aに送信する。このとき演算タイムステップ参照通知とともに演算装置3aを識別する演算装置識別データを送信する。
ステップS22では、サーバ2の通信部が演算装置3aのカウント値を取得する。
しているためである。
ステップS33では、サーバ2からタイムステップ最大値までの演算を再開するための演算再開通知を演算装置3aに送信する。このとき演算再開通知とともに演算装置3aを識別する演算装置識別データを送信する。
演算装置3a、3bはタイムスタンプ最大値まで演算をして自動停止する。ここで、演算装置3aと演算装置3bの実際に停止する時刻は、演算量の違いによって異なる。
ステップS40では、サーバ2の通信部が演算装置3aのカウント値を取得する。
リスタートデータ取得通知に基づいてリスタートデータ取得部17により再停止時の演算結果を収集してステップS47でサーバ2へ送信する。ステップS48では、サーバ2が演算結果を取得する。
ステップS55からステップS56では、サーバ2は分散処理プログラムを再停止時に取得した演算結果を用いて演算を再開する。本例では、タイムステップが100になるまで各演算装置3a、3bが演算を行う。または、タイムステップ0から演算を再び行う。
一時停止後の分散処理をより早く実行するために、サーバ2は各演算装置3へ演算再開通知をする際、一時停止時に取得したタイムステップを比較してタイムスタンプが小さかった演算装置3から優先的に実行させるようにする。
また、本発明は、上記実施の形態に限定されるものでなく、本発明の要旨を逸脱しない。
2 サーバ
3 演算装置
4 演算部
5 カウンタ
6 演算終了タイムステップレジスタ
7 通信部
8 制御部
9 メモリ
10 演算データ設定部
11 演算終了タイムステップ設定部
12 演算開始部
13 演算一時停止部
14 演算タイムステップ参照部
15 演算終了タイムステップ更新部
16 演算再開部
17 リスタートデータ取得部
33 通信部
34 OS
35 演算部
36 演算データ設定指示部
37 演算終了タイムステップ設定指示部
38 演算開始指示部
39 演算一時停止指示部
310 演算タイムステップ参照指示部
311 演算終了タイムステップ更新指示部
312 演算再開指示部
313 リスタートデータ取得指示部
314 最大値タイムステップ演算部
70 分散処理システム
71 サーバ
72 CPU
73 演算部
74 OS
Claims (6)
- サーバと接続される分散処理を実行する複数の演算装置であって、
前記サーバから前記分散処理の一時停止の要求を受信したとき、前記演算装置を停止させる演算処理一時停止部と、
分散処理が停止したときに、前記サーバから送信された、前記演算装置ごとに設けられた分散処理の演算進度をカウントするカウンタのカウンタ値を参照する演算タイムステップ参照通知に基づいて、前記カウンタ値を取得し前記サーバに送信する演算タイムステップ参照部と、
前記複数の演算装置のそれぞれの前記演算タイムステップ参照部から取得した複数のカウンタ値の最大値に少なくとも1カウント加算したタイムステップ最大値を前記サーバから取得してレジスタに記録する演算終了タイムステップ更新部と、
停止状態から前記分散処理を再開する演算再開部と、を備え、
前記分散処理を再開して前記タイムステップ最大値まで進めてから再度分散処理を停止することを特徴とする演算装置。 - 前記演算タイムステップ参照部により取得した前記カウンタ値に基づいて、前記複数の演算装置中で最も前記カウンタ値が小さい前記演算装置から演算を再開することを特徴とする請求項1に記載の演算装置。
- 請求項1または2に記載の演算装置と接続されるサーバであって、
分散処理が停止したときの前記複数の演算装置から送信された前記複数のカウンタ値の最大値を検出し、検出した前記最大値に少なくとも1カウント加算した前記タイムステップ最大値を算出して前記演算装置に送信することを特徴とするサーバ。 - 前記カウンタ値に基づいて、前記複数の演算装置中で最も前記カウンタ値が小さい前記演算装置から演算を再開する指示を前記演算装置に送信することを特徴とする請求項3に記載のサーバ。
- サーバと接続される複数の演算装置の分散処理方法であって、
前記サーバが、前記分散処理の一時停止の要求をし、
前記複数の演算装置が、前記要求を受信して前記演算装置ごとに処理を一時停止し、
前記サーバが、分散処理の停止時に前記演算装置ごとに設けられた分散処理の演算進度をカウントするカウンタのカウンタ値を参照する演算タイムステップ参照通知を送信し、
前記複数の演算装置が、前記演算タイムステップ参照通知に基づいて、前記カウンタ値を取得し前記サーバに送信し、
前記サーバが、前記複数の演算装置から送信された複数のカウンタ値の最大値を検出し、検出した前記最大値に少なくとも1カウント加算したタイムステップ最大値を算出して前記演算装置に送信し、
前記演算装置が、前記タイムステップ最大値をレジスタに記録し、
前記サーバが、停止状態から前記分散処理を再開する通知を前記演算装置に送信し、
前記演算装置が、停止状態から前記分散処理を再開する通知に基づいて前記分散処理を再開して前記タイムステップ最大値まで分散処理を進めて停止する、
ことを特徴とする分散処理方法。 - 一時停止時に、前記演算装置から取得した前記カウンタ値に基づいて、前記複数の演算装置中で最も前記カウンタ値が小さい前記演算装置から演算を再開することを特徴とする請求項5に記載の分散処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076904A JP5181762B2 (ja) | 2008-03-25 | 2008-03-25 | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008076904A JP5181762B2 (ja) | 2008-03-25 | 2008-03-25 | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009230590A JP2009230590A (ja) | 2009-10-08 |
JP5181762B2 true JP5181762B2 (ja) | 2013-04-10 |
Family
ID=41245873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008076904A Expired - Fee Related JP5181762B2 (ja) | 2008-03-25 | 2008-03-25 | 分散処理を実行する演算装置とサーバおよび分散処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5181762B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5825346B2 (ja) * | 2011-05-24 | 2015-12-02 | 富士通株式会社 | データ処理方法及びデータ処理システム |
JP6074932B2 (ja) * | 2012-07-19 | 2017-02-08 | 富士通株式会社 | 演算処理装置及び演算処理方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU616213B2 (en) * | 1987-11-09 | 1991-10-24 | Tandem Computers Incorporated | Method and apparatus for synchronizing a plurality of processors |
JPH02105961A (ja) * | 1988-10-14 | 1990-04-18 | Nippon Telegr & Teleph Corp <Ntt> | マルチプロセッサ同期方式 |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
JP2005209029A (ja) * | 2004-01-23 | 2005-08-04 | Tm T & D Kk | アプリケーション管理システム、アプリケーション管理方法およびその管理方法を実行させるためのプログラム |
-
2008
- 2008-03-25 JP JP2008076904A patent/JP5181762B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009230590A (ja) | 2009-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5713056B2 (ja) | プロセス制御装置及びシステム並びにその更新方法 | |
JP6152920B2 (ja) | プログラマブルコントローラシステム、そのコントローラ | |
US8190941B2 (en) | Field control system | |
CN107066300B (zh) | 一种存储设备的固件升级方法和存储设备 | |
US11089454B2 (en) | Systems and methods for upgrading firmware in multiple devices of a wireless fire detection system | |
CN111857303B (zh) | 一种fpga复位方法、装置、***和电子设备 | |
JP5181762B2 (ja) | 分散処理を実行する演算装置とサーバおよび分散処理方法 | |
US7428660B2 (en) | Starting control method, duplex platform system, and information processor | |
JP6879625B2 (ja) | プログラマブルコントローラ、管理装置および制御システム | |
KR20170088267A (ko) | 멀티 스크린을 통해 출력되는 영상을 소프트웨어를 이용하여 동기화하기 위한 방법 및 그 장치 | |
JP2017034307A (ja) | 情報収集管理装置、方法、及び情報収集システム | |
JP7345921B2 (ja) | マスタースレーブアーキテクチャのota差分更新方法とシステム | |
CN105354058A (zh) | 一种文件更新方法及装置 | |
CN108289114B (zh) | 云端服务***及处理云端服务异常的方法 | |
JP2015156104A (ja) | 自立制御システム、自立制御装置、自立制御方法およびプログラム | |
JP4717500B2 (ja) | サービス再開装置およびサービス再開プログラム | |
JP6848256B2 (ja) | マルチタスク制御装置、マルチタスク制御システム、及び自動販売機 | |
US20150282193A1 (en) | Method and apparatus for avoiding communication interference in wireless communication system | |
JP2005267321A (ja) | 論理計算機システムにおける時刻合わせ方法 | |
CN112416641A (zh) | 主从架构中被控端节点重启检测方法及主控端节点 | |
CN115878145B (zh) | 电子设备及其***升级方法、计算机可读存储介质 | |
JP6357806B2 (ja) | コントローラ冗長化システム、そのコントローラ | |
JP2017037606A (ja) | 駆動制御システムおよび異常監視装置 | |
KR101959561B1 (ko) | 네트워크 가상화 관리 서버 및 이를 이용한 네트워크 가상화 관리 방법 | |
JP2000293498A (ja) | 分散環境におけるリモートデバッグシステムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20101119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120221 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120731 |
|
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: 20121218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121231 |
|
R150 | Certificate of patent (=grant) 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: 20160125 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |