(57)【要約】【課題】CPUのコアプロセッサの縮退時に予備のコアプロセッサを使用せずに各CPUの有効なコアプロセッサを同数に調節できるコアプロセッサ調節方法を提供する。【解決手段】同数のコアプロセッサをそれぞれ含む複数のプロセッサ111〜プロセッサ11nが備えられているコンピュータ10においてコアプロセッサに障害が発生した後にコンピュータ10のオペレーティングシステム12が起動する時に実行されるコアプロセッサ調節方法であって、コンピュータ10のBIOS13が、障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定し、複数のプロセッサ111〜プロセッサ11n内のそれぞれオペレーティングシステム12に認識されるコアプロセッサの数が全て等しくなるようにオペレーティングシステム12から隠蔽される複数のプロセッサ111〜プロセッサ11n内の各コアプロセッサの数を決定する。【選択図】図８
2018173753.tif 000002
【特許請求の範囲】
【請求項１】
同数のコアプロセッサをそれぞれ含む複数のプロセッサが備えられているコンピュータにおいてコアプロセッサに障害が発生した後に前記コンピュータのオペレーティングシステムが起動する時に実行されるコアプロセッサ調節方法であって、
前記コンピュータのBIOSが、
障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定し、
前記複数のプロセッサ内のそれぞれ前記オペレーティングシステムに認識されるコアプロセッサの数が全て等しくなるように前記オペレーティングシステムから隠蔽される前記複数のプロセッサ内の各コアプロセッサの数を決定する
ことを特徴とするコアプロセッサ調節方法。
【請求項２】
BIOSが、
障害が発生したコアプロセッサを含むプロセッサ内の当該障害が発生したコアプロセッサ以外のコアプロセッサの数以下のプロセッサであって、障害が発生したコアプロセッサを含まないプロセッサ内のオペレーティングシステムから隠蔽されるコアプロセッサの数を１つ以上に決定する
請求項１記載のコアプロセッサ調節方法。
【請求項３】
BIOSが、
障害が発生したコアプロセッサを含まない複数のプロセッサの数未満のコアプロセッサに障害が発生したプロセッサ内の障害が発生したコアプロセッサ以外の全てのコアプロセッサの数をオペレーティングシステムから隠蔽されるコアプロセッサの数に決定する
請求項１記載のコアプロセッサ調節方法。
【請求項４】
BIOSが、
決定されたオペレーティングシステムから隠蔽される複数のプロセッサ内の各コアプロセッサの数だけ前記オペレーティングシステムから前記複数のプロセッサ内のコアプロセッサをそれぞれ隠蔽する
請求項１から請求項３のうちのいずれか１項に記載のコアプロセッサ調節方法。
【請求項５】
BIOSが、
ACPIテーブルを用いてオペレーティングシステムから複数のプロセッサ内のコアプロセッサをそれぞれ隠蔽する
請求項４記載のコアプロセッサ調節方法。
【請求項６】
同数のコアプロセッサをそれぞれ含む複数のプロセッサが備えられている情報処理装置であって、
障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定する設定処理、および前記複数のプロセッサ内のそれぞれ前記情報処理装置のオペレーティングシステムに認識されるコアプロセッサの数が全て等しくなるように前記オペレーティングシステムから隠蔽される前記複数のプロセッサ内の各コアプロセッサの数を決定する決定処理を実行するBIOSを含む
ことを特徴とする情報処理装置。
【請求項７】
BIOSが、
障害が発生したコアプロセッサを含むプロセッサ内の当該障害が発生したコアプロセッサ以外のコアプロセッサの数以下のプロセッサであって、障害が発生したコアプロセッサを含まないプロセッサ内のオペレーティングシステムから隠蔽されるコアプロセッサの数を１つ以上に決定する決定処理を実行する
請求項６記載の情報処理装置。
【請求項８】
BIOSが、
障害が発生したコアプロセッサを含まない複数のプロセッサの数未満のコアプロセッサに障害が発生したプロセッサ内の障害が発生したコアプロセッサ以外の全てのコアプロセッサの数をオペレーティングシステムから隠蔽されるコアプロセッサの数に決定する決定処理を実行する
請求項６記載の情報処理装置。
【請求項９】
BIOSが、
決定されたオペレーティングシステムから隠蔽される複数のプロセッサ内の各コアプロセッサの数だけ前記オペレーティングシステムから前記複数のプロセッサ内のコアプロセッサをそれぞれ隠蔽する隠蔽処理を実行する
請求項６から請求項８のうちのいずれか１項に記載の情報処理装置。
【請求項１０】
BIOSが、
ACPIテーブルを用いてオペレーティングシステムから複数のプロセッサ内のコアプロセッサをそれぞれ隠蔽する隠蔽処理を実行する
請求項９記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コアプロセッサ調節方法および情報処理装置に関する。
【背景技術】
【０００２】
サーバ装置には、複数のコアプロセッサで構成されているCPU(Central Processing Unit)が格納されるCPUソケットが搭載されている装置がある。以下、CPUを構成するコアプロセッサをCPUコアとも呼ぶ。
【０００３】
CPUソケットが搭載されているサーバ装置には、利用可能なプロセッサ数に依存するソフトウェアのライセンスコストを抑えるために、障害の発生していない正常なCPUコアをOS(Operating System)から隠蔽する装置がある。例えば、特許文献１には、コンピュータのオペレーティングシステムから論理プロセッサを隠蔽する方法が記載されている。
【０００４】
また、OSから隠蔽されたCPUコアは、例えば後でサーバ装置で使用されるように予備のコアプロセッサ（以下、予備コアと呼ぶ。）として準備される。予備コアが準備されているとCPUコアに障害が発生した場合、サーバ装置の管理ユニットは、障害が発生したCPUコアを使用不可能とし、障害が発生したCPUコアの代わりに予備コアを使用できる。すなわち、サーバ装置の管理ユニットは、OSが認識している有効なCPUコア（以下、有効コアと呼ぶ。）の数を維持できる。
【０００５】
OSやドライバの中には、各CPUの有効コア数が全CPUで同一でないと正常に動作しないOSやドライバがある。よって、CPUコアに障害が発生し、障害が発生したCPUコアのみが縮退させられると、各CPUの有効コア数が同一にならない。各CPUの有効コア数が同一でないと、上記のOSやドライバは正常に動作しない可能性がある。
【０００６】
しかし、サーバ装置の管理ユニットが有効コア数を維持する対応を行うと、各CPUの有効コア数は、障害が発生する前の数と同じになる。すなわち、各CPUの有効コア数が全CPUで同一であることを求めるOSやドライバは、障害が発生した後であっても障害が発生する前と同様に正常に動作できる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第５９０３１７３号公報
【特許文献２】特許第５９７８７８３号公報
【特許文献３】特開平４−１８１４３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、各CPUにおいて全てのCPUコアが有効コアである場合、すなわち予備コアが存在しない場合、障害が発生したCPUコアが使用不可能とされると、有効コア数が障害が発生する前の数と異なる事態が発生する。有効コア数が障害が発生する前の数と異なると、各CPUの有効コア数が全CPUで同一であることを求めるOSやドライバが正常に動作しない可能性がある。
【０００９】
例えば、特許文献２には、OSに認識させないコアプロセッサ（予備コア）をOSから隠蔽し、コアプロセッサに障害が発生した場合に別パーティションのライセンスを譲渡することによって、コアプロセッサの数を減らさずに継続してシステムを稼働させるサーバ装置が記載されている。
【００１０】
特許文献２に記載されているサーバ装置は、各CPUの同数のコアプロセッサを認識した状態でOSが稼働している場合、コアプロセッサに障害が発生してもOSに認識される各CPUのコアプロセッサの数を同一にしたまま、システムを継続して稼働させることができる。
【００１１】
しかし、予備コアが存在しない場合に障害が発生したコアプロセッサを縮退させるとOSに認識される各CPUのコアプロセッサの数が同一にならないため、特許文献２に記載されているサーバ装置は、上記の課題を解決できない。
【００１２】
また、特許文献３には、電源が投入された時にハードウェアを診断し、障害が発生しているプロセッサを切り離して縮退運転を行うマルチプロセッサシステムが記載されている。すなわち、特許文献３に記載されているマルチプロセッサシステムは、障害が発生しているコアプロセッサをCPUごと縮退させている。
【００１３】
CPUコアに障害が発生した場合に対象のCPUコアがCPUごと縮退させられると、縮退させられなかったCPUの有効コア数は変わらない。すなわち、各CPUの有効コア数が全CPUで同一であることを求めるOSやドライバは、上記の対応が行われると障害が発生する前と同様に正常に動作できる。
【００１４】
しかし、CPUが縮退させられると、縮退させられたCPUに接続されているIOカードやDIMM(Dual Inline Memory Module)が使用不可能になる。DIMMが使用不可能になると、メモリ容量が減る。また、IOカードが使用不可能になると、IOカードに接続された周辺装置も使用不可能になる。すなわち、CPUを縮退させる方法が採用されると、サーバ装置で行われている業務に支障が生じる可能性がある。
【００１５】
特許文献３に記載されているマルチプロセッサシステムは、電源が投入された時に障害情報を記録し、間欠障害が発生したプロセッサが検出された場合に対象のプロセッサを切り離すことによって障害が発生したプロセッサを縮退させている。
【００１６】
しかし、特許文献３に記載されているマルチプロセッサシステムでは、縮退時のOSに認識されるメモリ、IOのリソース、およびコアプロセッサの数等のOSによる制限が考慮されていない。
【００１７】
［効果の説明］
そこで、本発明は、上述した課題を解決する、CPUのコアプロセッサの縮退時に予備のコアプロセッサを使用せずに各CPUの有効なコアプロセッサを同数に調節できるコアプロセッサ調節方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明によるコアプロセッサ調節方法は、同数のコアプロセッサをそれぞれ含む複数のプロセッサが備えられているコンピュータにおいてコアプロセッサに障害が発生した後にコンピュータのオペレーティングシステムが起動する時に実行されるコアプロセッサ調節方法であって、コンピュータのBIOSが、障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定し、複数のプロセッサ内のそれぞれオペレーティングシステムに認識されるコアプロセッサの数が全て等しくなるようにオペレーティングシステムから隠蔽される複数のプロセッサ内の各コアプロセッサの数を決定することを特徴とする。
【００１９】
本発明による情報処理装置は、同数のコアプロセッサをそれぞれ含む複数のプロセッサが備えられている情報処理装置であって、障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定する設定処理、および複数のプロセッサ内のそれぞれ情報処理装置のオペレーティングシステムに認識されるコアプロセッサの数が全て等しくなるようにオペレーティングシステムから隠蔽される複数のプロセッサ内の各コアプロセッサの数を決定する決定処理を実行するBIOSを含むことを特徴とする。
【発明の効果】
【００２０】
本発明によれば、CPUのコアプロセッサの縮退時に予備のコアプロセッサを使用せずに各CPUの有効なコアプロセッサを同数に調節できる。
【図面の簡単な説明】
【００２１】
【図１】本発明によるサーバシステムの第１の実施形態の構成例を示すブロック図である。
【図２】第１の実施形態のBIOS150が有する機能の例を示す説明図である。
【図３】第１の実施形態のBMC160が有する情報の例を示す説明図である。
【図４】第１の実施形態のサーバシステム100による起動処理の動作を示すフローチャートである。
【図５】第１の実施形態のBIOS150による有効コア選出処理の動作を示すフローチャートである。
【図６】第１の実施形態のBIOS150による有効コア選出処理の例を示す説明図である。
【図７】第１の実施形態のBIOS150による有効コア選出処理の他の例を示す説明図である。
【図８】本発明によるコアプロセッサ調節方法が実行されるコンピュータの概要を示すブロック図である。
【発明を実施するための形態】
【００２２】
実施形態１．
［構成の説明］
以下、本発明の実施形態を、図面を参照して説明する。図１は、本発明によるサーバシステムの第１の実施形態の構成例を示すブロック図である。
【００２３】
図１に示すように、本実施形態のサーバシステム100は、CPU111〜CPU114と、ROM(Read Only Memory)140と、BMC(Base Management Controller)160と、二次記憶装置170とを備える。なお、BMCは、管理用のコントローラであり、CPUやメモリ等のハードウェアを監視する機能を有する。
【００２４】
また、図１に示すように、CPU111には、DIMM121と、IOカード131とが接続されている。CPU112には、DIMM122と、IOカード132とが接続されている。CPU113には、DIMM123と、IOカード133とが接続されている。CPU114には、DIMM124と、IOカード134とが接続されている。
【００２５】
また、図１に示すように、ROM140には、BIOS(Basic Input Output System)150が格納されている。また、二次記憶装置170には、OS180が格納されている。
【００２６】
本実施形態のサーバシステム100には、有効コアが存在するCPUの有効コア数が全て同一に設定される「CPUコア同数モード」が新たに設けられている。
【００２７】
CPUコア同数モードが設定された際、BIOS150は、CPUコアに障害が発生して再起動を行う場合、各CPUの有効コア数が全CPUで同一になり、かつOS180に認識されないCPUコア数が最小になるように各CPUのOS180から隠蔽されるCPUコアと、有効コアとを決定する。
【００２８】
具体的には、BIOS150は、「縮退させられたCPUコアが存在するCPUの残りのCPUコア数」と「縮退させられたCPUコアが存在しないCPU数」とを比較する。
【００２９】
「縮退させられたCPUコアが存在するCPUの残りのCPUコア数」の方が多い場合、BIOS150は、縮退させられたCPUコアが存在するCPUと、他のCPUの有効コア数が等しくなるように、他のCPUの一部の有効コアをOS180から隠蔽する。
【００３０】
「縮退させられたCPUコアが存在しないCPU数」の方が多い場合、BIOS150は、障害が発生したCPUコアが存在するCPUの他の有効コアを全てOS180から隠蔽する。よって、BIOS150は、CPUコアに障害が発生した場合であっても、有効コアが存在するCPUの有効コア数を全て同一にできる。
【００３１】
従って、CPU配下のメモリやIOカードが切り離されずにOS180が起動するので、正常に業務が再開される。
【００３２】
図２は、第１の実施形態のBIOS150が有する機能の例を示す説明図である。図２に示すように、本実施形態のBIOS150は、BMC設定取得機能151と、コア診断機能152と、コア障害検出機能153と、コア縮退機能154と、有効コア選出機能155と、コア隠蔽機能156とを有する。
【００３３】
BIOS150は、BMC設定取得機能151でBMC160に設定されたCPUコア同数モード設定値を取得する。CPUコア同数モード設定値が取得される際、BIOS150とBMC160との間で通信が行われる。
【００３４】
BIOS150は、コア診断機能152でCPUコアの状態が正常であるか否かを診断する。また、BIOS150は、コア障害検出機能153で、コア診断機能152による診断の結果を参照して障害が発生しているCPUコアを検出する。
【００３５】
また、BIOS150は、コア縮退機能154で、コア障害検出機能153で検出された障害が発生しているCPUコアを縮退させる。また、BIOS150は、有効コア選出機能155で、コア縮退機能154により縮退させられなかったCPUコアの中から、OS180に認識させるCPUコア（有効コア）を選出する。
【００３６】
また、BIOS150は、コア隠蔽機能156で、有効コア選出機能155により有効コアに選出されなかったCPUコアをOS180から隠蔽する。
【００３７】
図３は、第１の実施形態のBMC160が有する情報の例を示す説明図である。図３に示すように、本実施形態のBMC160は、CPUコア同数モード設定値を有する。
【００３８】
例えば、ユーザがサーバシステム100を「CPUコア同数モード」に設定する場合、BMC160は、CPUコア同数モード設定値に「CPUコア同数モード」を意味する値（例えば、１）を格納する。
【００３９】
なお、BMC160の代わりにBIOS150がCPUコア同数モード設定値を有してもよい。BIOS150がCPUコア同数モード設定値を有する場合、BIOS SetupのようにユーザによるBIOS操作でサーバシステム100に「CPUコア同数モード」が設定されてもよい。
【００４０】
［動作の説明］
以下、本実施形態のサーバシステム100のOS180が起動する動作を図４を参照して説明する。図４は、第１の実施形態のサーバシステム100による起動処理の動作を示すフローチャートである。
【００４１】
なお、図４に示す起動処理は、CPU内に障害が発生したCPUコアが存在する場合にサーバシステム100のOS180が起動する際に行われる処理である。
【００４２】
図４に示す起動処理が実行される前に、ユーザは、BMC160に「CPUコア同数モード」を設定するように指示する。サーバシステム100が起動すると、BIOS150のプログラムが実行される（ステップS110）。
【００４３】
実行されたBIOS150は、BMC設定取得機能151でBMC160と通信を行う（ステップS120）。通信を行うことによって、BIOS150は、CPUコア同数モード設定値を取得する。BIOS150は、取得されたCPUコア同数モード設定値を参照して「CPUコア同数モード」が設定されているか否かを確認する。
【００４４】
次いで、BIOS150は、コア診断機能152でCPUコアの状態が正常であるか否かを診断する（ステップS130）。次いで、BIOS150は、コア障害検出機能153で、コア診断機能152による診断の結果を参照して、各CPUコアに障害が発生しているか否かを確認する（ステップS140）。
【００４５】
BIOS150は、障害が検出されたCPUコアを、障害CPUコアとする。次いで、BIOS150は、コア縮退機能154で、コア障害検出機能153で検出された障害CPUコアを縮退させる（ステップS150）。すなわち、BIOS150は、障害CPUコアを他のCPUコアから切り離し、使用不可能なCPUコアとする。
【００４６】
次いで、BIOS150は、有効コア選出機能155で有効コアを選出する（ステップS160）。有効コア選出機能155を用いて、BIOS150は、有効コアとOS180から隠蔽されるCPUコアをそれぞれ選出する。
【００４７】
次いで、BIOS150は、コア隠蔽機能156で、ACPI(Advanced Configuration and Power Interface)テーブルを用いて有効コア選出機能155により有効コアに選出されずOS180から隠蔽されるCPUコアをOS180から隠蔽する（ステップS170）。
【００４８】
OS180は、BIOS150が生成するACPIテーブルを用いてハードウェア資源の情報を取得する。しかし、ステップS170でBIOS150は、コア隠蔽機能156を用いて隠蔽するCPUコアの情報をOS180に渡さないようにACPIテーブルを生成する。
【００４９】
次いで、BIOS150は、OS180を起動させる（ステップS180）。OS180が起動した後、サーバシステム100は、起動処理を終了する。
【００５０】
次に、ステップS160でBIOS150が有効コア選出機能155で有効コアを選出する際の動作を図５を参照して説明する。図５は、第１の実施形態のBIOS150による有効コア選出処理の動作を示すフローチャートである。
【００５１】
最初に、BIOS150は、「CPUコア同数モード」が設定されているか否かを確認する（ステップS161）。
【００５２】
「CPUコア同数モード」が設定されていない場合（ステップS161におけるNo）、BIOS150は、縮退させられたCPUコア以外のCPUコアを全て有効コアに決定する（ステップS162）。決定した後、BIOS150は、有効コア選出処理を終了する。
【００５３】
「CPUコア同数モード」が設定されている場合（ステップS161におけるYes）、BIOS150は、「縮退させられたCPUコアが存在するCPUの残りのCPUコア数」と「縮退させられたCPUコアが存在しないCPU数」とを比較する（ステップS163）。
【００５４】
「縮退させられたCPUコアが存在するCPUの残りのCPUコア数」の方が多い場合（ステップS163におけるTrue）、BIOS150は、以下の条件が満たされるように、縮退させられたCPUコアが存在するCPU以外のCPUに対して有効コアを選出する。
【００５５】
BIOS150は、縮退させられたCPUコアが存在するCPU以外のCPUの有効コア数と、縮退させられたCPUコアが存在するCPUの有効コア数が同じになるように有効コアを選出する（ステップS164）。
【００５６】
また、BIOS150は、有効コアとして選出されなかったCPUコアをOS180から隠蔽されるCPUコアに決定する（ステップS165）。決定した後、BIOS150は、有効コア選出処理を終了する。
【００５７】
「縮退させられたCPUコアが存在しないCPU数」の方が多い場合（ステップS163におけるFalse）、BIOS150は、縮退させられたCPUコアが存在するCPUの全てのCPUコアをOS180から隠蔽されるCPUコアに決定する（ステップS166）。決定した後、BIOS150は、有効コア選出処理を終了する。
【００５８】
図６は、第１の実施形態のBIOS150による有効コア選出処理の例を示す説明図である。図６に示す例において、有効なCPUは、CPU111〜CPU114の４つのCPUである。また、各CPUは、８つのCPUコアで構成されている。
【００５９】
また、図６に示す白色の矩形は、有効コアを表す。また、斜線が付された矩形は、OS180から隠蔽されるCPUコアを表す。また、黒色の矩形は、縮退させられたCPUコアを表す。
【００６０】
図６（ａ）に示すように、ステップS150までの処理が終了した段階で、CPU114の１つのCPUコアが縮退させられている。また、縮退させられたCPUコアが存在するCPUの残りのCPUコア数は７である。
【００６１】
また、図６（ａ）に示すように、縮退させられたCPUコアが存在しないCPUは、CPU111〜CPU113の３つである。すなわち、ステップS163の処理で、BIOS150は、「縮退させられたCPUコアが存在するCPUの残りのCPUコア数」の方が多いと判断する。
【００６２】
よって、BIOS150は、縮退させられたCPUコアが存在するCPU114以外のCPU111〜CPU113の有効コア数と、縮退させられたCPUコアが存在するCPU114の有効コア数が同じになるように有効コアを選出する（ステップS164）。また、BIOS150は、有効コアとして選出されなかったCPUコアをOS180から隠蔽されるCPUコアに決定する（ステップS165）。
【００６３】
図６（ｂ）に示すように、BIOS150は、CPU111〜CPU113の各７つのCPUコアを有効コアに選出している。また、BIOS150は、有効コアとして選出されなかったCPU111〜CPU113の各１つのCPUコアをOS180から隠蔽されるCPUコアに決定している。
【００６４】
図７は、第１の実施形態のBIOS150による有効コア選出処理の他の例を示す説明図である。図７に示す例において、有効なCPUは、CPU111〜CPU114の４つのCPUである。また、各CPUは、２つのCPUコアで構成されている。なお、図７に示す各表記の意味は、図６に示す各表記の意味と同様である。
【００６５】
図７（ａ）に示すように、ステップS150までの処理が終了した段階で、CPU114の１つのCPUコアが縮退させられている。また、縮退させられたCPUコアが存在するCPUの残りのCPUコア数は１である。
【００６６】
また、図７（ａ）に示すように、縮退させられたCPUコアが存在しないCPUは、CPU111〜CPU113の３つである。すなわち、ステップS163の処理で、BIOS150は、「縮退させられたCPUコアが存在しないCPU数」の方が多いと判断する。
【００６７】
よって、BIOS150は、縮退させられたCPUコアが存在するCPUの全てのCPUコアをOS180から隠蔽されるCPUコアに決定する（ステップS166）。図７（ｂ）に示すように、BIOS150は、CPU114の残りの１つのCPUコアをOS180から隠蔽されるCPUコアに決定している。他のCPU111〜CPU113の全CPUコアは、有効コアのままである。
【００６８】
［効果の説明］
本実施形態のBIOSは、OSに認識されないCPUコア数が最小になるようにOSからCPUコアを隠蔽し、各CPUの有効コアを決定する。各CPUの有効コア数を同一にすることによって、BIOSは、予備のCPUコアが用意されていない場合であっても、各CPUの有効コア数が同一の状態でOSを起動させることができる。
【００６９】
本実施形態のBIOSが使用されると、CPUコアが縮退させられることによって各CPUの有効コア数が異なった場合であっても、各CPUの有効コア数が全CPUで同一であることを求めるOSやドライバが正常に動作できる。
【００７０】
障害が発生したCPUコアを備えるCPUが縮退させられた場合、縮退させられなかったCPUに備えられている有効コア数は変わらない。すなわち、各CPUの有効コア数が全CPUで同一であることを求めるOSやドライバは、障害が発生する前と同様に正常に動作できる。
【００７１】
しかし、CPUが縮退させられると、縮退させられたCPUに接続されているIOカードやDIMMがCPUの縮退により使用不可能になる。すなわち、CPUが縮退させられると、メモリ容量が減少したり、IOカードに接続された周辺装置が使用不可能になったりするため、サーバ装置で行われている業務に支障が生じる可能性がある。
【００７２】
本実施形態のBIOSが使用されると、CPUコアに障害が発生してもCPUが縮退させられないので、CPUに接続されたDIMMやIOカードがOSから使用できないような事態の発生が回避される。すなわち、サーバ装置で行われている業務に支障が生じる可能性が低減する。
【００７３】
本実施形態のBIOSが使用されると、複数のCPUソケットが搭載された2Way以上の、かつ全CPUの有効コア数が同一であることを求めるOSが搭載されたサーバにおいてCPUコアの障害が発生した場合、CPUが切り離されずに障害が発生したCPUコアのみが縮退させられるので、OSが正常に再起動できる。
【００７４】
次に、本発明の概要を説明する。図８は、本発明によるコアプロセッサ調節方法が実行されるコンピュータの概要を示すブロック図である。本発明によるコアプロセッサ調節方法は、同数のコアプロセッサをそれぞれ含む複数のプロセッサ111〜プロセッサ11n（例えば、CPU111〜CPU114）が備えられているコンピュータ10（例えば、サーバシステム100）においてコアプロセッサに障害が発生した後にコンピュータ10のオペレーティングシステム12（例えば、OS180）が起動する時に実行されるコアプロセッサ調節方法であって、コンピュータ10のBIOS13（例えば、BIOS150）が、障害が発生したコアプロセッサを使用不可能なコアプロセッサに設定し、複数のプロセッサ111〜プロセッサ11n内のそれぞれオペレーティングシステム12に認識されるコアプロセッサの数が全て等しくなるようにオペレーティングシステム12から隠蔽される複数のプロセッサ111〜プロセッサ11n内の各コアプロセッサの数を決定する。
【００７５】
そのような構成により、コアプロセッサ調節方法は、CPUのコアプロセッサの縮退時に予備のコアプロセッサを使用せずに各CPUの有効なコアプロセッサを同数に調節できる。
【００７６】
また、BIOS13が、障害が発生したコアプロセッサを含むプロセッサ内のその障害が発生したコアプロセッサ以外のコアプロセッサの数以下のプロセッサであって、障害が発生したコアプロセッサを含まないプロセッサ内のオペレーティングシステム12から隠蔽されるコアプロセッサの数を１つ以上に決定してもよい。
【００７７】
そのような構成により、コアプロセッサ調節方法は、OSに認識されないCPUコア数が最小になるようにOSから隠蔽されるCPUコアを決定できる。
【００７８】
また、BIOS13が、障害が発生したコアプロセッサを含まない複数のプロセッサの数未満のコアプロセッサに障害が発生したプロセッサ内の障害が発生したコアプロセッサ以外の全てのコアプロセッサの数をオペレーティングシステム12から隠蔽されるコアプロセッサの数に決定してもよい。
【００７９】
そのような構成により、コアプロセッサ調節方法は、OSに認識されないCPUコア数が最小になるようにOSから隠蔽されるCPUコアを決定できる。
【００８０】
また、BIOS13が、決定されたオペレーティングシステム12から隠蔽される複数のプロセッサ111〜プロセッサ11n内の各コアプロセッサの数だけオペレーティングシステム12から複数のプロセッサ111〜プロセッサ11n内のコアプロセッサをそれぞれ隠蔽してもよい。
【００８１】
そのような構成により、コアプロセッサ調節方法は、OSに認識されないCPUコア数が最小になるようにOSからCPUコアを隠蔽できる。
【００８２】
また、BIOS13が、ACPIテーブルを用いてオペレーティングシステム12から複数のプロセッサ111〜プロセッサ11n内のコアプロセッサをそれぞれ隠蔽してもよい。
【００８３】
そのような構成により、コアプロセッサ調節方法は、隠蔽されるCPUコアの情報がOSに渡らないように生成されたACPIテーブルを用いてOSからCPUコアを隠蔽できる。
【符号の説明】
【００８４】
10  コンピュータ
111〜11n  プロセッサ
12、180  オペレーティングシステム(OS)
13、150  BIOS
100  サーバシステム
111〜114  CPU
121〜124  DIMM
131〜134  IOカード
140  ROM
151  BMC設定取得機能
152  コア診断機能
153  コア障害検出機能
154  コア縮退機能
155  有効コア選出機能
156  コア隠蔽機能
160  BMC
170  二次記憶装置
【図１】
2018173753.tif 000003
【図２】
2018173753.tif 000004
【図３】
2018173753.tif 000005
【図４】
2018173753.tif 000006
【図５】
2018173753.tif 000007
【図６】
2018173753.tif 000008
【図７】
2018173753.tif 000009
【図８】
2018173753.tif 000010