JPWO2014103078A1 - 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム - Google Patents

情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム Download PDF

Info

Publication number
JPWO2014103078A1
JPWO2014103078A1 JP2014554053A JP2014554053A JPWO2014103078A1 JP WO2014103078 A1 JPWO2014103078 A1 JP WO2014103078A1 JP 2014554053 A JP2014554053 A JP 2014554053A JP 2014554053 A JP2014554053 A JP 2014554053A JP WO2014103078 A1 JPWO2014103078 A1 JP WO2014103078A1
Authority
JP
Japan
Prior art keywords
management
information processing
node
management data
processing system
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
JP2014554053A
Other languages
English (en)
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
Publication of JPWO2014103078A1 publication Critical patent/JPWO2014103078A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/2033Failover techniques switching over of hardware resources
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2051Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant in regular structures

Abstract

本発明を適用した1システムは、互いに接続された複数の情報処理装置と、複数の情報処理装置の管理に必要な第1の数の管理データを、第1の数以上である第2の数の管理データに分割し、分割した第2の数の管理データを複数の情報処理装置に対してそれぞれ送信する管理装置を有する。

Description

本発明は、情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラムに関する。
近年、多数の情報処理装置としてのコンピュータ(以下「計算ノード」)をネットワークに接続し、計算処理(以下「ジョブ」)を複数の計算ノードに分散させて並列に行わせる情報処理システムとしてのコンピュータシステムの需要が高まっている。このようなコンピュータシステムでは、各計算ノードのハードウェア、並びに計算ノード群に処理させるジョブの管理、及び制御に管理用のコンピュータ(以下「管理ノード」)が用いられる。
大規模なコンピュータシステムでは、1台の管理ノードにより全てのコンピュータを管理することは、その管理に要する時間が長くなって処理性能を低下させることから、困難である。このため、大規模なコンピュータシステムでは、通常、複数台の管理ノードによる分散処理が採用される。
図1は、従来の管理ノードを用いたコンピュータシステムの管理方法を説明する図である。図1において、1は計算ノード、2(2−1、2−2)は管理ノードである。
図1に表すように、大規模なコンピュータシステムの場合、管理ノード2は木構造状に階層化される。図1では、管理ノード2−1は、木構造における最上位の管理ノード2であり、その下位の管理ノード2−2を統制する。管理ノード2−2は、その下位の管理ノード2−3を統制する。各管理ノード2−3は、管理対象とする計算ノード1を管理する。上位の管理ノード2(2−1、或いは2−2)によって統制される管理ノード2(2−2及び2−3)は以降「管理サブノード」と表記する。最上位に位置する管理ノード2−1は、以降「最上位管理ノード」と表記する。
図1に表すような管理ノード2の階層化では、下位の管理サブノード2を統制する管理ノード2は、各管理サブノード2を介して計算ノード1を間接的に管理する。このため、管理ノード2間の階層関係は、下位の管理サブノード2を統制する管理ノード2と、その管理ノード2が直接、或いは間接的に管理する計算ノード1群との間の包含関係に対応する。また、その階層関係は、最上位管理ノード2−1から各計算ノード1に指示メッセージを配布する経路、及び各計算ノード1から情報を最上位管理ノード2−1に送信する経路に対応する。
図1に表すようなコンピュータシステムでは、複数の管理ノード2のいずれか1台ダウンした場合、ダウンした管理ノード2に応じて、管理できなくなる計算ノード1が発生する。そのため、コンピュータシステムの高信頼化には、冗長化が必要である。
図1に表すような管理ノード2の階層関係は、固定的な木構造であり、各管理ノード2は、階層関係(木構造)上の位置に応じた固有の役割を行わなくてはならない。一般に、システムの高信頼化には、(a)システムとしての機能を維持する、(b)処理中のデータを保全する、という2つの条件が考慮される。この2つの条件を考慮しなければならないこともあり、図1に表すような管理ノード2の階層関係が存在する場合、冗長化は、管理ノード2ごとに行う必要がある。
コンピュータシステムでは、上記のように、計算ノード1群に処理させるジョブの管理、及び制御が行われる。条件(b)のデータとしては、ジョブの管理、或いは制御に係わる情報が含まれる。そのような情報が失われた場合、コンピュータシステム全体の運用管理に大きな悪影響を及ぼす。このため、条件(b)も非常に重要である。
コンピュータシステムの高信頼化では、多重故障への耐性が必要である。図1に表すような管理ノードの木構造(階層関係)を採用した場合、k(1以上の整数)重故障への耐性には、各管理ノードの多重度を1+k倍にする必要がある。
現在、大規模なコンピュータシステムでも、多重故障への耐性が実現されている。その耐性の実現は、木構造上の各ノード(頂点、或いは節点)でのデータの保全に用いるコンピュータを用意し、そのコンピュータに、複数ノード分のデータを退避させることで行われている。
この実現方法では、故障した管理ノード2と代替させるコンピュータの台数を抑えることができる。しかし、データの退避のために、ノード間の通信を行わなければならない。その通信は遅延を発生させる。この遅延は、計算ノード1群の迅速な制御の実行、及び管理ノード2の故障への対応、等を迅速に行ううえでの障害となる。そのため、この実現方法は、通信遅延時間の制約が厳しいコンピュータシステムに採用するのは困難である。
上記のように、各管理ノード2は、階層関係(木構造)上の位置に応じた固有の役割を行わなくてはならない。このことから、木構造上のノード毎に、代替用の管理ノード2を用意し、各代替用の管理ノード2にデータを保全させるという実現方法が考えられる。この実現方法は、退避させたデータへのアクセスを行わなくても良いため、通信遅延時間の制約が厳しいコンピュータシステムにも採用することができる。
しかし、この実現方法では、木構造全体で管理ノード2を表すノード(頂点、或いは節点)の数がMであり、その木構造のノードでの負荷分散の多重度をm(p)とすると、k重故障への耐性に必要な全ノード数は、M×(1+k)により算出される数となる。任意のノードで必要なノード数はm(p)×(1+k)により求められるので、M=Σm(p)である。
この実現方法では、上記のように、ノード数、及び想定するkの値に応じた数の代替用の管理ノード2を用意しなければならない。大規模なコンピュータシステムでは、ノード数は非常に大きい。そのため、代替用の管理ノード2を非常に多く用意しなければならず、冗長用とする予備システムの資源が膨大となる。膨大な資源の予備システムの存在は、コンピュータシステムの構築コストを上昇させる他に、運用コストも上昇させる。このことから、多重故障への耐性では、予備システムの資源を抑えることも重要と云える。
特開2008−153735号公報 特開平10−21103号公報
1側面では、本発明は、予備システムの資源を抑えつつ、管理用のノードに発生する多重故障に迅速に対応できるようにするための技術を提供することを目的とする。
本発明を適用した1システムは、互いに接続された複数の情報処理装置と、複数の情報処理装置の管理に必要な第1の数の管理データを、第1の数以上である第2の数の管理データに分割し、分割した第2の数の管理データを複数の情報処理装置に対してそれぞれ送信する管理装置を有する。
本発明を適用した1システムでは、予備システムの資源を抑えつつ、管理用のノードに発生する多重故障に迅速に対応することができる。
従来の管理ノードを用いたコンピュータシステムの管理方法を説明する図である。 本実施形態による情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラムを実現させる仕組みを説明する図である。 本実施形態で用いられる管理ノードを説明する図である。 管理データに対して行われる操作を説明する図である。 管理データに対して行われる操作の詳細を説明する図である(その1)。 管理データに対して行われる操作の詳細を説明する図である(その2)。 管理データに対して行われる操作の詳細を説明する図である(その3)。 管理データの送信方法を説明する図である。 管理ノード間の接続関係を説明する図である。 送信された消失訂正符号セグメントの確認方法を説明する図である(1次元トーラスを用いた場合)。 送信された消失訂正符号セグメントの確認方法を説明する図である(2次元トーラスを用いた場合)。 管理データ送信処理のフローチャートである。 セグメント受信処理のフローチャートである。 セグメント受信/復元処理のフローチャートである。 セグメント転送処理のフローチャートである。 転送希望通知処理のフローチャートである。 データから消失訂正符号セグメントを生成しない場合に適用可能な送信手順の例を表す図である(変形例)。 メッセージ受信処理のフローチャートである(変形例)。 データの保全方法を説明する図である。 他の実施形態を適用したシステム構成例を説明する図である。 管理データ復元依頼処理のフローチャートである。 管理データ復元処理のフローチャートである。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
図2は、本実施形態による情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラムを実現させる仕組みを説明する図である。図2において、10は本実施形態による情報処理システムであるコンピュータシステムが備えるコンピュータ1をまとめた管理対象ノード群、20は管理対象ノード群10の管理用に設けられた管理機構群である。
管理機構群20は、複数の管理ノード21を備えている。各管理ノード21には、管理操作実行機構25、及び管理データ保全機構26が搭載されている。
管理操作実行機構25は、管理対象ノード群10の管理用の機能を提供する。その管理用の機能により、各コンピュータ1の起動、停止、実行すべきジョブの指定、等の管理操作が行われる。これら各コンピュータ1の管理操作は、その管理操作の内容を表すメッセージの送信により実現される。そのメッセージは以降「管理操作メッセージ」と表記する。
管理データ保全機構26は、管理対象ノード群10の管理に必要なデータ(以降「管理データ」)を保存する機能を提供する。各コンピュータ1から送信される管理データとしては、実行中のジョブを表すデータ、構成部品の状態を表すデータ、等がある。
各管理ノード21に搭載された管理操作実行機構25、及び管理データ保全機構26は、上記のように、管理ノード21として動作するうえで必要な機能を提供する。それにより、管理対象ノード群10は、管理機構群20により管理される。
各管理ノード21に搭載された管理操作実行機構25、及び管理データ保全機構26は、互いに独立して動作する。これは、管理操作実行機構25、及び管理データ保全機構26のうちの一方の停止によって他方も停止する可能性をより抑えるためである。各機構25、及び26の互いに独立した動作は、その動作に必要なハードウェア群の少なくとも一部を別にすることで可能にすることができる。その互いに独立した動作は、仮想マシンを用いて実現させても良く、各機構25、及び26をそれぞれ独立した別の装置とすることで実現させても良い。
図3は、本実施形態で用いられる管理ノードを説明する図である。図3に表すように、管理ノード21は、管理操作実行機構25と管理データ保全機構26が互いに独立して動作する。管理操作実行機構25には、上記管理操作メッセージの格納に用いられる記憶装置である管理操作メッセージバッファ25aが設けられている。管理データ保全機構26には、管理データキャッシュ26a、及び管理データセグメント保全領域26bが確保されている。管理データキャッシュ26a、及び管理データセグメント保全領域26bは、例えば管理ノード21に搭載されているメモリ上に確保された記憶領域である。
本実施形態では、各管理操作実行機構25から他の管理操作実行機構25への管理操作メッセージの送信は、複数の送信先に対して同時にメッセージの送信を行うマルチキャスト機能を利用し、複数の他の管理操作実行機構25を対象に行う。そのマルチキャスト機能を利用した管理操作メッセージの送信により、同じ管理操作メッセージを受信した1つ以上の管理操作実行機構25が正常に動作すれば、管理対象ノード群10の管理を継続させることができる。そのため、高い信頼性が実現される。また、同じ管理操作メッセージを受信した1つ以上の管理操作実行機構25が正常に動作すれば良いことから、各管理操作実行機構25に複数の異なる管理操作メッセージを受信させても良い。それにより、用意すべき管理操作実行機構25の数も抑えることができる。
一方、各管理データ保全機構26から他の管理保全機構26への管理データの送信は、以下のように行う。
図4は、管理データに対して行われる操作を説明する図である。
本実施形態では、図4に表すように、管理データをn(nは正の整数)個のセグメントに分解し、n個のセグメントからn+k個のセグメントを生成する。ここでのk(kは正の整数)は、対応可能とする多重故障の数である。このことから、n+k個のセグメントは、そのなかのk個のセグメントが失われても元の管理データを復元可能なセグメントとしている。
このn+k個のセグメントは、例えば以下のようにして生成することができる。図5A〜図5Cを参照して具体的に説明する。
先ず、図5Aに表すように、元データ全体をn分割する。このn分割は、各セグメントの長さ(データ量)が等しくなるように行う。そのために、元データがe(eは正の整数)ビットの整数倍でない場合、最後に必要な数の値が0のビットを追加する。追加したビット数は記録しておく。
次にq=2^eとして、図5Aに表すように、元データを有限体GF(q)成分のn次元ベクトルと見なす。ここでは元データをvとする。
GF(q)上の次の条件を満たすn行n+k列の行列を任意に選択する。選択した行列はGとする。このGの各列は「コード・セグメント・ベクトル」と呼ぶことにする。
条件1:任意のn個の列が線形独立
条件2:最初のn個の列がn行n列の単位行列
u=vGとおく。vGは、図5Bに表すように、vにGを右からかけて得られるn+k次元ベクトルである。このn+k次元ベクトルのuが、上記n+k個のセグメントとなる。
uからの元データの復元は、例えば、以下のようにして行うことができる。
uのなかで消失していない要素、つまり内容が適切な要素のなかからn要素を任意に選択する。選択したn要素のベクトルはwとする。
w=vPとする。Pはuからwを得るときと同じ番号の列をGから選んで得られる行列である。
Pの逆行列をQとすると、v=wQとなり、Qを用いてvを復元する。ビットを追加して元データを分割していた場合、追加したビット数を考慮して、元データを復元する。
図3に表す管理データキャッシュ26aは、管理対象とするコンピュータ1から得られた管理データ、或いは復元された管理データの格納に用いられる。管理データセグメント保全領域26bは、生成したn+k個のセグメント、或いは受信したセグメントの格納に用いられる。図3の31は、生成または受信したセグメントである。30は、管理データ別にセグメント31を格納するために確保される領域(以降「個別保全領域」と表記)である。そのセグメント31は以降、「消失訂正符号セグメント」と呼ぶことにする。
図6は、管理データの送信方法を説明する図である。
各管理ノード21は、NIC(Network Interface Card)211、CPU(Central Processing Unit)212、及びメモリ213を備えている。管理データを送信する管理ノード21は、上記のように、n+k個のセグメントを生成し、生成したn+k個のセグメントを個別にそれぞれ異なる管理ノード21に送信する。
図7は、管理ノード間の接続関係を説明する図である。
図7に表すように、各管理ノード21は複数の他の管理ノード21と接続されている。それにより、マルチキャストによる管理操作メッセージの複数の管理ノード21への送信、および、消失訂正符号セグメント31の複数の管理ノード21への送信が可能となっている。
消失訂正符号セグメント31は、k個までの消失訂正符号セグメント31が消失しても元の管理データを復元可能なものである。そのため、高い信頼性を確保できる。
各消失訂正符号セグメント31をそれぞれ異なる管理ノード21(管理データ保全機構26)に送信して保存させる場合、図1に表す各管理ノードに必要なデータ全体のコピーを冗長用のノードに保持させる従来の方法と比較して、各消失訂正符号セグメント31の保存に必要なノード数をより抑えることができる。具体的には、k重故障を想定した冗長ノード数は、従来の方法では1+kとなるが、本実施形態では(1+INT(k/n))となる。INT(k/n)は、k/nの小数点以下を切り上げて整数化した値を表す。
また、マルチキャストによる送受信では、以下のような利点がある。
図1に表すような管理ノードの階層関係で1台の管理ノードのみを通信対象とするユニキャストによる管理データの送信を行わせる場合、大規模なコンピュータシステムでは、木構造における階層の数、すなわちノードの中継段数が多いことから、通信遅延が大きくなる。ノードによる中継は、通信媒体上の伝送時間より2桁程度、大きい遅延を発生させる。また、故障が発生する確率も高くなる。
しかし、マルチキャストを用いた送信では、図7に表すように、階層関係に沿っていない送信を行うことができる。このため、木構造における階層の数、すなわちノードの中継段数をより少なくすることができる。それにより、故障への耐性の向上と共に、通信遅延もより抑えることができる。
図8A及び図8Bは、送信された消失訂正符号セグメントの確認方法を説明する図である。図8Aは、複数のノードを環状に接続した1次元トーラスを用いた場合、図8Bはメッシュ状に接続された複数のノードの端辺をそれぞれ接続した2次元トーラスを用いた場合、のものである。
図8Aでは、1台の管理ノード21から4台の管理ノード21に消失訂正符号セグメント31が送信される場合の例を表している。4台の管理ノード21は、1次元トーラスを形成し、その1次元トーラスにより隣接する管理ノード21間で消失訂正符号セグメント31の送達確認が行われる。また、その管理ノード21間では、例えば図8Aに表す矢印に沿って、消失訂正符号セグメント31の送受信が行われる。消失訂正符号セグメント31の送受信により、例えば図8Aの最下端に位置する管理ノード21に、全ての消失訂正符号セグメント31が集まる。図8Bでは同様にして、最下端、且つ最右端に位置する管理ノード21に、全ての消失訂正符号セグメント31が集まる。
送達確認により故障していることが判明した管理ノード21は、消失訂正符号セグメント31の収集対象から除外される。しかし、k台の管理ノード21に故障が発生しても、元の管理データを復元することができる。このことから、消失訂正符号セグメント31がそれぞれ送信される管理ノード21は、図16に表すように、管理データを分散させて保存させる記憶装置として機能させることができる。管理ノード21を管理データの保存用とすることから、何れかの管理ノード21の故障にも迅速に対応することができる。
図8A或いは図8Bに表すようなトーラスでは、送達確認に伴い、各管理ノード21にデータが集まる仕組みである。管理ノード21間の接続関係によっては、1台の管理ノード21からデータをマルチキャストにより送信すべき全ての管理ノード21にデータを送信できない場合がありうる。このことから、図8A或いは図8Bに表すようなトーラスは、消失訂正符号セグメント31を直接、送信できない管理ノード21に必要な消失訂正符号セグメント31を取得/保存させる目的で用いることもできる。
以降は、管理ノード21に搭載されたCPU212に着目して、その動作を説明する。その動作は、メモリ213に読み出されたプログラムをCPU212が実行することで実現される。メモリ213に読み出されるプログラムは、管理ノード21に搭載された不揮発性の記憶装置に格納されていても良いが、外部から取得しても良い。
図9は、管理データ送信処理のフローチャートである。この管理データ送信処理は、送信対象とする管理データを送信するための処理である。この管理データ送信処理は、例えば、管理対象ノード群10からの管理データの取得、或いは1つにまとめるべき複数の管理データの復元、等を契機に実行される。
先ず、CPU212は、管理データをn等分してn個のセグメントに分解する(S1)。次にCPU212は、n個のセグメントからn+k個の消失訂正符号セグメント31を生成し(S2)、生成した各消失訂正符号セグメント31にエラー検出訂正符号を付与する(S3)。その後、CPU212は、エラー検出訂正符号を付与した消失訂正符号セグメント31を対応する複数の管理ノード21に送信する(S4)。
図10は、セグメント受信処理のフローチャートである。このセグメント受信処理は、別の管理ノード21による消失訂正符号セグメント31の受信のために行われる処理である。それにより、このセグメント受信処理は、消失訂正符号セグメント31の受信を契機に実行される。
先ず、CPU212は、NIC211により受信された消失訂正符号セグメント31を受け取る(S11)。次にCPU212は、受け取った消失訂正符号セグメント31に付与されているエラー検出訂正コードを用いて、訂正不可能なエラーが発生しているか否か、つまりそのセグメント31が管理データの復元に利用可能なものか否かを確認するための検査を行う(S12)。
その検査を行ったCPU212は、次に、その検査結果が管理データの復元に利用可能となっているか否か判定する(S13)。受信した消失訂正符号セグメント31にエラーが発生していないか、或いはエラーが発生したが訂正可能である場合、S13の判定はyesとなってS14に移行する。受信した消失訂正符号セグメント31に訂正不可能なエラーが発生していた場合、S13の判定はnoとなってS15に移行する。
S14では、CPU212は、受信した消失訂正符号セグメント31を管理データセグメント保全領域26bの対応する個別保全領域30に格納する。次にCPU212は、他に受信すべき消失訂正符号セグメント31があるか否か判定する(S15)。他に受信すべき消失訂正符号セグメント31が存在する場合、S15の判定はyesとなってS11に戻り、次の消失訂正符号セグメント31の受信に備える。一方、他に受信すべき消失訂正符号セグメント31が存在しない場合、S15の判定はnoとなり、ここでセグメント受信処理が終了する。
消失訂正符号セグメント31から管理データの復元を行う可能性のある管理ノード21では、上記セグメント受信処理に代わり、図11にフローチャートを表すセグメント受信/復元処理をCPU212が実行する。
図11のS21〜S24の処理内容は、図10のS11〜S14の処理内容と基本的に同じである。このことから、S25以降について詳細の説明を行う。
S25では、CPU212は、管理データセグメント保全領域26bを参照し、管理データの復元開始が可能か否か判定する。管理データセグメント保全領域26bの対応する個別保全領域30に、管理データの復元に必要な数の消失訂正符号セグメント31が格納されていた場合、S25の判定はyesとなってS26に移行する。必要な数の消失訂正符号セグメント31が個別保全領域30に格納されていない場合、S25の判定はnoとなってS28に移行する。
S26では、CPU212は、管理データの復元開始が必要か否か判定する。自管理ノード21に、受信した消失訂正符号セグメント31から管理データの復元を行う役割が割り当てられていた場合、S26の判定はyesとなってS27に移行する。復元を行うべき管理データの消失訂正符号セグメント31を受信しなかった場合、S26の判定はnoとなってS28に移行する。
S27では、CPU212は、管理データセグメント保全領域26bの対応する個別保全領域30に格納された消失訂正符号セグメント31を用いて、管理データの復元を行う。次にCPU212は、他に受信すべき消失訂正符号セグメント31があるか否か判定する(S28)。他に受信すべき消失訂正符号セグメント31が存在する場合、S28の判定はyesとなってS21に戻り、次の消失訂正符号セグメント31の受信に備える。一方、他に受信すべき消失訂正符号セグメント31が存在しない場合、S28の判定はNoとなり、ここでセグメント受信/復元処理が終了する。
図12は、セグメント転送処理のフローチャートである。このセグメント転送処理は、図8A或いは図8Bに表すように、同じ管理データから生成された消失訂正符号セグメント31がマルチキャストされた各管理ノード21によって実行される処理である。このセグメント転送処理を実行する管理ノード21は、他の管理ノード21への送達確認、消失訂正符号セグメント31の収集を行うことができる。
先ず、CPU212は、管理データセグメント保全領域26b(図12中「受信セグメント領域」と表記)の確認を行い、別の管理ノード21に転送すべき消失訂正符号セグメント31、或いは必要な消失訂正符号セグメント31を特定する(S31)。図12では、消失訂正符号セグメント31を転送すべき別の管理ノード21は「隣接ノード」と表記している。以降、この表記を用いる。
次にCPU212は、転送すべき消失訂正符号セグメント31、或いは必要な消失訂正符号セグメント31を特定できた場合、特定できた旨を対応する隣接ノードに通知し(S32)、隣接ノードに対する通知による返信として転送希望メッセージが受信されるのを待つ(S33)。その転送希望メッセージの受信により、S34に移行する。
S34では、CPU212は、転送希望メッセージが、消失訂正符号セグメント31の転送を希望しているものか否か判定する。転送希望メッセージが、転送が必要な内容であった場合、判定はyesとなってS35に移行する。転送希望メッセージが、転送を希望していない内容であった場合、判定はnoとなってS36に移行する。
S35では、CPU212は、希望された消失訂正符号セグメント31を隣接ノードに転送する。次にCPU212は、他に転送対象となる消失訂正符号セグメント31が残存しているか否か判定する(S36)。少なくとも、管理データの復元が可能になる数の消失訂正符号セグメント31の転送が完了していない場合、S36の判定はyesとなって上記S31に戻る。少なくとも、管理データの復元が可能になる数の消失訂正符号セグメント31の転送が完了している場合、S36の判定はnoとなり、ここでセグメント転送処理が終了する。
図13は、転送希望通知処理のフローチャートである。この転送希望通知処理は、同じ管理データから生成された消失訂正符号セグメント31がマルチキャストされた各管理ノード21が、管理データの復元に必要な数の消失訂正符号セグメント31の収集のために行われる。
先ず、CPU212は、管理データセグメント保全領域26b(図12中「受信セグメント領域」と表記)の確認を行う(S41)。次にCPU212は、消失訂正符号セグメント31の受信(収集)状況をコード化し(S42)、生成したコードを隣接ノードに送信することにより、受信状況を通知する(S43)。
その後、CPU212は、隣接ノードから消失訂正符号セグメント31を受信するのを待つ(S44)。消失訂正符号セグメント31を受信すると、CPU212は、必要な消失訂正符号セグメント31が残っているか否か判定する(S45)。必要な消失訂正符号セグメント31が残っている場合、S45の判定はyesとなって上記S41に戻る。必要な消失訂正符号セグメント31が残っていない場合、S45の判定はnoとなり、ここで転送希望通知処理が終了する。
消失訂正符号セグメント31の転送が必要な各管理ノード21が上記の転送希望通知処理をそれぞれ実行することにより、管理データの復元に必要な数の消失訂正可能セグメント31の収集が行われることとなる。
なお、本実施形態では、管理データを分割して消失訂正符号セグメント31を生成するが、データ量の比較的に小さいデータを送信する場合、消失訂正符号セグメント31の生成は行わなくても良い。これは、通信に要する時間がより短くなる、各管理ノード21の負荷をより抑えられる、といった効果が期待できるからである。これらの効果により、処理がより高速に行えることが期待できる。その場合、管理データは、例えば図14に表す送信手順でマルチキャスト送信させても良い。
図14に表す送信手順は、管理データのマルチキャスト送信を専用のノード(再送管理ノード)に行わせることを想定したものである。図14に表すように、管理ノード21は、管理データにエラー検出訂正コード(図14中「エラー検出コード」と表記)を付与し(S51)、再送管理ノードに送信する(S52)。再送管理ノードは、エラー検出コード、及び管理データを格納したメッセージをマルチキャスト送信する(S53)。マルチキャスト送信すべき管理ノード21は、管理データを受信した管理ノード21から特定すれば良い。
このようなことから、管理ノード21(管理操作実行機構25、管理データ保全機構26)からのデータのマルチキャスト送信は、必要に応じて行わせるようにしても良い。結果的に、マルチキャスト送信が行われるようにしても良い。
一方、メッセージ(管理データ)を受信した管理ノード21のCPU212には、例えば図15に表すようなメッセージ受信処理を行わせれば良い。
このメッセージ受信処理では、先ず、CPU212は、NIC211により受信されたメッセージを受け取る(S61)。次にCPU212は、受け取ったメッセージ中のエラー検出訂正コードを用いて、エラー(ビット化け)の有無を判定するための計算を行う(S62)。その計算によりエラーが無い、或いは発生したエラーは訂正可能と判定したCPU212は、適切なメッセージを受信した旨を表す送達確認を隣接ノードに通知する(S63)。
次に、他の実施形態について説明する。
図17は、他の実施形態を適用したシステム構成例を説明する図である。他の実施形態では、図17に表すように、ノード間演算装置170が追加/配置されている。このノード間演算装置170は、各管理ノード21から消失訂正符号セグメント31を受信し、管理データの復元を行う。
上記実施形態では、管理データの復元は、管理ノード21が行う。しかし、管理データ21による管理データの復元には、プログラムにより、管理ノード21間の消失訂正符号セグメント31の転送、演算処理、等を行わなければならず、比較的に長い時間が必要である。これに対し、ノード間演算装置170を用いた管理データの復元では、管理ノード21間の消失訂正符号セグメント31の転送を不要にすることができる。ノード間演算装置170は専用装置として最適化が可能なため、管理データの復元もより高速に行わせることができる。
ノード間演算装置170を用いる場合、消失訂正符号セグメント31を受信した各管理ノード21のCPU212は、以下のような処理を実行させれば良い。
図18は、管理データ復元依頼処理のフローチャートである。この管理データ復元依頼処理は、1台の管理ノード21が、ノード間演算装置170に管理データを復元させるために実行される処理である。
先ず、CPU212は、他の消失訂正符号セグメント31が受信される各管理ノード21に、使用するセグメント・コード・ベクトルを同期させる(S101)。次にCPU212は、自管理ノード21が受信した消失訂正符号セグメント31に、必要な係数を乗算する(S102)。
次にCPU212は、他の管理ノード21に、ノード間演算装置170への消失訂正符号セグメント31(演算(乗算)が行われたもの)の送信を準備させる(S103)。その後、CPU212は、自管理ノード21を含む各管理ノード21に、消失訂正符号セグメント31をノード間演算装置170に送信させ、管理データの復元(演算)の開始を指示する(S104)。管理データ復元依頼処理は、その後、終了する。
図19は、管理データ復元処理のフローチャートである。この管理データ復元処理は、ノード間演算装置170によって実行される。
ノード間演算装置170は、先ず、管理データの復元に用いるメモリ領域をゼロクリアする(S111)。次に、ノード間演算装置170は、n個のセグメント・コード・ベクトルの組のなかで一次独立なものを選び、選んだ組を割り当てる管理ノード(図19では「中継ノード」と表記)21を定める(S112)。
次にノード間演算装置170は、定めた管理ノード21からの演算結果から、選んだ組を用いて管理データを復元するように設定を行う(S113)。その設定を行ったCPU212は、各管理ノード21から受信する演算結果をメモリ領域に格納する(S114)。
次にCPU212は、復元に必要な数の演算結果を受信したか否か判定する(S115)。復元に必要な数の演算結果を受信した場合、S115の判定はYesとなり、管理データの復元を行った後、この管理データ復元処理が終了する。復元に必要な数の演算結果を受信していない場合、S115の判定はNoとなり、上記S113に戻る。

