JP5726340B2 - プロセッサシステム - Google Patents

プロセッサシステム Download PDF

Info

Publication number
JP5726340B2
JP5726340B2 JP2013558596A JP2013558596A JP5726340B2 JP 5726340 B2 JP5726340 B2 JP 5726340B2 JP 2013558596 A JP2013558596 A JP 2013558596A JP 2013558596 A JP2013558596 A JP 2013558596A JP 5726340 B2 JP5726340 B2 JP 5726340B2
Authority
JP
Japan
Prior art keywords
core
wdt
storage device
abnormality
processor
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
Application number
JP2013558596A
Other languages
English (en)
Other versions
JPWO2013121502A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2013121502A1 publication Critical patent/JPWO2013121502A1/ja
Application granted granted Critical
Publication of JP5726340B2 publication Critical patent/JP5726340B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、複数のプロセッサユニットが含まれるプロセッサシステムに関する。
本明細書では、以降、1つのCPU(Central Processing Unit)パッケージ内に複数の処理系(CPUコア、以下、単にコアという)が配置されているマルチコアCPUを中心にして説明を進めるが、複数のCPU(シングルコアCPU又はマルチコアCPU)が配置されているマルチCPUシステム、マルチプロセッサシステムにも本明細書に記載の説明は適用される。
つまり、以下で示すマルチコアCPUの「コア」は、マルチCPUシステム、マルチプロセッサシステムにおける個々の「CPU」、「プロセッサ」と読み替えることができる。
また、「プロセッサユニット」との語は、マルチコアCPUにおける「コア」と、マルチCPUシステム、マルチプロセッサシステムにおける「CPU」及び「プロセッサ」のいずれも含む概念として用いている。
RAS方式(RAS: Reliability, Availability, Serviceability)は、マルチコアCPUの1つのコアの異常をwatchdog timer(以下、「WDT」と略記とする)で検知して、メモリ上のログ情報(以下、単に「ログ」ともいう)をバックアップ記憶装置に保存する異常対処方式である。
WDTはコンピュータのハードウェア時間計測器である。
RAS方式では、メインのプログラムがハングアップなどの不正な状態に陥ってしまい規則的なウォッチドッグ操作(WDTのリセット操作)が行なわれなかった(WDTタイムアウト)場合に、例外処理(WDT例外)が実行される。
例外処理は、ハングアップしたシステムを正常動作に戻すことを目的としてシステムをリセットする場合に実行させることが多いが、システムを強制停止させる場合や電源を切断した後の再投入時に実行されることもある。
障害を引き起こした問題のデバッグに役立つ情報などを媒体に保存する機能を持つRAS方式の場合、WDTはより複雑な処理を行う。
たとえば、WDTのタイムアウトによって開始されたログ情報の保存処理がある時間内に完了しなかった場合に、ログ情報が保存されていてもいなくても、WDTは、一定のディレイ時間経過後にシステムを確実にリセットさせる。
WDTが最も多く使われているのは組み込みシステムで、マイクロコントローラにWDTが内蔵されることもある。
単体のCPUだけでなく、マルチコアCPU、マルチプロセッサなど複数のCPUを持つシステムに対してWDTを適用する方法も提案されている。
また、特許文献1では、マルチプロセッサシステムにおいて、あるプロセッサが、自プロセッサが動作異常状態であることを別のプロセッサにWDT例外で通知し、その別のプロセッサが動作異常状態のプロセッサへ異常回復動作のトリガとなる割込みを通知し、動作異常状態のプロセッサが割込みを受付けない場合には、その別のプロセッサが動作異常状態のプロセッサをリセットする方式が開示されている。
特開2000−311155号公報
あるプロセッサに異常が発生した場合に、異常が発生したプロセッサのログ情報に加え、異常が発生していない他のプロセッサのログ情報も障害解析やシステム復旧のための重要な手掛かりとなる。
特許文献1の技術では、異常が発生したプロセッサのログ情報はバックアップ記憶装置に保存されるが、異常が発生していない他のプロセッサのログ情報は保存されない。
この発明は、このような点に鑑みたものであり、いずれかのプロセッサユニットに異常が発生した場合に、異常が発生していない他のプロセッサユニットのログ情報を保存できるようにすることを主な目的とする。
本発明に係るプロセッサシステムは、
複数のプロセッサユニットと、
各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されているログ情報が書き込まれる第2の記憶装置と
いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
各プロセッサユニットは、
他のプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始しているか否かを判定し、
前記異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始していない場合に、前記第1の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第2の記憶装置に書き込み、
前記異常発生通知装置により異常の発生が通知された際に、前記第1の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする。
本発明によれば、各プロセッサユニットは、いずれかのプロセッサユニットにおいて異常が発生した場合に、第1の記憶装置の自プロセッサユニットのログ情報を第2の記憶装置に書き込む。
このため、異常が発生していないプロセッサユニットのログ情報を保存することができる。
実施の形態1に係るCPUボードの構成例を示す図。 実施の形態1に係る正常時の動作例を説明する図。 実施の形態1に係る異常発生時の動作例を説明する図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態1に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係るCPUボードの構成例を示す図。 実施の形態2に係る正常時の動作例を説明する図。 実施の形態2に係る異常発生時の動作例を説明する図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係る異常発生時の動作例を示すフローチャート図。 実施の形態2に係るハイパーバイザとOS、コア、アプリケーションとの関係を示す図。
以下に示す実施の形態1及び実施の形態2では、いずれかのコアに異常が発生した場合に、異常が発生していない他のコアのログ情報をバックアップ記憶装置に保存できる構成を説明する。
また、実施の形態1及び実施の形態2では、異常発生が発生した異常発生コアの異常対処機能(RAS機能)が正常に動作しない場合でも、異常発生コアのログ情報を、バックアップ記憶装置に保存できる構成を説明する。
従来の技術では、マルチコアCPUの一つのコアの異常をWDTで検知してメモリ上のログをバックアップ記憶装置に保存して最終的にボードリセットするような異常対処方式(RAS方式)において、異常発生コア上のRAS機能が正常に動作しない場合、異常発生コアの異常発生時のログを保存することができないという課題がある。
例えば、特許文献1の技術では、WDTで検知した1つのプロセッサの異常を他のプロセッサに通知して、他のプロセッサ経由で異常発生プロセッサに対して異常回復動作のトリガをかけるが、この異常回復動作は異常発生プロセッサ自身が行うため、この異常回復動作が正常に動作しない場合、異常発生プロセッサのログをバックアップ記憶装置に保存することはできない。
実施の形態1及び実施の形態2では、このような点に鑑み、異常発生コアのログを、異常発生コアのRAS機能が正常に動作しない場合でも、バックアップ記憶装置に保存できるようにする構成、及び、異常が発生していない他のコアのログをバックアップ記憶装置に保存できる構成を説明する。
実施の形態1.
[実施の形態1:構成の説明]
図1は、本実施の形態に係るCPUボード100の構成例を示すブロック図である。
CPUボード100のハードウェア構成要素は、N個のコア116〜118と、各コアに対応するN個のWDT120〜122と、メモリ125と、バックアップ記憶装置126と、割込みコントローラ119と、ディレイ装置123と、ボードリセット装置124である。
コア116〜118は、それぞれ、プロセッサユニットの例に相当する。
また、メモリ125は、第1の記憶装置の例に相当する。
また、バックアップ記憶装置126は、第2の記憶装置の例に相当する。
また、割込みコントローラ119は、異常通知装置の例に相当する。
コア116〜118のソフトウェア構成要素は、WDTを周期的にリセットするアプリケーション(周期処理APP)101〜103と、OS(Operating System)104〜106と、RAS処理部107〜109と、WDTドライバ110〜112と、WDT例外ハンドラ113〜115である。
なお、WDT120〜122に代えて、タイマ動作をして、CPUの異常発生を通知する仕組みをもつ外部WDTを用いてもよい。
また、後述では、「各WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知するよう設定される」旨を説明しているが、WDT120〜122に代えて、同じ動作を行うハードウェアを用いてもよい。
[実施の形態1:設定の説明]
実施の形態1における、WDT120〜122と割込みコントローラ119のハードウェア設定について説明する。
各WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知するよう設定される。
割込みコントローラ119は、WDT例外を受付けると、ラウンドロビンで全コアに対してWDT例外を通知するよう設定される。
[実施の形態1:動作の概要説明]
次に動作について説明する。
実施の形態1では、WDT例外発生時に全コアのRAS処理部に順番に異常発生が通知され、各コアのRAS処理部は、自コアのログをバックアップ記憶装置126に保存する。
また、異常発生コアのRAS処理部が正常に動作しない場合は、正常動作する他コアのRAS処理部が代替して異常発生コアのログの保存を行う。
本実施の形態に係る動作の概要は以下の通りである。
i)前述の[実施の形態1:設定の説明]の通り、WDTは、WDTタイムアウトが発生すると全コア数分のWDT例外を割込みコントローラ119に通知する。
つまり、WDTは、1回のWDTタイムアウト発生に対して、コア数分のWDT例外発生通知(N個のWDT例外発生通知)を割込みコントローラ119に出力する。
割込みコントローラ119は、WDTからのWDT例外発生通知を入力すると、各コアへラウンドロビンで順番に異常発生の通知を行う。
これらにより、1回のWDTのタイムアウト発生に対して、全てのコアへ順番に異常の発生が通知される。
ii)異常発生通知を受けた各コアのRAS処理部では、各自のコアのログをバックアップ記憶装置126に保存する。
iii)異常発生通知を受けた各コアのRAS処理部は、どのコアのWDTがWDT例外発生通知を出力したかをWDT例外の種類で知ることができる。
異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置126への保存が開始されているかどうかを判定する。
そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置126への保存を行う。
[実施の形態1:動作の詳細説明]
次に、本実施の形態に係る動作の詳細について説明する。
(動作の詳細説明:正常時の動作)
まず正常時の動作を、図2を用いて説明する。
コア1(116)の周期処理APP−1(101)は周期的にWDTリセットを行う。
周期処理APP−1(101)は、WDTドライバ110を経由してWDT−1(120)をリセットする。
正常時はWDTタイムアウトが発生する前にWDTリセットが行われるため、WDT例外は発生しない。
コア2(117)、コアN(118)においても同様の処理(102→111→121、103→112→122の矢印)が行われる。
(動作の詳細説明:異常発生時の動作)
次に、異常発生時の動作を、図4、図5及び図6のフローチャートを用いて説明する。
この時のブロック図上での処理の流れは図3を使って補足する。
ここでは、コア1(116)に異常が発生し、WDT−1(120)でWDT例外が発生した例で説明する。
S111において、WDTタイムアウトが発生する。
S112において、WDT−1(120)は一定時間ディレイ後にボードリセットを行う処理を呼出す(図3の120から123への矢印)。
S101において一定時間ディレイした後に、ボードリセット処理S102が呼出される(図3の123から124への矢印)。
このディレイ時間はRAS処理部が全てのコアのログをバックアップ記憶装置126に保存を終える時間に比べて十分大きい時間とする。
S113において、WDT−1(120)はコア数分のWDT例外を割込みコントローラ119に通知する(図3の120から119への矢印)。
S171において、割込みコントローラ119はWDT−1(120)より全コア数分のWDT例外通知を入力し、ラウンドロビンで各コアのWDT例外ハンドラにWDT−1(120)の例外を通知する(図3の119から113,114,115への矢印)。
次に、コア1(116)への例外通知後の動作(S120:ログバックアップ処理)を、図5を参照して説明する。
S121において異常発生コア(コア1)のWDT例外ハンドラ113が正常に動作せず、異常発生コアのRAS処理部1(107)が実行されなかった場合には、異常発生コアのRAS処理部1(107)による異常発生コアのログのバックアップ記憶装置126への保存はできない(S122)。
S121において異常発生コアのWDT例外ハンドラ113が正常に動作した場合、S123において、WDT例外ハンドラ113は、自コアのRAS処理部1(107)に異常を通知する(図3の113から107への矢印)。
S124において、RAS処理部1(107)は、異常発生コアのログのバックアップ記憶装置126へのコピーが開始されているかどうかを判断し、コピーが開始されていない場合には、S125で異常発生コアのログをバックアップ記憶装置へコピーする(図3の107から127,130への矢印)。
ここで各コアのログのバックアップ記憶装置126へのコピーが開始されたかどうかは、メモリ125上のフラグやセマフォなどの共有資源を使って確認できるものとする。
前述したように、割込みコントローラ119はラウンドロビンにより各コアのWDT例外ハンドラにWDT例外の発生を通知するため、異常発生コア(コア1)のRAS処理部1(107)よりも先に、他のコアのRAS処理が、異常発生コアのログのコピーを開始している場合がある(図6のS135)。
このため、RAS処理部1(107)は、S124で他のコアのRAS処理部によりログのコピーが開始されているか否かを確認する。
次に、RAS処理部1(107)は、S126において、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部1(107)の処理が完了する。
一方、S12において全てのコアのログコピーが完了していた場合には、RAS処理部1(107)は、S102のボードリセット処理を呼出す(図3ではコアNのRAS処理部が全てのコピー完了したことを確認した例であり、109から124への矢印となる)。
ここで、全てのコアのログコピーが完了したかどうかは、メモリ125上のフラグやセマフォなどの共有資源を使って確認できるものとする。
また、図3のボードリセット装置124のボードリセット処理は、ディレイ装置123のディレイ後にも呼出されるが、全てのRAS処理の完了を確認した時点でボードリセットを行う方が、ディレイを待たずにその分だけ早くボードリセットできる効果がある。
次に、コア2(117)及びコアN(118)への例外通知後の動作(S130:ログバックアップ処理)を、図6を参照して説明する。
以下では、コア2(117)の処理として説明するが、コアN(118)でも同様の処理が行われる。
S131において、コア2(117)のRAS処理部2(108)がWDTドライバ111を経由してWDT−2(121)をリセットする(図3の108から111経由で121への矢印)。
これは、WDT−1(120)の例外発生通知の受信によるRAS処理を行っている間に、異常発生コア以外のWDTタイムアウトが発生しないようにするための処理である。
次に、S132において、コア2(117)のWDT例外ハンドラ114がコア2(117)のRAS処理部2(108)に異常を通知する(図3の114から108への矢印)。
次に、RAS処理部2(108)は、S133において、コア2(117)のログをバックアップ記憶装置126へコピーする(図3の108から128,131への矢印)。
次に、RAS処理部2(108)は、S134において異常発生コア(コア1)のログのバックアップ記憶装置126へのコピーが開始されているか確認し、開始されていなければ、S135で異常発生コアのログをバックアップ記憶装置126へコピーする(図3の127から130への矢印をコア2のRAS処理部2(108)が代替して実施)。
これにより、異常発生コア以外のRAS処理部が代替して異常発生コアのログをバックアップ記憶装置126へコピーすることができる。
次に、S136において、RAS処理部2(108)は、全てのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部2(108)の処理が完了する。
一方、S136において全てのコアのログコピーが完了していた場合には、RAS処理部2(108)は、S102のボードリセット処理を呼出す。
[実施の形態1:効果]
以上のように、全コアのRAS処理部に順番に異常発生を通知し、各コアのRAS処理部が、自コアのログ情報をバックアップ記憶装置に保存する。
このため、異常発生コア以外の他のコアのログ情報も、バックアップ記憶装置に保存することができ、ボード全体の障害解析に役立てることができる。
また、異常発生コアのRAS処理部が正常に動作しない場合でも、異常発生コアのログ情報の保存を正常動作する他のコアが代替することにより、異常発生コアのログ情報をバックアップ記憶装置に保存することができる。
また、本実施の形態では、WDTの設定や割込みコントローラの設定は既存の技術を利用しているため、本実施の形態に係る仕組みを簡易かつ安価に実現することが可能である。
実施の形態2.
以上の実施の形態1では、1回のWDT例外を全コア数分発生させたが、本実施の形態では、ハイパーバイザが存在し、1つのコアが受取ったWDT例外をハイパーバイザ経由で他のコアへ通知することにより、全コアへWDT異常通知を行う例を説明する。
なお、本実施の形態におけるハイパーバイザは、組込み機器向けハイパーバイザを指し、マルチコア上で複数のOSを同時実行し、かつOS間の連携と実行環境保護を実現するソフトウェアである。
図14に、2コアCPUにおける組込みハイパーバイザの簡単なブロック図を示す。
図14に示すように、ハイパーバイザ1は、コア1で動作し、コア1とOS1との連携を行い、ハイパーバイザ2は、コア2で動作し、コア2とOS2との連携を行う。
また、ハイパーバイザ1とハイパーバイザ2との間でも連携が図られる。
[実施の形態2:構成の説明]
図7は、本実施の形態に係るCPUボード200の構成例を示すブロック図である。
CPUボード200のハードウェア構成要素は、実施の形態1で説明したものと同じであるため、説明を割愛する。
コア216〜218のソフトウェア構成要素については、実施の形態1と同じ名称の要素は実施の形態1で説明したものと同様であるため、説明を割愛し、実施の形態1と異なる要素だけを説明する。
各コアとOSの間にはハイパーバイザ(ハイパーバイザ全体は250,ハイパーバイザ全体を構成する各コア上のハイパーバイザは251〜253)が存在する。
各ハイパーバイザにはWDT例外ハンドラより受取った異常通知を他のハイパーバイザに通知するための異常通知授受部254〜256が含まれている。
また、実施の形態1において説明したように、WDT220〜222に代えて、タイマ動作をして、CPUの異常発生を通知する仕組みをもつ外部WDTを用いてもよい。
また、ハイパーバイザも、各CPU間で異常通知を授受する仕組みを持つ他の手段に代えてもよい。
[実施の形態2:設定の説明]
実施の形態2における、割込みコントローラ219のハードウェア設定について説明する。
割込みコントローラ219は、WDT例外発生通知を入力すると、マルチキャストで全コアに対してWDT例外を通知するよう設定される。
[実施の形態2:動作の概要説明]
次に動作について説明する。
本実施の形態では、マルチキャストにより、ハイパーバイザ経由で全コアのRAS処理部に異常発生が通知され、各コアのRAS処理部は、自コアのログをバックアップ記憶装置226に保存する。
また、異常発生コアのRAS処理部が正常に動作しない場合は、正常動作する他コアのRAS処理部が代替して異常発生コアのログの保存を行う。
本実施の形態に係る動作の概要は以下の通りである。
i)前述の[実施の形態2:構成の説明]の通り、割込みコントローラ219は、WDT例外の発生が通知されると、各コアへマルチキャストで一斉に異常通知する。
ii)コアの上位にはハイパーバイザが存在する。
上記の割込みコントローラ219から各コアへの異常通知は、各コアのWDT例外ハンドラに対して行われる。
WDT例外ハンドラは早いもの勝ちでその異常通知を受取る。
最初に異常通知を受取ったWDT例外ハンドラは、自分のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
異常通知授受部は、他のコアのハイパーバイザ内の異常通知授受部に対して異常を通知する。
各コアのハイパーバイザ内の異常通知授受部は、そのコアのRAS処理部に異常を通知し、各コアのRAS処理部は同時並行に処理実行を開始する。
iii)異常通知を受けた各コアのRAS処理部は、各自のコアのログをバックアップ記憶装置226に保存する。
iv)異常通知を受けた各コアのRAS処理部は、どのコアのWDTが異常通知を行ったかをWDT例外の種類で知ることができる。
異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置への保存が開始されているかどうかを判定する。
そして、異常発生コアのログの保存が開始されていない場合には、異常発生コア以外のコアのRAS処理部は、異常発生コアのログのバックアップ記憶装置への保存を行う。
[実施の形態2:動作の詳細説明]
次に、本実施の形態に係る動作の詳細について説明する。
(動作の詳細説明:正常時の動作)
まず正常時の動作を、図8を用いて説明する。
コア1(216)の周期処理APP−1(201)は周期的にWDTリセットを行う。
周期処理APP−1(201)は、WDTドライバ210を経由してWDT−1(220)をリセットする。
正常時はWDTタイムアウトが発生する前にWDTリセットが行われるため、WDT例外は発生しない。
コア2(217)、コアN(218)においても同様の処理(202→211→221、203→212→222の矢印)が行われる。
(動作の詳細説明:異常発生時の動作)
次に、異常発生時の動作を、図10〜図13のフローチャートを用いて説明する。
この時のブロック図上での処理の流れは図9を使って補足する。
ここでは、コア1(216)に異常が発生し、WDT−1(220)でWDT例外が発生し、割込みコントローラ219からのWDT例外を最初に受取るのはコア2(217)である例で説明する。
S211において、WDTタイムアウトが発生する。
S212において、WDT−1(220)は一定時間ディレイ後にボードリセットを行う処理を呼出す(図9の220から223への矢印)。
S201において一定時間ディレイした後に、ボードリセット処理S202が呼出される(図9の223から224への矢印)。
このディレイ時間はRAS処理部が全てのコアのログをバックアップ記憶装置226に保存を終える時間に比べて十分大きい時間とする。
S213において、WDT−1(220)はWDT例外を割込みコントローラ219に通知する(図9の220から219への矢印)。
S271において、割込みコントローラ219はWDT−1(220)よりWDT例外を受け、マルチキャストで各コアのWDT例外ハンドラにWDT−1(220)の例外を通知する(図9の219から213,214,215への矢印)。
本実施の形態では、コア2(217)が最初にWDT例外を受取った場合について説明する(このため図9の219から21への矢印は実線、219から213の矢印と219から215の矢印は点線としている)。
次に、コア1(16)の動作(S220:ログバックアップ処理)を、図11を参照して説明する。
S221において異常発生コア(コア1)のWDT例外ハンドラ213が正常に動作せず、異常発生コアのRAS処理部1(207)が実行されなかった場合には、異常発生コアのRAS処理部1(207)による異常発生コアのログのバックアップ記憶装置26への保存はできない(S222)。
S221において異常発生コアのWDT例外ハンドラ213が正常に動作した場合、本例では、S223及びS224において、RAS処理部1(207)は何もしない。
本例では、コア2(217)が最初にWDT例外を受け取るので、RAS処理部1(207)は何もしない。
以降、コア1(216)は、最初にWDT例外を受取ったハイパーバイザ(本例ではコア2のハイパーバイザ)からの異常通知を受けてから動作する(後述)。
次に、コアN(218)の動作(S250:ログバックアップ処理)を、図13を参照して説明する。
S251において、本例ではコア2が最初にWDT例外を受け取るので、RAS処理部N(209)は何もしない(S252)。
以降、コアN(218)は、最初にWDT例外を受取ったハイパーバイザ(本例ではコア2のハイパーバイザ)からの異常通知を受けてから動作する(後述)。
次に、WDT例外を最初に受取ったコア2(217)の動作(S230:ログバックアップ処理)を、図12を参照して説明する。
S231において、本例ではコア2(217)のWDT例外ハンドラ214がWDT例外を最初に受取るので、S233へ進み、WDT例外ハンドラ214は自コアの異常通知授受部255にWDT−1(220)の異常を通知する(図9の214から255への矢印)。
S234において、異常通知授受部255は他コアの異常通知授受部254、256にWDT−1(220)の例外発生を伝える(図9の255から254,256への2つの矢印)。
なお、例外発生を受取った後の、コア1とコアNの動作は後述する。
S235において、RAS処理部2(208)は、自コアのWDT−2(221)をリセットする(図9の208から211経由で221への矢印)。
これは、WDT−1(220)の例外発生通知の受信によるRAS処理を行っている間に、異常発生コア以外のWDTタイムアウトが発生しないようにするための処理である。
次に、S236において、異常通知授受部255は自コアのRAS処理部2(208)に異常を通知する(図9の255から208への矢印)。
次に、S237において、RAS処理部2(208)は自コアのログをバックアップ記憶装置226にコピーする(図9の208から227,230への矢印)。
次に、RAS処理部2(208)は、S238において異常発生コアのログのコピーが開始されているか確認し、開始されていなければ、S239で異常発生コアのログをバックアップ記憶装置226へコピーする(図9の226から229への矢印をコア2のRAS処理部2(208)が代替して実施)。
これにより、異常発生コア以外のRAS処理部が代替して異常発生コアのログをバックアップ記憶装置226へコピーすることができる。
次に、S240において、RAS処理部2(208)は、全てのコアのログコピーが完了しているかどうかの判断を行い、いずれかのコアにてログコピーが完了していない場合は、RAS処理部2(208)の処理が完了する。
一方、S240において全てのコアのログコピーが完了していた場合には、RAS処理部2(08)は、S02のボードリセット処理を呼出す(図9はコアNがこの処理を呼出している例で209から224への矢印)。
次に、図12のS234の処理によりWDT−1(220)の異常を通知されたコア1(216)の処理を、図11を参照して説明する。
S226においてコア1の異常通知授受部254が正常に動作しなければ、異常発生コア(コア1)のRAS処理部1(207)は動作しない。
一方、異常通知授受部254が正常に動作すれば、S227〜S229及びS280の処理が行われる。
S227はS236と同じであり、S228はS238と同じであり、S229はS237と同じであり、S280はS240と同じである。
このため、各ステップの説明を割愛する。
なお、コア1(216)のWDT例外ハンドラ213がWDT例外を最初に取得した場合は、S223でYESとなり、S225に示すように、図12のS233及びS234の処理が行われる。
その後、S227以降の処理が行われる。
次に、図12のS234の処理によりWDT−1(220)の異常を通知されたコアN(218)の処理を、図13を参照して説明する。
S254において、異常通知授受部256はWDT−1(220)の異常通知を受取る。
以降は、S255〜S260の処理が行われる。
なお、S255〜S260は、図12のS235〜S240と同じである。
このため、各ステップの説明を割愛する。
なお、コアN(218)のWDT例外ハンドラ215がWDT例外を最初に取得した場合は、S251でYESとなり、S253に示すように、図12のS233及びS234の処理が行われる。
その後、S255以降の処理が行われる。
[実施の形態2:効果]
実施の形態1の方式では各コアへ順番に異常通知するために例外通知の遅延が発生するのに対し、実施の形態2の方式では各コアへの異常通知は一斉に行われるため、この遅延が発生せず、RAS処理部の同時並行処理を早く完了することができる効果がある。
それ以外の効果は実施の形態1の効果と同様である。
100 CPUボード、101 周期処理APP−1、102 周期処理APP−2、103 周期処理APP−N、104 OS−1、105 OS−2、106 OS−N、107 RAS処理部1、108 RAS処理部2、109 RAS処理部N、110 WDTドライバ、111 WDTドライバ、112 WDTドライバ、113 WDT例外ハンドラ、114 WDT例外ハンドラ、115 WDT例外ハンドラ、116 コア1、117 コア2、118 コアN、119 割込みコントローラ、120 WDT−1、121 WDT−2、122 WDT−N、123 ディレイ装置、124 ボードリセット装置、125 メモリ、126 バックアップ記憶装置、200 CPUボード、201 周期処理APP−1、202 周期処理APP−2、203 周期処理APP−N、204 OS−1、205 OS−2、206 OS−N、207 RAS処理部1、208 RAS処理部2、209 RAS処理部N、210 WDTドライバ、211 WDTドライバ、212 WDTドライバ、213 WDT例外ハンドラ、214 WDT例外ハンドラ、215 WDT例外ハンドラ、216 コア1、217 コア2、218 コアN、219 割込みコントローラ、220 WDT−1、221 WDT−2、222 WDT−N、223 ディレイ装置、224 ボードリセット装置、225 メモリ、226 バックアップ記憶装置、250 ハイパーバイザ、251 ハイパーバイザ1、252 ハイパーバイザ2、253 ハイパーバイザN、254 異常通知授受部、255 異常通知授受部、256 異常通知授受部。

