JP2008123129A - マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体 - Google Patents

マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体 Download PDF

Info

Publication number
JP2008123129A
JP2008123129A JP2006304494A JP2006304494A JP2008123129A JP 2008123129 A JP2008123129 A JP 2008123129A JP 2006304494 A JP2006304494 A JP 2006304494A JP 2006304494 A JP2006304494 A JP 2006304494A JP 2008123129 A JP2008123129 A JP 2008123129A
Authority
JP
Japan
Prior art keywords
processor
failure
program
processors
multiprocessor 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.)
Withdrawn
Application number
JP2006304494A
Other languages
English (en)
Inventor
Yoshiaki Sawada
佳明 澤田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2006304494A priority Critical patent/JP2008123129A/ja
Publication of JP2008123129A publication Critical patent/JP2008123129A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Abstract

【課題】マルチプロセッシング方式の電子計算機(マルチプロセッサシステム)において、安全なプロセッサ障害処理方法を提供する。
【解決手段】図1に示す実施形態は主記憶装置共有型のマルチプロセッサシステムの概略構成図である。プロセッサのいずれか1つに障害が発生すると、プロセッサ割り当て手段301が、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当て、障害処理を行わせる。障害処理は、プロセス空間上書き手段201が障害の発生したプロセッサの実行環境をプロセッサ障害処理実行手段421で上書きして行われ、プロセッサ障害処理実行手段421の障害処理実行内容は、障害発生プロセッサの排他制御情報を参照して解放を行い、実行中のプログラムの停止処理を行うことである。
【選択図】図1

Description

本発明は、マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体に関し、特に、主記憶装置を共有するタイプのマルチプロセッシング方式のコンピュータシステムに関する。
従来、マルチプロセッシング方式の電子計算機のプロセッサ障害処理方法としては、例えば、電子計算機のブート(起動)時に、固定されたブートCPU又は正常に動作するCPUのいずれか1つがブート処理を行い、他のCPUの障害を検査して、異常が発見されたCPUはシステムに組み込まず正常なCPUだけで動作するという従来技術が知られている。
しかしながら、上記の従来技術は、CPU障害検出は起動時にのみ行われる方法であって、システムに稼働中には行われず稼働中の突発的なCPU障害に対しては対応できないという問題点があった。システム稼働中のCPU障害には、多くの場合、システム全体が異常停止してしまう。
マルチプロセッサ構成の計算機の障害処理方法に関する従来技術としては、例えば、特許文献1に開示された発明がある。この従来発明は、マルチプロセッサ構成の計算機のシステムリカバリ制御方法であって、リカバリ制御手段により排他状態で更新不能となっているデータを非排他状態にする従来技術である(例えば、段落番号0021)。
また、他に例えば、特許文献2に記載の従来発明は、各々のノードごとに異なる計算機プログラム実行環境を設定して動作させる耐障害計算機システムである(例えば、段落番号0065)。
一方で、あるプロセッサで実行中のプログラムの停止処理を行うという点に注目すれば、例えば、特許文献3に記載の従来発明がある。この従来発明は、管理タスクがアプリケーションソフト動作タスクの終了処理をする(携帯電話機)端末及びコンピュータプログラムである(例えば、段落番号0016)。
特開平11−296492号公報 特開2004−295738号公報 特開2003−029981号公報
しかしながら、従来のマルチプロセッサ構成のシステムにおいては、プロセッサ障害が発生した場合、障害が発生したプロセッサ上で実行されるプログラムが実行中のまま放置されることにより、関連するプログラムの実行に影響を及ぼすだけでなく、システム運用にも支障を来す場合があった。
また、障害が発生したプロセッサ上で実行されていたプログラムを終了させる機構を保有するシステムにおいても、プログラムの実行環境に障害発生時のものを使用するため、正常にプログラムが終了しないという問題点があった。
また、プロセッサ障害が発生することが事前に予知可能なハードウェア機構を持つシステムでは、プロセッサ障害が発生する直前に当該プロセッサ上で動作するプログラムを退避し、オペレーティングシステム上、そのプロセッサを存在しないものとして扱うことなどの事前対応が可能である。
しかしながら、そうしたハードウェア機構を持たないシステムでは、突然プロセッサ障害が発生することにより、オペレーティングシステム上矛盾を生じ、継続してシステム運用ができないことがある、という問題点があった。
特に、メインフレーム用オペレーティングシステムやハードウェアベンダ等が独自に開発したオペレーティングシステムでは独自の障害処理機能を保有していたり、専用のハードウェア機構が実装されていたりすることがあるのに対して、オープンソースであるUNIX(登録商標)システムは、障害処理系が弱い。
そこで本発明は、上記従来技術の問題点に鑑み、マルチプロセッシング方式の電子計算機(マルチプロセッサシステム)において、安全なプロセッサ障害処理方法を提供することを目的とする。
上記目的を達成するための請求項1記載の発明は、主記憶装置共有型のマルチプロセッサシステムであって、プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当て、該障害非発生プロセッサが、前記障害発生プロセッサの排他制御情報を参照して解放を行い、前記障害発生プロセッサで実行中のプログラムの停止処理を行うことを特徴とするマルチプロセッサシステムである。
請求項2記載の発明は、請求項1記載のマルチプロセッサシステムにおいて、任意のプログラムの実行を障害の発生していないプロセッサのいずれか1つに割り当てて、主記憶装置上に前記プログラムの実行環境を準備するプロセッサ割り当て手段を有することを特徴とする。
請求項3記載の発明は、請求項1又は2記載のマルチプロセッサシステムにおいて、プロセッサのいずれか1つに障害が発生したことを検出してプロセッサ番号とともに前記障害非発生プロセッサの障害処理用に準備された実行環境に通知するプロセッサ障害検出手段を有することを特徴とする。
請求項4記載の発明は、主記憶装置共有型のマルチプロセッサシステムの障害処理方法であって、プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当て、該障害非発生プロセッサが、前記障害発生プロセッサの排他制御情報を参照して解放を行い、前記障害発生プロセッサで実行中のプログラムの停止処理を行うことを特徴とするマルチプロセッサシステムの障害処理方法である。
請求項5記載の発明は、主記憶装置共有型のマルチプロセッサシステムに、プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当てるプロセッサ割り当て処理と、障害処理を割り当てられたプロセッサが前記障害発生プロセッサの排他制御情報を参照して解放を行う処理と、前記障害処理を割り当てられたプロセッサが前記障害発生プロセッサで実行中のプログラムの停止を行う処理と、を実行させることを特徴とするマルチプロセッサシステムの障害処理プログラムである。
請求項6記載の発明は、請求項5記載のマルチプロセッサシステムの障害処理プログラムにおいて、マルチプロセッサシステムに、任意のプログラムの実行を障害の発生していないプロセッサのいずれか1つに割り当てて、主記憶装置上に前記プログラムの実行環境を準備するプロセッサ割り当て処理を実行させることを特徴とする。
請求項7記載の発明は、請求項5又は6記載のマルチプロセッサシステムの障害処理プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体である。
本発明によれば、マルチプロセッサシステムにおいて、安全なプロセッサ障害処理方法を提供することができる。
以下、本発明の最良の実施形態について図面を参照して詳細に説明する。
本実施形態は、プロセッサ障害が発生した場合でも、当該プロセッサを切り離し、継続してシステム運用を可能とするプロセッサ障害処理機構であることに特徴がある。
上記の機構は、障害が発生したプロセッサ上で動作していたプログラムのテキスト、データ、スタック情報を、障害処理専用コードに置き換え、別のプロセッサで実行させることにより、プロセスを安全に終了させ、継続してシステム運用を可能とする機構である。
また、好適には、ハードウェアは、複数の演算制御装置(プロセッサ群)が1つの主記憶装置(メインメモリ)を共有する密結合型のマルチプロセッサシステムであり、基本ソフトウェア(オペレーティングシステム)は、UNIX(登録商標)系を用いる。
なお、密結合型(メモリ共有型)マルチプロセッシング方式は、対称型マルチプロセッシングを含む。
上述のように構成することによって、次のような効果が得られる。すなわち、第1の効果は、プロセッサ障害後も残存するプロセッサを利用して継続してシステム運用ができることにある。
その理由は、プロセッサ障害処理専用の実行環境を使用することにより、障害が発生したプロセッサ上で実行されていたプログラムを安全に終了させ、システムとして矛盾を生じさせないようにするためである。
以下、本実施形態の構成についてさらに詳しく、図1を参照して述べる。
図1は、本実施形態に係るマルチプロセッサシステムの、主要部の構成を示す概略ブロック図である。
図1において、このシステムは、プログラム制御により動作する「プロセッサ1」101、「プロセッサ2」102、「プロセッサn」103と、プロセス空間上書き手段201と、プロセッサ障害検出手段211と、プロセッサ割り当て手段301と、メモリ401と、各プロセッサとメモリ間のデータ転送用バス501とから構成されている。
メモリ401は、各プロセッサで動作するプロセスの実行環境(「プロセッサ1実行環境」411と、「プロセッサ2実行環境」412と、「プロセッサn実行環境」413)と、プロセッサ障害処理実行手段421と、「プログラムA」431と、「プログラムB」432と、「プログラムZ」433とを含む。全てのプログラムはプロセッサ割り当て手段301により任意のプロセッサが割り当てられ、そのプロセッサ上で実行される。図1の場合は、「プログラムA」431が「プロセッサ1」101、「プログラムB」32が「プロセッサ2」102、「プログラムZ」433が「プロセッサn」103で実行されていることを示している。
「プロセッサ1実行環境」411は、「プロセッサ1」101がプログラムを実行するためのメモリエリアである。「プロセッサ2実行環境」412、「プロセッサn実行環境」413も同様にそれぞれ「プロセッサ2」102、「プロセッサn」103がプログラムを実行するためのメモリエリアである。
これらの「実行環境」は、プログラムが動作するためのテキスト、データ、スタック領域を示す。これに対し、プロセッサ障害処理実行手段421は、プログラムであり、実際に実行される場合は、いずれかのプロセッサの「実行環境」にロードされる。
なお、プロセッサ障害処理実行手段421は、必ずしもメモリに常駐されている必要はなく、必要なときだけロードされるプログラムとして存在していてもよい。
また、プロセッサ障害検出手段211は、各プロセッサが障害時に発する異常ステータス値等を、データ転送用バス501を介して検出するといったハードウェアである。そして、プロセッサ障害検出手段211は、プロセッサ障害が発生したことをそのプロセッサ番号と共に、本実施形態のオペレーティングシステムへ、割り込み信号を送って通知するという動作を行う。
また、プロセス空間上書き手段201、プロセッサ割り当て手段301、プロセッサ障害処理実行手段421のそれぞれは、本実施形態のオペレーティングシステム内のプログラムである。なお、このプログラムは、例えば、オペレーティングシステムのカーネルドライバの、一部の構成要素であることが好適である。
以上の構成を備える本実施形態の動作を、図2を参照して説明する。
図2において、プロセッサ障害が発生すると(ステップS21)、プロセッサ障害検出手段211は、どのプロセッサで障害が発生したかを検出し(ステップS22)、プロセス空間上書き手段201に通知する(ステップS23)。プロセス空間上書き手段201は、障害が発生したプロセッサ上で実行されていたプログラムに、プロセッサ障害処理実行手段421を上書きする(ステップS24)。
プロセッサ割り当て手段301は、メモリ401上に存在するプログラムを実行するためのプロセッサを選択する。プロセッサを選択した後、プロセッサ番号に相当するプログラム実行環境メモリエリアにプログラムが実行するために必要な情報を展開する。これにより、指定されたプロセッサでプログラムが実行される。
図1において、「プロセッサ1」101がプロセッサ障害を起こした場合を例にとって、さらに具体的に説明する。
図1のように「プロセッサ1」101で「プログラムA」431が実行されている状況において、「プロセッサ1」101がプロセッサ障害を起こした場合を仮定すると、プロセッサ障害検出手段211は、「プロセッサ1」101で障害が発生したことを検出し、その旨をプロセス空間上書き手段201に通知する。
プロセス空間上書き手段201は、プロセッサ障害処理実行手段421を「プロセッサ1」101上で実行されていた「プログラムA」431に上書きする。これにより、「プログラムA」431は、プロセッサ障害処理実行手段421を実行するプログラムに変更される。
次に、プロセッサ割り当て手段301は、変更後の「プログラムA」431を正常に動作するプロセッサに割り当てる。これにより、割り当てられたプロセッサ上でプロセッサ障害処理実行手段421が実行される。
ここで、プロセッサ障害処理実行手段421によってプロセッサ障害処理が実行される手順を、図3を参照して説明する。
図3において、まず、障害が発生したプロセッサがシステム情報をアクセスするために保有している排他制御情報を参照し、必要に応じて開放処理を行う(ステップS31)。次に、「プログラムA」431の終了処理を行う(ステップS32)。このプログラム終了処理は、プロセッサ障害発生前に実行していた「プログラムA」431の実行環境である、「プロセッサ1実行環境」411は使用せず、障害処理専用の実行環境(テキスト、データ、スタック領域)を使用して実行される。
なお、本実施形態のプロセッサ障害検出手段211は、ハードウェア機構によって実装されるが、本実施形態のプロセス空間上書き手段201、プロセッサ割り当て手段301、プロセッサ障害処理実行手段421は、オペレーティングシステムの一部として(好適には例えばカーネルドライバのモジュールとして)、実施が可能である。また、当該オペレーティングシステムを、コンピュータ読み取り可能な記録媒体に記録することができる。この場合、記録媒体は光ディスク、磁気ディスク、磁気テープ等、種々の媒体で実施可能である。
以上に述べた本実施形態の効果について説明する。
上記本実施形態によれば、プロセッサ障害処理専用の実行環境を使用することにより、障害が発生したプロセッサ上で実行されていたプログラムを安全に終了させることができる。したがって、プロセッサ障害後も継続してシステム運用を行うことができる。
また、上記本実施形態によれば、マルチプロセッサ構成のシステムにおいて、プロセッサ障害が発生してもシステムダウンに陥ることなくシステムの継続運用が可能になる。したがって、仮に故障率が高い(MTBFが短い)安価なプロセッサを組み合わせたシステムを構築した場合でも、システムダウンを招くことなく可用性の高いシステムが構築可能となる。
本発明は、特に、故障率が高い安価なプロセッサを組み合わせたマルチプロセッサシステムの構築に、産業上の利用可能性がある。
本発明の好適な実施形態に係るマルチプロセッサシステムの、主要部の構成を示す概略ブロック図である。 本発明の好適な実施形態に係るプロセッサ障害が発生してからプロセッサ障害処理が実行されるまでの手順を示すフローチャート図である。 本発明の好適な実施形態に係るプロセッサ障害処理を実行する手順を示すフローチャート図である。
符号の説明
101 プロセッサ1
102 プロセッサ2
103 プロセッサn
201 プロセス空間上書き手段
211 プロセッサ障害検出手段
301 プロセッサ割り当て手段
401 メモリ
411 プロセッサ1実行環境
412 プロセッサ2実行環境
413 プロセッサn実行環境
421 プロセッサ障害処理実行手段
431 プログラムA
432 プログラムB
433 プログラムZ
501 データ転送用バス

Claims (7)

  1. 主記憶装置共有型のマルチプロセッサシステムであって、
    プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当て、
    該障害非発生プロセッサが、前記障害発生プロセッサの排他制御情報を参照して解放を行い、前記障害発生プロセッサで実行中のプログラムの停止処理を行うことを特徴とするマルチプロセッサシステム。
  2. 任意のプログラムの実行を障害の発生していないプロセッサのいずれか1つに割り当てて、主記憶装置上に前記プログラムの実行環境を準備するプロセッサ割り当て手段を有することを特徴とする請求項1記載のマルチプロセッサシステム。
  3. プロセッサのいずれか1つに障害が発生したことを検出してプロセッサ番号とともに前記障害非発生プロセッサの障害処理用に準備された実行環境に通知するプロセッサ障害検出手段を有することを特徴とする請求項1又は2記載のマルチプロセッサシステム。
  4. 主記憶装置共有型のマルチプロセッサシステムの障害処理方法であって、
    プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当て、
    該障害非発生プロセッサが、前記障害発生プロセッサの排他制御情報を参照して解放を行い、前記障害発生プロセッサで実行中のプログラムの停止処理を行うことを特徴とするマルチプロセッサシステムの障害処理方法。
  5. 主記憶装置共有型のマルチプロセッサシステムに、
    プロセッサのいずれか1つに障害が発生すると、障害の発生していないプロセッサのいずれか1つに、障害処理用に準備された実行環境を割り当てるプロセッサ割り当て処理と、
    障害処理を割り当てられたプロセッサが前記障害発生プロセッサの排他制御情報を参照して解放を行う処理と、
    前記障害処理を割り当てられたプロセッサが前記障害発生プロセッサで実行中のプログラムの停止を行う処理と、
    を実行させることを特徴とするマルチプロセッサシステムの障害処理プログラム。
  6. マルチプロセッサシステムに、
    任意のプログラムの実行を障害の発生していないプロセッサのいずれか1つに割り当てて、主記憶装置上に前記プログラムの実行環境を準備するプロセッサ割り当て処理を実行させることを特徴とする請求項5記載のマルチプロセッサシステムの障害処理プログラム。
  7. 請求項5又は6記載のマルチプロセッサシステムの障害処理プログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
