[go: up one dir, main page]

JP2014182720A - 情報処理システム、情報処理装置及び障害処理方法 - Google Patents

情報処理システム、情報処理装置及び障害処理方法 Download PDF

Info

Publication number
JP2014182720A
JP2014182720A JP2013058014A JP2013058014A JP2014182720A JP 2014182720 A JP2014182720 A JP 2014182720A JP 2013058014 A JP2013058014 A JP 2013058014A JP 2013058014 A JP2013058014 A JP 2013058014A JP 2014182720 A JP2014182720 A JP 2014182720A
Authority
JP
Japan
Prior art keywords
information
unit
abnormal
information processing
log
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.)
Pending
Application number
JP2013058014A
Other languages
English (en)
Inventor
Jinsuke Nakai
甚輔 中井
Naoki Matsumoto
直樹 松本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013058014A priority Critical patent/JP2014182720A/ja
Priority to US14/148,767 priority patent/US20140289398A1/en
Priority to EP14151731.8A priority patent/EP2782012A1/en
Publication of JP2014182720A publication Critical patent/JP2014182720A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】情報処理装置において障害が発生してから他の情報処理装置が対処するまでの時間を短縮する。
【解決手段】前記情報処理装置20のそれぞれが、異常発生を検知する異常検知部23と、前記異常発生が検知された情報処理装置20におけるログ情報を収集するログ情報収集部221と、前記ログ情報収集部221による前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置20を示す異常装置情報を作成する異常装置情報作成部223と、前記ログ情報収集部221による前記ログ情報の収集に優先して、前記異常装置情報作成部223が作成した前記異常装置情報を前記複数の情報処理装置20のそれぞれに対して通知する異常装置情報通知部210aと、を備える。
【選択図】図1

Description