Claims (3)

  1. 複数のプロセッサユニットと、
    各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
    いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されているログ情報が書き込まれる第2の記憶装置と
    いずれかのプロセッサユニットにおいて異常が発生した場合に、ラウンドロビンにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
    各プロセッサユニットは、
    他のプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始しているか否かを判定し、
    前記異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始していない場合に、前記第1の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第2の記憶装置に書き込み、
    前記異常発生通知装置により異常の発生が通知された際に、前記第1の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とするプロセッサシステム。
  2. 複数のプロセッサユニットと、
    各プロセッサユニットのログ情報を記憶する第1の記憶装置と、
    いずれかのプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されているログ情報が書き込まれる第2の記憶装置と
    いずれかのプロセッサユニットにおいて異常が発生した場合に、マルチキャストにより、異常の発生を各プロセッサユニットに通知する異常発生通知装置を有し、
    各プロセッサユニットは、
    他のプロセッサユニットにおいて異常が発生した場合に、前記第1の記憶装置に記憶されている、異常が発生した異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始しているか否かを判定し、
    前記異常発生プロセッサユニットのログ情報の前記第2の記憶装置への書き込みが開始していない場合に、前記第1の記憶装置に記憶されている前記異常発生プロセッサユニットのログ情報を前記第2の記憶装置に書き込み、
    前記複数のプロセッサユニットの中で最初に前記異常発生通知装置からの通知を取得した場合に異常の発生を他のプロセッサユニットに通知し、前記第1の記憶装置に記憶されている、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とするプロセッサシステム。
  3. 各プロセッサユニットは、
    いずれかのプロセッサユニットにおいて異常が発生したことを他のプロセッサユニットから通知された際に、自プロセッサユニットのログ情報を前記第2の記憶装置に書き込むことを特徴とする請求項に記載のプロセッサシステム。