JP2006304494A 2006-11-09 2006-11-09 マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体 Withdrawn JP2008123129A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006304494A JP2008123129A (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006304494A JP2008123129A (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体

Publications (1)

Publication Number Publication Date
JP2008123129A true JP2008123129A (ja) 2008-05-29

Family

ID=39507841

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006304494A Withdrawn JP2008123129A (ja) 2006-11-09 2006-11-09 マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体

Country Status (1)

Country Link
JP (1) JP2008123129A (ja)

Similar Documents

Publication Publication Date Title
JP5203967B2 (ja) メモリ障害を処理するために、センサーネットワークで使用可能な方法及びシステム
JP3196004B2 (ja) 障害回復処理方法
US7574627B2 (en) Memory dump method, memory dump program and computer system
JP5851503B2 (ja) 高可用性仮想機械環境におけるアプリケーションの高可用性の提供
US7865782B2 (en) I/O device fault processing method for use in virtual computer system
US8219851B2 (en) System RAS protection for UMA style memory
US8782643B2 (en) Device and method for controlling communication between BIOS and BMC
US10353786B2 (en) Virtualization substrate management device, virtualization substrate management system, virtualization substrate management method, and recording medium for recording virtualization substrate management program
EP2645635B1 (en) Cluster monitor, method for monitoring a cluster, and computer-readable recording medium
US10379931B2 (en) Computer system
JP2007133544A (ja) 障害情報解析方法及びその実施装置
US20170242760A1 (en) Monitoring device, fault-tolerant system, and control method
JP2009069963A (ja) マルチプロセッサシステム
CN106354560B (zh) 一种系统的维护进程运行方法及装置
JP2001101032A (ja) 異種os間制御によるos監視方式
JP2009003537A (ja) 計算機
JP2009026182A (ja) プログラム実行システム及び実行装置
US9176806B2 (en) Computer and memory inspection method
JP2005234744A (ja) マルチプロセッサシステム及び障害処理方法
JP2008123129A (ja) マルチプロセッサシステム、障害処理方法、プログラム及び記録媒体
JP2009163646A (ja) パーティション構成方法
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP2008077388A (ja) マルチプロセッサ制御システム、方法、およびプログラム
JPH09282291A (ja) 共通記憶装置のロックフラグ解除方式および方法
JP2007157125A (ja) サーバ内のブロック化された処理を安全に中断するための方法、システム、プログラム

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20100202