JP6504610B2 - 処理装置、方法及びプログラム - Google Patents

処理装置、方法及びプログラム Download PDF

Info

Publication number
JP6504610B2
JP6504610B2 JP2016099624A JP2016099624A JP6504610B2 JP 6504610 B2 JP6504610 B2 JP 6504610B2 JP 2016099624 A JP2016099624 A JP 2016099624A JP 2016099624 A JP2016099624 A JP 2016099624A JP 6504610 B2 JP6504610 B2 JP 6504610B2
Authority
JP
Japan
Prior art keywords
failure
occurrence
main processing
unit
fault
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.)
Active
Application number
JP2016099624A
Other languages
English (en)
Other versions
JP2017207903A (ja
Inventor
鈴木 健吾
健吾 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Platforms Ltd
Original Assignee
NEC Platforms 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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2016099624A priority Critical patent/JP6504610B2/ja
Publication of JP2017207903A publication Critical patent/JP2017207903A/ja
Application granted granted Critical
Publication of JP6504610B2 publication Critical patent/JP6504610B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、処理装置、方法及びプログラムに関するものであり、特に、障害を解析するための情報を出力する監視制御部を含む処理装置、方法及びプログラムに関する。
サーバなどの処理装置では、信頼性の向上や可用性の向上を目的として、CPU(Central Processing Unit)を有するメイン処理系の動作を、別のCPUを有する監視制御系により監視するのが一般的である。すなわち、処理装置のメイン処理系で障害が発生した場合、処理装置の監視制御系で対応する。例えば、処理装置のメイン処理系においてデッドロックなどの障害が発生した場合、処理装置の監視制御系でこのデッドロックを検出して対処する。しかしながら、メイン処理系においてデッドロックが発生した場合、監視制御系はデッドロックが発生したことは認識できるが、メイン処理系の詳細な状態がわからずに、メイン処理系の障害の解析に支障をきたすという問題があった。
処理装置の障害検出に関する技術は、種々提案されている。その一つが特許文献1に開示されている。特許文献1には、内部にウォッチドッグタイマーを備えた情報処理装置において障害が発生した場合、このウォッチドッグタイマーを使用して障害が発生したことを認識することが開示されている。すなわち、情報処理装置において発生した障害を、内部のウォッチドッグタイマーのタイムアウト信号を使用して検出することが開示されている。しかしながら、特許文献1には、処理装置の内部のウォッチドッグタイマーに障害が発生した場合については開示されていない。
また、特許文献1には、情報処理装置において障害が発生した場合、情報処理装置が有するBMC(Baseboard Management Controller)ファームウェアが、BIOS(Basic Input Output System)のストールを検出し、SMI(System Management Interrupt)を発生させてBIOSが採取するCPUのログ情報を収集することが開示されている。しかしながら、特許文献1には、処理装置のSMIに障害が発生した場合については開示されていない。
特許文献2には、中央処理装置と、中央処理装置の処理プログラムを格納するメモリーとを有する監視制御装置であって、プログラムにおいて予め定められたチェックポイントを処理した際に、中央処理装置の動作情報を外部処理装置へ出力するポートと、ポートへ出力された中央処理装置の動作情報を格納する記憶手段とを含むことを特徴とする監視制御装置が開示されている。しかしながら、特許文献2には、処理装置に障害が発生した場合、メイン処理系の詳細な状態を監視制御系に伝えることについては開示されていない。
特開2015−130023号公報 特開2000−293407号公報
上述のように、処理装置のメイン処理系においてデッドロックが発生した場合、監視制御系はデッドロックが発生したことは認識できるが、メイン処理系の詳細な状態がわからずに、メイン処理系の障害の解析に支障をきたすという問題があった。
本発明は、このような問題点を解決するためになされたものであり、メイン処理系に障害が発生した場合、メイン処理系の障害の解析を容易に行うことが可能な処理装置、方法及びプログラムを提供することを目的とする。
本発明に係る処理装置は、主要な処理を行うメイン処理部と、前記メイン処理部の外部に設けられ、前記メイン処理部の障害の発生を検出し、前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得する障害検出部と、前記障害検出部が取得した状態情報から、前記障害の発生時に対応する状態情報を選択し、外部からアクセス可能な状態で保存する監視制御部と、を備える。
本発明に係る方法は、メイン処理部の障害を検出するステップと、前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得するステップと、前記取得した状態情報から、前記障害の発生時に対応する状態情報を選択するステップと、外部からアクセス可能な状態で保存するステップと、を備える。
本発明に係るプログラムは、メイン処理部の障害を検出するステップと、前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得するステップと、前記取得した状態情報から、前記障害の発生時に対応する状態情報を選択するステップと、外部からアクセス可能な状態で保存するステップと、をコンピュータに実現させる。
本発明によれば、メイン処理系に障害が発生した場合、メイン処理系の障害の解析を容易に行うことが可能な処理装置、方法及びプログラムを提供することができる。
実施の形態1に係る処理装置を例示するブロック図である。 実施の形態1に係る処理装置を例示するブロック図である。 実施の形態1に係る処理装置の動作を例示するシーケンス図である。 プラットフォームイベント生成部が生成するイベント情報を例示する図である。 実施の形態1の比較例1に係る処理装置を例示するブロック図である。 実施の形態1の比較例1に係る処理装置の動作を例示するシーケンス図である。 実施の形態2に係る処理装置を例示するブロック図である。 実施の形態3に係る処理装置を例示するブロック図である。 実施の形態3に係る処理装置の一部を例示するブロック図である。
[実施の形態1]
以下、図面を参照して本発明の実施の形態について説明する。
図1は、実施の形態1に係る処理装置を例示するブロック図である。
図1に示すように、実施の形態1に係る処理装置10は、メイン処理部11と監視制御部12と障害検出部13とを備える。メイン処理部11は、外部に提供する情報の処理などの主要な処理を行う。障害検出部13は、メイン処理部11の外部に設けられ、メイン処理部11の障害を検出する。また、障害検出部13は、障害の発生に関係なくメイン処理部11から通知されるメイン処理部11の状態情報を取得する。監視制御部12は、障害検出部13が取得した状態情報から、障害の発生時に対応する状態情報を選択し、外部からアクセス可能な状態で保存する。
実施の形態1に係る処理装置10について詳細に説明する。
図2は、実施の形態1に係る処理装置を例示するブロック図である。
処理装置10は、表示部115をさらに備える。また、メイン処理部11は、CPU111と記憶部112〜114とを有する。
処理装置10は、例えば、ウェブサーバやファイルサーバなどの装置である。CPU111は、CPU(Central Processing Unit)、すなわち中央演算部を有し、処理装置10の主たる機能を実現し、外部に対して出力し提供する情報を処理する。記憶部112は、例えば、ROM(Read-Only Memory)であり、BIOS(Basic Input Output System)などのブートローダが格納される。記憶部113は、例えば、RAM(Randum Access Memory)であり、処理装置10の主記憶部である。記憶部114は、OS(Operating System)やファイルシステム・アプリケーションが格納される。
なお、BIOSとは、ファームウェアの一つで、コンピュータ等の処理装置に搭載されたプログラムのうち、ハードウェアとの間で、最も低レベルな入出力を行うためのプログラムである。BIOSは、処理装置の電源投入時に実行される。BIOSの機能には、処理装置のハードウェアの初期化や、記憶部からのブートローダの呼び出しがある。
また、ブートとは、処理装置の起動を意味し、電源を投入時のOS(Operating System)等、処理装置の動作環境を立ち上げるまでの処理がこれに該当する。また、ブートローダとは、ブート時に、処理装置の動作環境の立ち上げに必要なプログラムの読み込みを行うプログラムのことである。
障害検出部13は、ウォッチドッグタイマ(WDT)制御部131とCPU状態保持部134とアラーム生成部132とアラーム付加情報生成部133とを有する。
障害検出部13は、処理装置10の内部であってメイン処理部11の外部に設けられる。障害検出部13のCPU状態保持部134は、メイン処理部11から、例えば、定期的に送信されるメイン処理部11の状態情報を取得する。
ここで、メイン処理部11で発生する障害について説明する。メイン処理部11で発生する障害の例としては、デッドロックが挙げられる。このデッドロックを検出する方法としては、ウォッチドッグタイマを使用した方法が挙げられる。ウォッチドッグタイマは、SoC(System-on-a-chip)に含まれるものを使用する場合もあるし、外付けのウォッチドッグタイマを使用する場合もある。SoCが所有する資源や将来的なメンテナンスのし易さから、外付けのウォッチドッグタイマを使用してもよい。
この例では、外付けのウォッチドッグタイマを使用する。処理装置10は、障害検出部13のウォッチドッグタイマ制御部131内にウォッチドッグタイマ131aを有し、これを外付けのウォッチドッグタイマとして使用する。ウォッチドッグタイマ制御部131は、ウォッチドッグタイマ131aを使用してメイン処理部11のCPU111のデッドロックを検出する。すなわち、メイン処理部11は、障害検出部13に対してメイン処理部11の障害の発生を検出するための検出用信号(リロード要求)を送信する。障害検出部13のウォッチドッグタイマ制御部131は、例えば、所定期間αの間、CPU111がウォッチドッグタイマ131aに対して行う検出用信号が無い場合、CPU111においてデッドロックなどの障害の発生を検出したと判断する。このようにして障害検出部13は、タイムアウト情報などの障害情報を取得する。なお、検出用信号をリロード要求と呼ぶ。また、検出用信号は所定期間α内に送信される。また、検出用信号は、定期的に行われてもよい。
ウォッチドッグタイマ制御部131は、障害が発生したと判断した場合、タイムアウト情報などの障害情報をアラーム付加情報生成部133とアラーム生成部132とに通知する。
なお、デッドロックとは、複数のプロセスが互いに相手の占有している資源の解放を待ち、処理が停止してしまう障害のことである。また、ウォッチドッグタイマは、ウォッチドッグタイマ機能を意味する場合もある。
CPU状態保持部134は、処理装置10の起動時のBIOSのステータス(POST(Power On Self Test)ステータス)などのCPU111から通知されるCPU111の状態情報を保持する。また、CPU状態保持部134は、CPU111の状態情報を表示部115に表示する。
アラーム付加情報生成部133は、ウォッチドッグタイマ制御部131から通知されたタイムアウト情報などの障害情報と、CPU状態保持部134に保持されているCPU111の状態情報とを、BMC122に通知するための形式に加工する。なお、加工された障害情報と状態情報とをアラーム付加情報と呼ぶ。アラーム付加情報生成部133は、アラーム付加情報を、BMC122のアラーム付加情報取得部122bに出力する。
アラーム生成部132は、ウォッチドッグタイマ制御部131から通知されたタイムアウト情報などの障害情報をBMC122のアラーム取得部122cに出力する。なお、アラーム生成部132から出力される情報をアラーム情報と呼ぶ。
監視制御部12は、BMC122と記憶部121とを有する。BMC122は、CPU111が有するCPUとは別のCPUを有する。記憶部121は、例えば、EEPROM(Electrically Erasable Programmable Read-Only Memory)である。
BMC122は、プラットフォームイベント(PlatformEvent)生成部122aとアラーム付加情報取得部122bとアラーム取得部122cとを有する。プラットフォームイベント(PlatformEvent)生成部122aは、アラーム情報とアラーム付加情報とを、後述するイベント情報に加工する。アラーム付加情報取得部122bは、アラーム付加情報生成部133から出力されたアラーム付加情報を取得し、取得した状態情報から、障害の発生時に対応する状態情報を選択して保存する。アラーム取得部122cは、アラーム生成部132から出力された障害情報を取得する。図2に示す経路L11〜L13を経由して状態情報(ステータス情報)がアラーム付加情報取得部122bに通知され、経路L21〜経路L23を経由してアラーム情報がアラーム取得部122cに通知される。
プラットフォームイベント生成部122aが加工したイベント情報は、外部からアクセス可能な状態で記憶部121に記憶される、又は、外部装置20にイベント情報として出力される。なお、監視制御部12から外部装置20へのイベント情報の出力は、例えば、IPMB(Intelligent Platform Management Bus)3を介して出力される。
表示部115は、例えば、7segLED(7 segment Lazer Emitting Diode)などで構成され、処理装置10の起動時のBIOSのステータスなどを表示する。また、表示部115は、CPU111の状態情報とCPU111の障害情報とを表示する。
実施の形態1においては、CPU111の障害の発生を検出するためのウォッチドッグタイマ131aを、CPU111から独立させた障害検出部13内に設けている。ウォッチドッグタイマによる障害の検出を障害検出部13が自発的に行っている。これにより、CPU111に障害が発生し異常動作している場合においても、CPU111の障害を検出し、その障害情報を障害検出部13経由でBMC122に通知することができる。
また、CPU111の状態情報を、CPU111から独立させ障害検出部13のCPU状態保持部134にステータス通知して保持している。そして、CPU111の状態情報をCPU状態保持部134経由でBMC122に通知している。すなわち、CPU111から障害検出部13に対してステータスを通知し、状態情報(ステータス)をBMC122に通知している。これらの動作を、障害検出部13とBMC122とが自発的に行っている。これにより、CPU111に障害が発生し以上動作している場合においても、CPU111の状態情報を障害検出部13経由でBMC122に出力することができる。
次に、実施の形態1に係る処理装置の動作について説明する。
図3は、実施の形態1に係る処理装置の動作を例示するシーケンス図である
図3に示すように、メイン処理部11のCPU111は、処理装置10の起動時などにBIOSのPOSTステータスの進行具合に応じたPOSTステータスコードであるステータス情報(CPU111の状態情報)を障害検出部13のCPU状態保持部134に通知する(ステップS101)。
CPU111は、ステップS101と共にウォッチドッグタイマ制御部131に対してウォッチドッグタイマのリロード要求(検出用信号の送信)を行う(ステップS102)。
ステップS101により、障害検出部13は、メイン処理部11から障害の発生に関係なく通知されるメイン処理部11の状態情報を取得する。ステップS101とステップS102とは定期的に行われてもよい。ステップS101の通知を略してステータス通知と呼ぶ。
CPU状態保持部134は、ステップS101のステータス通知の内容を表示部115に表示させる。なお、ウォッチドッグタイマ制御部131は、ステップS101のステータス通知の前に、CPU111用のウォッチドッグタイマを予め開始しておく(ステップS103)。
ステップS102において、定期的にウォッチドッグタイマのリロード要求が行われていれば、メイン処理部11は正常に動作しているとする。
メイン処理部11においてデッドロックが発生した場合(ステップS105)、ウォッチドッグタイマのリロード要求は滞る。リロード要求が滞り、所定期間αの間、リロード要求が無い場合、障害検出部13のウォッチドッグタイマ制御部131は、CPU111に障害が発生したと判断し、ウォッチドッグタイマをタイムアウトする(ステップS106)。ステップS106により、障害検出部13は、メイン処理部11の障害を検出し、このタイムアウトなどの障害情報を取得する。そして、ウォッチドッグタイマ制御部131は、このタイムアウトに関するタイムアウト情報をアラーム付加情報生成部133とアラーム生成部132とに通知する(ステップS107a、ステップS107c)。タイムアウト情報の通知を略してタイムアウト通知と呼ぶ。
ステップS107aのタイムアウト通知を受信したアラーム付加情報生成部133は、CPU状態保持部134に、CPU111の現在のステータス情報(CPU111の状態情報)の問い合わせを行い、CPU状態保持部134から現在のステータス情報を取込む(ステップS107b)。また、アラーム付加情報生成部133は、ステータス情報とタイムアウト情報とをBMC122に通知する形式に加工してアラーム付加情報を生成する(ステップS108a)。
タイムアウト情報を受信したアラーム生成部132は、ウォッチドッグタイマアラームが発生した旨のウォッチドッグタイマアラームフラグを起立する(ステップS108b)。ウォッチドッグタイマアラームフラグを起立するとは、例えば、ウォッチドッグタイマのアラームビットを設け、アラームビットをオンにすることである。アラームビットのオン又はオフの情報をアラーム情報と呼ぶ。アラーム生成部132は、メイン処理部11のCPU111のタイムアウト情報(障害情報)に基づいてアラーム情報を生成する。
監視制御部12のBMC122は、ウォッチドッグタイマアラームフラグを監視する(ステップS104a)と共にアラーム付加情報が生成されているか否かを監視する(ステップS104b)。ステップS104aにおいて、BMC122は、アラーム生成部132に対して、例えば、ポーリングを行うことによりウォッチドッグタイマアラームフラグが起立しているか否かを監視する。また、ステップS104bにおいて、BMC122は、アラーム付加情報生成部133に対して、ポーリングを行うことによりアラーム付加情報が生成されているか否かを監視する。すなわち、監視制御部12は、障害検出部13のアラーム付加情報生成部133に対して障害確認要求を行い、CPU111の状態情報をアラーム付加情報生成部133から取得する。また、監視制御部12は、障害検出部13のアラーム生成部132に対して障害確認要求を行い、障害情報をアラーム生成部132から取得する。ステップS104aとステップS104bとにおける障害確認要求は、定期的に行われる。
ウォッチドッグタイマアラームフラグが起立し、ウォッチドッグタイマアラームが発生していることを認識した場合(ステップS109a)、BMC122は、プラットフォームイベント生成部122aにて情報を整形し、記憶部121などにウォッチドッグタイマアラームの情報(SEL(System Event Log))を記憶し登録する(ステップS110a)。
また、ウォッチドッグタイマアラームが発生していることを認識した場合(ステップS109a)、BMC122は、外部装置20に対してIPMB3を介してイベント通知を行う(ステップS111a)。
アラーム付加情報が生成されていることを認識した場合(ステップS109b)、BMC122は、プラットフォームイベント生成部122aにて情報を整形し、記憶部121などにアラーム付加情報(SEL(System Event Log))を記憶し登録する(ステップS110b)。ステップS110bにおいて、BMC122は、アラーム付加情報生成部133から取得したCPU111の状態情報から、障害の発生時に対応する状態情報を選択し、これを外部からアクセス可能な状態で記憶部121に保存する。
また、アラーム付加情報が生成されていることを認識した場合(ステップS109b)、BMC122は、外部装置20に対してIPMB3を介してイベント通知を行う(ステップS111b)。すなわち、BMC122は、状態情報と障害情報とを関連付けて外部に出力する。
次に、プラットフォームイベント生成部122aが生成するイベント情報について説明する。
図4は、プラットフォームイベント生成部が生成するイベント情報を例示する図である。
図4は、障害検出部13のアラーム付加情報生成部133と、BMC122のアラーム付加情報取得部122bと、の間でやり取りする情報を示す。
図4に示す情報D401(アラーム付加情報)は、アラーム付加情報生成部133とアラーム付加情報取得部122bとがやり取りする情報である。情報D401は、アラーム付加情報生成部133が生成し、アラーム付加情報取得部122bに対して出力するアラーム付加情報である。情報D401は、ステータス発行元とステータスコードとステータスコード(拡張)とを含む。ステータス発行元とステータスコード(拡張)は将来の拡張用である。ステータスコードは、メイン処理部11におけるデッドロック発生時(障害発生時)のCPU111のステータス情報(状態情報)を示す。
図4に示す情報D402は、BMC122のプラットフォームイベント(PlatformEvent)生成部122aが生成するイベント情報である。プラットフォームイベント生成部122aは、アラーム付加情報取得部122bがアラーム付加情報生成部133から取得した情報D401(アラーム付加情報)を、一般的にIPMI(Intelligent Platform Management Interface)で定義されているPlatformEventの形式に加工する。プラットフォームイベント生成部122aが生成したイベント情報は、記憶部121や外部装置20に格納される。
このようにして、メイン処理部11のCPU111のデッドロック(障害情報)だけでなく、メイン処理部11のステータス情報(状態情報)も、イベント情報として外部装置20などに伝えることができる。
実施の形態1に係る処理装置の特徴は、CPU111の異常を外付けのウォッチドッグタイマ131aにより検出し、例えば、ウォッチドッグタイマアラームなどの障害発生時のCPU111の状態情報をイベント情報情報として外部装置20などに通知する点である。
実施の形態1の効果について説明する。
実施の形態1においては、メイン処理部11のCPU111から障害検出部13に対して随時ステータス情報を通知し、ウォッチドックタイマアラームの検出を自発的に行い、BMC122への報告を自発的に行っている。そして、CPU111が有するウォッチドックタイマを使用せずに、外部のウォッチドックタイマを使用してCPU111の障害を検出している。これにより、CPU111に障害が発生している場合でも、CPU111の障害を検出してCPU111の障害状況をBMC122に通知することができる。
また、実施の形態1においては、CPU111が有するSMI(System Management Interrupt)機能を使用せずに、CPU111の外部に存在する障害検出部13から、CPU111のステータス情報とウォッチドックタイマアラーム情報とを監視制御部12に通知している。これにより、CPU111に障害が発生している場合でも、CPU111のステータスをBMC122に通知することができる。
また、実施の形態1に係る処理装置10は、メイン処理部11がデッドロックした際に、その原因解析に必要となるCPU111のステータス情報とアラーム情報とを外部装置20などに伝えることができる。これにより、処理装置10の障害の解析を容易に行うことができる。その結果、メイン処理部に障害が発生した場合、メイン処理部の障害の解析を容易に行うことが可能な処理装置、方法及びプログラムを提供することができる。
なお、この実施例においては、BIOSのステータスコードを例にして説明したが、OS(Operating System)やアプリケーションのプロセス番号に当てはめて応用してもよい。
また、この実施例においては、外付けのウォッチドッグタイマを例にして説明したが、この外付けのウォッチドッグタイマを、監視制御のSoC(System-on-a-Chip)に含めて1チップの構成で実現してもよい。
[実施の形態1の比較例1]
図5は、実施の形態1の比較例1に係る処理装置を例示するブロック図である。
図5に示すように、比較例1に係る処理装置10aは、メイン処理部11aと監視制御部12aと障害検出部13aとを有する。
メイン処理部11aは、例えば、7セグメントLED(Lazer Emitting Diode)などの簡素な表示部115を有し、処理装置10aの起動時のBIOSステータス(POST(Power On Self Test)ステータス)を表示部115に表示させる。
監視制御部12aは、実施の形態1の監視制御部12と比べてアラーム付加情報取得部122bが設けられていない。
障害検出部13aは、実施の形態1の障害検出部13と比べてCPU状態保持部134とアラーム付加情報生成部133が設けられていない。
図6は、実施の形態1の比較例1に係る処理装置の動作を例示するシーケンス図である。
図6に示すように、メイン処理部11aのCPU111は、処理装置10aの起動時などにBIOSのPOSTステータスの進行具合に応じたPOSTステータスコードを表示部115に伝える(ステップS101)と共にウォッチドッグタイマ制御部131に対して、定期的にウォッチドッグタイマのリロード要求を行う(ステップS102)。
メイン処理部11aにデッドロックが発生し(ステップS105)、ウォッチドッグタイマのリロード指示が滞ると、ウォッチドッグタイマ制御部131はタイムアウトし(ステップS106)、その旨をアラーム生成部132に伝える(ステップS107)。
アラーム生成部132は、ウォッチドッグタイマアラームが発生した旨のフラグを起立する(ステップS108)。
一方、監視制御部12aのBMC122は、ウォッチドッグタイマアラームフラグを定期的に監視し(ステップS104)、アラームを認識すると(ステップS109)、記憶部121などにアラーム情報(SEL(System Event Log))を記憶し登録し(ステップS110)、外部装置20にIPMB3を通してイベント通知を行う(ステップS111)。
しかしながら、実施の形態1の比較例1においては、メイン処理部11aにおいてデッドロックが発生した際、故障が発生したというアラーム情報しか認識することができない。CPU111の状態情報を認識することができない。従って、処理装置10の障害の解析をすることは難しい。
[実施の形態1の比較例2]
実施の形態1の比較例2においては、実施の形態1と比較して、CPU111が有するウォッチドッグタイマ機能を使用してCPU111の障害を検出する点が異なる。本比較例2においては、ウォッチドッグタイマ機能に障害が発生しCPU111が異常動作している場合、CPU111の障害を検出することが難しい。
[実施の形態1の比較例3]
実施の形態1の比較例3においては、実施の形態1と比較して、CPU111が有するSMI(System Management Interrupt)機能を使用してCPUの障害発生の通知を行う点が異なる。本比較例3においては、SMI機能に障害が発生しCPU111が異常動作している場合、CPU111の障害を通知することが難しい。
[実施の形態2]
次に、実施の形態2について説明する。
図7は、実施の形態2に係る処理装置を例示するブロック図である。
図7に示すように、実施の形態2は、前述の実施の形態1と比べて、障害検出部13に付加情報制御部135を有する点が異なる。付加情報制御部135は、デッドロックが発生後にステータスコードを複数回取得し、取得したステータスコードを一定時間毎に何回、アラーム付加情報取得部122bに対して出力するかを制御する。なお、一定時間の時間間隔及び一定時間毎に出力するステータスコードの回数は、付加情報制御部135により所望の値が設定される。
実施の形態2においては、付加情報制御部135が一定時間の時間間隔と一定時間毎に出力するステータスコードの回数とを設定する。これにより、ウォッチドッグタイマのリロード間隔の長さにより、CPU111において、例えば、ソフトウェアの暴走などの障害が発生しているのか否か、又はソフトウェアはある程度適正に動いているのか否かの判断を行うことができる。
例えば、監視制御部12は、障害の発生前の最後の検出用信号から障害の発生後の最初の検出用信号までの時間に基づいてメイン処理部11の障害の度合いを判断することができる。
また、監視制御部12は、障害の発生後の最初の検出用信号から2番目の検出用信号までの時間に基づいてメイン処理部11の障害の度合いを判断してもよい。
また、監視制御部12は、障害の発生前の最後の検出用信号とさらに1つ前の検出用信号との間の時間に基づいてメイン処理部11の障害の度合いを判断してもよい。
[実施の形態3]
次に、実施の形態3について説明する。
図8は、実施の形態3に係る処理装置を例示するブロック図である。
図9は、実施の形態3に係る処理装置の一部を例示するブロック図である。
図8に示すように、実施の形態3に係る障害検出部13は、前述の実施の形態1と比べて、異常検出部136と記憶部137とをさらに有する点が異なる。異常検出部136は、ウォッチドッグタイマ制御部131と同様な機能、仕組みであって、CPU111とは別の部位の障害を検出するための機能を有する。異常検出部136は、複数の部位の障害をそれぞれ検出するために、検出機能Fa、検出機能Fb、検出機能Fcなどの複数の検出機能を有する。
障害検出部13が、例えば、FPGA(Field-Programmable Gate Array)で構成されている場合、FPGAをコンフィグするためのコンフィグ用ファイルは、フラッシュROM(Read Only Memory)などにより構成された記憶部137に格納される。
FPGAをコンフィグする場合、コンフィグ用ファイルが格納された記憶部137にアクセスする。このとき、異常検出部136は、記憶部137へのアクセス異常などを検出し、これをアラーム付加情報としてBMC122に通知する。アラーム付加情報としては、例えば、図4に示す情報D401であるステータス発行元、ステータスコード及びステータスコード(拡張)を使用して情報の判別をする。このようにして、異常検出部136は、障害を検出する。
また、異常検出部136は、記憶部137へのアクセス異常の他にも、別の部位の異常を、検出機能Fa、検出機能Fb及検出機能びFcなどを使用して行う。
異常検出部136及びウォッチドッグタイマ制御部131が、複数の部位の異常を同時に検出し、それらの異常が発生した旨をアラーム付加情報生成部133に通知する場合、通知する情報間で競合が起こり、通知する情報が消失する可能性がある。このような情報の消失を避けるため、例えば、図9に示すように、障害検出部13内にFIFO(First In First Out)を設ける。
次に、実施の形態3に係るアラーム付加情報生成部133の動作について説明する。
図9に示すように、アラーム付加情報生成部133は、ウォッチドッグタイマ制御部131及び異常検出部136からアラームの書き込み要求があると、FIFOに次々と情報を書き込む。
アラーム付加情報生成部133は、FIFOに情報が書き込まれている場合、アラーム付加情報の有無を示すレジスタR401を確認する。レジスタR401のフラグが立っている場合、FIFOに情報が書き込まれている状態を示す。また、レジスタR401のフラグが立っていない場合、FIFOに情報が書き込まれていない状態を示す。
アラーム付加情報生成部133は、レジスタR401のフラグが立っている場合、何もしない。また、アラーム付加情報生成部133は、レジスタR401のフラグが立っていない場合、FIFOから情報を取り出し、レジスタR402に取り出した情報を反映すると共にレジスタR401のフラグを立てる。
一方、BMC122は、レジスタR401を監視し、レジスタR401のフラグが立っていない場合、何もしない。また、BMC122は、レジスタR401のフラグが立っている場合、レジスタR402の内容を読み出すと共にレジスタR401のフラグを落とす。
なお、レジスタR402は、ステータス発行元、ステータスコード及びステータスコード(拡張)を示すレジスタである。
また、上記の実施の形態では、本発明を主にハードウェアの構成として説明したが、本発明はこれに限定されるものではない。本発明は、各構成要素の処理を、CPU(Central Processing Unit)にコンピュータプログラムを実行させることにより実現することも可能である。
上記の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実態のある記録媒体(trangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programable ROM)、EPROM(Erasable PROM))、フラッシュROM、RAM(Random Access Memory)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
10、10a…処理装置 11、11a…メイン処理部 12、12a…監視制御部 13、13a…障害検出部 111…CPU 1122〜114…記憶部 115…表示部 121…記憶部 122…BMC 122a…プラットフォームイベント生成部 122b…アラーム付加情報取得部 122c…アラーム取得部 131…ウォッチドッグタイマ制御部 131a…ウォッチドッグタイマ 132…アラーム生成部 133…アラーム付加情報生成部 134…CPU状態保持部 135…付加情報制御部 136…異常検出部 137…記憶部 D401、D402…情報 R401、R402…レジスタ Fa、Fb、Fc…検出機能 L11、L12、L13、L21、L22、L23…経路 α…所定期間

Claims (8)

  1. 主要な処理を行うメイン処理部と、
    前記メイン処理部の外部に設けられ、前記メイン処理部の障害の発生を検出し、前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得する障害検出部と、
    前記障害検出部が取得した状態情報から、前記障害の発生時に対応する状態情報を選択し、外部からアクセス可能な状態で保存する監視制御部と、
    を備え、
    前記メイン処理部は、前記障害検出部に対して前記障害の発生を検出するための検出用信号を送信し、
    前記障害検出部は、所定期間、前記検出用信号が無い場合、前記障害の発生を検出したと判断し、
    前記監視制御部は、前記障害の発生後の最初の検出用信号から2番目の検出用信号までの時間に基づいて前記メイン処理部の障害の度合いを判断する、
    処理装置。
  2. 主要な処理を行うメイン処理部と、
    前記メイン処理部の外部に設けられ、前記メイン処理部の障害の発生を検出し、前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得する障害検出部と、
    前記障害検出部が取得した状態情報から、前記障害の発生時に対応する状態情報を選択し、外部からアクセス可能な状態で保存する監視制御部と、
    を備え、
    前記メイン処理部は、前記障害検出部に対して前記障害の発生を検出するための検出用信号を送信し、
    前記障害検出部は、所定期間、前記検出用信号が無い場合、前記障害の発生を検出したと判断し、
    前記監視制御部は、前記障害の発生前の最後の検出用信号とさらに1つ前の検出用信号との間の時間に基づいて前記メイン処理部の障害の度合いを判断する、
    理装置。
  3. 前記監視制御部は、前記障害の発生前の最後の検出用信号から前記障害の発生後の最初の検出用信号までの時間に基づいて前記メイン処理部の障害の度合いを判断する、
    請求項1又は2に記載の処理装置。
  4. 前記検出用信号は前記所定期間内に送信される
    請求項1又は2に記載の処理装置。
  5. 前記監視制御部は、前記障害検出部に対して障害確認要求を行い、前記障害の発生の有無を示す障害情報と前記状態情報とを前記障害検出部から取得する、
    請求項1〜4のいずれか1つに記載の処理装置。
  6. 前記状態情報と前記障害情報とを表示する表示部をさらに備えた請求項に記載の処理装置。
  7. メイン処理部の障害を検出するステップと、
    前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得するステップと、
    前記取得した状態情報から、前記障害の発生時に対応する状態情報を選択するステップと、
    外部からアクセス可能な状態で保存するステップと、
    を備え、
    前記障害を検出するステップは、前記障害の発生を検出するための検出用信号を送信することを含み、
    前記状態情報を取得するステップは、所定期間、前記検出用信号が無い場合、前記障害の発生を検出したと判断することを含み、
    前記状態情報を選択するステップは、前記障害の発生後の最初の検出用信号から2番目の検出用信号までの時間に基づいて前記メイン処理部の障害の度合いを判断することを含む、
    方法。
  8. メイン処理部の障害を検出するステップと、
    前記障害の発生に関係なく通知される前記メイン処理部の状態情報を取得するステップと、
    前記取得した状態情報から、前記障害の発生時に対応する状態情報を選択するステップと、
    外部からアクセス可能な状態で保存するステップと、
    を備え、
    前記障害を検出するステップは、前記障害の発生を検出するための検出用信号を送信することを含み、
    前記状態情報を取得するステップは、所定期間、前記検出用信号が無い場合、前記障害の発生を検出したと判断することを含み、
    前記状態情報を選択するステップは、前記障害の発生後の最初の検出用信号から2番目の検出用信号までの時間に基づいて前記メイン処理部の障害の度合いを判断することを含む、
    をコンピュータに実現させるプログラム。