本発明は、情報処理システム、情報処理装置及び障害処理方法に関する。
基幹システムで運用されるサーバシステムでは高い可用性や柔軟なリソース(ハードウェア資源)の運用が要求される。このような高い可用性や柔軟なリソース運用を実現するための手法として、マルチノード(マルチドメイン,マルチパーティション)と呼ばれる機能が用いられている。
マルチノードシステムにおいては、システムのハードウェア資源を複数のノード(ドメイン,パーティション)に分け、それぞれのノード上でOS(Operating System)を動作させる。又、マルチノードシステムにおいては、ノード間を密に連携し、複数のノードで一つのシステムを構成することもできる。
このような複数のノードを備えるマルチノードシステムにおいては、複数のノードのうち1つのノードをマスタノードとして、他のスレーブノードから情報収集を行なうことにより、システム内の監視や制御を統括する。システム内の監視や制御は、マスタノードとスレーブノードのボード内で動作するファーウェアにより行なわれている。
このようなマルチノードシステムにおいて、例えば、あるノードにおいて停電故障や経路故障等、何らかの障害が検知された場合には、そのノードだけをシステムダウン(部分縮退)させ、他のノードについては動作を続行させる。
従来のマルチノードシステムにおいては、いずれかのノードにおいて障害発生を検知すると、先ず、このノードにおいてログの収集を行なう。例えば、ファームウェアが、ハードウェアチップ内の故障情報を収集し、この収集したログをマスタノードに送信する。
マスタノードにおいては、収集したログの解析を行ない、各スレーブノードに対して、どのノードで異常が発生しノードダウンが生じているかを示す異常ノード情報を通知する。ノード間で連携するシステムにおいては、いずれのノードにおいてノードダウンが生じているかを把握する必要があるからである。
異常ノード情報を受信した各スレーブノードは、通知された異常ノード情報に基づき、当該スレーブノード上で動作する、ハイパーバイザやOS,各種アプリケーション等の上位アプリケーションに通知を行なう。
上位アプリケーションにおいては、受け取った異常ノード情報に基づき、異常ノードの切り離し等のシステム構成の再構築を行なう。
国際公開WO2008/099453号パンフレット 特開平10−333932号公報
しかしながら、ログ収集やログ解析には、それぞれ数十秒〜数分の時間を要する。従って、従来のマルチノードシステムにおいては、いずれかのノードにおいて何らかの障害が発生した場合に、各スレーブノードへ異常ノード情報が通知され上位アプリケーションがシステム構成の再構築を行なうまでに時間がかかるという課題がある。異常が検知されてから各ノードの上位アプリケーションへの通知は、できるだけ短時間で行なわれることが望ましい。
1つの側面では、本発明は、情報処理装置において異常が発生してから他の情報処理装置が対処するまでの時間を短縮することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
このため、この情報処理システムは、複数の情報処理装置を備えた情報処理システムであって、前記情報処理装置のそれぞれが、異常発生を検知する異常検知部と、前記異常発生が検知された情報処理装置におけるログ情報を収集するログ情報収集部と、前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置を示す異常装置情報を作成する異常装置情報作成部と、前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常装置情報作成部が作成した前記異常装置情報を前記複数の情報処理装置のそれぞれに対して通知する異常装置情報通知部と、を備える。
開示の情報処理システムによれば、情報処理装置において異常が発生してから他の情報処理装置が対処するまでの時間を短縮することができる。
実施形態の一例としてのマルチノードシステムの機能構成を模式的に示す図である。 実施形態の一例としてのマルチノードシステムのハードウェア構成を模式的に示す図である。 実施形態の一例としてのマルチノードシステムのスレーブファームウェアの機能構成を模式的に示す図である。 実施形態の一例としてのマルチノードシステムのFPGAの機能構成を模式的に示す図である。 実施形態の一例としてのマルチノードシステムにおけるCNTLレジスタの構成を示す図である。 実施形態の一例としてのマルチノードシステムにおけるSTATUSレジスタの構成を示す図である。 実施形態の一例としてのマルチノードシステムにおけるINTレジスタの構成を示す図である。 実施形態の一例としてのマルチノードシステムにおけるMASKレジスタの構成を示す図である。 実施形態の一例としてのマルチノードシステムにおける障害処理を示すシーケンス図である。 実施形態の一例としてのマルチノードシステムにおける障害処理を説明するための図である。 実施形態の一例としてのマルチノードシステムの実装時における障害処理を説明するための図である。 実施形態の一例としてのマルチノードシステムの実装時における障害処理を説明するための図である。 実施形態の一例としてのマルチノードシステムの実装時における障害処理を説明するための図である。 実施形態の一例としてのマルチノードシステムのスレーブファームウェアにおける障害処理を示すフローチャートである。 実施形態の一例としてのマルチノードシステムのスレーブファームウェアにおける障害処理を示すフローチャートである。 実施形態の一例としてのマルチノードシステムのスレーブファームウェアにおける障害処理を示すフローチャートである。 実施形態の一例としてのマルチノードシステムのスレーブファームウェアにおける障害処理を示すフローチャートである。 (a),(b)は従来例としてのマルチノードシステムにおける障害処理と実施形態の一例としてのマルチノードシステムにおける障害処理とを比較するシーケンス図である。 (a)は従来例としてのマルチノードシステムにおける障害処理に要する時間を説明する図であり、(b)は実施形態の一例としてのマルチノードシステムにおける障害処理に要する時間を説明する図である。
〔A〕一実施形態
以下、図面を参照して情報処理システム、情報処理装置及び障害処理方法に係る一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形(実施形態及び各変形例を組み合わせる等)して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
〔A−1〕システム構成
図1は実施形態の一例としてのマルチノードシステムの機能構成を模式的に示す図、図2は実施形態の一例としてのマルチノードシステムのハードウェア構成を模式的に示す図である。
本実施形態の一例におけるマルチノードシステム(情報処理システム)1は、図2に示すように、Cross-Bar Box(XBB;通信制御装置、通信制御部)10及び1以上のBuilding Block(BB;情報処理装置)20−0〜20−n(nは0以上の整数)を備える。
BBはハードウェア構成単位の一つであり、ノード(コンピュータノード)を構成する。
以下、BBを示す符号としては、複数のBBのうち1つを特定する必要があるときには符号20−0〜20−nを用いるが、任意のBBを指すときには符号20を用いる。
本マルチノードシステム1においては、ノード間を密に連携させ、複数のBB20で一つのシステムを構成する。また、本マルチノードシステム1において、XBB10はマスタ(master)ノードとして機能し、BB20はスレーブ(slave)ノードとして機能する。具体的には、各BB20が種々のソフトウェアを実行することにより各種処理を実施し、XBB10が各BB20を連携させて一つのシステムを構築する。
各BB20は、互いに同様の機能構成を備えている。また、各BB20には、例えば図2に示すように、#0〜#nの番号がそれぞれ付されている。
以下、BB20−0をBB#0と、BB20−1をBB#1と、BB20−nをBB#nという場合がある。
BB20は、Field Programmable Gate Array(FPGA;通信部)21、Service Processor(SP)220、Cpu Memory Unit(CMU)230及びソフトウェア(上位アプリケーション)24を備える。
ソフトウェア24は、アプリ(App)241及びHypervisor/Operating System(HV/OS)242を備える。
HVはコンピュータの仮想化技術のひとつである仮想機械(バーチャルマシン)を実現するための制御プログラムであり、複数のBB20をまたいでOS(仮想OS)を管理する。そして、アプリ241は、HV/OS242上で実行される。
CMU230は、CPU(Central Processing Unit)231を備える。
CPU231は、種々の制御や演算を行なう処理装置であり、図示しないメモリに格納されたOSやプログラム(ソフトウェア24)を実行することにより、種々の機能を実現する。
なお、ソフトウェア(上位アプリケーション,プログラム)24は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しないドライブ装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
ソフトウェア(上位アプリケーション)24は、コンピュータのマイクロプロセッサ(本実施形態ではCPU231)によって実行される。このとき、記録媒体に記録されたソフトウェア24をコンピュータが読み取って実行してもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとOSとを含む概念であり、OSの制御の下で動作するハードウェアを意味している。又、OSが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、XBB10及びBB20がコンピュータとしての機能を有しているのである。
SP220は、BB20の管理を行なう処理装置であり、例えば、BB20内における異常監視を行ない、異常発生時に外部への通知やリカバリ処理等を行なう。SP220は、例えば図2に示すように、各BB20に付されている#0〜#nに対応する番号が付されている。例えば、BB#0は、#0のSP220を備える。
SP220は、スレーブファームウェア(FW)22を備える。このSP220は、図示しないプロセッサやメモリを備え、このプロセッサがプログラム(ファームウェア22)を実行することにより、種々の機能が実現される。
なお、このスレーブファームウェア22は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しないドライブ装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
スレーブファームウェア22としての機能を実現する際には、図示しない内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では図示しないプロセッサ)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
図3は、実施形態の一例としてのマルチノードシステムのスレーブファームウェアの機能構成を模式的に示す図である。
スレーブファームウェア22は、図3に示すように、異常箇所情報収集部221a、ログ収集部221b、ログ情報送信部222、異常ノード情報作成部(異常装置情報作成部)223、FPGA制御部224、FPGA割り込み監視部225a、異常ノード読込処理部225b、通知部225c、異常監視部226及び異常箇所情報解析部227を備える。
異常監視部226は、図4を用いて後述する異常検知部23による異常発生の割り込みを検出する。なお、異常発生したBB20がダウンしている場合には、上述した異常検知部23による異常発生の検知をこの異常監視部226が行なうことがある。また、異常監視部226は、他のBB20において発生した異常を検知しても良い。
異常箇所情報収集部221aは、異常監視部226による割り込みの検出により、異常が発生したBB20における異常箇所情報を収集する。具体的には、異常箇所情報収集部221aは、図15を用いて後述する異常箇所レジスタ251及び異常レベルレジスタ252の各レジスタ値を読み込むことにより、異常箇所情報を収集する。
異常箇所情報解析部227は、異常箇所情報収集部221aが収集した異常箇所情報を解析する。具体的には、異常箇所情報解析部227は、図15を用いて後述する異常箇所レジスタ251及び異常レベルレジスタ252の各レジスタ値に基づき、異常が発生しているBB20内の部品が重要部品であるかや、その異常のレベルが予め定めた基準以上であるかを解析する。
異常ノード情報作成部223は、異常箇所情報解析部227が解析した異常箇所情報に基づき、異常ノード情報(異常装置情報)を作成する。
ここで、異常ノード情報とは、図15を用いて後述するように、マルチノードシステム1が備える各BB20とこれらの異常状態とを対応づけた情報であり、どのBB20において異常が発生しているかを示す。
すなわち、異常箇所情報収集部221a及び異常箇所情報解析部227は、異常ノード情報作成部223が異常ノード情報を作成するために必要なログ情報である異常箇所情報のみをそれぞれ収集及び解析する。
FPGA制御部224は、異常ノード情報作成部223が作成した異常ノード情報をFPGA21に書き込む。具体的には、FPGA制御部224は、FPGA21が備える送信制御レジスタ211(後述する図4参照)にレジスタ値として異常ノード情報を書き込む。
ログ収集部221bは、異常が発生したBB20における異常に関するログ情報を収集する。ログ収集部221bは、ハードウェアの異常情報に関する詳細情報(例えば、CPU231内の何番目のコアの何番目のスレッドでどのような故障が発生したか)を収集する。
ログ情報送信部222は、ログ情報収集部221bが収集したログ情報をXBB10へ送信する。
FPGA割り込み監視部225aは、FPGA21からの異常ノード情報の割り込みを検出し、この異常ノード情報を異常ノード読込処理部225bへ通知する。
異常ノード読込処理部225bは、FPGA割り込み監視部225aによる割り込みの検出により、異常ノード情報を読み込む。具体的には、異常ノード読込処理部225bは、FPGA21が備える受信制御レジスタ213(後述する図4参照)のレジスタ値を読み出す。
通知部225cは、異常ノード情報読込処理部225bが読み込んだ異常ノード情報をアプリ241やHV/OS242等の上位アプリケーション24へ通知する。
図4は、実施形態の一例としてのマルチノードシステムのFPGAの機能構成を模式的に示す図である。
FPGA21は、任意に構成を設定できる集積回路であり、リアルタイム処理を行なうプロセッサである。このFPGA21は、図2に示すように、CMU230とSP220とに渡って備えられている。例えば、FPGA21は複数のFPGAを備え、一部がCMU230に備えられ、一部がSP220に備えられる。FPGA21は、図4に示すように、異常検知部23、異常ノード情報送受信機能部210及びBB間データ送受信回路215を備える。
異常検知部23は、FPGA21のひとつの機能として実装される。FPGA21と、監視対象であるハードウェア(CPU231やメモリなどのLSI(Large Scale Integration)、電源ユニット、温度センサーなど)とは、ケーブルで接続されている。また、異常検知部23はファーウェアに対して異常箇所レジスタ251及び異常レベルレジスタ252の各レジスタ値を公開しており、ファームウェアはそれらレジスタからの割り込みを監視している。監視対象ハードウェアで異常が発生した場合、異常検知部23は、自ノード又は他ノードにおいて発生した異常を検知することにより、図15を用いて後述するように異常箇所レジスタ251及び異常レベルレジスタ252の各レジスタ値を更新し、スレーブファームウェア22に割り込みを入れる。この異常検知部23は、自己診断機能を用いる等、既知の種々の手法で異常を検知する。異常には、CPU231や図示しないメモリのエラーの他、停電故障や経路故障等も含まれる。
BB間データ送受信回路215は、他のBB20が備えるFPGA21及びXBB10が備える後述するFPGA11と通信可能に接続するための回路である。このBB間データ送受信回路215は、FPGA11とFPGA21との間でデータの送受信を行なう。
異常ノード情報送受信機能部210は、自ノードとマスタノードとの間における異常ノード情報の送受信を仲介する。具体的には、異常ノード情報送受信機能部210は、FPGA制御部224によって送信制御レジスタ211に書き込まれた異常ノード情報をXBB10の後述するFPGA11に送信し、又、このFPGA11から受信した異常ノード情報についてFPGA割り込み監視部225aに割り込みを入れる。
異常ノード情報送受信機能部210は、図4に示すように、送信制御(CNTL)レジスタ211、状態管理(STATUS)レジスタ212、受信制御(INT)レジスタ213及び受信マスク制御(MASK)レジスタ214を備える。
図5は実施形態の一例としてのマルチノードシステムにおけるCNTLレジスタの構成を示す図、図6はそのSTATUSレジスタの構成を示す図、図7はそのINTレジスタの構成を示す図、図8はそのMASKレジスタの構成を示す図である。
以下、図5〜図8を参照しながら説明をする際には、n=15すなわちマルチノードシステム1が16個のBB#0〜BB#15を備える例について説明する。
CNTLレジスタ211は、BB20の異常検知時にFPGA制御部224が書き込むレジスタである。このCNTLレジスタ211は、図5に示すようなBB20の数に応じたビット数(本例では16ビット)を格納可能であり、各ビット(Bit)0〜15がBB#0〜#15にそれぞれ対応する。
図5の項Nameは、マルチノードシステム1が備える各BB20の名前を示している。すなわち、本例におけるマルチノードシステム1は、BB#0〜BB#15を備えており、これらがそれぞれBB0〜BB15で表されている。
そして、CNTLレジスタ211においては、図5の項0/1に示すように、各BB20(Bit)に対して“0”もしくは“1”が設定される。CNTLレジスタ211には、レジスタ値の初期値として例えば“0”が全ビットに設定されている。FPGA制御部224は、異常が発生したノードに対応させて障害が発生したことを示す値“1”をライトする。例えば、BB#3に異常が発生した場合には、BB#3のFPGA制御部224は、Bit 3に“1”をライトする。なお、BB20の電源異常などにより他ノードへの異常ノード通知ができない場合には、他ノードのFPGA制御部224が当該異常の発生したノードに対応するビットに“1”をライトする。例えば、BB#2のFPGA制御部224が、BB#3に電源異常が発生した場合には、Bit 3に“1”をライトする。
STATUSレジスタ212は、CNTLレジスタ211に書き込まれた値がFPGA21によって書き込まれるレジスタである。このSTATUSレジスタ212は、図6に示すようなBB20の数に応じたビット数(本例では16ビット)を格納可能であり、各ビット(Bit)0〜15がBB#0〜#15にそれぞれ対応する。
図6のNameは、マルチノードシステム1が備える各BB20の名前を示している。すなわち、本例におけるマルチノードシステム1が備えるBB#0〜BB#15がそれぞれBB0_STATUS〜BB15_STATUSで表されている。
そして、STATUSレジスタ212においては、図6の項0/1に示すように、各BB20(Bit)に対して“0”もしくは“1”が設定される。STATUSレジスタ212には、レジスタ値の初期値として例えば“0”が全ビットに設定されている。例えば、FPGA制御部224がCNTLレジスタ211のBit 3に“1”をライトした場合には、FPGA21は、STATUSレジスタ212のBit 3に“1”をセットする。
マスタノードを含む他ノードとの間で送受信される異常ノード情報には、このSTATUSレジスタ212のレジスタ値が含まれる。すなわち、STATUSレジスタ212のレジスタ値が異常ノード情報として用いられる。そして、受信側ノードは、自ノードのSTATUSレジスタ212のレジスタ値の対応するビットを更新する。具体的には、送信側のSTATUSレジスタ212において“1”がセットされているビットについて、自ノードのSTATUSレジスタ212のレジスタ値を更新して“1”をライトする。
INTレジスタ213は、STATUSレジスタ212において更新のあったビット(BB20)を示すレジスタである。このINTレジスタ213は、図7に示すようなBB20の数に応じたビット数(本例では16ビット)を格納可能であり、各ビット(Bit)0〜15がBB#0〜#15にそれぞれ対応する。
図7の項Nameは、マルチノードシステム1が備える各BB20の名前を示している。すなわち、本例におけるマルチノードシステム1が備えるBB#0〜BB#15がそれぞれBB0_INT〜BB15_INTで表されている。
そして、INTレジスタ213においては、図7の項0/1に示すように、各BB20(Bit)に対して“0”もしくは“1”が設定される。INTレジスタ213には、レジスタ値の初期値として例えば“0”が全ビットに設定されている。上述したようにXBB10又はBB20が異常ノード情報を受信して自ノードのSTATUSレジスタ212を更新した場合には、このSTATUSレジスタ212において更新されたビットに対応する本INTレジスタ213のビットが更新される。
そして、このINTレジスタ213のいずれかのビットにおいて“1”がセットされた場合には、異常ノード情報送受信機能部210は、FPGA割り込み監視部225aに対して異常ノード情報の割り込みを入れる。
MASKレジスタ214は、異常の検知を無効化するために用いるレジスタである。異常の検知を行なわないノードがある場合には、例えばオペレータがこのMASKレジスタ214において当該ノードに対応させて“0”を設定する。このMASKレジスタ214は、図8に示すようなBB20の数に応じたビット数(本例では16ビット)を格納可能であり、各ビット(Bit)0〜15がBB#0〜#15にそれぞれ対応する。
図8の項Nameは、マルチノードシステム1が備える各BB20の名前を示している。すなわち、本例におけるマルチノードシステム1が備えるBB#0〜BB#15がそれぞれBB0_INT_MASK〜BB15_INT_MASKで表されている。
そして、MASKレジスタ214においては、図8の項0/1に示すように、各BB20(Bit)に対して“0”もしくは“1”が設定される。MASKレジスタ214には、レジスタ値の初期値として例えば“0”が全ビットに設定されている。INTレジスタ213においてレジスタ値が“1”に更新されたビットに対応する本MASKレジスタ214のビットが“0”の場合には、異常ノード情報送受信機能部210は、上述したようにFPGA割り込み監視部225aに対して異常ノード情報の割り込みを入れる。一方、INTレジスタ213においてレジスタ値が“1”に更新されたビットに対応する本MASKレジスタ214のビットが“1”の場合には、異常ノード情報送受信機能部210は、FPGA割り込み監視部225aに対して異常ノード情報の割り込みを入れずにマスクする。
なお、このMASKレジスタ214の対応するビットの値が“1”であっても、INTレジスタ213には“1”がセットされる。また、MASKレジスタ214の各ビットの値は、例えば、オペレータが任意に更新できる。
XBB10は、図2に示すように、FPGA11,Cross-bar Service Processor(XSP)120及びCross-Bar Unit(XBU)130を備える。
XBU130は、各BB20が備えるCMU230を互いに通信可能に接続させる専用のハードウェアである。
XSP120は、XBB10及び各BB20の管理を行なう処理装置であり、例えば、各BB20内における異常監視を行ない、異常発生時に外部への通知やリカバリ処理等を行なう。このXSP120は、マスタファームウェア(FW)12を備える。XSP120は、図示しないプロセッサやメモリを備え、このプロセッサがプログラムを実行することにより、マスタファームウェア12としての機能が実現される。
なお、このマスタファームウェア12としての機能を実現するためのプログラムは、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体から図示しないドライブ装置を介してプログラムを読み取って内部記録装置または外部記録装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供してもよい。
マスタファームウェア12としての機能を実現する際には、図示しない内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサ(本実施形態では図示しないプロセッサ)によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行してもよい。
マスタファームウェア12は、図1に示すように後述するログ情報解析部121を備える。
ログ情報解析部121は、BB20のログ情報送信部222が送信したログ情報を受信し、解析する。
FPGA11は、異常検知部23以外のBB20が備えるFPGA21と同様の機能構成を備える。すなわち、FPGA11は、図4に示した異常検知部23を除く、異常ノード情報送受信機能部110及びBB間データ送受信回路215を備える。
XBB10においては、異常ノード情報送受信機能部110は、BB20から受信した異常ノード情報を各BB20へ転送(ブロードキャスト)する。この異常ノード情報送受信機能部110は、図4に示すように異常ノード情報送受信機能部210と同様の構成を備える。
本マルチノードシステム1では、図2中の破線に示すように、XBB10及び各BB20がそれぞれ備えるFPGA21は、例えばBB間専用バスで互いに通信可能に接続されている。XBB10が備えるマスタファームウェア12及び各BB20が備えるスレーブファームウェア22は、例えばバス線で互いに通信可能に接続されている。XBB10が備えるFPGA11及びマスタファームウェア12は、例えばバス線で通信可能に接続されている。BB20が備えるFPGA21及びスレーブファームウェア22は、例えばバス線で通信可能に接続されている。BB20が備えるFPGA21及びCPU231は、例えばバス線で通信可能に接続されている。
図2〜図4を用いて上述した本マルチノードシステム1は、図1に示すようにその機能構成を模式的に示すことができる。
以下、図中において、既述の符号と同一の各符号は、既述の各符号と同様の部分を示しているので、その説明は省略する場合がある。
なお、図1において、XBB10のFPGA11中の異常ノード情報転送部(異常装置情報転送部)110は、図4に示した異常ノード情報送受信機能部110に相当する。BB20のFPGA21中の異常ノード情報通知部(異常装置情報通知部)210a及び異常ノード情報受信部210bは、図4に示した異常ノード情報送受信機能部210に相当する。BB20のファームウェア22中のログ情報収集部221は図3に示した異常箇所情報収集部221a及びログ収集部221bに相当し、異常ノード情報通知制御部224はFPGA制御部224に相当する。上位通知処理部225は、図3に示したFPGA割り込み監視部225a、異常ノード読込処理部225b及び通知部225cに相当する。〔A−2〕動作
上述の如く構成された実施形態の一例としてのマルチノードシステム1における障害処理を、図10を参照しながら、図9に示すシーケンス図(符号A10〜A150)に従って説明する。
以下、図9及び図10を参照しながら説明をする際には、n=2すなわちマルチノードシステム1が3つのBB#0〜BB#2を備える例について説明する。
なお、図9において、HV242a及びOS242bは図2に示したHV/OS242に相当し、BB#2が備える一部の機能構成の図示は簡単のため省略してある。
BB#0において何らかの異常が発生し、BB#0がダウン(ノードダウン)すると、BB#0の異常検知部23は、自ノードにおいて発生した異常を検知し、スレーブファームウェア22に割り込みを入れる(符号A10参照)。
異常監視部226は、異常検知部23による異常発生の割り込みを検出する(符号A20参照)。
異常箇所情報収集部221aは、異常監視部226が割り込みを検出すると、異常が発生したBB20における異常箇所情報を収集する。異常箇所情報解析部227は、異常箇所情報収集部221aが収集した異常箇所情報を解析する。異常ノード情報作成部223は、異常箇所情報解析部227が解析した異常箇所情報に基づき、異常ノード情報を作成する(符号A30参照)。
FPGA制御部224は、異常ノード情報作成部223が作成した異常ノード情報をFPGA21に書き込む(FPGAキックする)(符号A40参照)。
異常ノード情報通知部210aは、FPGA制御部224によって書き込まれた異常ノード情報をXBB10へ送信する(符号A50参照)。
XBB10の異常ノード情報転送部110は、BB20から受信した異常ノード情報を各BB20へ一斉に転送(ブロードキャスト)する(符号A60参照)。
全てのBB20の異常ノード情報受信部210bは、異常ノード情報をXBB10から受信する(符号A70参照)。
以下、BB#1とBB#2とは同様の処理を行なうが、ここでは便宜上、図9及び図10に示すようにBB#1での処理について説明する。
異常ノード情報受信部210bは、この受信した異常ノード情報についてFPGA割り込み監視部225aに割り込みを入れる(符号A80参照)。
FPGA割り込み監視部225aは、FPGA21からの異常ノード情報の割り込みを検出する(符号A90参照)。
異常ノード読込処理部225bはこの異常ノード情報を読み込み、通知部225cは異常ノード読込処理部225bが読み込んだ異常ノード情報をアプリ241やHV242a、OS242b等の上位アプリケーション24へ通知する(符号A100参照)。
そして、アプリ241、HV242a及びOS242bは、受信した異常ノード情報を基に、異常ノードを切り離す等のシステムの再構築をしてから、処理を再開する(符号A110参照)。なお、このアプリ241、HV242a及びOS242bによる処理は、種々の既知の手法で行なえるため、その詳細な説明は省略する。
一方、異常が発生したBB#0のログ収集部221bは、ステップA50において異常ノード情報をXBB10へ送信した後、異常に関するログ情報を収集する(符号A120参照)。
ログ情報送信部222は、ログ情報収集部221bが収集したログ情報をXBB10へ送信する(符号A130参照)。
XBB10のログ情報解析部121は、BB20のログ情報送信部222が送信したログ情報を受信し(符号A140参照)、そのログ情報を解析する(符号A150参照)。ログ情報解析部121による解析には、ハードウェアの異常情報に関する詳細情報(例えば、CPU231内の何番目のコアの何番目のスレッドでどのような故障が発生したか)の作成がある。また、ログ情報解析部121は、解析した詳細情報をXBB10内に備えられた図示しないメモリに格納しても良い。これにより、故障した部品が工場に戻った際に、調査に利用されることができる。
以上で、本マルチノードシステム1における障害処理が完了する。
このように、本マルチノードシステム1における障害処理では、異常箇所情報収集部221aは、ログ情報の収集(符号A120参照)から異常ノード情報の収集(符号A30参照)のみを分離して優先して行なう。また、異常箇所情報解析部227及び異常ノード情報作成部223は、XBB10によるログ情報の解析(符号A150参照)から異常箇所情報の解析及び異常ノード情報の作成(符号A30参照)のみを分離して優先して行なう。そして、異常ノード情報通知部210aは、異常ノード情報作成部223による異常ノード情報の作成後、XBB10に対して速やかにその異常ノード情報のみを通知する(符号A50参照)。
以下、実施形態の一例としてのマルチノードシステム1の実装時における障害処理を、図11〜図13を参照しながら説明する。
以下、図11〜図13を参照しながら説明をする際には、n=2すなわちマルチノードシステム1が3つのBB#0〜#2を備える場合について説明する。
なお、図11〜図13に示す例においては、XBB10及びBB20がそれぞれ備える機能構成の一部の図示を簡単のために省略している。
図11〜図13に示すように、XBB10が備えるFPGA11及びマスタファームウェア12には、#00が番号としてそれぞれ付されている。同様に、BB#0が備えるFPGA21及びスレーブファームウェア22には#0が、BB#1が備えるFPGA21及びスレーブファームウェア22には#1が、BB#2が備えるFPGA21及びスレーブファームウェア22には#2が、それぞれ番号として付されている。また、XBB10のポート#0はBB#0のポート#0に接続され、XBB10のポート#1はBB#1のポート#0に接続され、XBB10のポート#2はBB#2のポート#0に接続される。
以下、XBB10が備えるFPGA11及びマスタファームウェア12を、それぞれFPGA#00及びFW#00という場合がある。また、以下、BB#0〜BB#2がそれぞれ備えるFPGA21及びスレーブファームウェア22を、それぞれFPGA#0〜FPGA#2及びFW#0〜FW#2という場合がある。
ここでは、異常発生時におけるFPGA11,21が備える各レジスタの更新手法について詳しく説明する。
図11〜図13に示す例においては、CNTLレジスタ211、STATUSレジスタ212及びINTレジスタ213は、BB#0〜BB#2に対応する少なくとも3ビットのレジスタ値をそれぞれ格納する。レジスタ値の下1桁目〜下3桁目は、各BB20がそれぞれ備えるFW#0〜FW#2の番号にそれぞれ対応するものとする。例えば、FW#1が備えられるBB#1内で異常が発生した際には、このレジスタ値の下2桁目に“1”が立てられ、“0010”となる。このレジスタ値“0010”を16進法で表すと“0x0002”となる。そして、FPGA11,21それぞれが備える各レジスタ値を、例えば、この16進数で表すものとする。なお、この16進数の上位2桁の“0x”は、16進数であることを表している。
また、以下においては、CNTLレジスタ211、STATUSレジスタ212及びINTレジスタ213のmビット目をCNTL[m],STATUS[m],INT[m]でそれぞれ表すものとする(mはマルチノードシステム1に備えられる各BB20に対応する値であり、本実施形態の一例では0〜2の整数である)。
BB#1で異常が発生すると、BB#1の異常検知部23は、異常を検出し(図11の符号B10参照)、FW#1に割り込みを入れる。
FW#1は、作成した異常ノード情報をFPGA#1のCNTLレジスタ211に書き込む(図11の符号B20参照)。具体的には、FW#1は、CNTL[1]に“1”をライトする。図11に示す例では、FW#1が備えられるBB#1内で異常が発生したため、STATUSレジスタ212には上述した16進数“0x0002”がセットされる。一方、BB#1以外の各ノードがそれぞれ備えるSTATUSレジスタ212及びINTレジスタ213には、図11に示すように、いずれのノードでも異常が発生していないことを示す初期値としての16進数“0x0000”がセットされている。
FPGA#1は、STATUSレジスタ212を更新する。すなわち、FPGA#1は、CNTLレジスタ211の更新に基づき、STATUS[1]に“1”をセットする(図11の符号B30参照)。
FPGA#1は、INTレジスタ213を更新する。すなわち、FPGA#1は、STATUSレジスタ212の更新に基づき、INT[1]に“1”をセットする(図11の符号B40参照)。
FPGA#1は、INTレジスタ213の更新に基づき、FW#1に対して割り込みを入れる(図11の符号B50参照)。
FW#1は、割り込みの受信によりINT[1]を“0”クリアする(図12の符号B60参照)。
FPGA#1は、CNTL[1]に“1”をライトされたことにより、BB間データ送受信回路215に対して異常ノード情報を付加したパケットの送信リクエストを発行する(図12の符号B70参照)。
BB#1のBB間データ送受信回路215は、異常ノード情報が付加されたパケットをXBB10へ送信する(図12の符号B80参照)。図12に示す例においては、BB#1のポート#0からXBB10のポート#1へパケットが送信される。
XBB10のBB間データ送受信回路215は、異常ノード情報が付加されたパケットを受信する。FPGA#00は、この異常ノード情報に基づいてSTATUSレジスタ212を更新する(図12の符号B90参照)。すなわち、FPGA#00は、STATUS[1]に“1”を書き込む。
FPGA#00は、STATUSレジスタ212の更新に基づき、INT[1]に“1”をセットする(図12の符号B100参照)。
FPGA#00は、INTレジスタ213の更新に基づき、FW#00に対して割り込みを入れる(図12の符号B110参照)。
FW#00は、割り込みの受信によりINT[1]を“0”クリアする(図13の符号B120参照)。
FPGA#00は、BB#1から異常ノード情報が付加されたパケットを受信したことにより、BB間データ送受信回路215に対してこの異常ノード情報を付加したパケットの送信リクエストを発行する(図13の符号B130参照)。
XBB10のBB間データ送受信回路215は、異常ノード情報が付加されたパケットを全てのBB20へ送信する(図13の符号B140参照)。図13に示す例においては、XBB10のポート#0からBB#0のポート#0へ、XBB10のポート#1からBB#1のポート#0へ、XBB10のポート#2からBB#2のポート#0へそれぞれパケットが送信される。
各BB20のBB間データ送受信回路215は、異常ノード情報が付加されたパケットを受信し、この受信した異常ノード情報でSTATUSレジスタ212を書き換える。
BB#1のFPGA#1は、STATUSレジスタ212の値が変化しないので、INTレジスタ213も変化しない(図13の符号B150参照)。
一方、BB#0のFPGA#0は、STATUSレジスタ212のSTATUS[1]を“1”に書き換え(更新す)る(図13の符号B160参照)。
FPGA#0は、STATUSレジスタ212の更新に基づき、INTレジスタ213のINT[1]に“1”をセットする(図13の符号B170参照)。
FPGA#0は、INTレジスタ213の更新に基づき、FW#0に対して割り込みを入れる(図13の符号B180参照)。なお、割り込みを受けたFW#0は、INT[1]を“0”クリアする。
また、図13に示すように、BB#2についても上述したBB#0と同様の処理(図13の符号B160〜B180)を行なう。
以上で、本マルチノードシステム1の実装時における障害処理が完了する。
以下、実施形態の一例としてのマルチノードシステムのスレーブファームウェアにおける障害処理を、図14〜図17に示すフローチャート(ステップC10〜ステップC110)に従って説明する。なお、図15は図14のステップC30〜C50の詳細を示すフローチャート(ステップC31,C41,C51)、図16は図14のステップC60の詳細を示すフローチャート(ステップC61〜C65)、図17は図14のステップC70,C80の詳細を示すフローチャート(ステップC71〜C73,C81)である。
異常監視部226は、異常検知部23による異常発生の割り込みを監視する(図14のステップC10)。
異常監視部226は、異常検知部23による異常発生の割り込みを検出したか否かを判定する(図14のステップC20)。
異常監視部226が異常検知部23による異常発生の割り込みを検出しない場合には(図14のステップC20のNOルート参照)、ステップC10に戻り、異常発生の割り込みの監視を繰り返し行なう。
異常監視部226が異常検知部23による異常発生の割り込みを検出した場合には(図14のステップC20のYESルート参照)、異常箇所情報収集部221aは、異常が発生したBB20における異常箇所情報を収集する(図14のステップC30)。
異常箇所情報解析部227は、異常箇所情報収集部221aが収集した異常箇所情報を解析する(図14のステップC40)。
異常ノード情報作成部223は、異常箇所情報解析部227が解析した異常箇所情報に基づき、異常ノード情報を作成する(図14のステップC50)。
FPGA制御部224は、異常ノード情報作成部223が作成した異常ノード情報をFPGA21に書き込む(図14のステップC60)。
FPGA割り込み監視部225aは、FPGA21からの異常ノード情報の割り込みを検出する(図14のステップC70)。
異常ノード読込処理部225bは、FPGA割り込み監視部225aによる割り込みの検出により、異常ノード情報を読み込む(図14のステップC80)。
通知部225cは、異常ノード情報読込処理部225bが読み込んだ異常ノード情報を上位のアプリ241及びHV/OS242へ通知する(図14のステップC90)。
一方、ログ収集部221bは、ステップC60においてFPGA制御部224が異常ノード情報をFPGA21に書き込んだ後、異常が発生したBB20における異常に関するログ情報を収集する(図14のステップC100)。なお、このログ情報の収集は、FPGA21への書き込みと同時に行なっても良い。
ログ情報送信部222は、ログ情報収集部221bが収集したログ情報をXBB10へ送信する(図14のステップC110)。
以上で、本マルチノードシステム1における障害処理が完了する。
ステップC30〜C50における処理は、図15のように詳細に示すことができる。
ステップC30において、異常箇所情報収集部221aは、BB20が備える異常箇所レジスタ251及び異常レベルレジスタ252の値を読み込む(図15のステップC31)。異常箇所レジスタ251及び異常レベルレジスタ252の値は故障が発生していない状態では全てのbitに0が設定されている。異常発生時、異常箇所レジスタ251は、“CPU”や“電源”等の予め異常箇所として監視される部品に対して“1”の値を格納する。図15に示す例では、“CPU”に対して異常箇所を示す“1”がセットされている。また、異常レベルレジスタ252は、異常発生時に、異常箇所レジスタ251に示される各部品に対して、それぞれ異常のレベル(重要度;“Alarm (A)”又は“Warning (W)”)を示す情報を格納する。図15に示す例では、“CPU”の異常レベルが“Alarm”であることを示す“1”がセットされている。このように、異常箇所レジスタ251に“1”が立つと、異常レベルレジスタ252にも“1”がセットされる。なお、異常レベルレジスタの“Alarm”及び“Warning”以外の欄は拡張用であり、例えば“Alarm”及び“Warning”以外の異常レベルを定義しても良い。
ステップC40において、異常箇所情報解析部227は、異常箇所が重要部品(例えば、CPUや電源)で、且つ、異常レベルが“Alarm”であるか否かを判定する(図15のステップC41)。なお、この異常箇所情報解析部227による判定は一例に過ぎず、これに限定されるものではない。例えば、異常レベルが“Alarm”であるか否かのみを判定基準とすることもできる。また、重要部品であるか否かの判断基準も、予め設定することができる。
異常箇所が重要部品で、且つ、異常レベルが“Alarm”である場合には(図15のステップC41のYESルート参照)、ステップC50において、異常ノード情報作成部223は、異常が発生したBB20の番号を示す異常ノード情報を設定する(図15のステップC51)。例えば、BB#1で異常が発生した場合には、BB#1を示すBit 1に“1”をセットする。
一方、異常箇所が重要部品で、且つ、異常レベルが“Alarm”でない場合には(図15のステップC41のNOルート参照)、図16の後述するステップC60に移行する。すなわち、異常が発生したBB20の番号を異常ノード情報に設定せずにFPGA制御処理(図14のステップC60)に移行する。
ステップC60における処理は、図16のように詳細に示すことができる。
ステップC60において、FPGA制御部224は、CNTL[x]に“1”を設定する(xは異常が発生したBBの番号)(図16のステップC61)。なお、異常箇所が重要部品で、且つ、異常レベルが“Alarm”でない場合には(図15のステップC41のNOルート参照)、異常が発生したBB20の番号を異常ノード情報に設定(図15のステップC51)していないため、FPGA制御部224は、CNTLレジスタ211のいずれのビットにも“1”をセットしない。
FPGA割り込み監視部225aは、FPGA21においてINT[x]に“1”がセットされたことにより、割り込みを受ける(図16のステップC62)。
FPGA割り込み監視部225aは、割り込みを受けたことにより、FPGA21のINT[x]を“0”クリアする。
一方、BB20のFPGA21は、ステップC61の処理の後にステップC62,C63の処理と並行して、異常ノード情報を付加したパケットをXBB10のFPGA11へ送信する(図16のステップC64)。
XBB10のFPGA11は、異常ノード情報を付加したパケットを全てのBB20のFPGA21へ転送する(図16のステップC65)。
ステップC70,C80における処理は、図17のように詳細に示すことができる。
ステップC70において、BB20のFPGA21は、異常ノード情報が付加されたパケットをXBB10のFPGA11から受信する(図17のステップC71)。
FPGA21は、STATUS[x]の更新に基づきINT[x]をセット(更新)する(図17のステップC72)。
FPGA割り込み監視部225aは、FPGA21においてINT[x]に“1”がセットされたことにより、割り込みを受ける(図17のステップC73)。
ステップC80において、異常ノード情報読込処理部225bは、FPGA21からの割り込みから、異常ノード情報を取得する(図17のステップC81)。
〔A−3〕効果
図18(a),(b)は従来例としてのマルチノードシステムにおける障害処理と実施形態の一例としてのマルチノードシステムにおける障害処理とを比較するシーケンス図である。また、図19(a)は従来例としてのマルチノードシステムにおける障害処理に要する時間を説明する図であり、図19(b)は実施形態の一例としてのマルチノードシステムにおける障害処理に要する時間を説明する図である。
従来例としてのマルチノードシステムにおいては、図18(a)に示すように、BBは、異常が発生したBBにおける異常に関する全てのログ情報を収集し(図18(a)の符号D10参照)、そのログ情報をXBBへ送信する。XBBは、BBが送信したログ情報を受信し、そのログ情報を解析する(図18(a)の符号D20参照)。そして、この解析が完了してから、XBBは、各BBに異常ノードを通知する。
一方、本実施形態の一例としてのマルチノードシステム1においては、図18(b)に示すように、BB20は、異常が発生したBB20における異常箇所情報のみを先行して収集する(図18(b)の符号E10参照)。また、BB20は、収集した異常箇所情報のみを解析し(図18(b)の符号E20参照)、解析した異常箇所情報に基づき異常ノード情報を作成し(図18(b)の符号E30参照)、作成した異常ノード情報をXBB10へ通知する。XBB10は、BB20から受信した異常ノード情報を全てのBB20へ転送する。そして、BB20は、異常ノード情報をXBB10へ通知した後に、異常が発生したBBにおける異常に関する全てのログ情報を収集し(図18(b)の符号E40参照)、そのログ情報をXBB10へ送信する。XBB10は、BB20が送信したログ情報を受信し、そのログ情報を解析する(図18(b)の符号E50参照)。
すなわち、本実施形態の一例としてのマルチノードシステム1においては、BB20は、従来例におけるログ収集処理(図18(a)の符号D10)で行なっていた異常箇所情報収集処理(図18(b)の符号E10)と、従来例におけるログ解析処理(図18(a)の符号D20)で行なっていた異常箇所解析処理(図18(b)の符号E20)及び異常ノード情報作成処理(図18(b)の符号E30)をログ収集処理(図18(b)の符号E40)よりも先に行なう。
言い換えれば、BB20は、異常箇所情報収集、異常箇所情報解析及び異常ノード情報作成の各処理(図18(b)の符号E10〜E30)をログ収集処理(図18(b)の符号E40)に優先して行なう。これにより、各BB20においては、異常発生が検知されてから従来手法よりも短い時間で上位アプリケーション24へ異常ノード情報を通知することができる。
以下、図19(a),(b)を参照しながら、上述した実施形態の一例としてのマルチノードシステム1による効果を説明する。
従来例としてのマルチノードシステムは、図19(a)に示すように、ハードウェアとして、BB間汎用Local Area Network(LAN)が備える。また、従来例としてのマルチノードシステムは、ソフトウェア又はファームウェアとして、汎用LANドライバによる処理、Transmission Control Protocol/Internet Protocol(TCP/IPプロトコル)による処理、ファームウェアによる異常ノード情報の受信機能、ログ収集及びログ解析を備える。
一方、本実施形態の一例としてのマルチノードシステム1は、図19(b)に示すように、ハードウェアとして、BB間専用バス、FPGAによる異常ノード情報の送受信機能及び専用FPGAドライバを備える。また、本実施形態の一例としてのマルチノードシステム1は、ソフトウェア又はファームウェアとして、異常ノード情報作成、異常箇所情報収集、異常箇所情報解析、ログ収集及びログ解析を備える。
すなわち、従来例としてのマルチノードシステムではマスタファームウェアとスレーブファームウェアとの間のTCP/IP通信としてファームウェアで実装していた処理を、本実施形態の一例としてのマルチノードシステム1ではハードウェア及びそのドライバとして実装する(矢印A参照)ことで、処理の高速化を実現する。また、従来例としてのマルチノードシステムではログ収集としてまとめて行なっている異常ノード情報の収集を、本実施形態の一例としてのマルチノードシステム1では異常ノード情報収集処理として先行して行なう(矢印B参照)。更に、従来例としてのマルチノードシステムではログ解析としてまとめて行なっている異常ノード情報の解析を、本実施形態の一例としてのマルチノードシステム1では異常ノード情報解析処理として先行して行なう(矢印C参照)。
このように、実施形態の一例としてのマルチノードシステム1によれば、ログ情報収集部221及び異常ノード情報作成部223が、それぞれ異常箇所情報の収集及び異常ノード情報の作成をログ収集に優先して行なう。これにより、図19(b)に示すように、異常ノード情報の特定完了までの時間を短縮することができる。また、マルチノードシステム1の運用停止時間を短縮することができる。具体的には、全てのBB20のアプリ241やHV/OS242が異常ノード情報を特定するまでの時間を、数秒程度にすることができる。
また、異常ノード情報通知制御部224がFPGA21内に備えられたCNTLレジスタ211が格納する値を制御することにより、処理時間を短縮することができる。具体的には、異常ノード情報通知制御部224は、数マイクロ秒程度でCNTLレジスタ211を更新することができる。
更に、FPGA11,21内にそれぞれ備えられた異常ノード情報転送部110、異常ノード情報通知部210a及び異常ノード情報受信部210bが、専用のBB間バスを介して異常ノード情報の送受信を行なうことにより、ノード間の通信速度を速くすることができる。具体的には、FPGA11,21は、ノード間の通信を数マイクロ秒程度で行なうことができる。
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
〔C〕付記
(付記1)
複数の情報処理装置を備えた情報処理システムであって、
前記情報処理装置のそれぞれが、
異常発生を検知する異常検知部と、
前記異常発生が検知された情報処理装置におけるログ情報を収集するログ情報収集部と、
前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置を示す異常装置情報を作成する異常装置情報作成部と、
前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常装置情報作成部が作成した前記異常装置情報を前記複数の情報処理装置のそれぞれに対して通知する異常装置情報通知部と、
を備えることを特徴とする、情報処理システム。
(付記2)
前記複数の情報処理装置のそれぞれが、
前記異常装置情報が通知されると、上位アプリケーションに対して通知を行なう上位通知処理部
を備えることを特徴とする、付記1に記載の情報処理システム。
(付記3)
前記異常装置情報が通知されると、当該異常装置情報を前記複数の情報処理装置のそれぞれに転送する異常装置情報転送部を有する通信制御部を備え、
前記異常装置情報通知部が、前記異常装置情報を前記異常装置情報転送部に通知する
ことを特徴とする、付記1又は2に記載の情報処理システム。
(付記4)
前記異常装置情報通知部及び前記異常装置情報転送部が、それぞれ
前記異常装置情報を格納可能な状態管理情報記憶部を有するFPGA(Field Programmable Gate Array)に備えられ、
前記情報処理装置のFPGAが、前記状態管理情報記憶部が更新されると、前記通信制御部のFPGAに対して前記状態管理情報記憶部に格納された前記異常装置情報を通知し、
前記通信制御部のFPGAが、前記状態管理情報記憶部が更新されると、前記複数の情報処理装置のFPGAに対してそれぞれ前記状態管理情報記憶部に格納された前記異常装置情報を一斉通知する
ことを特徴とする、付記3に記載の情報処理システム。
(付記5)
複数の情報処理装置と通信可能に接続される通信部と、
異常発生を検知する異常検知部と、
検知された異常に関するログ情報を収集するログ情報収集部と、
前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常発生が検知された当該情報処理装置を示す異常装置情報を作成する異常装置情報作成部と、
前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常装置情報作成部が作成した前記異常装置情報を前記通信部を介して前記複数の情報処理装置に対して通知する異常装置情報通知部と、
を備えることを特徴とする、情報処理装置。
(付記6)
前記通信制御装置から前記異常装置情報が通知されると、上位アプリケーションに対して通知を行なう上位通知処理部
を備えることを特徴とする、付記5に記載の情報処理装置。
(付記7)
前記異常装置情報通知部が、
前記異常装置情報を格納可能な状態管理情報記憶部を有するFPGA(Field Programmable Gate Array)に備えられ、
前記FPGAが、前記状態管理情報記憶部が更新されると、前記通信制御装置が備えるFPGAに対して前記状態管理情報記憶部に格納された前記異常装置情報を通知する
ことを特徴とする、付記5又は6に記載の情報処理装置。
(付記8)
複数の情報処理装置を備えた情報処理システムにおける障害処理方法であって、
前記情報処理装置のいずれかが、
異常発生を検知し、
前記異常発生が検知された情報処理装置におけるログ情報を収集し、
前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置を示す異常装置情報を作成し、
前記ログ情報の収集に優先して、前記作成した前記異常装置情報を複数の情報処理装置のそれぞれに対して通知する
ことを特徴とする、障害処理方法。
(付記9)
前記複数の情報処理装置のそれぞれが、
前記異常装置情報が通知されると、上位アプリケーションに対して通知を行なう
ことを特徴とする、付記8に記載の障害処理方法。
(付記10)
前記異常装置情報が通知されると、前記異常装置情報を前記複数の情報処理装置のそれぞれに転送する通信制御部を備え、
前記異常装置情報を前記通信制御部に通知する
ことを特徴とする、付記8又は9に記載の障害処理方法。
(付記11)
前記情報処理装置が、当該情報処理装置が備える前記異常装置情報を格納可能な状態管理情報記憶部が更新されると、前記通信制御部に対して当該状態管理情報記憶部に格納された前記異常装置情報を通知し、
前記通信制御部が、当該通信制御部が備える前記異常装置情報を格納可能な状態管理情報記憶部が更新されると、前記複数の情報処理装置に対してそれぞれ当該状態管理情報記憶部に格納された前記異常装置情報を一斉通知する
ことを特徴とする、付記10に記載の障害処理方法。
(付記12)
複数の情報処理装置を備えた情報処理システムにおいて、
前記複数の情報処理装置のうちいずれかの情報処理装置において異常発生を検知するステップと、
検知された異常に関するログ収集及びログ解析に優先して、前記複数の情報処理装置のそれぞれに対して前記異常発生が検知された情報処理装置を示す異常装置情報を通知するステップと、
を備えることを特徴とする、障害処理方法。
1 マルチノードシステム(情報処理システム)
10 XBB(通信制御装置、通信制御部)
11 FPGA
110 異常ノード情報送受信機能部(異常ノード情報転送部、異常装置情報転送部)
12 マスタファームウェア
121 ログ情報解析部
130 XBU
20 BB(情報処理装置)
21 FPGA(通信部)
210 異常ノード情報送受信機能部
210a 異常ノード情報通知部(異常装置情報通知部)
210b 異常ノード情報受信部
211 CNTLレジスタ
212 STATUSレジスタ
213 INTレジスタ
214 MASKレジスタ
215 BB間データ送受信回路
22 スレーブファームウェア
221 ログ情報収集部
221a 異常箇所情報収集部
221b ログ収集部
222 ログ情報送信部
223 異常ノード情報作成部(異常装置情報通知部)
224 FPGA制御部(異常ノード情報通知制御部)
225 上位通知処理部
225a FPGA割り込み監視部
225b 異常ノード読込処理部
225c 通知部
226 異常監視部
227 異常箇所情報解析部
23 異常検知部
230 CMU
231 CPU
24 ソフトウェア
241 アプリ
242 HV/OS

Claims (7)

  1. 複数の情報処理装置を備えた情報処理システムであって、
    前記情報処理装置のそれぞれが、
    異常発生を検知する異常検知部と、
    前記異常発生が検知された情報処理装置におけるログ情報を収集するログ情報収集部と、
    前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置を示す異常装置情報を作成する異常装置情報作成部と、
    前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常装置情報作成部が作成した前記異常装置情報を前記複数の情報処理装置のそれぞれに対して通知する異常装置情報通知部と、
    を備えることを特徴とする、情報処理システム。
  2. 前記複数の情報処理装置のそれぞれが、
    前記異常装置情報が通知されると、上位アプリケーションに対して通知を行なう上位通知処理部
    を備えることを特徴とする、請求項1に記載の情報処理システム。
  3. 前記異常装置情報が通知されると、当該異常装置情報を前記複数の情報処理装置のそれぞれに転送する異常装置情報転送部を有する通信制御部を備え、
    前記異常装置情報通知部が、前記異常装置情報を前記異常装置情報転送部に通知する
    ことを特徴とする、請求項1又は2に記載の情報処理システム。
  4. 前記異常装置情報通知部及び前記異常装置情報転送部が、それぞれ
    前記異常装置情報を格納可能な状態管理情報記憶部を有するFPGA(Field Programmable Gate Array)に備えられ、
    前記情報処理装置のFPGAが、前記状態管理情報記憶部が更新されると、前記通信制御部のFPGAに対して前記状態管理情報記憶部に格納された前記異常装置情報を通知し、
    前記通信制御部のFPGAが、前記状態管理情報記憶部が更新されると、前記複数の情報処理装置のFPGAに対してそれぞれ前記状態管理情報記憶部に格納された前記異常装置情報を一斉通知する
    ことを特徴とする、請求項3に記載の情報処理システム。
  5. 複数の情報処理装置と通信可能に接続される通信部と、
    異常発生を検知する異常検知部と、
    検知された異常に関するログ情報を収集するログ情報収集部と、
    前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常発生が検知された当該情報処理装置を示す異常装置情報を作成する異常装置情報作成部と、
    前記ログ情報収集部による前記ログ情報の収集に優先して、前記異常装置情報作成部が作成した前記異常装置情報を前記通信部を介して前記複数の情報処理装置に対して通知する異常装置情報通知部と、
    を備えることを特徴とする、情報処理装置。
  6. 複数の情報処理装置を備えた情報処理システムにおける障害処理方法であって、
    前記情報処理装置のいずれかが、
    異常発生を検知し、
    前記異常発生が検知された情報処理装置におけるログ情報を収集し、
    前記ログ情報の収集に優先して、前記異常発生が検知された情報処理装置を示す異常装置情報を作成し、
    前記ログ情報の収集に優先して、前記作成した前記異常装置情報を複数の情報処理装置のそれぞれに対して通知する
    ことを特徴とする、障害処理方法。
  7. 複数の情報処理装置を備えた情報処理システムにおいて、
    前記複数の情報処理装置のうちいずれかの情報処理装置において異常発生を検知するステップと、
    検知された異常に関するログ収集及びログ解析に優先して、前記複数の情報処理装置のそれぞれに対して前記異常発生が検知された情報処理装置を示す異常装置情報を通知するステップと、
    を備えることを特徴とする、障害処理方法。
