(57)【特許請求の範囲】
【請求項１】
複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有し、
前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、
前記通信エミュレート手段は、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とするコンピュータシステム。
【請求項２】
ＢＭＣを更に有し、
前記通信インターフェースは、前記ＯＳと前記ＢＭＣとの通信を行うＢＭＣ通信インターフェースであり、
前記主記憶装置の一部に、
前記ＢＭＣ通信インターフェースとして使う通信エリアと、
前記通信エミュレート手段が前記ＢＭＣと通信して得たデータを置くキャッシュエリアとを有することを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記通信インターフェースは、前記ＢＭＣ通信インターフェースよりも高速なＢＭＣ通信専用インターフェースをさらに有することを特徴とする請求項２に記載のコンピュータシステム。
【請求項４】
前記ユーザが使用しないプロセッサコアは、ユーザにより指定可能であることを特徴とする請求項１から３のいずれか１項に記載のコンピュータシステム。
【請求項５】
前記ユーザが使用しないプロセッサコアは、予め設定された専用コアであることを特徴とする請求項１から３のいずれか１項に記載のコンピュータシステム。
【請求項６】
複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有するコンピュータシステムにおいて、
前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、
前記通信エミュレート手段が、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とするコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【請求項７】
前記コンピュータシステムは、ＢＭＣを更に有し、
前記通信インターフェースは、前記ＯＳと前記ＢＭＣとの通信を行うＢＭＣ通信インターフェースであり、
前記主記憶装置の一部に、
前記ＢＭＣ通信インターフェースとして使う通信エリアと、
前記通信エミュレート手段が前記ＢＭＣと通信して得たデータを置くキャッシュエリアとを有することを特徴とする請求項６に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【請求項８】
前記通信インターフェースは、前記ＢＭＣ通信インターフェースよりも高速なＢＭＣ通信専用インターフェースをさらに有することを特徴とする請求項７に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【請求項９】
前記ユーザが使用しないプロセッサコアは、ユーザにより指定可能であることを特徴とする請求項６から８のいずれか１項に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【請求項１０】
前記ユーザが使用しないプロセッサコアは、予め設定された専用コアであることを特徴とする請求項６から８のいずれか１項に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム及びその余剰コアを用いた通信エミュレート方法に係り、とくに複数のプロセッサコアを有するサーバ装置等のコンピュータシステムにおける余剰コアによるシステム性能改善方法に関する。
【背景技術】
【０００２】
近年のコンピュータシステムでは、ＯＳ（Operation System）は、ＢＩＯＳ（Basic Input/Output System）によって作られたＡＣＰＩ（Advanced Configuration and Power Interlace）情報によって、中央処理装置（ＣＰＵ：Central Processing Unit）、主記憶装置等の使用できるハードウエア（ＨＷ）装置を指定する。
【０００３】
例えば、図４のように複数のＣＰＵコア（プロセッサコア）１０と、主記憶装置２００と、ＡＣＰＩデータ２１が作られるＢＩＯＳ２０と、通信ドライバ３１を有するＯＳ３０とのほか、ＨＷ装置の管理を行うＢＭＣ（Baseboard Management Controller）装置１２０と、ＯＳ２０とＢＭＣ装置１２０との間を通信可能に接続するＢＭＣ通信インターフェース１１０とが搭載されたコンピュータシステムの場合、ＯＳ３０は、ＢＩＯＳ２０によって作られるＡＣＰＩデータ２１によって、ＣＰＵコア１０、主記憶装置２００やＢＭＣ通信インターフェース１１０などのＨＷ装置を設定する（図中の点線で囲んだ部分は、ＯＳ３０の支配下にあるＨＷ装置を示す）。
【０００４】
ここで、ＯＳとＢＭＣの接続を簡単に纏めると、図５（ａ）のようになる。図５（ａ）の例では、ＯＳが持つＢＭＣ通信手段１００と、ＢＭＣ通信インターフェース１１０と、ＢＭＣ１２０と、ＢＭＣ１２０を制御するファームウエア１２１と、ＣＰＵコア、主記憶装置などのＨＷ（ハードウエア）装置１３０とから構成される。
【０００５】
このような構成を有する関連技術のコンピュータシステムにおいて、ＯＳがＨＷ情報を取得するためのＩＰＭＩ（Intelligent Platform Management Interface）通信は、つぎのように動作する。
【０００６】
まず、ＯＳがＢＭＣ通信手段１００を使い、データをＢＭＣ通信インターフェース１１０に書き込む。ＢＭＣ通信手段１００は、ＩＰＭＩドライバ、ＢＭＣ通信インターフェース１１０には、ＫＣＳ（Keyboard Controller Style）インターフェースやＢＴ（one-Block Transfer）インターフェースなどが用いられる。
【０００７】
ＢＭＣ通信インターフェース１１０にデータが書き込まれると、ＢＭＣ装置１２０に割込みが発生、またはＢＭＣ装置１２０が通信インターフェースのステータスを監視して通信を始める。
【０００８】
通信データを受け取ったＢＭＣ装置１２０のファームウエア１２１は、ＢＭＣ通信インターフェース１１０のデータを読み取り、ＨＷ装置１３０からＨＷ情報を取得する。そして、ファームウエア１２１は、ＢＭＣ通信インターフェース１１０にＨＷ情報を書き込む。ＢＭＣ通信手段１００は、ＢＭＣ通信インターフェース１１０にＨＷ情報が書き込まれると、ＢＭＣ通信インターフェース１１０の受信データを受け取り、ＩＰＭＩ通信が終了する。
【０００９】
ＢＭＣ通信手段１００がデータ受信手段としてＢＭＣ通信インターフェース１１０を監視する方法を取っていた場合、ＯＳはその間待たされることとなる。ＢＭＣ通信手段１００がデータ受信手段として割込みを使う場合、受信割込みの発生によってロスが発生する。またサーバ管理ソフトウエア等のＩＰＭＩ通信データを表示するというユーザアプリケーションの処理は、一連の通信の間待たされることとなる。
【００１０】
そこで、このような場合のシステム改善の一例が特許文献１に記載されている。図５（ｂ）で示す関連技術のコンピュータシステムには、ＢＭＣ１２０内にキャッシュメモリ１２２と、ＢＭＣ制御用のファームウエア１２１とが設けられる。
【００１１】
このような構成を有するコンピュータシステムでは、ＨＷ装置１３０のデータを、ＢＭＣ制御用のファームウエア１２１が、同じくＢＭＣ１２０内に設けたキャッシュメモリ１２２にＨＷ情報を溜め込み、ＢＭＣ通信手段１００から通信に対し、速いレスポンスで応答する。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−２５１８９４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図５（ａ）に示す関連技術では、ＯＳの標準ドライバによる通信、例えばＢＭＣとのＩＰＭＩのような通信は、低速なインターフェースとＢＭＣファームウエア処理のため、時間が掛かり、システム全体の性能に影響する場合がある。
【００１４】
図５（ｂ）に示す関連技術では、ＢＭＣ１２０内にキャッシュメモリ１２２を追加、またはキャッシュ領域を確保しなければならない。これに伴い、システム全体がより高価になる等の課題がある。
【００１５】
本発明の目的は、上記の課題を解決し、システムの性能の向上ができ、安価に提供することができるコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００１６】
上記目的を達成するため、本発明に係るコンピュータシステムは、複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有し、前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、前記通信エミュレート手段は、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とする。
【００１７】
また、本発明に係るコンピュータシステムの余剰コアを用いた通信エミュレート方法は、複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有するコンピュータシステムにおいて、前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、前記通信エミュレート手段が、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、システムの性能の向上ができ、安価に提供することができるコンピュータシステムを提供することができる。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態に係るコンピュータシステムの全体構成を示す概略ブロック図である。
【図２】本発明の第１の実施の形態に係るコンピュータシステムのＯＳとＢＭＣとの接続に関する構成を示す概略ブロック図である。
【図３】本発明の第２の実施の形態に係るコンピュータシステムのＯＳとＢＭＣとの接続に関する構成を示す概略ブロック図である。
【図４】関連技術のコンピュータシステムの全体構成を示す概略ブロック図である。
【図５】（ａ）及び（ｂ）は、関連技術のコンピュータシステムのＯＳとＢＭＣとの接続に関する構成を示す概略ブロック図である。
【発明を実施するための形態】
【００２０】
次に、本発明に係るコンピュータシステム及びその余剰コアを用いた通信エミュレート方法の実施の形態について、図面を参照して詳細に説明する。
【００２１】
（第１の実施の形態）
次に、本発明の第１の実施の形態の構成について、図面を参照して詳細に説明する。
【００２２】
図１は、本実施の形態に係るコンピュータシステムの全体構成を示す。図１に示すコンピュータシステムは、例えばサーバ装置に適用されるもので、複数のＣＰＵコア（プロセッサコア）１０と、主記憶装置２００と、ＡＣＰＩデータ２１が作られるＢＩＯＳ２０と、通信ドライバ３１を有するＯＳ３０とのほか、ＣＰＵコア１０や主記憶装置２００等のＨＷ装置の管理を行うＢＭＣ（Baseboard Management Controller）装置１２０と、ＯＳ２０とＢＭＣ装置１２０との間を通信可能に接続するＢＭＣ通信インターフェース１１０とが搭載されている。
【００２３】
本実施の形態では、エミュレートモジュール２２は、複数のＣＰＵコア１０の内、ユーザが使用しないＣＰＵコア（余剰ＣＰＵコア又は余剰コア）を、ＯＳ３０の支配下に置かずにＢＩＯＳ２０が自由に使用できる専用ＣＰＵコア１１として使用する（図中の点線で囲んだ部分は、ＯＳ３０の支配下にあるＨＷ装置であり、それ以外の部分はＯＳ３０の支配下にないＨＷ装置を示す）。また、主記憶装置２００の一部を、ＢＭＣ通信インターフェース１１０の代わりの通信領域２１０として使用している。
【００２４】
ユーザが使用しないＣＰＵコア１１は、ユーザにより指定可能となっている。例えば、コンピュータシステムが備える表示装置（非図示）の画面上に表示されるＢＩＯＳ２０のセットアップ画面（非図示）から、該当するＣＰＵコア１１の有効（使用可）／無効（使用不可）状態に関する設定値を無効状態に関する設定値に変更する等のユーザ操作により行なわれる。或いは、ＢＩＯＳ２０との間で設定データのやり取りが可能な管理ユーティリティ等の所定の管理ソフトウエア（非図示）を用いて、上記と同様の該当するＣＰＵコア１１を無効（使用不可）状態にする設定を行い、その設定データをＢＩＯＳ２０へ送りその設定値に反映させる等のユーザ操作により行われる。
【００２５】
ＢＩＯＳ２０の中には、ＢＭＣ通信インターフェース１１０をエミュレートする機能を持つエミュレートモジュール２２が設けられている。
【００２６】
これにより、ユーザによって指定されたＣＰＵコア１１をＯＳ３０に見せずに、そのＣＰＵコア１１のＣＰＵがＢＩＯＳ２０のエミュレートモジュール２２を実行させることにより、ＢＭＣ通信インターフェース１１０をエミュレートする機能を実現することが可能になっている。
【００２７】
図２は、図１に示すコンピュータシステムのＯＳとＢＭＣとの接続に関する要部構成を示す。
【００２８】
図２を参照すると、本実施の形態に係るコンピュータシステムは、ＣＰＵコア１０のＣＰＵによって実行されるＯＳ上の通信ドライバ（図１の通信ドライバ３１に対応する。）を用いたプログラム制御で動作するＢＭＣ通信手段１００と、ＯＳとＢＭＣ装置１２０との間を通信可能に接続するＢＭＣ通信インターフェース１１０と、ＣＰＵコアや主記憶装置２００等のＨＷ装置１３０の管理を行うＢＭＣ装置１２０と、ＣＰＵコアや主記憶装置２００等のＨＷ装置１３０と、主記憶装置２００と、ユーザが使用しないＣＰＵコア１１のＣＰＵによって実行されるＢＩＯＳの中に設けたエミュレートモジュール（図１のエミュレートモジュール２２に対応する。）を用いたプログラム制御で動作する通信エミュレート手段２１０とから構成されている。
【００２９】
主記憶装置２００の一部は、ＢＭＣ通信手段１００がＢＭＣ通信インターフェースとして使う通信エリア２０１と、通信エミュレート手段２１０がＢＭＣ１２０と通信して得たデータを置くキャッシュエリア２０２とを含んでいる。
【００３０】
ＢＩＯＳは、上述したようにユーザから複数のＣＰＵコアの内の一部のＣＰＵコアを使用しない指定がされると、ＡＣＰＩデータとして、そのユーザが使用しないＣＰＵコアを、ＯＳの支配下に置かずにＢＩＯＳが自由に使用できるＣＰＵコアとして設定する。これにより、ユーザが使用しないＣＰＵコアを、ＢＭＣ通信インターフェース１１０をエミュレートする通信エミュレート手段２１０で用いる専用ＣＰＵコアとする。また同じくＡＣＰＩデータとして、主記憶装置２００の一部をＢＭＣ通信インターフェース１１０の代わりの通信領域（図１の通信領域２１０に対応する。）である通信エリア２０１とキャッシュエリア２０２とを設定する。
【００３１】
次に、図２を参照して、本実施の形態の動作について詳細に説明する。
【００３２】
まず、通信エミュレート手段２１０は、ＨＷ装置１３０のデータ取得、例えばＩＰＭＩ通信のセンサーリーディングのようなその時の動作に関係しない通信を、ＢＭＣ通信インターフェース１１０を通して専用ＣＰＵコアで実行してデータをキャッシュエリア２０２に蓄えておく。
【００３３】
次に、ＢＭＣ通信手段１００によって、ＨＷ制御装置のデータを取得するセンサーリーディングが実行されると、ＡＣＰＩによって指定された通信エリア２０１に通信データが書き込まれる。通信エミュレート手段２１０は、通信エリア２０１を監視しており、蓄えていたキャッシュエリア２０２のデータを使って通信を完了させる。
【００３４】
次に、本実施の形態の効果について説明する。
【００３５】
本実施の形態では、通信エミュレート手段２１０が常にセンサーリーディングのデータなどを読み出し、主記憶装置２００に蓄えているため、ＢＭＣ装置１２０がＨＷ装置１３０からデータを取ってくるより早く通信を終わらせることができる。通信が早く終わるため、ドライバの動作時間を短くすることができ、受信のための割込みを使わなくて済むことから、コンピュータシステムとして性能の向上が期待できる。また、サーバ管理ソフトウエアのレスポンスを良くすることができる。
【００３６】
以上の効果は、次の２つに集約される。
【００３７】
第１の効果は、システム性能の向上ができること、サーバ管理ソフトウエアのレスポンスが良くなることにある。その理由は、ドライバによるＢＭＣ通信が早く終わるため、処理時間が短くなるためである。
【００３８】
第２の効果は、安価に提供できることである。その理由は、ユーザの使わないＣＰＵコア１１と主記憶装置２００の一部を使ってエミュレートモジュール２２を動作させているためである。また、ＢＩＯＳ２０以外に変更が必要ないためである。
【００３９】
（第２の実施の形態）
次に、本発明の第２の実施の形態の構成について図面を参照して詳細に説明する。
【００４０】
図３を参照すると、本実施の形態に係るコンピュータシステムは、図２に示す第１の実施の形態の構成、すなわちＢＭＣ通信手段１００、ＢＭＣ通信インターフェース１１０、ＢＭＣ装置１２０、ＨＷ装置１３０、主記憶装置２００、通信エミュレート手段２１０に加え、ＢＭＣ通信専用インターフェース３００から構成される。
【００４１】
本実施の形態によれば、ＢＭＣ通信インターフェースは低速なものが多いため、高速なＢＭＣ通信専用インターフェース３００を用いることによって、大量なデータ通信時のレスポンスの向上や、データを蓄える必要のないＢＭＣ通信を行うことができるようになる。
【００４２】
上記の各実施の形態では、ＢＩＯＳの中に通信インターフェースをエミュレートする機能を持ち、ユーザによって指定されたＣＰＵコアをＯＳに見せずに、通信をエミュレートする機能を実行している。このようにプロセッサの余剰コアによってシステム性能を向上させることができる。
【００４３】
なお、上記の各実施の形態は、ＢＭＣ通信を例にしているが、ＡＣＰＩ、ＳＭＢＩＯＳ（System Management BIOS）のようなＢＩＯＳが制御できる制御全般に適用できる。
【００４４】
また、本発明はＣＰＵコアをユーザが使用しない場合に適用できるが、製品定義として専用コアを設けるといった場合にも適用可能である。
【００４５】
上記の各実施の形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限定されない。
【００４６】
（付記１）複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有し、前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、前記通信エミュレート手段は、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とするコンピュータシステム。
【００４７】
（付記２）ＢＭＣを更に有し、前記通信インターフェースは、前記ＯＳと前記ＢＭＣとの通信を行うＢＭＣ通信インターフェースであり、前記主記憶装置の一部に、前記ＢＭＣ通信インターフェースとして使う通信エリアと、前記通信エミュレート手段が前記ＢＭＣと通信して得たデータを置くキャッシュエリアとを有することを特徴とする付記１に記載のコンピュータシステム。
【００４８】
（付記３）前記通信インターフェースは、前記ＢＭＣ通信インターフェースよりも高速なＢＭＣ通信専用インターフェースをさらに有することを特徴とする付記２に記載のコンピュータシステム。
【００４９】
（付記４）前記ユーザが使用しないプロセッサコアは、ユーザにより指定可能であることを特徴とする付記１から３のいずれか１項に記載のコンピュータシステム。
【００５０】
（付記５）前記ユーザが使用しないプロセッサコアは、予め設定された専用コアであることを特徴とする付記１から３のいずれか１項に記載のコンピュータシステム。
【００５１】
（付記６）複数のプロセッサコア、主記憶装置、通信インターフェース、ＯＳ、及びＢＩＯＳを有するコンピュータシステムにおいて、前記ＢＩＯＳの中に、前記通信インターフェースをエミュレートする通信エミュレート手段を有し、前記通信エミュレート手段が、前記複数のＣＰＵコアの内のユーザが使用しないプロセッサコアを前記ＯＳの支配下に置かずに前記ＢＩＯＳが自由に使用できる専用コアとして使用すると共に、前記主記憶装置の一部を前記通信インターフェースの代わりの通信領域として使用することにより、前記通信インターフェースをエミュレートすることを特徴とするコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【００５２】
（付記７）前記コンピュータシステムは、ＢＭＣを更に有し、前記通信インターフェースは、前記ＯＳと前記ＢＭＣとの通信を行うＢＭＣ通信インターフェースであり、前記主記憶装置の一部に、前記ＢＭＣ通信インターフェースとして使う通信エリアと、前記通信エミュレート手段が前記ＢＭＣと通信して得たデータを置くキャッシュエリアとを有することを特徴とする付記６に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【００５３】
（付記８）前記通信インターフェースは、前記ＢＭＣ通信インターフェースよりも高速なＢＭＣ通信専用インターフェースをさらに有することを特徴とする付記７に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【００５４】
（付記９）前記ユーザが使用しないプロセッサコアは、ユーザにより指定可能であることを特徴とする付記６から８のいずれか１項に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【００５５】
（付記１０）前記ユーザが使用しないプロセッサコアは、予め設定された専用コアであることを特徴とする付記６から８のいずれか１項に記載のコンピュータシステムの余剰コアを用いた通信エミュレート方法。
【００５６】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【産業上の利用可能性】
【００５７】
以上説明したように、本発明は、複数のプロセッサコアを有するサーバ装置等のコンピュータシステムに利用可能である。
【符号の説明】
【００５８】
１０  ＣＰＵコア
１１  ユーザが使用しないＣＰＵコア
３０  ＢＩＯＳ
３１  ＡＣＰＩデータ
３２  エミュレートモジュール
４０  ＯＳ
４１  通信ドライバ
１００  ＢＭＣ通信手段
１１０  ＢＭＣ通信インターフェース
１２０  ＢＭＣ装置
１３０  ＨＷ装置
２００  主記憶装置
２０１  通信エリア
２０２  キャッシュエリア
２１０  通信エミュレート手段
３００  ＢＭＣ通信専用インターフェース
【図１】
0005459549.tif 000002
【図２】
0005459549.tif 000003
【図３】
0005459549.tif 000004
【図４】
0005459549.tif 000005
【図５】
0005459549.tif 000006