Claims (7)

  1. 互いに接続された複数の情報処理装置と、
    前記複数の情報処理装置の管理に必要な第1の数の管理データを、前記第1の数以上である第2の数の管理データに分割し、分割した前記第2の数の管理データを前記複数の情報処理装置に対してそれぞれ送信する管理装置を有することを特徴とする情報処理システム。
  2. 前記管理装置は、
    e(eは正の整数)ビットである前記第1の数の管理データをn分割(nは正の整数)したn次元ベクトルvに対して、有限体GF(2^e)を掛けたn+k次元ベクトル(kは正の整数)であるu=vGの各ベクトル成分を前記第2の数の管理データの各要素とすることを特徴等する請求項1記載の情報処理システム。
  3. 前記管理装置は、
    分割した前記第2の数の管理データを前記複数の情報処理装置に対して同時にそれぞれ送信することを特徴とする請求項1又は2記載の情報処理システム。
  4. 前記情報処理システムはさらに、
    前記管理装置が分割した前記第2の数の管理データを前記複数の情報処理装置に対してそれぞれ中継する中継装置を有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理システム。
  5. 前記複数の情報処理装置はさらに、
    互いに1次元トーラス状又は2次元トーラス状に接続されることを特徴とする請求項1〜4のいずれか1項に記載の情報処理システム。
  6. 互いに接続された複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムの管理方法において、
    前記管理装置が、前記複数の情報処理装置の管理に必要な第1の数の管理データを、前記第1の数以上である第2の数の管理データに分割し、
    前記管理装置が、分割した前記第2の数の管理データを前記複数の情報処理装置に対してそれぞれ送信することを特徴とする情報処理システムの管理方法。
  7. 互いに接続された複数の情報処理装置と、前記複数の情報処理装置を管理する管理装置とを有する情報処理システムの管理プログラムにおいて、
    前記管理装置に、前記複数の情報処理装置の管理に必要な第1の数の管理データを、前記第1の数以上である第2の数の管理データに分割させ、
    前記管理装置に、分割した前記第2の数の管理データを前記複数の情報処理装置に対してそれぞれ送信させることを特徴とする情報処理システムの管理プログラム。
JP2014554053A 2012-12-28 2012-12-28 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム Pending JPWO2014103078A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2012/084236 WO2014103078A1 (ja) 2012-12-28 2012-12-28 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム

Publications (1)

Publication Number Publication Date
JPWO2014103078A1 true JPWO2014103078A1 (ja) 2017-01-12

Family

ID=51020223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554053A Pending JPWO2014103078A1 (ja) 2012-12-28 2012-12-28 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム

Country Status (4)

Country Link
US (1) US9558038B2 (ja)
EP (1) EP2940584A4 (ja)
JP (1) JPWO2014103078A1 (ja)
WO (1) WO2014103078A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6323243B2 (ja) 2014-08-07 2018-05-16 富士通株式会社 システム及び異常検知方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63238633A (ja) * 1987-03-26 1988-10-04 Hitachi Ltd 分散システムにおけるバツクアツプ方式
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2006227763A (ja) * 2005-02-15 2006-08-31 Nec Soft Ltd データ共有システム、データ共有方法及びプログラム
JP2008176615A (ja) * 2007-01-19 2008-07-31 Sumitomo Electric Ind Ltd ファイル共有ネットワークシステム、ファイル共有ネットワークシステムのファイル転送に用いられるデータ構造、ファイル共有ネットワークシステムにおけるファイル転送方法、ファイル公開コンピュータ、キャッシュコンピュータ、ファイル取得コンピュータ、及びコンピュータプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2607851B2 (ja) * 1994-09-17 1997-05-07 株式会社東芝 プロセッサ間ルーティング方式
JPH1021103A (ja) 1996-07-05 1998-01-23 Nec Corp 2重化装置制御メッセージ通信方式
US7529834B1 (en) * 2000-06-02 2009-05-05 Hewlett-Packard Development Company, L.P. Method and system for cooperatively backing up data on computers in a network
US20060045101A1 (en) * 2004-08-31 2006-03-02 International Business Machines Corporation Efficient fault-tolerant messaging for group communication systems
JP2008153735A (ja) 2006-12-14 2008-07-03 Fujitsu Ltd 故障被疑装置を特定する方法
JP2008172617A (ja) * 2007-01-12 2008-07-24 Fujitsu Ltd 符号化装置、復号装置、符号化プログラム、復号プログラム、データ転送システム
JP4806362B2 (ja) 2007-02-14 2011-11-02 富士通株式会社 並列処理制御プログラム、並列処理制御システムおよび並列処理制御方法
JP5056844B2 (ja) * 2007-03-20 2012-10-24 富士通株式会社 一意情報集団通信プログラム、計算ノード、および一意情報集団通信方法
CN102486739B (zh) * 2009-11-30 2015-03-25 国际商业机器公司 高性能计算集群中分发数据的方法和系统
TWI445323B (zh) * 2010-12-21 2014-07-11 Ind Tech Res Inst 資料傳送的混合式編解碼裝置與方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63238633A (ja) * 1987-03-26 1988-10-04 Hitachi Ltd 分散システムにおけるバツクアツプ方式
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2006227763A (ja) * 2005-02-15 2006-08-31 Nec Soft Ltd データ共有システム、データ共有方法及びプログラム
JP2008176615A (ja) * 2007-01-19 2008-07-31 Sumitomo Electric Ind Ltd ファイル共有ネットワークシステム、ファイル共有ネットワークシステムのファイル転送に用いられるデータ構造、ファイル共有ネットワークシステムにおけるファイル転送方法、ファイル公開コンピュータ、キャッシュコンピュータ、ファイル取得コンピュータ、及びコンピュータプログラム