JP2013558596A 2012-02-13 2012-02-13 プロセッサシステム Expired - Fee Related JP5726340B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/053236 WO2013121502A1 (ja) 2012-02-13 2012-02-13 プロセッサシステム

Publications (2)

Publication Number Publication Date
JPWO2013121502A1 JPWO2013121502A1 (ja) 2015-05-11
JP5726340B2 true JP5726340B2 (ja) 2015-05-27

Family

ID=48983668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013558596A Expired - Fee Related JP5726340B2 (ja) 2012-02-13 2012-02-13 プロセッサシステム

Country Status (7)

Country Link
US (1) US20150006978A1 (ja)
EP (1) EP2816480A4 (ja)
JP (1) JP5726340B2 (ja)
KR (1) KR101581608B1 (ja)
CN (1) CN104137077B (ja)
TW (1) TW201333686A (ja)
WO (1) WO2013121502A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014118940A1 (ja) * 2013-01-31 2014-08-07 三菱電機株式会社 計算機装置及び計算機装置の制御方法
JP6816345B2 (ja) * 2015-04-24 2021-01-20 富士電機株式会社 駆動制御装置
WO2016204070A1 (ja) * 2015-06-16 2016-12-22 オリンパス株式会社 Cpu監視装置
US10585755B2 (en) * 2016-11-29 2020-03-10 Ricoh Company, Ltd. Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
US11150973B2 (en) * 2017-06-16 2021-10-19 Cisco Technology, Inc. Self diagnosing distributed appliance
JP6919597B2 (ja) * 2018-03-01 2021-08-18 オムロン株式会社 コンピュータおよびその制御方法
CN112527541A (zh) 2019-09-19 2021-03-19 华为技术有限公司 一种确定多核处理器中故障计算核的方法及电子设备
CN110673976A (zh) * 2019-09-20 2020-01-10 Oppo广东移动通信有限公司 一种多核系统的异常检测方法、异常检测装置及电子设备
US11354182B1 (en) * 2019-12-10 2022-06-07 Cisco Technology, Inc. Internal watchdog two stage extension

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5761739A (en) * 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
JP2821418B2 (ja) * 1996-04-24 1998-11-05 北海道日本電気ソフトウェア株式会社 マルチプロセッサシステムの障害情報記録方式
US5790772A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Communications method involving groups of processors of a distributed computing environment
JP2000181890A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd マルチプロセッサ交換機及びその主プロセッサ切替方法
JP2000311155A (ja) 1999-04-27 2000-11-07 Seiko Epson Corp マルチプロセッサシステム及び電子機器
JP4489802B2 (ja) * 2005-02-07 2010-06-23 富士通株式会社 マルチcpuコンピュータおよびシステム再起動方法
US7984341B2 (en) * 2008-02-25 2011-07-19 International Business Machines Corporation Method, system and computer program product involving error thresholds
CN101650674A (zh) * 2009-09-11 2010-02-17 杭州中天微系统有限公司 主处理器与协处理器接口之间的异常处理方法及实现装置
JP2011159136A (ja) * 2010-02-02 2011-08-18 Seiko Epson Corp 制御装置、制御装置の異常検出・復旧方法および電子機器
WO2012004854A1 (ja) * 2010-07-06 2012-01-12 三菱電機株式会社 プロセッサ装置及びプログラム

