(57)【要約】【課題】システムにおいて多重障害が発生した場合でも、演算処理結果を修復して演算処理を継続実行させることができる無停止演算処理装置を提供する。【解決手段】本願発明の無停止演算処理装置は、何れかのグループに所属し入力データを格納して演算処理を行う演算実行手段と、入力データを複製した複製データを、当該演算実行手段と同じグループ内の当該演算実行手段以外の演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶させる格納手段と、演算実行手段を診断して障害を検出する診断手段と、いずれかの演算実行手段の障害が検出された場合、当該演算実行手段に対応付けられた複製データを記憶する演算実行手段に対して、複製データを用いた演算処理の実行を指示する指示手段と、障害が検出された演算実行手段が出力した実行結果を、複製データを用いた演算処理の実行結果に置き換えて出力する出力手段と、を備える。【選択図】      図１
2014029567.tif 000002
【特許請求の範囲】
【請求項１】
何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段と、
前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶させる格納手段と、
前記演算実行手段を診断して障害を検出する診断手段と、
前記診断手段が、いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示する指示手段と、
前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する出力手段と、
を備える無停止演算処理装置。
【請求項２】
前記格納手段は、前記入力データを分割して複製した分割複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の複数の前記演算実行手段に、分配して記憶させ、
前記出力手段は、前記分割複製データを用いた前記演算処理の実行結果をバックアップ実行結果としてまとめて、前記障害が検出された前記演算実行手段が出力した実行結果を、前記バックアップ実行結果に置き換えて出力する
請求項１の無停止演算処理装置。
【請求項３】
前記診断手段は、前記演算実行手段が１つの前記入力データに対する前記演算処理の実行を終了する度に、前記演算実行手段を逐次診断する
請求項１乃至２の無停止演算処理装置。
【請求項４】
前記診断手段は、全ての前記演算実行手段に、同一の診断プログラムを入力させ、多数の前記演算実行手段に対する前記診断プログラムの実行結果が一致し、かつ、少数の前記演算実行手段に対する前記診断プログラムの実行結果が、前記多数の前記演算実行手段に対する前記診断プログラムの実行結果と異なる場合、前記少数の前記演算実行手段の障害を検出する
請求項１乃至３の無停止演算処理装置。
【請求項５】
同じ数のコアプロセッサを包含し、前記コアプロセッサに対して、コア番号をハードウェア上で定義したマルチコアプロセッサを複数備えるシステムにおいて、
前記演算実行手段は、前記マルチコアプロセッサにおける１つの前記コアプロセッサを包含し、包含する前記コアプロセッサの前記コア番号が等しい場合に、同じ前記グループに所属する
請求項１乃至４の無停止演算処理装置。
【請求項６】
請求項１乃至５の無停止演算処理装置と、前記無停止演算処理装置に前記入力データを出力して、前記演算処理の実行を指示する上位装置とを包含する無停止演算処理システム。
【請求項７】
何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段を備えるシステムにおいて、
前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶域に記憶させ、
前記演算実行手段を診断して障害を検出し、
いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示し、
前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する
無停止演算処理方法。
【請求項８】
前記入力データを分割して複製した分割複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の複数の前記演算実行手段に、分配して前記記憶域に記憶させ、
前記分割複製データを用いた前記演算処理の実行結果をバックアップ実行結果としてまとめて、前記障害が検出された前記演算実行手段が出力した実行結果を、前記バックアップ実行結果に置き換えて出力する
請求項７の無停止演算処理方法。
【請求項９】
何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段を備えるシステムにおいて、
前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶域に記憶させる格納処理と、
前記演算実行手段を診断して障害を検出する診断処理と、
前記診断処理が、いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示する指示処理と、
前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する出力処理と、
をコンピュータに実行させる無停止演算処理プログラム。
【請求項１０】
前記格納処理は、前記入力データを分割して複製した分割複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の複数の前記演算実行手段に、分配して前記記憶域に記憶させ、
前記出力処理は、前記分割複製データを用いた前記演算処理の実行結果をバックアップ実行結果としてまとめて、前記障害が検出された前記演算実行手段が出力した実行結果を、前記バックアップ実行結果に置き換えて出力する
請求項９の無停止演算処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、障害発生時に演算処理結果を修復して演算処理を継続実行させるための、無停止演算処理装置、無停止演算処理システム、無停止演算処理方法、及び、無停止演算処理プログラムに関する。
【背景技術】
【０００２】
高度情報化社会においては、システムダウンが社会にもたらす影響が非常に大きくなるため、システムの無停止運用に対する要求がますます高まってきている。システムを無停止運用させるためには、障害発生時に演算処理結果を修復して、速やかに処理を継続実行させることが必要となる。
【０００３】
このような障害発生時における処理の継続実行に関連する技術として、特許文献１には、
マルチノードで並列処理を行うシステムにおいて、あるノードで処理するデータの複製を分散して別のノードでも格納し、上述のあるノードで障害が発生した場合は、データの複製を分散格納した別のノードがバックアップ処理を行うようにしたシステムが公開されている。
【０００４】
また、特許文献２には、複数の計算機で並列処理を行うシステムにおいて、使用者から取得した分散データ配置ヒント情報に基づいて、データとその複製を各計算機に分散配置し、ある計算機で障害が発生した場合の別の計算機によるバックアップ処理を、計算機間で平準化させるようにしたシステムが公開されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開2010-182141号公報
【特許文献２】特開2012-73975号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
前述の特許文献１、及び、特許文献２のシステムは、多重障害が発生した場合の処理の継続実行に関しては言及していない。特に高度に並列化されたシステムにおいては、システムを構成する計算機やプロセッサ等の数が多くなるため、多重障害が発生する確率も高くなる。したがって、多重障害が発生した場合であっても、処理を継続実行させることが課題となる。
【０００７】
本願発明の目的は、上述の課題を解決した無停止演算処理装置、無停止演算処理システム、無停止演算処理方法、及び、無停止演算処理プログラムを提供することである。
【課題を解決するための手段】
【０００８】
本願発明の一実施形態の無停止演算処理装置は、何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段と、前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶させる格納手段と、前記演算実行手段を診断して障害を検出する診断手段と、前記診断手段が、いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示する指示手段と、前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する出力手段と、を備える。
【０００９】
本願発明の一実施形態の無停止演算処理方法は、何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段を備えるシステムにおいて、前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶域に記憶させ、前記演算実行手段を診断して障害を検出し、いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示し、前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する。
【００１０】
本願発明の一実施形態の無停止演算処理プログラムは、何れかのグループに所属し、入力データを格納して前記入力データに対して演算処理を行う演算実行手段を備えるシステムにおいて、前記演算実行手段が入力した前記入力データを複製した複製データを、当該演算実行手段と同じ前記グループに所属する、当該演算実行手段以外の前記演算実行手段に、当該演算実行手段の識別情報と対応付けて記憶域に記憶させる格納処理と、前記演算実行手段を診断して障害を検出する診断処理と、前記診断処理が、いずれかの前記演算実行手段の障害を検出した場合、当該演算実行手段の前記識別情報に対応付けられた前記複製データを記憶する前記演算実行手段に対して、前記複製データを用いた前記演算処理の実行を指示する指示処理と、前記障害が検出された前記演算実行手段が出力した実行結果を、前記複製データを用いた前記演算処理の実行結果に置き換えて出力する出力処理と、をコンピュータに実行させる。
【発明の効果】
【００１１】
本願発明は、システムにおいて多重障害が発生した場合でも、演算処理結果を修復して演算処理を継続実行させることができるようにする。
【図面の簡単な説明】
【００１２】
【図１】本願発明の第１の実施形態の無停止演算処理システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態における登録照合データの格納動作を示すフローチャートである。
【図３】本願発明の第１の実施形態における照合実行動作を示すフローチャートである。
【図４】本願発明の第１の実施形態における各コアへの登録照合データの格納例である。
【図５】本願発明の第２の実施形態の無停止演算処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【００１３】
本願発明の第一の実施の形態について図面を参照して詳細に説明する。
【００１４】
図１は本実施形態の無停止演算処理システムの構成を示すブロック図である。
【００１５】
本実施形態の無停止演算処理システム３は、無停止演算処理装置１と、上位装置２とを包含している。無停止演算処理装置１は、指紋、掌紋、虹彩、顔などの生体情報のデータについて、ある探索データを、多数の登録照合データと照合する照合演算を実行する。
【００１６】
上位装置２は、無停止演算処理装置１に対して、まず、複数の登録照合データを出力し、次に探索データを１つずつ順次出力する。そして上位装置２は、各探索データについて、登録照合データとの照合を、無停止演算処理装置１に指示する。
【００１７】
無停止演算処理装置１は、全体制御部１０と、ｎ個の照合プロセッサ２０−１乃至２０−ｎとを包含している。照合プロセッサ２０−１乃至２０−ｎは、それぞれ照合プロセッサ番号として、１乃至ｎが付与されている。
【００１８】
照合プロセッサ２０−１はマルチコアプロセッサであり、８個のコア２０１−１乃至２０８−１を包含している。コア２０１−１乃至２０８−１は、独立して登録照合データと探索データとの照合演算を行う最小構成単位であり、それぞれ、照合演算を実行する演算回路と、登録照合データ及び探索データを格納するメモリを包含している。コア２０１−１乃至２０８−１は、それぞれコア番号として、１乃至８が付与されている。
【００１９】
照合プロセッサ２０−２乃至２０−ｎの構成も、照合プロセッサ２０−１と同じである。無停止演算処理装置１は、８個のコアを持つ照合プロセッサをｎ個包含するため、合計８ｎ個のコアを包含している。したがって、無停止演算処理装置１は、最大８ｎ個の照合演算を並列処理する。コア２０１−１乃至２０８−ｎは、照合結果を、出力部１４へ送信する。
【００２０】
全体制御部１０は、無停止演算処理装置１における照合演算の並列実行の制御を行い、格納部１１と、診断部１２と、指示部１３と、出力部１４とを包含している。
【００２１】
格納部１１は、上位装置２から受信した複数の登録照合データを、８ｎ個のコア２０１−１乃至２０８−ｎに均等に分配する。例えば、登録照合データが８ｎ個である場合は、分配部１１は、コア２０１−１乃至２０８−ｎの各々に対して、１個ずつ登録照合データを分配する。
【００２２】
格納部１１は、さらに、各登録照合データをコピーしてｍ個（ｍ＝ｎ−１）に分割した分割コピーデータを生成し、分割コピーデータの各々を、当該登録照合データを入力したコアとコア番号が等しく、かつ、所属する照合プロセッサが異なるｍ個のコアに送信する。
【００２３】
本実施形態における、各コアへの登録照合データの格納例を図３に示す。照合プロセッサ２０−１におけるコア２０１−１は、登録照合データ＃１１１乃至＃１１ｍを格納している。登録照合データ＃１１１乃至＃１１ｍは全体で１つの登録照合データである。格納部１１は、登録照合データ＃１１１乃至＃１１ｍをコピーしてｍ個に分割し、登録照合データ＃１１１のコピーデータである登録照合データコピー＃１１１−Ｃを、コア２０１−１の識別情報である「コア１−１」の情報を付加して、照合プロセッサ２０−２におけるコア番号１のコアであるコア２０１−２に送信して格納させる。格納部１１は、同様に登録照合データ＃１１ｍのコピーデータである登録照合データコピー＃１１ｍ−Ｃを、「コア１−１」の情報を付加して、照合プロセッサ２０−ｎにおけるコア番号１のコアであるコア２０１−ｎに送信して格納させる。
【００２４】
格納部１１は、各コアに分配して格納させた全ての各登録照合データについて、同様にコピーデータの送信、格納処理を行う。尚、本実施形態では、便宜上、ｍ＝ｎ−１としているが、ｍの値はｎ−１に限定されるわけではない。例えば、ｍの値がｎ−１より小さい何れかの整数である場合、格納部１１は、あるコアが格納した登録照合データのコピーデータを、当該コアとコア番号が等しく、かつ、所属する照合プロセッサが異なるコアの中の一部コアに送信して格納させる。
【００２５】
格納部１１は、上位装置２から受信した１個の探索データを、コア２０１−１乃至２０８−ｎの全てに送信して格納させる。
【００２６】
診断部１２は、コア２０１−１乃至２０８−ｎにおける、１つの探索データに関する登録照合データとの照合演算の終了を検知する度に、コア２０１−１乃至２０８−ｎに同一の診断プログラムを送信して、コア２０１−１乃至２０８−ｎに実行させる。診断部１２は、診断プログラムの実行結果をコア２０１−１乃至２０８−ｎから受信すると、各々のコアが出力した実行結果を比較する。
【００２７】
コア２０１−１乃至２０８−ｎの全てについて、診断プログラムの実行結果が同じである場合、診断部１２は、コア２０１−１乃至２０８−ｎに障害は無いと診断する。コア２０１−１乃至２０８−ｎにおける一部少数のコアについてのみ、他のコアと実行結果が異なる場合、診断部１２は、当該一部少数のコアに障害が発生したと診断する。即ち、診断部１２は、多数決論理にて、コア２０１−１乃至２０８−ｎの障害を診断する。診断部１２は、障害が発生したコアの識別情報を含む診断結果を、指示部１３と出力部１４に送信する。
【００２８】
指示部１３は、診断部１２からの診断結果を受けて、障害発生コアとコア番号が等しく、かつ、所属する照合プロセッサが障害発生コアとは異なるコアに対して、障害発生コアの識別情報に対応する登録照合データのコピーデータを用いて、照合演算を再実行するように指示する。例えば、コア２０１−１で障害が発生した場合、指示部１３は、照合プロセッサ２０−２乃至２０−ｎにおけるコア番号が１のコアであるコア２０１−２乃至２０１−ｎに対して、コア２０１−１の識別情報である「コア１−１」に対応付けられた登録照合データのコピーデータを用いて、探索データとの照合演算の再実行を指示する。このとき、コア２０１−２は、登録照合データコピー＃１１１−Ｃを用いて照合演算を再実行し、コア２０１−ｎは、登録照合データコピー＃１１ｍ−Ｃを用いて照合演算を再実行する。
【００２９】
出力部１４は、診断部１２からの診断結果を受けて、指示部１３からの指示によりコア２０１−１乃至２０８−ｎにおける正常コアが障害発生コアの照合演算を再実行した結果を、バックアップ照合結果としてまとめる。出力部１４は、コア２０１−１乃至２０８−ｎの障害発生コアから受信した照合結果を、バックアップ照合結果に置き換える。出力部１４は、全てのコアの照合結果をまとめて、探索データの登録照合データとの照合結果として、上位装置２へ送信する
次に図２、及び、図３のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００３０】
図２は、無停止演算処理装置１における登録照合データの格納動作を示すフローチャートである。
【００３１】
格納部１１は、上位装置２から、登録照合データを受信し、登録照合データをｎ  ｘ  ８個に均等に分割して、照合プロセッサ１乃至ｎにおけるコア１乃至８に分配する（Ｓ１０１）。照合プロセッサ１乃至ｎにおけるコア１乃至８は、分配された登録照合データを、自コア内のメモリに格納する（Ｓ１０２）。ｉ＝１〜ｎでループ処理を実行する（Ｓ１０３）。ｊ＝１〜８でループ処理を実行する（Ｓ１０４）。
【００３２】
格納部１１は、照合プロセッサｉにおけるコアｊに分配した登録照合データのコピーをｎ−１個に分割し、分割したそれぞれの登録照合データのコピーを、データ照合プロセッサｉを除く照合プロセッサ１乃至ｎにおける、コアｊに分配する（Ｓ１０５）。照合プロセッサｉにおけるコアｊは、分配された登録照合データのコピーを、自コア内のメモリに格納する（Ｓ１０６）。ｊ＜８の場合は、ｊに１を加算して処理はＳ１０４に戻り、ｊ＝８の場合は、処理はＳ１０８へ進む（Ｓ１０７）。ｉ＜ｎの場合は、ｉに１を加算して処理はＳ１０３に戻り、ｉ＝ｎの場合は、全体の処理は終了する（Ｓ１０８）。
【００３３】
図３は、無停止演算処理装置１における探索データの登録照合データとの照合実行動作を示すフローチャートである。
【００３４】
格納部１１は、上位装置２から、探索データを受信し、照合プロセッサ１乃至ｎにおけるコア１乃至８の全てに送信する（Ｓ２０１）。照合プロセッサ１乃至ｎにおけるコア１乃至８は、受信した探索データを、自コア内のメモリに格納し、既に自コア内に格納されている登録照合データと照合して、照合結果を出力部１４へ送信する（Ｓ２０２）。
【００３５】
診断部１２は、照合プロセッサ１乃至ｎにおけるコア１乃至８に対して同一の診断プログラムを入力し、全てのコアの出力から、多数決論理にて全てのコアを診断し、診断結果を指示部１３と出力部１４へ送信する（Ｓ２０３）。
【００３６】
診断結果で障害コアが存在する場合（Ｓ２０４でＹｅｓ）、処理はＳ２０５へ進み、診断結果で障害コアが存在しない場合（Ｓ２０４でＮｏ）、処理はＳ２１１へ進む。診断結果で障害コアが複数存在する場合（Ｓ２０５でＹｅｓ）、処理はＳ２０６へ進み、診断結果で障害コアが１個のみの場合（Ｓ２０５でＮｏ）、処理はＳ２０７へ進む。診断結果で複数の同じコア番号のコアで障害している場合（Ｓ２０６でＹｅｓ）、指示部１３は、診断部１２から受信した診断結果をもとに、修復不可能な多重障害の発生を上位装置２に報告し、無停止演算処理装置１の照合動作を停止させ（Ｓ２１０）、全体の処理は終了する。診断結果で障害の発生した複数のコアのコア番号が異なる場合（Ｓ２０６でＮｏ）、処理はＳ２０７へ進む。
【００３７】
指示部１３は、診断部１２から受信した診断結果をもとに、障害コアとコア番号が同じ正常コアに対して、障害コアの識別情報に対応付けられた登録照合データのコピーデータを用いて、再照合処理を行うように指示する（Ｓ２０７）。障害コアとコア番号が同じ正常コアは、指示部１３から指示された再照合処理を実行し、再照合結果を出力部１４へ送信する（Ｓ２０８）。
【００３８】
出力部１４は、診断部１２から受信した診断結果をもとに、障害コアからの照合結果を、障害コアとコア番号が同じ正常コアから受信した再照合結果をまとめたバックアップ照合結果に置き換える（Ｓ２０９）。出力部１４は、全てのコアからの照合結果をまとめて、照合結果を上位装置２へ送信し（Ｓ２１１）、処理はＳ２０１へ戻る。
【００３９】
本実施形態には、第一の効果として、システムにおいて多重障害が発生した場合でも、照合演算処理結果を修復して照合演算処理を継続実行させることができる効果がある。その理由は、格納部１１が、あるコアが記憶した登録照合データのコピーを、当該コアが搭載された照合プロセッサとは別の照合プロセッサ内の、当該コアとコア番号が等しいコアに記憶させておき、当該コアで障害が発生した場合、指示部１３が、上述の登録照合データのコピーを記憶したコアに、障害発生コアが実行した照合演算を再実行させることで、照合演算処理結果を修復するからである。
【００４０】
本実施形態では、複数のマルチコアプロセッサ内において、コア番号が等しいコア同士でグループを形成し、同一のグループ内で演算処理結果の修復を行うため、異なるグループに所属するコアで多重障害が発生しても、システムを無停止運転させることが可能となる。本実施形態の例では、照合プロセッサ２０−１乃至２０−ｎは、それぞれ８個のコアを包含しているため、最大８個の障害に対する耐障害性を有していることになる。
【００４１】
本実施形態において、照合プロセッサ２０−１乃至２０−ｎのいずれかが丸ごとダウンするような重度障害が発生した場合でも、システムを無停止運転させることが可能である。その理由は、各照合プロセッサが搭載している個々のコアは、それぞれが全て異なるグループに所属するため、上述の演算処理結果の修復が可能であるからである。
【００４２】
また、多重障害への対応のために、あるコアが記憶する登録照合データのコピーを、当該コア以外の全てのコアに記憶させるような方式では、大容量のメモリが必要となる。本実施形態には、コアのグループ化を行い、同じグループ内のコアにのみ登録照合データのコピーを記憶させることにより、多重障害への対応に必要なメモリ容量を削減できる効果もある。
【００４３】
さらに、本実施形態には、第二の効果として、即時検出が困難な障害であっても障害を速やかに検出し、照合演算処理を継続実行させることができる効果がある。その理由は、診断部１２が、コア２０１−１乃至２０８−ｎにおける、１つの探索データに関する照合処理が完了する度に、コア２０１−１乃至２０８−ｎを多数決論理により診断するからである。
【００４４】
例えば、データのパリティエラーのような即時検出可能な障害に対して、耐障害性を向上させたシステムは従来から存在する。しかしながら、パリティエラーにならないデータ化けのような障害が発生し、障害の検出までに時間を要した場合、障害検出後、システムを止めて障害処理を行わなければならない。本実施形態では、診断部１２が、コア２０１−１乃至２０８−ｎに同じ診断プログラムを入力して多数決論理により診断することにより、通常は即時検出が困難な障害であっても速やかに障害を検出することが可能となる。
【００４５】
尚、本実施形態では、コア２０１−１乃至２０８−ｎの診断方式として、多数決論理を使用しているが、多数決論理以外の方式で診断する場合もある。例えば、診断プログラムの実行結果に対する期待値を準備しておき、コア毎に、診断プログラム実行結果と期待値を比較する方式などがある。
【００４６】
また、本実施形態では、診断部１２が、コア２０１−１乃至２０８−ｎにおける、１つの探索データに関する照合処理が完了する度に、診断処理を実行しているが、診断処理の実行間隔をもう少し開けることで、照合処理のスピードを優先させる場合もある。
＜第二の実施形態＞
次に、本願発明の第二の実施形態について図面を参照して詳細に説明する。
【００４７】
図５は本願発明の第二の実施形態の無停止演算処理システムの構成を示すブロック図である。本実施形態の無停止演算処理システム３は無停止演算処理装置１を包含している。
【００４８】
無停止演算処理装置１は、演算実行部３０１−１乃至３０４−ｋと、格納部１１と、診断部１２と、指示部１３と、出力部１４とを包含している。
【００４９】
演算実行部３０１−１乃至３０４−ｋは、４個のグループ３０−１乃至３０−４に分けられ、演算実行部３０１−１乃至３０１−ｋはグループ３０−１に所属し、演算実行部３０４−１乃至３０１−ｋはグループ３０−４に所属する。すなわち、グループ３０−１乃至３０−４は、それぞれｋ個の演算実行部を包含している。
【００５０】
演算実行部３０１−１乃至３０４−ｋは、上位装置から指示された演算を並列処理する。演算の内容は、第一の実施形態のような照合演算の場合もあれば、一般的な配列演算等の場合もある。演算実行部３０１−１乃至３０４−ｋは、演算を行う構成単位であり、それぞれが、第一の実施形態のようなコアの場合もあれば、プロセッサやサーバ等の場合もある。
【００５１】
格納部１１は、演算実行部３０１−１乃至３０４−ｋのそれぞれが入力した入力データを複製した複製データを、当該演算実行部と同じグループに所属する、当該演算実行部以外の演算実行部に、当該演算実行部の識別情報と対応付けて記憶させる。
【００５２】
診断部１２は、演算実行部３０１−１乃至３０４−ｋを診断して障害を検出する。診断方式としては、第一の実施形態のような多数決論理を使用する場合もあれば、診断プログラムの実行結果を期待値と比較する場合もある。
【００５３】
指示部１３は、診断部１２が、いずれかの演算実行部３０１−１乃至３０４−ｋの障害を検出した場合、当該演算実行部の識別情報に対応付けられた複製データを記憶する、当該演算実行部と同じグループ内の演算実行部に対して、複製データを用いた演算処理の実行を指示する。
【００５４】
出力部１４は、障害が検出された演算実行部が出力した実行結果を、上述の複製データを用いた演算処理の実行結果に置き換えて出力する。
【００５５】
本実施形態には、第一の実施形態と同様に、システムにおいて多重障害が発生した場合でも、演算処理結果を修復して演算処理を継続実行させることができる効果がある。その理由は、格納部１１が、ある演算実行部が記憶した入力データのコピーを、当該演算実行部と同じグループに所属する演算実行部に記憶させておき、当該演算実行部で障害が発生した場合、指示部１３が、上述の入力データのコピーを記憶した演算実行部に、障害が発生した演算実行部が実行した演算を再実行させることで、演算処理結果を修復するからである。
【００５６】
本実施形態では、同一のグループ内で演算処理結果の修復を行うため、異なるグループに所属する演算実行部で多重障害が発生しても、無停止運転させることが可能となる。本実施形態の例では、無停止演算処理装置１が４つのグループ３０−１乃至３０−４を包含しているため、最大４個の障害に対する耐障害性を有していることになる。
【００５７】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００５８】
１    無停止演算処理装置
２    上位装置
３    無停止演算処理システム
１０    全体制御部
１１    格納部
１２    診断部
１３    指示部
１４    出力部
２０−１乃至２０−ｎ    照合プロセッサ
２０１−１乃至２０８−ｎ    コア
３０−１乃至３０−４    グループ
３０１−１乃至３０４−ｋ    演算実行部
【図１】
2014029567.tif 000003
【図２】
2014029567.tif 000004
【図３】
2014029567.tif 000005
【図４】
2014029567.tif 000006
【図５】
2014029567.tif 000007