(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-12
(45)【発行日】2023-10-20
(54)【発明の名称】仮想マシンをスケジュールするための方法およびシステム
(51)【国際特許分類】
G06F 1/3228 20190101AFI20231013BHJP
G06F 9/455 20180101ALI20231013BHJP
G06F 1/3293 20190101ALI20231013BHJP
G06Q 50/10 20120101ALI20231013BHJP
G06F 9/50 20060101ALI20231013BHJP
【FI】
G06F1/3228
G06F9/455 150
G06F1/3293
G06Q50/10
G06F9/50 150D
(21)【出願番号】P 2020555379
(86)(22)【出願日】2019-04-02
(86)【国際出願番号】 CN2019080946
(87)【国際公開番号】W WO2019196701
(87)【国際公開日】2019-10-17
【審査請求日】2022-03-07
(31)【優先権主張番号】201810312065.8
(32)【優先日】2018-04-09
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】510330264
【氏名又は名称】アリババ・グループ・ホールディング・リミテッド
【氏名又は名称原語表記】ALIBABA GROUP HOLDING LIMITED
(74)【代理人】
【識別番号】100188558
【氏名又は名称】飯田 雅人
(74)【代理人】
【識別番号】100205785
【氏名又は名称】▲高▼橋 史生
(72)【発明者】
【氏名】ゼンション・ティアン
(72)【発明者】
【氏名】ハイホン・シュ
(72)【発明者】
【氏名】リンクアン・ジャン
(72)【発明者】
【氏名】ジュン・ソン
(72)【発明者】
【氏名】ボ・ジュ
(72)【発明者】
【氏名】ジュンジエ・カイ
【審査官】松浦 かおり
(56)【参考文献】
【文献】特表2013-524317(JP,A)
【文献】特開2012-069156(JP,A)
【文献】特開2017-134668(JP,A)
【文献】特開2013-152552(JP,A)
【文献】特開2013-092951(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 1/26 - 1/3296
G06F 9/455- 9/54
G06Q 10/00 -10/10
G06Q 30/00 -30/08
G06Q 50/00 -50/20
G06Q 50/26 -99/00
(57)【特許請求の範囲】
【請求項1】
仮想マシンをスケジュールするための方法であって、
ラック(複数可)のエネルギー消費データおよびホストコンピュータ
(複数可)のエネルギー消費データを取得することであって、前記ラック(複数可)が、前記ホストコンピュータ
(複数可)を配置するために使用される、ことと、
仮想マシンの電力消費データを決定することと、
前記仮想マシンが、事前設定された仮想マシンであるかどうかを判断することであって、前記事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、ことと、
前記仮想マシンが前記事前設定された仮想マシンではない場合、前記ラック(複数可)の前記エネルギー消費データ、前記ホストコンピュータ
(複数可)の前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに従って、前記仮想マシンに対応するターゲットホストコンピュータを決定することと、
前記仮想マシンが前記事前設定された仮想マシンである場合、前記ラック(複数可)および前記ホストコンピュータ(複数可)の前記電力消費データ、ならびに前記仮想マシンの前記電力消費データに従って、前記事前設定された仮想マシンの電力制限処理を行うことと、
前記ターゲットホストコンピュータに前記仮想マシンをディスパッチすることと
を含む、方法。
【請求項2】
前記エネルギー消費データが、電力消費データおよび電気加熱データを含む、請求項1に記載の方法。
【請求項3】
前記ラックの前記エネルギー消費データ、前記ホストコンピュータ
(複数可)の前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに従って、前記仮想マシンに対応する前記ターゲットホストコンピュータを決定することが、
前記ラック(複数可)の前記エネルギー消費データに従って、正常なエネルギー消費を有する第1のラック(複数可)を決定することと、
前記第1のラック(複数可)上に配置されたホストコンピュータ(複数可)のエネルギー消費データに従って、エネルギー消費が正常な第1のホストコンピュータ(複数可)を決定することと、
前記第1のホストコンピュータ(複数可)のエネルギー消費データおよび前記仮想マシンの
前記電力消費データに従って、前記ターゲットホストコンピュータを決定することと
を含む、請求項2に記載の方法。
【請求項4】
前記第1のホストコンピュータ(複数可)の前記エネルギー消費データおよび前記仮想マシンの
前記電力消費データに従って、前記ターゲットホストコンピュータを決定することが、
前記第1のホストコンピュータ(複数可)の電力消費データに従って、前記第1のホストコンピュータ(複数可)の重量値(複数可)を決定することであって、
前記第1のホストコンピュータ(複数可)の前記電力消費データが、
前記第1のホストコンピュータ(複数可)の前記重量値(複数可)に反比例する、ことと、
前記第1のホストコンピュータ(複数可)の前記重量値(複数可)および前記仮想マシンの前記電力消費データに従って、前記ターゲットホストコンピュータを取得することと
を含む、請求項3に記載の方法。
【請求項5】
前記第1のラック(複数可)は、電力消費データが第1の閾値を超えず、かつ、電気加熱データが第2の閾値を超えないラック(複数可)であり、前記第1のホストコンピュータ(複数可)は、前記第1のラック(複数可)上に配置され、第3の閾値を超えない電力消費データ、第4の閾値を超えない電気加熱データ、およびホストコンピュータに異常がないことを示すハードウェア検出結果を有する、請求項3に記載の方法。
【請求項6】
前記仮想マシンの前記電力消費データを決定することが、
相関モデルを介して前記仮想マシンの第1の電力消費データを取得することであって、前記相関モデルが、前記仮想マシンの特徴パラメータ間の相関を特徴付けるために使用される、取得することと、
前記仮想マシンの過去の電力消費データおよび特徴データに従って、前記仮想マシンの第2の電力消費データを取得することと、
前記第1の電力消費データおよび前記第2の電力消費データに従って、前記仮想マシンの前記電力消費データを決定することと
を含む、請求項2に記載の方法。
【請求項7】
前記相関モデルを介して前記仮想マシンの前記第1の電力消費データを取得することが、
前記仮想マシンの特徴ベクトル、および前記仮想マシンが位置しているホストコンピュータの電力消費データを取得することと、
前記第1の電力消費データを取得するために、前記相関モデルに、前記仮想マシンの前記特徴ベクトル、および前記仮想マシンが位置している前記ホストコンピュータの前記電力消費データを入力することと
を含む、請求項
6に記載の方法。
【請求項8】
前記相関モデルを介して前記仮想マシンの前記第1の電力消費データを取得する前に、前記方法が、
初期モデルを構築することと、
仮想マシンの過去の電力消費データ、前記仮想マシンの特徴ベクトル、および前記仮想マシンが位置しているホストコンピュータの過去の電力消費データを取得することによって、サンプルデータを取得することと、
前記相関モデルを取得するために、前記サンプルデータを使用して前記初期モデルを訓練することと
をさらに含む、請求項
6に記載の方法。
【請求項9】
前記ターゲットホストコンピュータに前記仮想マシンをディスパッチした後に、前記方法が、
前記ホストコンピュータ
(複数可)の過去の販売率
(複数可)を取得することと、
前記過去の販売率
(複数可)に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得することと、
前記第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、および前記ラックの定格電力消費データに基づいて、ラックの棚密度を取得することであって、前記棚密度が、同じラック上に配置されたホストコンピュータの数を特徴付けるために使用される、取得することと、をさらに含む、請求項2に記載の方法。
【請求項10】
前記第2のホストコンピュータ(複数可)の前記電力消費データ、前記事前設定された信頼度、および前記ラックの前記定格電力消費データに基づいて前記ラックの前記棚密度を取得することが、
前記電力消費データに従って、前記第2のホストコンピュータ(複数可)を昇順でランク付けすることと、
前記事前設定された信頼度に従って、前記ランク付けされた第2のホストコンピュータ(複数可)から、第3のホストコンピュータ(複数可)を取得することと、
前記第3のホストコンピュータ(複数可)の電力消費データから最大電力消費データを取得することと、
前記棚密度を取得するために、前記ラックの前記定格電力消費データと前記最大電力消費データとの間の比率を取得することと
をさらに含む、請求項
9に記載の方法。
【請求項11】
前記過去の販売率に従って、前記事前設定された条件を満たす前記第2のホストコンピュータ(複数可)を取得することが、
前記過去の販売率の降順で前記ホストコンピュータ(複数可)をランク付けすることと、
事前設定された販売率の閾値に従って、前記ランク付けされたホストコンピュータ(複数可)から、前記第2のホストコンピュータ(複数可)を取得することと
を含む、請求項
9に記載の方法。
【請求項12】
仮想マシンをスケジュールするための方法であって、
ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データを取得することであって、複数のホストコンピュータが、前記ラックに配置されている、ことと、
前記ラックの前記エネルギー消費データ、前記ホストコンピュータ(複数可)の前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに基づいて、前記仮想マシンに対応するターゲットホストコンピュータを決定することと、
前記
ターゲットホストコンピュータに前記仮想マシンをディスパッチすることと、
前記ラックの前記エネルギー消費データ、前記
ターゲットホストコンピュータの前記エネルギー消費データ
、および前記ホストコンピュータ(複数可)の過去の販売率に基づいて、前記ラックの棚密度を取得することであって、前記棚密度が、同じラック上に配置されたホストコンピュータの数を特徴付けるために使用され、
前記過去の販売率に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得することと、
前記第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、および前記ラックの定格電力消費データに基づいて、前記ラックの前記棚密度を取得することと
を含む、ことと
を含む、方法。
【請求項13】
記憶されたプログラムを備える記憶媒体であって、前記プログラムが実行されるときに、前記記憶媒体が位置するデバイスが、
ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、前記ラックが、前記ホストコンピュータを配置するために使用される、ステップと、
仮想マシンの電力消費データを決定するステップと、
前記仮想マシンが、事前設定された仮想マシンであるかどうかを判断するステップであって、前記事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、ステップと、
前記仮想マシンが前記事前設定された仮想マシンではない場合、前記ラックの前記エネルギー消費データ、前記ホストコンピュータの前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに従って、前記仮想マシンに対応するターゲットホストコンピュータを決定するステップと、
前記仮想マシンが前記事前設定された仮想マシンである場合、前記ラックおよび前記ホストコンピュータの前記電力消費データ、ならびに前記仮想マシンの前記電力消費データに従って、前記事前設定された仮想マシンの電力制限処理を行うステップと、
前記ターゲットホストコンピュータに前記仮想マシンをディスパッチするステップと
を行うように制御する、記憶媒体。
【請求項14】
プログラムを実行するように構成されたプロセッサであって、前記プログラムが実行されるときに、前記プログラムが、
ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、前記ラックが、前記ホストコンピュータを配置するために使用される、ステップと、
仮想マシンの電力消費データを決定するステップと、
前記仮想マシンが、事前設定された仮想マシンであるかどうかを判断するステップであって、前記事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、ステップと、
前記仮想マシンが前記事前設定された仮想マシンではない場合、前記ラックの前記エネルギー消費データ、前記ホストコンピュータの前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに従って、前記仮想マシンに対応するターゲットホストコンピュータを決定するステップと、
前記仮想マシンが前記事前設定された仮想マシンである場合、前記ラックおよび前記ホストコンピュータの前記電力消費データ、ならびに前記仮想マシンの前記電力消費データに従って、前記事前設定された仮想マシンの電力制限処理を行うステップと、
前記ターゲットホストコンピュータに前記仮想マシンをディスパッチするステップと
を実行する、プロセッサ。
【請求項15】
仮想マシンのスケジューリングシステムであって、
プロセッサと、
前記プロセッサに結合され、前記プロセッサに、
ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得する処理ステップであって、前記ラックが、前記ホストコンピュータを配置するために使用される、ステップと、
仮想マシンの電力消費データを決定する処理ステップと、
前記仮想マシンが、事前設定された仮想マシンであるかどうかを判断する処理ステップであって、前記事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、ステップと、
前記仮想マシンが前記事前設定された仮想マシンではない場合、前記ラックの前記エネルギー消費データ、前記ホストコンピュータ
(複数可)の前記エネルギー消費データ、および前記仮想マシンの前記電力消費データに従って、前記仮想マシンに対応するターゲットホストコンピュータを決定する処理ステップと、
前記仮想マシンが前記事前設定された仮想マシンである場合、前記ラック(複数可)および前記ホストコンピュータ(複数可)の前記電力消費データ、ならびに前記仮想マシンの前記電力消費データに従って、前記事前設定された仮想マシンの電力制限処理を行う処理ステップと、
前記ターゲットホストコンピュータに前記仮想マシンをディスパッチする処理ステップと
を処理するための命令を提供するように構成されたメモリと
を備える、仮想マシンのスケジューリングシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2018年4月9日に出願され、「Virtual Machine Scheduling Method and System」と題された中国特許出願第2018/10312065.8号の優先権を主張するものであり、その全体が参照により本明細書に組み込まれる。
【0002】
本出願は、クラウドコンピューティングの分野に関し、特に、仮想マシンのスケジューリング方法およびシステムに関する。
【背景技術】
【0003】
現在、業界におけるクラウドコンピューティングのスケジューリングは、一般に、CPU、メモリなどの静的要因と、CPU利用率、ネットワーク利用率などの動的要因とを使用して、ホストコンピュータ上で仮想マシンをスケジュールすることができるかどうかを共同で制限している、すなわち、既存の仮想マシンのスケジューリング方法は、CPUパラメータのみに基づいて実施されている。また、ホストコンピュータの電力消費は、均等に分散されていない。
【0004】
電力消費の観点から、マシンの電力消費を減少させる省電力の目的は、一般に、サーバのパラメータを調整すること(シャットダウン、ハイバーネーションを含む)によって達成される。既存の電力消費スケジューリングは、省電力スケジューリングに基づいており、休止状態のサーバの数を増やすことを試みている。しかしながら、データセンタの主な費用は、コンピュータ室およびデバイスの費用である。費用を完全に共有するためには、より多くのサーバをラックに搭載する必要があり、より多くの仮想マシンを販売する必要がある。現在の業界では、経験値に基づいてラックの密度を調整しており、ラック全体がパワーダウンして無駄が生じないようにスペースを確保する必要がある。
【0005】
既存の技術においてCPUパラメータに従ってのみ実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの問題を考慮すると、効果的な解決策は現在のところ提案されていない。
【発明の概要】
【0006】
本出願の実施形態は、既存の技術においてCPUパラメータに従ってのみ実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を少なくとも解決するために、仮想マシンをスケジュールするための方法およびシステムを提供する。
【0007】
本出願の実施形態の態様によれば、仮想マシンをスケジュールするための方法が提供され、この方法は、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得することであって、ラックは、ホストコンピュータを配置するために使用される、取得することと、仮想マシンの電力消費データを決定することと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定することと、ターゲットホストコンピュータに仮想マシンをディスパッチすることと、を含む。
【0008】
本出願の実施形態の別の態様によれば、仮想マシンをスケジュールするための方法も提供され、この方法は、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データを取得することであって、複数のホストコンピュータがラック内に配置されている、取得することと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに基づいて、仮想マシンに対応するターゲットホストコンピュータを決定することと、ホストコンピュータに仮想マシンをディスパッチすることと、ラックのエネルギー消費量データ、およびホストコンピュータのエネルギー消費量データに基づいて、ラックの棚密度を取得することであって、棚密度は、同じラック上に配置されたホストコンピュータの数を特徴付けるために使用される、取得することと、を含む。
【0009】
本出願の実施形態の別の態様によれば、記憶媒体も提供される。記憶媒体は、記憶されたプログラムを含む。プログラムは、実行されるときに、記憶媒体が位置しているデバイスを制御して、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、ラックは、ホストコンピュータを配置するために使用される、取得するステップと、仮想マシンの電力消費データを決定するステップと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、ターゲットホストコンピュータに仮想マシンをディスパッチするステップと、を行わせる。
【0010】
本出願の実施形態の別の態様によれば、プロセッサも提供され、プロセッサは、プログラムを実行するために使用され、プログラムは、プログラムが実行されているときに、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、ラックは、ホストコンピュータを配置するために使用される、取得するステップと、仮想マシンの電力消費データを決定するステップと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、ターゲットホストコンピュータに仮想マシンをディスパッチするステップと、を実行する。
【0011】
本出願の実施形態の別の態様によれば、仮想マシンのスケジューリングシステムも提供され、このシステムは、プロセッサと、プロセッサに結合され、プロセッサに、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得する処理ステップであって、ラックは、ホストコンピュータを配置するために使用される、取得する処理ステップと、仮想マシンの電力消費データを決定する処理ステップと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する処理ステップと、ターゲットホストコンピュータに仮想マシンをディスパッチする処理ステップと、を処理するための命令を提供するように構成されたメモリと、を含む。
【0012】
本出願の実施形態では、ラックおよびホストコンピュータのエネルギー消費データを取得することができ、同時に仮想マシンの電力消費データを決定することができる。ラックおよびホストコンピュータのエネルギー消費データ、ならびに仮想マシンの電力消費データに基づいて、ターゲットホストコンピュータを決定することができる。ターゲットホストコンピュータに仮想マシンをディスパッチすることができる。したがって、電力消費のリアルタイムの認識に基づいて仮想マシンをスケジュールする目的が達成される。
【0013】
既存の技術と比較して、仮想マシンに対応するターゲットホストコンピュータは、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って決定されるため、仮想マシンのスケジューリングを行うときに、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮していることに容易に気付く。データセンタのラック粒度におけるホストコンピュータの電力消費スケジューリングの均衡をとることが達成され、クラウドコンピューティングのデータセンタの資源利用率を改善する技術的な効果が達成される。
【0014】
したがって、本出願によって提供される解決策は、既存の技術において単にCPUパラメータに従って実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【図面の簡単な説明】
【0015】
本明細書に記載される添付の図面は、本出願のさらなる理解を提供し、本出願の一部を構成するために使用される。本出願の例示的な実施形態およびその記載は、本出願を説明するために使用され、本出願の不適切な制限を構成するものではない。添付の図面は、以下のとおりである。
【
図1】本出願の実施形態による、仮想マシンのスケジューリング方法を実施するためのコンピュータ端末(またはモバイルデバイス)のハードウェア構造のブロック図である。
【
図2】本出願の第1の実施形態による、仮想マシンをスケジュールするための方法のフローチャートである。
【
図3】本出願の実施形態による、代替仮想マシンのスケジューリング方法の概略図である。
【
図4】本出願の実施形態による、仮想マシンの電力消費モデルの代替相関行列の概略図である。
【
図5】本出願の実施形態による、仮想マシンの代替特徴ベクトルの概略図である。
【
図6】本出願の第2の実施形態による、仮想マシンをスケジュールするための方法のフローチャートである。
【
図7】本出願の第3の実施形態による、仮想マシンのスケジューリング装置の概略図である。
【
図8】本出願の第4の実施形態による、仮想マシンのスケジューリング装置の概略図である。
【
図9】本出願の実施形態による、コンピュータ端末の構造ブロック図である。
【発明を実施するための形態】
【0016】
当業者が本出願の解決策をより良好に理解することを可能にするために、本出願の実施形態における技術的な解決策が、本出願の実施形態における添付の図面を参照して、明確かつ完全に説明される。明らかに、記載される実施形態は、本出願の実施形態の単に一部を表しているに過ぎず、すべてを表しているわけではない。本出願の実施形態に基づいて、いかなる創造的な努力もすることなく、当業者によって取得された他のすべての実施形態は、本出願の保護の範囲内に含まれるものとする。
【0017】
本出願の説明および前述の図面における「第1」および「第2」などの用語は、類似の対象物を区別するために使用され、特定の順番または順序を説明するために必ずしも使用されているわけではないことに留意されたい。このようにして使用されるデータは、適宜交換可能であり、したがって、本明細書に記載される本出願の実施形態は、本明細書に例示または説明されるもの以外の順番で実施され得ることを理解されたい。加えて、「含む」、「有する」という用語、およびそれらの任意の変形は、非排他的な包括をカバーすることを意図している。例えば、一連のステップまたはユニットを含むプロセス、方法、システム、製品、またはデバイスは、必ずしも明示的に列挙されたステップまたはユニットに限定されるものではなく、明示的に列挙されていないか、またはかかるプロセス、方法、システム、製品、もしくはデバイスに固有の他のステップまたはユニットを含んでもよい。
【0018】
まず、本出願の実施形態を説明するプロセスに現れるいくつかの名詞または用語は、以下の解釈に適合する。
仮想マシン(Virtual machine、VM)のスケジューリング:仮想マシンを作成するとき、これは、スケジューリングシステムが特定のホストコンピュータ(NC)に仮想マシンを割り当てる方法のプロセスとすることができる。
【0019】
ラック(RACK):これは、コンピュータ室でホストコンピュータ(NC)が配置される棚とすることができ、定格電力消費に制限がある。
【0020】
棚密度:これは、同じラックの下に配置されたホストコンピュータ(NC)の数とすることができる。
【0021】
熱設計電力(Thermal design power、TDP):これは、最悪または最悪のケース下におけるプロセッサの電力消費とすることができる。熱的解決策の設計には、この熱設計電力を満たす必要がある。
【0022】
電力キャッピング:これは、ホストコンピュータ(NC)の電力制限であり、プロセッサの最大または最小の電力消費とすることができる。
【0023】
第1の実施形態
本出願の実施形態によれば、仮想マシンをスケジュールするための方法の実施形態も提供される。添付の図面のフローチャートに示すステップは、コンピュータ実行可能命令のセットなどのコンピュータシステムで実行することができることに留意する必要がある。また、フローチャートに、論理的な順番を示しているが、場合によっては、これらのステップは、本明細書に示すか、または説明されるものとは異なる順番で行われてもよい。
【0024】
本出願の第1の実施形態で提供される方法の実施形態は、モバイル端末、コンピュータ端末、または同様のコンピューティングデバイスで実行されてもよい。
図1は、仮想マシンのスケジューリング方法を実施するために使用されるコンピュータ端末(またはモバイルデバイス)のハードウェア構造のブロック図を示す。
図1に示すように、コンピュータ端末10(または、モバイルデバイス10)は、1つ以上の(図では102a、102b、...、102nとして図示される)プロセッサ102(プロセッサ102は、マイクロプロセッサMCU、またはプログラマブルロジックデバイスFPGAなどの処理デバイスを含んでもよいが、これらに限定されない)、データを記憶するために使用されるメモリ104、および通信機能に使用される伝送デバイス106を含んでもよい。加えて、ディスプレイ、入力/出力インターフェース(I/Oインターフェース)、ユニバーサルシリアルバス(universal serial bus、USB)ポート(I/Oインターフェースのポートの1つとして含めてもよい)、ネットワークインターフェース、電源、および/またはカメラも含んでもよい。当業者であれば、
図1に示す構造が、例示のみを意図しており、上記の電子デバイスの構造に対する制限として解釈されないことを理解することができる。例えば、コンピュータ端末10はまた、
図1に示す構成要素よりも多いか、もしくは少ない構成要素を含んでもよく、または
図1に示す構成とは異なる構成を有してもよい。
【0025】
1つ以上のプロセッサ102および/または他のデータ処理回路は、本明細書では概して、「データ処理回路」と呼ばれる場合があることに留意する必要がある。データ処理回路は、全体的または部分的に、ソフトウェア、ハードウェア、ファームウェア、または任意の他の組み合わせとして具体化することができる。加えて、データ処理回路は、単一の独立した処理モジュールであってもよく、またはコンピュータ端末10(もしくはモバイルデバイス)の他の構成要素のいずれか1つに完全にまたは部分的に統合されてもよい。本出願の実施形態で述べたように、データ処理回路は、一種のプロセッサ制御(例えば、選定したインターフェースに接続された可変抵抗端子経路)として使用される。
【0026】
メモリ104は、本出願の実施形態における仮想マシンのスケジューリング方法に対応するプログラム命令/データ記憶デバイスなどのソフトウェアプログラムおよびアプリケーションソフトウェアのモジュールを記憶するように構成されてもよい。プロセッサ(複数可)102は、メモリ104に記憶されたソフトウェアプログラム(複数可)およびモジュール(複数可)によって、さまざまな機能アプリケーションおよびデータ処理を実行する、すなわち、仮想マシンのスケジューリング方法を実施する。メモリ104は、高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気記憶デバイス、フラッシュメモリなどの不揮発性メモリ、または他の不揮発性ソリッドステートメモリも含んでもよい。いくつかの例では、メモリ104は、プロセッサ(複数可)102に対して遠隔に配備された記憶デバイスをさらに含んでもよく、これらの記憶デバイスは、ネットワークを介してコンピュータ端末10に接続されてもよい。ネットワークの例には、インターネット、企業内イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびそれらの組み合わせが挙げられるが、これらに限定されない。
【0027】
伝送デバイス106は、ネットワークを介してデータを受信または送信するように構成されている。ネットワークの具体例としては、コンピュータ端末10の通信事業者が提供する無線ネットワークを挙げることができる。一例では、伝送デバイス106は、インターネットと通信するために基地局を介して他のネットワークデバイスに接続することができるネットワークアダプタ(ネットワークインターフェースコントローラ、NIC)を含む。一例では、伝送デバイス106は、無線でインターネットと通信するために使用される無線周波数(radio frequency、RF)モジュールであってよい。
【0028】
ディスプレイは、例えば、タッチスクリーン液晶ディスプレイ(liquid crystal display、LCD)であってもよく、これにより、ユーザは、コンピュータ端末10(またはモバイルデバイス)のユーザインターフェースと対話することができる。
【0029】
本明細書で、いくつかの代替的な実施形態では、
図1に示すコンピュータデバイス(または、モバイルデバイス)は、ハードウェア要素(回路を含む)、およびソフトウェア要素(コンピュータ可読媒体に記憶されたコンピュータコードを含む)、またはハードウェア構成要素とソフトウェア構成要素との組み合わせを含んでもよいことに留意されたい。
図1は、具体的な実施形態の一例に過ぎず、上述のようなコンピュータデバイス(または、モバイルデバイス)に存在し得る構成要素のタイプを示すことを意図していることに留意されたい。
【0030】
上記の動作環境において、本出願は、
図2に示すような仮想マシンのスケジューリング方法のフローチャートを提供する。
図2は、本出願の第1の実施形態による、仮想マシンをスケジュールするための方法のフローチャートである。
【0031】
ステップS22:ラック(複数可)のエネルギー消費データおよびホストコンピュータ(複数可)のエネルギー消費データを取得し、ラック(複数可)は、ホストコンピュータ(複数可)を配置するために使用される。
【0032】
本出願で提供される仮想マシンのスケジューリング方法は、クラウドコンピューティングのデータセンタに適用されることに留意されたい。
【0033】
本出願の前述の実施形態では、エネルギー消費データは、電力消費データおよび電気加熱データを含む。
【0034】
具体的には、上述のようなホストコンピュータ(NC)は、ラック上に配置されたサーバであってもよい。エネルギー消費データは、ラック(複数可)またはNC(複数可)のリアルタイムの電力消費データおよび電気加熱データであってもよい。電気加熱データは、主にラック(複数可)またはNC(複数可)のそれぞれの温度(複数可)を指す。電力消費データおよび電気加熱データの両方には、在庫レベルおよび早期警告レベルが含まれており、早期警告レベルは、実際の使用要件に従って事前に構成された最小在庫レベルとすることができる。
【0035】
ステップS24:仮想マシンの電力消費データを決定する。
【0036】
具体的には、上述のような仮想マシンは、新規に作成された仮想マシン(VM)であってもよく、またはサーバVMおよびユーザVMを含む、2回目のスケジュールまたはマイグレーションが必要なVMであってもよい。仮想マシンの電力消費の均衡分散を確実に行うためには、仮想マシン(複数可)の電力消費データを決定する、すなわち、サーバVMおよびユーザVMの電力消費データを決定する必要がある。VMタイプが異なれば、対応する電力消費モデルも異なる。例えば、サーバVMに対応する電力消費モデルは、相関モデルであってもよく、ユーザVMに対応する電力消費モデルは、ユーザ行動モデルであってもよい。
【0037】
ステップS26:ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する。
【0038】
仮想マシンの電力消費の均衡スケジューリングを確実に行うために、スケジューリングシステムは、電力消費データ、在庫レベルなどに基づいて、省電力指向のスケジューリングを行うことができる、すなわち、ラック間の電力消費の変動を最小にするために、ラックおよびNCのエネルギー消費データと、VMの電力消費データとを組み合わせてVMの均衡スケジューリングを行い、十分な電力消費を有するNCに、高出力のVMが優先的にスケジュールされることを確実にする。言い換えれば、ラックおよびホストコンピュータのCPUのそれぞれの電力消費を可能な限り均等にする。
【0039】
ステップS28:ターゲットホストコンピュータに仮想マシンをディスパッチする。
【0040】
代替的な解決策では、VMをディスパッチする必要があるとき、ラック(複数可)およびラック(複数可)上に配置されたNC(複数可)の電力消費データおよび電気加熱データは、リアルタイムで収集することができ、VMの電力消費データおよび将来の電力消費データを同時に予測することができる。ラック(複数可)およびNC(複数可)の電力消費データおよび電気加熱データ、ならびに仮想マシンの電力消費データおよび将来の電力消費データに従って、対応するラックおよび対応するNCにVMをディスパッチする必要があると判断され(すなわち、VMに対応するNCを決定する)、その後、そのNCに仮想マシンをディスパッチする。
【0041】
例えば、
図3に示すように、VMが新しく作成されたとき、または2回目のスケジューリング/マイグレーションが行われたときに、ラックおよびNCの電力消費データ、ならびにIDC(Internet Data Center、インターネットデータセンタの略)の電気加熱データを収集することができる。VMの電力消費データは、サーバVM(複数可)の電力消費モデル(複数可)およびユーザVM(複数可)の電力消費モデル(複数可)を使用して取得される。ラックおよびNCの電力消費データ、IDCの電気加熱データ、ならびにVMの電力消費データは、スケジューリングシステムに入力される。スケジューリングアルゴリズムを使用して、クラスタ、ラック、およびサーバを選択するためにVMのスケジューリングが行われる。
【0042】
本出願の第1の実施形態で提供される解決策は、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データを取得し、仮想マシンの電力消費データを同時に決定し、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データ、ならびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定し、ターゲットホストコンピュータに仮想マシンをディスパッチすることができ、これにより、電力消費のリアルタイムの認識に基づいて仮想マシンをディスパッチする目的が達成される。
【0043】
既存の技術と比較して、仮想マシンに対応するターゲットホストコンピュータは、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って決定されるため、仮想マシンのスケジューリングを行うときに、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮していることに容易に気付く。データセンタのラック粒度におけるホストコンピュータの電力消費スケジューリングの均衡をとることが達成され、クラウドコンピューティングのデータセンタの資源利用率を改善する技術的な効果が達成される。
【0044】
したがって、本出願によって提供される第1の実施形態の解決策は、既存の技術において単にCPUパラメータに従って実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0045】
本出願の上記の実施形態では、ステップS26において、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定することは、
ステップS262:ラック(複数可)のエネルギー消費データに従って、正常なエネルギー消費を有する第1のラック(複数可)を決定することを含む。
【0046】
本出願の実施形態では、第1のラックは、電力消費データが第1の閾値を超えず、電気加熱データが第2の閾値を超えないラックである。
【0047】
ラックが過度の電力消費または高温になることを回避し、VMのディスパッチ後に電力消費が増加し続けるのを回避するために、ラックのフィルタリングを行うことで、VMをスケジュールする前に、電力消費が高く、温度が高いラックを排除することができる。言い換えれば、すべてのラックからエネルギー消費が正常なラックが決定され、エネルギー消費が異常なラックが排除される。
【0048】
具体的には、第1の閾値は、ラックの電力消費が正常であると判断するための最大電力消費であってもよい。ラックの電力消費データが第1の閾値を超える場合、ラックの電力消費が高過ぎると判断され、そのラックは、エネルギー消費が異常なラックである。第2の閾値は、ラックの温度が正常であると判断するための最高温度であってもよい。ラックの電気加熱データが第2の閾値を超える場合、ラックの温度が高過ぎると判断され、そのラックは、エネルギー消費が異常なラックである。
【0049】
ステップS264:第1のラック(複数可)上に配置されたホストコンピュータ(複数可)のエネルギー消費データに従って、エネルギー消費が正常な第1のホストコンピュータ(複数可)を決定する。
【0050】
本出願の実施形態では、第1のホストコンピュータは、第1のラック上に配置され、第3の閾値を超えない電力消費データ、第4の閾値を超えない電気加熱データ、および異常がないホストコンピュータを示すハードウェア検出結果を有する。
【0051】
ラックフィルタリングの原理と同様に、VMをスケジュールする前に、NCをフィルタリングすることで、電力消費が高いNC、温度が高いNC、および異常なハードウェア(異常なファンなど)を有するNCを排除することができる、すなわち、電力消費が正常なNCを決定し、エネルギー消費が正常なラック上に配置されたすべてのNCの中から、エネルギー消費が異常なNCを排除する。
【0052】
具体的には、第3の閾値は、NCの電力消費が正常であると判断するための最大電力消費であってもよい。NCの電力消費データが第3の閾値を超える場合、NCの電力消費が高過ぎると判断され、そのNCは、エネルギー消費が異常なNCである。第4の閾値は、NCの温度が正常であると判断するための最高温度であってもよい。NCの電気加熱データが第4の閾値を超える場合、NCの温度が高過ぎると判断され、そのNCは、エネルギー消費が異常なNCである。ハードウェア検出結果は、NCのハードウェア構成要素の検出を自動的に行い、NCにマークを付ける異常検出機構によって取得される結果であってもよい。
【0053】
エネルギー消費が異常なラック上のいかなるNCにもVMをディスパッチすることはできず、エネルギー消費が異常なNCにVMをディスパッチすることもできないことに留意されたい。言い換えれば、エネルギー消費が異常なラック上のすべてのNC、およびエネルギー消費が異常なNCは、VMスケジューリングを行うことができない。
【0054】
ステップS266:第1のホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定する。
【0055】
代替的な解決策では、異常なラックおよび異常なNCをフィルタリングした後、十分な電力消費レベルを有するNCに、高出力のVMを優先的にディスパッチする、すなわち、電力消費が低いNCに対応する高出力のVMを優先的にディスパッチすることを確実に行うために、フィルタリング後のNCのそれぞれの電力消費およびVMの電力消費に従ってVMに対応するターゲットNCを決定することができる。
【0056】
本出願の前述の実施形態では、ステップS266において、第1のホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定することは、
ステップS2662:第1のホストコンピュータ(複数可)の電力消費データに従って、第1のホストコンピュータ(複数可)の重量値(複数可)を決定することを含み、電力消費データは、重量値(複数可)に反比例する。
【0057】
具体的には、十分な電力消費レベルのNCに、電力消費が高いVMを優先的にディスパッチすることを確実に行うために、NCの電力消費に従って、対応する重量値を計算することができる。電力消費が高いNCの重量値は、小さい。
【0058】
ステップS2664:第1のホストコンピュータ(複数可)の重量値(複数可)および仮想マシンの電力消費データに従って、ターゲットホストコンピュータを取得する。
【0059】
代替的な解決策では、スケジューリングシステムをフィルタと重量計算デバイスとに分割することができる。エネルギー消費が異常なラックおよびNCがフィルタによってフィルタリングされた後、重量計算デバイスは、残りのNCの対応する重量値に従って各NCを計算し、NCの重量値およびVMの電力消費に従って残りのNCを重量計算およびスコア付けし、ターゲットNCを取得するために最高位のNCを選択することができる。例えば、NC1の場合、CPU利用率は20%で、電力消費利用率は60%である。合計負荷の重量比を計算すると、CPU利用率および電力消費利用率は、各々50%を占める。次に、NC1のスコアは、CPU利用率スコア+電力利用率スコア=100*50%*20%+100*50%*60%=10+30=40である。
【0060】
本出願の前述の実施形態では、ステップS26において、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する前に、本方法は、
ステップS210:仮想マシンが、事前設定された仮想マシンであるかどうかを判断するステップをさらに含むことができ、事前設定された仮想マシンは、スケジュールすることができない仮想マシンである。
【0061】
具体的には、事前設定された仮想マシンは、積極的にマイグレーションすることができないVMであってもよく、これは、セキュリティ要件に従って事前に設定されたVM、例えば、大容量メモリを備えたVMか、またはホットマイグレーションすることができないVMである。
【0062】
ステップS212:仮想マシンが事前設定された仮想マシンではない場合、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する。
【0063】
代替的な解決策では、積極的にマイグレーションすることができるVMの場合、ラックのエネルギー消費データに従ってラックをフィルタリングすることができ、NCのエネルギー消費データに従ってNCをさらにフィルタリングすることができる。フィルタリング後に残ったNCのエネルギー消費データに従って、対応する重量値が計算される。VMの電力消費データと組み合わせて、フィルタリング後に残ったNCに重量計算スコア付けを行い、それにより、ターゲットNCを取得するために最高位のNCを選択し、NCにVMをさらにディスパッチする。
【0064】
ステップS214:仮想マシンが事前設定された仮想マシンである場合、ラック(複数可)およびホストコンピュータ(複数可)の電力消費データ、ならびに仮想マシンの電力消費データに従って、事前設定された仮想マシンの電力制限処理を行う。
【0065】
代替的な解決策では、積極的にマイグレーションすることができないVMの場合、ラックレベルの安全性を確保するために、リアルタイムで収集されたラックおよびNCのエネルギー消費データ、ならびにVMの電力消費データに基づいて、積極的にマイグレーションすることができないVMに対して電力キャッピングを行うことができる。具体的には、ラックレベルの安全性を確保し、リアルタイムにスパイクを排除する電力キャッピングによってスケジュールする目的を達成するために、リアルタイムの電力消費データおよび早期警告レベルに従って、積極的にマイグレーションすることができないVMに対して電力キャッピングを行うことができる。例えば、10000Wのラックの場合、リアルタイムの電力消費は、90%(9000W)に達する。VMのマイグレーションが開始され、リアルタイムの電力消費は、95%(9500)に達する。電力キャッピング用にNCを選択することができる。
【0066】
例えば、
図3に示すように、スケジューリングアルゴリズムによってVMをスケジュールするプロセス中に、スケジューリングシステムは、ラックおよびNCの電力消費データ、IDCの電気加熱データ、および取得したVMの電力消費データに基づいて積極的にマイグレーションすることができるVM用のクラスタ、ラック、およびサーバを選択することができる。積極的にマイグレーションすることができないVMの場合、ラックおよびNCの電力消費データ、IDCの電気加熱データ、および取得したVMの電力消費データに基づいて、電力キャッピング構成を選択することができる。
【0067】
本出願の前述の実施形態では、ステップS24における仮想マシンの電力消費データを決定することは、
ステップS242:相関モデルを介して仮想マシンの第1の電力消費データを取得することを含み、相関モデルは、仮想マシンの特徴パラメータ間の相関を特徴付けるために使用される。
【0068】
具体的には、サーバVMの場合、VMの電力消費データは、相関モデル、例えば、
図4に示す相関行列(
図4の丸の色および大きさが異なり、それらの相関関係が異なることを示す)を介して取得することができる。行列の対角要素は、特定の特徴(Voltなど)の自己相関である。自己相関は1、すなわち、行列の対角要素の値がすべて1であり、行列は対称行列である。
図4および
図5に示すように、特徴パラメータは、CFreq、Util、Tempなどである。特徴パラメータとしては、Dev、CFreq、X.Util、X.C0、DTS、Temp、およびVoltが挙げられ得る。
【0069】
代替的な解決策では、
図3に示すように、サーバVMの場合、対応する電力消費データは、相関モデルを介して取得することができる。
【0070】
ステップS244:仮想マシンの過去の電力消費データおよび特徴データに従って、仮想マシンの第2の電力消費データを取得する。
【0071】
具体的には、過去の電力消費データは、ユーザVMのユーザの過去の電力消費データであってもよく、特徴データは、例えば、それがビッグデータユーザであるか、オフラインコンピューティングユーザであるかにかかわらず、ユーザ特徴であってもよい。
【0072】
代替的な解決策では、ユーザVMの場合、
図3に示すように、過去のデータ(すなわち、過去の電力消費データ)およびユーザ仕様(すなわち、特徴データ)を使用して、ユーザVMを高出力のVMとして分類し、それにより、将来の期間における電力消費データを予測することができる。
【0073】
ステップS246:第1の電力消費データおよび第2の電力消費データに従って、仮想マシンの電力消費データを決定する。
【0074】
代替的な解決策では、電力消費意識に基づいてVMスケジューリングを実施するために、VMの電力消費を決定する必要がある。
図3に示すように、サーバVMの電力消費は、サーバVMの電力消費モデル(すなわち、相関モデル)を介して取得することができる。消費データには、VM1、VM2、VM3、ホストサービス、および基本電力を含めることができる。同時に、ユーザVMの電力消費データは、過去のデータとユーザ仕様とを組み合わせて、ユーザVMの電力消費モデルを使用して取得することができる。
【0075】
本出願の前述の実施形態では、ステップS242において、相関モデルを介して仮想マシンの第1の電力消費データを取得することは、
ステップS2422:仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを取得することを含む。
【0076】
具体的には、特徴ベクトルは、CFreq、Util、およびTempなどの特徴寸法から構成されてもよい。
【0077】
ステップS2424:第1の電力消費データを取得するために、相関モデルに、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを入力する。
【0078】
具体的には、相関モデルは、電力割り当ての問題を介して取得することができ、電力割り当ての目標は、
【数1】
式中、Jが0に近いとき、電力消費量が割り当てられたと判断することができ、nは、NC上のプロセスの数、すなわち、NC上のVMの数を表し、Pは、収集された実際のCPUの電力消費量、すなわち、NCの電力消費データであり、CPUの数は、本明細書では限定されずにNとすることができ、p
iは、各プロセスの電力消費量、すなわち、各VMの電力消費量であり、線形モデルで表すことができ、具体的には、p
i=WXi+bであり、式中、Wは、パラメータ因子行列、bはオフセットであり、Wおよびbは、学習によって取得することができ、その結果、Wおよびbを取得した後にVMの電力消費データを取得することができ、Xは、
図5に示すように、特徴情報から構成される特徴ベクトルである。
【0079】
次に、電力割り当ての目的関数は、
【数2】
となる。
【0080】
以上からわかるように、電力消費割り当てモデルを取得するには、NC下のすべてのVM特徴値の累積値、およびNCの電力消費量を使用してモデルを構築する必要がある。したがって、電力消費割り当てモデルに従って、VM電力消費モデル、すなわち、相関モデルを取得することができる。
【0081】
代替的な解決策では、特定のVMの電力消費データを決定する必要があるとき、VMの特徴ベクトルX、および関連するホストコンピュータの電力消費データPを取得することができ、XおよびPを相関モデルに入力することができる。Xを入力した後、Wおよびbが取得される。Pを入力した後、VMの電力消費データは、pi=WXi+bを使用して取得することができる。
【0082】
本出願の前述の実施形態では、ステップS242において、相関モデルを介して仮想マシンの第1の電力消費データを取得する前に、本方法は、
ステップS248:初期モデルを構築するステップをさらに含んでもよい。
【0083】
具体的には、初期モデルは、電力消費割り当て問題および相関行列に従って決定されたモデルであってもよい。
【0084】
ステップS2410:仮想マシンの過去の電力消費データ、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの過去の電力消費データを取得することによって、サンプルデータを取得する。
【0085】
具体的には、訓練モデルのサンプルデータは、VMの過去の電力消費データおよび特徴ベクトル、ならびに対応するNCの電力消費データから構成することができる。VMの過去の電力消費データは、VMの特徴ベクトルおよびNCの電力消費データのタグとして使用することができる。
【0086】
ステップS2412:相関モデルを取得するために、サンプルデータを使用して初期モデルを訓練する。
【0087】
代替的な解決策では、初期モデルは、取得されたサンプルデータを介して訓練される。以上からわかるように、Wおよびbを計算し、Wおよびbが訓練要件を満たしたら訓練は完了し、それにより、相関モデルを取得することができる。言い換えれば、モデルを訓練するプロセスは、Wおよびbを解くプロセスである。
【0088】
本出願の前述の実施形態では、ステップS28において、ターゲットホストコンピュータに仮想マシンをディスパッチした後、本方法は、
ステップS216:ホストコンピュータの過去の販売率を取得するステップをさらに含んでもよい。
【0089】
具体的には、過去の販売率は、ユーザがホストコンピュータを使用する頻度を表すために使用される。過去の販売率が高いほど、ユーザの使用頻度が高くなり、ラック上にホストコンピュータを配置する必要性が高くなる。したがって、これはラックの棚密度に大きな影響を与える。
【0090】
ステップS218:過去の販売率に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得する。
【0091】
具体的には、ホストコンピュータの過去の販売率が高いほど、関連するラックの棚密度への影響が大きくなる。販売率の高いホストコンピュータを選択することができる。したがって、事前設定された条件は、比較的販売率が高いホストコンピュータの販売率の閾値を表す場合がある。
【0092】
選択されたNCが確実に要件を満たすためには、選択されたNCの数が十分に大きくなる、例えば1,000を超えるようにする必要があることに留意されたい。
【0093】
ステップS220:第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、およびラックの定格電力消費データに基づいて、ラックの棚密度を取得し、棚密度は、同じラック上に配置されたホストコンピュータの数を特徴付けるために使用される。
【0094】
具体的には、事前設定された信頼度は、サービス固有の電力キャッピングと異常な電力消費との間の比率に従って取得されてもよい。例えば、サービス固有の電力キャッピングと異常な電力消費との間の比率が5%の場合、事前設定された信頼度は95%となり得る、すなわち、棚密度が95%のときに信頼できる。
【0095】
前述の事前設定された信頼度は、定義された値でなくてもよいが、確信間隔であってもよいことに留意されたい。
【0096】
代替的な解決策では、ラックは、定格電力消費を有する。安全性を確保するため、ラック上に配置された後のすべてのホストコンピュータの合計電力消費量は、ラックの定格電力消費量を超えることはできない。事前設定された信頼度の存在により、事前設定された信頼度およびNCの電力消費データに基づいてNCをフィルタリングして選択することができ、棚密度は、選択されたNCの電力消費データおよびラックの合計電力消費量に基づいて取得することができる。
【0097】
上述の解決策により、棚密度を指定することによってサービスの安全性を確保することができる。また、棚基準を設けることができ、その結果、ラックのパワーダウンを防止するためのスペースを事前に確保する必要がなく、費用低減の目的を実現することができる。
【0098】
本出願の前述の実施形態では、ステップS220において、第2のホストコンピュータの電力消費データ、事前設定された信頼度、およびラックの定格電力消費データに基づいてラックの棚密度を取得することは、
ステップS2202:電力消費データに従って、第2のホストコンピュータ(複数可)を昇順でランク付けすることを含む。
【0099】
ステップS2204:事前設定された信頼度に従って、ランク付けされた第2のホストコンピュータ(複数可)から、第3のホストコンピュータ(複数可)を取得する。
【0100】
サービスの安全性を確保するためには、信頼性のレベルの影響により、事前設定された信頼性のレベルに従って電力消費の低いNCを選択することができることに留意されたい。
【0101】
代替的な解決策では、NCの電力消費データの昇順に従ってランク付けを行うことができ、事前設定された信頼度に従って、より高いランクのNCを選択することができる。例えば、事前設定された信頼度が95%で、1000個のNCは、電力消費の昇順(例えば、1~1000w)でランク付けされ、最初の95%のNC(例えば、1~950w)が選択される、すなわち、上位950個のNCが選択される。
【0102】
ステップS2206:第3のホストコンピュータ(複数可)の電力消費データから最大電力消費データを取得する。
【0103】
ステップS2208:棚密度を取得するために、ラックの定格電力消費データと最大電力消費データとの間の比率を取得する。
【0104】
代替的な解決策では、対応するNCの最大電力消費量は、事前設定された信頼度に従って、棚に対して選択することができる。言い換えれば、NCを選択した後、棚密度は、コンピュータラックの定格電力消費量とNCの最大電力消費量との間の比率から取得することができる。例えば、上位ランクの950個のNC(例えば、1~950w)が選択された後、棚密度は、ラックの定格電力消費量8000w/950w=8として決定することができる、すなわち、そのラック上に8個のNCを配置することができる。
【0105】
本出願の前述の実施形態では、ステップS218において、過去の販売率に従って事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得することは、
ステップS2182:過去の販売率の降順でホストコンピュータ(複数可)をランク付けすることを含む。
【0106】
ステップS2184:事前設定された販売率の閾値に従って、ランク付けされたホストコンピュータ(複数可)から、第2のホストコンピュータ(複数可)を取得する。
【0107】
具体的には、事前設定された販売率の閾値は、比較的高い販売率のNCをフィルタリングおよび選択するために使用される最小販売率であってもよく、これは、例えば、90%であってもよい。
【0108】
代替的な解決策では、棚密度を計算するために、比較的高い販売率のNCをフィルタリングして、選択する必要がある。すべてのNCは、販売率の降順に従って分類することができ、上位のNCが選択される。例えば、NCを分類した後、上位90%のNCを選択することができる。同時に、NCの数が十分であるようにする必要がある。
【0109】
前述の方法の例示的な実施形態は、説明を簡単にするために、すべて一連の動作の組み合わせとして表現されていることに留意されたい。しかしながら、当業者であれば、いくつかのステップは、本出願に従って他の順番で、または並行して行うことができるので、本出願は、記載された一連の動作によって限定されないことを理解すべきである。さらに、当業者であれば、本明細書に記載された実施形態はすべて好ましい実施形態であり、そこに含まれる動作およびモジュールは、本出願によって必ずしも必要とされない場合があることも理解すべきである。
【0110】
上記の実施形態の説明を通して、当業者であれば、上記の実施形態による方法は、ソフトウェアに加えて必要な一般のハードウェアプラットフォームを用いて実施することができ、明らかに、ハードウェアによっても実施することもできることを明確に理解することができる。しかしながら、多くの場合、前者がより良好な実施である。かかる理解に基づいて、本出願の技術的な解決策の本質、または既存の技術に貢献する部分は、ソフトウェア製品の形態で具体化することができる。かかるコンピュータソフトウェア製品は、記憶媒体(ROM/RAM、磁気ディスク、光ディスクなど)に記憶され、(携帯電話、コンピュータ、サーバ、またはネットワークデバイスなどとすることができる)端末デバイスに、本出願の各実施形態で説明した方法を実行させるためのいくつかの命令を含む。
【0111】
第2の実施形態
本出願の実施形態によれば、仮想マシンをスケジュールするための方法の実施形態も提供される。添付の図面のフローチャートに示すステップは、コンピュータ実行可能命令のセットなどのコンピュータシステムで実行することができることに留意する必要がある。また、フローチャートに、論理的な順番を示しているが、場合によっては、これらのステップは、本明細書に示すか、または説明されるものとは異なる順番で行われてもよい。
【0112】
図6は、本出願の第2の実施形態による、仮想マシンをスケジュールするための方法のフローチャートである。
図6に示すように、本方法は、以下のステップを含んでもよい。
ステップS62:ラックのエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データを取得し、複数のホストコンピュータは、ラック上に配置されている。
【0113】
本出願で提供される仮想マシンのスケジューリング方法は、クラウドコンピューティングのデータセンタに適用されることに留意されたい。
【0114】
本出願の前述の実施形態では、エネルギー消費データは、電力消費データおよび電気加熱データを含む。
【0115】
具体的には、上述のようなホストコンピュータ(NC)は、ラック上に配置されたサーバであってもよい。エネルギー消費データは、ラック(複数可)またはNC(複数可)のリアルタイムの電力消費データおよび電気加熱データであってもよい。電気加熱データは、主にラック(複数可)またはNC(複数可)のそれぞれの温度(複数可)を指す。電力消費データおよび電気加熱データの両方には、在庫レベルおよび早期警告レベルが含まれており、早期警告レベルは、実際の使用要件に従って事前に構成された最小在庫レベルとすることができる。上述のような仮想マシンは、新規に作成された仮想マシン(VM)であってもよく、またはサーバVMおよびユーザVMを含む、2回目のスケジュールまたはマイグレーションが必要なVMであってもよい。仮想マシンの電力消費の均衡分散を確実に行うためには、仮想マシン(複数可)の電力消費データを決定する、すなわち、サーバVMおよびユーザVMの電力消費データを決定する必要がある。VMタイプが異なれば、対応する電力消費モデルも異なる。例えば、サーバVMに対応する電力消費モデルは、相関モデルであってもよく、ユーザVMに対応する電力消費モデルは、ユーザ行動モデルであってもよい。
【0116】
ステップS64:ラックのエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する。
【0117】
仮想マシンの電力消費の均衡スケジューリングを確実に行うために、スケジューリングシステムは、電力消費データ、在庫レベルなどに基づいて、省電力指向のスケジューリングを行うことができる、すなわち、ラック間の電力消費の変動を最小にするために、ラックおよびNCのエネルギー消費データと、VMの電力消費データとを組み合わせてVMの均衡スケジューリングを行い、高出力のVMが十分な電力消費を有するNCに優先的にスケジュールされることを確実にする。言い換えれば、ラックおよびホストコンピュータのCPUのそれぞれの電力消費を可能な限り均等にする。
【0118】
ステップS66:ホストコンピュータに仮想マシンをディスパッチする。
【0119】
代替的な解決策では、VMをディスパッチする必要があるとき、ラック(複数可)およびラック(複数可)上に配置されたNC(複数可)の電力消費データおよび電気加熱データは、リアルタイムで収集することができ、VMの電力消費データおよび将来の電力消費データを同時に予測することができる。ラック(複数可)およびNC(複数可)の電力消費データおよび電気加熱データ、ならびに仮想マシンの電力消費データおよび将来の電力消費データに従って、対応するラックおよび対応するNCにVMをディスパッチする必要があると判断され(すなわち、VMに対応するNCを決定する)、その後、そのNCに仮想マシンをディスパッチする。
【0120】
例えば、
図3に示すように、VMが新しく作成されたとき、または2回目のスケジューリング/マイグレーションが行われたときに、ラックおよびNCの電力消費データ、ならびにIDCの電気加熱データを収集することができる。VMの電力消費データは、サーバVM(複数可)の電力消費モデル(複数可)およびユーザVM(複数可)の電力消費モデル(複数可)を使用して取得される。ラックおよびNCの電力消費データ、IDCの電気加熱データ、ならびにVMの電力消費データは、スケジューリングシステムに入力される。スケジューリングアルゴリズムを使用して、クラスタ、ラック、およびサーバを選択するためにVMのスケジューリングが行われる。
【0121】
ステップS68:ラックのエネルギー消費データ、およびホストコンピュータ(複数可)のエネルギー消費データに従って、ラックの棚密度を取得し、棚密度は、同じラック上に配置されたホストコンピュータ(複数可)の数を表すために使用される。
【0122】
代替的な解決策では、ラックは、定格電力消費を有する。安全性を確保するため、ラック上に配置された後のすべてのホストコンピュータの合計電力消費量は、ラックの定格電力消費量を超えることはできない。ラックの棚密度は、NCの電力消費データ、およびホストコンピュータの定格電力消費データに基づいて取得することができる。それにより、棚密度の基準が得られる。ラックのパワーダウンを防止し、費用低減の目的を達成するために、事前にマシンスペースを確保する必要はない。
【0123】
本出願の第2の実施形態で提供される解決策は、ラックおよびホストコンピュータのエネルギー消費データを取得し、同時に仮想マシンの電力消費データを決定し、ラックおよびホストコンピュータのエネルギー消費データ、ならびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定し、ターゲットホストコンピュータに仮想マシンをディスパッチし、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに従って、ラックの棚密度を取得することができる。これにより、リアルタイムの電力消費意識に基づく仮想マシンのスケジューリングを実現し、棚密度の基準を得る目的を実現する。
【0124】
ラックのエネルギー消費量データ、ホストコンピュータのエネルギー消費量データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータが決定されることに容易に気付く。ラックの棚密度は、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに基づいて取得される。既存の技術と比較して、仮想マシンのスケジューリングが行われるとき、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮される。データセンタのラック粒度におけるホストコンピュータの電力消費のスケジューリングの均衡を実現することにより、正確な棚密度を取得し、棚密度を増加させ、クラウドコンピューティングのデータセンタの資源利用率の技術的な効果を改善することができる。
【0125】
したがって、本出願によって提供される第2の実施形態の上述の解決策は、既存の技術においてCPUパラメータのみに従って実施される仮想マシンスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0126】
本出願の前述の実施形態では、ステップS68において、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに基づいてラックの棚密度を取得することは、
ステップS682:ホストコンピュータの過去の販売率を取得することを含む。
【0127】
具体的には、過去の販売率は、ユーザがホストコンピュータを使用する頻度を表すために使用される。過去の販売率が高いほど、ユーザの使用頻度が高くなり、ラック上に配置する必要性が高くなる。したがって、これはラックの棚密度に大きな影響を与える。
【0128】
ステップS684:過去の販売率に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得する。
【0129】
具体的には、ホストコンピュータの過去の販売率が高いほど、関連するラックの棚密度への影響が大きくなる。販売率の高いホストコンピュータを選択することができる。したがって、事前設定された条件は、比較的販売率が高いホストコンピュータの販売率の閾値を表す場合がある。
【0130】
選択されたNCが確実に要件を満たすようにするために、選択されたNCの数が十分に大きくなる、例えば1,000を超えるようにする必要があることに留意されたい。
【0131】
ステップS686:第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、およびラックの定格電力消費データに基づいて、ラックの棚密度を取得する。
【0132】
具体的には、事前設定された信頼度は、サービス固有の電力キャッピングと異常な電力消費との間の比率に従って取得されてもよい。例えば、サービス固有の電力キャッピングと異常な電力消費との間の比率が5%の場合、事前設定された信頼度は95%となり得る、すなわち、棚密度が95%のときに信頼できる。
【0133】
前述の事前設定された信頼度は、定義された値でなくてもよいが、確信間隔であってもよいことに留意されたい。
【0134】
代替的な解決策では、事前設定された信頼度の存在により、事前設定された信頼度およびNCの電力消費データに基づいてNCをフィルタリングして、選択することができ、棚密度は、選択されたNCの電力消費データおよびラックの合計電力消費量に基づいて取得することができる。
【0135】
本実施形態の好ましい実装については、第1の実施形態の関連する説明を参照してもよく、本明細書では繰り返さないことに留意されたい。
【0136】
第3の実施形態
本出願の実施形態によれば、上記の仮想マシンのスケジューリング方法を実施するために、仮想マシンのスケジューリング装置も提供される。
図7に示すように、装置700は、第1の取得モジュール702、第1の決定モジュール704、第2の決定モジュール706、および第1のスケジューリングモジュール708を含む。
【0137】
第1の取得モジュール702は、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するように構成されており、ラックは、ホストコンピュータを配置するために使用される。第1の決定モジュール704は、仮想マシンの電力消費データを決定するように構成されている。第2の決定モジュール706は、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するように構成されている。第1のスケジューリングモジュール708は、ターゲットホストコンピュータに仮想マシンをディスパッチするように構成されている。
【0138】
本出願の前述の実施形態では、エネルギー消費データは、電力消費データおよび電気加熱データを含む。
【0139】
具体的には、上述のようなホストコンピュータ(NC)は、ラック上に配置されたサーバであってもよい。エネルギー消費データは、ラック(複数可)またはNC(複数可)のリアルタイムの電力消費データおよび電気加熱データであってもよい。電気加熱データは、主にラック(複数可)またはNC(複数可)のそれぞれの温度(複数可)を指す。電力消費データおよび電気加熱データの両方には、在庫レベルおよび早期警告レベルが含まれており、早期警告レベルは、実際の使用要件に従って事前に構成された最小在庫レベルとすることができる。上述のような仮想マシンは、新規に作成された仮想マシン(VM)であってもよく、またはサーバVMおよびユーザVMを含む、2回目のスケジュールまたはマイグレーションが必要なVMであってもよい。仮想マシンの電力消費の均衡分散を確実に行うためには、仮想マシン(複数可)の電力消費データを決定する、すなわち、サーバVMおよびユーザVMの電力消費データを決定する必要がある。VMタイプが異なれば、対応する電力消費モデルも異なる。例えば、サーバVMに対応する電力消費モデルは、相関モデルであってもよく、ユーザVMに対応する電力消費モデルは、ユーザ行動モデルであってもよい。
【0140】
本明細書で、第1の取得モジュール702、第1の決定モジュール704、第2の決定モジュール706、および第1のスケジューリングモジュール708は、第1の実施形態におけるステップS22~S28に対応することに留意されたい。これらの4つのモジュールの実装形態および応用シナリオの例は、対応するステップのそれらと同じであるが、第1の実施形態で開示された内容に限定されるものではない。説明したモジュールは、装置の一部として第1の実施形態で提供されるコンピュータ端末10で実行することができる。
【0141】
本出願の第3の実施形態で提供される解決策は、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データを取得し、仮想マシンの電力消費データを同時に決定し、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データ、ならびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定し、ターゲットホストコンピュータに仮想マシンをディスパッチすることができ、これにより、電力消費のリアルタイムの認識に基づいて仮想マシンをディスパッチする目的が達成される。
【0142】
既存の技術と比較して、仮想マシンに対応するターゲットホストコンピュータは、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って決定されるため、仮想マシンのスケジューリングを行うときに、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮していることに容易に気付く。データセンタのラック粒度におけるホストコンピュータの電力消費スケジューリングの均衡をとることが達成され、クラウドコンピューティングのデータセンタの資源利用率を改善する技術的な効果が達成される。
【0143】
したがって、本出願によって提供される第3の実施形態の解決策は、既存の技術において単にCPUパラメータに従って実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0144】
第4の実施形態
本出願の実施形態によれば、上記の仮想マシンのスケジューリング方法を実施するために、仮想マシンのスケジューリング装置も提供される。
図8に示すように、装置800は、第2の取得モジュール802、第3の決定モジュール804、第2のスケジューリングモジュール806、および処理モジュール808を含む。
【0145】
第2の取得モジュール802は、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データを取得するように構成されており、複数のホストコンピュータは、ラックに配置されている。第3の決定モジュール804は、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに基づいて、仮想マシンに対応するターゲットホストコンピュータを決定するように構成されている。第2のスケジューリングモジュール806は、ホストコンピュータに仮想マシンをディスパッチするように構成されており、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに基づいて、ラックの棚密度を取得し、棚密度は、同じラック上に配置されたホストコンピュータの数を特徴付けるために使用される。
【0146】
本出願の前述の実施形態では、エネルギー消費データは、電力消費データおよび電気加熱データを含む。
【0147】
具体的には、上述のようなホストコンピュータ(NC)は、ラック上に配置されたサーバであってもよい。エネルギー消費データは、ラック(複数可)またはNC(複数可)のリアルタイムの電力消費データおよび電気加熱データであってもよい。電気加熱データは、主にラック(複数可)またはNC(複数可)のそれぞれの温度(複数可)を指す。電力消費データおよび電気加熱データの両方には、在庫レベルおよび早期警告レベルが含まれており、早期警告レベルは、実際の使用要件に従って事前に構成された最小在庫レベルとすることができる。上述のような仮想マシンは、新規に作成された仮想マシン(VM)であってもよく、またはサーバVMおよびユーザVMを含む、2回目のスケジュールまたはマイグレーションが必要なVMであってもよい。仮想マシンの電力消費の均衡分散を確実に行うためには、仮想マシン(複数可)の電力消費データを決定する、すなわち、サーバVMおよびユーザVMの電力消費データを決定する必要がある。VMタイプが異なれば、対応する電力消費モデルも異なる。例えば、サーバVMに対応する電力消費モデルは、相関モデルであってもよく、ユーザVMに対応する電力消費モデルは、ユーザ行動モデルであってもよい。
【0148】
本明細書で、第2の取得モジュール802、第3の決定モジュール804、第2のスケジューリングモジュール806、および処理モジュール808は、第2の実施形態におけるステップS62~S68に対応することに留意されたい。これらの4つのモジュールの実装形態および応用シナリオの例は、対応するステップのそれらと同じであるが、第2の実施形態で開示された内容に限定されるものではない。説明したモジュールは、装置の一部として第1の実施形態で提供されるコンピュータ端末10で実行することができる。
【0149】
本出願の第4の実施形態で提供される解決策は、ラックおよびホストコンピュータのエネルギー消費データを取得し、同時に仮想マシンの電力消費データを決定し、ラックおよびホストコンピュータのエネルギー消費データ、ならびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定し、ターゲットホストコンピュータに仮想マシンをディスパッチし、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに従って、ラックの棚密度を取得することができる。これにより、リアルタイムの電力消費意識に基づく仮想マシンのスケジューリングを実現し、棚密度の基準を得る目的を実現する。
【0150】
ラックのエネルギー消費量データ、ホストコンピュータのエネルギー消費量データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータが決定されることに容易に気付く。ラックの棚密度は、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データに基づいて取得される。既存の技術と比較して、仮想マシンのスケジューリングが行われるとき、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮される。データセンタのラック粒度におけるホストコンピュータの電力消費のスケジューリングの均衡を実現することにより、正確な棚密度を取得し、棚密度を増加させ、クラウドコンピューティングのデータセンタの資源利用率の技術的な効果を改善することができる。
【0151】
したがって、本出願によって提供される第4の実施形態の上述の解決策は、既存の技術においてCPUパラメータに従ってのみ実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0152】
第5の実施形態
本出願の実施形態によれば、仮想マシンのスケジューリングシステムも提供され、このシステムは、
プロセッサと、
プロセッサに結合され、プロセッサに、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得する処理ステップであって、ラックが、ホストコンピュータを配置するために使用される、取得する処理ステップと、仮想マシンの電力消費データを決定する処理ステップと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する処理ステップと、ターゲットホストコンピュータに仮想マシンをディスパッチする処理ステップと、を処理するための命令を提供するように構成されたメモリと、を含む。
【0153】
本出願の第5の実施形態で提供される解決策は、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データを取得し、仮想マシンの電力消費データを同時に決定し、ラック(複数可)およびホストコンピュータ(複数可)のエネルギー消費データ、ならびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定し、ターゲットホストコンピュータに仮想マシンをディスパッチすることができ、これにより、電力消費のリアルタイムの認識に基づいて仮想マシンをディスパッチする目的が達成される。
【0154】
既存の技術と比較して、仮想マシンに対応するターゲットホストコンピュータは、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って決定されるため、仮想マシンのスケジューリングを行うときに、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮していることに容易に気付く。データセンタのラック粒度におけるホストコンピュータの電力消費スケジューリングの均衡をとることが達成され、クラウドコンピューティングのデータセンタの資源利用率を改善する技術的な効果が達成される。
【0155】
したがって、本出願によって提供される第5の実施形態の解決策は、既存の技術において単にCPUパラメータに従って実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0156】
第6の実施形態
本出願の実施形態は、コンピュータ端末を提供してもよい。コンピュータ端末は、コンピュータ端末群内の任意のコンピュータ端末デバイスであってもよい。任意で、本実施形態では、コンピュータ端末は、モバイル端末などの端末デバイスに置き換えられてもよい。
【0157】
任意で、本実施形態では、コンピュータ端末は、コンピュータネットワーク内の複数のネットワークデバイスのうちの少なくとも1つのネットワークデバイスに位置してもよい。
【0158】
本実施形態では、コンピュータ端末は、仮想マシンのスケジューリング方法において、ラックのエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、ラックは、ホストコンピュータを配置するために使用される、取得するステップと、仮想マシンの電力消費データを決定するステップと、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、ターゲットホストコンピュータに仮想マシンをディスパッチするステップと、を行うプログラムコードを実行することができる。
【0159】
任意で、
図9は、本出願の実施形態による、コンピュータ端末の構造ブロック図である。
図9に示すように、かかるコンピュータ端末Aは、1つ以上(図では1つのみが示されている)のプロセッサ902およびメモリ904を含んでもよい。
【0160】
メモリは、本出願の実施形態における仮想マシンをスケジュールする方法および装置に対応するプログラム命令/モジュールなどのソフトウェアプログラムおよびモジュールを記憶するように構成することができる。プロセッサ(複数可)は、メモリに記憶されたソフトウェアプログラムおよびモジュールを実行することによって、すなわち、仮想マシンをスケジュールする上述の方法を実施することによって、さまざまな機能アプリケーションおよびデータ処理を実行する。メモリは、高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気記憶デバイス、フラッシュメモリなどの不揮発性メモリ、または他の不揮発性ソリッドステートメモリも含んでもよい。いくつかの例では、メモリは、プロセッサに対して遠隔に配備された記憶デバイスをさらに含んでもよく、これらの遠隔記憶デバイスは、ネットワークを介して端末Aに接続されてもよい。ネットワークの例には、インターネット、企業内イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、およびそれらの組み合わせが挙げられるが、これらに限定されない。
【0161】
プロセッサ(複数可)は、ラック(複数可)のエネルギー消費データおよびホストコンピュータのエネルギー消費データを取得するステップであって、ラック(複数可)は、ホストコンピュータを配置するために使用される、取得するステップと、仮想マシンの電力消費データを決定するステップと、ラック(複数可)のエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、ターゲットホストコンピュータに仮想マシンをディスパッチするステップと、を行うために、伝送デバイスを介してメモリに記憶された情報およびアプリケーションプログラムを呼び出してもよい。
【0162】
任意で、プロセッサ(複数可)はまた、エネルギー消費データが電力消費データおよび電気加熱データを含むステップのプログラムコードを実行してもよい。
【0163】
任意で、プロセッサ(複数可)はまた、ラック(複数可)のエネルギー消費データに従って、正常なエネルギー消費を有する第1のラック(複数可)を決定するステップと、第1のラック(複数可)上に配置されたホストコンピュータ(複数可)のエネルギー消費データに従って、エネルギー消費が正常な第1のホストコンピュータ(複数可)を決定するステップと、第1のホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定するステップと、を行うプログラムコードを実行してもよい。
【0164】
任意で、プロセッサ(複数可)はまた、第1のホストコンピュータ(複数可)の電力消費データに従って、第1のホストコンピュータ(複数可)の重量値(複数可)を決定するステップであって、電力消費データは、重量値(複数可)に反比例する、決定するステップと、第1のホストコンピュータ(複数可)の重量値(複数可)、およびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを取得するステップと、を行うプログラムコードを実行してもよい。
【0165】
任意で、プロセッサ(複数可)はまた、第1のラック(複数可)が、電力消費データが第1の閾値を超えず、かつ、電気加熱データが第2の閾値を超えないラック(複数可)であるステップと、第1のホストコンピュータ(複数可)が、第1のラック(複数可)上に配置され、第3の閾値を超えない電力消費データ、第4の閾値を超えない電気加熱データ、およびホストコンピュータに異常がないことを示すハードウェア検出結果を有するステップと、を行うプログラムコードを実行してもよい。
【0166】
任意で、プロセッサ(複数可)はまた、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する前に、仮想マシンが事前設定された仮想マシンであるかどうかを判断するステップであって、事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、判断するステップと、仮想マシンが事前設定された仮想マシンでない場合、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、仮想マシンが事前設定された仮想マシンである場合、ラック(複数可)およびホストコンピュータ(複数可)の電力消費データ、ならびに仮想マシンの電力消費データに従って、事前設定された仮想マシンの電力制限処理を行うステップと、を行うプログラムコードを実行してもよい。
【0167】
任意で、プロセッサ(複数可)はまた、相関モデルを介して仮想マシンの第1の電力消費データを取得するステップであって、相関モデルは、仮想マシンの特徴パラメータ間の相関を特徴付けるために使用される、取得するステップと、仮想マシンの過去の電力消費データ、および特徴データに従って、仮想マシンの第2の電力消費データを取得するステップと、第1の電力消費データおよび第2の電力消費データに従って、仮想マシンの電力消費データを決定するステップと、を行うプログラムコードを実行してもよい。
【0168】
任意で、プロセッサ(複数可)はまた、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを取得するステップと、第1の電力消費データを取得するために、相関モデルに、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを入力するステップと、を行うプログラムコードを実行してもよい。
【0169】
任意で、プロセッサ(複数可)はまた、相関モデルを介して仮想マシンの第1の電力消費データを取得する前に、初期モデルを構築するステップと、仮想マシンの過去の電力消費データ、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの過去の電力消費データを取得することによって、サンプルデータを取得するステップと、相関モデルを取得するために、サンプルデータを使用して初期モデルを訓練するステップと、を行うプログラムコードを実行してもよい。
【0170】
任意で、プロセッサ(複数可)はまた、ターゲットホストコンピュータに仮想マシンをディスパッチした後に、ホストコンピュータの過去の販売率を取得するステップと、過去の販売率に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得するステップと、第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、およびラックの定格電力消費データに基づいて、ラックの棚密度を取得するステップであって、棚密度は、同じラック上に配置されるホストコンピュータの数を特徴付けるために使用される、取得するステップと、を行うプログラムコードを実行してもよい。
【0171】
任意で、プロセッサ(複数可)はまた、電力消費データに従って、第2のホストコンピュータ(複数可)を昇順でランク付けするステップと、事前設定された信頼度に従って、ランク付けされた第2のホストコンピュータ(複数可)から、第3のホストコンピュータ(複数可)を取得するステップと、第3のホストコンピュータ(複数可)の電力消費データから最大電力消費データを取得するステップと、棚密度を取得するために、ラックの定格電力消費データと最大電力消費データとの間の比率を取得するステップと、を行うプログラムコードを実行してもよい。
【0172】
任意で、プロセッサ(複数可)はまた、過去の販売率の降順でホストコンピュータ(複数可)をランク付けするステップと、事前設定された販売率の閾値に従って、ランク付けされたホストコンピュータ(複数可)から、第2のホストコンピュータ(複数可)を取得するステップと、を行うプログラムコードを実行してもよい。
【0173】
本出願の実施形態を用いて、ラック(複数可)およびホストコンピュータのエネルギー消費データを取得することができ、同時に仮想マシンの電力消費データを決定することができる。ターゲットホストは、ラック(複数可)およびホストコンピュータのエネルギー消費データ、ならびに仮想マシンの電力消費データに基づいて決定することができ、仮想マシンは、電力消費のリアルタイムの認識に基づいて仮想マシンをディスパッチする目的を達成するために、ターゲットホストコンピュータにディスパッチすることができる。
【0174】
既存の技術と比較して、仮想マシンに対応するターゲットホストコンピュータは、ラックのエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って決定されるため、仮想マシンのスケジューリングを行うときに、CPUパラメータを考慮するだけでなく、ラックおよびホストコンピュータの電力消費も考慮していることに容易に気付く。データセンタのラック粒度におけるホストコンピュータの電力消費スケジューリングの均衡をとることが達成され、クラウドコンピューティングのデータセンタの資源利用率を改善する技術的な効果が達成される。
【0175】
したがって、本出願によって提供される解決策は、既存の技術において単にCPUパラメータに従って実施される、仮想マシンのスケジューリング方法に起因する不均衡な電力消費スケジューリングの技術的な問題を解決する。
【0176】
当業者であれば、
図9に示す構造は例示のために使用されているに過ぎず、コンピュータ端末は、スマートフォン(例えば、アンドロイド(登録商標)携帯電話、iOS携帯電話など)、タブレットコンピュータ、ハンドヘルドコンピュータ、およびモバイルインターネットデバイス(Mobile Internet Device、MID)、PAD、および他の端末デバイスであってもよいことを理解することができる。
図8は、上記の電子デバイスの構造を限定するものではない。例えば、コンピュータ端末はまた、
図8に示す構成要素よりも多いか、もしくは少ない構成要素を含んでもよく、または
図9に示す構成とは異なる構成を有してもよい。
【0177】
当業者であれば、前述の実施形態のさまざまな方法におけるステップのすべてまたは一部が、プログラムを介して端末デバイスの関連ハードウェアに命令することによって完了され得ることを理解することができる。プログラムは、コンピュータ可読記憶媒体に記憶することができ、これには、フラッシュディスク、読み取り専用メモリ(read-only memory、ROM)、ランダムアクセスメモリ(random access memory、RAM)、磁気ディスク、または光ディスクなどが含まれ得る。
【0178】
第7の実施形態
本出願の実施形態はまた、記憶媒体を提供する。任意で、本実施形態では、記憶媒体は、第1の実施形態で提供された仮想マシンのスケジューリング方法によって実行されるプログラムコードを記憶するように構成されてもよい。
【0179】
任意で、本実施形態では、記憶媒体は、コンピュータネットワーク内のコンピュータ端末群内の任意のコンピュータ端末に位置するか、またはモバイル端末群内の任意のモバイル端末に位置してもよい。
【0180】
任意で、本実施形態では、記憶媒体は、ラック(複数可)のエネルギー消費データ、およびホストコンピュータのエネルギー消費データを取得するステップであって、ラック(複数可)は、ホストコンピュータを配置するために使用される、取得するステップと、仮想マシンの電力消費データを決定するステップと、ラック(複数可)のエネルギー消費データ、ホストコンピュータのエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、ターゲットホストコンピュータに仮想マシンをディスパッチするステップと、を行うためのプログラムコードを記憶するように構成されている。
【0181】
任意で、記憶媒体は、エネルギー消費データが電力消費データおよび電気加熱データを含むステップを実行するためのプログラムコードを記憶するようにさらに構成されている。
【0182】
任意で、記憶媒体は、ラック(複数可)のエネルギー消費データに従って、正常なエネルギー消費を有する第1のラック(複数可)を決定するステップと、第1のラック(複数可)上に配置されたホストコンピュータ(複数可)のエネルギー消費データに従って、エネルギー消費が正常な第1のホストコンピュータ(複数可)を決定するステップと、第1のホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、ターゲットホストコンピュータを決定するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0183】
任意で、記憶媒体は、第1のホストコンピュータ(複数可)の電力消費データに従って、第1のホストコンピュータ(複数可)の重量値(複数可)を決定するステップであって、電力消費データは、重量値(複数可)に反比例する、決定するステップと、第1のホストコンピュータ(複数可)の重量値(複数可)、およびに仮想マシンの電力消費データに従って、ターゲットホストコンピュータを取得するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0184】
任意で、記憶媒体は、第1のラック(複数可)が、電力消費データが第1の閾値を超えず、かつ、電気加熱データが第2の閾値を超えないラック(複数可)であるステップと、第1のホストコンピュータ(複数可)が、第1のラック(複数可)上に配置され、第3の閾値を超えない電力消費データ、第4の閾値を超えない電気加熱データ、およびホストコンピュータに異常がないことを示すハードウェア検出結果を有するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0185】
任意で、記憶媒体は、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定する前に、仮想マシンが事前設定された仮想マシンであるかどうかを判断するステップであって、事前設定された仮想マシンが、スケジュールすることができない仮想マシンである、判断するステップと、仮想マシンが事前設定された仮想マシンでない場合、ラック(複数可)のエネルギー消費データ、ホストコンピュータ(複数可)のエネルギー消費データ、および仮想マシンの電力消費データに従って、仮想マシンに対応するターゲットホストコンピュータを決定するステップと、仮想マシンが事前設定された仮想マシンである場合、ラック(複数可)およびホストコンピュータ(複数可)の電力消費データ、ならびに仮想マシンの電力消費データに従って、事前設定された仮想マシンの電力制限処理を行うステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0186】
任意で、記憶媒体は、相関モデルを介して仮想マシンの第1の電力消費データを取得するステップであって、相関モデルは、仮想マシンの特徴パラメータ間の相関を特徴付けるために使用される、取得するステップと、仮想マシンの過去の電力消費データ、および特徴データに従って、仮想マシンの第2の電力消費データを取得するステップと、第1の電力消費データおよび第2の電力消費データに従って、仮想マシンの電力消費データを決定するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0187】
任意で、記憶媒体は、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを取得するステップと、第1の電力消費データを取得するために、相関モデルに、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの電力消費データを入力するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0188】
任意で、記憶媒体は、相関モデルを介して仮想マシンの第1の電力消費データを取得する前に、初期モデルを構築するステップと、仮想マシンの過去の電力消費データ、仮想マシンの特徴ベクトル、および仮想マシンが位置しているホストコンピュータの過去の電力消費データを取得することによって、サンプルデータを取得するステップと、相関モデルを取得するために、サンプルデータを使用して初期モデルを訓練するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0189】
任意で、記憶媒体は、ターゲットホストコンピュータに仮想マシンをディスパッチした後に、ホストコンピュータの過去の販売率を取得するステップと、過去の販売率に従って、事前設定された条件を満たす第2のホストコンピュータ(複数可)を取得するステップと、第2のホストコンピュータ(複数可)の電力消費データ、事前設定された信頼度、およびラックの定格電力消費データに基づいて、ラックの棚密度を取得するステップであって、棚密度は、同じラック上に配置されるホストコンピュータの数を特徴付けるために使用される、取得するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0190】
任意で、記憶媒体は、電力消費データに従って、第2のホストコンピュータ(複数可)を昇順でランク付けするステップと、事前設定された信頼度に従って、ランク付けされた第2のホストコンピュータ(複数可)から、第3のホストコンピュータ(複数可)を取得するステップと、第3のホストコンピュータ(複数可)の電力消費データから最大電力消費データを取得するステップと、棚密度を取得するために、ラックの定格電力消費データと最大電力消費データとの間の比率を取得するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0191】
任意で、記憶媒体は、過去の販売率の降順でホストコンピュータ(複数可)をランク付けするステップと、事前設定された販売率の閾値に従って、ランク付けされたホストコンピュータ(複数可)から、第2のホストコンピュータ(複数可)を取得するステップと、を実行するためのプログラムコードを記憶するようにさらに構成されている。
【0192】
本出願の前述の実施形態のシーケンス番号は、説明のためにのみ使用され、実施形態の品質を表すものではない。
【0193】
本出願の前述の実施形態では、各実施形態の説明は、それ自体に焦点を当てている。一実施形態で詳細に説明されていない部分については、他の実施形態の関連する説明を参照してもよい。
【0194】
本出願で提供されるいくつかの実施形態では、開示された技術的な内容は、他の手段で実施され得ることを理解されたい。上述の装置の実施形態は、単なる例示である。例えば、ユニットの分割は、論理機能の分割に過ぎない。実際の実施では、他の分割方法が存在する場合がある。例えば、複数のユニットまたは構成要素を組み合わせてもよく、または別のシステムに統合してもよい。あるいは、いくつかの機能は、無視するか、または実装しなくてもよい。加えて、表示または議論される相互結合または直接結合、あるいは通信接続は、いくつかのインターフェース、ユニット、またはモジュールを介した間接結合または通信接続であってもよく、電気的または他の形態であってもよい。
【0195】
別々の構成要素として説明されているユニットは、物理的に別々であっても別々でなくてもよい。ユニットとして表示される構成要素は、物理的なユニットであってもよいし、物理的なユニットでなくてもよい、すなわち、一箇所に位置していてもよいし、複数のネットワークユニットに分散されていてもよい。ユニットのいくつかまたはすべては、実施形態の解決策の目的を達成するための実際の必要性に従って選択されてもよい。
【0196】
加えて、本出願のさまざまな実施形態における機能ユニットは、単一の処理ユニットに統合されてもよい。あるいは、各ユニットは、物理的に単独で存在してもよい。あるいは、2つ以上のユニットが1つのユニットに統合されてもよい。上述の統合されたユニットは、ハードウェアまたはソフトウェア機能ユニットの形態で実現することができる。
【0197】
ソフトウェア機能ユニットの形態で実装され、独立した製品として販売または使用される場合、統合されたユニットは、コンピュータ可読記憶媒体に記憶することができる。かかる理解に基づいて、本出願の技術的な解決策の本質、または既存の技術に貢献する部分、または技術的な解決策のすべてもしくは一部は、ソフトウェア製品の形態で具体化することができる。かかるコンピュータソフトウェア製品は、記憶媒体に記憶され、(パーソナルコンピュータ、サーバ、またはネットワークデバイスなどであってもよい)コンピューティングデバイスに、本出願の各実施形態における方法のステップのすべてまたは一部を実行させるためのいくつかの命令を含む。記憶媒体としては、フラッシュディスク、読み取り専用メモリ(ROM、Read-Only Memory)、ランダムアクセスメモリ(RAM、Random Access Memory)、モバイルハードディスク、磁気ディスク、または光ディスクなど、プログラムコードを記憶することができるさまざまなタイプの媒体が挙げられる。
【0198】
上記は、本出願の好ましい実施形態のみを表す。当業者であれば、本出願の原理から逸脱することなく、いくつかの改善および修正を行うことができることが指摘されるべきである。これらの改善および修正もまた、本出願の保護の範囲に含まれると見なされる。