Also Published As

Publication number Publication date
JPWO2013121502A1 (ja) 2015-05-11
KR20140105034A (ko) 2014-08-29
CN104137077B (zh) 2017-07-14
US20150006978A1 (en) 2015-01-01
KR101581608B1 (ko) 2015-12-30
EP2816480A1 (en) 2014-12-24
CN104137077A (zh) 2014-11-05
WO2013121502A1 (ja) 2013-08-22
EP2816480A4 (en) 2016-05-04
TW201333686A (zh) 2013-08-16

Similar Documents

Publication Publication Date Title
JP5726340B2 (ja) プロセッサシステム
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
JP4887150B2 (ja) コプロセッサを監視及びリセットするための方法及び装置
US9026865B2 (en) Software handling of hardware error handling in hypervisor-based systems
US11526411B2 (en) System and method for improving detection and capture of a host system catastrophic failure
US8219851B2 (en) System RAS protection for UMA style memory
KR20120061938A (ko) 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템
US9148479B1 (en) Systems and methods for efficiently determining the health of nodes within computer clusters
JP2016518654A (ja) サーバ制御方法及びサーバ制御装置
US20210081234A1 (en) System and Method for Handling High Priority Management Interrupts
WO2008101386A1 (fr) Procédé de récupération d'une exception à noyau unique dans un système à plusieurs noyaux
US20160170912A1 (en) Safely discovering secure monitors and hypervisor implementations in systems operable at multiple hierarchical privilege levels
US9535772B2 (en) Creating a communication channel between different privilege levels using wait-for-event instruction in systems operable at multiple levels hierarchical privilege levels
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
CN116627702A (zh) 虚拟机的宕机重启方法及装置
TWI772024B (zh) 減少停機時間的方法及系統
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
TW201137608A (en) System and method for handling system failure
JP4867896B2 (ja) 情報処理システム
JP2012003510A (ja) 計算機及び転送プログラム
JP5299681B2 (ja) プログラム検査方法
US11966750B2 (en) System-on-chip management controller
Liao et al. Configurable reliability in multicore operating systems
JP2007004364A (ja) デバッグシステム、デバッグ方法およびプログラム
JP2016076152A (ja) エラー検出システム、エラー検出方法およびエラー検出プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R150 Certificate of patent or registration of utility model

Ref document number: 5726340

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees