JP2013145496A - フォールトトレラント情報処理システム、及びデバッグ方法 - Google Patents
フォールトトレラント情報処理システム、及びデバッグ方法 Download PDFInfo
- Publication number
- JP2013145496A JP2013145496A JP2012006147A JP2012006147A JP2013145496A JP 2013145496 A JP2013145496 A JP 2013145496A JP 2012006147 A JP2012006147 A JP 2012006147A JP 2012006147 A JP2012006147 A JP 2012006147A JP 2013145496 A JP2013145496 A JP 2013145496A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- debugger
- changeover switch
- cpu
- state
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】フォールトトレラントコンピュータにおけるデバッグを、デバック機器1台で容易に行えるようにする。
【解決手段】フォールトトレラント情報処理システムにおけるデバッグ処理において、第1切替スイッチは、第1プロセッサ及び第2プロセッサのいずれか一方からの出力をデバッガーに入力する。第2切替スイッチは、デバッガーからの出力を第1プロセッサ及び第2プロセッサの少なくとも一方に入力する。第1プロセッサ及び第2プロセッサは、同期して動作する。デバッガーは、第1プロセッサと第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、第1プロセッサと第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う。
【選択図】図1
【解決手段】フォールトトレラント情報処理システムにおけるデバッグ処理において、第1切替スイッチは、第1プロセッサ及び第2プロセッサのいずれか一方からの出力をデバッガーに入力する。第2切替スイッチは、デバッガーからの出力を第1プロセッサ及び第2プロセッサの少なくとも一方に入力する。第1プロセッサ及び第2プロセッサは、同期して動作する。デバッガーは、第1プロセッサと第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、第1プロセッサと第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う。
【選択図】図1
Description
本発明は、フォールトトレラント情報処理システムに関し、特にフォールトトレラント情報処理システムにおけるJTAGによるデバッグ方法に関する。
システムを構成する装置を多重化(冗長化)し、これらの装置を運用系(Active)と待機系(Standby)とに分け、運用系と待機系とを切り替えることで、システムに障害が発生した場合でも正常な動作を保ち続ける能力を持つ情報処理システムを、フォールトトレラント(Fault−Torerant:FT)情報処理システムと呼ぶ。
一般的に、フォールトトレラント情報処理システムは、CPU(Central Processing Unit)を備える情報処理装置を複数台使って構成され、CPUの冗長性を確保するため、複数の情報処理装置のCPUをクロックレベルで同期して動作させている。もし何らかの理由により、CPU間で同期が取れない状態(同期ずれ)となった場合、異常が発生したCPUを同期動作から切り離すことにより、そのCPUの属する情報処理装置をフォールトトレラント情報処理システムから切り離し、フォールトトレラント情報処理システム自体は正常に稼動させ続ける仕組みとなっている。
このようなフォールトトレラント情報処理システムの例として、FTサーバシステムや、FTコンピュータシステム等が存在する。
従来、CPU間の同期ずれの原因を探る方法として、CPUから出力されるフロントサイドバス(Front Side Bus:FSB)の信号のように、CPUのコアから論理的に近いCPUからの外部信号を、運用系と待機系の両系で同時に観測し、その差分を見比べ、CPU内部で発生している事象を推測するという方法をとっていた。
しかし、近年は、CPUと、メモリコントローラやPCIブリッジとの統合が進み、CPUの外部で観測可能な信号はPCIe(PCI Express)等の信号のみとなっている。PCIe(PCI Express)等の信号は、CPUのコアから論理的に階層を経ているため、これらの信号比較では同期ずれの原因を見つけることが困難になっている。
他にCPUのコアの内部動作を直接参照できる方法として、一般的な情報処理システムでは、ICE(In−Circuit Emulator)/ITP(Ice−Tethered Profiler)等のデバッガー(debugger)をCPUのJTAG(Joint Test Action Group)端子に接続し、CPU内部で動作するマイクロ命令を1ステップ(STEP)毎に実行しながら、或いは、ある条件が発生した時点でCPUを止めて、CPUの内部状態を参照する方法がある。
しかし、フォールトトレラント情報システムで、このデバッガーを用いてCPU同期ずれの原因を探るには、デバッガーによる同期ずれ発生を防ぐため、各CPUにそれぞれデバッガーを接続して両方のCPUを同時に操作する必要があり、実現が非常に困難となっている。
関連する技術として、特許文献1(特開2007−122543号公報)に半導体集積回路装置が開示されている。この導体集積回路装置は、プロセッサを含むサブシステムを複数有する半導体集積回路装置であって、複数のサブシステムのいずれかのプロセッサによるプログラムの実行が所定のブレーク条件と一致したことを検出するブレーク検出部と、ブレーク検出部の検出に応じて、複数のサブシステムのうち選択されたサブシステムの動作を停止させる停止制御部とを有する。
また、特許文献2(特開2008−046942号公報)にフォールトトレラントコンピュータが開示されている。このフォールトトレラントコンピュータは、冗長化される演算処理部と、冗長化される入出力部と、検出部とを具備する。演算処理部は、ロックステップ動作し、その同期外れを検出部が検出する。入出力部は、検出部が同期外れを検出した時、演算処理部から出力されるトランザクションのフローを制御するトランザクション比較制御部を備える。
また、特許文献3(特開2009−140424号公報)にフォールトトレラントコンピュータシステムが開示されている。このフォールトトレラントコンピュータシステムは、ネットワークを介して相互に接続された複数のノードを備え、複数のノードの各ノードにおいて同じ処理を独立に並列実行させるフォールトトレラントコンピュータシステムである。各ノードは、システム内の稼働中のノード(以下「稼働中ノード」という。)は無停止かつ処理を継続させた状態で、停止状態から再起動したノード(以下「組込みノード」という。)を稼働中ノードとの間で処理タイミングを合わせてシステムへ再度組込む、という再同期稼働化処理を行う駆動管理部と、稼働中ノードと組込みノードとの間で、データ内容を含むノードの状態を一致させるデータ一致化処理を行うデータ同期処理部とを備える。駆動管理部は、ノードが稼働中ノードである場合には、ユーザプログラムの処理を実行開始する度に、組込みノードに対して処理開始の通知を行い、ノードが組込みノードである場合には、データ同期処理部によって稼働中ノードと当該組込みノードとの間でのデータ一致化処理が完了していた場合に、当該組込みノードが稼働中ノードから受信した処理開始通知を参照して、ユーザプログラムの処理を開始する。
更に、特許文献4(特開2010−176392号公報)に不良解析装置が開示されている。この不良解析装置では、ホストPC(パソコン)上でデバッガーが動作し、デバッガーの操作に応じて2つのマイクロプロセッサA、BがデバッグI/F装置A、Bを介して同一のデバッグ動作を並行して実行し、マイクロプロセッサA、Bから得られた内部情報はホストPCに転送され、ホストPCで比較し不良解析を行う。
フォールトトレラント情報処理システムにおいては、従来、CPU間の同期ずれの原因を探る方法として、CPUから出力されるFSBの信号や、PCIe(PCI Express)等の信号を、運用系と待機系の両系で同時に観測し比較する方法を用いているが、FSBの信号及びPCIe(PCI Express)の信号のどちらの測定機器も非常に高価であり、セットアップ(setup:導入・設定作業)も複雑である。
BIOSやファームウェアのデバッガーとして用いられるICE/ITPを使用できれば、デバック用機器は現在あるものを流用できるので、開発費を抑え、操作も容易になる効果が期待できる。
本発明に係るフォールトトレラント情報処理システムは、第1プロセッサと、第2プロセッサと、デバッガーと、第1プロセッサ及び第2プロセッサのいずれか一方からの出力をデバッガーに入力するための第1切替スイッチと、デバッガーからの出力を第1プロセッサ及び第2プロセッサの少なくとも一方に入力するための第2切替スイッチとを具備する。第1プロセッサ及び第2プロセッサは、同期して動作する。デバッガーは、第1プロセッサと第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、第1プロセッサと第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う。
本発明に係るデバッグ方法は、フォールトトレラント情報処理システムにおけるデバッグ方法であり、次のような動作を行う。第1切替スイッチは、第1プロセッサ及び第2プロセッサのいずれか一方からの出力をデバッガーに入力する。第2切替スイッチは、デバッガーからの出力を第1プロセッサ及び第2プロセッサの少なくとも一方に入力する。第1プロセッサ及び第2プロセッサは、同期して動作する。デバッガーは、第1プロセッサと第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、第1プロセッサと第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う。
本発明に係るプログラムは、上記のデバッグ方法におけるデバッガーとしての動作を、デバッグ機器に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
フォールトトレラントコンピュータにおけるデバッグが、デバック機器1台で容易に行えるようになる。
<第1実施形態>
以下に、本発明の第1実施形態について添付図面を参照して説明する。
以下に、本発明の第1実施形態について添付図面を参照して説明する。
[システム構成]
図1を参照して、本発明に係るフォールトトレラント情報処理システムの構成例について説明する。
図1を参照して、本発明に係るフォールトトレラント情報処理システムの構成例について説明する。
本発明に係るフォールトトレラント情報処理システムは、FTサーバシステム1と、デバッガー2を含む。
FTサーバシステム1は、サーバシステム10と、サーバシステム20と、切替器30を備える。
サーバシステム10及びサーバシステム20は、多重化(冗長化)されたサーバ装置である。従って、サーバシステム10及びサーバシステム20は、同様に構成されている。
サーバシステム10は、CPU11(第1プロセッサ)を備える。サーバシステム20は、CPU21(第2プロセッサ)を備える。
CPU11は、サーバシステム10全体を制御する。CPU21は、サーバシステム20全体を制御する。また、CPU11及びCPU21の各々は、当該CPUのデバッグ用途に使用するJTAGポートを備える。
JTAGポートは、JTAG信号を出力する。なお、CPU11のJTAGポートは、パス(経路)101、切替器30、及びパス100を介して、デバッガー2に接続される。また、CPU21のJTAGポートは、パス102、切替器30、及びパス100を介して、デバッガー2に接続される。すなわち、それぞれのJTAGポートは、デバッガー2にJTAG信号を入力する。
デバッガー2は、CPUのデバッグ用のプログラムを実行するデバッグ機器である。デバッガー2は、CPU11及びCPU21のデバッグ用途に使用するJTAGポートと、ICE/ITPマネージメントコントローラを備える。デバッガー2は、JTAGポート経由で、CPU11やCPU21の内部状態の監視や、CPU11やCPU21の動作停止等を行う。
切替器30は、切替スイッチ31(第1切替スイッチ)と、切替スイッチ32(第2切替スイッチ)を備える。
切替スイッチ31は、デバッガー2と固定的に接続し、CPU11又はCPU21のいずれか一方と排他的に接続する。すなわち、切替スイッチ31は、CPU11をデバッガー2に接続するか、CPU21をデバッガー2に接続するか、を選択できる。これにより、切替スイッチ31は、CPU11又はCPU21のいずれか一方から出力された信号をデバッガー2へ入力することができる。
切替スイッチ32は、デバッガー2と固定的に接続し、CPU11及びCPU21の各々と選択的に接続する。すなわち、切替スイッチ31は、CPU11及びCPU21の両方をデバッガー2に接続するか、CPU11又はCPU21のいずれか一方をデバッガー2に接続するか、を選択できる。これにより、切替スイッチ32は、デバッガー2から出力された信号をCPU11及びCPU21のうち少なくとも一方(いずれか一方、又は両方)へ入力することができる。
切替器30は、切替スイッチ31を切り替えて、CPU11又はCPU21のいずれか一方から出力される入力データ信号(TDI)をデバッガー2へ入力することができる。デバッガー2は、入力データ信号(TDI)に基づいて、CPU11又はCPU12の内部情報を監視することができる。
また、切替器30は、切替スイッチ32を切り替えて、デバッガー2から出力されるリセット信号(TRST)、テストモードセレクト信号(TMS)、クロック信号(TCK)、或いは出力データ信号(TDO)を、CPU11及びCPU21の両方に同時に入力、もしくはCPU11又はCPU21のいずれか一方に入力することができる。
切替器30は、切替スイッチ32を切り替えて、デバッガー2から出力される信号を、CPU11及びCPU21に同時に入力するよう切り替えた場合には、CPU11及びCPU12を同時に制御できる。従って、例えば、CPU内部で実行されるマイクロ命令を1ステップ(STEP)毎に止める場合に、CPU11及びCPU21でのマイクロ命令の実行を同時に止めることができる。
切替器30は、切替スイッチ32を切り替えて、デバッガー2から出力される信号を、CPU11又はCPU21のいずれか一方に入力するよう切り替えた場合には、一方のCPUを稼動させたまま、他方のCPUを停止させることができる。従って、FTサーバシステム1全体としては、停止することなく情報採取することができる。
なお、実際には、切替スイッチ31や切替スイッチ32の切替処理については、切替器30がデバッガー2からの信号に応じて行うようにしても良い。すなわち、デバッガー2は、切替器30を介して、切替スイッチ31や切替スイッチ32を切り替えることもできる。
[1ステップ毎のCPU状態の監視]
次に、図2のフローチャートを参照して、デバッガー2が、1ステップ毎にCPU状態を監視する際の手順について説明する。
次に、図2のフローチャートを参照して、デバッガー2が、1ステップ毎にCPU状態を監視する際の手順について説明する。
ここでは、FTサーバシステム1は、電源が投入された際に、サーバシステム10及びサーバシステム20を起動する。サーバシステム10及びサーバシステム20は、CPU11とCPU21とが同期して動作しているものとする。
(1)ステップS1
FTサーバシステム1の切替器30は、切替スイッチ32をCPU11とCPU21の両方に接続する。これにより、デバッガー2は、切替器30の切替スイッチ32を介して、CPU11とCPU21の両方に物理的/電気的に接続する。
FTサーバシステム1の切替器30は、切替スイッチ32をCPU11とCPU21の両方に接続する。これにより、デバッガー2は、切替器30の切替スイッチ32を介して、CPU11とCPU21の両方に物理的/電気的に接続する。
(2)ステップS2
切替器30は、切替スイッチ31をCPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。
切替器30は、切替スイッチ31をCPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。
(3)ステップS3
デバッガー2は、CPU11の状態監視を行う。
デバッガー2は、CPU11の状態監視を行う。
(4)ステップS4
デバッガー2は、CPU11の状態監視の際、CPU11内部で動作するマイクロ命令が1ステップ(STEP)完了したか確認する。
デバッガー2は、CPU11の状態監視の際、CPU11内部で動作するマイクロ命令が1ステップ(STEP)完了したか確認する。
(5)ステップS5
デバッガー2は、CPU11内部で動作するマイクロ命令が1ステップ(STEP)完了した場合、CPU停止を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU停止信号を入力する。
デバッガー2は、CPU11内部で動作するマイクロ命令が1ステップ(STEP)完了した場合、CPU停止を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU停止信号を入力する。
(6)ステップS6
切替器30の切替スイッチ32はCPU11とCPU21の両方に接続されているので、CPU11とCPU12の両方が同時に停止する。
切替器30の切替スイッチ32はCPU11とCPU21の両方に接続されているので、CPU11とCPU12の両方が同時に停止する。
(7)ステップS7
このとき、切替器30の切替スイッチ31はCPU11に接続されているので、デバッガー2は、切替スイッチ31を介して、CPU11の状態(状態情報:Status)を取得する。
このとき、切替器30の切替スイッチ31はCPU11に接続されているので、デバッガー2は、切替スイッチ31を介して、CPU11の状態(状態情報:Status)を取得する。
(8)ステップS8
次に、切替器30は、切替スイッチ31を切り替えて、切替スイッチ31をCPU21に接続する。デバッガー2は、切替スイッチ31を介して、CPU21の状態を取得する。
次に、切替器30は、切替スイッチ31を切り替えて、切替スイッチ31をCPU21に接続する。デバッガー2は、切替スイッチ31を介して、CPU21の状態を取得する。
(9)ステップS9
次に、デバッガー2は、CPU動作再開を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU動作再開信号を入力する。
次に、デバッガー2は、CPU動作再開を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU動作再開信号を入力する。
(10)ステップS10
切替器30の切替スイッチ32は、CPU11とCPU21の両方に接続されているので、CPU11とCPU12の両方が同時に動作を再開する。ここでは、CPU11とCPU12は、上記のCPU停止の指示に応じて停止したステップの次のステップから、マイクロ命令の動作を再開する。
切替器30の切替スイッチ32は、CPU11とCPU21の両方に接続されているので、CPU11とCPU12の両方が同時に動作を再開する。ここでは、CPU11とCPU12は、上記のCPU停止の指示に応じて停止したステップの次のステップから、マイクロ命令の動作を再開する。
[本実施形態の利点]
本発明では、複数のCPUの同期状態を保ったまま、各CPU内部の状態の参照、及び各CPUの操作を行うことが可能になるため、フォールトトレラントコンピュータにおけるデバッグが容易になる。
本発明では、複数のCPUの同期状態を保ったまま、各CPU内部の状態の参照、及び各CPUの操作を行うことが可能になるため、フォールトトレラントコンピュータにおけるデバッグが容易になる。
また、フォールトトレラントコンピュータ内部に1台のデバッグ機器と一方の系統のCPU、もしくは両方のCPUに切り替える切替器を設けているため、デバック機器が1台で済む。
<第2実施形態>
以下に、本発明の第2実施形態について説明する。
以下に、本発明の第2実施形態について説明する。
[システム構成]
本実施形態におけるシステム構成については、第1実施形態と同じく、図1に示すとおりである。
本実施形態におけるシステム構成については、第1実施形態と同じく、図1に示すとおりである。
[同期ずれ発生時の状態取得]
次に、図3のフローチャートを参照して、CPUの同期ずれ発生時に状態を取得する際の手順について説明する。
次に、図3のフローチャートを参照して、CPUの同期ずれ発生時に状態を取得する際の手順について説明する。
ここでは、FTサーバシステム1は、電源が投入され、CPU間(CPU11とCPU21の間)で同期して動作しているものとする。
(1)ステップS11
デバッガー2は、同期ずれの要因となる条件をトリガー(契機)条件として設定する。
デバッガー2は、同期ずれの要因となる条件をトリガー(契機)条件として設定する。
(2)ステップS12
切替器30は、切替スイッチ32をCPU11に接続する。ここでは、切替器30は、切替スイッチ32をCPU21に接続しない。これにより、デバッガー2は、切替器30の切替スイッチ32を介して、CPU11のみに物理的/電気的に接続する。
切替器30は、切替スイッチ32をCPU11に接続する。ここでは、切替器30は、切替スイッチ32をCPU21に接続しない。これにより、デバッガー2は、切替器30の切替スイッチ32を介して、CPU11のみに物理的/電気的に接続する。
(3)ステップS13
また、切替器30は、切替スイッチ31をCPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU11の状態を取得する。
また、切替器30は、切替スイッチ31をCPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU11の状態を取得する。
(4)ステップS14
続いて、切替器30は、切替スイッチ31を切り替えて、CPU21に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU21に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU21の状態を取得する。
続いて、切替器30は、切替スイッチ31を切り替えて、CPU21に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU21に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU21の状態を取得する。
(5)ステップS15
デバッガー2は、取得したCPU11とCPU21の状態について、同期ずれの要因となるトリガー条件を満たしたか確認する。
デバッガー2は、取得したCPU11とCPU21の状態について、同期ずれの要因となるトリガー条件を満たしたか確認する。
(6)ステップS16
デバッガー2は、同期ずれの要因となるトリガー条件を満たした場合、CPU停止を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU停止信号を入力する。
デバッガー2は、同期ずれの要因となるトリガー条件を満たした場合、CPU停止を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU停止信号を入力する。
(7)ステップS17
切替器30の切替スイッチ32はCPU11に接続されているのでCPU11が停止するが、切替スイッチ32はCPU21に接続されていないのでCPU21は動作を継続する。CPU21は動作しているので、FTサーバシステム1自体は動作を継続している。
切替器30の切替スイッチ32はCPU11に接続されているのでCPU11が停止するが、切替スイッチ32はCPU21に接続されていないのでCPU21は動作を継続する。CPU21は動作しているので、FTサーバシステム1自体は動作を継続している。
(8)ステップS18
切替器30は、切替スイッチ31を切り替えて、CPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU11の状態を取得する。
切替器30は、切替スイッチ31を切り替えて、CPU11に接続する。これにより、デバッガー2は、切替器30の切替スイッチ31を介して、CPU11に物理的/電気的に接続する。デバッガー2は、切替スイッチ31を介して、CPU11の状態を取得する。
(9)ステップS19
デバッガー2は、CPU11をCPU21に同期させる。例えば、デバッガー2は、CPU11の状態をCPU21の状態に同期させるように、CPU動作再開を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU動作再開信号を入力する。切替器30の切替スイッチ32は、CPU11にのみ接続されているので、CPU11が動作を再開する。このとき、FTサーバシステム1自体(CPU21)は動作しているので、CPU11をCPU21に再同期させることができる。従って、FTサーバシステム1を止めることなく、トリガー条件を設定し、引き続きCPU状態監視を継続できる。
デバッガー2は、CPU11をCPU21に同期させる。例えば、デバッガー2は、CPU11の状態をCPU21の状態に同期させるように、CPU動作再開を指示する。すなわち、デバッガー2は、切替器30の切替スイッチ32にCPU動作再開信号を入力する。切替器30の切替スイッチ32は、CPU11にのみ接続されているので、CPU11が動作を再開する。このとき、FTサーバシステム1自体(CPU21)は動作しているので、CPU11をCPU21に再同期させることができる。従って、FTサーバシステム1を止めることなく、トリガー条件を設定し、引き続きCPU状態監視を継続できる。
<各実施形態の関係>
なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、同一のシステムにおいて、いずれかの実施形態を、デバッグ機能として選択できるようにすることが考えられる。
なお、上記の各実施形態は、組み合わせて実施することも可能である。例えば、同一のシステムにおいて、いずれかの実施形態を、デバッグ機能として選択できるようにすることが考えられる。
<ハードウェアの例示>
以下に、本発明に係るフォールトトレラント情報処理システムを実現するための具体的なハードウェアの例について説明する。
以下に、本発明に係るフォールトトレラント情報処理システムを実現するための具体的なハードウェアの例について説明する。
FTサーバシステム1(サーバシステム10及びサーバシステム20)やデバッガー2の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアントサーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。なお、実際には、計算機に限らず、中継機器や周辺機器、その他の電子機器でも良い。
また、FTサーバシステム1の例として、ラックマウントサーバ(rack mount server)が考えられる。この場合、サーバシステム10及びサーバシステム20の例として、ラックマウント型のハードウェア(PC、RAIDストレージ、ファイアウォール専用機等)が考えられる。
また、サーバシステム10及びサーバシステム20は、計算機等に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
なお、CPU11やCPU21は、プロセッサの一例に過ぎない。プロセッサの例として、CPUの他にも、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ(microcontroller)、或いは、専用の機能を有する半導体集積回路(LSI:Large Scale Integration)等が考えられる。また、CPU11やCPU21は、上記のようなプロセッサを有する電子回路等でも良い。
切替器30の例として、CPU(KVM)切替器等を想定している。また、サーバシステム10とサーバシステム20とが、物理的に離れた場所(遠隔地)にあり、ネットワークを介して接続されている場合、切替器30として、中継装置を使用することも考えられる。中継装置の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、物理マシン上に構築された仮想マシン(VM)により実現される仮想スイッチでも良い。
但し、実際には、これらの例に限定されない。
<本発明の特徴>
本発明に係るフォールトトレラント情報処理システムは、運用系と待機系のCPUの同期ずれが発生した時に、両系のCPUの同期状態を保ったままJTAGアクセスを可能とし、容易にデバッグを行うデバッグ機器を提供する。
本発明に係るフォールトトレラント情報処理システムは、運用系と待機系のCPUの同期ずれが発生した時に、両系のCPUの同期状態を保ったままJTAGアクセスを可能とし、容易にデバッグを行うデバッグ機器を提供する。
本発明に係るフォールトトレラント情報処理システムは、両系のCPUの同期を保ったままJTAGアクセス可能なデバッグ機器を設けるための切替器を提供する。
本発明に係るフォールトトレラント情報処理システムでは、CPU内部で動作するマイクロ命令を1ステップ(STEP)毎に実行しながら両系のCPUの内部状態を比較し、或いは、同期ずれ検出をトリガー条件としてCPUを停止してCPU内部情報を参照し、同期ずれの原因となった状態を特定するためのJTAGによるデバッグを行う。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
[付記1]
第1プロセッサと、
第2プロセッサと、
デバッガーと、
該第1プロセッサ及び該第2プロセッサのいずれか一方からの出力を該デバッガーに入力するための第1切替スイッチと、
該デバッガーからの出力を該第1プロセッサ及び該第2プロセッサの少なくとも一方に入力するための第2切替スイッチと
を具備し、
該第1プロセッサ及び該第2プロセッサは、同期して動作し、
該デバッガーは、該第1プロセッサと該第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、該第1プロセッサと該第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う
フォールトトレラント情報処理システム。
第1プロセッサと、
第2プロセッサと、
デバッガーと、
該第1プロセッサ及び該第2プロセッサのいずれか一方からの出力を該デバッガーに入力するための第1切替スイッチと、
該デバッガーからの出力を該第1プロセッサ及び該第2プロセッサの少なくとも一方に入力するための第2切替スイッチと
を具備し、
該第1プロセッサ及び該第2プロセッサは、同期して動作し、
該デバッガーは、該第1プロセッサと該第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、該第1プロセッサと該第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う
フォールトトレラント情報処理システム。
[付記2]
付記1に記載のフォールトトレラント情報処理システムであって、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該第2切替スイッチは、該第1プロセッサ及び該第2プロセッサの両方を該デバッガーに接続し、
該第1プロセッサ及び該第2プロセッサの各々は、内部で動作するマイクロ命令を1ステップ毎に実行し、
該デバッガーは、該第1プロセッサの内部状態監視を行い、該第1プロセッサの内部で動作するマイクロ命令が1ステップ完了した場合、該第2切替スイッチを介して、該第1プロセッサ及び該第2プロセッサの両方に、動作停止を指示し、該第1切替スイッチを介して該第1プロセッサの状態を取得し、
該第1プロセッサ及び該第2プロセッサは、動作停止の指示に応じて、動作を停止し、
該第1切替スイッチは、該第2プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第2プロセッサの状態を取得し、該第2切替スイッチを介して、該第1プロセッサ及び該第2プロセッサの両方に、動作再開を指示し、
該第1プロセッサ及び該第2プロセッサは、動作再開の指示に応じて、動作を再開する
フォールトトレラント情報処理システム。
付記1に記載のフォールトトレラント情報処理システムであって、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該第2切替スイッチは、該第1プロセッサ及び該第2プロセッサの両方を該デバッガーに接続し、
該第1プロセッサ及び該第2プロセッサの各々は、内部で動作するマイクロ命令を1ステップ毎に実行し、
該デバッガーは、該第1プロセッサの内部状態監視を行い、該第1プロセッサの内部で動作するマイクロ命令が1ステップ完了した場合、該第2切替スイッチを介して、該第1プロセッサ及び該第2プロセッサの両方に、動作停止を指示し、該第1切替スイッチを介して該第1プロセッサの状態を取得し、
該第1プロセッサ及び該第2プロセッサは、動作停止の指示に応じて、動作を停止し、
該第1切替スイッチは、該第2プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第2プロセッサの状態を取得し、該第2切替スイッチを介して、該第1プロセッサ及び該第2プロセッサの両方に、動作再開を指示し、
該第1プロセッサ及び該第2プロセッサは、動作再開の指示に応じて、動作を再開する
フォールトトレラント情報処理システム。
[付記3]
付記1又は2に記載のフォールトトレラント情報処理システムであって、
該デバッガーは、同期ずれの要因となる条件をトリガー条件として設定し、
該第2切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第1プロセッサの状態を取得し、
該第1切替スイッチは、該第2プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第2プロセッサの状態を取得し、該第1プロセッサの状態と該第2プロセッサの状態とを参照し、同期ずれの要因となるトリガー条件を満たしたか確認し、同期ずれの要因となるトリガー条件を満たした場合、該第2切替スイッチを介して、該第1プロセッサに停止を指示し、
該第1プロセッサは、動作停止の指示に応じて、動作を停止し、
該第2プロセッサは、動作を継続し、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該デバッガーは、該第1プロセッサと該第2プロセッサとを同期させ、該第2切替スイッチを介して、該第1プロセッサに動作再開を指示する
フォールトトレラント情報処理システム。
付記1又は2に記載のフォールトトレラント情報処理システムであって、
該デバッガーは、同期ずれの要因となる条件をトリガー条件として設定し、
該第2切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第1プロセッサの状態を取得し、
該第1切替スイッチは、該第2プロセッサを該デバッガーに接続し、
該デバッガーは、該第1切替スイッチを介して該第2プロセッサの状態を取得し、該第1プロセッサの状態と該第2プロセッサの状態とを参照し、同期ずれの要因となるトリガー条件を満たしたか確認し、同期ずれの要因となるトリガー条件を満たした場合、該第2切替スイッチを介して、該第1プロセッサに停止を指示し、
該第1プロセッサは、動作停止の指示に応じて、動作を停止し、
該第2プロセッサは、動作を継続し、
該第1切替スイッチは、該第1プロセッサを該デバッガーに接続し、
該デバッガーは、該第1プロセッサと該第2プロセッサとを同期させ、該第2切替スイッチを介して、該第1プロセッサに動作再開を指示する
フォールトトレラント情報処理システム。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
1… FTサーバシステム
2… デバッガー(デバッグ機器)
10、20… サーバシステム(サーバ装置)
11、21… CPU(プロセッサ)
30… 切替器
31、32… 切替スイッチ
100、101、102… パス
2… デバッガー(デバッグ機器)
10、20… サーバシステム(サーバ装置)
11、21… CPU(プロセッサ)
30… 切替器
31、32… 切替スイッチ
100、101、102… パス
Claims (9)
- 第1プロセッサと、
第2プロセッサと、
デバッガーと、
前記第1プロセッサ及び前記第2プロセッサのいずれか一方からの出力を前記デバッガーに入力するための第1切替スイッチと、
前記デバッガーからの出力を前記第1プロセッサ及び前記第2プロセッサの少なくとも一方に入力するための第2切替スイッチと
を具備し、
前記第1プロセッサ及び前記第2プロセッサは、同期して動作し、
前記デバッガーは、前記第1プロセッサと前記第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、前記第1プロセッサと前記第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行う
フォールトトレラント情報処理システム。 - 請求項1に記載のフォールトトレラント情報処理システムであって、
前記第1切替スイッチは、前記第1プロセッサを前記デバッガーに接続し、
前記第2切替スイッチは、前記第1プロセッサ及び前記第2プロセッサの両方を前記デバッガーに接続し、
前記第1プロセッサ及び前記第2プロセッサの各々は、内部で動作するマイクロ命令を1ステップ毎に実行し、
前記デバッガーは、前記第1プロセッサの内部状態監視を行い、前記第1プロセッサの内部で動作するマイクロ命令が1ステップ完了した場合、前記第2切替スイッチを介して、前記第1プロセッサ及び前記第2プロセッサの両方に、動作停止を指示し、前記第1切替スイッチを介して前記第1プロセッサの状態を取得し、
前記第1プロセッサ及び前記第2プロセッサは、動作停止の指示に応じて、動作を停止し、
前記第1切替スイッチは、前記第2プロセッサを前記デバッガーに接続し、
前記デバッガーは、前記第1切替スイッチを介して前記第2プロセッサの状態を取得し、前記第2切替スイッチを介して、前記第1プロセッサ及び前記第2プロセッサの両方に、動作再開を指示し、
前記第1プロセッサ及び前記第2プロセッサは、動作再開の指示に応じて、動作を再開する
フォールトトレラント情報処理システム。 - 請求項1又は2に記載のフォールトトレラント情報処理システムであって、
前記デバッガーは、同期ずれの要因となる条件をトリガー条件として設定し、
前記第2切替スイッチは、前記第1プロセッサを前記デバッガーに接続し、
前記第1切替スイッチは、前記第1プロセッサを前記デバッガーに接続し、
前記デバッガーは、前記第1切替スイッチを介して前記第1プロセッサの状態を取得し、
前記第1切替スイッチは、前記第2プロセッサを前記デバッガーに接続し、
前記デバッガーは、前記第1切替スイッチを介して前記第2プロセッサの状態を取得し、前記第1プロセッサの状態と前記第2プロセッサの状態とを参照し、同期ずれの要因となるトリガー条件を満たしたか確認し、同期ずれの要因となるトリガー条件を満たした場合、前記第2切替スイッチを介して、前記第1プロセッサに停止を指示し、
前記第1プロセッサは、動作停止の指示に応じて、動作を停止し、
前記第2プロセッサは、動作を継続し、
前記第1切替スイッチは、前記第1プロセッサを前記デバッガーに接続し、
前記デバッガーは、前記第1プロセッサと前記第2プロセッサとを同期させ、前記第2切替スイッチを介して、前記第1プロセッサに動作再開を指示する
フォールトトレラント情報処理システム。 - 請求項1乃至3のいずれか一項に記載のフォールトトレラント情報処理システムにおけるデバッガーとして使用されるデバッグ機器。
- 請求項1乃至3のいずれか一項に記載のフォールトトレラント情報処理システムにおける第1切替スイッチ及び第2切替スイッチを具備する切替器。
- フォールトトレラント情報処理システムにおけるデバッグ方法であって、
第1切替スイッチが、第1プロセッサ及び第2プロセッサのいずれか一方からの出力をデバッガーに入力することと、
第2切替スイッチが、前記デバッガーからの出力を前記第1プロセッサ及び前記第2プロセッサの少なくとも一方に入力することと、
前記第1プロセッサ及び前記第2プロセッサが、同期して動作することと、
前記デバッガーが、前記第1プロセッサと前記第2プロセッサとの同期状態を保ったままJTAGアクセスを行い、前記第1プロセッサと前記第2プロセッサとの同期ずれが発生した時に、JTAGによるデバッグを行うことと
を含む
デバッグ方法。 - 請求項6に記載のデバッグ方法であって、
前記第1切替スイッチが、前記第1プロセッサを前記デバッガーに接続することと、
前記第2切替スイッチが、前記第1プロセッサ及び前記第2プロセッサの両方を前記デバッガーに接続することと、
前記第1プロセッサ及び前記第2プロセッサの各々が、内部で動作するマイクロ命令を1ステップ毎に実行することと、
前記デバッガーが、前記第1プロセッサの内部状態監視を行い、前記第1プロセッサの内部で動作するマイクロ命令が1ステップ完了した場合、前記第2切替スイッチを介して、前記第1プロセッサ及び前記第2プロセッサの両方に、動作停止を指示し、前記第1切替スイッチを介して前記第1プロセッサの状態を取得することと、
前記第1プロセッサ及び前記第2プロセッサが、動作停止の指示に応じて、動作を停止することと、
前記第1切替スイッチが、前記第2プロセッサを前記デバッガーに接続することと、
前記デバッガーが、前記第1切替スイッチを介して前記第2プロセッサの状態を取得し、前記第2切替スイッチを介して、前記第1プロセッサ及び前記第2プロセッサの両方に、動作再開を指示することと、
前記第1プロセッサ及び前記第2プロセッサが、動作再開の指示に応じて、動作を再開することと
を更に含む
デバッグ方法。 - 請求項6又は7に記載のデバッグ方法であって、
前記デバッガーが、同期ずれの要因となる条件をトリガー条件として設定することと、
前記第1切替スイッチが、前記第1プロセッサを前記デバッガーに接続することと、
前記第2切替スイッチが、前記第1プロセッサを前記デバッガーに接続することと、
前記デバッガーが、前記第1切替スイッチを介して前記第1プロセッサの状態を取得することと、
前記第1切替スイッチが、前記第2プロセッサを前記デバッガーに接続することと、
前記デバッガーが、前記第1切替スイッチを介して前記第2プロセッサの状態を取得し、前記第1プロセッサの状態と前記第2プロセッサの状態とを参照し、同期ずれの要因となるトリガー条件を満たしたか確認し、同期ずれの要因となるトリガー条件を満たした場合、前記第2切替スイッチを介して、前記第1プロセッサに停止を指示することと、
前記第1プロセッサが、動作停止の指示に応じて、動作を停止することと、
前記第2プロセッサが、動作を継続することと、
前記第1切替スイッチが、前記第1プロセッサを前記デバッガーに接続することと、
前記デバッガーが、前記第1プロセッサと前記第2プロセッサとを同期させ、前記第2切替スイッチを介して、前記第1プロセッサに動作再開を指示することと
を更に含む
デバッグ方法。 - 請求項6乃至8のいずれか一項に記載のデバッグ方法におけるデバッガーとしての動作を、計算機に実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012006147A JP5477725B2 (ja) | 2012-01-16 | 2012-01-16 | フォールトトレラント情報処理システム、及びデバッグ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012006147A JP5477725B2 (ja) | 2012-01-16 | 2012-01-16 | フォールトトレラント情報処理システム、及びデバッグ方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013145496A true JP2013145496A (ja) | 2013-07-25 |
JP5477725B2 JP5477725B2 (ja) | 2014-04-23 |
Family
ID=49041250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012006147A Expired - Fee Related JP5477725B2 (ja) | 2012-01-16 | 2012-01-16 | フォールトトレラント情報処理システム、及びデバッグ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5477725B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105242665A (zh) * | 2015-11-17 | 2016-01-13 | 绵阳市维博电子有限责任公司 | 一种jtag接口信号处理电路及系统 |
CN105842615A (zh) * | 2015-01-14 | 2016-08-10 | 扬智科技股份有限公司 | 可于异常状态下进行调试的系统芯片及其调试方法 |
-
2012
- 2012-01-16 JP JP2012006147A patent/JP5477725B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105842615A (zh) * | 2015-01-14 | 2016-08-10 | 扬智科技股份有限公司 | 可于异常状态下进行调试的系统芯片及其调试方法 |
CN105242665A (zh) * | 2015-11-17 | 2016-01-13 | 绵阳市维博电子有限责任公司 | 一种jtag接口信号处理电路及系统 |
CN105242665B (zh) * | 2015-11-17 | 2018-12-04 | 绵阳市维博电子有限责任公司 | 一种jtag接口信号处理电路及系统 |
Also Published As
Publication number | Publication date |
---|---|
JP5477725B2 (ja) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101570175B1 (ko) | Pcie 스위치 기반의 서버 시스템, 스위칭 방법 및 장치 | |
KR100566338B1 (ko) | 폴트 톨러런트 컴퓨터 시스템, 그의 재동기화 방법 및 재동기화 프로그램이 기록된 컴퓨터 판독가능 기억매체 | |
US9582448B2 (en) | Transmission apparatus and control unit | |
US20220229714A1 (en) | Serializing machine check exceptions for predictive failure analysis | |
CN101207408B (zh) | 一种用于主备倒换的综合故障检测装置和方法 | |
US8667315B2 (en) | Synchronization control apparatus, information processing apparatus, and synchronization management method for managing synchronization between a first processor and a second processor | |
KR20040007322A (ko) | 폴트 톨러런트 컴퓨터 시스템, 그 재동기화 방법, 및 그 재동기화 프로그램을 갖는 컴퓨터 판독가능 저장매체 | |
CN102724083A (zh) | 基于软件同步的可降级三模冗余计算机系统 | |
CN103425553B (zh) | 一种双机热备份系统及该系统的故障检测方法 | |
US20040216003A1 (en) | Mechanism for FRU fault isolation in distributed nodal environment | |
JP3595033B2 (ja) | 高信頼化コンピュータシステム | |
JP2008097164A (ja) | 複数の機能要素から構成されるシステムの故障監視方法 | |
US7568138B2 (en) | Method to prevent firmware defects from disturbing logic clocks to improve system reliability | |
JP2012128697A (ja) | 情報処理装置 | |
JP5477725B2 (ja) | フォールトトレラント情報処理システム、及びデバッグ方法 | |
CN116319618A (zh) | 交换机运行控制方法、装置、系统、设备及存储介质 | |
CN115617550A (zh) | 处理设备、控制单元、电子设备、方法和计算机程序 | |
WO2015135100A1 (zh) | 一种实现处理器切换的方法、计算机和切换装置 | |
Heidari et al. | Integrating open saf high availability solution with open stack | |
CN110879549A (zh) | 一种基于交叉互比方法的余度测量架构及余度管理方法 | |
KR20140140719A (ko) | 가상 머신 동기화 장치 및 시스템과 이를 이용한 장애 처리 방법 | |
CN115202976A (zh) | 一种服务器板载io链路监控装置及方法 | |
Gohil et al. | Redundancy management and synchronization in avionics communication products | |
JP5464886B2 (ja) | 計算機システム | |
JP2004348335A (ja) | 障害検出方法及び情報処理システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130509 |
|
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: 20140117 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5477725 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |