(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-02
(45)【発行日】2023-10-11
(54)【発明の名称】処理装置、情報処理システム、処理方法、およびプログラム
(51)【国際特許分類】
G06F 11/20 20060101AFI20231003BHJP
【FI】
G06F11/20 641
(21)【出願番号】P 2022041123
(22)【出願日】2022-03-16
【審査請求日】2022-03-16
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】若木 裕子
【審査官】漆原 孝治
(56)【参考文献】
【文献】特表2010-510592(JP,A)
【文献】特開2004-062470(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 11/20
(57)【特許請求の範囲】
【請求項1】
不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する設定手段と
、
前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報
であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定する決定手段と、
を備える処理装置。
【請求項2】
前記条件の範囲を拡大する拡大手段、
を備え、
前記決定手段は
、
前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報
であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記拡大手段により拡大された後の前記条件とに基づいて、前記予備プロセッサを決定する、
請求項1に記載の処理装置。
【請求項3】
前記決定手段による前記予備プロセッサの決定に関する情報を、ユーザに通知する通知手段、
を備える請求項1または請求項2に記載の処理装置。
【請求項4】
前記決定手段が決定した前記予備プロセッサを、前記不具合が発生したプロセッサに代わって組み込む組み込み手段、
を備える請求項1から請求項
3の何れか一項に記載の処理装置。
【請求項5】
請求項1から請求項
4の何れか一項に記載の処理装置と、
前記予備プロセッサと、
を備える情報処理システム。
【請求項6】
不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定することと
、
前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報
であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定することと、
を含む処理方法。
【請求項7】
コンピュータに、
不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する設定手段と
、
前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報
であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定する決定手段と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、処理装置、情報処理システム、処理方法、およびプログラムに関する。
【背景技術】
【0002】
近年、処理の高速化に伴い、マルチプロセッサを搭載するサーバが普及している。特許文献1には、関連する技術として、並列処理を実行するCPUに関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、マルチプロセッサにより処理を実行する情報処理システムにおいて、プロセッサに不具合が発生しそのプロセッサに代わって予備プロセッサを組み込む場合、複数の予備プロセッサの中から設定した条件に合った適切な予備プロセッサを特定することのできる技術が求められている。
【0005】
本開示の各態様は、上記の課題を解決することのできる処理装置、情報処理システム、処理方法、およびプログラムを提供することを目的の1つとしている。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本開示の一態様によれば、処理装置は、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する設定手段と、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定する決定手段と、を備える。
【0007】
上記目的を達成するために、本開示の別の態様によれば、情報処理システムは、上記の処理装置と、前記予備プロセッサと、を備える。
【0008】
上記目的を達成するために、本開示の別の態様によれば、処理方法は、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定することと、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定することと、を含む。
【0009】
上記目的を達成するために、本開示の別の態様によれば、プログラムは、コンピュータに、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する設定手段と、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報であって、キャッシュメモリを共有するプロセッサを示す情報を含むキャッシュメモリに関する情報と、前記条件とに基づいて、前記予備プロセッサを決定する決定手段と、を実行させる。
【発明の効果】
【0010】
本開示の各態様によれば、マルチプロセッサにより処理を実行する情報処理システムにおいて、プロセッサに不具合が発生しそのプロセッサに代わって予備プロセッサを組み込む場合、複数の予備プロセッサの中から設定した条件に合った適切な予備プロセッサを特定することができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の一実施形態による情報処理システムの構成の一例を示す図である。
【
図2】本開示の一実施形態による処理装置の構成の一例を示す図である。
【
図3】予備プロセッサの組み込みポリシーをユーザが設定するための設定画面の一例を示す図である。
【
図4】キャッシュトポロジー情報テーブルの一例を示す図である。
【
図5】本開示の一実施形態による情報処理システムの処理フローの一例を示す図である。
【
図6】本開示の一実施形態による監視サーバがユーザに情報を通知する通知の一例を示す図である。
【
図7】本開示の一実施形態による運用サーバが保持する数値化された設定の一例を示す図である。
【
図8】本開示の別の実施形態による情報処理システムの構成の一例を示す図である。
【
図9】本開示の実施形態による処理装置の最小構成を示す図である。
【
図10】本開示の実施形態による最小構成の処理装置の処理フローの一例を示す図である。
【
図11】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【0012】
以下、図面を参照しながら実施形態について詳しく説明する。
<実施形態>
図1は、本開示の一実施形態による情報処理システム100の構成の一例を示す図である。情報処理システム100は、
図1に示すように、運用サーバ200および監視サーバ300を備える。なお、
図1では運用サーバ200と監視サーバ300は、互いに独立して存在しているが、監視サーバ300は、運用サーバ200に内蔵されていてもよい。
【0013】
運用サーバ200は、
図1に示すように、CPUボード1、2、メモリ31、32、33、34、監視サーバ通信部41を備える。CPUボード1は、8個のプロセッサ11、12、13、14、15、16、17、18、2つの1stキャッシュ101、102、1つの2ndキャッシュ111を備える。CPUボード2は、8個のプロセッサ21、22、23、24、25、26、27、28、2つの1stキャッシュ201、202、1つの2ndキャッシュ211を備える。
【0014】
プロセッサ14、18、24、28は、情報処理システム100の運用開始時には動作させず、待機した状態である。プロセッサ14、18、24、28は、情報処理システム100の運用中に動作するプロセッサに不具合が発生した場合、その不具合が発生したプロセッサの代わりに情報処理システム100に組み込んで使用するための予備のプロセッサである。プロセッサ14、18、24、28以外、すなわちプロセッサ11~13、15~17、21~23、25~27は、情報処理システム100の運用開始時から動作するプロセッサである。
【0015】
1stキャッシュ101は、プロセッサ11~14により共有されるキャッシュメモリである。1stキャッシュ102は、プロセッサ15~18により共有されるキャッシュメモリである。2ndキャッシュ111は、プロセッサ11~18により共有されるキャッシュメモリである。
【0016】
1stキャッシュ201は、プロセッサ21~24により共有されるキャッシュメモリである。1stキャッシュ202は、プロセッサ25~28により共有されるキャッシュメモリである。2ndキャッシュ211は、プロセッサ21~28により共有されるキャッシュメモリである。
【0017】
メモリ31~34は、すべてのプロセッサ11~18、21~28からアクセス可能なメモリである。
【0018】
監視サーバ通信部41は、すべてのプロセッサ11~18、21~28から監視サーバ300へ情報を送信するための通信部である。この監視サーバ通信部41により運用サーバ200と監視サーバ300との間で、情報のやり取りが可能となる。
【0019】
運用サーバ200内の予備ではなく、かつ、不具合が発生していないプロセッサの何れか(以下、処理装置51という)は、予備プロセッサ(すなわち、上述の例では、プロセッサ14、18、24、28)の中から適切なプロセッサを選択し、情報処理システム100へ組み込みを行う。
図2は、本開示の一実施形態による処理装置51の構成の一例を示す図である。処理装置51は、
図2に示すように、第1処理部511(設定手段の一例、拡大手段の一例)、第2処理部512(決定手段の一例)、第3処理部513(組み込み手段の一例)、第4処理部514(通知の一例)を備える。
【0020】
第1処理部511は、ユーザによる予備プロセッサの組み込みポリシーを設定する。第1処理部511は、ユーザによる予備プロセッサの組み込みポリシーを用いて、予備プロセッサの組み込みポリシーを更新する処理を実行する。
図3は、予備プロセッサの組み込みポリシーをユーザが設定するための設定画面の一例を示す図である。ここで、
図3を参照して、ユーザによる予備プロセッサの組み込みポリシーの設定について説明する。
【0021】
図3に示す設定画面において、ユーザは、「予備プロセッサに切り替えるか否か」、および「予備プロセッサの組み込み条件」を指定することができる。「予備プロセッサに切り替えたい」場合、ユーザは、1(すなわち「実施する」)を選択し、「予備プロセッサに切り換えたくない」場合、ユーザは、0(すなわち「実施しない」)を選択すればよい。
【0022】
「予備プロセッサの組み込み条件」には、1「性能」、2「運用維持」、3「保守」、4「カスタマイズ」の4つのカテゴリが存在する。性能を重視して予備プロセッサの組み込みを実施したい場合、ユーザは、1(すなわち「性能」)のカテゴリを選択すればよい。また、プロセッサにおける不具合発生の前後でプロセッサ数を変更したくない場合、ユーザは、2(すなわち「運用維持」)のカテゴリを選択すればよい。2「運用維持」は、プロセッサにおける不具合発生の前後でプロセッサ数を変更しないポリシーである。また、不具合が発生したプロセッサの交換のしやすさを重視したい場合、ユーザは、3(すなわち「保守」)を選択すればよい。また、特定のプロセッサに不具合が発生した場合に特定の予備プロセッサを指定したい場合、ユーザは、4(すなわち「カスタマイズ」)のカテゴリを選択すればよい。
【0023】
「予備プロセッサの組み込み条件」として1「性能」のカテゴリが選択された場合について説明する。例えば、
図1に示すプロセッサ11に不具合が発生した場合に、「同一1stキャッシュを組み込む」が選択されていると、予備プロセッサ14を情報処理システム100に組み込む設定が行われる。また、例えば、
図1に示すプロセッサ11に不具合が発生した場合に、「同一2ndキャッシュを組み込む」が選択されていると、予備プロセッサ14または予備プロセッサ18のどちらかがを情報処理システム100に組み込む設定が行われる。なお、この条件が満たされない場合、近傍のキャッシュまで検索範囲を広げて予備プロセッサを選択する設定が行われる。
【0024】
「予備プロセッサの組み込み条件」として2「運用維持」のカテゴリが選択された場合について説明する。この場合、予備プロセッサであればどのプロセッサを情報処理システム100に組み込んでも問題ない。ここでは、例として、1「プロセッサ番号の最若番を組み込む」、2「プロセッサ番号の最老番を組み込む」、3「物理的に近いプロセッサを組み込む」、4「物理的に遠いプロセッサを組み込む」の4つの選択肢を挙げる。
【0025】
1つ目の選択肢である「プロセッサ番号の最若番を組み込む」を選択した場合、
図1に示す情報処理システム100の構成では、どのプロセッサに不具合が発生した場合であってもプロセッサ14を情報処理システム100に組み込む設定が行われる。なお、プロセッサ14が組み込めない場合、予備プロセッサの組み込み条件を拡大し、プロセッサ18、24、28の順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。
【0026】
2つ目の選択肢である「プロセッサ番号の最老番を組み込む」を選択した場合、
図1に示す情報処理システム100の構成では、どのプロセッサに不具合が発生した場合であってもプロセッサ28を情報処理システム100に組み込む設定が行われる。なお、プロセッサ28が組み込めない場合、予備プロセッサの組み込み条件を拡大し、プロセッサ24、18、14の順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。
【0027】
3つ目の選択肢である「物理的に近いプロセッサを組み込む」を選択した場合に、プロセッサ21に不具合が発生した場合、情報処理システム100における物理位置(物理的な接続関係)が
図1に示すものであるとすると、プロセッサ24を情報処理システム100に組み込む設定が行われる。なお、プロセッサ24を組み込めない場合、予備プロセッサの組み込み条件を拡大し、プロセッサ28、18、14の順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。この場合、性能を重視する設定に近い設定となる。
【0028】
4つ目の選択肢である「物理的に遠いプロセッサを組み込む」を選択した場合に、プロセッサ21に不具合が発生した場合、情報処理システム100における物理位置(物理的な接続関係)が
図1に示すものであるとすると、プロセッサ14を情報処理システム100に組み込む設定が行われる。なお、プロセッサ14を組み込めない場合、予備プロセッサの組み込み条件を拡大し、プロセッサ18、28、24の順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。この場合、保守を重視する設定に近い設定となる。
【0029】
「予備プロセッサの組み込み条件」として3「保守」のカテゴリが選択された場合について説明する。ここでは、例として、1「保守単位で一番遠いCPUボードのプロセッサから組み込む」、2「保守単位で一番近いCPUボードのプロセッサから組み込む」の2つの選択肢を挙げる。
【0030】
1つ目の選択肢である「保守単位で一番遠いCPUボードのプロセッサから組み込む」を選択した場合に、プロセッサ11に不具合が発生した場合、隣のCPUボード2上の予備プロセッサ24または予備プロセッサ28が候補となり、遠い方のプロセッサ28を情報処理システム100に組み込む設定が行われる。
図1に示す情報処理システム100において、CPUボードは2つであるが、CPUボードが例えば1~8までの8つである場合、CPUボード8の最老番の予備プロセッサが情報処理システム100に組み込まれることになる。なお、CPUボード8上にある予備プロセッサを情報処理システム100に組み込めない場合、予備プロセッサの組み込み条件を拡大し、CPUボード7、6、5、4、3、2上のプロセッサを順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。
【0031】
2つ目の選択肢である「保守単位で一番近いCPUボードのプロセッサから組み込む」を選択した場合に、プロセッサ11に不具合が発生した場合、隣のCPUボード2上の予備プロセッサ24または予備プロセッサ28が候補となり、近い方のプロセッサ24を情報処理システム100に組み込む設定が行われる。
図1示す情報処理システム100において、CPUボードは2つであるが、CPUボードが例えば1~8までの8つである場合、CPUボード2の最若番の予備プロセッサ24が情報処理システム100に組み込まれることになる。なお、CPUボード2上にある予備プロセッサを情報処理システム100に組み込めない場合、予備プロセッサの組み込み条件を拡大し、CPUボード3、4、5、6、7、8上のプロセッサを順にチェックすることにより、組み込み可能な予備プロセッサを選択する設定も行われる。
【0032】
「予備プロセッサの組み込み条件」として4「カスタマイズ」のカテゴリが選択された場合について説明する。ここでは簡単のため、指定されていないプロセッサに不具合が発生した場合、予備プロセッサの切り替えは行わないものとする。
図3に示す例では、4つのプロセッサ11、13、25、21について予備プロセッサの切り替え条件が指定されており、該当するプロセッサに不具合が発生した場合、指定された予備プロセッサを情報処理システム100に組み込む設定が行われる。なお、指定した予備プロセッサを情報処理システム100に組み込めない場合、予備プロセッサを情報処理システム100に組み込まない設定も行われる。
【0033】
なお、
図3に示す設定画面は、ユーザが、予備プロセッサの組み込み条件として、同一1stキャッシュメモリ内のプロセッサを組み込む設定を行った画面である。このように第1処理部511は、ユーザによる予備プロセッサの組み込みポリシーを設定する。第1処理部511は、予備プロセッサの組み込みポリシーを、ユーザにより設定された予備プロセッサの組み込みポリシーに更新する。
【0034】
第2処理部512は、第1処理部511により更新された予備プロセッサの組み込みポリシーと、以下に示すキャッシュトポロジー情報テーブルとに基づいて、条件に適した予備プロセッサが存在するか否かを判定する。第2処理部512によるこの判定処理の詳細は、後述する。
図4は、キャッシュトポロジー情報テーブルの一例を示す図である。
【0035】
図4における「プロセッサ番号」は、
図1におけるプロセッサの符号に対応している。
図4における「予備プロセッサ」は、「1」が予備プロセッサであることを表すフラグである。なお、「1」は、1stキャッシュ共有プロセッサのビットの値である。例えば、
図4におけるプロセッサ11の場合、1stキャッシュ共有プロセッサはF0000000hである。16進数表示のFは2進数表示の1111である。そのため、プロセッサ11の場合、左から4つのビットに1が立つことになる。その結果、そこに該当するプロセッサ11、12、13、14で1sとキャッシュを共有していることになる。
図4における「1stキャッシュ共有プロセッサ」は、一番左のビットから右にプロセッサ11、12、13、14、15、16、17、18、21、22、23、24、25、26、27、28が該当し、「1」がついているプロセッサで同一の1stキャッシュを共有していることを表している。
図4における「2ndキャッシュ共有プロセッサ」は、一番左のビットから右にプロセッサ11、12、13、14、15、16、17、18、21、22、23、24、25、26、27、28が該当し、「1」がついているプロセッサで同一の2ndキャッシュを共有していることを表している。
図4における「保守単位」は、一番左のビットから右にプロセッサ11、12、13、14、15、16、17、18、21、22、23、24、25、26、27、28が該当し、「1」がついているプロセッサで同一の保守単位を表している。
図4における「物理位置」は、一番左のビットから右にプロセッサ11、12、13、14、15、16、17、18、21、22、23、24、25、26、27、28が該当し、1stキャッシュ共有プロセッサ単位で、プロセッサとの距離を表している。例えば、
図4におけるプロセッサ15の場合、1stキャッシュ共有プロセッサは0F000000hである。物理位置10230000hのうち、「0」は左からビット5~8の部分に該当する。そのビット5~8に該当する15~18が近いプロセッサということになる。
図1に示す情報処理システム100のように物理的に配置されている場合、プロセッサ15についての「0」は、プロセッサと同一1stキャッシュ内のプロセッサ15~18を表す。また、プロセッサ15についての「1」は、同一2ndキャッシュを共有するプロセッサ11~14を表す。また、プロセッサ15についての「2」は、隣のCPUボード2上のプロセッサ21~24を表す。また、プロセッサ15についての「3」は、隣のCPUボード2上のプロセッサ25~28を表す。プロセッサ11から物理的に遠い予備プロセッサを選択する場合、「3」の予備プロセッサに該当するプロセッサは、プロセッサ18である。プロセッサ18が情報処理システム100に組み込めない場合、「2」の予備プロセッサ24が次の予備プロセッサとなる。
【0036】
第3処理部513は、予備プロセッサを情報処理システム100に組み込む処理を行う。なお、予備プロセッサを情報処理システム100に組み込む前に不具合診断および適切な初期化が行われ、情報処理システム100の処理に問題ない範囲において、予備プロセッサを情報処理システム100に組み込むことができれば、第3処理部513は、どのような方法を用いて予備プロセッサを情報処理システム100に組み込むものであってもよい。
【0037】
第4処理部514は、予備プロセッサの情報処理システム100への組み込みをユーザに通知する処理を行う。予備プロセッサの切り替え処理を実施したプロセッサは、予備プロセッサの組み込みポリシー違反や予備プロセッサの組み込み失敗などの情報を作成する。そして、予備プロセッサの切り替え処理を実施したプロセッサは、作成した情報を、監視サーバ通信部41を介してP/S通信部30に送信する。P/S通信部30により情報を受信した監視サーバ300は、通知情報表示部40を介してその情報をユーザに通知する。監視サーバ300が、通知情報表示部40を介してユーザに情報を通知する通知例は、後述する
図6に示す通知である。
【0038】
次に、本開示の一実施形態による情報処理システム100が行う処理について説明する。
図5は、本開示の一実施形態による情報処理システム100の処理フローの一例を示す図である。
図6は、本開示の一実施形態による監視サーバ300がユーザに情報を通知する通知の一例を示す図である。
図7は、本開示の一実施形態による運用サーバ200が保持する数値化された設定の一例を示す図である。数値化された設定とは、ユーザが設定した予備プロセッサの組み込みポリシーの設定を数値化したものである。ここでは、
図5~
図7を参照して情報処理システム100が行う処理について説明する。
【0039】
ユーザにより予備プロセッサの組み込みポリシーが設定される。例えば、ユーザは、上述したように、
図3に示す設定画面を用いて予備プロセッサの組み込みポリシーを設定する。第1処理部511は、予備プロセッサの組み込みポリシーを、ユーザにより設定された予備プロセッサの組み込みポリシーに更新する。この予備プロセッサの組み込みポリシーが設定されている状態で、プロセッサ11の不具合が検出され、予備プロセッサの組み込み処理が開始されたとする。
【0040】
処理装置51は、
図7における「予備プロセッサ切り替え」を参照して、予備プロセッサを切り替える処理を実施しないかを判定する(ステップS10)。処理装置51は、「予備プロセッサ切り替え」が「1」ならば予備プロセッサを切り替える処理を実施すると判定する。また、処理装置51は、「予備プロセッサ切り替え」が「0」ならば予備プロセッサを切り替える処理を実施しないと判定する。
【0041】
処理装置51は、
図7の例1)のように、「予備プロセッサ切り替え」が「1」である場合、予備プロセッサを切り替える処理を実施すると判定し(ステップS10においてNO)、予備プロセッサの組み込み条件およびキャッシュトポロジー情報テーブルを参照する(ステップS11)。
【0042】
また、処理装置51は、「予備プロセッサ切り替え」が「0」である場合、予備プロセッサを切り替える処理を実施すると判定し(ステップS10においてYES)、予備プロセッサを切り替える処理を中断する。処理装置51は、
図6の例1)のように、プロセッサに障害が発生したことと、予備プロセッサの組み込みは実施しない設定であることをユーザに知らせる情報を作成する(ステップS10a)。そして、プロセッサ(この例の場合、プロセッサ11の障害を検出した予備プロセッサの切り替え処理を実施したプロセッサ)は、作成した情報をユーザに通知する(ステップS18)。例えば、プロセッサは、通知情報表示部40に作成した情報を送信する。この情報は、
図6のように文字列であってもよいし、それを表すコードの羅列であってもよい。コードの羅列である場合、通知情報表示部40は、受信したコードの羅列を文字列に変換してユーザに通知する。
【0043】
処理装置51は、ステップS11の処理を終えると、予備プロセッサの組み込み条件内で組み込み可能な予備プロセッサがないか判定する(ステップS12)。例えば、処理装置51は、予備プロセッサの選択を以下のように行う。
【0044】
図7の例1)に示す例の場合、処理装置51は、
図4の1stキャッシュ共有プロセッサと予備プロセッサの情報を組み合わせて、組み込み可能な予備プロセッサを選択する(ステップS12においてNO)。また、
図7の例2)に示す例の場合、処理装置51は、
図4の2ndキャッシュ共有プロセッサと予備プロセッサの情報を組み合わせて、予備プロセッサが複数存在する場合には、性能の観点から不具合が発生したプロセッサと同一1stキャッシュまたはそこに近い予備プロセッサの中から予備プロセッサを選択する(ステップS12においてNO)。
【0045】
また、
図7の例3)に示す例の場合、処理装置51は、
図4の物理位置情報と予備プロセッサ情報を参照して、不具合が発生したプロセッサと保守単位が異なるプロセッサのうち、プロセッサ番号が一番離れた予備プロセッサを選択する(ステップS12においてNO)。また、
図7の例4)に示す例の場合、処理装置51は、
図4の保守単位情報、物理位置情報、予備プロセッサ情報を参照し、保守単位外の物理的に一番遠いCPUボード上の最老番の予備プロセッサを選択する(ステップS12においてNO)。また、
図7の例5)に示す例の場合、処理装置51は、
図4の保守単位情報、物理位置情報と予備プロセッサ情報を参照し、保守単位外の物理的に一番近いCPUボード上の最若番の予備プロセッサを選択する(ステップS12においてNO)。
【0046】
また、
図7の例6)に示す例の場合、処理装置51は、不具合が発生したプロセッサがプロセッサ11だった場合にはプロセッサ28を選択する(ステップS12においてNO)。また、
図7の例6)に示す例の場合、処理装置51は、不具合が発生したプロセッサがプロセッサ13だった場合には、
図4の2ndキャッシュ共有プロセッサ情報と予備プロセッサ情報を参照して、組み込み可能な予備プロセッサを選択する(ステップS12においてNO)。また、
図7の例6)に示す例の場合、処理装置51は、不具合が発生したプロセッサがプロセッサ25だった場合には、
図4の1stキャッシュ共有プロセッサ情報と予備プロセッサ情報を参照して、組み込み可能な予備プロセッサを選択する(ステップS12においてNO)。また、
図7の例6)に示す例の場合、処理装置51は、不具合が発生したプロセッサが21だった場合には、プロセッサ14を選択する(ステップS12においてNO)。
【0047】
また、
図7の例6)に示す例の場合、処理装置51は、上記以外のプロセッサに不具合が発生した場合には(ステップS12においてYES)、「予備プロセッサの組み込み条件」として「カスタマイズ」のカテゴリを選択するか否かを判定する(ステップS12a)。処理装置51は、「カスタマイズ」のカテゴリを選択すると判定した場合(ステップS12においてYES)、
図6の例2)のようにプロセッサに不具合が発生したが、予備プロセッサがないことを通知するための情報を作成する(ステップS12d)。そして、処理装置51は、ステップS18の処理に進める。
【0048】
処理装置51は、ステップS12の処理において予備プロセッサを選択すると(ステップS12においてNO)、選択した予備プロセッサを情報処理システム100に組み込む処理を行う(ステップS13)。
【0049】
また、処理装置51は、ステップS12aの処理において、「カスタマイズ」のカテゴリを選択しないと判定した場合(ステップS12においてNO)、予備プロセッサの組み込み条件を拡大して予備プロセッサを探す(ステップS12b)。そして、処理装置51は、予備プロセッサがないか判定する(ステップS12c)。
【0050】
ステップS12cの処理では、上述したように予備プロセッサの組み込み条件の範囲を広げ、処理装置51は、ユーザが設定した条件に最も近い予備プロセッサを選択する。処理装置51は、組み込み可能な予備プロセッサが存在すると判定した場合(ステップS12cにおいてNO)、ステップS13の処理に進める。また、処理装置51は、組み込み可能な予備プロセッサが存在しないと判定した場合(ステップS12cにおいてYES)、
図6の例3)に示すように、プロセッサに不具合が発生したが、予備プロセッサが存在しないことを通知するための情報を作成する(ステップS12e)。そして、処理装置51は、ステップS18の処理に進める。
【0051】
処理装置51は、ステップS13の処理を終えると、予備プロセッサの組み込みが失敗したか否かを判定する(ステップS14)。処理装置51は、予備プロセッサの組み込みが失敗したと判定した場合(ステップS14においてYES)、
図6の例4)に示すように、プロセッサに不具合が発生したが、予備プロセッサの組み込みに失敗したことを通知するための情報を作成する(ステップS14a)。そして、処理装置51は、ステップS18の処理に進める。また、処理装置51は、予備プロセッサの組み込みが成功したと判定した場合(ステップS14においてNO)、予備プロセッサの組み込み条件に違反しているか(予備プロセッサの組み込み条件の拡大チェックを行ったか)否かを判定する(ステップS15)。例えば、処理装置51は、ステップS12cの処理により予備プロセッサの組み込み条件を拡大してチェックして組み込み可能な予備プロセッサを選択したことを表すフラグを付けておき、ステップS15の処理によりそのフラグを参照して予備プロセッサの組み込み条件に違反しているかを判定する。
【0052】
処理装置51は、予備プロセッサの組み込み条件を拡大して組み込みを実施していないと判定した場合、条件違反がなかったと判定し(ステップS15においてNO)、
図6の例5)に示す例のように、プロセッサに不具合が発生し、予備プロセッサを情報処理システム100に組み込んだことを通知するための情報を作成する(ステップS15a)。そして、処理装置51は、キャッシュトポロジー情報テーブルを更新する(ステップS16)。
【0053】
また、処理装置51は、予備プロセッサの組み込み条件を拡大して組み込みを実施したと判定した場合、条件違反があったと判定し(ステップS15においてYES)、
図6の例6)に示す例のように、プロセッサに不具合が発生し、予備プロセッサを情報処理システム100に組み込んだが、性能に影響する可能性があることを通知するための情報を作成する(ステップS15b)。そして、処理装置51は、ステップS16の処理に進める。
【0054】
処理装置51は、ステップS16の処理を終えると、更新したキャッシュトポロジー情報テーブルを参照して、待機中の予備プロセッサの有無を判定する(ステップS17)。
処理装置51は、予備プロセッサが存在しないと判定した場合(ステップS17においてYES)、
図6の例6)に示す例のように、プロセッサに不具合が発生し、予備プロセッサを情報処理システム100に組み込んだが、性能に影響する可能性があることを通知するための情報を作成する(ステップS17a)。そして、処理装置51は、ステップS18の処理に進める。
【0055】
また、処理装置51は、予備プロセッサが存在すると判定した場合(ステップS17においてNO)、ステップS18の処理に進める。
【0056】
(利点)
以上、本開示の一実施形態による情報処理システム100について説明した。情報処理システム100において、処理装置51は、第1処理部511および第2処理部512を備える。第1処理部511は、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する。第2処理部512は、前記条件と、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報とに基づいて、前記予備プロセッサを決定する。この情報処理システム100により、マルチプロセッサにより処理を実行する情報処理システムにおいて、プロセッサに不具合が発生しそのプロセッサに代わって予備プロセッサを組み込む場合、複数の予備プロセッサの中から設定した条件に合った適切な予備プロセッサを特定することができる。
【0057】
なお、本開示の別の実施形態では、情報処理システム100が備える、プロセッサの数やキャッシュの階層、メモリ構成、予備プロセッサの配置や個数は、
図1で示したものに限定されない。
【0058】
なお、本開示の別の実施形態では、予備プロセッサの組み込み条件は、
図3に示した条件に限定されない。予備プロセッサの組み込み条件は、実測値から組み込む予備プロセッサを選択するものであってもよい。また、予備プロセッサは何個存在していてもよい。また、予備プロセッサの組み込み条件として、複数の条件を組み合わせてもよい。また、本開示の一実施形態では、システム単位で予備プロセッサの組み込みポリシーを設定しているが、本開示の別の実施形態では、論理または物理分割された構成ごと、ユーザごとに予備プロセッサの組み込みポリシーが設定されてもよい。また、ユーザが予備プロセッサの組み込みポリシーを設定する方法は、
図3に示す方法に限定しない。
【0059】
なお、本開示の別の実施形態では、キャッシュトポロジー情報テーブルの情報のフォーマット、扱う情報は、
図4に示す情報に限定されない。キャッシュトポロジー情報テーブルの情報は、多層キャッシュやメモリ位置、キャッシュヒット率や使用頻度を考慮した情報であってもよい。
【0060】
なお、本開示の一実施形態では、処理装置51は、運用サーバ200内の予備ではなく、かつ、不具合が発生していないプロセッサの何れかであり、予備プロセッサの切り替えを実施するものとして説明した。しかしながら、本開示の別の実施形態では、処理装置51は、監視サーバ300やその他のアプリ、ソフトウェアなどにより実現され、予備プロセッサの切り替えを実施するものであってもよい。
【0061】
なお、本開示の一実施形態では、処理装置51は、運用サーバ200内の予備ではなく、かつ、不具合が発生していないプロセッサの何れかであり、予備プロセッサの切り替えを実施するものとして説明した。しかしながら、本開示の別の実施形態では、処理装置51は、運用サーバ200内の別の装置が実施するものであってもよい。
図8は、本開示の別の実施形態による情報処理システム100の構成の一例を示す図である。情報処理システム100は、
図8に示すように、本開示の一実施形態における、運用サーバ200内の予備ではなく、かつ、不具合が発生していないプロセッサの何れかと同様の処理が可能な処理装置51を備える。そして、その処理装置51が、予備プロセッサの切り替えを実施するものであってもよい。
【0062】
なお、本開示の別の実施形態では、ユーザが設定したポリシーを保持する方法は、
図7に示す方法に限定されない。
【0063】
図9は、本開示の実施形態による処理装置51の最小構成を示す図である。処理装置51は、
図9に示すように、第1処理部511(設定手段の一例)および第2処理部512(決定手段の一例)を備える。第1処理部511は、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する。第2処理部512は、前記条件と、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報とに基づいて、前記予備プロセッサを決定する。この処理装置51により、マルチプロセッサにより処理を実行する情報処理システムにおいて、プロセッサに不具合が発生しそのプロセッサに代わって予備プロセッサを組み込む場合、複数の予備プロセッサの中から設定した条件に合った適切な予備プロセッサを特定することができる。
【0064】
図10は、本開示の実施形態による最小構成の処理装置51の処理フローの一例を示す図である。次に、本開示の実施形態による最小構成の処理装置51の処理について
図10を参照して説明する。
【0065】
第1処理部511は、不具合が発生したプロセッサに代わって組み込む予備プロセッサを決定するための条件を設定する(ステップS101)。第2処理部512は、前記条件と、前記不具合が発生したプロセッサおよび前記予備プロセッサについてのキャッシュメモリに関する情報とに基づいて、前記予備プロセッサを決定する(ステップS102)。
【0066】
以上、本開示の実施形態による最小構成の処理装置51について説明した。この処理装置51により、マルチプロセッサにより処理を実行する情報処理システムにおいて、プロセッサに不具合が発生しそのプロセッサに代わって予備プロセッサを組み込む場合、複数の予備プロセッサの中から設定した条件に合った適切な予備プロセッサを特定することができる。
【0067】
なお、本開示の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0068】
本開示の実施形態について説明したが、上述の情報処理システム100、処理装置51、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
【0069】
図10は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。コンピュータ50は、
図10に示すように、CPU60、メインメモリ70、ストレージ80、インターフェース90を備える。
【0070】
例えば、上述の情報処理システム100、処理装置51、その他の制御装置のそれぞれは、コンピュータ50に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ80に記憶されている。CPU60は、プログラムをストレージ80から読み出してメインメモリ70に展開し、当該プログラムに従って上記処理を実行する。また、CPU60は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ70に確保する。
【0071】
ストレージ80の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ80は、コンピュータ50のバスに直接接続された内部メディアであってもよいし、インターフェース90または通信回線を介してコンピュータ50に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ50に配信される場合、配信を受けたコンピュータ50が当該プログラムをメインメモリ70に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ80は、一時的でない有形の記憶媒体である。
【0072】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0073】
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例であり、開示の範囲を限定しない。これらの実施形態は、開示の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【符号の説明】
【0074】
1、2・・・CPUボード
11、12、13、14、15、16、17、18、21、22、23、24、25、26、27、28・・・プロセッサ
30・・・P/S通信部
31、32、33、34・・・メモリ
40・・・通知情報表示部
41・・・監視サーバ通信部
51・・・処理装置
100・・・情報処理システム
101、102、201、202・・・1stキャッシュ
111、211・・・2ndキャッシュ
200・・・運用サーバ
300・・・監視サーバ
511・・・第1処理部
512・・・第2処理部
513・・・第3処理部
514・・・第4処理部
515・・・第5処理部