JP2013058014A 2013-03-21 2013-03-21 情報処理システム、情報処理装置及び障害処理方法 Pending JP2014182720A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013058014A JP2014182720A (ja) 2013-03-21 2013-03-21 情報処理システム、情報処理装置及び障害処理方法
US14/148,767 US20140289398A1 (en) 2013-03-21 2014-01-07 Information processing system, information processing apparatus, and failure processing method
EP14151731.8A EP2782012A1 (en) 2013-03-21 2014-01-20 System and method for notifying abnormality information to each of a plurality of processing units prior to the collection of log information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013058014A JP2014182720A (ja) 2013-03-21 2013-03-21 情報処理システム、情報処理装置及び障害処理方法

Publications (1)

Publication Number Publication Date
JP2014182720A true JP2014182720A (ja) 2014-09-29

Family

ID=50064388

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013058014A Pending JP2014182720A (ja) 2013-03-21 2013-03-21 情報処理システム、情報処理装置及び障害処理方法

Country Status (3)

Country Link
US (1) US20140289398A1 (ja)
EP (1) EP2782012A1 (ja)
JP (1) JP2014182720A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6307847B2 (ja) * 2013-11-19 2018-04-11 富士通株式会社 情報処理装置,制御装置及び制御プログラム
US10911342B2 (en) 2018-11-30 2021-02-02 Sap Se Distributed monitoring in clusters with self-healing
CN111327572B (zh) * 2018-12-14 2022-08-09 阿里巴巴集团控股有限公司 账户行为识别方法、设备及存储介质
US11086733B2 (en) * 2018-12-19 2021-08-10 Micron Technology, Inc. Reporting control information errors

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247911A (ja) * 1997-03-05 1998-09-14 Mitsubishi Electric Corp マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
JP2003162430A (ja) * 2001-11-27 2003-06-06 Mitsubishi Electric Corp 障害情報管理装置および障害情報管理方法
JP2006039678A (ja) * 2004-07-22 2006-02-09 Fujitsu Ltd 情報処理装置およびエラー検出方法
JP2006259869A (ja) * 2005-03-15 2006-09-28 Fujitsu Ltd マルチプロセッサシステム
WO2008099453A1 (ja) * 2007-02-09 2008-08-21 Fujitsu Limited 縮退方法および情報処理装置
JP2009252006A (ja) * 2008-04-08 2009-10-29 Nec Computertechno Ltd コンピュータシステムにおけるログ管理システム、ログ管理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10333932A (ja) 1997-05-28 1998-12-18 Kofu Nippon Denki Kk 障害処理方法およびマルチノードシステム
US20040221198A1 (en) * 2003-04-17 2004-11-04 Vecoven Frederic Louis Ghislain Gabriel Automatic error diagnosis
JP2006178720A (ja) * 2004-12-22 2006-07-06 Hitachi Ltd ストレージシステム
JP5403054B2 (ja) * 2009-07-10 2014-01-29 富士通株式会社 メモリダンプ機能を有するサーバおよびメモリダンプ取得方法
JP5518594B2 (ja) * 2010-06-30 2014-06-11 三菱電機株式会社 内部ネットワーク管理システム及び内部ネットワーク管理方法及びプログラム
JP5879246B2 (ja) * 2011-12-19 2016-03-08 アラクサラネットワークス株式会社 ネットワーク中継装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10247911A (ja) * 1997-03-05 1998-09-14 Mitsubishi Electric Corp マルチサーバ構成におけるシステム監視情報管理装置及びマルチサーバ構成におけるシステム監視情報管理方法
JP2003162430A (ja) * 2001-11-27 2003-06-06 Mitsubishi Electric Corp 障害情報管理装置および障害情報管理方法
JP2006039678A (ja) * 2004-07-22 2006-02-09 Fujitsu Ltd 情報処理装置およびエラー検出方法
JP2006259869A (ja) * 2005-03-15 2006-09-28 Fujitsu Ltd マルチプロセッサシステム
WO2008099453A1 (ja) * 2007-02-09 2008-08-21 Fujitsu Limited 縮退方法および情報処理装置
JP2009252006A (ja) * 2008-04-08 2009-10-29 Nec Computertechno Ltd コンピュータシステムにおけるログ管理システム、ログ管理方法