JP2016099624A 2016-05-18 2016-05-18 処理装置、方法及びプログラム Active JP6504610B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016099624A JP6504610B2 (ja) 2016-05-18 2016-05-18 処理装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016099624A JP6504610B2 (ja) 2016-05-18 2016-05-18 処理装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2017207903A JP2017207903A (ja) 2017-11-24
JP6504610B2 true JP6504610B2 (ja) 2019-04-24

Family

ID=60417226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016099624A Active JP6504610B2 (ja) 2016-05-18 2016-05-18 処理装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6504610B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110851286B (zh) * 2019-11-12 2023-02-17 北京城市网邻信息技术有限公司 线程管理方法、装置、电子设备及存储介质
GB2589593B (en) * 2019-12-03 2022-05-11 Siemens Ind Software Inc Identifying causes of anomalies observed in an integrated circuit chip
CN116610539B (zh) * 2023-04-07 2024-04-05 合芯科技有限公司 一种开机自检信息的显示系统、显示方法、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04260942A (ja) * 1991-01-21 1992-09-16 Mitsubishi Electric Corp ウォッチドッグタイマ
JP2006023970A (ja) * 2004-07-08 2006-01-26 Oki Electric Ind Co Ltd 装置異常復旧方式
US20070088988A1 (en) * 2005-10-14 2007-04-19 Dell Products L.P. System and method for logging recoverable errors

