JP6323243B2 - システム及び異常検知方法 - Google Patents

システム及び異常検知方法 Download PDF

Info

Publication number
JP6323243B2
JP6323243B2 JP2014161251A JP2014161251A JP6323243B2 JP 6323243 B2 JP6323243 B2 JP 6323243B2 JP 2014161251 A JP2014161251 A JP 2014161251A JP 2014161251 A JP2014161251 A JP 2014161251A JP 6323243 B2 JP6323243 B2 JP 6323243B2
Authority
JP
Japan
Prior art keywords
information processing
node
information
path
message
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
JP2014161251A
Other languages
English (en)
Other versions
JP2016038705A (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.)
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 JP2014161251A priority Critical patent/JP6323243B2/ja
Priority to US14/742,842 priority patent/US9727403B2/en
Publication of JP2016038705A publication Critical patent/JP2016038705A/ja
Application granted granted Critical
Publication of JP6323243B2 publication Critical patent/JP6323243B2/ja
Active 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/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • 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/0709Error 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 in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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
    • 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/0784Routing of error reports, e.g. with a specific transmission path or data flow
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、システムにおける異常検知技術に関する。
近年多数のノードを含む大規模なシステムが構築されるようになっている。この大規模なシステムには、(1)利用者が指示する計算処理を実行するためのノード (以下、計算ノードと呼ぶ)、(2)計算ノードに対しファイルサーバやデータベース(DB)サーバとして動作するノード(以下、IO(Input Output)ノードと呼ぶ。)、(3)システム全体を管理するためのノード(以下、管理ノードと呼ぶ。)が含まれる。
管理ノードの重要な役割の一つは、計算ノードやIOノードの異常発生を監視し、異常発生時には、その対処となる処理を実行することである。監視方法としては、所定の時間間隔毎に、監視対象ノード(計算ノード及びIOノード)と管理ノードとが「生存確認メッセージ」を交換するのが一般的である。
しかしながら、監視対象ノードが多数になると、管理ノードの処理負荷は膨大なものとなる。そこで管理ノードの処理負荷を削減するために、複数の管理ノードで監視対象ノードを分担することが考えられている。また、個々のメッセージに対する処理負荷を削減することも有効である。
しかしながら、このような技術でも、多数の監視対象ノードが存在する場合には、システム全体としての異常検知のための処理負荷は削減が十分とは言えない。
特開2000−187598号公報 特開平10−049507号公報 国際公開第2014/103078号パンフレット
従って、本発明の目的は、一側面によれば、異常検知のための処理負荷をシステム全体として削減するための技術を提供することである。
本発明に係るシステムは、通信パスを介して接続された複数の情報処理装置と、複数の情報処理装置を管理する管理装置とを含む。そして、上記管理装置は、(a1)複数の情報処理装置に対して設定されたハミルトンパスにおいて複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信する。一方、(b1)上で述べた複数の情報処理装置の各々は、メッセージを受信すると、ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、(b2)ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又はハミルトンパスの末端である情報処理装置は、これまでに検出された異常に関する情報を管理装置に送信する。
一側面としては、異常検知のための処理負荷をシステム全体として削減できるようになる。
図1は、ハミルトンパスを説明するための図である。 図2は、ハミルトンパスを説明するための図である。 図3は、メッシュ状に接続されたノード群の一例を示す図である。 図4は、トーラス状に接続されたノード群の一例を示す図である。 図5は、メッシュ状に接続されたノード群に設定されたハミルトンパスの一例を示す図である。 図6は、トーラス状に接続されたノード群に設定されたハミルトンパスの一例を示す図である。 図7は、第1の実施の形態に係る情報処理システムの一例を示す図である。 図8は、管理ノードの機能ブロック図である。 図9は、監視対象ノードの機能ブロック図である。 図10は、管理ノードにより実行される処理の処理フローを示す図である。 図11は、監視対象ノードにより実行される処理の処理フローを示す図である。 図12は、管理ノードにより実行される処理の処理フローを示す図である。 図13は、第2の実施の形態に係る情報処理システムの一例を示す図である。 図14は、第2の実施の形態に係る管理ノードの機能ブロック図である。 図15は、第2の実施の形態に係る監視対象ノードの機能ブロック図である。 図16は、第2の実施の形態に係る管理ノードにより実行される処理の処理フローを示す図である。 図17は、送信処理の処理フローを示す図である。 図18は、第2の実施の形態に係る監視対象ノードにより実行される処理の処理フローを示す図である。 図19は、第2の実施の形態に係る管理ノードのリダクション処理部により実行される処理の処理フローを示す図である。 図20は、コンピュータの機能ブロック図である。
[実施の形態1]
本実施の形態においては、監視対象ノードの資源を利用して管理ノードの負荷を下げるという方針を採用している。但し、監視対象ノードの負荷があるレベルを超えて増加することも回避する。
このため、監視対象ノードによる、ハミルトンパスに沿った相互監視を行う。具体的には、ある管理ノードの管理下にある監視対象ノードを、グラフ理論における「頂点」とみなし、それらのノード間のリンクをグラフ理論における「辺」とみなして、ノードとノード間のリンクを「グラフ」と把握する。
このグラフ内からハミルトンパスを選択する。ハミルトンパスとは、グラフ上の頂点を1度ずつ通るパスである。このハミルトンパスに沿って、ノード監視のための通信経路を設定することで、通信に使用するリンク数及び通信回数を抑えることができる。このため、通信レイテンシ、他の通信(例えばジョブが実施している通信)との干渉をも抑制されると期待される。
図1に示すように、複数のノード1a乃至1fが通信パスを介して接続されている。各ノードは複数のノードに直接接続されている。すなわち、特定のノード間の通信経路は、複数存在する。そして、上で述べたように、各ノード1a乃至1fを1度だけ通過するようにハミルトンパスX(太矢印)する。図1の例では、ノード1a、1b、1c、1d、1e、1fの順番のハミルトンパスXが設定される。但し、特定のノード間の通信経路が複数存在するので、ハミルトンパスも複数設定できる。図2に示すように、同じように接続されたノード1a乃至1fに対して、ハミルトンパスYも設定できる。
多数のノードを含む情報処理システムにおけるノード間リンクは、メッシュとトーラスという2つのパターンとなる場合が多い。2次元の場合には、図3に示すように、格子状にノード及びノード間リンクを設定することで、メッシュが形成される。また、2次元の場合、図4に示すように、メッシュに加えて、上端ノードと下端ノードとの間のリンク(Wrap around link)や、左端ノードと右端ノードとの間のリンクが1つでも設けられている場合には、トーラスとなる。
図3に示すようなメッシュに対しては、図5に示すようなハミルトンパスが選択できる。これ以外にもハミルトンパスは選択し得る。3次元の場合には、終点から1つ上の平面に上がってその平面において同様にハミルトンパスを選択する、ということを繰り返す。これを次の次元について繰り返せば、N次元メッシュについてもハミルトンパスを選択することが可能である。
また、図4に示すようなトーラスの場合、図6に示すようなハミルトンパスを選択することができる。メッシュの場合と同様に拡張させれば、N次元トーラスについてもハミルトンパスを選択することができる。なお、N次元トーラスの場合は、パスの始点と終点が同一である「ハミルトン閉路」を選択することもできる。
このようなハミルトンパスに沿ってノード監視のための通信経路を設定して、管理ノードから監視用のメッセージを流すことで、監視対象ノードの監視を行うシステムの構成について、図7乃至図9を用いて説明する。
図7に情報処理システムの概要を示す。情報処理システムは、管理ノード200と監視対象のノード群100(監視対象ノード1a乃至1fを含む)とを含む。管理ノード200とノード群100内の各監視対象ノード1とは例えばLAN(Local Area Network)等で接続されているものとする。
管理ノード200の機能ブロック構成を図8に示す。管理ノード200は、初期設定部210と、ハミルトンパスデータ格納部220と、監視処理部230と、通信部240と、メモリ250と、異常処理部260とを有する。
初期設定部210は、ハミルトンパス生成部211を有しており、ノード群100内の各監視対象ノード1に対して、通信部240を介してハミルトンパスについてのデータを設定する。なお、ハミルトンパス生成部211によって生成されたハミルトンパスのデータは、ハミルトンパスデータ格納部220に格納される。
監視処理部230は、例えば異常ノード数を計数するためのメッセージをハミルトンパスに沿って流すために、当該メッセージを通信部240に送信させる。
通信部240は、RDMA部241を有している。RDMA(Remote Direct Memory Access)部241は、監視対象ノード1のRDMA部からのRDMAを受け付け、メモリ250への書き込みを行う。RDMAでは、監視対象ノード1は、管理ノード200のOS(Operating System)を介することなくメモリ250に転送を行うため、高スループット、低レイテンシの通信が行われる。また、管理ノード200の処理負荷も軽減される。
メモリ250は、サマリデータ領域251と、ノードデータ領域252とを含む。サマリデータ領域251には、例えば異常ノードの合計など、ハミルトンパス上で検出された異常の集約データが格納される。また、ノードデータ領域252には、各監視対象ノードについて異常の有無を表すフラグなどが格納される。
異常処理部260は、メモリ250に格納されているサマリデータ及びノードデータに基づき、異常対処のための処理を実行する。
図9に、監視対象ノード1の機能ブロック構成を示す。監視対象ノード1は、通信部10と、監視処理部20と、ハミルトンパスデータ格納部30とを有する。
通信部10は、RDMA部11を有しており、他の監視対象ノード1又は管理ノード200と通信を行う。RDMA部11は、管理ノード200のRDMA部241を介して、メモリ250にデータを直接転送する。
監視処理部20は、通信部10で受信したメッセージに関する処理を行い、通信部10を介して他の監視対象ノード1に対してメッセージを送信するか、RDMA部11によって管理ノード200に対してデータを送信する。
ハミルトンパスデータ格納部30は、設定されているハミルトンパスのデータを格納する。
次に、図10乃至図12を用いて、本実施の形態に係る情報処理システムの処理内容について説明する。なお、本実施の形態では、ノード群100がN次元メッシュで接続されているものとする。
まず、初期設定部210のハミルトンパス生成部211は、所定のアルゴリズムにてハミルトンパスを形成し、ハミルトンパスデータ格納部220に格納する(図10:ステップS1)。所定のアルゴリズムについては、従来から存在するいかなるものであっても良いので、ここでは説明を省略する。また、ハミルトンパスについては、管理者によって予め与えられる場合もあるが、その場合には本ステップはスキップされる。
そして、初期設定部210は、通信部240を介して各監視対象ノードに対して通信経路及び通番を含むハミルトンパスのデータを通知する(ステップS3)。ハミルトンパスにおいて自ノードの次のノードが正常に動作していればよいが、以下で述べるように次のノードが正常に動作していない場合には次に正常に動作しているノードを探索する処理を行うので、ハミルトンパスにおいて少なくとも配布先ノード以降のノードのデータを配布する。
その後、監視処理部230は、異常発生ノード数のカウンタerr_numを0に初期化し、ハミルトンパスにおける監視対象ノード列のノード番号(通番)のカウンタnを0に初期化する(ステップS5)。
そして、監視処理部230は、通番nの監視対象ノードへ、err_numを含むメッセージを、通信部240を介して送信する(ステップS7)。なお、監視対象ノード1の通信部10は、メッセージを受信すると、ACKメッセージ等を返信するものとする。
監視処理部230は、通信部240を介して、通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかったか、すなわちタイムアウトしたか否かを判断する(ステップS9)。タイムアウトしなかった場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信した場合には、この段階における管理ノード200の処理は終了する。
一方、タイムアウトした場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかった場合には、監視処理部230は、ノードデータ領域252において通番nのための領域にエラーを書き込む(ステップS11)。例えば、エラーフラグをオンにセットする。
さらに、監視処理部230は、err_numを1インクリメントし、nも1インクリメントする(ステップS13)。そして、監視処理部230は、nが監視対象ノード数nmaxに達したか否かを判断する(ステップS15)。すなわち、監視対象ノード全てに対して管理ノード200からメッセージを送信したか否かを判断する。
nが監視対象ノード数nmaxに達していない場合には、処理はステップS7に戻り、ハミルトンパスにおいて次の監視対象ノードに対してメッセージを送ることになる。
一方、nがnmaxに達した場合には、1つも監視対象ノードが正常に動作していなかったことになるので、監視処理部230は、異常ノード数err_num(=監視対象ノード総数nmax)を、サマリデータ領域251に書き込む(ステップS17)。そして処理は終了する。
このようにハミルトンパスにおいて最初に正常に動作する監視対象ノードに対して、検出した異常ノード数についてのメッセージを送信する。但し、監視対象ノード全てが正常に動作していない場合には、その旨メモリ250に書き込むことになる。
次に、各監視対象ノード1において実行される処理について、図11を用いて説明する。
監視対象ノード1の通信部10は、err_numを含むメッセージを他の装置から受信すると(ステップS21)、監視処理部20に出力する。
監視処理部20は、自ノードがハミルトンパスにおける終点ノードであるか否かを判断する(ステップS23)。自ノードが終点ノードであれば、監視処理部20は、RDMA部11に指示を行って、管理ノード200のメモリ250におけるサマリデータ領域251に、err_numを書き込ませる(ステップS37)。そして処理を終了する。
一方、自ノードが終点ノードではない場合には、監視処理部20は、ハミルトンパスデータ格納部30に格納されているハミルトンパス通番n(但し、本ステップを最初に実行する場合には自ノードの通番+1をnに設定。)の監視対象ノードを特定し、当該監視対象ノードに対して、err_numを含むメッセージを、通信部10を介して送信する(ステップS25)。
監視処理部20は、通信部10を介して、通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかったか、すなわちタイムアウトしたか否かを判断する(ステップS27)。タイムアウトしなかった場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信した場合には、この監視対象ノード1の処理は終了する。
一方、タイムアウトした場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかった場合には、監視処理部20は、RDMA部11に指示して、管理ノード200が有するメモリ250のノードデータ領域252において通番nのための領域にエラーを書き込ませる(ステップS29)。例えば、エラーフラグをオンにセットする。
また、監視処理部20は、err_numの値を1インクリメントする(ステップS31)。そして、監視処理部20は、nが監視対象ノード数nmaxに達したか否かを判断する(ステップS33)。すなわち、ハミルトンパスにおいて、自ノードより後ろに設定されている監視対象ノード全てに対して現監視対象ノード1からメッセージを送信したか否かを判断する。
nが監視対象ノード数nmaxに達していない場合には、監視処理部20は、nを1インクリメントする(ステップS35)。そして、処理はステップS25に戻り、ハミルトンパスにおいて次の監視対象ノードに対してメッセージを送ることになる。
一方、nが監視対象ノード数nmaxに達した場合には、処理はステップS37に移行する。すなわち、正常に動作する監視対象ノードがハミルトンパスの自ノード以降において他に存在しないので、管理ノード200に報告を行う。
監視対象ノード1では、RDMA部11を用いて、RDMAによってデータを、管理ノード200のメモリ250に直接書き込むので、管理ノード200の処理負荷を増加させずに済むようになっている。
次に、管理ノード200において、上で述べた監視処理が行われた後に実行される処理について図12を用いて説明する。
まず、管理ノード200の異常処理部260は、メモリ250におけるサマリデータ領域251から異常ノード数(err_num)を読み出す(図12:ステップS41)。
そして、異常処理部260は、err_numが0を超える値であるか否かを判断する(ステップS43)。err_numが0であれば、全ての監視対象ノード1が正常に動作していることになるので、処理は終了する。
一方、err_numが0を超えている場合には、異常処理部260は、カウンタiを0に初期化する(ステップS45)。そして、異常処理部260は、i番目の異常ノードを、ノードデータ領域252から特定する(ステップS47)。異常の場合にフラグがオンになるような場合には、i番目にフラグがオンとなっている異常ノードを特定する。
そして、異常処理部260は、特定された異常ノードについて異常状態に応じた処理を実行する(ステップS49)。具体的な処理内容については従来と同様であるから詳細な説明は省略するが、例えば再度通信を行って異常状態を確認の上、管理者に対して通知を行う。
そして、異常処理部260は、iがerr_numより小さいか否かを判断する(ステップS51)。この条件が満たされる場合には、異常処理部260は、iを1インクリメントする(ステップS53)。そして処理はステップS47に移行する。
一方、iがerr_num以上となった場合には、処理は終了する。これによって、管理ノード200によって異常対処が行われる。
上で述べたような処理を行うことで、監視対象ノード1又はハミルトンパス上の通信リンクに異常が発生しない場合、ハミルトンパスに沿った最少回数の通信と、ハミルトンパスにおける終点の監視対象ノードから管理ノード200へのRDMA通信のみで監視を実施することができる。
監視対象ノード1のいずれかに異常が発生した場合は、監視対象ノード1から管理ノード200へのデータの書き込みが行われるが、RDMAを利用することで、管理ノード200の処理負荷を軽減することができる。
ハミルトンパス上の通信リンクに異常が発生した場合には、ハミルトンパス以外の迂回路を使って通信を行う。この場合、使用するリンク数が増えることになるが、そもそもハミルトンパスを利用する場合は使用リンク数が最少になるため、リンク故障の影響を受ける確率は最小となる。
また、ハミルトンパスの選択方法は複数存在しており、リンク故障発見後にハミルトンパスの再設定を行う場合においても、ハミルトンパスの再設定は容易に行うことができる。
[実施の形態2]
第1の実施の形態では、ハミルトンパスを1本のみ設定する例を示したが、監視対象ノードが多数存在する場合には、ハミルトンパスが長くなりすぎて監視にかかる時間が長くなりすぎる場合がある。
本実施の形態では、監視対象ノードをグループ化して各グループにハミルトンパスを設定することによって、メッセージの転送を並列に実行して処理時間を短縮するものである。
図13に、本実施の形態に係るシステムの概要を示す。本実施の形態では、管理ノード200bは、ノード群100aだけではなく、ノード群100b及び100c等、複数のノード群に接続されている。
図14に、本実施の形態に係る管理ノード200bの機能ブロック構成を示す。図8に示した第1の実施の形態に係る管理ノード200との差は、通信部240が通信部240bに置換されている点であり、通信部240bは、RDMA部241に加えて、リダクション処理部242を有する。なお、ノードデータ領域252には、ノード群100a、100b及び100c等に属する各ノードについて領域が設けられている。
リダクション処理部242は、監視対象ノードから呼び出されると当該監視対象ノードから受信した値(err_num)を累積することでerr_numの総和を算出して、サマリデータ領域251に格納する。
一方、本実施の形態に係る監視対象ノード1Xの機能ブロック構成を図15に示す。本実施の形態に係る監視対象ノード1Xと第1の実施の形態に係る監視対象ノード1との差は、通信部10が通信部10bで置換されており、通信部10bは、RDMA部11に加えて、リダクション処理部12を有する。リダクション処理部12は、管理ノード200bの通信部240bにおけるリダクション処理部242を呼び出して、err_numを送信する。
次に、図16及び図17を用いて、管理ノード200bの処理内容を説明する。
まず、初期設定部210のハミルトンパス生成部211は、所定のアルゴリズムにてグループ毎にハミルトンパスを形成し、ハミルトンパスデータ格納部220に格納する(図16:ステップS61)。このステップは、ノード群毎に実行する点を除きステップS1と同様である。
そして、初期設定部210は、通信部240bを介して各監視対象ノードに対して通信経路及び通番を含むハミルトンパスのデータを通知する(ステップS63)。本ステップは、ハミルトンパスがノード群毎に異なる点を除きステップS3と同様である。
その後、監視処理部230は、異常発生ノード数のカウンタerr_numを0に初期化し、ハミルトンパスにおける監視対象ノード列のノード番号(通番)のカウンタnを0に初期化し、ハミルトンパスの数(=グループの数)をnum_pathに設定する(ステップS65)。さらに、監視処理部230は、ノード群のためのカウンタiを0に初期化する(ステップS67)。
そして、監視処理部230は、i番目のグループに対する送信処理を実行する(ステップS69)。送信処理については、図17を用いて後に説明する。
i番目のグループに対する送信処理が完了すると、監視処理部230は、iを1インクリメントする(ステップS71)。その後、監視処理部230は、iがnum_pathよりも小さいか否かを判断する(ステップS73)。iがnum_pathより小さい場合には、監視処理部230は、nを0に初期化し、err_numも0に初期化する(ステップS75)。その後、処理はステップS69に戻る。一方、iがnum_path以上となった場合には、処理は終了する。
このようにノード群毎に送信処理が行われる。
次に、図17を用いて送信処理について説明する。
監視処理部230は、i番目のハミルトンパスにおける通番nの監視対象ノードへ、err_numを含むメッセージを、通信部240bを介して送信する(ステップS81)。なお、監視対象ノード1Xの通信部10bは、メッセージを受信すると、ACKメッセージを返信するものとする。
監視処理部230は、通信部240bを介して、通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかったか、すなわちタイムアウトしたか否かを判断する(ステップS83)。タイムアウトしなかった場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信した場合には、この段階における管理ノード200bの処理は終了する。
一方、タイムアウトした場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかった場合には、監視処理部230は、ノードデータ領域252において通番nのための領域にエラーを書き込む(ステップS85)。例えば、エラーフラグをオンにセットする。
さらに、監視処理部230は、err_numを1インクリメントし、nも1インクリメントする(ステップS87)。そして、監視処理部230は、nがi番目のハミルトンパスにおける監視対象ノード数nmaxiに達したか否かを判断する(ステップS89)。すなわち、i番目のハミルトンパスにおける監視対象ノード全てに対して管理ノード200bからメッセージを送信したか否かを判断する。
nが監視対象ノード数nmaxiに達していない場合には、処理はステップS81に戻り、ハミルトンパスにおいて次の監視対象ノードに対してメッセージを送ることになる。
一方、nがnmaxiに達した場合には、1つも監視対象ノードが正常に動作していなかったことになるので、監視処理部230は、異常ノード数err_num(=そのグループの監視対象ノード総数nmaxi)を、サマリデータ領域251に格納されている値と加算する(ステップS91)。サマリデータ領域251には初期値として0が格納されているものとする。そして処理は呼び出し元の処理に戻る。
このようにすれば、各ハミルトンパスについて、err_numを含むメッセージを送信できる。なお、正常に動作する監視対象ノードが存在しない場合には、その結果がサマリデータ領域251に蓄積される。
一方、各監視対象ノード1Xは、図18の処理を実行する。
まず、監視対象ノード1Xの通信部10bが、err_numを含むメッセージを他の装置から受信すると(図18:ステップS101)、監視処理部20に出力する。
監視処理部20は、自ノードがハミルトンパスにおける終点ノードであるか否かを判断する(ステップS103)。自ノードが終点ノードであれば、監視処理部20は、通信部10bのリダクション処理部12に、管理ノード200bのリダクション処理部242を呼び出してerr_numを出力させる(ステップS117)。そして処理を終了する。このようにリダクション機能を用いることで、err_numの集計については、管理ノード200bにおけるリダクション処理部242に委託する。
一方、自ノードが終点ノードではない場合には、監視処理部20は、ハミルトンパスデータ格納部30に格納されているハミルトンパス通番n(但し、本ステップを最初に実行する場合には自ノードの通番+1をnに設定。)の監視対象ノードを特定し、当該監視対象ノードに対して、err_numを含むメッセージを、通信部10bを介して送信する(ステップS105)。
監視処理部20は、通信部10bを介して、通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかったか、すなわちタイムアウトしたか否かを判断する(ステップS107)。タイムアウトしなかった場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信した場合には、この監視対象ノード1Xの処理は終了する。
一方、タイムアウトした場合、すなわち通番nの監視対象ノードからACKメッセージを所定時間内に受信しなかった場合には、監視処理部20は、RDMA部11に指示して、管理ノード200bが有するメモリ250のノードデータ領域252において通番nのノードのための領域にエラーを書き込ませる(ステップS109)。例えば、エラーフラグをオンにセットする。例えば、自ノードが10000番台のノード群に属する場合、10000+nでシステム全体の中の通番を算出し、当該システム全体の中の通番のノードのための領域に書き込む。
また、監視処理部20は、err_numの値を1インクリメントする(ステップS111)。そして、監視処理部20は、nが自ノードが属するハミルトンパスにおける監視対象ノード数nmaxに達したか否かを判断する(ステップS113)。すなわち、ハミルトンパスにおいて、自ノードより後ろに設定されている監視対象ノード全てに対して現監視対象ノード1Xからメッセージを送信したか否かを判断する。
nが監視対象ノード数nmaxに達していない場合には、監視処理部20は、nを1インクリメントする(ステップS115)。そして、処理はステップS105に戻り、ハミルトンパスにおいて次の監視対象ノードに対してメッセージを送ることになる。
一方、nが監視対象ノード数nmaxに達した場合には、処理はステップS117に移行する。すなわち、正常に動作する監視対象ノードがハミルトンパスの自ノード以降において他に存在しないので、管理ノード200bに報告を行う。
監視対象ノード1Xでは、RDMA部11を用いて、RDMAによってデータを、管理ノード200bのメモリ250に直接書き込むので、管理ノード200bの処理負荷を増加させずに済むようになっている。
各ハミルトンパスにおいて正常に動作する監視対象ノードのうち最後尾の監視対象ノードは、上で述べたように、ステップS117で、管理ノード200bにおけるリダクション処理部242に、err_numを出力する。
そうすると、管理ノード200bにおけるリダクション処理部242は、図19に示すような処理を実行する。
すなわち、リダクション処理部242は、監視対象ノード1Xから呼び出されてerr_numを受信し(ステップS121)、サマリデータ領域251に格納されている値に対して受信したerr_numを加算してサマリデータ領域251に書き込むことで、err_numの合計を更新する(ステップS123)。
このような処理を実行することで、非同期に各ハミルトンパスにおいて実質的な最後尾の監視対象ノードからerr_numを受信しても、サマリデータ領域251に格納されている値を、通信部240bの処理として更新するので、管理ノード200bのCPU(Central Processing Unit)の処理負荷を抑制できる。
なお、第1の実施の形態でも第2の実施の形態でもN次元メッシュを前提とした説明であったが、N次元トーラスでも同様の処理を行うことで、上で述べたような効果を得ることができる。トーラスの場合には、ハミルトンパスの始点と終点とが同じ監視対象ノードとなる場合があるが、メッセージの送信元が管理ノードであれば始点ノードとして動作し、他の監視対象ノードであれば終点ノードとして動作すればよい。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で述べた機能ブロック構成は、必ずしも装置の部品構成やプログラムモジュール構成と一致しない場合もある。
また、err_numを含むメッセージを送受信する例を示したが、それ以外のデータについてもメッセージに含めるようにしても良い。例えば、ハミルトンパスの経路上に存在する監視対象ノードに対応するビット列を含むようにして、メッセージの送信先が異常であると検出されるとその送信先の監視対象ノードに対応するビットをオンにセットするようにしても良い。
さらに、処理フローについても、処理結果が変わらない限り、実行順番を入れ替えたり、複数ステップを並列に実行するようにしても良い。
なお、上で述べた管理ノード200及び200b及び監視対象ノード1及び1Xは、コンピュータ装置であって、図20に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
なお、通信制御部2517は、管理ノード200又は200bにおける通信部240又は240bや、監視対象ノード1又は1Xにおける通信部10又は10bに対応する。すなわち、通信制御部2517は、RDMA機能やリダクション機能を有している。
以上述べた本実施の形態をまとめると、以下のようになる。
本実施の形態に係るシステムは、通信パスを介して接続された複数の情報処理装置と、複数の情報処理装置を管理する管理装置とを含む。そして、上記管理装置は、(a1)複数の情報処理装置に対して設定されたハミルトンパスにおいて複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信する。一方、(b1)上で述べた複数の情報処理装置の各々は、メッセージを受信すると、ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、(b2)ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又はハミルトンパスの末端である情報処理装置は、これまでに検出された異常に関する情報を前記管理装置に送信する。
このようにすれば、異常検知のための処理負荷をシステム全体として削減できるようになる。すなわち、メッセージの送受信が各情報処理装置において原則として1回で済む。また、管理装置についても、原則としてメッセージの送信は1ハミルトンパスにつき1回に抑制され、検出された異常に関する情報についても1ハミルトンパスにつき1回の受信に抑制される。さらに、検出された異常に関する情報の管理装置への送信については、メッセージで送信する場合もあれば、RDMAを用いる場合もある。
なお、上で述べた複数の情報処理装置の各々は、(b3)ハミルトンパスにおいて次に正常に動作する情報処理装置を探索し、(b4)異常な情報処理装置を検出すると、当該異常な情報処理装置のデータを管理装置のメモリに書き込むようにしても良い。このようにRDMAを用いれば、管理装置のプロセッサの処理負荷を下げることができる。
さらに、上で述べた管理装置は、(a2)複数の情報処理装置の各々がいずれかに属する複数のグループの各々に対して設定されたハミルトンパスにおいて複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、(a3)複数のグループの各々について上記これまでに検出された異常に関する情報を受信すると、当該情報を集約するようにしても良い。情報処理装置のグループ毎にハミルトンパスを設定すれば、多数の情報処理装置を取り扱う場合には並列に処理が行われるので、処理時間を短縮できる。
なお、上で述べたような処理をプロセッサ又はコンピュータに実行させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
通信パスを介して接続された複数の情報処理装置と、
前記複数の情報処理装置を管理する管理装置と
を含み、
前記管理装置は、
前記複数の情報処理装置に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
前記複数の情報処理装置の各々は、
前記メッセージを受信すると、前記ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、
前記ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又は前記ハミルトンパスの末端である情報処理装置は、
これまでに検出された異常に関する情報を前記管理装置に送信する
システム。
(付記2)
前記複数の情報処理装置の各々は、
前記ハミルトンパスにおいて次に正常に動作する情報処理装置を探索し、
異常な情報処理装置を検出すると、当該異常な情報処理装置のデータを前記管理装置のメモリに書き込む
付記1記載のシステム。
(付記3)
前記管理装置は、
前記複数の情報処理装置の各々がいずれかに属する複数のグループの各々に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
前記複数のグループの各々について前記これまでに検出された異常に関する情報を受信すると、当該情報を集約する
付記1又は2記載のシステム。
(付記4)
通信パスを介して接続された複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有するシステムにより実行される異常検出方法であって、
前記管理装置は、前記複数の情報処理装置に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
前記複数の情報処理装置の各々は、前記メッセージを受信すると、前記ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、
前記複数の情報処理装置のうち前記ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又は前記ハミルトンパスの末端である情報処理装置は、これまでに検出された異常に関する情報を前記管理装置に送信する
処理を含む異常検出方法。
1,1X 監視対象ノード
10,10b 通信部
11 RDMA部
12 リダクション処理部
20 監視処理部
30 ハミルトンパスデータ格納部
200,200b 管理ノード
210 初期設定部
211 ハミルトンパス生成部
220 ハミルトンパスデータ格納部
230 監視処理部
240,240b 通信部
241 RDMA部
242 リダクション処理部
250 メモリ
260 異常処理部

Claims (4)

  1. 通信パスを介して接続された複数の情報処理装置と、
    前記複数の情報処理装置を管理する管理装置と
    を含み、
    前記管理装置は、
    前記複数の情報処理装置に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
    前記複数の情報処理装置の各々は、
    前記メッセージを受信すると、前記ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、
    前記ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又は前記ハミルトンパスの末端である情報処理装置は、
    これまでに検出された異常に関する情報を前記管理装置に送信する
    システム。
  2. 前記複数の情報処理装置の各々は、
    前記ハミルトンパスにおいて次に正常に動作する情報処理装置を探索し、
    異常な情報処理装置を検出すると、当該異常な情報処理装置のデータを前記管理装置のメモリに書き込む
    請求項1記載のシステム。
  3. 前記管理装置は、
    前記複数の情報処理装置の各々がいずれかに属する複数のグループの各々に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
    前記複数のグループの各々について前記これまでに検出された異常に関する情報を受信すると、当該情報を集約する
    請求項1又は2記載のシステム。
  4. 通信パスを介して接続された複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有するシステムにより実行される異常検出方法であって、
    前記管理装置は、前記複数の情報処理装置に対して設定されたハミルトンパスにおいて前記複数の情報処理装置のうち正常に動作する最初の情報処理装置に、検出した異常に関する情報を含むメッセージを送信し、
    前記複数の情報処理装置の各々は、前記メッセージを受信すると、前記ハミルトンパスにおいて次に正常に動作する情報処理装置が存在する場合には当該次に正常に動作する情報処理装置に、これまでに検出された異常に関する情報を含むメッセージを送信し、
    前記複数の情報処理装置のうち前記ハミルトンパスにおいて次に正常に動作する情報処理装置を検出できない又は前記ハミルトンパスの末端である情報処理装置は、これまでに検出された異常に関する情報を前記管理装置に送信する
    処理を含む異常検出方法。
