(57)【要約】【課題】マルチプロセッサシステム全体としては各クラスへのＣＰＵリソースの配分比率を維持した状態で、各クラスへのＣＰＵリソースの配分比率を動的に効率的に調整する。【解決手段】本願発明のリソース管理装置は、プロセスが所属するクラス対応に、割り当て可能な中央処理装置の全処理能力に対する割合の上限値を格納する記憶手段と、クラスごとに上述の割合を測定する測定手段と、測定値が上限値に達したクラスのプロセスへの割り当てを行わない実行制御手段と、第一の中央処理装置において、第一のクラスのリソース使用率が上限値に達した場合、第一の中央処理装置における第一のクラス及び所定の基準で選択した第二のクラスの上限値を、それぞれ、所定の調整値を加算及び減算した値に変更し、所定の基準で選択した第二の中央処理装置における第一及び第二のクラスの上限値を、それぞれ、調整値を減算及び加算した値に変更する変更手段と、を備える。【選択図】      図１
2014178963.tif 000002
【特許請求の範囲】
【請求項１】
プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を格納する記憶手段と、
前記クラスごとに前記割合を測定する測定手段と、
前記プロセスに前記中央処理装置を割り当てる手段であって、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わない実行制御手段と、
複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する変更手段と、
を備えるリソース管理装置。
【請求項２】
前記測定値を入手して、複数の前記中央処理装置の中で、前記第一のクラスに関して、前記上限値と前記測定値の差分であるリソース未使用率の値を前記測定値で割った値である未使用比率が、最も大きなものを前記第二の中央処理装置として選択し、前記第一の中央処理装置において、複数の前記クラスの中で、前記未使用比率が、最も大きなものを前記第二のクラスとして選択し、選択した前記第二の中央処理装置と前記第二のクラスの識別情報を前記変更手段へ出力する調整手段をさらに備える、
請求項１のリソース管理装置。
【請求項３】
前記調整手段は、前記第一のクラスに関する、前記第一、及び、前記第二の中央処理装置の前記リソース使用率の測定値の比率と、前記第二の中央処理装置の前記リソース未使用率の値を基に、前記調整値を算出して、前記変更手段へ出力する、
請求項２のリソース管理装置。
【請求項４】
前記記憶手段は、前記クラスの各々の実行待ちプロセス数を対応付けてさらに記憶し、
前記測定手段の測定値を入手して、複数の前記中央処理装置の中で、前記第一のクラスに関して、前記上限値と前記測定値の差分であるリソース未使用率の値を前記実行待ちプロセス数で割った値であるプロセス単位未使用率が、最も大きなものを前記第二の中央処理装置として選択し、前記第一の中央処理装置において、複数の前記クラスの中で、前記プロセス単位未使用率が、最も大きなものを前記第二のクラスとして選択し、選択した前記第二の中央処理装置と前記第二のクラスの識別情報を前記変更手段へ出力する調整手段をさらに備える、
請求項１のリソース管理装置。
【請求項５】
前記調整手段は、前記第一のクラスに関する、前記第一、及び、前記第二の中央処理装置の前記実行待ちプロセスの数の比率と、前記第二の中央処理装置の前記リソース未使用率の値を基に、前記調整値を算出して、前記変更手段へ出力する、
請求項４のリソース管理装置。
【請求項６】
請求項１乃至５のリソース管理装置と、複数の前記中央処理装置と、を包含する、リソース管理システム。
【請求項７】
プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を記憶域に格納し、
前記クラスごとに前記割合を測定し、
前記プロセスへの前記中央処理装置の割り当てにおいて、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わないようにし、
複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する、
リソース管理方法。
【請求項８】
前記測定値を入手して、複数の前記中央処理装置の中で、前記第一のクラスに関して、前記上限値と前記測定値の差分であるリソース未使用率の値を前記測定値で割った値である未使用比率が、最も大きなものを前記第二の中央処理装置として選択し、前記第一の中央処理装置において、複数の前記クラスの中で、前記未使用比率が、最も大きなものを前記第二のクラスとして選択する、
請求項７のリソース管理方法。
【請求項９】
プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を記憶域に格納する記憶処理と、
前記クラスごとに前記割合を測定する測定処理と、
前記プロセスに前記中央処理装置を割り当て処理であって、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わない実行制御処理と、
複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する変更処理と、
をコンピュータに実行させるリソース管理プログラム。
【請求項１０】
前記測定値を入手して、複数の前記中央処理装置の中で、前記第一のクラスに関して、前記上限値と前記測定値の差分であるリソース未使用率の値を前記測定値で割った値である未使用比率が、最も大きなものを前記第二の中央処理装置として選択し、前記第一の中央処理装置において、複数の前記クラスの中で、前記未使用比率が、最も大きなものを前記第二のクラスとして選択し、選択した前記第二の中央処理装置と前記第二のクラスの識別情報を前記変更処理へ出力する調整処理
をコンピュータに実行させる請求項９のリソース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、ワークロードクラスが設定されたマルチプロセッサシステムにおいて、各プロセッサにおける各ワークロードクラスに対するリソース配分を行うためのリソース管理装置、リソース管理システム、リソース管理方法、及び、リソース管理プログラムに関する。
【背景技術】
【０００２】
近年のコンピュータシステムにおいては、システム管理者が、プロセスが属するクラスであるワークロードクラスを設定し、ワークロードクラス毎に利用可能なＣＰＵリソースを割り当てることが行われる。このようなコンピュータシステムでは、各ワークロードクラスに対するリソース配分を上手く行わないと、システム性能が大きく低下し、システムの運用に支障をきたすことがあるため、これまでにも、各ワークロードクラスに対するリソース配分を工夫して行うための技術が開示されている
このような技術として、特許文献１には、ワークロードクラスの定め方によらず、ＣＰＵリソース配分時間を使い切っていない状態で、共有資源の解放待ちのまま、ＣＰＵ資源を使用することができない状態に陥ることを防止し、資源確保プロセスを強制実行してＣＰＵリソース配分比率からのずれを抑えるようにした装置が公開されている。
【０００３】
また、特許文献２には、ワークロードクラスごとにＣＰＵリソースの配分率を定めておき、所定の時間間隔で所定の割り込み処理の有無を判別し、所定の割り込み処理がある場合、当該割り込み処理のワークロードクラスのＣＰＵリソースの配分率にしたがって、当該割り込み処理にＣＰＵリソースを割り当てるようにしたシステムが公開されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2009-211386号公報
【特許文献２】特開2008-225641号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
マルチプロセッサシステムにおけるいずれかのプロセッサが、何れかのワークロードクラスに配分されたＣＰＵリソースを使い切ってしまった場合、他のプロセッサにおいて、当該ワークロードクラスに配分されたＣＰＵリソースに空きがあれば、そのＣＰＵリソースを使用して、当該ワークロードクラスに属する実行待ちのプロセスを実行することができる。このとき、実行待ちのプロセスを、当該ワークロードクラスに配分されたＣＰＵリソースに空きがあるプロセッサに移すことを行うと、プロセスの移動のための時間がかかることになり、システム性能の低下の原因となる。
【０００６】
また、上述の問題が発生したプロセッサにおいて、ＣＰＵリソースを使い切ってしまったワークロードクラスのＣＰＵリソースの配分を増加させた場合、システム全体としての各ワークロードクラスへのＣＰＵリソースの配分比率が、本来の設定値から変わることとなり、システム性能に影響を与える可能性がある。
【０００７】
前述の特許文献１乃至２は、上述の問題を解決するための技術に関しては、特に言及していない。
【０００８】
本願発明の目的は、上述の問題を解決した、リソース管理装置、リソース管理システム、リソース管理方法、及び、リソース管理プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本願発明の一実施形態のリソース管理装置は、プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を格納する記憶手段と、前記クラスごとに前記割合を測定する測定手段と、前記プロセスに前記中央処理装置を割り当てる手段であって、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わない実行制御手段と、複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する変更手段と、を備える。
【００１０】
本願発明の一実施形態のリソース管理方法は、プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を記憶域に格納し、前記クラスごとに前記割合を測定し、前記プロセスへの前記中央処理装置の割り当てにおいて、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わないようにし、複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する。
【００１１】
本願発明の一実施形態のリソース管理プログラムは、プロセスが所属するクラス対応に、当該クラスの前記プロセスに割り当て可能な中央処理装置の全処理能力に対する割合の上限値を記憶域に格納する記憶処理と、前記クラスごとに前記割合を測定する測定処理と、前記プロセスに前記中央処理装置を割り当て処理であって、前記測定値が前記上限値に達した前記クラスの前記プロセスへの割り当てを行わない実行制御処理と、複数の前記中央処理装置のいずれかである、第一の中央処理装置において、複数の前記クラスのいずれかである、第一のクラスの前記リソース使用率が、前記上限値に達した場合、前記第一の中央処理装置における前記第一のクラス、及び、所定の基準で複数の前記クラスの中から選択した第二のクラスの前記上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更し、所定の基準で前記複数の中央処理装置の中から選択した第二の中央処理装置における前記第一、及び、前記第二のクラスの前記上限値を、それぞれ、前記調整値を減算、及び、加算した値に変更する変更処理と、をコンピュータに実行させる。
【発明の効果】
【００１２】
本願発明は、マルチプロセッサシステム全体としては、各ワークロードクラスへのＣＰＵリソースの配分比率を維持した状態で、一部プロセッサの間で各ワークロードクラスへのＣＰＵリソースの配分比率を動的に調整して、ＣＰＵリソースを効率的に再配分することを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本願発明の第１の実施形態のリソース管理システムの構成を示すブロック図である。
【図２】本願発明の第１の実施形態の動作を示すフローチャートである。
【図３】本願発明の第１の実施形態におけるリソース管理テーブルの構成例である。
【図４】本願発明の第２の実施形態におけるリソース管理テーブルの構成例である。
【図５】本願発明の第３の実施形態のリソース管理装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
本願発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は本実施形態のリソース管理システム１の構成を示すブロック図である。本実施形態のリソース管理システム１は、リソース管理装置１０と、中央処理装置２０−１乃至２０−ｎと、を包含している。
【００１６】
中央処理装置２０−１乃至２０−ｎは、いずれかのワークロードクラスに属するプロセスを実行する。各プロセスが属するワークロードクラスは、当該プロセスの実行を指示したユーザにより設定される。中央処理装置２０−１乃至２０−ｎは、互いを接続するバスに接続されたグローバルメモリ（図示せず）を介して、互いのデータを共有する。
【００１７】
リソース管理装置１０は、中央処理装置２０−１乃至２０−ｎの各々について、ワークロードクラスごとの、中央処理装置の全処理能力に対する処理能力の使用割合であるリソース使用率の状況を把握して、中央処理装置２０−１乃至２０−ｎ間で、リソース使用率の上限値の調整を行う。
【００１８】
リソース管理装置１０は、実行制御部１１−１乃至１１−ｎと、記憶部１２−１乃至１２−ｎと、測定部１３−１乃至１３−ｎと、変更部１４−１乃至１４−ｎと、調整部１５と、を包含している。実行制御部１１−１乃至１１−ｎ、測定部１３−１乃至１３−ｎ、変更部１４−１乃至１４−ｎ、及び、調整部１５は、電子回路の場合もあれば、コンピュータプログラムの場合もある。記憶部１２−１乃至１２−ｎは、電子回路、あるいは、コンピュータプログラムによりアクセス制御される電子メモリ等の記憶回路である。
【００１９】
測定部１３−１乃至１３−ｎは、それぞれ、中央処理装置２０−１乃至２０−ｎについて、ワークロードクラスごとのリソース使用率を測定して、測定結果をそれぞれ、記憶部１２−１乃至１２−ｎにおけるリソース管理テーブル１２０−１乃至１２０−ｎに格納する。測定部１３−１乃至１３−ｎは、所定のインターバルにおける、それぞれのワークロードクラスのプロセスの実行時間が占める割合を基に、リソース使用率を測定する。
【００２０】
実行制御部１１−１乃至１１−ｎは、何れかのワークロードクラスに属する実行待ちのプロセスに対して、それぞれ、中央処理装置２０−１乃至２０−ｎを割り当てる。実行制御部１１−１乃至１１−ｎは、それぞれ、リソース管理テーブル１２０−１乃至１２０−ｎを参照し、何れかのワークロードクラスのリソース使用率が、リソース使用率上限値に達していた場合は、当該クラスに属する実行待ちのプロセスへの中央処理装置の割り当てを保留する。
【００２１】
調整部１５は、リソース管理テーブル１２０−１乃至１２０−ｎを参照し、中央処理装置２０−１乃至２０−ｎにおける、ワークロードクラスごとのリソース使用率の上限値の調整値を算出する。
【００２２】
本実施形態におけるリソース管理テーブル１２０−ｉ、及び、１２０−ｊ（ｉ、及び、ｊは１乃至ｎのいずれかの整数）の構成例を図３に示す。
【００２３】
リソース管理テーブル１２０−ｉ、及び、１２０−ｊは、ぞれぞれ、中央処理装置２０−ｉ、及び、２０−ｊにおけるワークロードクラスごとの、測定部１３−ｉ及び１３−ｊが測定したリソース使用率測定値と、リソース使用率上限値の値を格納している。図３の例で示すリソース管理システム１では、３つのワークロードクラスであるクラスＡ乃至Ｃが設定されている。
【００２４】
図３におけるリソース使用率上限値変更前の状態では、中央処理装置２０−ｉ、及び、２０−ｊにおけるクラスＡ乃至Ｃのリソース使用率測定値は、それぞれ、５０％、１０％、１０％であり、リソース使用率上限値は、それぞれ、５０％、３０％、２０％である。
【００２５】
調整部１５は、中央処理装置２０−１乃至２０−ｎのいずれかにおいて、クラスＡ乃至Ｃのいずれかのワークロードクラスについて、リソース使用率測定値がリソース使用率上限値に達した場合、ワークロードクラスごとのリソース使用率の上限値の調整値の算出を開始する。図３の例では、中央処理装置２０−ｉのクラスＡで、リソース使用率測定値がリソース使用率上限値の５０％に達している。
【００２６】
調整部１５は、中央処理装置２０−ｉを除く中央処理装置２０−１乃至２０−ｎの中で、クラスＡについて、リソース使用率上限値からリソース使用率測定値を引いたリソース未使用率をリソース使用率で割った値であるリソース未使用比率が最大であるものをサーチし、中央処理装置２０−ｊを選択する。尚、中央処理装置２０−ｊにおけるクラスＡのリソース未使用率は２０％、リソース未使用比率は０．６７となる。
【００２７】
調整部１５は、リソース管理テーブル１２０−ｉを参照し、中央処理装置２０−ｉにおけるクラスＢ乃至Ｃの中で、上述のリソース未使用比率が最大であるものをサーチする。図３の例の場合、中央処理装置２０−ｉにおけるクラスＢ乃至Ｃのリソース未使用比率は、上述と同様の計算で、ぞれぞれ、２、及び、１となるため、調整部１５は、クラスＢを選択する。
【００２８】
調整部１５は、リソース管理テーブル１２０−ｉ、及び、１２０−ｊの値から、クラスＡについて、中央処理装置２０−ｉのリソース使用率測定値を、中央処理装置２０−ｉ及び２０−ｊのリソース使用率測定値の和で割った値に、中央処理装置２０−ｊのリソース未使用率を掛けた値を、リソース使用率上限値の調整値として算出する。図３の例では、クラスＡについて、中央処理装置２０−ｉのリソース使用率測定値は５０％、中央処理装置２０−ｉ及び２０−ｊのリソース使用率測定値の和は８０％、中央処理装置２０−ｊのリソース未使用率は２０％である。したがって、調整部１５が算出したリソース使用率上限値の調整値の値は、上述の計算の結果、１２．５％となる。
【００２９】
調整部１５は、変更部１４−ｉに対して、クラスＡのリソース使用率上限値を、１２．５％加算した値に更新し、クラスＢのリソース使用率上限値を、１２．５％減算した値に更新するように指示する。調整部１５は、変更部１４−ｊに対して、クラスＡのリソース使用率上限値を、１２．５％減算した値に更新し、クラスＢのリソース使用率上限値を、１２．５％加算した値に更新するように指示する。
【００３０】
変更部１４−１乃至１４−ｎは、調整部１５から受信した指示に基づいて、それぞれ、リソース管理テーブル１２０−１乃至１２０−ｎの各ワークロードクラスのリソース使用率の上限値を更新する。図３の例の場合、変更部１４−ｉは、クラスＡのリソース使用率上限値を、５０％に１２．５％を加算した６２．５％に更新し、クラスＢのリソース使用率上限値を、３０％から１２．５％を減算した１７．５％に更新する。変更部１４−ｊは、クラスＡのリソース使用率上限値を、５０％から１２．５％を減算した３７．５％に更新し、クラスＢのリソース使用率上限値を、３０％に１２．５％を加算した４２．５％に更新する。
【００３１】
尚、クラスＡ乃至Ｃの、中央処理装置２０−ｉ及び２０−ｊのリソース使用率上限値の合計値の比は、リソース管理装置１０が上述のリソース使用率上限値の変更処理を行った前後とも、５：３：２であり、一定である。
【００３２】
次に図２のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００３３】
測定部１３−１乃至１３−ｎは、それぞれ、中央処理装置２０−１乃至２０−ｎにおけるクラス別のリソース使用率を測定し、測定結果を記憶部１２−１乃至１２−ｎにおけるリソース管理テーブル１２０−１乃至１２０−ｎに格納する（Ｓ１０１）。
【００３４】
中央処理装置２０−ｉのクラスＸ（Ｘは、Ａ、Ｂ、Ｃのいずれか）で、リソース使用率が上限値に達していない場合（Ｓ１０２でＮｏ）、実行制御部１１−ｉは、クラスＸに属する実行待ちのプロセスへ中央処理装置２０−ｉを割り当て（Ｓ１０９）、全体の処理は終了する。
【００３５】
中央処理装置２０−ｉのクラスＸ（Ｘは、Ａ、Ｂ、Ｃのいずれか）で、リソース使用率が上限値に達した場合（Ｓ１０２でＹｅｓ）、実行制御部１１−ｉは、クラスＸに属する実行待ちのプロセスへの中央処理装置２０−ｉの割り当てを保留する（Ｓ１０３）。調整部１５は、リソース管理テーブル１２０−１乃至１２０−ｎを参照し、全中央処理装置の中で、クラスＸについて、リソース未使用率をリソース使用率測定値で割った値が、最も大きな中央処理装置２０−ｊを選択する（Ｓ１０４）。
【００３６】
調整部１５は、リソース管理テーブル１２０−ｉを参照し、全クラスの中で、リソース未使用率をリソース使用率測定値で割った値が、最も大きなクラスＹ（ＹはＸを除くＡ，Ｂ，Ｃのいずれか）を選択する（Ｓ１０５）。
【００３７】
調整部１５は、リソース管理テーブル１２０−ｉ及び１２０−ｊを参照し、クラスＸについて、中央処理装置２０−ｉのリソース使用率測定値を、中央処理装置２０−ｉ及び２０−ｊのリソース使用率測定値の和で割った値に、中央処理装置２０−ｊのリソース未使用率を掛けた値を調整値として算出し、クラスＸ及びＹに関するリソース使用率上限値の調整指示を、変更部１４−ｉ及び１４−ｊへ送信する（Ｓ１０６）。
【００３８】
変更部１４−ｉは、リソース管理テーブル１２０−ｉにおける、クラスＸのリソース使用率上限値を調整値を加算した値に更新し、クラスＹのリソース使用率上限値を調整値を減算した値に更新する（Ｓ１０７）。変更部１４−ｊは、リソース管理テーブル１２０−ｊにおける、クラスＸのシソース使用率上限値を調整値を減算した値に更新し、クラスＹのリソース使用率上限値を調整値を加算した値に更新する（Ｓ１０８）。実行制御部１１−ｉは、クラスＸに属する実行待ちのプロセスへ中央処理装置２０−ｉを割り当て（Ｓ１０９）、
全体の処理は終了する。
【００３９】
本実施形態には、システム全体としては、各ワークロードクラスへのＣＰＵリソースの配分比率を維持した状態で、一部中央処理装置について各ワークロードクラスへのＣＰＵリソースの配分比率を動的に調整して、ＣＰＵリソースを効率的に配分する効果がある。その理由は、中央処理装置２０−ｉのクラスＸで、リソース使用率が上限値に達すると、調整部１５が、クラスＸについてＣＰＵリソースに余裕がある中央処理装置２０−ｊ、及び、中央処理装置２０−ｉにおいてＣＰＵリソースに余裕があるクラスＹを選択する。そして、調整部１５は、システム全体としては、クラスＸ及びＹのＣＰＵリソースの配分比率を維持した状態で、中央処理装置２０−ｉのクラスＸのリソース使用率上限値が上がるように、中央処理装置２０−ｉ及び２０−ｊに関するクラスＸ及びＹのリソース使用率上限値を、更新部１４−ｉ及び１４−ｊに更新させるからである。
【００４０】
マルチプロセッサシステムにおける何れかのプロセッサにおいて、何れかのワークロードクラスのリソース使用率が上限値に達した場合、当該プロセッサにおける当該ワークロードクラスで実行待ちの状態にあるプロセスにリソースを割り当てることができなくなる。前述の実行待ちのプロセスを、当該ワークロードクラスのリソース使用率に余裕がある他のプロセッサへ移動させると、プロセス移動の処理が発生するため、システム性能が低下する要因となる。
【００４１】
また、当該プロセッサの当該ワークロードクラスのリソース使用率上限値を単純に上げることのみを行うと、システム全体としての各ワークロードクラスへのＣＰＵリソースの配分比率が、初期設定値からずれることになる。各ワークロードクラスへのＣＰＵリソースの配分比率は、通常、システム性能上最適な値になるように初期設定されているため、ＣＰＵリソースの配分比率が初期設定値からずれると、その後のシステム性能の低下の要因となる。
【００４２】
本実施形態では、リソース管理装置１０が、システム全体としては、各ワークロードクラスへのＣＰＵリソースの配分比率の初期設定値を維持した状態で、リソース使用率が上限値に達したプロセッサのワークロードクラスの上限値を上げるため、上述のシステム性能の低下の要因を回避して、ＣＰＵリソースを効率的に再配分することが可能となる。
【００４３】
また、本実施形態では、調整部１５がクラスＸについて、複数の中央処理装置の中からＣＰＵリソースに余裕がある中央処理装置２０−ｊを選択する基準として、上述のリソース未使用比率が最大のものとしている。調整部１５が中央処理装置２０−ｉにおいて、複数のワークロードクラスの中からＣＰＵリソースに余裕があるクラスＹを選択する基準も、同様にリソース未使用比率が最大のものである。
【００４４】
すなわち、調整部１５は、中央処理装置２０−ｉにおけるクラスＸのリソース使用率上限値を上げるために、リソース使用率上限値の調整を行う対象として、リソース使用率上限値を下げても影響が最も小さい中央処理装置及びワークロードクラスを選択する。したがって、リソース管理装置１０は、システム性能への影響を極力抑えながら、リソース使用率上限値の調整を行うことを可能とする。
【００４５】
そして、調整部１５は、リソース使用率上限値の調整値として、中央処理装置２０−ｊにおけるクラスＸのリソース未使用率を、中央処理装置２０−ｉ及び２０−ｊのリソース使用率測定値の比率で分配したときの、中央処理装置２０−ｉの持分の値としている。
【００４６】
すなわち、調整部１５は、クラスＸに関する中央処理装置２０−ｉ及び２０−ｊのリソース使用率の比率が、リソース使用率上限値の調整後も変わらないことを前提とした調整値を算出する。したがって、リソース管理装置１０は、上述の前提の特性を有するシステムにおいて、ＣＰＵリソースを、現在のリソース使用状況に即した最適な値で再配分することを可能とする。
【００４７】
尚、調整部１５が、リソース使用率上限値の調整値を算出する手順は、上述の算出手順に限定されるわけではない。
【００４８】
また、実行制御部１１−１乃至１１−ｎ、記憶部１２−１乃至１２−ｎ、測定部１３−１乃至１３−ｎ、及び、変更部１４−１乃至１４−ｎは、それぞれ、中央処理装置２０−１乃至２０−ｎに実装される場合もある。
【００４９】
また、リソース管理装置１０は、実行制御部、記憶部、測定部、及び、変更部を、それぞれ、中央処理装置ごとに備えるのではなく、全ての中央処理装置に対応した処理を行う、実行制御部、記憶部、測定部、及び、変更部を、それぞれ１つずつ備える場合もある。
＜第二の実施形態＞
次に、本願発明の第２の実施形態について図面を参照して詳細に説明する。
【００５０】
本願発明の第２の実施形態の構成は、図１に示す第１の実施形態のブロック図と同様である。本実施形態は、リソース管理テーブル１２０−１乃至１２０−ｎの構成、及び、調整部１５の動作が、第１の実施形態とは異なる。
【００５１】
本実施形態におけるリソース管理テーブル１２０−ｉ、及び、１２０−ｊの構成例を図４に示す。
【００５２】
リソース管理テーブル１２０−ｉ、及び、１２０−ｊは、第１の実施形態に追加して、ぞれぞれ、中央処理装置２０−ｉ、及び、２０−ｊにおけるワークロードクラスごとの、実行待ちプロセス数を格納している。
【００５３】
調整部１５は、第１の実施形態と同様に、中央処理装置２０−１乃至２０−ｎのいずれかにおいて、クラスＡ乃至Ｃのいずれかのワークロードクラスについて、リソース使用率測定値がリソース使用率上限値に達した場合、ワークロードクラスごとのリソース使用率の上限値の調整値の算出動作を開始する。
【００５４】
調整部１５は、中央処理装置２０−ｉを除く中央処理装置２０−１乃至２０−ｎの中で、クラスＡについて、リソース未使用率をクラスＡの実行待ちプロセス数で割った値であるプロセス単位未使用率が最大であるものをサーチし、中央処理装置２０−ｊを選択する。尚、中央処理装置２０−ｊにおけるクラスＡのリソース未使用率は２０％、プロセス単位未使用率は４％となる。
【００５５】
調整部１５は、リソース管理テーブル１２０−ｉを参照し、クラスＢ乃至Ｃの中で、上述のプロセス単位未使用率が最大であるものをサーチする。図４の例の場合、中央処理装置２０−ｉにおけるクラスＢ乃至Ｃのプロセス単位未使用率は、ぞれぞれ、１０％、及び、５％となるため、調整部１５は、クラスＢを選択する。
【００５６】
調整部１５は、リソース管理テーブル１２０−ｉ、及び、１２０−ｊの値から、クラスＡについて、中央処理装置２０−ｉの実行待ちプロセス数を、中央処理装置２０−ｉ及び２０−ｊの実行待ちプロセス数の和で割った値に、中央処理装置２０−ｊのリソース未使用率を掛けた値を、リソース使用率上限値の調整値として算出する。図４の例では、クラスＡについて、中央処理装置２０−ｉの実行待ちプロセス数は５、中央処理装置２０−ｉ及び２０−ｊの実行待ちプロセス数の和は１０、中央処理装置２０−ｊのリソース未使用率は２０％である。したがって、調整部１５が算出したリソース使用率上限値の調整値の値は、上述の計算の結果、１０％となる。
【００５７】
調整部１５は、変更部１４−ｉに対して、クラスＡのリソース使用率上限値を、１０％加算した値に更新し、クラスＢのリソース使用率上限値を、１０％減算した値に更新するように指示する。調整部１５は、変更部１４−ｊに対して、クラスＡのリソース使用率上限値を、１０％減算した値に更新し、クラスＢのリソース使用率上限値を、１０％加算した値に更新するように指示する。
【００５８】
変更部１４−１乃至１４−ｎは、調整部１５から受信した指示に基づいて、それぞれ、リソース管理テーブル１２０−１乃至１２０−ｎの各ワークロードクラスのリソース使用率の上限値を更新する。図４の例の場合、変更部１４−ｉは、クラスＡのリソース使用率上限値を、５０％に１０％を加算した６０％に更新し、クラスＢのリソース使用率上限値を、３０％から１０％を減算した２０％に更新する。変更部１４−ｊは、クラスＡのリソース使用率上限値を、５０％から１０％を減算した４０％に更新し、クラスＢのリソース使用率上限値を、３０％に１０％を加算した４０％に更新する。
【００５９】
尚、クラスＡ乃至Ｃの、中央処理装置２０−ｉ及び２０−ｊのリソース使用率上限値の合計値の比は、リソース管理装置１０が上述のリソース使用率上限値の変更処理を行った前後とも、５：３：２であり、一定である。
【００６０】
本実施形態には、第１の実施形態と同様に、システム全体としては、各ワークロードクラスへのＣＰＵリソースの配分比率を維持した状態で、一部中央処理装置について各ワークロードクラスへのＣＰＵリソースの配分比率を動的に調整して、ＣＰＵリソースを効率的に配分する効果がある。その理由は、第１の実施形態と同様である。
【００６１】
本実施形態では、調整部１５がリソース使用率が上限値に達したクラスＸについて、複数の中央処理装置の中からＣＰＵリソースに余裕がある中央処理装置２０−ｊを選択する基準として、上述のプロセス単位未使用率が最大であるものとしている。調整部１５が中央処理装置２０−ｉにおいて、複数のワークロードクラスの中からＣＰＵリソースに余裕があるクラスＹを選択する基準も、同様にプロセス単位未使用率が最大のものである。
【００６２】
すなわち、調整部１５は、中央処理装置２０−ｉにおけるクラスＸのリソース使用率上限値を上げるために、リソース使用率上限値の調整を行う対象として、リソース使用率上限値を下げても影響が最も小さい中央処理装置及びワークロードクラスを、実行待ちのプロセス数の情報を基に選択する。したがって、リソース管理装置１０は、システム性能への影響を極力抑えながら、リソース使用率上限値の調整を行うことを可能とする。
【００６３】
そして、調整部１５は、リソース使用率上限値の調整値として、中央処理装置２０−ｊにおけるクラスＸのリソース未使用率を、中央処理装置２０−ｉ及び２０−ｊの実行待ちプロセス数の比率で分配したときの、中央処理装置２０−ｉの持分の値としている。
【００６４】
すなわち、調整部１５は、クラスＸに関する中央処理装置２０−ｉ及び２０−ｊの実行待ちの各プロセスが、均等にＣＰＵリソースを使用することを前提とした調整値を算出する。したがって、リソース管理装置１０は、上述の前提の特性を有するシステムにおいて、ＣＰＵリソースを、現在のリソース使用状況に即した最適な値で再配分することを可能とする。
【００６５】
尚、調整部１５が、リソース使用率上限値の調整値を算出する手順は、上述の算出手順に限定されるわけではない。
＜第三の実施形態＞
次に、本願発明の第３の実施形態について図面を参照して詳細に説明する。
【００６６】
図５は本願発明の第３の実施形態のリソース管理装置１０の構成を示すブロック図である。
【００６７】
本実施形態のリソース管理装置１０は、実行制御部１１と、記憶部１２と、測定部１３と、変更部１４と、を包含している。
【００６８】
記憶部１２は、プロセスが所属するクラス対応に、当該クラスのプロセスに割り当て可能な中央処理装置２０−１乃至２０−ｎの各々について、全処理能力に対する割合の上限値を格納する。
【００６９】
測定部１３は、中央処理装置２０−１乃至２０−ｎの各々について、クラスごとに上述の割合を測定する。
【００７０】
実行制御部１１は、プロセスに中央処理装置を割り当てる際に、測定値が上限値に達したクラスのプロセスへの割り当てを行わないようにする。
【００７１】
変更部１４は、前記中央処理装置２０−１乃至２０−ｎのいずれかである、第一の中央処理装置において、複数のクラスのいずれかである、第一のクラスのリソース使用率が、上限値に達した場合、第一の中央処理装置における第一のクラス、及び、所定の基準で複数のクラスの中から選択した第二のクラスの上限値を、それぞれ、所定の調整値を加算、及び、減算した値に変更する。
【００７２】
変更部１４は、所定の基準で中央処理装置２０−１乃至２０−ｎの中から選択した第二の中央処理装置における上述の第一、及び、第二のクラスの上限値を、それぞれ、上述の調整値を減算、及び、加算した値に変更する。
【００７３】
本実施形態には、第１及び第２の実施形態と同様に、システム全体としては、各クラスへのＣＰＵリソースの配分比率を維持した状態で、一部中央処理装置について各クラスへのＣＰＵリソースの配分比率を動的に調整して、ＣＰＵリソースを効率的に配分する効果がある。その理由は、第一の中央処理装置の第一のクラスで、リソース使用率が上限値に達すると、変更部１４が、所定の基準で第二の中央処理装置、及び、第二のクラスを選択する。そして、変更部１４は、システム全体としては、第一及び第二のクラスのＣＰＵリソースの配分比率を維持した状態で、第一の中央処理装置の第一のクラスのリソース使用率上限値が上がるように、第一及び第二の中央処理装置に関する第一及び第二のリソース使用率上限値を更新するからである。
【００７４】
変更部１４が、第二の中央処理装置、及び、第二のクラスを選択する基準は、第１、あるいは、第２の実施形態における基準と同様の場合もあれば、異なる場合もある。変更部１４がリソース使用率の調整を行う調整値の値は、第１、あるいは、第２の実施形態と同様の算出手順で算出された値、あるいは、第１、第２の実施形態とは異なる算出手順で算出された値を、変更部１４が外部から受け取ってもよい。
【００７５】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００７６】
１    リソース管理システム
１０    リソース管理装置
１１−1乃至１１−ｎ    実行制御部
１１    実行制御部
１２−１乃至１２−ｎ    記憶部
１２    記憶部
１２０−１乃至１２０−ｎ    リソース管理テーブル
１３−１乃至１３−ｎ    測定部
１３    測定部
１４−１乃至１４−ｎ    変更部
１４    変更部
１５    調整部
２０−１乃至２０−ｎ    中央処理装置
【図１】
2014178963.tif 000003
【図２】
2014178963.tif 000004
【図３】
2014178963.tif 000005
【図４】
2014178963.tif 000006
【図５】
2014178963.tif 000007