Also Published As

Publication number Publication date
JP2017207903A (ja) 2017-11-24

Similar Documents

Publication Publication Date Title
CN109783262B (zh) 故障数据处理方法、装置、服务器及计算机可读存储介质
JP6333410B2 (ja) 障害処理方法、関連装置、およびコンピュータ
US8914488B2 (en) Method and system for monitoring a monitoring-target process
EP2983086A1 (en) System fault detection and processing method, device, and computer readable storage medium
US20140122931A1 (en) Performing diagnostic tests in a data center
EP3591485B1 (en) Method and device for monitoring for equipment failure
WO2012046293A1 (ja) 障害監視装置、障害監視方法及びプログラム
US9210059B2 (en) Cluster system
JP6504610B2 (ja) 処理装置、方法及びプログラム
KR20200078328A (ko) 소프트웨어 애플리케이션 프로세스를 모니터링하는 시스템 및 방법
US20120136970A1 (en) Computer system and method for managing computer device
US20170132102A1 (en) Computer readable non-transitory recording medium storing pseudo failure generation program, generation method, and generation apparatus
US8074123B2 (en) Multi-CPU failure detection/recovery system and method for the same
JP2016224883A (ja) 異常検出方法、情報処理装置および異常検出プログラム
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
CN110825561A (zh) 控制系统以及控制装置
KR102438148B1 (ko) 임베디드 컴퓨팅 모듈의 이상을 감지하는 이상 감지 장치, 시스템 및 방법
JP2009151420A (ja) ソフトウェア動作監視装置、プログラム
JP6222759B2 (ja) 障害通知装置、障害通知方法及びプログラム
US8843665B2 (en) Operating system state communication
JP2010003132A (ja) 情報処理装置、その入出力装置の故障検出方法及びプログラム
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
JP2009230522A (ja) システム監視装置およびプログラム
JP6024742B2 (ja) 情報処理装置、情報処理方法、情報処理プログラム、及び記録媒体
JP6944799B2 (ja) 情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190320

R150 Certificate of patent or registration of utility model

Ref document number: 6504610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150