JP2014161251A 2014-08-07 2014-08-07 システム及び異常検知方法 Active JP6323243B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014161251A JP6323243B2 (ja) 2014-08-07 2014-08-07 システム及び異常検知方法
US14/742,842 US9727403B2 (en) 2014-08-07 2015-06-18 System and method for detecting an abnormal condition in a multi-node communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014161251A JP6323243B2 (ja) 2014-08-07 2014-08-07 システム及び異常検知方法

Publications (2)

Publication Number Publication Date
JP2016038705A JP2016038705A (ja) 2016-03-22
JP6323243B2 true JP6323243B2 (ja) 2018-05-16

Family

ID=55267482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014161251A Active JP6323243B2 (ja) 2014-08-07 2014-08-07 システム及び異常検知方法

Country Status (2)

Country Link
US (1) US9727403B2 (ja)
JP (1) JP6323243B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7063139B2 (ja) * 2018-06-15 2022-05-09 富士通株式会社 監視プログラム、監視方法、および並列処理装置
WO2021209784A1 (en) * 2020-04-13 2021-10-21 Eci Telecom Ltd. Satisfying service demands in data communication networks
CN112217668B (zh) * 2020-09-29 2021-10-29 福州大学 基于比较模型的自适应网络故障诊断方法
CN113220540B (zh) * 2021-06-07 2023-04-25 深圳华锐分布式技术股份有限公司 业务管理方法、装置、计算机设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3532037B2 (ja) 1996-07-31 2004-05-31 富士通株式会社 並列計算機
JPH11306153A (ja) * 1998-04-17 1999-11-05 Mitsubishi Electric Corp 分散システムのネットワーク管理方式
JP2000187598A (ja) 1998-12-24 2000-07-04 Hitachi Ltd 並列計算機
DE60200530T2 (de) * 2001-04-04 2004-09-23 Alcatel Mechanismus und Verfahren zur Bestimmung und schnellen Wiederherstellung einer minimalen Kapazität in einem vermaschten Netz
JP2002312199A (ja) * 2001-04-13 2002-10-25 Mitsubishi Electric Corp 異常検知電子機器及び異常検知方法及び異常検知電子機器システム及び異常検知プログラム及び異常検知プログラムを記録したコンピュータ読み取り可能な記録媒体
US7551552B2 (en) * 2003-10-17 2009-06-23 Microsoft Corporation Method for providing guaranteed distributed failure notification
US7991857B2 (en) * 2008-03-24 2011-08-02 International Business Machines Corporation Broadcasting a message in a parallel computer
JP4845982B2 (ja) * 2009-03-05 2011-12-28 株式会社日立製作所 情報処理装置、及びストレージシステムから取得した構成情報の管理方法
WO2012004891A1 (ja) * 2010-07-09 2012-01-12 富士通株式会社 コンピュータの監視プログラム,監視方法及び監視装置
JP5754504B2 (ja) * 2011-05-23 2015-07-29 富士通株式会社 管理装置、情報処理装置、情報処理システム及びデータ転送方法
FR2987530B1 (fr) * 2012-02-28 2014-03-28 Sagemcom Energy & Telecom Sas Reseau de dispositifs formant un systeme de diagnostic
JPWO2014103078A1 (ja) 2012-12-28 2017-01-12 富士通株式会社 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム

Also Published As

Publication number Publication date
JP2016038705A (ja) 2016-03-22
US20160041863A1 (en) 2016-02-11
US9727403B2 (en) 2017-08-08

Similar Documents

Publication Publication Date Title
US10075327B2 (en) Automated datacenter network failure mitigation
US7631222B2 (en) Method and apparatus for correlating events in a network
JP6323243B2 (ja) システム及び異常検知方法
US9165247B2 (en) Using global and local catastrophes across sub-populations in parallel evolutionary computing
US10740198B2 (en) Parallel partial repair of storage
JP2009199395A (ja) 仮想サーバ管理装置および仮想サーバ管理方法
JP5078347B2 (ja) 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
CN111160661A (zh) 一种电力通信网可靠性优化方法、系统以及设备
US9032118B2 (en) Administration device, information processing device, and data transfer method
Oliva et al. Distributed cycle detection and removal
WO2019019915A1 (zh) 一种调度方案配置方法和装置及其计算机可读存储介质和计算机设备
Ali et al. Probabilistic normed load monitoring in large scale distributed systems using mobile agents
US20140317257A1 (en) Risk mitigation in data center networks
Oussane et al. Fault Tolerance in The IoT: A Taxonomy Based on Techniques
Tian et al. Recovery mechanism of large-scale damaged edge computing net-work in industrial internet of things
US8996911B2 (en) Core file limiter for abnormally terminating processes
US20240193439A1 (en) Automonous digital twin generation using edge-nodes
CN117667834B (zh) 存算解耦系统、数据处理方法及存储介质
Jaggi et al. Message efficient global snapshot recording using a self stabilizing spanning tree in a MANET
US20240195679A1 (en) Smart online link repair and job scheduling in machine learning supercomputers
JP7306481B2 (ja) 分散処理システム
JP2018097435A (ja) 並列処理装置及びノード間通信プログラム
Miao et al. Computation-Aware Link Repair for Large-Scale Damage in Distributed Cloud Networks
Lei A novel fault tolerance based load balancing technique in cloud computing
Al Adraa et al. Comprehensive Performance and Robustness Analysis of Expander-Based Data Centers

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180228

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180326

R150 Certificate of patent or registration of utility model

Ref document number: 6323243

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150