JP2015146116A - 制御プログラム、制御方法および情報処理装置 - Google Patents
制御プログラム、制御方法および情報処理装置 Download PDFInfo
- Publication number
- JP2015146116A JP2015146116A JP2014018607A JP2014018607A JP2015146116A JP 2015146116 A JP2015146116 A JP 2015146116A JP 2014018607 A JP2014018607 A JP 2014018607A JP 2014018607 A JP2014018607 A JP 2014018607A JP 2015146116 A JP2015146116 A JP 2015146116A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- data
- request
- clocks
- unit
- 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.)
- Ceased
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 31
- 238000000034 method Methods 0.000 title claims description 46
- 230000003111 delayed effect Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 75
- 230000008569 process Effects 0.000 claims description 26
- 238000012795 verification Methods 0.000 description 44
- 238000012546 transfer Methods 0.000 description 40
- 238000001514 detection method Methods 0.000 description 17
- 230000015654 memory Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 230000004044 response Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005401 electroluminescence Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。
図2は、第2の実施の形態の情報処理システムを示す図である。
第2の実施の形態の情報処理システムは、業務サーバ100および検証サーバ200を有する。業務サーバ100と検証サーバ200は、ネットワーク30を介して接続されている。ネットワーク30は、例えば、インターネットなどの広域ネットワークである。
業務サーバ100は、CPU103〜105、RAM106〜108、ROM(Read Only Memory)111、HDD112、画像信号処理部113、入力信号処理部114、媒体リーダ115および通信インタフェース116を有する。上記のユニットは、業務サーバ100内でバスに接続されている。CPU103は、第1の実施の形態のプロセッサ11の一例である。CPU104は、第1の実施の形態のプロセッサ12の一例である。CPU105とRAM108の集合は、第1の実施の形態の制御部13の一例である。
CPU103とRAM106は、実行単位101に属している。CPU104とRAM107は、実行単位102に属している。実行単位101と実行単位102には、互いに異なる一纏まりの処理単位(仮想マシン・プロセス・スレッドなど)を配置することができる。実行単位101上の処理単位と実行単位102上の処理単位とは、並列に実行することができる。また、実行単位101と実行単位102には、同じプログラムを実行させることもできる。CPU105とRAM108は、制御用のモジュールであり、実行単位101,102に配置された仮想マシン・プロセス・スレッドなどを制御する。
業務サーバ100は、仮想マシン121,122とハイパーバイザ130を有する。
仮想マシン121,122は、それぞれOSやデバイスドライバなどのソフトウェアを実行する仮想的なコンピュータである。仮想マシン121は実行単位101に配置され、仮想マシン122は実行単位102に配置される。仮想マシン121,122は、同じOSプログラムやドライバプログラムを含む同じプログラムに基づいて起動され、並列に動作する。ただし、仮想マシン122は、仮想マシン121よりも遅れて仮想マシン121と同じ処理を実行する。そこで、仮想マシン121および実行単位101は先行系と言うことができ、仮想マシン122および実行単位102は追随系と言うことができる。
上記の環境再現部222の処理により、検証サーバ200上にはエラー検出時の仮想マシン122の状態、すなわち、理想的にはエラーが検出される所定クロック数前の時点の仮想マシン121の状態が再現される。検証サーバ200は、再現された状態より後の処理を再実行することで、エラー検出までの仮想マシン121の動作を検証し、エラー原因を分析することができる。エラー原因の分析には、1命令ずつの逐次実行、レジスタやRAMの監視、ブレークポイントの設定などの様々なデバッグ手法を用いることができる。例えば、検証サーバ200は、デバッグ情報に含まれる実行単位101の状態データから、実行単位101においてメモリアクセス違反が発生したことを検出する。すると、検証サーバ200は、ストア命令などのRAMにアクセスする命令を監視し、その命令の前後でプログラムを一時停止させながら、再現した仮想マシンの処理を進めていく。
上記では、仮想マシンを実行単位101,102にそれぞれ割り当て、ハイパーバイザ130が2つの仮想マシンの動作タイミングを制御する例を説明した。これに対し、共通のOS上で実行される仮想化されていないプロセスまたはスレッドを実行単位101,102それぞれに割り当て、BIOSまたはBIOSのようにCPUの状態を監視できるファームウェアが2つのプロセスの動作タイミングを制御するようにしてもよい。
プロセス141,142は、同じプログラムに基づいて起動され、並列に動作する処理単位である。プロセス141は実行単位101に配置され、プロセス142は実行単位102に配置される。ただし、プロセス142では、プロセス141よりも遅れてプロセス141と同じ処理が実行される。プロセス141および実行単位101は先行系と言うことができ、プロセス142および実行単位102は追随系と言うことができる。
図6は、要求バッファに格納する要求データの構造例を示す図である。
要求バッファ132に格納される各要求データは、次へのポインタ、前へのポインタ、受付時刻、入力デバイスID、出力デバイスID、データ長および入力データを含む。
図7は、システム起動の手順例を示すフローチャートである。
(S10)初期化部131は、業務サーバ100に対する起動要求を検出する。起動要求は、例えば、電源ボタンの押下または起動コマンドの入力を通じて発行される。
(S20)要求転送部133は、業務サーバ100の周辺機器であるデバイスから入力データを受け付ける。例えば、要求転送部133は、入力デバイス118からキー入力についての入力データを受け付ける。また、例えば、要求転送部133は、通信インタフェース116から、受信パケットを含む入力データを受け付ける。
ハイパーバイザ130は、何れかのデバイスから入力データを受け付ける(S30)。すると、ハイパーバイザ130は、実行単位101のTSCレジスタ103aの値Taを確認する(S31)。ハイパーバイザ130は、実行単位101で入力データが処理されるように、仮想マシン121に入力データを投入する。入力データの投入が開始されてから完了するまで、Δt2クロック要するとする(S32)。次に、ハイパーバイザ130は、受け付けた入力データを含む要求データを要求バッファ132に保存する。要求データの保存が開始されてから完了するまで、Δt3クロック要するとする(S33)。
(S40)エラー検出部135は、先行系の実行単位101においてメモリアクセス違反などのソフトウェア上のエラーが発生したことを検出する。
(S45)エラー検出部135は、実行単位101,102に使用しているチップセットの規格など、実行単位101,102のハードウェア仕様を示すハードウェア構成情報を生成し、デバッグ情報の一部としてデバッグ情報記憶部136に保存する。
(S50)デバッグ情報取得部221は、業務サーバ100においてプログラムを続行できないエラーが発生すると、業務サーバ100からデバッグ情報を取得する。
実行単位101のTSCレジスタ103aの値がT10のとき、入力データ1が仮想マシン121に投入されたとする。すると、受付時刻T10の付加された入力データ1が要求バッファ132に格納される。次に、TSCレジスタ103aの値がT20のとき、入力データ2が仮想マシン121に投入されたとする。すると、受付時刻T20の付加された入力データ2が要求バッファ132に格納される。次に、TSCレジスタ103aの値がT30のとき、入力データ3が仮想マシン121に投入されたとする。すると、受付時刻T30の付加された入力データ3が要求バッファ132に格納される。
11,12 プロセッサ
11a,12a カウンタ
13 制御部
Claims (6)
- コンピュータに、
クロック数または命令数を計数する第1のカウンタを含む第1のプロセッサと、クロック数または命令数を計数する第2のカウンタを含む第2のプロセッサのうち、前記第1のプロセッサにコードを実行させ、
前記第1および第2のカウンタの値に基づいて、前記第1のプロセッサから所定のクロック数または命令数だけ遅れて前記第2のプロセッサに前記コードを実行させる、
処理を実行させる制御プログラム。 - 前記第2のプロセッサを前記第1のプロセッサより前記所定のクロック数または命令数だけ遅れて起動することで、前記第1のカウンタの値と前記第2のカウンタの値とを前記所定のクロック数または命令数だけずらす、請求項1記載の制御プログラム。
- 前記第1のカウンタの値と前記第2のカウンタの値の差が所定の条件を満たさないときは、前記第1のプロセッサの状態を前記第2のプロセッサにコピーし、前記第1のカウンタが前記所定のクロック数または命令数だけ進むのを待って前記第2のプロセッサを再開する、請求項1または2記載の制御プログラム。
- 前記コードに従って前記第1のプロセッサにデータを処理させるとき、前記第1のカウンタの値を前記データに付加してバッファに格納し、
前記第2のプロセッサに前記データを処理させる前に前記第1のプロセッサでエラーが発生した場合、前記バッファに格納された前記データを含むエラー情報を出力する、
請求項1乃至3の何れか一項に記載の制御プログラム。 - コンピュータが実行する制御方法であって、
クロック数または命令数を計数する第1のカウンタを含む第1のプロセッサと、クロック数または命令数を計数する第2のカウンタを含む第2のプロセッサのうち、前記第1のプロセッサにコードを実行させ、
前記第1および第2のカウンタの値に基づいて、前記第1のプロセッサから所定のクロック数または命令数だけ遅れて前記第2のプロセッサに前記コードを実行させる、
制御方法。 - クロック数または命令数を計数する第1のカウンタを含む第1のプロセッサと、
クロック数または命令数を計数する第2のカウンタを含む第2のプロセッサと、
前記第1のプロセッサにコードを実行させ、前記第1および第2のカウンタの値に基づいて、前記第1のプロセッサから所定のクロック数または命令数だけ遅れて前記第2のプロセッサに前記コードを実行させる制御部と、
を有する情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018607A JP2015146116A (ja) | 2014-02-03 | 2014-02-03 | 制御プログラム、制御方法および情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018607A JP2015146116A (ja) | 2014-02-03 | 2014-02-03 | 制御プログラム、制御方法および情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015146116A true JP2015146116A (ja) | 2015-08-13 |
Family
ID=53890315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014018607A Ceased JP2015146116A (ja) | 2014-02-03 | 2014-02-03 | 制御プログラム、制御方法および情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015146116A (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6125254A (ja) * | 1984-07-13 | 1986-02-04 | Hitachi Ltd | プログラムのデバツグ方式 |
JPH0736720A (ja) * | 1993-07-20 | 1995-02-07 | Yokogawa Electric Corp | 二重化コンピュータ装置 |
JP2001060159A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | 計算機システムの高信頼化方法 |
JP2005165599A (ja) * | 2003-12-02 | 2005-06-23 | Nec Corp | 計算機システムおよび状態取得方法ならびに状態取得プログラム |
JP2008146447A (ja) * | 2006-12-12 | 2008-06-26 | Nec Corp | フォールトトレラントコンピュータ |
-
2014
- 2014-02-03 JP JP2014018607A patent/JP2015146116A/ja not_active Ceased
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6125254A (ja) * | 1984-07-13 | 1986-02-04 | Hitachi Ltd | プログラムのデバツグ方式 |
JPH0736720A (ja) * | 1993-07-20 | 1995-02-07 | Yokogawa Electric Corp | 二重化コンピュータ装置 |
JP2001060159A (ja) * | 1999-08-24 | 2001-03-06 | Hitachi Ltd | 計算機システムの高信頼化方法 |
JP2005165599A (ja) * | 2003-12-02 | 2005-06-23 | Nec Corp | 計算機システムおよび状態取得方法ならびに状態取得プログラム |
JP2008146447A (ja) * | 2006-12-12 | 2008-06-26 | Nec Corp | フォールトトレラントコンピュータ |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9495233B2 (en) | Error framework for a microprocesor and system | |
TWI588649B (zh) | 硬體修復方法、硬體修復系統以及計算機可讀取儲存裝置 | |
US8639984B2 (en) | Checkpoint debugging using mirrored virtual machines | |
JP2017517060A (ja) | 障害処理方法、関連装置、およびコンピュータ | |
US9483314B2 (en) | Systems and methods for fault tolerant batch processing in a virtual environment | |
US20070088988A1 (en) | System and method for logging recoverable errors | |
US9329958B2 (en) | Efficient incremental checkpointing of virtual devices | |
US20120174112A1 (en) | Application resource switchover systems and methods | |
US7613861B2 (en) | System and method of obtaining error data within an information handling system | |
TWI632462B (zh) | 開關裝置及偵測積體電路匯流排之方法 | |
US20140188829A1 (en) | Technologies for providing deferred error records to an error handler | |
JP2009289116A (ja) | 異常検出方法、異常検出プログラム及び情報処理装置 | |
JP2010086364A (ja) | 情報処理装置、動作状態監視装置および方法 | |
US8122176B2 (en) | System and method for logging system management interrupts | |
US20150121145A1 (en) | Synchronized debug information generation | |
US20150317214A1 (en) | Resource integrity during partial backout of application updates | |
CN111221800A (zh) | 数据库迁移方法、装置、电子设备及存储介质 | |
JP2016085728A (ja) | デバイス故障後のコンソールメッセージ回収方法およびシステム | |
US20210081234A1 (en) | System and Method for Handling High Priority Management Interrupts | |
US20200218612A1 (en) | Kernel reset to recover from operating system errors | |
US10635554B2 (en) | System and method for BIOS to ensure UCNA errors are available for correlation | |
US9430306B2 (en) | Anticipatory protection of critical jobs in a computing system | |
CN115495278B (zh) | 异常修复方法、设备及存储介质 | |
JP2011076344A (ja) | 情報処理装置,情報処理装置の制御方法および制御プログラム | |
JP2015146116A (ja) | 制御プログラム、制御方法および情報処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161004 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170829 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171016 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171107 |
|
A045 | Written measure of dismissal of application [lapsed due to lack of payment] |
Free format text: JAPANESE INTERMEDIATE CODE: A045 Effective date: 20180327 |