JPWO2012143978A1 - 情報処理装置及び情報処理装置の処理方法 - Google Patents

情報処理装置及び情報処理装置の処理方法 Download PDF

Info

Publication number
JPWO2012143978A1
JPWO2012143978A1 JP2013510741A JP2013510741A JPWO2012143978A1 JP WO2012143978 A1 JPWO2012143978 A1 JP WO2012143978A1 JP 2013510741 A JP2013510741 A JP 2013510741A JP 2013510741 A JP2013510741 A JP 2013510741A JP WO2012143978 A1 JPWO2012143978 A1 JP WO2012143978A1
Authority
JP
Japan
Prior art keywords
memory
processors
dump
cpu
information processing
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.)
Granted
Application number
JP2013510741A
Other languages
English (en)
Other versions
JP5733389B2 (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
Publication of JPWO2012143978A1 publication Critical patent/JPWO2012143978A1/ja
Application granted granted Critical
Publication of JP5733389B2 publication Critical patent/JP5733389B2/ja
Expired - Fee Related 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/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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/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; 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
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(課題)OSに障害が発生した場合、確実にメモリダンプを取得することができる情報処理装置及び情報処理装置の処理方法を提供する。(解決手段) メモリと、メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、メモリをアクセスする複数のプロセッサと、複数のプロセッサ各々における利用可能なキャッシュメモリの容量を判定する判定部と、判定部の判定結果、利用可能なキャッシュメモリの容量が最も小さいプロセッサを選択する選択部と、選択部によって選択されたプロセッサに、メモリダンププログラムを実行させ、それ以外のプロセッサには、その他のソフトウエアの処理を実行させる処理部と、を有する。

Description

開示の技術は、情報処理装置及び情報処理装置の処理方法に関する。
コンピュータシステムのOS(Operating System)に、処理を継続できないほど深刻な障害が発生した場合、該OSの障害の原因究明のため、障害時のデータが採取される。採取されたデータは、格納装置に保存される。保存されたデータは、一般的にメモリダンプと呼ばれる。
このメモリダンプの採取手段として、予めメモリダンプ採取プログラムを組み込んでおき、障害発生を検出した場合、入力手段などからの割込みにより、メモリダンプ採取プログラムを起動させメモリデータを採取する方法がある。例えばLinuxでは、OSの核であるカーネルにおけるカーネルダンプを出力するためのクラッシュカーネルをあらかじめメモリ上に常駐させている。カーネルパニックが発生すると、通常のカーネルからクラッシュカーネルに処理が移り、カーネルダンプが取得される。
また、他のメモリデータ採取手段として,障害時のメモリデータを保持したままコンピュータシステムをリセットし、リセット後に通常運用のOSとは異なるメモリデータ採取プログラムを起動して、保持されているメモリデータを採取する方法がある。リセットは、割込みの一種である。このメモリデータを保持したままコンピュータシステムをリセットする為に、通常、リセット時にコンピュータシステムの電源を落とさないWarm Resetという機能が用いられる。
従来技術として、下記の文献がある。
特開2009−129101号公報 特開2007−94537号公報
しかしながら、仮想マシンを実行する情報処理装置に於いては、仮想マシンの処理が、基盤となるOSと連動していない事から、基盤となるOSの割込みで、仮想マシン内で停止できない処理を停止させてしまう事を防止する為に、基盤となるOSの割込みを受け付けないようにしているものがある。
即ち、仮想マシンを実行する情報処理装置で障害が発生した場合、メモリダンプ採取プログラムの割込みができなくなり、その結果、メモリダンプが取得できないという問題があった。
開示の技術は、仮想マシンを実行するOSに障害が発生した場合においても、メモリダンプを取得することができる情報処理装置及び情報処理装置の処理方法を提供することを目的とする。
本発明の課題を解決するため、開示の技術の第1の側面によれば、
メモリと、
前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、
前記メモリをアクセスする複数のプロセッサと、
前記複数のプロセッサ各々における利用可能なキャッシュメモリの容量を判定する判定部と、
前記判定部の判定結果、利用可能なキャッシュメモリの容量が最も小さいプロセッサを選択する選択部と、
前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサには、その他のソフトウエアの処理を実行させる処理部と、
を有することを特徴とする情報処理装置が提供される。
開示の技術によれば、専用のプロセッサがOSと独立して、メモリダンプ処理を行なうことができる。そのため、OSに割り込み処理が効かない仮想マシンを実行している情報処理装置に於いても、メモリダンプを実行することができる。更に、キャッシュメモリを有する複数のプロセッサを備え、利用可能なキャッシュメモリが一番小さいCPUをメモリダンプ用として選択する。他のプロセッサには通常処理を行わせることにより、メモリダンプを行う際の処理能力の低減を抑制できる。
本実施の形態における情報処理装置の構成の一例を示す図である。 本実施の形態におけるメインメモリの構成の一例を示す図である。 本実施の形態におけるブートファームウエアの構成の一例を示す図である。 本実施の形態におけるダンプ専用CPU選択要因を説明する図を示す。 本実施の形態におけるダンプ専用CPU選択要因を説明する表を示す。 本実施の形態における情報処理装置の起動時のダンププログラム制御部の図を示す図である。 本実施の形態におけるダンププログラム制御部のフローチャートである。 本実施の形態におけるダンプ専用CPUの選択処理のフローチャートである。 本実施の形態における障害発生時の割込み処理を説明する図を示す。 本実施の形態における障害発生時のメインメモリの割込み処理を説明する図を示す。 本実施の形態における障害発生時のダンププログラム制御部の処理を説明する図を示す。 本実施の形態における障害発生時のSMM(System Management Mode)に移行した後の制御処理を示すフローチャートである。 本実施の形態における障害発生時のメモリダンプ処理を示すフローチャートである。 本実施の形態における障害発生時のSBSP、AP及びダンプ専用CPUの処理を示すシーケンス図である。 本実施の形態における障害発生時のSBSP、AP及びダンプ専用CPUの処理を示すシーケンス図である。
以下、開示の技術について、図面を用いて詳細に説明する。
図1は、本実施の形態における情報処理装置1000の構成の一例を示す図である。図1に示すように、情報処理装置1000は、ノード10〜13、ハードディスク400、NVRAM(Non−Volatile Random Access Memory)500及び通信インタフェース700を有する。
ノード10は、CPU(Central Processing Unit)100A、メインメモリ200A及びキャッシュメモリ300Aを有する。ノード11は、CPU100B、メインメモリ200B及びキャッシュメモリ300Bを有する。ノード12は、CPU100C、メインメモリ200C及びキャッシュメモリ300Cを有する。ノード13は、CPU100D、メインメモリ200D及びキャッシュメモリ300Dを有する。ノード10〜13は、バス800によって互いに接続されている。情報処理装置1000は、NUMA(Non−Uniform Memory Access)が採用されている。なお、ノード10〜13は同一の構造を備える。以下、ノード10について説明し、ノード11〜13においてノード10で説明した構成と同様の構成には同一符号を付し、説明を省略する。
CPU100Aは、バス800を介してキャッシュメモリ300Aと接続されている。CPU100Aは、ノード10の各種処理を実行する。
メインメモリ200Aは、バス800を介して、キャッシュメモリ300Aと接続されている。メインメモリ200Aは、CPU100Aが実行するOS(Operating System)のプログラム、ノード10を制御するプログラム201Aの少なくとも一部を格納する。また、メインメモリ200Aは、CPU100Aにおける処理に必要な各種データを格納する。
キャッシュメモリ300Aは、例えばCPU100Aとメインメモリ200AとのREAD/WRITE I/O処理(以下、単に「アクセス」という)を高速にする目的で設けられている。キャッシュメモリ300Aは、CPU100Aのアクセスに応じてメインメモリ200Aに書き込むデータの一部を記憶する。キャッシュメモリ300Aは、CPU100Aのアクセスに応じてメインメモリ200Aから読み出したデータの一部を記憶する。キャッシュメモリ300Aにデータの一部を記憶しておくことで、CPU100Aは、メインメモリ200Aにアクセスすることなくデータをキャッシュメモリ300Aから読み出すことができる。なお、図1において、キャッシュメモリ100Aは、CPU100Aと物理的に異なるキャッシュメモリとして図示されている。しかし、キャッシュメモリ300Aは、CPU100Aに内蔵される構成にしてもよい。
ハードディスク400は、バス800を介して、ノード10〜13、NVRAM500及び通信インタフェース700と接続する。ハードディスク400は、OSローダ410、OSイメージ420及びダンプディスク430を格納する。
OSローダ410は、ハードディスク400に格納されているOSをメインメモリ200A〜200Dに読み込ませるためのプログラムである。
OSイメージ420は、メインメモリ200A〜200Dのファイルの内容と構造が、それぞれ1つのファイルに格納されたデータである。
ダンプディスク430には、CPU100A〜100Dが実行するOS240に動作を継続できないほど深刻な障害が発生した場合に、メインメモリ200A〜200D、及び、キャッシュメモリ300A〜300Dが記憶しているデータの内容が格納される。ダンプディスク430には、OS240の障害発生時に、CPU100A〜100Dのコンテキスト情報を含むデータが格納される。メインメモリ200A〜200D、及び、キャッシュメモリ300A〜300Dが格納しているデータ内容は、障害調査のための資料として使用される。CPU100A〜100Dのコンテキスト情報は、動作していた全てのCPU100A〜100Dの実行状態を回復するために使用される。ダンプディスク430に保存されたデータは、一般的にメモリダンプと呼ばれる。
NVRAM500は、バス800を介して、ノード10〜13、ハードディスク400及び通信インタフェース700と接続されている。NVRAM500は、ROM(Read Only Memory)ファームウエア501を格納する。
ROMファームウエア501は、NVRAM500の所定のアドレスから読み出されたブートファームウエアをメインメモリ200A〜200Dに格納する。ROMファームウエア501は、図2に後述するブートファームウエア210をメインメモリ200A〜200D上に実行可能なブートファームウエア210として展開する。
通信インタフェース700は、情報処理装置1000がネットワーク900を介してシステム監視装置2000と接続するために設けられる。通信インタフェース700は、ノード10〜13、及びシステム監視装置2000間のデータの送受信を行うインタフェースの機能を提供する。
システム監視装置2000は、ネットワーク900を介して情報処理装置1000の通信インタフェース700と接続されている。システム監視装置2000は、情報処理装置1000の電源のON又はOFFを遠隔操作によって行う。システム監視装置2000は、情報処理装置1000のノード10〜13のパーティションの設定及び解除を行う。システム監視装置2000は、ノード10〜13の装置情報の表示を行う。システム監視装置2000は、ノード10〜13の故障箇所の指摘を行う。システム監視装置2000は、ノード10〜13が有するキャッシュメモリ300A〜300Dの縮退処理を、CPU100A〜100Dを使用して実行する。
なお、SBSP(System Bootstrap Processor)として動作するCPU100Aは、メインメモリ200A〜200Dの領域を、CPU100A〜100Dにそれぞれ割り当てるメモリ割り当て部として動作する。SBSPは、情報処理装置1000の起動時のメイン処理を実行するCPUであり、複数のCPU100A〜100Dの中の1つがSBSPとして選択される。又、CPU100A〜100Dは、キャッシュメモリ300A〜300Dの障害の状態に応じて、キャッシュメモリ300A〜300Dの利用可能範囲を制限して使用する縮退機能を有する。
図2は、本実施の形態における情報処理装置1000におけるノード10のメインメモリ200Aの構成を示す図である。メインメモリ200Aは、ブートファームウエア210、SMI(System Management Interrupt)ハンドラ220、OSローダ230及びOS240を格納する。なお、ノード10のメインメモリ200Aは、ノード11のメインメモリ200B、ノード12のメインメモリ200C及びノード13のメインメモリ200Dと同じ構成を有する。図2において、図1で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
ブートファームウエア210は、ノード10〜13が有するメインメモリ200A〜200Dの実装状態を認識する。ブートファームウエア210は、OSローダ230及びOS240をメインメモリ200A〜200Dの実装環境下で動作させる。
SMIハンドラ220は、システム管理割込み(System Management Interrupt、以下「SMI」)という割込みの一種により、CPU100A〜100Dの動作モードの一つであるシステム管理モード(System Management Mode、以下「SMM」)に移行する機能を備える。SMMとは、Intel社のx86アーキテクチャに導入されているCPU100A〜100Dの動作モードのうちの一つである。CPU100A〜100Dは、SMIを受信するとSMMに移行する。SMMに移行したCPU100A〜100Dは、SMIを実行する。SMIは、他の動作モードからはアクセスできないメインメモリ200A〜200Dのメモリ空間内の独立したアドレス空間内で、SMIを処理するプログラムである。CPU100A〜100Dは、SMIの処理が完了すると、SMM移行前のモードに戻る。
OSローダ230は、ハードディスク400に格納されているOSをメインメモリ200A〜200Dに読み込ませるためのプログラムである。
OS240は、CPU100Aが実行するプログラムである。OS240は、複数の種類が含まれる。OS240は、OS240上で物理マシンをエミュレートした複数の仮想マシンが動作する仮想マシンプログラムを含む。
OS240の障害発生時、OS240とは異なるメモリダンプ採取プログラムを起動させるためのSMIが行われる。しかしながら、仮想マシンを実行させるOS240に障害が検出された場合、OS240がメモリダンプ採取プログラムを起動させる為の割込みを行うと、仮想マシン内で中断されてはいけない処理が中断される事態が発生する。仮想マシン内の処理は、基盤となっているOS240と連動していないためである。このような事態を回避するために、仮想マシンには、INITによって、OS240上で動作する仮想マシンの処理が中断されるのを防ぐためのプロテクトが掛けられている。
図6に後述するダンプ専用CPU切離し部211Bは、選択されたダンプ専用CPUを、通常運用系CPUから切り離し、OS240に使用させない処理を行う。ダンプ専用CPU切離し部211Bによって、ダンプ専用CPUとして動作するCPU100DがOS240と独立して、メモリダンプ処理を行なうことができる。そのため、OS240に割り込み処理が効かない仮想マシンを実行している情報処理装置1000に於いても、メモリダンプを実行することができる。
図3は、本実施の形態における情報処理装置1000におけるノード10のブートファームウエア210の構成を示す図である。ブートファームウエア210は、ダンププログラム制御部211及びメモリダンププログラム210Bを有する。なお、ノード10のブートファームウエア210は、ノード11〜13のブートファームウエアと同じ構成を有する。図3において、図1及び図2で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
ダンププログラム制御部211は、ダンプ専用CPU選択部211A及びダンプ専用CPU切離し部211Bを有する。
ダンプ専用CPU選択部211Aは、情報処理装置1000の起動時にダンプ専用CPUを選択し、ダンプ専用CPUの制御を行う。
ダンプ専用CPU切離し部211Bは、ACPI(Advanced Configuration and Power Interface)テーブル作成部211B1及びダンプ専用ループ実行部211B2を有する。
ACPIテーブル作成部211B1は、ACPIテーブルを作成する。ACPIテーブルは、ノード10〜13に含まれるCPU100A〜100D、メインメモリ200A〜200D、及びキャッシュメモリ300A〜300Dを含む情報処理装置1000のハードウエア情報を含む。ACPIテーブルは、ノード間の距離を表すSLIT(System Locality Distance Information Table)を含む。ACPIテーブル作成部211B1は、作成されたACPIテーブルを、OS240に通知する。
ダンプ専用ループ実行部211B2は、選択されたダンプ専用CPUに対して、ブートファームウエア210から待機ループする指示を行う。
メモリダンププログラム210Bは、選択されたダンプ専用CPUがメモリダンプを行うための機能の処理内容を記述したプログラムである。選択されたダンプ専用CPUは、メモリダンププログラム210Bを実行することにより、メモリダンプ処理を実行する。
図4は、本実施の形態における情報処理装置1000のダンプ専用CPUの選択要因を説明する図である。図4において、図1〜図3で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図4に示すように、NUMAを適用したシステムは、CPU100A〜100D、メインメモリ200A〜200D及びキャッシュメモリ300A〜300Dを含むノード10〜13を有する。NUMAにおいて、ノード10〜13は、インターコネクトとして機能するバス800によって接続される。CPU100A〜100Dは、ノード10〜13に含まれるメインメモリ200A〜200Dを使用することができる。
SBSPとして動作するCPU100Aを基準とした場合、ノード10内のメインメモリ200Aは、ローカルメモリと呼ばれる。また、ノード11〜13のメインメモリ200B〜200Dは、CPU100Aから見たリモートメモリと呼ばれる。NUMAにおいて、CPU100Aを基準とした場合、ローカルメモリであるメインメモリ200Aに対するアクセス時間は、リモートメモリであるメインメモリ200B〜200Dに対するアクセス時間よりも短くなる。また、CPU100Aのリモートメモリであるメインメモリ200B〜200Dに対するアクセス時間は、SBSPを含むノードから各ノードまでの距離に比例して長くなる。
また、ノード10〜13の各メインメモリ200A、200B、200C及び200Dそれぞれのメモリ全域の容量及びCPU100A〜100Dの状態が均一である場合がある。このような場合、上述したNUMAの特性を考慮した上で、SBSPのCPU100Aを含むノードから一番離れたノードであるノード13にあるCPU100Dがダンプ専用CPUとして選択される。CPU100Aを基準としてダンプ専用CPUが選択される理由は、OS240のカーネルを運用する際の核となるデータが、CPU100Aのローカルメモリを中心に、SBSPとして動作するCPU100Aから近いリモートメモリに格納されるからである。更に、OS240のカーネルへのアクセス時間の長短が、ノード10〜12の性能に直接影響を与えるためである。即ち、ダンプ専用CPUは、メモリアクセス遅延等を考慮した上で決定される。また、CPUに対応するキャッシュメモリが縮退して性能的に劣ったCPUを、通常運用系CPUで使用する代わりにダンプ専用CPUとして使用した方がよい場合もある。
なお、ノード10のCPU100Aは、SBSPとして動作する。SBSPとして動作するCPU100Aと、ダンプ専用として動作するCPU100D以外のCPU100B〜100Cは、SBSPに従って動作するAP(Application Processor)となる。
ノードのメインメモリのメモリ実装容量が他のノードに比べて少ない場合、又は、ノード11〜13のキャッシュメモリ300B〜300Dが縮退している場合も考慮してダンプ専用CPUを選択する。ノード12のメインメモリ200Cのメモリ全域の容量が、ノード11のメインメモリ200B及びノード13のメインメモリ200Dのメモリ全域の容量よりも小さい場合がある。ローカルメモリの容量が小さいとリモートメモリに対するアクセスが増加するため、メモリ容量を考慮してダンプ専用CPUを選択する。又、ノード13のキャッシュメモリ300Dが縮退している場合がある。キャッシュメモリが縮退していると、縮退が存在しないキャッシュメモリに対するアクセスが増加するため、キャッシュメモリの縮退の有無を考慮してダンプ専用として動作するCPUを選択する。キャッシュメモリ300Dの縮退は、キャッシュメモリ300Dのキャッシュブロックの部分故障に伴い、故障箇所が縮退されることにより発生する。ダンプ専用CPUは、上述したノード11〜13のキャッシュメモリ300B〜300Dの縮退の有無、メインメモリ200B〜200Dのメモリ全域の容量の大小、ACPIのSLITに基づいて選択される。なお、ノード10〜13は同一の構造を備える。ノード10〜13にある全CPUのうち、何れか1つがダンプ専用CPUとして選択されても、運用OSに依存せずにメモリダンプを実行することができる。
図5は、本実施の形態における情報処理装置1000におけるダンプ専用CPUの選択要因を説明する表を示す。図5における各データは、図4において前述した本実施の形態におけるダンプ専用CPU選択要因に対応している。図5において、図1〜図4で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図5に示すように、ノード10のSLITで表すSBSPからの距離は10である。ノード10のメインメモリ200Aにおけるメモリ全域の容量は256GBである。ノード10のキャッシュメモリ300Aにおけるキャッシュメモリ容量は24MBである。ノード11のSLITで表すSBSPからの距離は11である。ノード11のメインメモリ200Bにおけるメモリ全域の容量は256GBである。ノード11のキャッシュメモリ300Bにおけるキャッシュメモリ容量は24MBである。ノード12のSLITで表すSBSPからの距離は13である。ノード12のメインメモリ200Cにおけるメモリ全域の容量は64GBである。ノード12のキャッシュメモリ300Cにおけるキャッシュメモリ容量は24MBである。ノード13のSLITで表すSBSPからの距離は12である。ノード13のメインメモリ200Dにおけるメモリ全域の容量は128GBである。ノード13のキャッシュメモリ300Dは、縮退している。そのため、キャッシュメモリ300Dにおけるキャッシュメモリ容量は21MBである。
図5に示すように、ノード11〜13において、キャッシュメモリ300B〜300Dの縮退の有無を比較すると、ノード13のキャッシュメモリ300Dが縮退していることが分かる。キャッシュメモリ300B〜300Dの縮退の有無をダンプ専用CPUの選択基準とした場合、ノード13のCPU100Dがダンプ専用CPUとして選択される。即ち、キャッシュメモリを有する複数のプロセッサを備え、利用可能なキャッシュメモリが一番小さいCPUをメモリダンプ用として選択する。他のプロセッサには通常処理を行わせることにより、メモリダンプを行う際の処理能力の低減を抑制できる。
また、ノード11〜13において、メインメモリ200B〜200Dのメモリ全域の容量を比較すると、ノード12のメインメモリ200Cのメイン全域の容量が一番小さいことが分かる。メインメモリ200B〜200Dのメモリ全域の容量の大小をダンプ専用CPUの選択基準とした場合、ノード12のCPU100Cがダンプ専用CPUとして選択される。また、ノード11〜13において、SBSPを含むノードから一番遠いノードに含まれるCPUは、ノード13のCPU100Dである。ACPIのSLITに基づいてダンプ専用CPUが選択される場合、一番遠いCPU100Dがダンプ専用CPUとして選択される。
図6は、本実施の形態における情報処理装置1000の起動時におけるダンププログラム制御部の処理を説明する図である。図6において、図1〜図5で説明した構成と同様の構成には同一の符号を付し、説明を省略する。図6は、ブートファームウエア210について説明する図である。
図6に示すように、ダンププログラム制御部211のダンプ専用CPU選択部211Aは、情報処理装置1000の電源投入後、ノード11〜13のCPU100B〜100Dから、ダンプ専用CPUを1つ選択する。
ダンプ専用CPU切離し部211Bは、選択されたダンプ専用CPUを、通常運用系CPUから切り離し、OS240に使用させない処理を行う。ACPIテーブル作成部211B1は、ACPIテーブルを作成する際に、ダンプ専用CPUを除いたACPIテーブルを作成する。次いで、ダンプ専用ループ実行部211B2は、選択されたダンプ専用CPUに対して、ブートファームウエア210から待機ループする指示を行う。
ダンプ専用CPU切離し部211Bによって、ダンプ専用CPUとして動作するCPU100DがOS240と独立して、メモリダンプ処理を行なうことができる。そのため、OS240に割り込み処理が効かない仮想マシンを実行している情報処理装置1000に於いても、メモリダンプを実行することができる。
次いで、OSローダ230は、ハードディスク400に格納されているOSをメインメモリ200A〜200Dに読み込ませる。メインメモリ200A〜200Dに読み込まれたOS240は、CPU100Aによって実行される。実行されるOS240は、複数の種類が含まれる。OS240は、OS240上で物理マシンをエミュレートした複数の仮想マシンが動作する仮想マシンプログラムを含む。
図7は、本実施の形態におけるダンププログラム制御部211の処理を説明する図である。図7において、図1〜図6で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図7に示すように、ダンププログラム制御部211は、ダンプ専用CPUを選択する(OP1)。次いで、ダンププログラム制御部211は、ACPIテーブルを作成する(OP2)。
図8は、本実施の形態におけるダンププログラム制御部211のダンプ専用CPUの選択処理を説明する図である。なお、本実施の形態において、CPU100AはSBSPとして予め選択されている。図8において、図1〜図7で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図8に示すように、ダンププログラム制御部211は、ノード11〜13におけるメインメモリ200B〜200Dのメモリ全域の容量を確認する(OP11)。次いで、ダンププログラム制御部211は、ノード11〜13におけるメインメモリ200B〜200Dのメモリ全域の容量が全て同じであるか判断する(OP12)。メインメモリ200B〜200Dのメモリ全域の容量が全て同じである場合(OP12 Y)、ダンププログラム制御部211は、ノード11〜13のキャッシュメモリ300B〜300Dにおける縮退の有無を確認する(OP13)。なお、メインメモリ200B〜200Dのメモリ全域の容量が全て同じではない場合(OP12 N)、ダンププログラム制御部211は、メインメモリ200B〜200Dのうち、メモリ全域の容量が最小であるメインメモリが複数あるか確認する(OP18)。
ノード11〜13のキャッシュメモリ300B〜300Dにおける縮退の有無を確認した後(OP13)、ダンププログラム制御部211は、ノード11〜13のキャッシュメモリ300B〜300Dにおける縮退が存在するか確認する(OP14)。キャッシュメモリ300B〜300Dにおける縮退が存在しない場合(OP14 N)、ダンププログラム制御部211は、メモリ全域の容量が最小である複数のメインメモリ間において、SLITを確認する(OP15)。キャッシュメモリ300B〜300Dのいずれかに縮退が存在する場合(OP14 Y)、ダンププログラム制御部211は、縮退しているキャッシュメモリが複数存在するか確認する(OP20)。
キャッシュメモリ300B〜300Dにおける縮退が存在しない場合(OP14 N)、ダンププログラム制御部211は、SBSPのCPU100AであるSLIT番号を確認する(OP15)。ダンププログラム制御部211は、CPU100B〜100Dのうち、SBSPのCPU100Aから一番遠いCPUを選択する(OP16)。次いで、ダンププログラム制御部211は、SBSPのCPU100Aから一番遠いCPUを、ダンプ専用CPUとして選択する(OP17)。
なお、メインメモリ200B〜200Dのうち、メモリ全域の容量が最小であるメインメモリが複数ある場合(OP18 Y)、ダンププログラム制御部211は、メモリ全域の容量が最小であるメインメモリを含むノードのキャッシュメモリの中で、縮退しているキャッシュメモリがあるか確認する(OP19)。メモリ全域の容量が最小であるメインメモリが複数存在しない場合(OP18 N)、ダンププログラム制御部211は、OP17の処理に移行する。
また、縮退しているキャッシュメモリが複数存在する場合(OP20 Y)、ダンププログラム制御部211は、メモリ全域の容量が最小である複数のメインメモリ、且つ縮退しているキャッシュメモリが存在するノードの中で、SBSPのCPU100Aから一番遠いCPUを選択する(OP21)。縮退しているキャッシュメモリが複数存在しない場合(OP20 N)、ダンププログラム制御部211は、縮退しているキャッシュメモリが存在するノード内のCPUをダンプ専用CPUとして選択する(OP17)。
図9は、本実施の形態における障害発生時の割込み処理を説明する図を示す。図9において、図1〜図8で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図9において、ノード10のCPU100AがSBSPとして動作する。ノード11のCPU100B及びノード12のCPU100Cは、APとして動作する。APとして動作するCPU100B及びCPU100Cは、仮想マシンがOS上で動作する。ダンプ専用CPUとして動作するCPU100Dには、ブートファームウエア210によって、SIPI(Startup Inter−Processor Interrupt)の発行待ちの指示が発行される。SIPIは、情報処理装置1000のマルチプロセッサ構成において、SBSPとして動作するCPU100Aが、ダンプ専用CPUとして動作するCPU100Dを起動する為に使用される割込みである。
図9に示すように、ノード10において仮想マシンがOS上で稼動している時に、OSの障害により、情報処理装置1000の処理が停止したとする。このような場合、システム監視装置2000は、情報処理装置1000の全CPUに対し、メモリダンプを実行させるためにSMIを発行する。
図10は、本実施の形態における障害発生時のメインメモリの割込み処理を説明する図を示す。図10において、図1〜図9で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図10に示すように、ノード10においてOSに障害が発生した後、システム監視装置2000は、全CPUに対し、メモリダンプを実行させるためにSMIを発行する。SMIの発行を受けたCPUは、情報処理装置1000の制御をSMMへ移行させる。SMMに移行したSBSPであるCPU100Aは、SMIを実行する。SMIは、他の動作モードからはアクセスできないメインメモリ200A〜200Dのメモリ空間内の独立したアドレス空間内でSMIを処理するプログラムである。全CPUは、SMIハンドラ220の処理が完了すると、SMM移行前のモードに戻る。
図11は、本実施の形態における障害発生時のダンププログラム制御部の処理を説明する図を示す。SMIハンドラ220は、割込み要因判定部221、SBSP切換え部212、及びINIT発行部213を有する。ブートファームウエア210は、メモリメモリ210Bを有する。ハードディスク400は、ダンプディスク430を有する。図11において、図1〜図10で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
ダンプ専用CPUとして動作するCPU100Dは、ノード10のOS240において処理を継続できないほど深刻な障害であるシステムハングやOSパニックの発生を検出すると、OSの障害の原因究明のため、必要となるシステムメモリのダンプを行う。システムメモリのダンプが必要な場合、最初に、システム監視装置2000がSMIを発生させてSMIハンドラ220へと制御を移行させる。
割込み要因判定部221は、最初に,割込み要因判定処理を実行する。割込み要因判定部221は、割込みが何の要因で発生したか確認する。具体的には、割込み要因判定部221は、割込みが、ダンプ指示の割込みで発生したか確認する。
SBSP切換え部212は、今まで待機ループしていたダンプ専用CPUであるCPU100DをSBSPに切り替える処理を行う。また,SBSP切換え部212は、通常運用系CPU(100Aから100C)を全て待機ループするように切り替える処理を行う。SBSPとして動作するCPU100Aは、仮想マシンモードで動作していないダンプ専用CPUであるCPU100Dのみ動作するように切り替える指示を、CPU100Dに対して発行する。そのため、SBSP切換え部212は、CPU100Dによって、INIT割込みを実行できる環境を創出できる。INIT割込み処理は、システムハングやOSパニックなどの障害が発生したノード10のOS240を初期化するための割込み処理である。
INIT発行部213は、ダンプ専用CPUとして動作するCPU100Dに対してINIT割込みを発行する。CPU100Dは、INIT割込みによって実行アドレスがリセットエントリに移行される。つまり,CPU100Dは、情報処理装置1000のリセット時に情報処理装置1000の電源を落とさないWarm Resetを実施せずに、メモリダンプ処理をブートファームウエア210に移行できる。Xenなどの仮想OSが動作していた環境では、CPU100Dのみがリセットエントリに移行される。リセットエントリは、SMIハンドラ220のINIT発行部213によって起動される。リセットエントリは、障害が発生したノード10のCPU100A、及び、リセット時に初期化が必要であるノード10の周辺デバイスであるメインメモリ200A及びキャッシュメモリ300Aに対して初期化を実行する処理である。
ダンプ専用CPUとして動作するCPU100Dは、ブートファームウエア210におけるメモリダンププログラム210Bを実行する。CPU100Dは、メモリダンププログラム210Bを実行することにより、障害が発生したノード10のメインメモリ200Aのデータを、予め指定されているダンプディスク430にダンプする。
図12は、本実施の形態における障害発生時のSMMに移行した後の制御処理を示すフローチャートである。図12において、図1〜図11で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図12に示すように、SMMに移行したCPUは、最初にCPUコンテキスト情報を退避する処理を実行する(OP31)。CPUがCPUコンテキスト情報を退避させる領域は、障害が発生したノード10のOS240から存在が見えないメモリ空間である。
SBSPは、割込みの要因を特定する為の割込み要因判定処理を実行する(OP32)。割込み要因判定処理は、メモリダンプが指示されたか否かを判定する処理である。割込み要因がメモリダンプ指示であることが特定されると、SBSPは、最初に、NVRAM500に、メモリダンプ指示フラグを作成する。メモリダンプ指示フラグは、ノード10のOS240のリセット実行後の起動がノーマル起動なのか、又はメモリダンプ用の起動なのかを特定する為に使用される。又、SBSPは、CPUコンテキストが退避した領域のメモリアドレスをNVRAM500に格納する。
SBSPであるCPU100Aは、SBSP切換え処理を実行する(OP33)。SBSP切換え処理は、SBSPとして動作していたCPU100Aを待機ループさせ、ダンプ専用CPUとして動作するCPU100DをSBSPとして動作させる処理である。
CPU100Dは、INIT発行処理を実行する(OP34)。INIT発行処理は、ダンプ専用CPUとして動作するCPU100DがINITを発行し、ダンプ専用CPUとして動作するCPU100Dの処理をリセットエントリに移行させる処理である。
図13は、本実施の形態における障害発生時のメモリダンプ処理を示すフローチャートである。図13は、リセットエントリからメモリダンプまでの処理を示すフローチャートである。図13において、図1〜図12で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図13に示すように、CPU100Dは、リセットエントリへ処理が移ると、始めにメモリダンプ判定処理を実行する(OP41)。CPU100Dは、NVRAM500に保存されたメモリダンプ指示フラグを確認する。CPU100Dは、メモリダンプ指示フラグを確認することによって、OS240のリセット実行後の起動がノーマル起動なのか、又はメモリダンプ用の起動なのかを確認する。
CPU100Dは、メモリ初期化スキップ処理を実行する(OP42)。CPU100Dは、OS240のリセット実行後の起動がメモリダンプのための起動であることを確認すると、ノーマル起動の場合に行われるメインメモリ200A〜200Dの初期化を行わずにスキップする。
CPU100Dは、メモリダンププログラムを実行する(OP43)。CPU100Dは、不図示のI/Oの初期化などが行われた後、メモリダンププログラムを実行する。CPU100Dは、メインメモリ200A〜200Dのメモリダンプを実行する。CPU100Dは、メモリダンプを実行する際に、予め退避させたCPUコンテキスト情報を採取する。メモリダンプの完了後、CPU100Dは、NVRAM500に格納されたメモリダンプ指示フラグをクリアする。
図14〜図15は、本実施の形態における障害発生時のSBSPとして動作するCPU100A、APとして動作するCPU100B及びダンプ専用CPUとして動作するCPU100Dの処理を示すシーケンス図である。図14のAに示す処理は図15のAに続いている。図14〜図15において、SBSPとして動作するCPU100A、APとして動作するCPU100Bは、OS240を運用する。図14〜図15において、図1〜図13で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図14に示すように、OS240の運用時(OP51)、SBSPとして動作するCPU100Aは通常動作を行う(OP52)。OS240の運用時(OP51)、APとして動作するCPU100Bは、SBSPとして動作するCPU100Aと同様に通常動作を行う(OP53)。ダンプ専用CPUとして動作するCPU100Dには、ブートファームウエア210によって、SIPIの発行待ちの指示が発行される(OP54)。
OS240に、システムハングやOSパニックなどの障害が発生すると(OP55)、SBSPとして動作するCPU100Aは、OS240上でハングアップする(OP56)。APとして動作するCPU100Bは、システムハングやOSパニックなどの障害が発生すると(OP55)、SBSPとして動作するCPU100Aと同様に、OS240上でハングアップする(OP57)。
システム監視装置2000は、OS240の障害を検出すると、SBSPとして動作するCPU100A、APとして動作するCPU100B、及び、ダンプ専用CPUとして動作するCPU100Dに対してSMIを発行する(OP58)。SMIが発行されたSBSPとして動作するCPU100A、APとして動作するCPU100B、及び、ダンプ専用CPUとして動作するCPU100Dは、SMMに移行する(OP59)。
SMMにおいて、SBSPとして動作するCPU100Aは、図12のOP32で前述した割込み要因判定処理を実行する(OP60)。なお、OP60において、割込み要因がメモリダンプではないと判定された場合は,SMMではSBSPとして動作するCPU100Aのみ動作する。CPU100Aのメモリダンプ完了後、CPU100B及びCPU100Dは、NVRAM500に格納されたCPUコンテキストのリストアを実施したあと、割込み前の処理へと復帰する。
SMMに移行したAPとして動作するCPU100Bは、待機ループに移行する(OP61)。SMMに移行したダンプ専用CPUとして動作するCPU100Dは、APとして動作するCPU100Bと同様に、待機ループに移行する(OP62)。
SBSPとして動作するCPU100Aは、図12のOP33で前述したSBSPの切換え処理を実行する(OP63)。SBSPとして動作するCPU100Aは、ダンプ専用CPUとして動作するCPU100Dに対して、SBSPとして動作する切換え命令を発行する。ダンプ専用CPUとして動作するCPU100Dは、CPU100Aから発行された切換え命令に基づいて、SBSPとしての動作を開始する(OP64)。切換え命令を発行したCPU100Aは、待機ループに移行する(OP65)。
ダンプ専用CPUとして動作するCPU100Dは、全CPUに対して、図12のOP34で前述したINIT命令を発行する(OP71)。CPU100Dは、INIT命令の発行後、図11で前述したリセットエントリ処理に移行する(OP72)。
ダンプ専用CPUとして動作するCPU100Dは、図13のOP41で前述したメモリダンプ判定処理を行う(OP73)。次いで、CPU100Dは、図13のOP42で前述したメモリ初期化スキップ処理を実行する(OP74)。CPU100Dは、図13のOP43で前述したメモリダンププログラムを実行する(OP75)。
本実施の形態に開示の技術によれば、ダンプ専用CPUとして動作するCPU100DがOS240と独立して、メモリダンプ処理を行なうことができる。そのため、OS240に割り込み処理が効かない仮想マシンを実行している情報処理装置1000に於いても、メモリダンプを実行することができる。
更に、キャッシュメモリを有する複数のプロセッサを備え、利用可能なキャッシュメモリが一番小さいCPUをメモリダンプ用として選択する。他のプロセッサには通常処理を行わせることにより、メモリダンプを行う際の処理能力の低減を抑制できる。
10〜13 ノード
100A〜100D CPU
200A〜200D メインメモリ
201A〜201D プログラム
210 ブートファームウエア
210B メモリダンププログラム
211 ダンププログラム制御部
211A ダンプ専用CPU選択部
211B1 ACPIテーブル作成部
211B2 ダンプ専用ループ実行部
212 SBSP切換え部
213 INIT発行部
220 SMIハンドラ
221 割込み要因判定部
230 OSローダ
240 OS
300A〜300D キャッシュメモリ
400 ハードディスク
410 OSローダ
420 OSイメージ
430 ダンプディスク
500 NVRAM
501 ROMファームウエア
700 通信インタフェース
800 バス
900 ネットワーク
1000 情報処理装置
2000 システム監視装置

Claims (14)

  1. メモリと、
    前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、
    前記メモリをアクセスする複数のプロセッサと、
    前記複数のプロセッサ各々における利用可能なキャッシュメモリの容量を判定する判定部と、
    前記判定部の判定結果、利用可能なキャッシュメモリの容量が最も小さいプロセッサを選択する選択部と、
    前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサには、その他のソフトウエアの処理を実行させる処理部と、
    を有することを特徴とする情報処理装置。
  2. 前記メモリの領域を前記各プロセッサに割り当てるメモリ割り当て部を有し、
    前記選択部は、前記各プロセッサのうち、前記メモリ割り当て部によって割り当てられたメモリの容量が一番小さいプロセッサを選択する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記格納部は、仮想マシンを実現するための仮想マシンプログラムを格納しており、
    前記処理部は、前記選択部により選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させる
    事を特徴とする請求項1又は2に記載の情報処理装置。
  4. メモリと、
    前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部と、
    前記メモリをアクセスする複数のプロセッサと、
    前記複数のプロセッサにおける処理能力を判定する判定部と、
    前記判定部の判定結果、一番処理能力が低いプロセッサを選択する選択部と、
    前記選択部によって選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外の前記プロセッサには、その他のソフトウエアの処理を実行させる処理部と、
    を有することを特徴とする情報処理装置。
  5. 前記複数のプロセッサは、各々、キャッシュメモリを有し、
    前記判定部は、前記各プロセッサのうち、前記キャッシュメモリの利用可能範囲が一番小さいプロセッサを選択する
    ことを特徴とする請求項4に記載の情報処理装置。
  6. 前記判定部は、前記各プロセッサのうち、対応するメモリの容量が一番小さいプロセッサを選択する
    ことを特徴とする請求項4に記載の情報処理装置。
  7. 前記格納部は、仮想マシンを実現するための仮想マシンプログラムを格納しており、
    前記処理部は、前記選択部により選択されなかったプロセッサの各々に、1以上の仮想マシンプログラムを実行させる
    事を特徴とする請求項4乃至6の何れか一項に記載の情報処理装置。
  8. メモリ、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部、及び、前記メモリをアクセスする複数のプロセッサ、前記メモリに書き込まれているデータを一時的に格納するキャッシュを有する情報処理装置の処理方法であって、
    前記複数のプロセッサ各々における利用可能なキャッシュの容量を判定し、
    前記判定の結果、利用可能なキャッシュの容量が最も小さいプロセッサを選択し、
    選択されたプロセッサに、前記メモリダンププログラムを実行させ、それ以外のプロセッサにはその他のソフトウエアの処理を実行させることを特徴とする情報処理装置の処理方法。
  9. 前記メモリの領域を前記各プロセッサに割り当てるメモリ割り当て部を有し、
    前記各プロセッサのうち、前記メモリ割り当て部によって割り当てられたメモリ全域の容量が一番小さいプロセッサを選択する
    ことを特徴とする請求項8に記載の情報処理装置の処理方法。
  10. 仮想マシンを実現するための仮想マシンプログラムを格納しており、
    選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させる
    ことを特徴とする請求項8又は9に記載の情報処理装置の処理方法。
  11. メモリ、前記メモリのメモリダンプ処理を実行するためのメモリダンププログラムを含むソフトウエアを格納した格納部、及び、前記メモリをアクセスする複数のプロセッサを有する情報処理装置の処理方法であって、
    前記複数のプロセッサにおける処理能力を判定し、
    前記判定の結果、一番処理能力が低い前記プロセッサを選択し、
    選択された前記プロセッサに、前記メモリダンププログラムを実行させ、それ以外の前記プロセッサには、その他のソフトウエアの処理を実行させることを特徴とする情報処理装置の処理方法。
  12. 前記複数のプロセッサは、各々、キャッシュメモリを有し、
    前記各プロセッサのうち、前記キャッシュメモリの利用可能範囲が一番小さいプロセッサを選択する
    ことを特徴とする請求項11に記載の情報処理装置の処理方法。
  13. 前記メモリの領域を、前記各プロセッサに割り当てるメモリ割り当て部を有し、
    前記各プロセッサのうち、対応するメモリの容量が一番小さいプロセッサを選択する
    ことを特徴とする請求項11に記載の情報処理装置の処理方法。
  14. 仮想マシンを実現するための仮想マシンプログラムを格納しており、
    選択されなかったプロセッサの各々に、仮想マシンプログラムを実行させる
    ことを特徴とする請求項11乃至13の何れか一項に記載の情報処理装置の処理方法。
JP2013510741A 2011-04-22 2011-04-22 情報処理装置及び情報処理装置の処理方法 Expired - Fee Related JP5733389B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/002364 WO2012143978A1 (ja) 2011-04-22 2011-04-22 情報処理装置及び情報処理装置の処理方法

Publications (2)

Publication Number Publication Date
JPWO2012143978A1 true JPWO2012143978A1 (ja) 2014-07-28
JP5733389B2 JP5733389B2 (ja) 2015-06-10

Family

ID=47041133

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013510741A Expired - Fee Related JP5733389B2 (ja) 2011-04-22 2011-04-22 情報処理装置及び情報処理装置の処理方法

Country Status (4)

Country Link
US (1) US9448871B2 (ja)
EP (1) EP2701063A4 (ja)
JP (1) JP5733389B2 (ja)
WO (1) WO2012143978A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6319326B2 (ja) * 2014-01-28 2018-05-09 富士通株式会社 情報処理装置の診断方法、情報処理装置の診断プログラムおよび情報処理装置
KR20190037666A (ko) * 2017-09-29 2019-04-08 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
JP6835422B1 (ja) * 2019-11-08 2021-02-24 Necプラットフォームズ株式会社 情報処理装置及び情報処理方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ229740A (en) 1988-07-11 1991-11-26 Amdahl Corp Improving data storage reliability: backup copy written into archive
US5293612A (en) * 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
JP2737724B2 (ja) * 1995-10-09 1998-04-08 日本電気株式会社 プロセッサ間nmi通信装置およびシステムバスコントローラ
US6199179B1 (en) * 1998-06-10 2001-03-06 Compaq Computer Corporation Method and apparatus for failure recovery in a multi-processor computer system
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP4458412B2 (ja) 2003-12-26 2010-04-28 株式会社進化システム総合研究所 パラメータ調整装置
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
JP2007094537A (ja) 2005-09-27 2007-04-12 Hitachi Ltd メモリダンプ装置及びメモリダンプ採取方法
JP4645837B2 (ja) * 2005-10-31 2011-03-09 日本電気株式会社 メモリダンプ方法、コンピュータシステム、およびプログラム
US8656405B2 (en) * 2007-06-25 2014-02-18 International Business Machines Corporation Pulling heavy tasks and pushing light tasks across multiple processor units of differing capacity
JP4926009B2 (ja) 2007-11-21 2012-05-09 三菱電機株式会社 情報処理装置の障害処理システム
JP5176837B2 (ja) * 2008-09-30 2013-04-03 富士通株式会社 情報処理システム及びその管理方法、制御プログラム並びに記録媒体
US8196116B2 (en) * 2009-03-31 2012-06-05 International Business Systems Corporation Tracing objects in object-oriented programming model
JP2011070655A (ja) * 2009-08-24 2011-04-07 Toshiba Corp 情報処理装置、メモリダンプシステムおよびメモリダンプ方法
US20110225459A1 (en) * 2010-03-09 2011-09-15 Microsoft Corporation Generating a debuggable dump file for a virtual machine
US8381004B2 (en) * 2010-05-26 2013-02-19 International Business Machines Corporation Optimizing energy consumption and application performance in a multi-core multi-threaded processor system
US8583960B2 (en) * 2010-07-06 2013-11-12 Mitsubishi Electric Corporation Processor device and program
US8677374B2 (en) * 2011-09-14 2014-03-18 International Business Machines Corporation Resource management in a virtualized environment

Also Published As

Publication number Publication date
WO2012143978A1 (ja) 2012-10-26
US20140040670A1 (en) 2014-02-06
JP5733389B2 (ja) 2015-06-10
US9448871B2 (en) 2016-09-20
EP2701063A4 (en) 2014-05-07
EP2701063A1 (en) 2014-02-26

Similar Documents

Publication Publication Date Title
KR101392109B1 (ko) 시스템 관리 모드의 프로세서에 상태 스토리지를 제공하기 위한 장치, 방법 및 시스템
US11126420B2 (en) Component firmware update from baseboard management controller
JP4921384B2 (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
US10387261B2 (en) System and method to capture stored data following system crash
US8782469B2 (en) Request processing system provided with multi-core processor
US10725770B2 (en) Hot-swapping operating systems using inter-partition application migration
JP2002268900A (ja) 論理分割された(lpar)計算機でシステム・ファームウェア更新を安全に実行する機構
JP5778296B2 (ja) 仮想計算機システム、仮想化機構、及びデータ管理方法
CN114741233A (zh) 快速启动方法
CN101334735B (zh) 多处理器计算系统中单个处理器的代码更新的方法和系统
US20080195836A1 (en) Method or Apparatus for Storing Data in a Computer System
JP2009265687A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2011232986A (ja) 情報処理装置及びメモリダンプ採取方法
JP5733389B2 (ja) 情報処理装置及び情報処理装置の処理方法
JP2007080012A (ja) 再起動方法、システム及びプログラム
US8732441B2 (en) Multiprocessing system
US9910677B2 (en) Operating environment switching between a primary and a secondary operating system
US11093332B2 (en) Application checkpoint and recovery system
US20220318053A1 (en) Method of supporting persistence and computing device
JP5842683B2 (ja) 情報処理装置、メモリダンププログラム及びメモリダンプ方法
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
WO2013136457A1 (ja) 仮想計算機システム、情報保存処理プログラム及び情報保存処理方法
JP5699665B2 (ja) サーバ装置、処理実行方法およびプログラム
US11829772B2 (en) Heterogeneous compute domains with an embedded operating system in an information handling system
Russinovich Inside windows server 2008 kernel changes

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150330

R150 Certificate of patent or registration of utility model

Ref document number: 5733389

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees