(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024016782
(43)【公開日】2024-02-07
(54)【発明の名称】リソース割り当ての決定方法、装置、計算装置及びコンピュータプログラム
(51)【国際特許分類】
G06F 9/50 20060101AFI20240131BHJP
【FI】
G06F9/50 120A
【審査請求】有
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022160735
(22)【出願日】2022-10-05
(11)【特許番号】
(45)【特許公報発行日】2023-01-30
(31)【優先権主張番号】202210883725.4
(32)【優先日】2022-07-26
(33)【優先権主張国・地域又は機関】CN
(71)【出願人】
【識別番号】522035764
【氏名又は名称】北京穿楊科技有限公司
(74)【代理人】
【識別番号】110002468
【氏名又は名称】弁理士法人後藤特許事務所
(72)【発明者】
【氏名】張 ▲セイ▼茹
(72)【発明者】
【氏名】李 大偉
(72)【発明者】
【氏名】于 立
(57)【要約】 (修正有)
【課題】リソース配置効果を向上させるリソース割り当ての決定方法、装置、計算装置及びコンピュータプログラムを提供する。
【解決手段】方法は、所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を取得することにより、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプとリソース平均使用量を決定し、さらにリソース平均使用量と履歴リソース割り当て値に基づいて、ターゲットパラメータを決定し、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
リソース割り当ての決定方法であって、
所定の時間帯内のターゲットアプリケーションのリソース使用量と前記ターゲットアプリケーションの履歴リソース割り当て値を取得するステップと、
所定の時間帯内の前記ターゲットアプリケーションのリソース使用量に基づいて、前記ターゲットアプリケーションの実行タイプとリソース平均使用量を決定するステップであって、前記実行タイプは、前記ターゲットアプリケーションのリソース使用変動状況を示すために用いられるステップと、
前記リソース平均使用量と前記履歴リソース割り当て値に基づいて、リソース割り当て値を低下又は向上させることを示すためのターゲットパラメータを決定するステップと、
前記ターゲットパラメータと前記ターゲットアプリケーションの実行タイプに基づいて、前記ターゲットアプリケーションのターゲットリソース割り当て値を決定するステップと、を含むことを特徴とするリソース割り当ての決定方法。
【請求項2】
所定の時間帯内の前記ターゲットアプリケーションのリソース使用量に基づいて、前記ターゲットアプリケーションの実行タイプを決定するステップは、
所定の時間帯内の前記ターゲットアプリケーションのリソース使用量が設定条件を満たすとき、前記ターゲットアプリケーションの実行タイプをリソース安定型として決定するステップと、
所定の時間帯内の前記ターゲットアプリケーションのリソース使用量が前記設定条件を満たさないとき、前記ターゲットアプリケーションの実行タイプをリソース変動型として決定するステップと、を含むことを特徴とする請求項1に記載のリソース割り当ての決定方法。
【請求項3】
前記履歴リソース割り当て値は、履歴リソース最大割り当て値を含み、
前記リソース平均使用量と前記履歴リソース割り当て値に基づいて、ターゲットパラメータを決定する前記ステップは、
前記リソース平均使用量と前記履歴リソース最大割り当て値との比を前記ターゲットパラメータとして決定するステップを含むことを特徴とする請求項1に記載のリソース割り当ての決定方法。
【請求項4】
前記履歴リソース割り当て値は、履歴リソース最大割り当て値と履歴リソース最小割り当て値を含み、
前記ターゲットリソース割り当て値は、ターゲットリソース最大割り当て値とターゲットリソース最小割り当て値を含み、
前記ターゲットパラメータと前記ターゲットアプリケーションの実行タイプに基づいて、前記ターゲットアプリケーションのターゲットリソース割り当て値を決定するステップは、
前記ターゲットパラメータが第1パラメータ閾値よりも大きい場合に、前記実行タイプ、前記リソース平均使用量、リソース最大使用量、前記リソース使用量の標準偏差、CPUスロットリング量、及びアプリケーションメモリオーバーフローの回数に基づいて、前記ターゲットリソース最大割り当て値を決定し、リソース最小使用量と前記リソース平均使用量に基づいて、前記ターゲットリソース最小割り当て値を決定するステップであって、前記CPUスロットリング量とアプリケーションメモリオーバーフローの回数は、予め取得されたデータであり、前記リソース最大使用量、リソース最小使用量、及びリソース使用量の標準偏差は、所定の時間帯内の前記ターゲットアプリケーションのリソース使用量に基づいて決定されるステップと、
前記ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、前記リソース平均使用量と前記履歴リソース最大割り当て値に基づいて、前記ターゲットリソース最大割り当て値を決定し、前記リソース最小使用量に基づいて、前記ターゲットリソース最小割り当て値を決定するステップと、
前記ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、前記履歴リソース最大割り当て値を前記ターゲットリソース最大割り当て値とし、前記履歴リソース最小割り当て値を前記ターゲットリソース最小割り当て値とするステップと、を含むことを特徴とする請求項1に記載のリソース割り当ての決定方法。
【請求項5】
前記リソースは、CPUリソースとメモリリソースを含み、
前記実行タイプ、前記リソース平均使用量、前記リソース最大使用量、前記リソース使用量の標準偏差、前記CPUスロットリング量、及び前記アプリケーションメモリオーバーフローの回数に基づいて、前記ターゲットリソース最大割り当て値を決定するステップは、
前記実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU平均使用量、CPU最大使用量、CPU使用量の標準偏差、及びCPUスロットリング量に基づいて、ターゲットCPU最大割り当て値を決定するステップと、
前記実行タイプがメモリのリソース使用変動状況を示すために用いられる時、アプリケーションメモリオーバーフローの回数に基づいて、前記ターゲットアプリケーションのメモリオーバーフロー状況を決定し、前記メモリオーバーフロー状況、メモリ平均使用量、メモリ最大使用量、及びメモリ使用量の標準偏差に基づいて、ターゲットメモリ最大割り当て値を決定するステップであって、前記メモリオーバーフロー状況は、前記ターゲットアプリケーションにメモリオーバーフローが発生したか否かを示すために用いられるステップと、を含むことを特徴とする請求項4に記載のリソース割り当ての決定方法。
【請求項6】
前記実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU平均使用量、CPU最大使用量、CPU使用量の標準偏差、及びCPUスロットリング量に基づいて、ターゲットCPU最大割り当て値を決定するステップは、
前記実行タイプがCPU安定型である場合に、CPU平均使用量、CPU使用量の標準偏差、CPUスロットリング量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定するステップと、
前記実行タイプがCPU変動型である場合に、CPU最大使用量、CPUスロットリング量、CPU使用量の標準偏差、CPU平均使用量、及び前記第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定するステップと、を含むことを特徴とする請求項5に記載のリソース割り当ての決定方法。
【請求項7】
前記メモリオーバーフロー状況、メモリ平均使用量、メモリ最大使用量、及びメモリ使用量の標準偏差に基づいて、ターゲットメモリ最大割り当て値を決定するステップは、
前記実行タイプがメモリ安定型である場合に、前記メモリオーバーフロー状況が前記ターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定するステップと、
前記実行タイプがメモリ安定型である場合に、前記メモリオーバーフロー状況が前記ターゲットアプリケーションにメモリオーバーフローが発生していないことを示すとき、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定するステップと、
前記実行タイプがメモリ変動型である場合に、前記メモリオーバーフロー状況が前記ターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定するステップと、
前記実行タイプがメモリ変動型である場合に、前記メモリオーバーフロー状況が前記ターゲットアプリケーションにメモリオーバーフローが発生していないことを示すとき、メモリ最大使用量、メモリ使用量の標準偏差、メモリ平均使用量、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定するステップと、を含むことを特徴とする請求項6に記載のリソース割り当ての決定方法。
【請求項8】
前記リソース最小使用量と前記リソース平均使用量に基づいて、前記ターゲットリソース最小割り当て値を決定するステップは、
前記実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU最小使用量に基づいて、ターゲットCPU最小割り当て値を決定するステップと、
前記実行タイプがメモリのリソース使用変動状況を示すために用いられる時、メモリ平均使用量に基づいて、ターゲットメモリ最小割り当て値を決定するステップと、を含むことを特徴とする請求項4に記載のリソース割り当ての決定方法。
【請求項9】
前記ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、前記リソース平均使用量と前記履歴リソース最大割り当て値に基づいて、前記ターゲットリソース最大割り当て値を決定する前記ステップは、
前記ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、前記リソース平均使用量と前記履歴リソース最大割り当て値に基づいて、リソース平均使用率を決定するステップと、
前記リソース平均使用率と前記履歴リソース最大割り当て値に基づいて、前記ターゲットリソース最大割り当て値を決定するステップと、を含むことを特徴とする請求項4に記載のリソース割り当ての決定方法。
【請求項10】
前記リソース平均使用率と前記履歴リソース最大割り当て値に基づいて、前記ターゲットリソース最大割り当て値を決定するステップは、
前記リソース平均使用率が第3設定閾値よりも小さい場合に、前記履歴リソース最大割り当て値と第2パラメータ設定値に基づいて、前記ターゲットリソース最大割り当て値を決定するステップと、
前記リソース平均使用率が第3設定閾値以上且つ第4設定閾値未満である場合に、前記履歴リソース最大割り当て値と第3パラメータ設定値に基づいて、前記ターゲットリソース最大割り当て値を決定するステップと、
前記リソース平均使用率が第4設定閾値以上である場合には、前記履歴リソース最大割り当て値を前記ターゲットリソース最大割り当て値とするステップと、を含むことを特徴とする請求項9に記載のリソース割り当ての決定方法。
【請求項11】
前記ターゲットパラメータと前記ターゲットアプリケーションの実行タイプに基づいて決定されたターゲットリソース最小割り当て値が設定リソース最小割り当て値よりも小さい場合に、前記設定リソース最小割り当て値を前記ターゲットアプリケーションのターゲットリソース最小割り当て値として決定するステップをさらに含むことを特徴とする請求項4に記載のリソース割り当ての決定方法。
【請求項12】
リソース割り当ての決定装置であって、
所定の時間帯内のターゲットアプリケーションのリソース使用量と前記ターゲットアプリケーションの履歴リソース割り当て値を取得するための取得モジュールと、
所定の時間帯内の前記ターゲットアプリケーションのリソース使用量に基づいて、前記ターゲットアプリケーションの実行タイプとリソース平均使用量を決定するための決定モジュールであって、前記実行タイプは、前記ターゲットアプリケーションのリソース使用変動状況を示すために用いられる決定モジュールと、を含み、
前記決定モジュールは、前記リソース平均使用量と前記履歴リソース割り当て値に基づいて、ターゲットパラメータを決定するために用いられ、前記ターゲットパラメータは、リソース割り当て値を低下又は向上させることを示すために用いられ、
前記決定モジュールは、前記ターゲットパラメータと前記ターゲットアプリケーションの実行タイプに基づいて、前記ターゲットアプリケーションのターゲットリソース割り当て値を決定するために用いられることを特徴とするリソース割り当ての決定装置。
【請求項13】
メモリと、
プロセッサと、
前記メモリに記憶され、前記プロセッサで実行可能なコンピュータプログラムとを含み、
前記プロセッサは、前記プログラムを実行すると、請求項1~11のいずれか1項に記載のリソース割り当ての決定方法によって実行される動作を実現することを特徴とする計算装置。
【請求項14】
プロセッサによって実行されると、請求項1~11のいずれか1項に記載のリソース割り当ての決定方法によって実行される動作を実現するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータの技術分野に関し、特に、リソース割り当ての決定方法、装置、計算装置、及びコンピュータプログラムに関する。
【背景技術】
【0002】
リソースの合理的な割り当ては、アプリケーションの履歴データに基づいて、アルゴリズムによりアプリケーションを実行する時に必要な合理的なリソース割り当てを計算している。これにより、算出されたリソース割り当てに基づいてアプリケーションのリソース割り当てを実現し、リソースやコストを節約するという目的を達成することができる。
【0003】
先行技術において、アプリケーションを実行する時に必要かつ合理的なリソース割り当てを計算する時、主に、中央処理装置(CPU:Central Processing Unit)の使用状況の履歴及びメモリ(Memory)の使用状況の履歴を含む、過去の一定時間帯内のアプリケーションのリソース使用状況の履歴を取得することにより、取得されたリソースの使用状況の履歴に基づいて1つの平均値又は1つの最大値を算出し、さらに算出された平均値又は最大値をアプリケーションを実行する時に必要かつ合理的なリソース割り当てとすることが考えられる。
【0004】
しかしながら、アプリケーションの実行タイプは、様々であり、上記リソース割り当ての計算方法の計算指標が単一であるため、計算されたリソース割り当ては、様々な実行タイプのアプリケーションに適応できず、さらにリソース配置効果が低下するという不具合があった。
【発明の概要】
【発明が解決しようとする課題】
【0005】
先行技術に存在している不具合を解決するために、本発明は、リソース割り当ての決定方法、装置、計算装置及びコンピュータプログラムを提供する。
【課題を解決するための手段】
【0006】
本願の実施例の第1態様によれば、リソース割り当ての決定方法を提供し、該方法は、
所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を取得するステップと、
所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプとリソース平均使用量を決定するステップであって、実行タイプは、ターゲットアプリケーションのリソース使用変動状況を示すために用いられるステップと、
リソース平均使用量と履歴リソース割り当て値に基づいて、リソース割り当て値を低下又は向上させることを示すためのターゲットパラメータを決定するステップと、
ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定するステップと、を含む。
【0007】
本願の実施例の第2態様によれば、リソース割り当ての決定装置を提供し、該装置は、
所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を取得するための取得モジュールと、
所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプとリソース平均使用量を決定するための決定モジュールであって、実行タイプはターゲットアプリケーションのリソース使用変動状況を示すために用いられる決定モジュールと、を含み、
決定モジュールは、リソース平均使用量と履歴リソース割り当て値に基づいて、ターゲットパラメータを決定するために用いられ、ターゲットパラメータは、リソース割り当て値を低下又は向上させることを示すために用いられ、
決定モジュールは、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定するために用いられる。
【0008】
本願の実施例の第3態様によれば、メモリと、プロセッサと、メモリに記憶され、プロセッサで実行可能なコンピュータプログラムとを含み、プロセッサは、プログラムを実行すると、上記リソース割り当ての決定方法によって実行される動作を実現する計算装置を提供する。
【0009】
本願の実施例の第4態様によれば、プロセッサによって実行されると、上記リソース割り当ての決定方法によって実行される動作を実現するコンピュータプログラムを提供する。
【発明の効果】
【0010】
本願の実施例に係る発明によれば、リソースの使用状況の履歴及びターゲットアプリケーションのリソース使用変動状況を示す実行タイプに基づいて、リソース割り当て値の決定を実現することができるため、決定されたリソース割り当て値がターゲットアプリケーションの実行タイプにより適合することを保証し、リソース配置効果を向上させることができる。
【0011】
上記の一般的な説明及び後述の詳細な説明は例示的及び説明的なものにすぎず、本明細書を限定できないと理解すべきである。
【図面の簡単な説明】
【0012】
ここでの図面は本明細書に組み込まれ且つ本明細書の一部を構成し、本明細書に適合する実施例を示し、且つ本明細書と共に本明細書の原理を説明するために用いられる。
【
図1】本願の例示的な実施例に係るリソース割り当ての決定方法のフローチャートである。
【
図2】本願の例示的な実施例に係るリソース割り当ての調整プロセスのフローチャートである。
【
図3】本願の例示的な実施例に係るリソース割り当ての決定装置のブロック図である。
【
図4】本願の例示的な実施例に係る計算装置の構造概略図である。
【発明を実施するための形態】
【0013】
ここでは、図面に示される例示的な実施例について詳細に説明する。以下の説明が図面に関連する場合、特に断らない限り、異なる図面における同一の数字は同一または類似の要素を表す。以下の例示的な実施例に記載される実施形態は、本明細書と一致するすべての実施形態を代表するものではない。逆に、これらは本願に詳しく説明されるように、本明細書のいくつかの態様に適合する装置及び方法の例にすぎない。
【0014】
本願は、リソース割り当ての決定方法を提供することで、ターゲットアプリケーションが実行中に生成したリソース使用量を動的に取得するために用いられ、これによりリソース使用量に基づいてターゲットアプリケーションの実行タイプの決定を実現し、そして、ターゲットアプリケーションの実行タイプに基づいてターゲットリソース割り当ての決定を実現することで、動的なアプリケーションリソースの配置が達成され、さらにリソースの合理的な配置の目的が達成される。
【0015】
理解を容易にするために、以下、本願に係る2つのリソース割り当ての決定方法が適用可能な2つのシーンを例として、本願に係るリソース割り当ての決定方法の適用シーンについて説明する。
【0016】
例えば、本願に係るリソース割り当ての決定方法は、端末装置におけるアプリケーションリのソース割り当ての決定を実現するために用いられる。ユーザが端末装置を使用する時、複数のアプリケーションが同時に実行状態にある状況が発生する可能性がある。この時、本願に係るリソース割り当ての決定方法により、端末装置における複数のターゲットアプリケーションのリソース割り当ての決定を実現することができる。ここでは、ターゲットアプリケーションは、端末装置にインストールされ且つ現在、実行状態にあるアプリケーションであってもよい。
【0017】
また、例えば、本願に係るリソース割り当ての決定方法は、サーバにおけるアプリケーションのリソース割り当ての決定を実現するために用いられる。サーバは、複数のアプリケーションにリソース(実行リソース及び記憶リソース等を含む)を提供することができ、本願に係るリソース割り当ての決定方法により、複数のアプリケーションにそれぞれ対応するリソース割り当てを決定することができるため、各アプリケーションの円滑な実行を保証し、各アプリケーションは、いずれも複数のユーザに正常に使用され得る。ここでは、ターゲットアプリケーションは、サーバに配置されたアプリケーションであってもよい。
【0018】
上記2種類の適用シーンに対応し、上記リソース割り当ての決定方法は、計算装置によって実行される。なお、計算装置は、デスクトップコンピュータ、携帯式コンピュータ、スマートフォン、タブレット等の端末装置であってもよく、さらに一台のサーバ、複数台のサーバ、サーバクラスタ、クラウドコンピューティングプラットフォーム等であってもよく、タイプ及び装置の数を限定しない。
【0019】
上記説明は、本願の適用シーンの例示的な説明にすぎず、本願の適用シーンに対する限定を構成せず、より多くの可能な実現形態では、本願は様々な他のリソース割り当てプロセスに関するシーンに適用することができ、本願は具体的な適用シーンを限定しない。
【0020】
本願の適用シーンを紹介した後、次に本明細書の実施例を参照し、本願に係るリソース割り当ての決定方法について詳しく説明する。
【0021】
図1に示すように、
図1は本願の例示的な実施例に係るリソース割り当ての決定方法のフローチャートであり、当該方法は、ステップ101~ステップ104を含む。
【0022】
ステップ101、所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を取得する。
【0023】
ここでは、ターゲットアプリケーションは、任意のタイプのアプリケーションであってもよい。本願は、ターゲットアプリケーションのタイプを限定しない。所定の時間帯は、現在時刻前の所定の時間帯であってもよく、任意の時間帯であり、本願は、所定の時間帯の具体的な時間帯を限定しない。
【0024】
ターゲットアプリケーションが使用するリソースは、実行リソースと記憶リソースを含んでもよく、例えば、ターゲットアプリケーションが使用するリソースは中央処理装置(CPU:Central Processing Unit)によって提供される実行リソース及びメモリによって提供される記憶リソースを含んでもよい。これに対応して、履歴リソース割り当て値は、CPU履歴リソース割り当て値とメモリ履歴リソース割り当て値を含んでもよく、CPU履歴リソース割り当て値は、履歴CPU最大割り当て値と履歴CPU最小割り当て値を含んでもよく、メモリ履歴リソース割り当て値は、履歴メモリ最大割り当て値と履歴メモリ最小割り当て値を含む。
【0025】
ステップ102、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプとリソース平均使用量を決定し、実行タイプは、ターゲットアプリケーションのリソース使用変動状況を示すために用いられる。
【0026】
ステップ103、リソース平均使用量と履歴リソース割り当て値に基づいて、リソース割り当て値を低下又は向上させることを示すためのターゲットパラメータを決定する。
【0027】
ステップ104、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定する。
【0028】
ここでは、ターゲットリソース割り当て値は、ターゲットCPUリソース割り当て値とターゲットメモリリソース割り当て値を含む。ターゲットCPUリソース割り当て値は、ターゲットCPU最大割り当て値とターゲットCPU最小割り当て値を含む。ターゲットメモリリソース割り当て値は、ターゲットメモリ最大割り当て値とターゲットメモリ最小割り当て値を含む。
【0029】
本願に係るリソース割り当ての決定方法によれば、リソースの使用状況の履歴及びターゲットアプリケーションのリソース使用変動状況を示す実行タイプに基づいて、リソース割り当て値の決定を実現することができるため、決定されたリソース割り当て値がターゲットアプリケーションの実行タイプにより適合することを保証し、リソース配置効果を向上させることができる。
【0030】
本願の基本的な実現プロセスを紹介した後、以下、本願の様々な非限定的な実施形態を具体的に紹介する。
【0031】
他の実施例では、関連技術者は、リソース割り当ての周期を予め設定することができ、例えば、関連技術者は、所定の時間帯ごとにリソース割り当ての決定を1回行うことを設定することができる。そして、計算装置は、所定の時間帯に基づいて決定されたリソース割り当て決定の時刻に到達することに応答し、アプリケーションのリストを取得することができ、アプリケーションのリストに少なくとも1つのターゲットアプリケーションが含まれてもよい。
【0032】
関連技術者は、実際の作業ニーズに応じて、いつでも手動でリソース割り当てプロセスを始動させてもよい。他の実施例では、関連技術者は、計算装置でリソース割り当て命令をトリガとしてもよい。この場合に、計算装置は、該リソース割り当て命令に応答し、アプリケーションのリストを取得することができる。アプリケーションのリストに少なくとも1つのターゲットアプリケーションが含まれてもよい。
【0033】
ここでは、該少なくとも1つのターゲットアプリケーションは、2つの条件を満たす必要がある。条件1とは、ターゲットアプリケーションが計算装置にインストール又は配置される必要がある。条件2とは、ターゲットアプリケーションが現在、実行状態にある必要がある。
【0034】
計算装置は、少なくとも1つのターゲットアプリケーションを含むアプリケーションのリストを取得した後、ステップ101~ステップ104を実行することにより、各ターゲットアプリケーションのターゲットリソース割り当て値を決定することができ、以下、ステップ101~ステップ104の具体的な実現プロセスについて説明する。
【0035】
なお、各アプリケーションは、実行中に様々な実行データ(リソース使用量及び過去のアプリケーションの実行中に決定された履歴リソース割り当て値を含む)を生成する。そして、他の実施例では、各アプリケーションが実行中に生成された実行データを計算装置に関連付けられたデータベースに記憶してもよい。この場合に、ステップ101で、計算装置に関連付けられたデータベースから所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を直接取得することができる。
【0036】
ここでは、ターゲットアプリケーションの履歴リソース割り当て値を記憶する時、新たにリソース割り当て値を決定するたびに、決定されたリソース割り当て値及び当該リソース割り当て値が決定された時間を計算装置に関連付けられたデータベースに記憶し、この場合に、データベースに複数の履歴リソース割り当て値及び各履歴リソース割り当て値に対応する時間情報が含まれる。また、新たにリソース割り当て値を決定するたびに、新たに決定されたリソース割り当て値を計算装置に関連付けられたデータベースに記憶し、データベースから元に記憶された履歴リソース割り当て値を削除するようしにてもよい。この場合に、データベースに記憶された履歴リソース割り当て値は、1つだけあり、且つ最新であり、現時点からの時間間隔が最も近い履歴リソース割り当て値である。
【0037】
データベースから履歴リソース割り当て値を取得する時に、以下の二通の方法がある。
【0038】
データベースに複数の履歴リソース割り当て値及び各履歴リソース割り当て値に対応する時間情報が記憶されている場合に、データベースに記憶されている各履歴リソース割り当て値に対応する時間情報に基づいて、現時点からの時間間隔が最も近い時間情報を決定する。さらに、現時点からの時間間隔が最も近い時間情報に対応する履歴リソース割り当て値を取得し、ステップ101で取得しようとする履歴リソース割り当て値とする。
【0039】
データベースに現時点からの時間間隔が最も近い履歴リソース割り当て値が1つだけ記憶されている場合に、当該履歴リソース割り当て値をデータベースから直接取得し、ステップ101で取得しようとする履歴リソース割り当て値とすればよい。
【0040】
なお、実行データは、さらに、CPUスロットリング量とアプリケーションのメモリオーバーフロー(OOM:0ut Of Memory)の回数を含んでもよい。ここでは、アプリケーションが計算装置で直接実行する場合や、計算装置の仮想マシンで実行する場合がある。そして、計算装置で実行するアプリケーションにメモリオーバーフローが発生する場合に、メモリオーバーフローの発生は、計算装置に感知されて記録され得る。一方、仮想マシンで実行するアプリケーションにメモリオーバーフローが発生する場合に、メモリオーバーフローの発生が計算装置に感知されない可能性がある。この場合に、計算装置で実行するアプリケーションにメモリオーバーフローが発生する時と同様に、計算装置は、再起動するため、計算装置は、記録された再起動の回数と再起動の原因に基づいて、アプリケーションのメモリオーバーフローの回数の取得を実現することができる。
【0041】
すなわち、ターゲットアプリケーションのメモリオーバーフローの回数を取得する時、
記憶されたターゲットアプリケーションのメモリオーバーフローの回数を取得する手段と、
記憶されたターゲットアプリケーションの再起動の回数と再起動の原因を取得し、再起動の原因が設定条件を満たす再起動の回数を決定し、ターゲットアプリケーションのメモリオーバーフローの回数とする手段と、を含んでもよい。
【0042】
可能な一実現形態では、計算装置は、記憶されたターゲットアプリケーションの再起動の回数と再起動の原因を取得した後、再起動する時に仮想マシンで実行するアプリケーションにメモリオーバーフローが発生したことによる装置再起動プロセスが存在するか否かを決定する。仮想マシンで実行するアプリケーションにメモリオーバーフローが発生したことによる装置再起動プロセスが存在すると決定するとき、仮想マシンで実行するアプリケーションにメモリオーバーフローが発生したことによる装置再起動プロセスの再起動の回数を決定する。これにより、決定された再起動の回数と記憶されたターゲットアプリケーションのメモリオーバーフローの回数との和を、ターゲットアプリケーションのアプリケーションメモリオーバーフローの回数の合計として決定する。
【0043】
なお、アプリケーションのタイプは、様々であるため、データベースは、異なるアプリケーションに対応する実行データを記憶する時、各アプリケーションのそれぞれに対応する実行データを関連付けて記憶してもよい。ステップ101で、ターゲットアプリケーションのアプリケーション識別子に基づいて、データベースからターゲットアプリケーションに対応する実行データ(例えば、所定の時間帯内のターゲットアプリケーションのリソース使用量と履歴リソース割り当て値)を直接取得することができる。
【0044】
ステップ101により、所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの前回リソース割り当てを行う時に決定された履歴リソース割り当て値を取得した後、ステップ102により、ステップ101で取得されたデータに基づいて、ターゲットアプリケーションの実行タイプを決定することができる。このようにして、後で実行タイプに基づいてターゲットリソース割り当て値の決定を実現することができる。なお、実行タイプは、ターゲットアプリケーションのリソース使用変動状況を示すために用いられるようにしてもよく、リソース安定型とリソース変動型であってもよい。
【0045】
可能な一実現形態では、所定の時間帯内のターゲットアプリケーションのリソース使用量が設定条件を満たすとき、ターゲットアプリケーションの実行タイプをリソース安定型として決定する。
【0046】
別の可能な一実現形態では、所定の時間帯内のターゲットアプリケーションのリソース使用量が設定条件を満たさないとき、ターゲットアプリケーションの実行タイプをリソース変動型として決定する。
【0047】
ここでは、設定条件は、設定された時間帯内に対する設定リソース範囲内で変動する時間の占める割合が割合設定閾値に達することであってもよい。設定リソース範囲は、実際の処理要件に基づいて設定された値の範囲であってもよい。設定割合閾値は、任意の値であってもよく、本願は、設定リソース範囲と割合設定閾値の値を限定しない。
【0048】
なお、リソースは、CPUリソース又はメモリリソースであってもよい。このため、リソース使用量は、CPU使用量とメモリ使用量を含んでもよい。この場合に、ステップ102で、CPU使用量とメモリ使用量に基づいてそれぞれの実行タイプを決定することができるため、ターゲットアプリケーションは、2つの実行タイプに対応している。この2つの実行タイプは、それぞれCPUとメモリに対応している。
【0049】
CPUについては、ターゲットアプリケーションの実行タイプは、CPU安定型又はCPU変動型であってもよい。メモリについては、ターゲットアプリケーションの実行タイプは、メモリ安定型又はメモリ変動型であってもよい。以下、ターゲットアプリケーションに対応する2つの実行タイプを決定するプロセスについてそれぞれ説明する。
【0050】
他の実施例では、ステップ102について、リソース使用量がCPU使用量である場合に、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプを決定する時、
設定された時間帯でのターゲットアプリケーションのCPU使用量の変動状況が第1設定条件を満たすとき、ターゲットアプリケーションの実行タイプをCPU安定型として決定する実現形態と、
設定された時間帯でのターゲットアプリケーションのCPU使用量の変動状況が第1設定条件を満たさないとき、ターゲットアプリケーションの実行タイプをCPU変動型として決定する実現形態とのいずれかを含んでもよい。
【0051】
ここでは、第1設定条件は、設定された時間帯に対する第1設定リソース範囲内で変動する時間の占める割合が第1割合閾値に達することであってもよく、第1設定リソース範囲は、実際の処理要件に基づいて設定された値の範囲であってもよい。第1割合閾値は、任意の値であってもよい。本願は、第1設定リソース範囲と第1割合閾値の値を限定しない。
【0052】
リソース使用量がメモリ使用量である場合に、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプを決定する時、
設定された時間帯でのターゲットアプリケーションのメモリ使用量の変動状況が第2設定条件を満たすとき、ターゲットアプリケーションの実行タイプをメモリ安定型として決定する実現形態と、
設定された時間帯でのターゲットアプリケーションのメモリ使用量の変動状況が第2設定条件を満たさないとき、ターゲットアプリケーションの実行タイプをメモリ変動型として決定する実現形態とのいずれかを含んでもよい。
【0053】
ここでは、第2設定条件は、設定された時間帯に対する第2設定リソース範囲内で変動する時間の占める割合が第2割合閾値に達することであってもよい。第2設定リソース範囲は、実際の処理要件に基づいて設定された値の範囲であってもよい。第2割合閾値は、任意の値であってもよく、第1割合閾値と第2割合閾値は、同じであってもよく、異なってもよい。本願は、第2設定リソース範囲と第2割合閾値の値を限定しない。
【0054】
以上はステップ102におけるターゲットアプリケーションの実行タイプを決定するプロセスを説明し、ステップ102について、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、リソース平均使用量を決定する時、所定の時間帯内のターゲットアプリケーションのリソース使用量の平均値を求め、リソース平均使用量を得る。
【0055】
以上説明したように、リソース使用量は、CPU使用量とメモリ使用量を含んでもよい。この場合に、リソース平均使用量もCPU平均使用量とメモリ平均使用量を含む。このため、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいてリソース平均使用量を決定する時、
所定の時間帯内のターゲットアプリケーションのCPU使用量の平均値を求め、CPU平均使用量を得る実現形態と、
所定の時間帯内のターゲットアプリケーションのメモリ使用量の平均値を求め、メモリ平均使用量を得る実現形態と、を含んでもよい。
【0056】
上記プロセスによれば、CPUとメモリにそれぞれ対応するリソース平均使用量を決定することができるため、CPUとメモリにそれぞれ対応するリソース平均使用量に基づいて、ターゲットアプリケーションのCPUとメモリにそれぞれ対応するリソース割り当てを決定することができる。
【0057】
任意選択には、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、リソース平均使用量を決定するとともに、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションのリソース最大使用量、リソース最小使用量、及びリソース使用量の標準偏差を決定するようにしてもよい。
【0058】
リソース使用量がCPU使用量とメモリ使用量を含む場合に、これに対応して、リソース最大使用量は、CPU最大使用量とメモリ最大使用量を含み、リソース最小使用量は、CPU最小使用量とメモリ最小使用量を含み、リソース使用量の標準偏差は、CPU使用量の標準偏差とメモリ使用量の標準偏差を含む。
【0059】
従って、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションのリソース最大使用量、リソース最小使用量、及びリソース使用量の標準偏差を決定する時、所定の時間帯内のターゲットアプリケーションのCPU使用量に基づいて、ターゲットアプリケーションのCPU最大使用量、CPU最小使用量、及びCPU使用量の標準偏差を決定し、所定の時間帯内のターゲットアプリケーションのメモリ使用量に基づいて、ターゲットアプリケーションのメモリ最大使用量、メモリ最小使用量、及びメモリ使用量の標準偏差を決定するようにしてもよい。
【0060】
リソース最大使用量、リソース最小使用量、及びリソース使用量の標準偏差を決定することにより、後でこれらのデータに基づいてターゲットリソース割り当て値の決定を実現することができる。
【0061】
他の実施例では、履歴リソース割り当て値については、値の大きさ基づいて区分とする場合、履歴リソース割り当て値は、履歴リソース最大割り当て値と履歴リソース最小割り当て値を含んでもよい。一方、対応する部品基づいて区分とする場合、履歴リソース割り当て値は、履歴CPUリソース割り当て値と履歴メモリリソース割り当て値を含んでもよい。しかし、どのような区分方式を採用しても、履歴リソース割り当て値は、いずれも履歴CPU最大割り当て値、履歴CPU最小割り当て値、履歴メモリ最大割り当て値及び履歴メモリ最小割り当て値を含む。
【0062】
これにより、ステップ103について、リソース平均使用量と履歴リソース割り当て値に基づいて、ターゲットパラメータを決定する時、CPU平均使用量と履歴CPU最大割り当て値に基づいて第1ターゲットパラメータを決定し、メモリ平均使用量と履歴メモリ最大割り当て値に基づいて第2ターゲットパラメータを決定するようにしてもよい。
【0063】
ここでは、CPU平均使用量と履歴CPU最大割り当て値に基づいて第1ターゲットパラメータを決定する時、CPU平均使用量と履歴CPU最大割り当て値との比に基づいて、第1ターゲットパラメータを決定するようにしてもよく、メモリ平均使用量と履歴メモリ最大割り当て値に基づいて、第2ターゲットパラメータを決定する時、メモリ平均使用量と履歴メモリ最大割り当て値との比に基づいて、第2ターゲットパラメータを決定するようにしてもよい。
【0064】
ターゲットパラメータを決定することにより、ターゲットパラメータに基づいて前回決定された履歴リソース割り当て値を調整する必要があるか否かを決定してもよい。そして、履歴リソース割り当て値に基づいて割り当て値を向上又は低下させる必要がある時にターゲットリソース割り当て値を計算する手段は、異なる可能性がある。このようにして、後でターゲットパラメータに基づいて対応する計算方式を採用し、ターゲットリソース割り当て値の決定を実現することができる。
【0065】
ステップ103によりターゲットパラメータを決定した後、ステップ104により、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定するようにしてもよい。
【0066】
ステップ104について、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定する時、以下のプロセスによって実現することができる。
【0067】
可能な一実現形態では、ターゲットパラメータが第1パラメータ閾値よりも大きい場合に、実行タイプ、リソース平均使用量、リソース最大使用量、リソース使用量の標準偏差、CPUスロットリング量、及びアプリケーションメモリオーバーフローの回数に基づいて、ターゲットリソースの最大割り当て値を決定し、リソース最小使用量とリソース平均使用量に基づいて、ターゲットリソースの最小割り当て値を決定する。
【0068】
なお、第1パラメータ閾値は、関連技術者が予め設定したリソース割り当て値を向上させる必要がある時のパラメータ閾値であってもよく、第1パラメータ閾値は任意の値であってもよく、例えば、第1パラメータ閾値は0.9であってもよく、ターゲットパラメータが第1パラメータ閾値よりも大きい場合、履歴リソース割り当て値に基づいてターゲットアプリケーションのリソース割り当て値を向上させる必要があることを示す。
【0069】
別の可能な一実現形態では、ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース平均使用量と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定し、リソース最小使用量に基づいて、ターゲットリソース最小割り当て値を決定する。
【0070】
なお、第2パラメータ閾値は、関連技術者が予め設定したリソース割り当て値を低減させる必要がある時のパラメータ閾値であってもよく、任意の値であってもよく、例えば、0.5であってもよい。ターゲットパラメータが第2パラメータ閾値よりも小さい場合、履歴リソース割り当て値に基づいてターゲットアプリケーションのリソース割り当て値を低減させる必要があることを示す。
【0071】
別の可能な一実現形態では、ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、履歴リソース最大割り当て値をターゲットリソース最大割り当て値とし、履歴リソース最小割り当て値をターゲットリソース最小割り当て値とする。
【0072】
なお、ステップ101~ステップ103に係るデータは、いずれもCPUに対するものとメモリに対するものに分けることができる。このため、ステップ104について、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定する時、第1ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットCPUリソース割り当て値を決定し、第2ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットメモリリソース割り当て値を決定するようにしてもよい。
【0073】
すなわち、ステップ104では、2セットのターゲットリソース割り当て値を決定することができる。ここでは、一方のセットのターゲットリソース割り当て値は、ターゲットCPU最大割り当て値とターゲットCPU最小割り当て値を含むターゲットCPUリソース割り当て値である。他方のセットのターゲットリソース割り当て値は、ターゲットメモリ最大割り当て値とターゲットメモリ最小割り当て値を含むターゲットメモリリソース割り当て値である。以下、それぞれこの2セットのターゲットリソース割り当て値を決定するプロセスについて説明する。
【0074】
まず、ターゲットパラメータが第1パラメータ閾値より大きい場合にターゲットリソース割り当て値を決定するプロセスについて説明する。
【0075】
1.ターゲットCPU最大割り当て値の決定
【0076】
なお、ターゲットCPU割り当て値を決定する時に使用されるターゲットパラメータは、第1ターゲットパラメータである。
【0077】
すなわち、第1ターゲットパラメータが第1パラメータ閾値よりも大きい場合、実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU平均使用量、CPU最大使用量、CPU使用量の標準偏差、及びCPUスロットリング量に基づいて、ターゲットCPU最大割り当て値を決定する。
【0078】
ここでは、実行タイプがCPU安定型である場合に、CPU平均使用量、CPU使用量の標準偏差、CPUスロットリング量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する。
【0079】
任意選択には、CPU平均使用量、CPUスロットリング量、CPU使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する時、CPU平均使用量をリソース配置基数とし、CPU平均使用量に、CPUスロットリング量、CPU使用量の標準偏差、CPUリソース上昇量を加算し、ターゲットCPU最大割り当て値を得るようにしてもよい。ここでは、CPUリソース上昇量は、CPU平均使用量と第1パラメータ設定値との積であってもよい。
【0080】
なお、第1パラメータ設定値は、関連技術者が予め設定した上昇パーセンテージであってもよく、任意の値であってもよく、例えば、第1パラメータ設定値は0.2であってもよい。第1パラメータ設定値を設定することにより、第1パラメータ設定値に基づいてリソース冗長構成を行うことができるため、リソースの合理的な冗長によってリソース使用量の急激な上昇に効果的に対応することができる。
【0081】
また、実行タイプがCPU変動タイプである場合に、CPU最大使用量、CPUスロットリング量、CPU使用量の標準偏差、CPU平均使用量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する。
【0082】
任意選択には、CPU最大使用量、CPUスロットリング量、CPU使用量の標準偏差、CPU平均使用量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する時、CPU最大使用量をリソース配置基数とし、CPU最大使用量に、CPUスロットリング量、CPU使用量の標準偏差、及びCPUリソース上昇量を加算し、ターゲットCPU最大割り当て値を得るようにしてもよい。ここでは、CPUリソース上昇量は、CPU平均使用量と第1パラメータ設定値との積であってもよい。
【0083】
2、ターゲットCPU最小割り当て値の決定
【0084】
実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU最小使用量に基づいて、ターゲットCPU最小割り当て値を決定する。
【0085】
任意選択には、CPU最小使用量に基づいて、ターゲットCPU最小割り当て値を決定する時、実行タイプがCPU安定型であってもCPU変動型であっても、CPU最小使用量をターゲットCPU最小割り当て値として決定することができる。
【0086】
3、ターゲットメモリ最大割り当て値の決定
【0087】
なお、ターゲットメモリ割り当て値を決定する時に使用されるターゲットパラメータは、第2ターゲットパラメータである。
【0088】
すなわち、第2ターゲットパラメータが第1パラメータ閾値よりも大きい場合、実行タイプがメモリのリソース使用変動状況を示すために用いられる時、アプリケーションメモリオーバーフローの回数に基づいてターゲットアプリケーションのメモリオーバーフロー状況を決定する。メモリオーバーフロー状況、メモリ平均使用量、メモリ最大使用量、及びメモリ使用量の標準偏差に基づいて、ターゲットメモリ最大割り当て値を決定する。メモリオーバーフロー状況は、ターゲットアプリケーションにメモリオーバーフローが発生したか否かを示すために用いられる。
【0089】
ここでは、実行タイプがメモリ安定型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0090】
なお、ターゲットアプリケーションのアプリケーションメモリオーバーフローの回数が0である場合、ターゲットアプリケーションにメモリオーバーフローが発生していないことを示す。一方、ターゲットアプリケーションのアプリケーションメモリオーバーフローの回数が0ではない場合、ターゲットアプリケーションにメモリオーバーフローが発生したことを示す。
【0091】
上記実施例で説明したように、取得されたアプリケーションメモリオーバーフローの回数は、計算装置が直接記録したものを含むだけでなく、再起動の回数と再起動の原因に基づいて決定された仮想マシンにおけるアプリケーションメモリオーバーフローの回数を含む。これにより、アプリケーションメモリオーバーフローの回数が実際の実行状況により適合することを保証することができ、さらにターゲットアプリケーションにオーバーフローが発生したか否かを決定する正確さを保証することができる。
【0092】
ここでは、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する時、メモリオーバーフローが発生する時のメモリ使用量をリソース配置基数とし、メモリオーバーフローが発生する時のメモリ使用量に、メモリ使用量の標準偏差、メモリリソース上昇量を加算し、ターゲットメモリ最大割り当て値を得るようにしてもよい。ここでは、メモリリソース上昇量は、メモリ平均使用量と第1パラメータ設定値との積であってもよく、第1パラメータ設定値に関する説明は、上記実施例を参照することができ、ここで説明を省略する。
【0093】
なお、ターゲットアプリケーションに複数回のメモリオーバーフローが発生したとき、メモリオーバーフローが発生する時のメモリ使用量は、複数の値を有するため、メモリオーバーフローが発生する時のこれらの複数のメモリ使用量から最大値を決定することができる。これにより、決定された最大値をリソース配置基数とする一方、ターゲットアプリケーションに一度だけメモリオーバーフローが発生した場合に、今回のメモリオーバーフローが発生する時のメモリ使用量を直接的にリソース配置基数とすればよい。
【0094】
実行タイプがメモリ安定型である場合には、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生していないことを示すと、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0095】
ここでは、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する時、メモリ平均使用量をリソース配置基数とし、メモリ平均使用量に、メモリ使用量の標準偏差、メモリリソース上昇量を加算し、ターゲットメモリ最大割り当て値を得るようにしてもよい。ここでは、メモリリソース上昇量はメモリ平均使用量と第1パラメータ設定値との積であってもよい。第1パラメータ設定値に関する説明は、上記実施例を参照することができ、ここで説明を省略する。
【0096】
実行タイプがメモリ変動型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0097】
ここでは、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する時、モリオーバーフローが発生する時のメモリ使用量をリソース配置基数とし、モリオーバーフローが発生する時のメモリ使用量に、メモリ使用量の標準偏差、メモリリソース上昇量を加算し、ターゲットメモリ最大割り当て値を得るようにしてもよい。ここでは、メモリリソース上昇量は、メモリ平均使用量と第1パラメータ設定値との積であってもよい。第1パラメータ設定値に関する説明は、上記実施例を参照することができ、ここで説明を省略する。
【0098】
実行タイプがメモリ変動型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生していないことを示すとき、メモリ最大使用量、メモリ使用量の標準偏差、メモリ平均使用量、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0099】
ここでは、メモリ最大使用量、メモリ使用量の標準偏差、メモリ平均使用量、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する時、メモリ最大使用量をリソース配置基数とし、メモリ最大使用量に、メモリ使用量の標準偏差、メモリリソース上昇量を加算し、ターゲットメモリ最大割り当て値を得るようにしてもよい。ここでは、メモリリソース上昇量は、メモリ平均使用量と第1パラメータ設定値との積であってもよい。第1パラメータ設定値に関する説明は、上記実施例を参照することができ、ここで説明を省略する。
【0100】
4、ターゲットメモリ最小割り当て値の決定
【0101】
実行タイプがメモリのリソース使用変動状況を示すために用いられる時、メモリ平均使用量に基づいて、ターゲットメモリ最小割り当て値を決定する。
【0102】
任意選択には、メモリ最小使用量に基づいて、ターゲットメモリ最小割り当て値を決定する時、実行タイプは、メモリ安定型であってもメモリ変動型であっても、メモリ平均使用量をターゲットメモリ最小割り当て値として決定することができる。
【0103】
以下、ターゲットパラメータが第2パラメータ閾値より小さい場合にターゲットリソース割り当て値を決定するプロセスについて説明する。
【0104】
1、ターゲットリソース最大割り当て値の決定
【0105】
ここでは、ターゲットリソース最大割り当て値を決定するプロセスでは、ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース平均使用量と履歴リソース最大割り当て値に基づいて、リソース平均使用率を決定し、リソース平均使用率と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定することであってもよい。
【0106】
ここでは、リソース平均使用量と履歴リソース最大割り当て値に基づいて、リソース平均使用率を決定する時、リソース平均使用量と履歴リソース最大割り当て値との比を、リソース平均使用率として決定するようにしてもよい。
【0107】
リソース平均使用率と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定するステップは、以下の実現形態を含んでもよい。
【0108】
可能な一実現形態では、リソース平均使用率が第3設定閾値よりも小さい場合に、履歴リソース最大割り当て値と第2パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定する。
【0109】
ここでは、第3設定閾値は、関連技術者が技術要件に応じて設定した値であってもよく、任意の値であってもよく、例えば、第3設定閾値は0.5であってもよい。第2パラメータ設定値は、任意の値であってもよく、例えば、0.5であってもよい。
【0110】
任意選択には、履歴リソース最大割り当て値と第2パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定する時、履歴リソース最大割り当て値と第2パラメータ設定値との積を、ターゲットリソース最大割り当て値として決定するようにしてもよい。
【0111】
別の可能な一実現形態では、リソース平均使用率が第3設定閾値以上且つ第4設定閾値未満である場合に、履歴リソース最大割り当て値と第3パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定する。
【0112】
ここでは、第4設定閾値は、関連技術者が技術要件に応じて設定した値であってもよく、任意の値であってもよく、例えば、0.7であってもよい。第3パラメータ設定値は、任意の値であってもよく、例えば、0.7であってもよい。
【0113】
任意選択には、履歴リソース最大割り当て値と第3パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定する時、履歴リソース最大割り当て値と第3パラメータ設定値との積を、ターゲットソース最大割り当て値として決定するようにしてもよい。
【0114】
別の可能な一実現形態では、リソース平均使用率が第4設定閾値以上である場合に、履歴リソース最大割り当て値をターゲットリソース最大割り当て値とする。
【0115】
理解を容易にするために、以下、それぞれターゲットCPU最大割り当て値とターゲットメモリ最大割り当て値を決定するプロセスについて説明する。
【0116】
(1)ターゲットCPU最大割り当て値の決定
【0117】
なお、ターゲットCPU割り当て値を決定する時に使用されるターゲットパラメータは、第1ターゲットパラメータである。
【0118】
すなわち、第1ターゲットパラメータが第2パラメータ閾値よりも小さい場合、CPU平均使用量と履歴CPU最大割り当て値に基づいて、CPU平均使用率を決定し、さらにCPU平均使用率と履歴CPU最大割り当て値に基づいて、ターゲットCPU最大割り当て値を決定する。
【0119】
ここでは、CPU平均使用率と履歴CPU最大割り当て値に基づいて、ターゲットCPU最大割り当て値を決定する時、
CPU平均使用率が第3設定閾値よりも小さい場合に、履歴CPU最大割り当て値と第2パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する実現形態と、
CPU平均使用率が第3設定閾値以上且つ第4設定閾値未満である場合に、履歴CPU最大割り当て値と第3パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する実現形態と、
CPU平均使用率が第4設定閾値以上である場合に、履歴CPU最大割り当て値をターゲットCPU最大割り当て値とする実現形態とを含んでもよい。
【0120】
(2)ターゲットメモリ最大割り当て値の決定
【0121】
なお、ターゲットメモリ割り当て値を決定する時に使用されるターゲットパラメータは、第2ターゲットパラメータである。
【0122】
すなわち、第2ターゲットパラメータが第2パラメータ閾値よりも小さい場合、メモリ平均使用量と履歴メモリ最大割り当て値に基づいて、メモリ平均使用率を決定し、さらにメモリ平均使用率と履歴メモリ最大割り当て値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0123】
ここでは、メモリ平均使用率と履歴メモリ最大割り当て値に基づいて、ターゲットメモリ最大割り当て値を決定する時、
メモリ平均使用率が第3設定閾値よりも小さい場合に、履歴メモリ最大割り当て値と第2パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する実現形態と、
メモリ平均使用率が第3設定閾値以上且つ第4設定閾値未満である場合に、履歴メモリ最大割り当て値と第3パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する実現形態と、
メモリ平均使用率が第4設定閾値以上である場合に、履歴メモリ最大割り当て値をターゲットメモリ最大割り当て値とする実現形態とを含んでもよい。
【0124】
2、ターゲットリソース最小割り当て値の決定
【0125】
ここでは、ターゲットリソース最小割り当て値を決定するプロセスでは、ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース最小使用量に基づいて、ターゲットリソース最小割り当て値を決定することであってもよい。
【0126】
任意選択には、リソース最小使用量に基づいて、ターゲットリソース最小割り当て値を決定する時、実行タイプがリソース安定型であってもリソース変動型であっても、リソース最小使用量をターゲットリソース最小割り当て値として決定することができる。
【0127】
すなわち、ターゲットCPU最小割り当て値を決定する時、実行タイプがCPU安定型であってもCPU変動型であっても、CPU最小使用量をCPU最小割り当て値として決定することができる。ターゲットメモリ最小割り当て値を決定する時、実行タイプがメモリ安定型であってもメモリ変動型であっても、メモリ最小使用量をメモリ最小割り当て値として決定することができる。
【0128】
以下、ターゲットパラメータが第2パラメータ閾値よりも大きく且つ第1パラメータ閾値以下である場合にターゲットリソース割り当て値を決定するプロセスについて説明する。
【0129】
なお、ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、今回決定する必要があるターゲットリソース割り当て値は、前回リソース割り当てを行った時に決定された履歴リソース割り当て値を援用することができることを示すため、履歴リソース最大割り当て値をターゲットリソース最大割り当て値に直接決定すればよい。
【0130】
すなわち、第1ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、直接、履歴CPU最大割り当て値をターゲットCPU最大割り当て値として決定し、履歴CPU最小割り当て値をターゲットCPU最小割り当て値として決定すればよい。第2ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、直接、履歴メモリ最大割り当て値をターゲットメモリ最大割り当て値として決定し、履歴メモリ最小割り当て値をターゲットメモリ最小割り当て値として決定すればよい。
【0131】
上記プロセスでは、ターゲットリソース最大割り当て値(ターゲットCPU最大割り当て値とターゲットメモリ最大割り当て値を含む)とターゲットリソース最小割り当て値(ターゲットCPU最小割り当て値とターゲットメモリ最小割り当て値を含む)を決定するプロセスを紹介したが、より多くの実現形態では、関連技術者はさらに設定リソース最小割り当て値を予め設定することができるため、初回オンラインの時又は算出されたリソース割り当てが設定リソース最小割り当て値よりも小さい場合に、設定リソース最小割り当て値をターゲットリソース最小割り当て値とすることをデフォルトする。
【0132】
すなわち、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて決定されたターゲットリソース最小割り当て値が設定リソース最小割り当て値よりも小さい場合に、設定リソース最小割り当て値をターゲットアプリケーションのターゲットリソース最小割り当て値として決定する。
【0133】
任意選択には、設定リソース最小割り当て値は、設定CPU最小割り当て値と設定メモリ最小割り当て値を含んでもよい。このため、他の実施例では、第1ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいてターゲットCPU最小割り当て値を決定するステップの後、決定されたターゲットCPU最小割り当て値と設定CPU最小割り当て値を比較するようにしてもよい。決定されたターゲットCPU最小割り当て値が設定CPU最小割り当て値よりも小さい場合に、設定CPU最小割り当て値をターゲットCPU最小割り当て値とする。一方、決定されたターゲットCPU最小割り当て値が設定CPU最小割り当て値以上である場合に、依然として第1ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて決定された結果をターゲットCPU最小割り当て値とすればよい。ここでは、設定CPU最小割り当て値は、任意の値であってもよく、例えば、500Mであってもよい。
【0134】
また、第2ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいてターゲットメモリ最小割り当て値を決定するステップの後、決定されたターゲットメモリ最小割り当て値と設定メモリ最小割り当て値を比較するようにしてもよい。決定されたターゲットメモリ最小割り当て値が設定メモリ最小割り当て値よりも小さい場合に、設定メモリ最小割り当て値をターゲットメモリ最小割り当て値とする。一方、決定されたターゲットメモリ最小割り当て値が設定メモリ最小割り当て値以上である場合に、依然として第2ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて決定された結果をターゲットメモリ最小割り当て値とすればよい。ここでは、設定メモリ最小割り当て値は、任意の値であってもよく、例えば、250MiBあってもよい。
【0135】
また、アプリケーションが初回オンラインである時、アプリケーションにターゲットリソース最大割り当て値を設定せず、リソース最小割り当て閾値のみをターゲットリソース最小割り当て値とすればよい。
【0136】
以上のプロセスによれば、ターゲットリソース割り当て値を決定したが、さらに、ターゲットリソース割り当て値がリソース割り当て調整条件を満たすか否かを決定することができるため、ターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、ターゲットリソース割り当て値に基づいてターゲットアプリケーションのリソース割り当てを調整する。
【0137】
ここでは、ターゲットリソース割り当て値がリソース割り当て調整条件を満たすか否かを決定する時、ターゲットリソース割り当て値と履歴リソース割り当て値との比を決定することができる。さらに、決定された比を所定比と比較する。そして、決定された比が所定比より大きい場合に、ターゲットリソース割り当て値がリソース割り当て調整条件を満たすとき、決定することができ、ターゲットリソース割り当て値がリソース割り当て調整条件を満たしていないとき、ターゲットリソース割り当て値がリソース割り当て調整条件を満たさないと考えられる。
【0138】
なお、ターゲットリソース割り当て値は、ターゲットリソース最大割り当て値とターゲットリソース最小割り当て値を含むため、ターゲットリソース最大割り当て値と履歴リソース最大割り当て値との比、及びターゲットリソース最小割り当て値と履歴リソース最小割り当て値との比をそれぞれ決定することができる。これにより、2つの比をそれぞれ所定比と比較する。
【0139】
任意選択には、所定比は、任意の値であってもよく、例えば、0.2であってもよい。
【0140】
また、ターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、計算装置は、決定されたターゲットリソース割り当て値を使用するか否かをユーザの設定に応じて決定してもよい。
【0141】
可能な一実現形態では、ユーザは、決定されたターゲットリソース割り当て値を自動的に使用するように予め設定する可能性がある。ターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、決定されたターゲットリソース割り当て値を自動的に使用するように設定したとき、計算装置は、上記プロセスによりターゲットリソース割り当て値を決定した後、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に直接設定することができる。
【0142】
別の可能な一実現形態では、ユーザは、決定されたターゲットリソース割り当て値を自動的に使用しないように予め設定する可能性がある。ターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、決定されたターゲットリソース割り当て値を自動的に使用するように設定していないとき、計算装置は、上記プロセスによってターゲットリソース割り当て値を決定した後、第1報知情報を表示し、第1報知情報によってターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定するか否かを問い合わせる。
【0143】
任意選択には、第1報知情報は、第1コントローラと第2コントローラから提供される。ユーザは、第1コントローラをトリガすることにより、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定することを確認することができる。第2コントローラをトリガすることにより、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定しないことを確認することができる。
【0144】
なお、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定した後、ターゲットアプリケーションは、自ら再起動することができるため、再起動後のターゲットアプリケーションは、ターゲットリソース割り当て値に基づいてユーザにサービスを提供することができる。
【0145】
より多くの可能な実現形態では、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定した後、さらにターゲット装置に第2報知情報を送信することができる。そして、第2報知情報によってターゲットアプリケーションのリソース割り当ての調整状況を通知し、例えば、ターゲットアプリケーションのリソース割り当ての調整結果(すなわち、ターゲットリソース割り当て値)がいくつであるか、現在、ターゲットリソース割り当て値に対応するリソースをターゲットアプリケーションに割り当てることが成功したか否かなどである。
【0146】
ここでは、ターゲット装置は、計算装置に対応する管理装置であってもよい。関連技術者は、ターゲット装置によってアプリケーションの実行状況を監視することができる。
【0147】
なお、第2報知情報をターゲット装置に送信する必要があるか否かは、ユーザが実際のニーズに応じて設定してもよい。例えば、計算装置でターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定した後に第2報知情報をターゲット装置に自動的に送信することを設定してもよい。さらに、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定した後に第2報知情報をターゲット装置に送信する必要がないことを設定してもよ。本願は、これを限定しない。
【0148】
図2は、本願の例示的な実施例に係るリソース割り当て調整プロセスのフローチャートである。
図2に示すように、アプリケーションのリストを取得した後、各アプリケーションに対して、計算装置は、いずれもアプリケーションの監視指標(すなわち、CPU使用量、メモリ使用量、アプリケーションの再起動の回数、再起動の原因、CPUスロットリング量、アプリケーションメモリオーバーフローの回数等)を取得することができる。これにより、取得した監視指標に基づいてアプリケーションの実行タイプ(例えばCPU安定型、CPU変動型、メモリ安定型又はメモリ変動型)を決定する。そして、取得した監視指標に基づいてアプリケーションのCPU平均使用量、メモリ平均使用量、CPU最大使用量、メモリ最大使用量、CPU最小使用量、メモリ最小使用量、CPU使用量の標準偏差、及びメモリ使用量の標準偏差を計算する。これにより、上記データに基づいてアプリケーションのターゲットリソース割り当て値の決定を実現し、さらに決定したターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、ターゲットリソース割り当て値に基づいてアプリケーションに対して割り当て設定を行い、割り当て設定が完了した後にアプリケーションを再起動するが、ターゲットリソース割り当て値がリソース割り当て調整条件を満たさない場合に、再度、命令を待つか、又はリソース割り当て決定の時刻に到達するのを待って、再度、アプリケーションのリストを取得すればよい。
【0149】
上述した方法の実施例に対応し、本願はさらに、対応する装置及びそれに適用される計算装置の実施例を提供する。
【0150】
図3は、本願の例示的な実施例に係るリソース割り当て決定装置のブロック図である。
図3に示すように、該装置は、
所定の時間帯内のターゲットアプリケーションのリソース使用量とターゲットアプリケーションの履歴リソース割り当て値を取得するための取得モジュール301と、
所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプとリソース平均使用量を決定するための決定モジュール302であって、実行タイプは、ターゲットアプリケーションのリソース使用変動状況を示すために用いられる決定モジュール302と、を含み、
決定モジュール302は、リソース平均使用量と履歴リソース割り当て値に基づいて、リソース割り当て値を低下又は向上させることを示すためのターゲットパラメータを決定するために用いられ、
決定モジュール302は、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定するために用いられる。
【0151】
他の実施例では、決定モジュール302は、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて、ターゲットアプリケーションの実行タイプを決定する時、以下のように動作する。
所定の時間帯内のターゲットアプリケーションのリソース使用量が設定条件を満たすとき、ターゲットアプリケーションの実行タイプをリソース安定型として決定し、
所定の時間帯内のターゲットアプリケーションのリソース使用量が設定条件を満たさないとき、ターゲットアプリケーションの実行タイプをリソース変動型として決定する。
【0152】
他の実施例では、履歴リソース割り当て値は履歴リソース最大割り当て値を含み、
決定モジュール302は、リソース平均使用量と履歴リソース割り当て値に基づいて、ターゲットパラメータを決定する時、以下のように動作する。
リソース平均使用量と履歴リソース最大割り当て値との比をターゲットパラメータとして決定する。
【0153】
他の実施例では、履歴リソース割り当て値は履歴リソース最大割り当て値と履歴リソース最小割り当て値を含み、ターゲットリソース割り当て値はターゲットリソース最大割り当て値とターゲットリソース最小割り当て値を含み、
決定モジュール302は、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて、ターゲットアプリケーションのターゲットリソース割り当て値を決定する時、以下のように動作する。
ターゲットパラメータが第1パラメータ閾値よりも大きい場合に、実行タイプ、リソース平均使用量、リソース最大使用量、リソース使用量の標準偏差、CPUスロットリング量、及びアプリケーションメモリオーバーフローの回数に基づいて、ターゲットリソース最大割り当て値を決定し、リソース最小使用量とリソース平均使用量に基づいて、ターゲットリソース最小割り当て値を決定し、ここで、CPUスロットリング量とアプリケーションメモリオーバーフローの回数は予め取得されたデータであり、リソース最大使用量、リソース最小使用量、及びリソース使用量の標準偏差は、所定の時間帯内のターゲットアプリケーションのリソース使用量に基づいて決定され、
ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース平均使用量と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定し、リソース最小使用量に基づいて、ターゲットリソース最小割り当て値を決定し、
ターゲットパラメータが第2パラメータ閾値以上且つ第1パラメータ閾値以下である場合に、履歴リソース最大割り当て値をターゲットリソース最大割り当て値とし、履歴リソース最小割り当て値をターゲットリソース最小割り当て値とする。
【0154】
他の実施例では、アプリケーションメモリオーバーフローの回数の取得プロセスは、
記憶されたターゲットアプリケーションのアプリケーションメモリオーバーフローの回数を取得するステップと、
記憶されたターゲットアプリケーションの再起動の回数と再起動の原因を取得し、再起動の原因が設定条件を満たす再起動の回数を決定し、ターゲットアプリケーションのアプリケーションメモリオーバーフローの回数とするステップと、を含む。
【0155】
他の実施例では、リソースはCPUリソースとメモリリソースを含み、
決定モジュール302は、実行タイプ、リソース平均使用量、リソース最大使用量、リソース使用量の標準偏差、CPUスロットリング量、及びアプリケーションメモリオーバーフローの回数に基づいて、ターゲットリソース最大割り当て値を決定する時、以下のように動作する。
実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU平均使用量、CPU最大使用量、CPU使用量の標準偏差、及びCPUスロットリング量に基づいて、ターゲットCPU最大割り当て値を決定し、
実行タイプがメモリのリソース使用変動状況を示すために用いられる時、アプリケーションメモリオーバーフローの回数に基づいて、ターゲットアプリケーションのメモリオーバーフロー状況を決定し、メモリオーバーフロー状況、メモリ平均使用量、メモリ最大使用量、及びメモリ使用量の標準偏差に基づいて、ターゲットメモリ最大割り当て値を決定し、ここで、メモリオーバーフロー状況は、ターゲットアプリケーションにメモリオーバーフローが発生したか否かを示すために用いられる。
【0156】
他の実施例では、決定モジュール302は、実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU平均使用量、CPU最大使用量、CPU使用量の標準偏差、及びCPUスロットリング量に基づいて、ターゲットCPU最大割り当て値を決定する時、以下のように動作する。
実行タイプがCPU安定型である場合に、CPU平均使用量、CPU使用量の標準偏差、CPUスロットリング量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定し、
実行タイプがCPU変動型である場合に、CPU最大使用量、CPUスロットリング量、CPU使用量の標準偏差、CPU平均使用量、及び第1パラメータ設定値に基づいて、ターゲットCPU最大割り当て値を決定する。
【0157】
他の実施例では、決定モジュール302は、メモリオーバーフロー状況、メモリ平均使用量、メモリ最大使用量、及びメモリ使用量の標準偏差に基づいて、ターゲットメモリ最大割り当て値を決定する時、以下のように動作する。
実行タイプがメモリ安定型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定し、
実行タイプがメモリ安定型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生していないことを示すとき、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定し、
実行タイプがメモリ変動型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生したことを示すとき、メモリオーバーフローが発生する時のメモリ使用量、メモリ平均使用量、メモリ使用量の標準偏差、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定し、
実行タイプがメモリ変動型である場合に、メモリオーバーフロー状況がターゲットアプリケーションにメモリオーバーフローが発生していないことを示すとき、メモリ最大使用量、メモリ使用量の標準偏差、メモリ平均使用量、及び第1パラメータ設定値に基づいて、ターゲットメモリ最大割り当て値を決定する。
【0158】
他の実施例では、決定モジュール302は、リソース最小使用量とリソース平均使用量に基づいて、ターゲットリソース最小割り当て値を決定する時、以下のように動作する。
実行タイプがCPUのリソース使用変動状況を示すために用いられる時、CPU最小使用量に基づいて、ターゲットCPU最小割り当て値を決定し、
実行タイプがメモリのリソース使用変動状況を示すために用いられる時、メモリ平均使用量に基づいて、ターゲットメモリ最小割り当て値を決定する。
【0159】
他の実施例では、決定モジュール302は、ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース平均使用量と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定する時、以下のように動作する。
ターゲットパラメータが第2パラメータ閾値よりも小さい場合に、リソース平均使用量と履歴リソース最大割り当て値に基づいて、リソース平均使用率を決定し、
リソース平均使用率と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定する。
【0160】
他の実施例では、決定モジュール302は、リソース平均使用率と履歴リソース最大割り当て値に基づいて、ターゲットリソース最大割り当て値を決定する時、以下のように動作する。
リソース平均使用率が第3設定閾値よりも小さい場合に、履歴リソース最大割り当て値と第2パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定し、
リソース平均使用率が第3設定閾値以上且つ第4設定閾値未満である場合に、履歴リソース最大割り当て値と第3パラメータ設定値に基づいて、ターゲットリソース最大割り当て値を決定し、
リソース平均使用率が第4設定閾値以上である場合に、履歴リソース最大割り当て値をターゲットリソース最大割り当て値とする。
【0161】
他の実施例では、決定モジュール302は、ターゲットパラメータとターゲットアプリケーションの実行タイプに基づいて決定されたターゲットリソース最小割り当て値が設定リソース最小割り当て値よりも小さい場合に、設定リソース最小割り当て値をターゲットアプリケーションのターゲットリソース最小割り当て値として決定する。
【0162】
他の実施例では、該装置は、さらに、
ターゲットリソース割り当て値がリソース割り当て調整条件を満たす場合に、ターゲットリソース割り当て値に基づいてターゲットアプリケーションのリソース割り当てを調整するための調整モジュールを含む。
【0163】
ユーザは、決定されたターゲットリソース割り当て値を自動的に使用するように予め設定する可能性があり、
他の実施例では、調整モジュールは、ターゲットリソース割り当て値に基づいてターゲットアプリケーションのリソース割り当てを調整する時に、以下のように動作する。
決定されたターゲットリソース割り当て値を自動的に使用するように設定した場合、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定し、
決定されたターゲットリソース割り当て値を自動的に使用するように設定していない場合、ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定するか否かを問い合わせる第1報知情報を表示する。
【0164】
他の実施例では、当該装置は、さらに、
ターゲットアプリケーションのリソース割り当てをターゲットリソース割り当て値に設定する場合に、ターゲット装置に第2報知情報を送信するための送信モジュールであって、第2報知情報は、ターゲットアプリケーションのリソース割り当ての調整状況に基づいて通知するために用いられる送信モジュールを含む。
【0165】
他の実施例では、取得モジュール301は、さらに、所定時間帯ごとにリソース割り当て決定プロセスを行うと設定した場合に、リソース割り当て決定の時刻に到達したことに応答し、少なくとも1つのターゲットアプリケーションを含むアプリケーションのリストを取得する。
【0166】
取得モジュール301は、さらに、リソース割り当ての命令を受信したことに応答し、少なくとも1つのターゲットアプリケーションを含むアプリケーションのリストを取得する。
【0167】
上記装置における各モジュールの機能及び作用の実現プロセスは、具体的には、上記方法における対応するステップの実現プロセスを参照し、ここで説明を省略する。
【0168】
装置実施例については、それは基本的に方法実施例に対応するため、関する部分は方法実施例の一部の説明を参照すればよい。以上に説明された装置実施例は単に例示的なものであり、ここでは分離部材として説明された前記モジュールは物理的に分離されてもよいし、又は分離されなくてもよく、モジュールとして表示された部材は物理的なモジュールであってもよいし、又は物理的なモジュールでなくてもよく、すなわち1箇所に位置してもよいし、又は複数のネットワークモジュールに分布してもよい。実際のニーズに応じてそのうちの一部又は全部のモジュールを選択して本明細書の解決手段の目的を実現することができる。当業者は創造的な労働をせずに理解して実施することができる。
【0169】
本願はさらに、計算装置を提供し、
図4を参照し、
図4は本願の例示的な実施例に係る計算装置の構造概略図である。
図4に示すように、計算装置は、プロセッサ410と、メモリ420と、ネットワークインタフェースと430を含み、メモリ420はプロセッサ410で実行可能なコンピュータ命令を記憶するために用いられ、プロセッサ410は、前記コンピュータ命令を実行すると、本願のいずれかの実施例に係るリソース割り当ての決定方法を実現するために用いられ、ネットワークインタフェース430は入出力機能を実現するために用いられる。より多くの可能な実現形態では、計算装置はさらに他のハードウェアを含んでもよく、本願はこれを限定しない。
【0170】
本願は、さらに、コンピュータ読み取り可能な記憶媒体を提供し、コンピュータ読み取り可能な記憶媒体は様々な形態であってもよく、例えば、異なる例では、コンピュータ読み取り可能な記憶媒体は、例えば、ランダムアクセスメモリ(RAM:Radom Access Memory)、揮発性メモリ、不揮発性メモリ、フラッシュメモリ、ハードディスクドライブ等の記憶ドライブ、ソリッドステートドライブ、光ディスク、DVD等の任意のタイプの記憶ディスク等、又は類似する記憶媒体、又はこれらの組み合わせ等であってもよい。特に、コンピュータ読み取り可能な媒体は、紙、又はプログラムを印刷できる他の適切な媒体であってもよい。コンピュータの読み取り可能な記憶媒体にコンピュータプログラムが記憶され、コンピュータプログラムはプロセッサに実行されると、本願のいずれかの実施例に係るリソース割り当ての決定方法を実現する。
【0171】
本願はさらに、プロセッサに実行されると、本願のいずれかの実施例に係るリソース割り当ての決定方法を実現するコンピュータプログラムを含むコンピュータプログラム製品を提供する。
【0172】
当業者であれば理解されるように、本明細書の1つ又は複数の実施例は、方法、装置、計算装置、コンピュータ読み取り可能な記憶媒体又はコンピュータプログラム製品として提供されてもよい。そのため、本明細書の1つ又は複数の実施例は、完全なハードウェアの実施例、完全なソフトウェアの実施例又はソフトウェア及びハードウェアを組み合わせた実施例の形態を採用することができる。また、本明細書の1つ又は複数の実施例は、コンピュータで利用可能なプログラムコードを含む1つ又は複数のコンピュータで利用可能な記憶媒体(磁気ディスクメモリ、CD-ROM、光学メモリ等を含むがこれらに限定されない)で実施されるコンピュータプログラム製品の形態を採用することができる。
【0173】
本明細書における各実施例はいずれも漸進的な方式を採用して説明し、各実施例の間の同一又は類似する部分は互いに参照すればよく、各実施例は重点的に説明するのはいずれも他の実施例との相違点である。特に、計算装置に対応する実施例については、基本的に方法実施例と類似するため、説明されるものがシンプルであり、関する部分は方法実施例の一部の説明を参照すればよい。
【0174】
以上は特定の実施例を説明した。他の実施例は本願の範囲内にある。場合によっては、本願に記載の動作又はステップは実施例と異なる順序で実行することができ且つ依然として所望の結果を実現することができる。また、図に示されているプロセスは、必ずしも示されている特定の順序又は連続した順序を必要とせず、所望の結果を実現することができる。他の実施例において、マルチタスク処理及び並列処理は可能であり又は有利である。
【0175】
本明細書に記載されたテーマ及び機能動作の実施例は、デジタル電子回路、有形の形態のコンピュータソフトウェア又はファームウェア、本明細書に開示された構造及びそれらの構造的同等物を含むコンピュータハードウェア、又はそれらの1つ又は複数の組み合わせで実装することができる。本明細書に記載されたテーマの実施例は、1つ又は複数のコンピュータプログラム、すなわち有形の非一時的プログラムキャリアに符号化されることで、データ処理装置に実行され又はデータ処理装置の動作を制御したコンピュータプログラム命令のうちの1つ又は複数のモジュールとして実装することができる。あるいは、プログラム指令は、機械によって生成された電気信号、光信号、電磁信号等の人為的に生成された伝播信号に符号化され得て、その信号を生成することにより、情報を符号化して適切な受信装置に送信して、リソース割り当て決定装置によって実行される。コンピュータ記憶媒体は、機械読み取り可能なメモリデバイス、機械読み取り可能な記憶基板、ランダム又はシリアルアクセスメモリデバイス、又はこれらのうちの1つ又は複数の組み合わせであってもよい。
【0176】
なお、本明細書に説明された処理及び論理的な流れは、1又は複数のコンピュータプログラムを実行する1又は複数のプログラマブルコンピュータにより実行することができ、これにより入力されたデータに応じて動作を実行して出力を生成することにより対応する機能を実行する。また、前記処理及び論理的な流れは、FPGA(フィールドプログラマブルゲートアレイ)又はASIC(特定用途向け集積回路)などの専用ロジック回路により実行されてもよく、装置は専用ロジック回路として実現されてもよい。
【0177】
コンピュータプログラムの実行に適するコンピュータは、例えば汎用マイクロプロセッサ又は/及び専用のマイクロプロセッサ、又は任意の他のタイプの中央処理ユニットを含む。一般には、中央処理ユニットは、読み取り専用メモリ及び/又はランダムアクセスメモリから命令やデータを受信する。コンピュータの基本的なコンポーネントは、命令を実施又は実行するための中央処理ユニットと、命令及びデータを記憶するための1つ又は複数のメモリデバイスとを含む。一般には、コンピュータは磁気ディスク、光磁気ディスク、光ディスクなどのデータを記憶するための1つ又は複数の大容量メモリデバイスをさらに含み、又はコンピュータはこの大容量メモリデバイスに動作可能に結合することで、それからデータを受信したり、それに転送したりし、又は両方の場合がある。しかしながら、コンピュータにこのようなデバイスが必ず必要なものではない。さらに、コンピュータは、いくつかの例を挙げるだけで、携帯電話、パーソナルデジタルアシスタント(PDA)、モバイルオーディオ又はビデオプレーヤ、ゲームコンソール、全地球測位システム(GPS)受信機、又は汎用シリアルバス(USB)フラッシュメモリドライブなどのポータブルメモリデバイスなどの他の装置に組み込むことができる。
【0178】
コンピュータプログラム命令及びデータの記憶に適するコンピュータ読み取り可能な媒体には、半導体メモリデバイス(例えばEPROM、EEPROM及びフラッシュメモリ装置)、磁気ディスク(例えば内蔵ハードディスク又はリムーバブルディスク)、光磁気ディスク及びCD ROM及びDVD-ROMディスクを含むなどのあらゆる形態の不揮発性メモリ、媒体及びメモリデバイスが含まれ、プロセッサ及びメモリは、専用論理回路により補足されてもよく、または専用論理回路に組み込まれてもよい。
【0179】
本明細書は多くの具体的な実施詳細を含むが、これらはいかなる発明の範囲又は請求保護する範囲を限定するものではないと解釈されるべきであり、主に特定の発明の具体的な実施例の特徴を説明するために使用される。本明細書における複数の実施例に記載されたいくつかの特徴は、単一の実施例において組み合わせて実施することもできる。一方、単一の実施例に説明される様々な特徴は、複数の実施形態に別々に実施されてもよく、又は任意の適切なサブ組み合わせで実施されてもよい。さらに、特徴は、上述したようにいくつかの組み合わせにおいて機能することができ、かつ最初はこのように請求保護するが、請求保護する組み合わせからのうちの1つ又は複数の特徴はいくつかの場合にはその組み合わせから除去されてもよく、請求保護する組み合わせはサブ組み合わせ又はサブ組み合わせの変形を指すことができる。
【0180】
同様に、動作は図面に特定の順序で説明されているが、これらの動作が示された特定の順序で実行されるか又は順次実行されることを要求したり、全ての例示された動作が実行されることを要求したりすることで、所望の結果を実現すると理解すべきではない。場合によっては、マルチタスク処理や並列処理が有利である可能性がある。また、上述した実施例における様々なシステムモジュールやコンポーネントの分離は、全ての実施例に必要とされるものと理解すべきではなく、記載されたプログラムコンポーネントやシステムは、通常、単一のソフトウェア製品に統合されてもよいし、複数のソフトウェア製品としてパッケージ化されてもよいと理解すべきである。
【0181】
以上は本明細書の選択可能な実施例にすぎず、本明細書を限定するものではなく、本明細書の精神と原則を逸脱せずに行われたいかなる修正、均等置換、改善等はいずれも本明細書の特許範囲に含まれるべきである。