(57)【要約】      （修正有）【課題】ユーザが指定した条件に基づき有効プロセッサコアを最適に配置することができる有効プロセッサコア配置装置を提供する。【解決手段】有効プロセッサコア配置装置１は、１つ以上のプロセッサコアを含む１つ以上のプロセッサと、最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示する表示部５と、表示部５に入力された最大プロセッサソケット数および最大プロセッサコア数に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御部４とを備える。【選択図】図２４
2014127059.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上のプロセッサコアを含む１つ以上のプロセッサと、
最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示する表示部と、
前記表示部に入力された前記最大プロセッサソケット数および前記最大プロセッサコア数に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御部とを備えること
を特徴とする有効プロセッサコア配置装置。
【請求項２】
有効プロセッサコア設定画面には、優先するサーバ特性を入力される部分が設けられ、
制御部は、表示部に入力された前記優先するサーバ特性に基づいて、有効プロセッサおよび有効プロセッサコアを決定する
請求項１記載の有効プロセッサコア配置装置。
【請求項３】
優先するサーバ特性がプロセッサ処理性能である
請求項２記載の有効プロセッサコア配置装置。
【請求項４】
優先するサーバ特性がメモリレイテンシである
請求項２記載の有効プロセッサコア配置装置。
【請求項５】
優先するサーバ特性が省電力である
請求項２記載の有効プロセッサコア配置装置。
【請求項６】
少なくとも１つのプロセッサがＰＣＨと接続しており、前記プロセッサの少なくとも１つのプロセッサコアを有効にする
請求項１から請求項５のうちのいずれか１項に記載の有効プロセッサコア配置装置。
【請求項７】
１つ以上のプロセッサコアを含む１つ以上のプロセッサを含む有効プロセッサコア配置装置で実行される有効プロセッサコア配置方法であって、
最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示し、
入力された前記最大プロセッサソケット数および前記最大プロセッサコア数に基づいて有効プロセッサおよび有効プロセッサコアを決定する
ことを特徴とする有効プロセッサコア配置方法。
【請求項８】
優先するサーバ特性が入力される部分が設けられた有効プロセッサコア設定画面を表示し、
入力された前記優先するサーバ特性に基づいて、有効プロセッサおよび有効プロセッサコアを決定する
請求項７記載の有効プロセッサコア配置方法。
【請求項９】
１つ以上のプロセッサコアを含む１つ以上のプロセッサを含む有効プロセッサコア配置装置に搭載されるコンピュータにおける有効プロセッサコア配置プログラムであって、
前記コンピュータに、
最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示する表示処理、
入力された前記最大プロセッサソケット数および前記最大プロセッサコア数に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御処理
を実行させるための有効プロセッサコア配置プログラム。
【請求項１０】
コンピュータに、
表示処理で、優先するサーバ特性が入力される部分が設けられた有効プロセッサコア設定画面を表示させ、
入力された前記優先するサーバ特性に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御処理を実行させる
請求項９記載の有効プロセッサコア配置プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、有効プロセッサコア配置装置、有効プロセッサコア配置方法および有効プロセッサコア配置プログラムに関する。
【背景技術】
【０００２】
多数のプロセッサコアを有するプロセッサがある。ユーザは、業務量の増加などを見越して、初期導入時点では必要ない数のプロセッサコアを有するサーバ装置を導入することがある。
【０００３】
また、利用した際にプロセッサコア数に応じて課金されるソフトウェアがある。初期導入時点では必要ない数のプロセッサコアを有するサーバ装置において、そのようなソフトウェアが利用された場合、実際には利用されないプロセッサコアについても費用が発生する。このように、多数のプロセッサコアを有するサーバ装置を導入した場合、本来は必要のない費用が発生してしまうという問題がある。
【０００４】
このような問題を解消するために、キャパシティ・オン・デマンド機能を有するサーバ装置が存在する。サーバ装置は、キャパシティ・オン・デマンド機能を用いて一部のプロセッサコアを無効化し必要なプロセッサコアだけを有効化することにより、ソフトウェア・ライセンス費用を節減することができる。
【０００５】
また、サーバ装置は、業務量の増加などの必要性に応じ、キャパシティ・オン・デマンド機能を用いて無効化しておいたプロセッサコアを有効化することにより、サーバ装置の性能を向上させることもできる。
【０００６】
キャパシティ・オン・デマンド機能を有するサーバにおいてプロセッサコアを有効または無効に設定する際、ユーザは、図２５に示す有効プロセッサコア設定画面のように、物理的なプロセッサ番号やプロセッサコア番号の単位ごとに自ら有効または無効の設定をすることが求められる。
【０００７】
そのため、ユーザがサーバ装置のプロセッサ仕様やメモリの実装位置などのハードウェア・アーキテクチャを熟知していないと有効プロセッサコアと無効プロセッサコアが不適切な配置となり、処理性能面や消費電力面で最適な設定にならないことがある。
【０００８】
また、ソフトウェア・ライセンスにより許容されたプロセッサソケット数やプロセッサコア数と無関係に、プロセッサコアが有効または無効に設定されてしまうため、ユーザが設定を誤認して意図せずソフトウェア・ライセンス違反を犯してしまう可能性がある。
【０００９】
さらに、プロセッサコア数を１０個以上有するプロセッサもある。多数のプロセッサコアを有するプロセッサを使用した場合、例えば、８プロセッサソケットのサーバ装置では８０個以上ものプロセッサコアを有効または無効に設定する必要があり、設定に非常に手間がかかる。
【００１０】
特許文献１には、複数のプロセッサコアを有するマルチコアＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）の特性を考慮した動作制御を、その時々の状況に応じて柔軟に行うことを実現した情報処理装置が記載されている。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開２００８−２４２９４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
しかし、特許文献１に記載された情報処理装置では、優先するサーバ特性しかユーザは設定することができず、使用するプロセッサ数および使用するプロセッサコア数を設定することができない。よって、ユーザは、ソフトウェア・ライセンスも考慮した有効プロセッサコアを最適に配置することができない。
【００１３】
そこで、本発明は、ユーザが指定した条件に基づき有効プロセッサコアを最適に配置することができる有効プロセッサコア配置装置、有効プロセッサコア配置方法および有効プロセッサコア配置プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明による有効プロセッサコア配置装置は、１つ以上のプロセッサコアを含む１つ以上のプロセッサと、最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示する表示部と、表示部に入力された最大プロセッサソケット数および最大プロセッサコア数に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御部とを備えることを特徴とする。
【００１５】
本発明による有効プロセッサコア配置方法は、１つ以上のプロセッサコアを含む１つ以上のプロセッサを含む有効プロセッサコア配置装置で実行される有効プロセッサコア配置方法であって、最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示し、入力された最大プロセッサソケット数および最大プロセッサコア数に基づいて有効プロセッサおよび有効プロセッサコアを決定することを特徴とする。
【００１６】
本発明による有効プロセッサコア配置プログラムは、１つ以上のプロセッサコアを含む１つ以上のプロセッサを含む有効プロセッサコア配置装置に搭載されるコンピュータにおける有効プロセッサコア配置プログラムであって、コンピュータに、最大プロセッサソケット数と最大プロセッサコア数とが入力される有効プロセッサコア設定画面を表示する表示処理、入力された最大プロセッサソケット数および最大プロセッサコア数に基づいて、有効プロセッサおよび有効プロセッサコアを決定する制御処理を実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ユーザが指定した条件に基づき有効プロセッサコアを最適に配置することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明による有効プロセッサコア配置装置の第１の実施形態の構成例を示すシステム構成図である。
【図２】本発明による有効プロセッサコア設定画面６１０の第１の表示例を示す説明図である。
【図３】第１の実施形態における「プロセッサ処理性能優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【図４】有効プロセッサコアの設定例を示すシステム構成図である。
【図５】有効プロセッサコアの設定例を示すシステム構成図である。
【図６】有効プロセッサコアの設定例を示すシステム構成図である。
【図７】有効プロセッサコアの設定例を示すシステム構成図である。
【図８】有効プロセッサコアの設定例を示すシステム構成図である。
【図９】有効プロセッサコアの設定例を示すシステム構成図である。
【図１０】第１の実施形態における「メモリレイテンシ優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【図１１】有効プロセッサコアの設定例を示すシステム構成図である。
【図１２】有効プロセッサコアの設定例を示すシステム構成図である。
【図１３】有効プロセッサコアの設定例を示すシステム構成図である。
【図１４】第１の実施形態における「省電力優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【図１５】有効プロセッサコアの設定例を示すシステム構成図である。
【図１６】有効プロセッサコアの設定例を示すシステム構成図である。
【図１７】有効プロセッサコアの設定例を示すシステム構成図である。
【図１８】有効プロセッサコアの設定例を示すシステム構成図である。
【図１９】本発明による有効プロセッサコア配置装置の第２の実施形態の構成例を示すシステム構成図である。
【図２０】第２の実施形態におけるサーバ装置１００の動作を示すフローチャートの一部である。
【図２１】本発明による有効プロセッサコア配置装置におけるオペレーティング・システムおよびアプリケーションの稼働例を示す説明図である。
【図２２】本発明による有効プロセッサコア設定画面６１０の第２の表示例を示す説明図である。
【図２３】第３の実施形態におけるサーバ装置１００の動作を示すフローチャートの一部である。
【図２４】有効プロセッサコア配置装置の概要を示すブロック図である。
【図２５】キャパシティ・オン・デマンド機能を有するサーバ装置における有効プロセッサコア設定画面の表示例を示す説明図である。
【発明を実施するための形態】
【００１９】
実施形態１．
以下、本発明の第１の実施形態を図面を参照して説明する。図１は、本発明による有効プロセッサコア配置装置の第１の実施形態の構成例を示すシステム構成図である。図１に示す有効プロセッサコア配置装置であるサーバ装置１００は、プロセッサ２０１〜２０４と、メモリ４０１、４０２と、ＢＭＣ（ベースボード・マネージメント・コントローラ）５００と、表示装置６００とを備えている。
【００２０】
サーバ装置１００は、プロセッサを起動または停止させることによって、サーバ装置１００自身の処理能力を動的に変動させるキャパシティ・オン・デマンド機能を有する。サーバ装置１００は、キャパシティ・オン・デマンド機能を提供するために、ユーザに対して図２に示す有効プロセッサコア設定画面６１０を、表示装置６００を介して提供する。
【００２１】
図１に示すサーバ装置１００は、４個のプロセッサ２０１〜２０４を搭載することができる４プロセッサソケットのサーバ装置である。なお、サーバ装置１００は、４個以外のプロセッサを含んでいてもよい。
【００２２】
各々のプロセッサ２０１〜２０４は、サーバ装置１００においてソフトウェアを動作させるハードウェアであり、プロセッサコア、周辺回路などから構成される。各プロセッサ２０１〜２０４は、互いに接続されている。
【００２３】
各々のプロセッサ２０１〜２０４は、４個のプロセッサコアを有する。プロセッサコアは、プロセッサ２０１〜２０４の中核となり、演算装置、命令や情報を格納するレジスタを有し、演算処理等を行う部分である。
【００２４】
図１に示すように、プロセッサ２０１は、４個のプロセッサコア３１１〜３１４を有する。プロセッサ２０２は、４個のプロセッサコア３２１〜３２４を有する。
【００２５】
プロセッサ２０３は、４個のプロセッサコア３３１〜３３４を有する。プロセッサ２０４は、４個のプロセッサコア３４１〜３４４を有する。
【００２６】
なお、プロセッサ２０１〜２０４は、４個以外のプロセッサコアを有するプロセッサでもよい。
【００２７】
各プロセッサ２０１〜２０４は、メモリを接続することができる。図１には、プロセッサ２０２にメモリ４０１が、プロセッサ２０３にメモリ４０２が接続されている例が示されている。また各プロセッサ２０１〜２０４は、ＢＭＣ５００と接続されている。
【００２８】
ＢＭＣ５００は、各プロセッサコア３１１〜３４４を有効または無効に設定する機能を有する。またＢＭＣ５００は、各プロセッサ２０１〜２０４、各プロセッサコア３１１〜３４４および各メモリ４０１、４０２の障害履歴を保持している。
【００２９】
表示装置６００は、有効プロセッサコア設定画面６１０を表示する機能を有する。表示装置６００は、ＢＭＣ５００と接続されている。ユーザは、キーボード及びマウスを介して、表示装置６００が表示する画面に数値等を入力する。
【００３０】
なお、表示装置６００を使用せずに、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）設定画面に有効プロセッサコア設定画面６１０を含め、サーバ装置１００自身の通常のＶＧＡ（Ｖｉｄｅｏ  Ｇｒａｐｈｉｃｓ  Ａｒｒａｙ）画面やキーボード及びマウスを介して入力を行ってもよい。
【００３１】
また、ＢＭＣ５００が持つＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）ポートを用いて、有効プロセッサコア設定画面６１０を表示する別のサーバ装置からネットワークを経由してＢＭＣ５００に接続し、入力を行ってもよい。
【００３２】
図２は、本発明による有効プロセッサコア設定画面６１０の第１の表示例を示す説明図である。有効プロセッサコア設定画面６１０は、最大プロセッサソケット数の入力欄６１１と、最大プロセッサコア数の入力欄６１２と、優先するサーバ特性を選択するためのラジオボタン６１３と、ＯＫボタン６１４と、キャンセルボタン６１５とを有している。
【００３３】
最大プロセッサソケット数の入力欄６１１には、ユーザが各々のプロセッサコア３１１〜３４４を有効に設定する際に、使用する最大プロセッサソケット数が入力される。同様に、最大プロセッサコア数の入力欄６１２には、ユーザが各々のプロセッサコア３１１〜３４４を有効に設定する際に、使用する最大プロセッサコア数が入力される。
【００３４】
ラジオボタン６１３によって選択される優先するサーバ特性には、「プロセッサ処理性能優先」、「メモリレイテンシ優先」および「省電力優先」の３種類の特性がある。
【００３５】
「プロセッサ処理性能優先」を選択した場合、最大プロセッサソケット数や最大プロセッサコア数の制約を超えない範囲で、各プロセッサ２０１〜２０４に割り当てられる有効なプロセッサコアの数が平準化される。
【００３６】
有効なプロセッサコアの数が平準化される場合には、プロセッサ２０１〜２０４に搭載されているプロセッサコア３１１〜３４４のうち、動作しているプロセッサコアの数を少なくすることができる。
【００３７】
動作しているプロセッサコアの数が少ない場合、熱設計電力のうち未使用の電力を用いて、プロセッサコアの動作周波数を定格周波数以上に向上させるターボブースト機能を有効に働かせることができる。ターボブースト機能を有効にすると、サーバ装置１００は、プロセッサ処理性能を高めることができる。
【００３８】
「メモリレイテンシ優先」を選択した場合、最大プロセッサソケット数や最大プロセッサコア数の制約を超えない範囲で、容量の多いメモリが接続されているプロセッサ２０２またはプロセッサ２０３に、優先的に有効なプロセッサコアが割り当てられる。
【００３９】
メモリレイテンシは、例えば、プロセッサコアがメモリに対して読み出し命令または書き込み命令を出してから、実際に読み出しまたは書き込みが行われるまでの遅延時間である。
【００４０】
容量の多いメモリほど読み出しまたは書き込みが行われる確率が高いという前提が成り立つのであれば、容量の多いメモリが接続されているプロセッサ２０２またはプロセッサ２０３に優先的に有効なプロセッサコアを割り当てることによって、メモリとプロセッサコアとの間の平均的な中継設備の数である平均ホップ数を最小にすることができる。
【００４１】
よって、平均ホップ数を最小にすると、サーバ装置１００は、メモリレイテンシを短くすることができる。
【００４２】
「省電力優先」を選択した場合、最大プロセッサソケット数や最大プロセッサコア数の制約を超えない範囲で、有効なプロセッサコアが必要最小限の数のプロセッサに集約される。
【００４３】
有効なプロセッサコアが必要最小限の数のプロセッサに集約されることで、搭載されているプロセッサコアが動作しないプロセッサは、プロセッサコアとプロセッサとのプロセッサ間インタフェースやメモリインタフェース等へのクロック供給を停止する。
【００４４】
クロック供給が停止されることで、サーバ装置１００は、プロセッサを省電力モードへ移行することができる。よって、サーバ装置１００は、電力消費量を小さくすることができる。
【００４５】
ＯＫボタン６１４は、最大プロセッサソケット数の入力欄６１１および最大プロセッサコア数の入力欄６１２に入力された設定と、ラジオボタン６１３によって選択された設定を反映する機能を有する。キャンセルボタン６１５は、入力および選択された設定を取り消す機能を有する。
【００４６】
ユーザは、保有するソフトウェア・ライセンスの情報や、サーバの優先すべき特性を鑑みて、使用する最大プロセッサソケット数を入力欄６１１に、使用する最大プロセッサコア数を入力欄６１２に入力し、優先するサーバ特性をラジオボタン６１３によって選択する。入力および選択された設定は、ＯＫボタン６１４を押下することでサーバ装置１００に反映される。
【００４７】
有効プロセッサコア設定画面６１０で最大プロセッサソケット数及び最大プロセッサコア数の入力と優先するサーバ特性の選択が行われると、ＢＭＣ５００は、入力された最大プロセッサソケット数と最大プロセッサコア数、選択された優先するサーバ特性から、最適となるプロセッサコアの配置を自動的に算出し、各プロセッサコア３１１〜３４４を有効または無効に設定する。
【００４８】
なお、サーバ装置１００において、プロセッサの物理的なソケット数は、プロセッサの数と同じ４個となる。図１に示す例では、プロセッサソケット数は４である。
【００４９】
しかし、例えば、プロセッサ２０１からプロセッサ２０３のみ有効なプロセッサコアを有し、プロセッサ２０４が有効なプロセッサコアを有さない場合、プロセッサ２０４はソフトウェアから使用することができない。
【００５０】
一般的なソフトウェア・ライセンスにおけるプロセッサソケット数は、ソフトウェアから使用することのできるプロセッサ２０１〜２０４の数に相当する。その場合、サーバ装置１００のプロセッサソケット数は３個となる。そのため、ソフトウェア・ライセンスとしては３プロセッサソケット分のみ必要となる。
【００５１】
また、反対に、３プロセッサソケット分のソフトウェア・ライセンスを保有する場合、サーバ装置１００は、３個を超えない範囲で任意のプロセッサを有効にすることができる。同様に、５プロセッサコア分のソフトウェア・ライセンスを保有する場合、サーバ装置１００は、５個を超えない範囲で任意のプロセッサコアを有効にすることができる。
【００５２】
以下、本発明の動作を説明する。最初に、優先するサーバ特性としてラジオボタン６１３によって「プロセッサ処理性能優先」が選択され、ＯＫボタン６１４が押下された場合のサーバ装置１００の動作を図３のフローチャートを参照して説明する。図３は、第１の実施形態における「プロセッサ処理性能優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【００５３】
具体例として、図２に示す有効プロセッサコア設定画面６１０で、最大プロセッサソケット数として入力欄６１１に「３」が、最大プロセッサコア数として入力欄６１２に「５」が、優先するサーバ特性としてラジオボタン６１３で「プロセッサ処理性能優先」が入力され、ＯＫボタン６１４が押下された場合について説明する。
【００５４】
ＢＭＣ５００は、プロセッサ２０１からプロセッサ２０４に含まれる全てのプロセッサコア３１１〜３４４を無効に設定する（ステップＳ１０１）。この時のサーバ装置１００は、図４に示すように、全てのプロセッサコア３１１〜３４４が無効な状態となる。
【００５５】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ１０２）。この段階では、全てのプロセッサ２０１〜２０４において、有効であるプロセッサコアの数は「０」である。
【００５６】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ１０３）。そして、ＢＭＣ５００は、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。
【００５７】
なお、同順位に複数のプロセッサが存在した場合、ＢＭＣ５００は、最も番号が小さいプロセッサを優先する、ラウンドロビンで優先するプロセッサを選択する、ランダムに優先するプロセッサを選択する、メモリ４０１、４０２が接続されているプロセッサ２０２、２０３を優先する、ＢＭＣ５００が持つ過去の障害履歴から障害発生率が最小のプロセッサを選択するなどの方式を用いて、複数のプロセッサ２０１〜２０４に順位を付ける。
【００５８】
なお、最も番号が小さいプロセッサがプロセッサ２０１であり、次いで番号が小さいプロセッサがプロセッサ２０２であり、最も番号が大きいプロセッサがプロセッサ２０４であるとする。
【００５９】
本実施例において有効であるプロセッサコアの数が同数の複数のプロセッサが存在し、その複数のプロセッサの中にメモリ４０１、４０２が接続されているプロセッサ２０２、２０３が含まれている場合、ＢＭＣ５００は、プロセッサ２０２、２０３を優先する。さらに、プロセッサ２０２、２０３の有効であるプロセッサコアの数が同数である場合、ＢＭＣ５００は、最も番号が小さいプロセッサ２０２を優先する。
【００６０】
有効であるプロセッサコアの数が同数の複数のプロセッサが存在し、その複数のプロセッサの中にメモリ４０１、４０２が接続されているプロセッサ２０２、２０３が含まれていない場合、ＢＭＣ５００は、最も番号が小さいプロセッサを優先する。
【００６１】
ステップＳ１０４の段階では、全てのプロセッサ２０１〜２０４において有効であるプロセッサコアの数は「０」である。よって、ここではメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、最も番号が小さいプロセッサ２０２が、有効であるプロセッサコアの数が１番目に少ないプロセッサとして検索される。
【００６２】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。検索されたプロセッサ２０２に有効にできるプロセッサコアが存在する場合（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。検索されたプロセッサ２０２に有効にできるプロセッサコアが存在しない場合（ステップＳ１０５のＮｏ）、ＢＭＣ５００は、ステップＳ１０８へ処理を進める。
【００６３】
例えば、プロセッサが有する全てのプロセッサコアが既に有効になっている場合や、プロセッサが有するまだ有効に設定されていないプロセッサコアが全て故障している場合が、検索されたプロセッサに有効にできるプロセッサコアが存在しない場合である。
【００６４】
プロセッサ２０２には有効にできるプロセッサコア３２１〜３２４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【００６５】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索したプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。
【００６６】
検索されたプロセッサ２０２に有効なプロセッサコアが存在する場合（ステップＳ１０６のＹｅｓ）、有効なプロセッサコアを追加しても、有効なプロセッサコアを有するプロセッサの数に増減は生じない。よってステップＳ１０７の、最大プロセッサソケット数が有効なプロセッサコアを有するプロセッサの数を超えないかの判定処理は不要なので行われず、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【００６７】
検索されたプロセッサ２０２に有効なプロセッサコアが存在しない場合（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。ステップＳ１０６の段階では、プロセッサ２０２に有効なプロセッサコアは存在しないので（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。
【００６８】
ステップＳ１０６で有効なプロセッサコアが存在しない場合、ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ１０７）。
【００６９】
判断する理由は、有効なプロセッサコアを追加すると有効なプロセッサコアを有するプロセッサの数が増加するので、有効なプロセッサコアを追加した時にプロセッサ数が最大プロセッサソケット数を超えないか確認するためである。
【００７０】
最大プロセッサソケット数が有効なプロセッサコアを有するプロセッサの数よりも大きい場合（ステップＳ１０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。最大プロセッサソケット数が有効なプロセッサコアを有するプロセッサの数以下の場合（ステップＳ１０７のＮｏ）、ＢＭＣ５００は、ステップＳ１０８へ処理を進める。
【００７１】
ステップＳ１０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「０」なので（ステップＳ１０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【００７２】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２１〜３２４のうちの１個を有効にする（ステップＳ１１０）。
【００７３】
なお、どのプロセッサコアを有効にするかは、有効にできる最も番号が小さいプロセッサコアを選択する、有効にできるプロセッサコアの中からラウンドロビンで選択する、ＢＭＣ５００が持つ過去の障害履歴から障害発生率が最小のプロセッサコアを選択する、などの方式を用いて決定する。本実施例において、ＢＭＣ５００は、有効にできる最も番号が小さいプロセッサコアを選択する。
【００７４】
ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２１〜３２４のうち、最も番号が小さいプロセッサコア３２１を有効にする。この時、サーバ装置１００において、図５に示すようにプロセッサコア３２１のみが有効な状態となる。
【００７５】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ１１１）。
【００７６】
最大プロセッサコア数が有効なプロセッサコアの数以下の場合（ステップＳ１１１のＮｏ）、ＢＭＣ５００は、本処理を終了する。最大プロセッサコア数が有効なプロセッサコアの数よりも大きい場合（ステップＳ１１１のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【００７７】
ステップＳ１１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「１」なので、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【００７８】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ１０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「１」、その他のプロセッサにおいて「０」である。
【００７９】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ１０３）、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。
【００８０】
ここでは、有効であるプロセッサコアの数が「０」であるプロセッサ２０１、２０３、２０４のうち、メモリ４０２が接続されているプロセッサ２０３が、有効であるプロセッサコアの数が１番目に少ないプロセッサとして検索される。
【００８１】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０３には有効にできるプロセッサコア３３１〜３３４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【００８２】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０３に有効なプロセッサコアが存在しないので（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。
【００８３】
ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ１０７）。
【００８４】
ステップＳ１０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「１」なので（ステップＳ１０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【００８５】
ＢＭＣ５００は、検索されたプロセッサ２０３のプロセッサコア３３１〜３３４のうちの１個を有効にする（ステップＳ１１０）。ＢＭＣ５００は、プロセッサ２０３に含まれていて有効にできるプロセッサコア３３１〜３３４のうち、最も番号が小さいプロセッサコア３３１を有効にする。
【００８６】
この時、サーバ装置１００において、図６に示すようにプロセッサコア３２１とプロセッサコア３３１が有効な状態となる。
【００８７】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ１１１）。
【００８８】
ステップＳ１１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「２」なので、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【００８９】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ１０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２とプロセッサ２０３とにおいてそれぞれ「１」、プロセッサ２０１とプロセッサ２０４とにおいて「０」である。
【００９０】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ１０３）、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。
【００９１】
ここでは、有効であるプロセッサコアの数が「０」であるプロセッサ２０１、２０４のうち、最も番号が小さいプロセッサ２０１が、有効であるプロセッサコアの数が１番目に少ないプロセッサとして検索される。
【００９２】
ＢＭＣ５００は、検索されたプロセッサ２０１に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０１には有効にできるプロセッサコア３１１〜３１４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【００９３】
ＢＭＣ５００は、検索されたプロセッサ２０１に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０１に有効なプロセッサコアが存在しないので（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。
【００９４】
ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ１０７）。
【００９５】
ステップＳ１０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「２」なので（ステップＳ１０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【００９６】
ＢＭＣ５００は、検索されたプロセッサ２０１のプロセッサコア３１１〜３１４のうちの１個を有効にする（ステップＳ１１０）。ＢＭＣ５００は、プロセッサ２０１に含まれていて有効にできるプロセッサコア３１１〜３１４のうち、最も番号が小さいプロセッサコア３１１を有効にする。
【００９７】
この時、サーバ装置１００において、図７に示すようにプロセッサコア３１１、プロセッサコア３２１およびプロセッサコア３３１が有効な状態となる。
【００９８】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ１１１）。
【００９９】
ステップＳ１１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「３」なので、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【０１００】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ１０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０１、プロセッサ２０２およびプロセッサ２０３においてそれぞれ「１」、プロセッサ２０４において「０」である。
【０１０１】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ１０３）、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。
【０１０２】
ここでは、有効であるプロセッサコアの数が「０」であるプロセッサ２０４が、有効であるプロセッサコアの数が１番目に少ないプロセッサとして検索される。
【０１０３】
ＢＭＣ５００は、検索されたプロセッサ２０４に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０４には有効にできるプロセッサコア３４１〜３４４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【０１０４】
ＢＭＣ５００は、検索されたプロセッサ２０４に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０４に有効なプロセッサコアが存在しないので（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。
【０１０５】
ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ１０７）。
【０１０６】
ステップＳ１０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「３」なので（ステップＳ１０７のＮｏ）、ＢＭＣ５００は、ステップＳ１０８へ処理を進める。
【０１０７】
ＢＭＣ５００は、変数ｎがサーバ装置１００に含まれるプロセッサ２０１〜２０４の数である「４」よりも小さいか判断する（ステップＳ１０８）。変数ｎが「４」以上の場合（ステップＳ１０８のＮｏ）、ＢＭＣ５００は、本処理を終了する。
【０１０８】
変数ｎが「４」よりも小さい場合（ステップＳ１０８のＹｅｓ）、ＢＭＣ５００は、変数ｎに「１」を加算した値を変数ｎに代入し（ステップＳ１０９）、ステップＳ１０４へ処理を進める。
【０１０９】
ステップＳ１０８の段階では、変数ｎは「１」であり、「４」よりも小さい（ステップＳ１０８のＹｅｓ）。よってＢＭＣ５００は、変数ｎに「１」を加算した値である「２」を変数ｎに代入し（ステップＳ１０９）、ステップＳ１０４へ処理を進める。
【０１１０】
ＢＭＣ５００は、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。ここでは、メモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、最も番号が小さいプロセッサ２０２が、有効であるプロセッサコアの数が２番目に少ないプロセッサとして検索される。
【０１１１】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０２には有効にできるプロセッサコア３２２〜３２４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【０１１２】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１が存在するので（ステップＳ１０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【０１１３】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２２〜３２４のうちの１個を有効にする（ステップＳ１１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２２〜３２４のうち、最も番号が小さいプロセッサコア３２２を有効にする。
【０１１４】
この時、サーバ装置１００において、図８に示すようにプロセッサコア３１１、プロセッサコア３２１、プロセッサコア３２２およびプロセッサコア３３１が有効な状態となる。
【０１１５】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ１１１）。
【０１１６】
ステップＳ１１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「４」なので、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【０１１７】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ１０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「２」、プロセッサ２０１とプロセッサ２０３とにおいてそれぞれ「１」、プロセッサ２０４において「０」である。
【０１１８】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ１０３）、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。ここでは、有効であるプロセッサコアの数が「０」であるプロセッサ２０４が検索される。
【０１１９】
ＢＭＣ５００は、検索されたプロセッサ２０４に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０４には有効にできるプロセッサコア３４１〜３４４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【０１２０】
ＢＭＣ５００は、検索されたプロセッサ２０４に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０４に有効なプロセッサコアが存在しないので（ステップＳ１０６のＮｏ）、ＢＭＣ５００は、ステップＳ１０７へ処理を進める。
【０１２１】
ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ１０７）。
【０１２２】
ステップＳ１０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「３」なので（ステップＳ１０７のＮｏ）、ＢＭＣ５００は、ステップＳ１０８へ処理を進める。
【０１２３】
ＢＭＣ５００は、変数ｎがサーバ装置１００に含まれるプロセッサの数である「４」よりも小さいか判断する（ステップＳ１０８）。ステップＳ１０８の段階では、変数ｎは「１」であり、「４」よりも小さい（ステップＳ１０８のＹｅｓ）。よってＢＭＣ５００は、変数ｎに「１」を加算した値である「２」を変数ｎに代入し（ステップＳ１０９）、ステップＳ１０４へ処理を進める。
【０１２４】
ＢＭＣ５００は、有効であるプロセッサコアの数がｎ番目に少ないプロセッサを検索する（ステップＳ１０４）。ここでは、メモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中でプロセッサ２０３が、有効であるプロセッサコアの数が２番目に少ないプロセッサとして検索される。
【０１２５】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効にできるプロセッサコアが存在するか判断する（ステップＳ１０５）。プロセッサ２０３には有効にできるプロセッサコア３３２〜３３４が存在するので（ステップＳ１０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ１０６へ処理を進める。
【０１２６】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効なプロセッサコアが存在するか判断する（ステップＳ１０６）。ステップＳ１０６の段階では、プロセッサ２０２に有効なプロセッサコア３３１が存在するので（ステップＳ１０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ１１０へ処理を進める。
【０１２７】
ＢＭＣ５００は、検索されたプロセッサ２０３のプロセッサコア３３２〜３３４のうちの１個を有効にする（ステップＳ１１０）。ＢＭＣ５００は、プロセッサ２０３に含まれていて有効にできるプロセッサコア３３２〜３３４のうち、最も番号が小さいプロセッサコア３３２を有効にする。
【０１２８】
この時、サーバ装置１００において、図９に示すようにプロセッサコア３１１、プロセッサコア３２１、プロセッサコア３２２、プロセッサコア３３１およびプロセッサコア３３２が有効な状態となる。
【０１２９】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ１１１）。
【０１３０】
ステップＳ１１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「５」なので（ステップＳ１１１のＮｏ）、ＢＭＣ５００は、本処理を終了する。
【０１３１】
次に、優先するサーバ特性としてラジオボタン６１３によって「メモリレイテンシ優先」が選択され、ＯＫボタン６１４が押下された場合のサーバ装置１００の動作について図１０を参照して説明する。図１０は、第１の実施形態における「メモリレイテンシ優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【０１３２】
具体例として、図２に示す有効プロセッサコア設定画面６１０で、最大プロセッサソケット数として入力欄６１１に「３」が、最大プロセッサコア数として入力欄６１２に「５」が、優先するサーバ特性としてラジオボタン６１３で「メモリレイテンシ優先」が入力され、ＯＫボタン６１４が押下された場合について説明する。
【０１３３】
ＢＭＣ５００は、プロセッサ２０１からプロセッサ２０４に含まれる全てのプロセッサコア３１１〜３４４を無効に設定する（ステップＳ２０１）。この時のサーバ装置１００は、図４に示すように、全てのプロセッサコア３１１〜３４４が無効な状態となる。
【０１３４】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、接続されているメモリの容量を取得する（ステップＳ２０２）。接続されているメモリの容量は、プロセッサ２０２とプロセッサ２０３とについて１ＧＢであるとする。また、プロセッサ２０１とプロセッサ２０４とについて０である。
【０１３５】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ２０３）。そして、ＢＭＣ５００は、接続されているメモリの容量がｎ番目に多いプロセッサを検索する（ステップＳ２０４）。
【０１３６】
なお、同順位に複数のプロセッサが存在した場合、ＢＭＣ５００は、最も番号が小さいプロセッサを優先する、ラウンドロビンで優先するプロセッサを選択する、ランダムに優先するプロセッサを選択する、有効であるプロセッサコアが少ないプロセッサを優先する、ＢＭＣ５００が持つ過去の障害履歴から障害発生率が最小のプロセッサを選択するなどの方式を用いて、複数のプロセッサ２０１〜２０４に順位を付ける。
【０１３７】
本実施例において、ＢＭＣ５００は、接続されているメモリの容量が等しいプロセッサ２０２、２０３のうち、有効であるプロセッサコアが少ないプロセッサを優先する。プロセッサ２０２、２０３の有効であるプロセッサコアの数が同数である場合、ＢＭＣ５００は、最も番号が小さいプロセッサ２０２を優先する。
【０１３８】
ここでは、容量が１ＧＢのメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、有効であるプロセッサコアが少なく、かつ最も番号が小さいプロセッサ２０２が、接続されているメモリの容量が１番目に多いプロセッサとして検索される。
【０１３９】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ２０５）。プロセッサ２０２には有効にできるプロセッサコア３２１からプロセッサコア３２４が存在するので（ステップＳ２０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ２０６へ処理を進める。
【０１４０】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ２０６）。ステップＳ２０６の段階では、プロセッサ２０２に有効なプロセッサコアが存在しないので（ステップＳ２０６のＮｏ）、ＢＭＣ５００は、ステップＳ２０７へ処理を進める。
【０１４１】
ステップＳ２０６で有効なプロセッサコアが存在しない場合、ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ２０７）。
【０１４２】
ステップＳ２０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「０」なので（ステップＳ２０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ２１０へ処理を進める。
【０１４３】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２１〜３２４のうちの１個を有効にする（ステップＳ２１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２１〜３２４のうち、最も番号が小さいプロセッサコア３２１を有効にする。
【０１４４】
この時、サーバ装置１００において、図５に示すようにプロセッサコア３２１のみが有効な状態となる。
【０１４５】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ２１１）。
【０１４６】
ステップＳ２１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「１」なので、ＢＭＣ５００は、ステップＳ２０２へ処理を進める。
【０１４７】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、接続されているメモリの容量を取得する（ステップＳ２０２）。接続されているメモリの容量は、プロセッサ２０２とプロセッサ２０３が１ＧＢ、プロセッサ２０１とプロセッサ２０４が０である。
【０１４８】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ２０３）。そして、ＢＭＣ５００は、接続されているメモリの容量がｎ番目に多いプロセッサを検索する（ステップＳ２０４）。
【０１４９】
ここでは、容量が１ＧＢのメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、有効であるプロセッサコアが少ないプロセッサ２０３が、接続されているメモリの容量が１番目に多いプロセッサとして検索される。
【０１５０】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効にできるプロセッサコアが存在するか判断する（ステップＳ２０５）。プロセッサ２０３には有効にできるプロセッサコア３３１〜３３４が存在するので（ステップＳ２０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ２０６へ処理を進める。
【０１５１】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０３に有効なプロセッサコアが存在するか判断する（ステップＳ２０６）。ステップＳ２０６の段階では、プロセッサ２０３に有効なプロセッサコアが存在しないので（ステップＳ２０６のＮｏ）、ＢＭＣ５００は、ステップＳ２０７へ処理を進める。
【０１５２】
ステップＳ２０６で有効なプロセッサコアが存在しない場合、ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ２０７）。
【０１５３】
ステップＳ２０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「１」なので（ステップＳ２０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ２１０へ処理を進める。
【０１５４】
ＢＭＣ５００は、検索されたプロセッサ２０３のプロセッサコア３３１〜３３４のうちの１個を有効にする（ステップＳ２１０）。ＢＭＣ５００は、プロセッサ２０３に含まれていて有効にできるプロセッサコア３３１〜３３４のうち、最も番号が小さいプロセッサコア３３１を有効にする。
【０１５５】
この時、サーバ装置１００において、図６に示すようにプロセッサコア３２１とプロセッサコア３３１が有効な状態となる。
【０１５６】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ２１１）。
【０１５７】
ステップＳ２１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「２」なので、ＢＭＣ５００は、ステップＳ２０２へ処理を進める。
【０１５８】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、接続されているメモリの容量を取得する（ステップＳ２０２）。接続されているメモリの容量は、プロセッサ２０２とプロセッサ２０３が１ＧＢ、プロセッサ２０１とプロセッサ２０４が０である。
【０１５９】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ２０３）。そして、ＢＭＣ５００は、接続されているメモリの容量がｎ番目に多いプロセッサを検索する（ステップＳ２０４）。
【０１６０】
ここでは、容量が１ＧＢのメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、有効であるプロセッサコアが少なく、かつ最も番号が小さいプロセッサ２０２が、接続されているメモリの容量が１番目に多いプロセッサとして検索される。
【０１６１】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ２０５）。プロセッサ２０２には有効にできるプロセッサコア３２２〜３２４が存在するので（ステップＳ２０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ２０６へ処理を進める。
【０１６２】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ２０６）。ステップＳ２０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１が存在するので（ステップＳ２０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ２１０へ処理を進める。
【０１６３】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２２〜３２４のうちの１個を有効にする（ステップＳ２１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２２〜３２４のうち、最も番号が小さいプロセッサコア３２２を有効にする。
【０１６４】
この時、サーバ装置１００において、図１１に示すようにプロセッサコア３２１、プロセッサコア３２２およびプロセッサコア３３１が有効な状態となる。
【０１６５】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ２１１）。
【０１６６】
ステップＳ２１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「３」なので、ＢＭＣ５００は、ステップＳ２０２へ処理を進める。
【０１６７】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、接続されているメモリの容量を取得する（ステップＳ２０２）。接続されているメモリの容量は、プロセッサ２０２とプロセッサ２０３が１ＧＢ、プロセッサ２０１とプロセッサ２０４が０である。
【０１６８】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ２０３）。そして、ＢＭＣ５００は、接続されているメモリの容量がｎ番目に多いプロセッサを検索する（ステップＳ２０４）。
【０１６９】
ここでは、容量が１ＧＢのメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、有効であるプロセッサコアが少ないプロセッサ２０３が、接続されているメモリの容量が１番目に多いプロセッサとして検索される。
【０１７０】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効にできるプロセッサコアが存在するか判断する（ステップＳ２０５）。プロセッサ２０３には有効にできるプロセッサコア３３２〜３３４が存在するので（ステップＳ２０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ２０６へ処理を進める。
【０１７１】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０３に有効なプロセッサコアが存在するか判断する（ステップＳ２０６）。ステップＳ２０６の段階では、プロセッサ２０３に有効なプロセッサコア３３１が存在するので（ステップＳ２０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ２１０へ処理を進める。
【０１７２】
ＢＭＣ５００は、検索されたプロセッサ２０３のプロセッサコア３３２〜３３４のうちの１個を有効にする（ステップＳ２１０）。ＢＭＣ５００は、プロセッサ２０３に含まれていて有効にできるプロセッサコア３３２〜３３４のうち、最も番号が小さいプロセッサコア３３２を有効にする。
【０１７３】
この時、サーバ装置１００において、図１２に示すようにプロセッサコア３２１、プロセッサコア３２２、プロセッサコア３３１およびプロセッサコア３３２が有効な状態となる。
【０１７４】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ２１１）。
【０１７５】
ステップＳ２１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「４」なので、ＢＭＣ５００は、ステップＳ２０２へ処理を進める。
【０１７６】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、接続されているメモリの容量を取得する（ステップＳ２０２）。接続されているメモリの容量は、プロセッサ２０２とプロセッサ２０３が１ＧＢ、プロセッサ２０１とプロセッサ２０４が０である。
【０１７７】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ２０３）。そして、ＢＭＣ５００は、接続されているメモリの容量がｎ番目に多いプロセッサを検索する（ステップＳ２０４）。
【０１７８】
ここでは、容量が１ＧＢのメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、有効であるプロセッサコアが少なく、かつ最も番号が小さいプロセッサ２０２が、接続されているメモリの容量が１番目に多いプロセッサとして検索される。
【０１７９】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ２０５）。プロセッサ２０２には有効にできるプロセッサコア３２３とプロセッサコア３２４が存在するので（ステップＳ２０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ２０６へ処理を進める。
【０１８０】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ２０６）。ステップＳ２０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１とプロセッサコア３２２が存在するので（ステップＳ２０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ２１０へ処理を進める。
【０１８１】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２３、３２４のうちの１個を有効にする（ステップＳ２１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２３、３２４のうち、最も番号が小さいプロセッサコア３２３を有効にする。
【０１８２】
この時、サーバ装置１００において、図１３に示すようにプロセッサコア３２１、プロセッサコア３２２、プロセッサコア３２３、プロセッサコア３３１およびプロセッサコア３３２が有効な状態となる。
【０１８３】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ２１１）。
【０１８４】
ステップＳ２１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「５」なので、ＢＭＣ５００は、本処理を終了する。
【０１８５】
次に、優先するサーバ特性としてラジオボタン６１３によって「省電力優先」が選択され、ＯＫボタン６１４が押下された場合のサーバ装置１００の動作について図１４を参照して説明する。図１４は、第１の実施形態における「省電力優先」が選択された場合のサーバ装置１００の動作を示すフローチャートである。
【０１８６】
具体例として、図２に示す有効プロセッサコア設定画面６１０で、最大プロセッサソケット数として入力欄６１１に「３」が、最大プロセッサコア数として入力欄６１２に「５」が、優先するサーバ特性としてラジオボタン６１３で「省電力優先」が入力され、ＯＫボタン６１４が押下された場合について説明する。
【０１８７】
ＢＭＣ５００は、プロセッサ２０１からプロセッサ２０４に含まれる全てのプロセッサコア３１１〜３４４を無効に設定する（ステップＳ３０１）。この時のサーバ装置１００は、図４に示すように、全てのプロセッサコア３１１〜３４４が無効な状態となる。
【０１８８】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ３０２）。この段階では、全てのプロセッサ２０１〜２０４において、有効であるプロセッサコアの数は「０」である。
【０１８９】
ＢＭＣ５００は、変数ｎに１を代入する（ステップＳ３０３）。そして、ＢＭＣ５００は、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。
【０１９０】
なお、同順位に複数のプロセッサが存在した場合、ＢＭＣ５００は、最も番号が小さいプロセッサを優先する、ラウンドロビンで優先するプロセッサを選択する、ランダムに優先するプロセッサを選択する、メモリが接続されているプロセッサを優先する、ＢＭＣ５００が持つ過去の障害履歴から障害発生率が最小のプロセッサを選択するなどの方式を用いて、複数のプロセッサに順位を付ける。
【０１９１】
本実施例において有効であるプロセッサコアの数が同数の複数のプロセッサが存在し、その複数のプロセッサの中にメモリ４０１、４０２が接続されているプロセッサ２０２、２０３が含まれている場合、ＢＭＣ５００はプロセッサ２０２、２０３を優先する。さらに、プロセッサ２０２、２０３の有効であるプロセッサコアの数が同数である場合、ＢＭＣ５００は、最も番号が小さいプロセッサ２０２を優先する。
【０１９２】
ステップＳ３０４の段階では、全てのプロセッサ２０１〜２０４において有効であるプロセッサコアの数は「０」である。よって、ここではメモリ４０１、４０２が接続されているプロセッサ２０２、２０３の中で、最も番号が小さいプロセッサ２０２が、有効であるプロセッサコアの数が１番目に多いプロセッサとして検索される。
【０１９３】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０２には有効にできるプロセッサコア３２１〜３２４が存在するので（ステップＳ３０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ３０６へ処理を進める。
【０１９４】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ３０６）。ステップＳ３０６の段階では、プロセッサ２０２に有効なプロセッサコアが存在しないので（ステップＳ３０６のＮｏ）、ＢＭＣ５００は、ステップＳ３０７へ処理を進める。
【０１９５】
ステップＳ３０６で有効なプロセッサコアが存在しない場合、ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ３０７）。
【０１９６】
ステップＳ３０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「０」なので（ステップＳ３０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ３１０へ処理を進める。
【０１９７】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２１〜３２４のうちの１個を有効にする（ステップＳ３１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２１〜３２４のうち、最も番号が小さいプロセッサコア３２１を有効にする。
【０１９８】
この時、サーバ装置１００において、図５に示すようにプロセッサコア３２１のみが有効な状態となる。
【０１９９】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ３１１）。
【０２００】
ステップＳ３１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「１」なので、ＢＭＣ５００は、ステップＳ３０２へ処理を進める。
【０２０１】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ３０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「１」、その他のプロセッサにおいて「０」である。
【０２０２】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ３０３）、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。ここでは、有効であるプロセッサコアの数が「１」であるプロセッサ２０２が、有効であるプロセッサコアの数が１番目に多いプロセッサとして検索される。
【０２０３】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０２には有効にできるプロセッサコア３２２〜３２４が存在するので（ステップＳ３０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ３０６へ処理を進める。
【０２０４】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ３０６）。ステップＳ３０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１が存在するので（ステップＳ３０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ３１０へ処理を進める。
【０２０５】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２２〜３２４のうちの１個を有効にする（ステップＳ３１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２２〜３２４のうち、最も番号が小さいプロセッサコア３２２を有効にする。
【０２０６】
この時、サーバ装置１００において、図１５に示すようにプロセッサコア３２１とプロセッサコア３２２が有効な状態となる。
【０２０７】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ３１１）。
【０２０８】
ステップＳ３１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「２」なので、ＢＭＣ５００は、ステップＳ３０２へ処理を進める。
【０２０９】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ３０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「２」、その他のプロセッサにおいて「０」である。
【０２１０】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ３０３）、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。ここでは、有効であるプロセッサコアの数が「２」であるプロセッサ２０２が、有効であるプロセッサコアの数が１番目に多いプロセッサとして検索される。
【０２１１】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０２には有効にできるプロセッサコア３２３とプロセッサコア３２４が存在するので（ステップＳ３０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ３０６へ処理を進める。
【０２１２】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ３０６）。ステップＳ３０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１とプロセッサコア３２２が存在するので（ステップＳ３０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ３１０へ処理を進める。
【０２１３】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコア３２３、３２４のうちの１個を有効にする（ステップＳ３１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコア３２３、３２４のうち、最も番号が小さいプロセッサコア３２３を有効にする。
【０２１４】
この時、サーバ装置１００において、図１６に示すようにプロセッサコア３２１、プロセッサコア３２２およびプロセッサコア３２３が有効な状態となる。
【０２１５】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ３１１）。
【０２１６】
ステップＳ３１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「３」なので、ＢＭＣ５００は、ステップＳ３０２へ処理を進める。
【０２１７】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ３０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「３」、その他のプロセッサにおいて「０」である。
【０２１８】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ３０３）、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。ここでは、有効であるプロセッサコアの数が「３」であるプロセッサ２０２が、有効であるプロセッサコアの数が１番目に多いプロセッサとして検索される。
【０２１９】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０２には有効にできるプロセッサコア３２４が存在するので（ステップＳ３０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ３０６へ処理を進める。
【０２２０】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効なプロセッサコアが存在するか判断する（ステップＳ３０６）。ステップＳ３０６の段階では、プロセッサ２０２に有効なプロセッサコア３２１、プロセッサコア３２２およびプロセッサコア３２３が存在するので（ステップＳ３０６のＹｅｓ）、ＢＭＣ５００は、ステップＳ３１０へ処理を進める。
【０２２１】
ＢＭＣ５００は、検索されたプロセッサ２０２のプロセッサコアを１個有効にする（ステップＳ３１０）。ＢＭＣ５００は、プロセッサ２０２に含まれていて有効にできるプロセッサコアであるプロセッサコア３２４を有効にする。
【０２２２】
この時、サーバ装置１００において、図１７に示すようにプロセッサ２０２の全てのプロセッサコアが有効な状態となる。
【０２２３】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ３１１）。
【０２２４】
ステップＳ３１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「４」なので、ＢＭＣ５００は、ステップＳ３０２へ処理を進める。
【０２２５】
ＢＭＣ５００は、プロセッサ２０１〜２０４ごとに、有効であるプロセッサコアの数を取得する（ステップＳ３０２）。この段階で有効であるプロセッサコアの数は、プロセッサ２０２において「４」、その他のプロセッサにおいて「０」である。
【０２２６】
ＢＭＣ５００は、変数ｎに１を代入し（ステップＳ３０３）、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。ここでは、有効であるプロセッサコアの数が「４」であるプロセッサ２０２が、有効であるプロセッサコアの数が１番目に多いプロセッサとして検索される。
【０２２７】
ＢＭＣ５００は、検索されたプロセッサ２０２に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０２には既に全てのプロセッサコアが有効に設定されており、有効にできるプロセッサコアは存在しないので（ステップＳ３０５のＮｏ）、ＢＭＣ５００は、ステップＳ３０８へ処理を進める。
【０２２８】
ＢＭＣ５００は、変数ｎがサーバ装置１００に含まれるプロセッサ２０１〜２０４の数である「４」よりも小さいか判断する（ステップＳ３０８）。ステップＳ３０８の段階では、変数ｎは「１」であり、「４」よりも小さい（ステップＳ３０８のＹｅｓ）。よってＢＭＣ５００は、変数ｎに「１」を加算した値である「２」を変数ｎに代入し（ステップＳ３０９）、ステップＳ３０４へ処理を進める。
【０２２９】
ＢＭＣ５００は、有効であるプロセッサコアの数がｎ番目に多いプロセッサを検索する（ステップＳ３０４）。ここでは、メモリ４０２が接続されているプロセッサ２０３が、有効であるプロセッサコアの数が２番目に多いプロセッサとして検索される。
【０２３０】
ＢＭＣ５００は、検索されたプロセッサ２０３に有効にできるプロセッサコアが存在するか判断する（ステップＳ３０５）。プロセッサ２０３には有効にできるプロセッサコア３３１〜３３４が存在するので（ステップＳ３０５のＹｅｓ）、ＢＭＣ５００は、ステップＳ３０６へ処理を進める。
【０２３１】
有効にできるプロセッサコアが存在する場合、ＢＭＣ５００は、検索されたプロセッサ２０３に有効なプロセッサコアが存在するか判断する（ステップＳ３０６）。ステップＳ３０６の段階では、プロセッサ２０３に有効なプロセッサコアが存在しないので（ステップＳ３０６のＮｏ）、ＢＭＣ５００は、ステップＳ３０７へ処理を進める。
【０２３２】
ステップＳ３０６で有効なプロセッサコアが存在しない場合、ＢＭＣ５００は、入力欄６１１に入力された最大プロセッサソケット数が、有効なプロセッサコアを有するプロセッサの数よりも大きいか判断する（ステップＳ３０７）。
【０２３３】
ステップＳ３０７の段階では、最大プロセッサソケット数「３」に対し、有効なプロセッサコアを有するプロセッサの数は「１」なので（ステップＳ３０７のＹｅｓ）、ＢＭＣ５００は、ステップＳ３１０へ処理を進める。
【０２３４】
ＢＭＣ５００は、検索されたプロセッサ２０３のプロセッサコア３３１〜３３４のうちの１個を有効にする（ステップＳ３１０）。ＢＭＣ５００は、プロセッサ２０３に含まれていて有効にできるプロセッサコア３３１〜３３４のうち、最も番号が小さいプロセッサコア３３１を有効にする。
【０２３５】
この時、サーバ装置１００において、図１８に示すようにプロセッサ２０２の全てのプロセッサコアとプロセッサコア３３１が有効な状態となる。
【０２３６】
その後、ＢＭＣ５００は、入力欄６１２に入力された最大プロセッサコア数が、プロセッサ２０１〜２０４に含まれる有効なプロセッサコアの数よりも大きいか判断する（ステップＳ３１１）。
【０２３７】
ステップＳ３１１の段階では、最大プロセッサコア数が「５」に対し、有効なプロセッサコアの数は「５」なので、ＢＭＣ５００は、本処理を終了する。
【０２３８】
本実施形態の有効プロセッサコア配置装置を使用した場合、キャパシティ・オン・デマンド機能を有するサーバにおいて、プロセッサコアを有効または無効に設定する際に、ユーザは、物理的なプロセッサ番号やコア番号等のハードウェア・アーキテクチャを熟知していなくても、ソフトウェア・ライセンスの情報や、優先するサーバ装置の特性を入力するだけで、サーバのハードウェア・アーキテクチャや構成上の制限も考慮された、最適な有効プロセッサコア配置を設定することができる。
【０２３９】
特に、ハードウェアに関する保守契約を締結していない状態で運用開始後に有効プロセッサコアを増設するような場合は、初期導入時と異なりハードウェアベンダの構成支援を必ずしも受けられるとは限らないため、本発明のような容易な手順で最適な設定ができることは重要となる。
【０２４０】
本実施形態の有効プロセッサコア配置装置を使用した場合、入力されたソフトウェア・ライセンス情報により有効プロセッサソケット数や有効プロセッサコア数が設定されるため、設定の誤認によりソフトウェア・ライセンス違反を犯してしまうことを防止することができる。
【０２４１】
本実施形態の有効プロセッサコア配置装置を使用した場合、８０個以上ものプロセッサコアを有するようなサーバ装置の場合にも、１個１個のプロセッサコアを個別に有効または無効に設定する必要がなくなるため、有効または無効プロセッサコア設定にかかる時間を大幅に短縮することができる。
【０２４２】
実施形態２．
次に、本発明の第２の実施形態を説明する。図１９は、本発明による有効プロセッサコア配置装置の第２の実施形態の構成例を示すシステム構成図である。第１の実施形態の構成例と異なる点は、ＰＣＨ（Ｐｌａｔｆｏｒｍ  Ｃｏｎｔｒｏｌｌｅｒ  Ｈｕｂ）７００がプロセッサ２０１に接続されている点である。
【０２４３】
ＰＣＨ７００は、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポートやＢＩＯＳを格納するフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎ  Ｍｅｍｏｒｙ）などを接続するためのチップである。なお、ＰＣＨ７００は、プロセッサ２０１以外の他のプロセッサ２０２〜２０４に対して接続されていてもよい。
【０２４４】
ＰＣＨ７００が接続されているプロセッサ２０１には、最低１個のプロセッサコアが有効でなければならないという制約がある。この制約により、本実施形態の場合、図３のステップＳ１０１とステップＳ１０２、図１０のステップＳ２０１とステップＳ２０２、図１４のステップＳ３０１とステップＳ３０２の間に追加の処理が必要となる。その追加の処理について図２０を用いて説明する。
【０２４５】
なお、追加される処理は、優先するサーバ特性に依存せず同一である。ここでは、優先するサーバ特性としてラジオボタン６１３で「プロセッサ処理性能優先」が選択され、ＯＫボタン６１４が押下された場合について説明する。
【０２４６】
図２０は、第２の実施形態におけるサーバ装置１００の動作を示すフローチャートの一部である。ステップＳ１０１に続き、ＢＭＣ５００は、プロセッサ２０１に有効にできるプロセッサコアが存在するか判断する（ステップＳ４０１）。
【０２４７】
有効にできるプロセッサコアが存在しない場合（ステップＳ４０１のＮｏ）、ＰＣＨ７００が接続されているプロセッサ２０１は、最低１個のプロセッサコアが有効でなければならないという制約を満たすことができない。この場合、サーバ装置１００を動作させることはできないため、ＢＭＣ５００は、本処理を終了する。
【０２４８】
有効にできるプロセッサコアが存在する場合（ステップＳ４０１のＹｅｓ）、ＢＭＣ５００は、プロセッサ２０１のプロセッサコアを１個有効にする（ステップＳ４０２）。以上のステップＳ４０１、ステップＳ４０２が追加される処理となる。ステップＳ４０２以降、ＢＭＣ５００は、ステップＳ１０２へ処理を進める。
【０２４９】
実施形態３．
次に、本発明の第３の実施形態を説明する。なお、本発明の第３の実施形態におけるサーバ装置１００の構成例は、第１の実施形態における説明と同様なため説明を省略する。
【０２５０】
図２１は、本発明による有効プロセッサコア配置装置におけるオペレーティング・システムおよびアプリケーションの稼働例を示す説明図である。図２１に示すように、サーバ装置１００上でオペレーティング・システム８００が稼働している時のサーバ装置１００の動作について説明する。オペレーティング・システム８００上では、アプリケーション９０１とアプリケーション９０２が稼働している。
【０２５１】
オペレーティング・システム８００とアプリケーションは、それぞれソフトウェア・ライセンス情報を持っている。ＢＭＣ５００は、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）などのオペレーティング・システム８００と通信することができる標準的な手段を用いて、オペレーティング・システム８００やアプリケーションのライセンス情報を取得することができる。
【０２５２】
このため、ユーザは、有効プロセッサコア設定画面６１０を介して最大プロセッサソケット数および最大プロセッサコア数を入力する必要がない。よって、本実施形態における有効プロセッサコア設定画面６１０は、図２２に示すように、最大プロセッサソケット数の入力欄６１１と最大プロセッサコア数の入力欄６１２が除かれている。図２２は、本発明による有効プロセッサコア設定画面６１０の第２の表示例を示す説明図である。
【０２５３】
なお、オペレーティング・システム８００上で稼働するアプリケーションの数は、２個以外の任意の数でもよい。
【０２５４】
本実施形態の場合、図３のステップＳ１０１、図１０のステップＳ２０１、図１４のステップＳ３０１の前に追加の処理が必要となる。その追加の処理について図２３を用いて説明する。
【０２５５】
なお、追加される処理は、優先するサーバ特性に依存せず同一である。ここでは、優先するサーバ特性としてラジオボタン６１３で「プロセッサ処理性能優先」が選択され、ＯＫボタン６１４が押下された場合について説明する。
【０２５６】
図２３は、第３の実施形態におけるサーバ装置１００の動作を示すフローチャートの一部である。ＢＭＣ５００は、オペレーティング・システム８００と、アプリケーション９０１と、アプリケーション９０２からライセンス情報を取得する（ステップＳ５０１）。
【０２５７】
ＢＭＣ５００は、オペレーティング・システム８００、アプリケーション９０１およびアプリケーション９０２のすべてのソフトウェアにおいてライセンス違反とならない範囲で最大限にプロセッサソケットとプロセッサコアを利用できるように、取得した３つのライセンス情報の中から最小となる最大プロセッサソケット数と最大プロセッサコア数を検索する（ステップＳ５０２）。
【０２５８】
ＢＭＣ５００は、ステップＳ５０２で検索した最大プロセッサソケット数と最大プロセッサコア数を、入力欄６１１と入力欄６１２に入力される値の代わりに用いる。以上のステップＳ５０１、ステップＳ５０２が追加される処理となる。ステップＳ５０２以降、ＢＭＣ５００は、ステップＳ１０１へ処理を進める。
【０２５９】
本実施形態の有効プロセッサコア配置装置を使用した場合、ユーザは、ソフトウェア・ライセンス情報に基づいて有効プロセッサソケット数や有効プロセッサコア数を入力する必要がなくなる。また、ユーザは、容易にプロセッサコアを有効または無効に設定することができる。
【０２６０】
次に、本発明の概要を説明する。図２４は、有効プロセッサコア配置装置の概要を示すブロック図である。本発明による有効プロセッサコア配置装置１は、１つ以上のプロセッサコア３１１〜３１ｎ、３２１〜３２ｎ、３３１〜３３ｎ、３４１〜３４ｎ（プロセッサコア３１１〜３１４、３２１〜３２４、３３１〜３３４、３４１〜３４４に相当）を含む１つ以上のプロセッサ２１〜２４（プロセッサ２０１〜２０４に相当）と、最大プロセッサソケット数と、最大プロセッサコア数と、優先するサーバ特性を入力することができる有効プロセッサコア設定画面を表示する表示部５（例えば、表示装置６００）と、表示部５から入力された最大プロセッサソケット数、最大プロセッサコア数、優先するサーバ特性に基づき、有効プロセッサおよび有効プロセッサコアを決定する制御部４（例えば、ＢＭＣ５００）とを備えている。
【０２６１】
そのような構成により、ユーザは、この有効プロセッサコア配置装置を利用する場合、条件を指定すると有効プロセッサコアを最適に配置することができる。
【０２６２】
また、優先するサーバ特性は、プロセッサ処理性能でもよい。
【０２６３】
そのような構成により、有効なプロセッサコアの数の平準化を図ることができ、プロセッサ処理性能を高めることができる。
【０２６４】
また、優先するサーバ特性は、メモリレイテンシでもよい。
【０２６５】
そのような構成により、メモリとプロセッサコアとの間の平均ホップ数を最小にすることができ、メモリレイテンシを短くすることができる。
【０２６６】
また、優先するサーバ特性は、省電力でもよい。
【０２６７】
そのような構成により、有効なプロセッサコアが必要最小限の数のプロセッサに集約され、電力消費量を小さくすることができる。
【０２６８】
また、有効プロセッサコア配置装置１は、少なくとも１つのプロセッサがＰＣＨと接続しており、そのプロセッサの少なくとも１つのプロセッサコアを有効にしてもよい。
【符号の説明】
【０２６９】
１  有効プロセッサコア配置装置
２１〜２４  プロセッサ
３１１〜３１ｎ、３２１〜３２ｎ、３３１〜３３ｎ、３４１〜３４ｎ  プロセッサコア
４  制御部
５  表示部
１００  サーバ装置
２０１〜２０４  プロセッサ
３１１〜３４４  プロセッサコア
４０１〜４０２  メモリ
５００  ＢＭＣ
６００  表示装置
６１０  有効プロセッサコア設定画面
６１１  入力欄
６１２  入力欄
６１３  ラジオボタン
６１４  ＯＫボタン
６１５  キャンセルボタン
７００  ＰＣＨ
８００  オペレーティング・システム
９０１〜９０２  アプリケーション
【図１】
2014127059.tif 000003
【図２】
2014127059.tif 000004
【図３】
2014127059.tif 000005
【図４】
2014127059.tif 000006
【図５】
2014127059.tif 000007
【図６】
2014127059.tif 000008
【図７】
2014127059.tif 000009
【図８】
2014127059.tif 000010
【図９】
2014127059.tif 000011
【図１０】
2014127059.tif 000012
【図１１】
2014127059.tif 000013
【図１２】
2014127059.tif 000014
【図１３】
2014127059.tif 000015
【図１４】
2014127059.tif 000016
【図１５】
2014127059.tif 000017
【図１６】
2014127059.tif 000018
【図１７】
2014127059.tif 000019
【図１８】
2014127059.tif 000020
【図１９】
2014127059.tif 000021
【図２０】
2014127059.tif 000022
【図２１】
2014127059.tif 000023
【図２２】
2014127059.tif 000024
【図２３】
2014127059.tif 000025
【図２４】
2014127059.tif 000026
【図２５】
2014127059.tif 000027