Also Published As

Publication number Publication date
EP2782012A1 (en) 2014-09-24
US20140289398A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
US10402293B2 (en) System for virtual machine risk monitoring
CN107431643B (zh) 用于监测存储集群元件的方法和装置
CN101853346B (zh) 虚拟机快照和损坏抑制
CN107317695B (zh) 用于调试联网故障的方法、系统和装置
JP5678717B2 (ja) 監視装置、監視システムおよび監視方法
JP6602354B2 (ja) バスハング検出
US9203740B2 (en) Automated network fault location
WO2017038934A1 (ja) ネットワーク監視システム、ネットワーク監視方法およびプログラム
CN113973042A (zh) 用于网络问题的根本原因分析的方法和系统
JP2014182720A (ja) 情報処理システム、情報処理装置及び障害処理方法
JP2011086244A (ja) ストレージシステム,制御装置および診断方法
US20170010995A1 (en) Sideband Serial Channel for PCI Express Peripheral Devices
JP7491381B2 (ja) ネットワーク監視装置、ネットワーク監視方法、および、ネットワーク監視プログラム
CN110245052A (zh) 一种数据系统的热点组件确定方法、装置、电子设备及存储介质
WO2011051999A1 (ja) 情報処理装置及び情報処理装置の制御方法
TWI824827B (zh) 軟體定義網路的網路拓樸的管理系統和管理方法
CN118413429A (zh) 基于健康状况的网络管理
WO2017058137A1 (en) Latency tracking metadata for a network switch data packet
JP6819610B2 (ja) 診断装置、診断方法、及び、診断プログラム
JP6032369B2 (ja) 情報処理装置、診断方法、診断プログラム、及び情報処理システム
US10394681B2 (en) Profiling operating efficiency deviations of a computing system
JP7694659B2 (ja) 仮想化システム障害分離装置及び仮想化システム障害分離方法
WO2020109252A1 (en) Test system and method for data analytics
CN104503423A (zh) 基于profinet的工业以太网控制系统故障诊断方法
JP5907784B2 (ja) 情報処理装置および情報処理方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170206

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170404