Also Published As

Publication number Publication date
EP2940584A1 (en) 2015-11-04
EP2940584A4 (en) 2016-01-27
US9558038B2 (en) 2017-01-31
WO2014103078A1 (ja) 2014-07-03
US20150234681A1 (en) 2015-08-20

Similar Documents

Publication Publication Date Title
US11182075B1 (en) Storage system having cross node data redundancy and method and computer readable medium for same
EP2092432B1 (en) Message forwarding backup manager in a distributed server system
US8327080B1 (en) Write-back cache protection
EP2643771B1 (en) Real time database system
JP5078347B2 (ja) 複数のノードを有するコンピュータ・システムの故障ノードをフェイルオーバー(修復)する方法
CN1892612A (zh) 集群可用性管理方法和系统
CN104052576A (zh) 一种云存储下基于纠错码的数据恢复方法
CN101808012A (zh) 一种云环境下的数据备份方法
CN102594858A (zh) 云存储环境中的镜像解决方案
US11748009B2 (en) Erasure coding with overlapped local reconstruction codes
CN110609699B (zh) 维护存储系统的组件的方法、电子设备和计算机可读介质
CN103729151A (zh) 一种基于改进型纠删码的失效数据修复方法
JP4491482B2 (ja) 障害回復方法、計算機、クラスタシステム、管理計算機及び障害回復プログラム
JP4939271B2 (ja) ストレージ保守・管理装置の冗長化方法、及びその方法を使用する装置
CN113190377B (zh) 一种基于分布式存储系统的可靠冗余方法及设备
JP2007520003A (ja) コンピュータ障害発生時に複数のコンピュータの配列を操作する方法
CN104035732A (zh) 一种面向纠删码的数据放置方法
JP6323243B2 (ja) システム及び異常検知方法
JP2014182737A (ja) 情報処理装置、情報処理方法、ストレージシステム及びコンピュータプログラム
WO2014103078A1 (ja) 情報処理システム、情報処理システムの管理方法および情報処理システムの管理プログラム
US10452321B2 (en) Storage system and control method therefor
JP6055197B2 (ja) データベースシステム
JP2016051209A (ja) 情報処理装置、情報処理システム、情報処理システムの制御方法および情報処理装置の制御プログラム
JP2006260400A (ja) コンピュータ装置状態監視方法
CN113391945A (zh) 用于存储管理的方法、电子设备以及计算机程序产品

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160809