JP2013504807A - データセンターの自動化のための方法及び装置 - Google Patents

データセンターの自動化のための方法及び装置 Download PDF

Info

Publication number
JP2013504807A
JP2013504807A JP2012528811A JP2012528811A JP2013504807A JP 2013504807 A JP2013504807 A JP 2013504807A JP 2012528811 A JP2012528811 A JP 2012528811A JP 2012528811 A JP2012528811 A JP 2012528811A JP 2013504807 A JP2013504807 A JP 2013504807A
Authority
JP
Japan
Prior art keywords
servers
server
requests
application
resource manager
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012528811A
Other languages
English (en)
Other versions
JP5584765B2 (ja
JP2013504807A5 (ja
Inventor
ウラス, シー. コザット,
ラフール アーガオンカー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Docomo Inc
Original Assignee
NTT Docomo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Docomo Inc filed Critical NTT Docomo Inc
Publication of JP2013504807A publication Critical patent/JP2013504807A/ja
Publication of JP2013504807A5 publication Critical patent/JP2013504807A5/ja
Application granted granted Critical
Publication of JP5584765B2 publication Critical patent/JP5584765B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データセンターの自動化のための方法及び装置が、本明細書において開示される。
【解決手段】一実施形態において、仮想化されたデータセンターアーキテクチャは、複数のアプリケーションから複数のリクエストを受信するためのバッファと、複数の物理サーバであって、複数の物理サーバのそれぞれのサーバが、それぞれの仮想マシンが複数のアプリケーションのうちの異なる1つに関するリクエストを処理する、前記それぞれのサーバ上の1つ又は複数の仮想マシンに対して割り当て可能な1つ又は複数のサーバリソース、及び、前記それぞれのサーバ上で実行される1つ又は複数の仮想マシンに1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するための、前記それぞれのサーバ上でそれぞれ実行されるローカルリソースマネージャを備える、複数の物理サーバと、複数のサーバの中の個々のサーバへの複数のリクエストのそれぞれのルーティングを制御するための、複数のサーバに通信可能に連結されたルータと、複数のリクエストがバッファに入ることを許可するかどうかを決定するためのアドミッションコントローラと、複数のサーバのうちのどのサーバがアクティブであるかを決定するための集中リソースマネージャであって、集中リソースマネージャの決定が、複数のサーバのそれぞれ及び前記ルータにおけるアプリケーション毎のバックログ情報に依存する、集中リソースマネージャと、を備える。
【選択図】図1

Description

(優先権)
[0001]本特許出願は、2009年9月11日に出願された、「A Method and Apparatus for Data Center Automation with Backpressure Algorithms and Lyapunov Optimization」と題された、対応する特許仮出願第61/241,791号の優先権を主張し、当該特許仮出願を参照することにより組み込む。
(発明の分野)
[0002]本発明は、データセンター、自動化、仮想化、及び確率制御の分野に関し、より具体的には、本発明は、分離されたアドミッションコントロール、リソース割り当て、及びルーティングを用いるデータセンターに関する。
(発明の背景)
[0003]データセンターは、同じ物理サーバ上で複数のアプリケーション/サービスをホストすることができるコンピューティング設備を提供する。一部のデータセンターは、CPUパワー、メモリ、及びハードディスクサイズを含む決まった構成の物理マシン又は仮想マシンを提供する。例えばAmazon(登録商標)のEC2クラウドなどの一部のケースでは、大まかな地理的位置を選択するためのオプションも与えられる。その様式では、データセンターのユーザ(例えば、アプリケーション、サービスプロバイダ、企業、個人ユーザなど)は、それらのユーザの需要を見積もり、追加的な/既存の物理マシン又は仮想マシンを要求/解放する責任を負う。データセンターは、電力管理、ラック管理、フェイルセーフプロパティ(fail−safe property)などのそれらのデータセンターの運用上のニーズを統計的に独立に(orthogonally)決定し、それらを実行する。
[0004]実行を物理マシンの場所から分離し、リソースを自由に移動させる仮想マシン技術に頼ることによって、データセンターにおいて、スケールイン及びスケールアウトの決定、電力管理、帯域幅のプロビジョニングを含むリソースの割り当て及び管理を自動化するように試みる多くの研究が存在する。しかし、データ自動化に関する既存の研究は、予測不可能な負荷に対する堅牢性を示すための厳密性に欠けており、構成可能なノブ(knob)を有する同じ最適化フレームワーク内でロードバランシング、電力管理、及びアドミッションコントロールを分離しない。
(発明の概要)
[0005]データセンターの自動化のための方法及び装置が、本明細書において開示される。一実施形態において、仮想化されたデータセンターアーキテクチャは、複数のアプリケーションから複数のリクエストを受信するためのバッファと、複数の物理サーバであって、それぞれのサーバが、それぞれの仮想マシンが複数のアプリケーションのうちの異なる1つに関するリクエストを処理する、前記それぞれのサーバ上の1つ又は複数の仮想マシンに対して割り当て可能な1つ又は複数のサーバリソース、及び、前記それぞれのサーバ上で実行される1つ又は複数の仮想マシンに1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するための、前記それぞれのサーバ上でそれぞれ実行されるローカルリソースマネージャを備える、複数の物理サーバと、複数のサーバの中の個々のサーバへの複数のリクエストのそれぞれのルーティングを制御するための、複数のサーバに通信可能に連結されたルータと、複数のリクエストがバッファに入ることを許可するかどうかを決定するためのアドミッションコントローラと、複数のサーバのうちのどのサーバがアクティブであるかを決定するための集中リソースマネージャであって、集中リソースマネージャの決定は、複数のサーバのそれぞれ及びルータにおけるアプリケーション毎のバックログ情報に依存する、集中リソースマネージャと、を備える。
[0006]本発明は、以下に与えられる詳細な説明から、及び本発明の種々の実施形態の添付の図面からより完全に理解されることになるが、それらの詳細な説明及び図面は本発明を特定の実施形態に限定すると解釈されるべきではなく、説明及び理解のみを目的とする。
データセンターの自動化のための高レベルアーキテクチャの一実施形態を示す図である。 本発明の一実施形態におけるアーキテクチャ上のコンポーネントの役割と、それらのコンポーネント間に存在するシグナリングとを示す例示的な構成図である。 コンピュータシステムの構成図である。
(発明の詳細な説明)
[0007]複数のアプリケーションをホストする複数の物理マシン(例えば、サーバ)を有する仮想化されたデータセンターが、開示される。一実施形態において、それぞれの物理マシンは、その物理マシン上でホストされるすべてのアプリケーションに対して仮想マシンを与えることによってアプリケーションのサブセットにサービスを提供することができる。アプリケーションは、データセンターの異なる仮想マシンのあちこちで実行される複数のインスタンスを有してもよい。概して、アプリケーションは、多階層化される可能性があり、アプリケーションのインスタンスに対応する異なる階層が、異なる物理マシン上で実行される異なる仮想マシンに位置付けられ得る。本明細書の目的のために、用語「サーバ」及び「マシン」は、交換可能に使用される。
[0008]一実施形態において、それぞれのアプリケーションに関するジョブは、そのジョブ(すなわち、リクエスト)を許可又は拒絶することを決定する、データセンターの入り口にあるアドミッションコントローラによって、初めに処理される。一実施形態において、分散制御アルゴリズムにおけるアドミッションコントロール決定は、単純な閾値に基づく解である。
[0009]ジョブが許可されると、それらのジョブは、それらのジョブのそれぞれのアプリケーションのルーティング/ロードバランシングキューにバッファリングされる。ロードバランサ/ルータは、同じアプリケーションをサポートする複数の仮想マシン(VM)が存在する場合に、特定のアプリケーションのどのジョブがどのVMに転送されるべきかを決定する。
[0010]一実施形態において、それぞれのジョブはアトミックである、すなわち、それらのジョブは、所与のVMにおいて独立に処理されることができ、1つのジョブの拒否/拒絶は、その他のジョブに影響しない。ウェブサービスにおいて、例えば、ジョブは、httpリクエストである可能性がある。分散/並列コンピューティングにおいて、ジョブは、出力が計算のその他の部分に依存しない、より大きな計算の一部分である可能性がある。ストリーミングにおいて、ジョブは、初期セッション設定リクエストである可能性がある。ジョブ及びデータプレーン(data plane)は統計的に独立(orthogonal)であり、例えば、ビデオストリーミングセッションにおいて、ジョブはビデオリクエストであり、サーバとセッションが確立されると、そのセッションはそのサーバからサービスを提供され、後続のメッセージ交換は、アドミッションコントローラ又はロードバランサを通る必要がないことに留意されたい。
[0011]一実施形態において、それぞれのVMで、監視システムが、そのVMのサービスバックログ(すなわち、未終了のジョブの数)を追跡する。一実施形態において、データセンターにおけるリソース割り当て決定は、(i)大域的最適化問題を解くことによって、比較的大きな時間的尺度で、アクティブである必要がある物理サーバを決定する(サーバの残りはスリープ/待機/省電力モードにされる)集中型エンティティによって、並びに(ii)それぞれのVMのジョブのバックログと電力消費とのバランスを取るように試みる最適化決定の結果としてのクロックスピード及び電圧の選択によって、比較的短い時間的尺度で(及びローカルでその他のサーバとは独立に)個々の物理サーバによって処理される。アクティブなマシンの一部が省電力のためにオフにされ得ると集中型エンティティが決定する場合、それらのマシンでキューに入れられたアプリケーションのジョブは、(i)保留され、後で当該サーバが再び元に戻るときにサービスを提供される、(ii)ロードバランサ/ルータを用いて、同じアプリケーションのVMのうちの1つに再ルーティングされる、(iii)VMのマイグレーションによってその他の物理マシンに移動される(したがって、同じ物理マシン上の複数のVMが同じアプリケーションにサービスを提供している可能性がある)、及び/又は(iv)ジョブの喪失に対処するためのアプリケーションレイヤに頼ることによって破棄される可能性がある。一実施形態において、集中型エンティティがより多くのサーバをアクティブにすることを決定する場合、ロードバランサは、ロードバランサのキューで待っているジョブがこれらの新しい場所にルーティングされ得るように、そのような決定について知らされる。このことは、(休止モードで待機しているアプリケーションのVMがまだ存在しない場合に)新しい場所にインスタンス化されるべきそのようなVMに対するクローニング動作を引き起こす可能性がある。
[0012]以下の説明において、多数の詳細が、本発明のより完全な説明を与えるために記載される。しかし、本発明がこれらの特定の詳細なしに実施され得ることは当業者に明らかであろう。その他の場合、本発明を曖昧にすることを避けるために、よく知られた構造及びデバイスは詳細にではなく構成図の形態で示される。
[0013]以下に続く詳細な説明の一部は、コンピュータメモリ内のデータビットに対する操作のアルゴリズム及び記号的表現によって表される。これらのアルゴリズム的な記述及び表現は、データ処理技術に精通した者によって、それらの者の研究の内容を当該技術に精通したその他の者に最も効果的に伝えるために使用される手段である。ここで、及び概して、アルゴリズムは、所望の結果をもたらす自己矛盾のない一連のステップであると考えられる。ステップとは、物理量の物理的操作を必要とするステップである。必ずではないが通常は、これらの量は、記憶、転送、組み合わせ、比較、及びその他の操作を行われ得る電気的又は磁気的信号の形態を取る。これらの信号をビット、値、要素、シンボル、文字、語、数などと呼ぶことが、主に共通使用の理由で便利な場合があることが分かっている。
[0014]しかし、これらの及び同様の用語のすべては、適切な物理量に関連付けられるべきであり、これらの量に付される便宜的なラベルであるに過ぎないことに留意されたい。以下の検討から明らかなように、別途具体的に示されない限り、この説明の全体を通じて、「処理する」、「計算する」、「算出する」、「判定する」、又は「表示する」などの用語を利用する検討は、コンピュータシステムのレジスタ及びメモリ内で物理(電子的)量として表されるデータを操作し、コンピュータシステムのメモリ、レジスタ、その他のそのような情報記憶、送信、若しくは表示デバイス内で同様に物理量として表されるその他のデータに変換するコンピュータシステム、又は同様の電子的コンピューティングデバイスの動作及びプロセスに言及することが理解される。
[0015]本発明は、本明細書の操作を実行するための装置にも関する。この装置は、必要な目的のために専用に構築されることができるか、又はこの装置は、コンピュータに記憶されたコンピュータプログラムによって選択的に起動又は再構成される汎用コンピュータを備えることができる。そのようなコンピュータプログラムは、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、及び光磁気ディスクを含む任意の種類のディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、EPROM、EEPROM、磁気式若しくは光学式カード、又は電子的命令を記憶するのに好適であり、それぞれがコンピュータのシステムバスに連結された任意の種類の媒体などであるがこれらに限定されないコンピュータ可読記憶媒体に記憶され得る。
[0016]本明細書において示されるアルゴリズム及び表示は、任意の特定のコンピュータ又はその他の装置と本質的に無関係である。さまざまな汎用システムが本明細書の教示によるプログラムと共に使用され得るか、又は必要な方法のステップを実行するためにより特化した装置を構築することが便利であることが判明する可能性がある。さまざまなこれらのシステムのための必要な構造は、以下の説明から明らかになるであろう。さらに、本発明は、任意の特定のプログラミング言語に関連して説明されない。本明細書において説明される本発明の教示を実装するためにさまざまなプログラミング言語が使用され得ることが理解されるであろう。
[0017]機械可読媒体は、機械(例えば、コンピュータ)によって読まれることができる形態で情報を記憶又は送信するための任意のメカニズムを含む。例えば、機械可読媒体は、読み出し専用メモリ(「ROM」)、ランダムアクセスメモリ(「RAM」)、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイスなどを含む。
(システムモデル)
[0018]一実施形態において、仮想化されたデータセンターは、N個のアプリケーションの組をホストするM個のサーバを有する。サーバの組は、本明細書においてはSで表され、アプリケーションの組は、本明細書においてはAで表される。それぞれのサーバj∈Sは、アプリケーションのサブセットをホストする。それぞれのサーバjは、そのサーバj上でホストされるすべてのアプリケーションに対して仮想マシンを与えることによって、それを行う。アプリケーションは、データセンターの異なる仮想マシンのあちこちで実行される複数のインスタンスを有する可能性がある。以下の指示変数が、i∈{1,2,...,N},j∈{1,2,...,M}に対して定義される:
アプリケーションiがサーバj上でホストされる場合 aij=1;
その他の場合 aij=0。
[0019]簡単にするために、以下の説明において、すべてのi,jに対してaij=1、すなわち、それぞれのサーバがすべてのアプリケーションをホストすることができると仮定される。これは、例えば、当技術分野でよく知られているライブ仮想マシンマイグレーション/クローニング/レプリケーションのような方法を使用することによって実現され得る。概して、アプリケーションは、多階層化される可能性があり、アプリケーションのインスタンスに対応する異なる階層が、異なるサーバ及び仮想マシンに位置付けられ得る。簡単にするために、それぞれのアプリケーションが単一の階層からなるケースが、以下で説明される。
[0020]必須ではないが、一実施形態において、データセンターは、一実施形態としてタイムスロットシステム(time−slotted system)として動作する。すべてのスロットで、新しいリクエストが、それぞれのアプリケーションiについて、時間平均レートλのリクエスト/スロットであるランダム到着プロセスA(t)にしたがって、到着する。このプロセスは、システム内の未終了の作業の現在の量とは独立であり、有限の二次モーメントを有するものと仮定される。しかし、A(t)の統計のいかなる知識に関する仮定も存在しない。換言すれば、本明細書で説明されるフレームワークは、いかなる時点の作業負荷のモデル化及び予測にも依存しない。例えば、A(t)は、異なる状態間の遷移確率が未知である、時間によって変わる瞬間的なレートを有するマルコフ変調プロセスである可能性がある。
[0021]図1は、データセンターのための制御アーキテクチャの一実施形態を示す。図1を参照すると、制御アーキテクチャは、3つのコンポーネントからなる。図1を参照すると、到着するジョブは、アドミッションコントローラ101によって許可又は拒否される。それらのジョブが許可されると、それらのジョブは、ルーティングバッファ102に記憶される。ルーティングバッファ102から、ルータ105が、それらのジョブをサーバ1041−Mのうちの特定の1つにルーティングする。ルータ105は、ロードバランシングを実行することができ、したがって、ロードバランサとして動作することができる。サーバ1041−Mのそれぞれは、異なるアプリケーションのリクエストのためのキューを含む。一実施形態において、サーバ1041−Mのうちの1つが、特定のアプリケーションに関するリクエストを処理するためのVMを有する場合、当該サーバは、そのVMに関するリクエストを記憶するための別個のキューを含む。
[0022]図2は、データセンターの一実施形態のそれぞれのアーキテクチャ上のコンポーネントの役割と、コンポーネント間のシグナリングとを示す構成図である。図2を参照すると、物理マシン104などのそれぞれのサーバは、ローカルリソースマネージャ210、1つ又は複数の仮想マシン(VM)221、リソース212(例えば、CPU、メモリ、ネットワーク帯域幅(例えば、NIC))、リソースコントローラ/スケジューラ213、及びバックログ監視モジュール211を含む。アーキテクチャ上のコンポーネントの残りは、アドミッションコントローラ101、ルータ/ロードバランサ105、及び集中リソースマネージャ/エンティティ201を含む。
[0023]一実施形態において、ルータ105は、データセンターのバッファのバッファバックログを集中リソースマネージャ201及びアドミッションコントローラ101の両方に報告する。アドミッションコントローラ101は、少なくとも1つのシステムパラメータ(例えば、V)と共に制御決定も受信し、これらの入力に応答してアドミッションコントロールを実行する。ルータ105は、どのジョブを再ルーティングするべきか、及びどのサーバがアクティブセットに入っているか(すなわち、どのサーバがアクティブであるか)の指示を含む、集中リソースマネージャ201からの入力に基づいて、ルーティングバッファ102からのジョブのルーティングを行う。
[0024]集中リソースマネージャ201は、サーバに接続する。一実施形態において、集中リソースマネージャ201は、サーバ104のそれぞれのローカルリソースマネージャ210からVMのバックログの報告を受信し、サーバ104に、それらのサーバ104がオフにされるべきか、それともオンにされるべきかの指示を送信する。一実施形態において、集中リソースマネージャ201は、サーバ104のうちのどれがオン/アクティブであるべきか、ということのみを決定する。この決定は、それぞれの仮想マシン及びルータバッファのためのバックログモニタによって報告されるバックログによって決まる。どのサーバがアクティブであるかについての決定がなされると、集中リソースマネージャ201は、最適な構成の決定にしたがってサーバ104のサーバをオン又はオフにし、アクティブな物理サーバ(すなわち、アクティブな物理サーバ上で実行されるバーチャルマシン(VM))にのみジョブがルーティングされるように、新しい構成についてルータ105に知らせる。この最適な構成が設定されると、ルータ105及びローカルマネージャ210は、互いに独立に何をなすべきかをローカルで決定することができる(すなわち、互いに分離される)。
[0025]集中リソースマネージャ201は、VMに対するジョブが再ルーティングされる必要があるかどうかを決定し、再ルーティングが必要な場合にはルータ105に知らせる。これは、例えば、VMがオフにされることになる場合に発生し得る。また、これは、集中リソースマネージャ201が、データセンターの最適な構成を決定し、1つ若しくは複数のVM及び/又はサーバがもはや必要ない、又はさらに必要であると決定する場合に発生し得る。一実施形態において、集中リソースマネージャ201は、VMをサーバ104のそれぞれにクローニング及び/又はマイグレーションするべきかどうかの指示も送信する。
[0026]ローカルリソースマネージャ210は、ローカルリソース212をそのサーバ内の各VMに割り当てる役割を担う。これは、ローカルリソースマネージャ210が、それぞれのVMのバックログをチェックし、どのVMがどのリソースを受け取るべきかを示す制御決定を行うことによってなされる。ローカルリソースマネージャ210は、これらの制御決定を、リソース212を制御するリソースコントローラ213に送信する。一実施形態において、ローカルリソースマネージャ210は、それぞれの仮想化されたサーバのホストオペレーティングシステム(OS)上に存在する。バックログ監視モジュール211は、VM221のそれぞれに関するバックログを監視し、バックログをローカルリソースマネージャ210に報告し、ローカルリソースマネージャ210は、その情報を集中リソースマネージャ201に転送する。一実施形態において、VMのそれぞれに対してバックログ監視ユニットが存在する。別の実施形態において、リソース毎にVM毎のバックログ監視モジュールが存在する。バックログモニタの一実施形態の機能が、特定の例を用いて説明される。同じ物理サーバ上で実行される2つのVM、つまりVM1及びVM2が存在し、CPU及びネットワーク帯域幅が監視されている場合、VM毎にCPUのバックログを監視する1つのバックログモニタと、ネットワークのバックログを監視するもう1つのバックログモニタとの2つのバックログモニタが存在することになる。CPUのバックログに関して、VM1のためのモニタは、所与の期間にVM1のCPUの需要がどうであったか、及び同じ期間にVM1に対するCPUの割り当てはどうであったかを見積もる必要がある。需要−割り当て<0である場合、バックログは減少する。需要−割り当て>0である場合、バックログはその期間に増加する。同様に、VM1のモニタは、バックログキューを構築するために、各期間において、VM1に対して受信されたパケットの数と、VM1に渡されるパケットの数とを見積もる必要がある。これらのモニタは、ハイパーバイザレベル又はホストOSで、VMの外で実行されている。異なるリソースのこれらのバックログは、単位に合わせるために、異なる重み付け、又は異なるスケーリングをされ得る。
[0027]より具体的には、すべてのスロットで、それぞれのアプリケーションi∈Aについて、アドミッションコントローラ101が、新たなジョブ(例えば、リクエスト)を許可すべきか、それとも拒絶すべきかを決定する。許可されるリクエストは、そのアプリケーションをホストするサーバ104のうちの1つにルータ105によってルーティングされる前に、ルータバッファ102に記憶される。j∈Sのサーバ104のそれぞれは、リソースコントローラにしたがって、そのサーバ上でホストされるアプリケーションに割り当てられるリソースの組W(例えば、CPU、ディスク、メモリ、ネットワークリソースなどであるが、これらに限定されない)を有する。リソースコントローラが利用可能な制御オプションが、以下で詳細に検討される。説明の残りの部分においては、組Wは1つのリソースのみを含むと仮定されるが、特に、ネットワーク帯域幅及びメモリなどの複数リソースへの拡張は容易であるので、複数のリソースが割り当てられ得ることに留意されたい。とりわけ、CPUがボトルネックリソースである場合に焦点を当てる。これは、例えば、サーバ上で実行されるすべてのアプリケーションが、計算量が多いものである場合に起こり得る。データセンターのCPUは、それらのCPUに割り当てられる電力を調整することによって異なる速度で動作させられ得る。この関係は、ネットワークコントローラに知られている電力−速度曲線によって示され、当技術分野でよく知られている。これは、当技術分野でよく知られている方法で、いくつかの既存のモデルのうちの1つを使用してモデル化され得ることに留意されたい。それぞれの物理マシンに関するデータは、オフライン測定によって、及び/又は製造元から提供されたデータシートを用いて取得され得ることにも留意されたい。
[0028]一実施形態において、データセンターのすべてのサーバは、リソースが制約されている。とりわけ、以下では、電力の制約に焦点を当てる。最新のCPUは、当技術分野でよく知られており、以下でより詳細に説明される技術を用いて、実行時に異なる速度で動作させられ得る。一実施形態において、CPUは、ローカルリソースコントローラに知られている非線形の電力−周波数の関係にしたがうものと仮定される。CPUは、関連する電力消費[Pmin,Pmax]を有する区間[fmin,fmax]内の有限個の動作周波数で実行され得る。これは、性能と電力コストとの間の折り合いをつけることを可能にする。一実施形態において、データセンターのすべてのサーバは、同一のCPUリソースを有し、同じ方法で制御され得る。
[0029]サーバは、エネルギーコストを抑えるために、現在の作業負荷が低い場合、非アクティブモード(省電力(例えば、P−state)、待機、オフ、又はCPUハイバネーション)で動作させられ得る。同様に、非アクティブなサーバは、潜在的に作業負荷の増加に対処するためにアクティブにされ得る。非アクティブなサーバは、そのサーバ上でホストされるアプリケーションにいかなるサービスも提供することができない。さらに、一実施形態において、すべてのスロットで、新しいリクエストは、アクティブなサーバにのみルーティングされ得る。
[0030]サーバを頻繁にON/OFFすることは、(例えば、ハードウェアの信頼性の問題により)一部の実施形態において望ましくない可能性があるので、以下では、時間がT個のスロットの長さのフレームに分割されるフレームに基づく制御ポリシーの種類に焦点を当てる。一実施形態において、アクティブなサーバの組は、各フレームの初めに選択され、そのフレームの間、変更されずに維持される。この組は、潜在的に、作業負荷の変化にともなって次のフレームで変わる可能性がある。この制御決定が比較的遅い時間尺度で行われる一方で、その他のリソース割り当て決定(アドミッションコントロール、ルーティング、及びそれぞれのアクティブなサーバにおけるリソース割り当てなど)は、すべてのスロットで行われることに留意されたい。
[0031]A(t)は、スロットtにおけるアプリケーションiに関する新しいリクエストの数を表すものとする。言い換えると、A(t)は、到着率を表す。R(t)は、A(t)のうち、アドミッションコントローラ101によって、アプリケーションiのためのルータバッファ102に入ることを許可されるリクエストの数であるとする。このバッファは、W(t)と表され、そのアプリケーションのためのルーティングバッファのバックログを示す。アドミッションコントローラ101によって許可されないすべての新しいリクエストは拒絶され、その結果、すべてのi、tに対して以下の制約、すなわち、
Figure 2013504807

が適用され、この制約は、直ちに受け入れられない到着が将来のアドミッション決定のためにバッファに記憶される場合に容易に一般化され得る。
[0032]Rij(t)は、スロットtにおいてルータバッファ102からサーバjにルーティングされる、アプリケーションiに関するリクエストの数であるものとする。そのとき、W(t)に関するキューの変化規則は、
Figure 2013504807

によって与えられる。W(t)は、ルータに保有されるジョブキューであり、W(t)は、アプリケーションiのためのルータキューの現在のバックログである。
[0033]S(t)は、スロットtにおけるアクティブなサーバの組を表すものとする。それぞれのアプリケーションiについて、許可されたリクエストのみが、アプリケーションiをホストし、スロットtにおいてアクティブであるサーバにルーティングされ得る。したがって、ルーティング決定Rij(t)は、すべてのスロットにおいて以下の制約、すなわち、
Figure 2013504807

を満たす。
[0034]それぞれのサーバのリソースコントローラは、すべてのスロットに対して、そのサーバ上で実行されるアプリケーションをホストする仮想マシン(VM)内で、それぞれのサーバのリソースを割り当てる。一実施形態において、この割り当ては、利用可能な制御オプションに依存する。例えば、それぞれのサーバのリソースコントローラは、CPUの異なる割合(又は、マルチコアプロセッサの場合には異なる数のコア)をそのスロットにおいて仮想マシンに割り当てる可能性がある。このリソースコントローラは、電力割り当てを変えることによってCPUの速度を調整するために、動的周波数制御(dynamic frequency scaling)(DFS)、動的電圧制御(dynamic voltage scaling)、又は動的電圧及び周波数制御(dynamic voltage and frequency scaling)などの技術を用いることもできる。文字Iは、サーバjにおいて利用可能なすべてのそのような制御オプションの組を表すために使用される。これは、電力が全く消費されないようにサーバjを非アクティブにするオプションも含む。I(t)∈Iは、サーバjにおいて任意のポリシーの下でスロットtでなされた特定の制御決定を表すものとし、P(t)は対応する電力割り当てであるものとする。そのとき、サーバjのアプリケーションiのリクエストに関するキューの変化規則は、
Figure 2013504807

によって与えられ、ここで、μij(I(t))は、制御アクションI(t)を行うことによってスロットtにおいてサーバj上のアプリケーションiにもたらされる(リクエスト/スロットを単位とする)サービスレートを表す。リソース割り当てに応じたサービスレートの期待される値は、オフラインでのアプリケーションの分析、又はオンラインでの学習によって分かる。
[0035]したがって、すべてのスロットtにおいて、制御ポリシーは、以下の決定を行わせる。
1)t=nT(すなわち、新しいフレームの始まり)の場合、アクティブなサーバの新しい組S(t)を決定し、それ以外の場合、現在のフレームに対して既に計算されたアクティブセットを使用し続ける。一実施形態において、この決定は、集中リソースマネージャ201によってなされる。
2)すべてのアプリケーションiに対するアドミッションコントロール決定R(t)。一実施形態において、これは、アドミッションコントローラ101によって実行される。
3)許可されたリクエストに関するルーティング決定Rij(t)。一実施形態において、これは、ルータ105によって実行される。
4)それぞれのアクティブなサーバにおけるリソース割り当て決定I(t)(これは、電力割り当てP(t)及びリソース分配を含む)。一実施形態において、これは、ローカルリソースマネージャ210によって実行される。
[0036]一実施形態において、オンライン制御ポリシーは、利用可能な制御オプション、及びこのモデルによって課される構造的制約にしたがって、アプリケーションの合計スループットとサーバのエネルギーコストとの複合的な有用性を最大化する。時間によって変わる作業負荷に自動的に適応する柔軟で堅牢なリソース割り当てアルゴリズムを使用することが望ましい。一実施形態において、リアプノフ最適化の技術が、そのようなアルゴリズムを設計するために使用される。この技術は、このアルゴリズムの分析的な性能保証を確立することを可能にする。さらに、一実施形態において、作業負荷のいかなる明確なモデル化も必要とされず、予測に基づくリソースのプロビジョニングは使用されない。
(制御目的の例)
[0037]スロットtにおいてすべてのi,jに対して制御決定
Figure 2013504807

を行うこのモデルに関する任意のポリシーηを考える。任意の実行可能なポリシーηの下で、これらの制御決定は、すべてのi,jに対してすべてのスロットで、アドミッションコントロール制約(1)、ルーティング制約(3)、及びリソース割り当て制約
Figure 2013504807

を満たす。
[0038]
Figure 2013504807

は、ポリシーηの下でアプリケーションiに関する許可されるリクエストの時間平均の期待されるレートを表すものとし、すなわち、
Figure 2013504807

である。
[0039]r=(r,...,r)は、これらの時間平均レートのベクトルを表すものとする。同様に、
Figure 2013504807

は、ポリシーηの下でのサーバjの時間平均の期待される電力消費を表すものとし、すなわち、
Figure 2013504807

である。
[0040]上記の期待は、ポリシーηが行い得るランダム化される可能性がある制御アクションに対するものである。
[0041]α及びβは、一群の非負の重みであるものとし、ここで、αはアプリケーションに関連する優先度を表し、βはエネルギーコストの優先度を表す。そのとき、一実施形態における目的は、以下の確率的最適化問題、すなわち、
Figure 2013504807

を解くポリシーηを設計することであり、ここで、Λは、上述のように、データセンターモデルの容量範囲を表す。Λは、任意の実行可能なリソース割り当て戦略の下で達成され得るすべての有り得る長期的スループットの値の集合として定義される。一実施形態において、α及びβは、データセンターのオペレータによって設定され、αは、一時間に達成されるスループットあたりの金銭的価値を示し、βは、キロワット時(kWhr)あたりの金銭的コストを示す。一実施形態において、それらは1に設定され、VMあたりの計算/時コストが、VMあたりのkWhrと同じであるとみなされることを意味する。
[0042]問題(7)の目的は、データセンターにおけるアプリケーションの合計スループットと平均電力使用との一般的な重み付けされた線形結合である。この定式化は、いくつかのシナリオを考慮することを可能にする。とりわけ、この定式化は、時間によって変わる作業負荷に適応するポリシーの設計を可能にする。例えば、現在の作業負荷が瞬間的な容量範囲の中にある場合、この目的は、省エネルギーを実現するために、(一部のサーバを非アクティブにすることによって)瞬間的な容量を削減することを促す。同様に、現在の作業負荷が瞬間的な容量範囲の外にある場合、この目的は、(一部のサーバをアクティブにすること及び/又はCPUをより速い速度で実行することによって)瞬間的な容量を増やすことを促す。最後に、作業負荷が非常に高いため、すべての利用可能なリソースを使用しても作業負荷がサポートされ得ない場合、この目的は、さまざまなアプリケーションの間の優先度付けを可能にする。また、この目的は、α及びβの適切な値を選択することによって、優先度を、さまざまなアプリケーションに、並びにスループットとエネルギーとの間に割り当てることを可能にする。
[0043](7)が実行可能であり、すべてのi,jに対して、ある任意のポリシーによって実現され得る目的関数の最適値を表すと仮定する。すべてのスロットで現在のキューのバックログとは無関係な制御決定を行う静的でランダム化されたポリシーの種類のみを考えれば十分である。しかし、最適な静的でランダム化されたポリシーを明確に計算することは、すべてのシステムパラメータ(作業負荷統計のような)及び容量範囲を前もって知っていることを必要とするために難しい可能性があり、しばしば非現実的であることがある。たとえ、このポリシーが所与の作業負荷に対して計算可能であったとしても、このポリシーは、作業負荷の予測不可能な変化に対して適応的でなく、再計算されなければならない。次に、これらの困難のすべてを克服するオンライン制御アルゴリズムが、開示される。
(最適制御アルゴリズムの実施形態)
[0044]一実施形態において、リアプノフ最適化のフレームワークが、このモデルのための最適制御アルゴリズムを開発するために使用される。具体的には、すべてのi,jについて最適解を得るための、確率的最適化問題(7)に対する動的制御アルゴリズムが、示され得る。Sの部分集合の以下の集合Oが、定義される。
Figure 2013504807

[0045]次に示される制御アルゴリズムは、すべてのTスロットフレームの始めにこの集合からアクティブなサーバの組を選択する。
(データセンター制御アルゴリズム(DCA)の例)
[0046]V≧0は、入力される制御パラメータであるものとする。このパラメータは、アルゴリズムに入力され、有用性−遅延の折り合いをつけることを可能にする。一実施形態において、Vパラメータは、データセンターのオペレータによって設定される。
[0047]すべてのi,jに対するW(t)、Uij(t)は、スロットtにおけるキューのバックログの値であるものとする。一実施形態において、これらは0に初期化される。
[0048]すべてのスロットに対して、DCAアルゴリズムは、そのスロットにおけるバックログの値を用いて、複合的なアドミッションコントロール決定、ルーティング決定、及びリソース割り当て決定を行う。バックログの値は、時間の経過と共に変化規則(2)及び(4)にしたがって展開するので、DCAによってなされる制御決定は、これらの変化に適応する。しかし、一実施形態において、これは、現在のバックログの値の知識のみを用いて実施され、未来についての知識/到着の統計などに依存しない。したがって、DCAは、時間の経過と共に一連の最適化問題を満足することによって(7)の目的を解く。キューのバックログ自体は、当技術分野でよく知られている方法で確率的最適化を可能にする動的なラグランジュ乗数とみなされ得る。
[0049]一実施形態において、DCAアルゴリズムは、以下のように動作する。
[0050](アドミッションコントロール):それぞれのアプリケーションiについて、許可する新しいリクエストの数R(t)を以下の問題、すなわち、
Figure 2013504807

の解として選択する。
[0051]この問題は、簡単な閾値に基づく解を有する。特に、アプリケーションiに関する現在のルータバッファのバックログがW(t)>V・αの場合、R(t)=0であり、新しいリクエストは許可されない。そうではなく、W(t)≦V・αである場合、R(t)=A(t)であり、すべての新しいリクエストが許可される。一実施形態において、このアドミッションコントロール決定は、それぞれのアプリケーションについて別々に実行され得る。また、別の実施形態において、アドミッションコントロールは、この式中のW(t)とV・αの位置を入れ替えた上記の量を最小化することに基づくこともできる。
[0052](ルーティング及びリソース割り当て):S(t)は、現在のフレームに対するアクティブなサーバの組であるものとする。一実施形態において、t≠n・Tである場合、サーバの同じアクティブセットが、使用され続ける。ルーティング決定及びリソース割り当て決定は、以下のように与えられる。
[0053](ルーティング):アクティブなサーバの組が与えられると、ルーティングは、単純な最短待ち行列選択(Join the Shortest Queue)ポリシーにしたがう。特に、任意のアプリケーションiに対して、j`∈S(t)は、最も少ないキューのバックログUij`(t)を有するアクティブなサーバであるものとする。W(t)>Uij`(t)である場合、Rij`(t)=W(t)、すなわち、アプリケーションiのためのルータバッファ102内のすべてのリクエストが、サーバj`にルーティングされる。そうでない場合、すべてのjに対してRij(t)=0であり、リクエストは、アプリケーションiのためのいかなるサーバにもルーティングされない。これらの決定を行うために、ルータ105は、キューのバックログ情報を必要とする。このルーティング決定は、それぞれのアプリケーションについて別々に実行され得ることに留意されたい。
[0054](リソース割り当て):それぞれのアクティブなサーバj∈S(t)において、ローカルリソースマネージャが、以下の問題、すなわち、
Figure 2013504807

を解くリソース割り当てI(t)を選択し、ここで、Uijはサーバj上のアプリケーションiのバックログであり、μijは特定のキューの処理速度であり、Vはシステムパラメータであり、βは優先度であり、P(t)はサーバjの電力消費である。Pminは、この物理サーバがオンであるが、アイドル状態にあるときの、このサーバの最小電力消費である。Pminは、物理マシン毎に測定され得る。
[0055]上記の問題は、任意のアプリケーションに与えられるサービスレートがそのアプリケーションの現在のキューのバックログによって重み付けされる一般化された最大重み問題(max−weight problem)である。したがって、最適解は、最もバックログがたまっているアプリケーションのサービスレートを最大化するようにリソースを割り当てる。
[0056]この問題の複雑性は、サーバjで利用可能な制御オプションIの大きさに依存する。実際には、利用可能なDVFSの状態、CPUの配分などの制御オプションの数は、少ない/有限であり、したがって、上記の最適化は、リアルタイムで実施され得る。一実施形態において、それぞれのサーバ(例えば、ローカルリソースマネージャ)は、そのサーバ上でホストされるアプリケーションのキューのバックログの値を用いて独立にそのサーバ自身のリソース割り当て問題を解き、これは、完全に分散された形で実施され得る。
[0057]一実施形態において、t=n・Tである場合、現在のフレームに対する新しいアクティブセットS(t)が、以下を解くことによって決定される。
Figure 2013504807

及び制約(1),(3)。
[0058]上記の最適化は、以下のように理解され得る。最適なアクティブセットS(t)を決定するために、アルゴリズムは、集合Oの中のすべての有り得るアクティブなサーバの組について、括弧内の式に対する最適コストを計算する。アクティブセットが与えられると、上記の最大化は、それぞれのアプリケーションに対するルーティング決定と、それぞれのアクティブなサーバにおけるリソース割り当て決定とに分割可能である。この計算は、t≠nTの場合のルーティング及びリソース割り当てのための上述の手順を用いて容易に実行される。Oは大きさMを有するので、このステップの最悪の複雑性は、Mの多項式である。しかし、計算は、以下のように大幅に簡単化され得る。任意のサーバj上の最大のキューのバックログ>Uthreshである場合、そのサーバは、確実にアクティブセットの一部であることが示され得る。したがって、これらのサーバを含むOの部分集合のみが、考慮される必要がある。
[0059]アクティブなマシンの一部がそれらのマシンがもはやアクティブセットに入っていないためにオフにされなければならない場合、それらのマシンでキューに入れられたアプリケーションのジョブは、(i)保留され、後で当該サーバが再び元に戻るときにサービスを提供される、(ii)ロードバランサ/ルータを用いて、同じアプリケーションのVMのうちの1つに再ルーティングされる、(iii)VMのマイグレーションによってその他の物理マシンに移動される(したがって、同じ物理マシン上の複数のVMが同じアプリケーションにサービスを提供している可能性がある)、(iv)ジョブの喪失に対処するためのアプリケーションレイヤに依存することによって破棄される、といった可能性がある。最適化の段階がTスロットフレームの終わりにより多くのサーバをアクティブにすることを決定する場合、ロードバランサは、ロードバランサのキューで待っているジョブがこれらの新しい場所にルーティングされ得るように、そのような決定について知らされる。このことは、(休止モードで待機しているアプリケーションのVMがまだ存在しない場合に)新しい場所にインスタンス化されるアプリケーションVMに対するクローニング動作を引き起こす可能性がある。
(コンピュータシステムの例)
[0060]図3は、本明細書に記載の操作のうちの1つ又は複数を実行することができる例示的なコンピュータシステムの構成図である。図3を参照すると、コンピュータシステム300は、例示的なクライアント又はサーバコンピュータシステムを含み得る。コンピュータシステム300は、情報を伝達するための通信メカニズム又はバス311と、情報を処理するための、バス311に連結されたプロセッサ312とを備える。プロセッサ312は、マイクロプロセッサを含むが、例えば、Pentium(登録商標)、PowerPC(登録商標)、Alpha(登録商標)などのマイクロプロセッサに限定されない。
[0061]システム300は、情報、及びプロセッサ312によって実行される命令を記憶するための、バス311に連結されたランダムアクセスメモリ(RAM)又はその他のダイナミックストレージデバイス304(メインメモリと呼ばれる)をさらに備える。メインメモリ304は、プロセッサ312による命令の実行中に、一時的な変数又はその他の中間的な情報を記憶するために使用されることもある。
[0062]コンピュータシステム300は、プロセッサ312のための静的な情報及び命令を記憶するための、バス311に連結された読み出し専用メモリ(ROM)及び/又はその他のスタティックストレージデバイス306と、磁気ディスク又は光ディスク及びその対応するディスクドライブなどのデータストレージデバイス307とをさらに備える。情報及び命令を記憶するためのデータストレージデバイス307が、バス311に連結される。
[0063]コンピュータシステム300は、コンピュータのユーザに情報を表示するための、バス311に連結されたブラウン管(CRT)又は液晶ディスプレイ(LCD)などのディスプレイデバイス321にさらに連結され得る。英数字キー及びその他のキーを含む英数字入力デバイス322も、プロセッサ312に情報及び命令の選択を伝達するために、バス311に連結され得る。追加的なユーザ入力デバイスは、プロセッサ312に方向の情報及び命令の選択を伝達するための、並びにディスプレイ321上のカーソルの動きを制御するための、バス311に連結されたマウス、トラックボール、トラックパッド、スタイラス、又はカーソル方向キーなどのカーソルコントロール323である。
[0064]バス311に連結される可能性がある別のデバイスは、紙、フィルム、又は同様の種類の媒体などの媒体上に情報を描くために使用され得るハードコピーデバイス324である。バス311に連結される可能性がある別のデバイスは、電話又はハンドヘルドパームデバイスと通信するための有線/無線通信機能325である。
[0065]システム300のコンポーネント及び関連するハードウェアのうちの任意のもの又はすべてが、本発明で使用され得ることに留意されたい。しかし、コンピュータシステムのその他の構成が、これらのデバイスのうちの一部又はすべてを含む可能性があることが理解され得る。
[0066]本発明の多くの変更形態及び修正形態が、上述の説明を読んだ後の当業者に、間違いなく明らかになるであろうが、説明されたどの特定の実施形態も、例として示され、限定とみなされるようには全く意図されていないことを理解されたい。したがって、さまざまな実施形態の詳細に関する言及は、本発明に必須と考えられる特徴だけをそれ自体で記載する特許請求の範囲を限定するように意図されていない。

Claims (4)

  1. 複数のアプリケーションから複数のリクエストを受信するためのバッファと、
    複数の物理サーバであって、前記複数の物理サーバのそれぞれのサーバが、
    それぞれの仮想マシンが複数のアプリケーションのうちの異なる1つに関するリクエストを処理する、前記それぞれのサーバ上の1つ又は複数の仮想マシンに対して割り当て可能な1つ又は複数のサーバリソース、及び、
    前記それぞれのサーバ上で実行される前記1つ又は複数の仮想マシンに前記1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するための、前記それぞれのサーバ上でそれぞれ実行されるローカルリソースマネージャを備える、複数の物理サーバと、
    前記複数のサーバの中の個々のサーバへの前記複数のリクエストのそれぞれのルーティングを制御するための、前記複数のサーバに通信可能に連結されたルータと、
    前記複数のリクエストが前記バッファに入ることを許可するかどうかを決定するためのアドミッションコントローラと、
    前記複数のサーバのうちのどのサーバがアクティブであるかを決定するための集中リソースマネージャであって、前記集中リソースマネージャの決定が、前記複数のサーバのそれぞれ及び前記ルータにおけるアプリケーション毎のバックログ情報に依存する、集中リソースマネージャと、を備え、
    さらに、前記アドミッションコントローラによってなされるアドミッションコントロールに関する決定、前記複数のサーバのそれぞれにおける各ローカルリソースマネージャによってローカルで行われる、リソース割り当てに関してなされる決定、及び前記ルータによる、複数のサーバ間の、アプリケーションに関するリクエストのルーティングに関する決定が、互いに分離される、仮想化されたデータセンターアーキテクチャ。
  2. 複数のアプリケーションから複数のリクエストを受信するためのバッファと、
    複数のサーバであって、前記複数のサーバのそれぞれのサーバが、
    それぞれの仮想マシンが複数のアプリケーションのうちの異なる1つに関するリクエストを処理する、前記それぞれのサーバ上の1つ又は複数の仮想マシンに対して割り当て可能な1つ又は複数のサーバリソース、及び、
    前記1つ又は複数の仮想マシンに前記1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するためのローカルリソースマネージャを備える、複数のサーバと、
    前記複数のサーバの中の個々のサーバへの前記複数のリクエストのそれぞれのルーティングを制御するための、前記複数のサーバに通信可能に連結されたルータと、
    前記複数のリクエストが前記データセンターに入ることを許可するかどうかを決定するためのアドミッションコントローラであって、それぞれのアプリケーションについて許可するリクエストの数を、前記アプリケーションについて受信されるパケットの数と、アドミッションコントローラにおける前記アプリケーションに関するリクエストのバックログからシステムパラメータと前記アプリケーションの優先度との積を減じた数に等しい量と、の積を最小化することに基づいて選択する、アドミッションコントローラと
    を備える、仮想化されたデータセンターアーキテクチャ。
  3. 複数のアプリケーションから複数のリクエストを受信するためのバッファと、
    複数のサーバであって、それぞれのサーバが、
    それぞれの仮想マシンが複数のアプリケーションのうちの異なる1つに関するリクエストを処理する、前記それぞれのサーバ上の1つ又は複数の仮想マシンに対して割り当て可能な1つ又は複数のサーバリソース、及び、
    前記1つ又は複数の仮想マシンに前記1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するためのローカルリソースマネージャであり、リソース割り当てを、前記サーバ上の前記複数のアプリケーションのそれぞれのアプリケーションのバックログと前記サーバ上の前記アプリケーションの前記バックログを記憶するキューの処理速度との積の総和から、前記システムパラメータと前記アプリケーションの優先度と前記アプリケーションに関連する電力消費との積の総和を、減じた数を最大化することに基づいて選択する、ローカルリソースマネージャを備える、複数のサーバと、
    前記複数のサーバの中の個々のサーバへの前記複数のリクエストのそれぞれのルーティングを制御するための、前記複数のサーバに通信可能に連結されたルータと、
    前記複数のリクエストが前記データセンターに入ることを許可するかどうかを決定するためのアドミッションコントローラと
    を備える、仮想化されたデータセンターアーキテクチャ。
  4. 複数のアプリケーションから複数のリクエストを受信するステップと、
    複数のアプリケーションのうちの異なる1つに関するリクエストを処理するそれぞれの仮想マシン、及び、
    それぞれのサーバ上で実行される1つ又は複数の仮想マシンに1つ又は複数のリソースを割り当てるリソース割り当て決定を生成するための、前記それぞれのサーバ上で実行されるローカルリソースマネージャ
    を含む複数の物理サーバのそれぞれの前記1つ又は複数の仮想マシンに対して割り当て可能な前記1つ又は複数のサーバリソースを割り当てるステップと、
    前記複数のサーバの中の個々のサーバへの前記複数のリクエストのそれぞれのルーティングを制御するステップと、
    前記複数のリクエストが前記バッファに入ることを許可するかどうかをアドミッションコントローラが決定するステップと、
    前記複数のサーバのうちのどのサーバがアクティブであるかを集中リソースマネージャが決定するステップであって、前記集中リソースマネージャの決定が、前記複数のサーバのそれぞれ及び前記ルータにおけるアプリケーション毎のバックログ情報に依存する、ステップと、を含み、
    さらに、前記アドミッションコントローラによってなされるアドミッションコントロールに関する決定、前記複数のサーバのそれぞれにおける各ローカルリソースマネージャによってローカルで行われる、リソース割り当てに関してなされる決定、及び前記ルータによる、複数のサーバ間の、アプリケーションに関するリクエストのルーティングに関する決定が、互いに分離される、方法。
JP2012528811A 2009-09-11 2010-08-24 データセンターの自動化のための方法及び装置 Active JP5584765B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US24179109P 2009-09-11 2009-09-11
US61/241,791 2009-09-11
US12/856,500 2010-08-13
US12/856,500 US20110154327A1 (en) 2009-09-11 2010-08-13 Method and apparatus for data center automation
PCT/US2010/046533 WO2011031459A2 (en) 2009-09-11 2010-08-24 A method and apparatus for data center automation

Publications (3)

Publication Number Publication Date
JP2013504807A true JP2013504807A (ja) 2013-02-07
JP2013504807A5 JP2013504807A5 (ja) 2013-10-03
JP5584765B2 JP5584765B2 (ja) 2014-09-03

Family

ID=43050001

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012528811A Active JP5584765B2 (ja) 2009-09-11 2010-08-24 データセンターの自動化のための方法及び装置

Country Status (3)

Country Link
US (1) US20110154327A1 (ja)
JP (1) JP5584765B2 (ja)
WO (1) WO2011031459A2 (ja)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8665724B2 (en) * 2009-06-12 2014-03-04 Cygnus Broadband, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US9065779B2 (en) 2009-06-12 2015-06-23 Wi-Lan Labs, Inc. Systems and methods for prioritizing and scheduling packets in a communication network
US10162726B2 (en) * 2011-01-18 2018-12-25 Accenture Global Services Limited Managing computing resources
US8533336B1 (en) * 2011-02-04 2013-09-10 Google Inc. Automated web frontend sharding
US8793684B2 (en) * 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
US8909785B2 (en) 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
ITRM20110433A1 (it) * 2011-08-10 2013-02-11 Univ Calabria Sistema per il risparmio di energia nei data center aziendali.
US9436493B1 (en) * 2012-06-28 2016-09-06 Amazon Technologies, Inc. Distributed computing environment software configuration
CN103577265A (zh) * 2012-07-25 2014-02-12 田文洪 一种云计算数据中心离线节能调度的方法与装置
WO2014052843A1 (en) * 2012-09-28 2014-04-03 Cycle Computing, Inc. Real time optimization of compute infrastructure in a virtualized environment
US20140115137A1 (en) * 2012-10-24 2014-04-24 Cisco Technology, Inc. Enterprise Computing System with Centralized Control/Management Planes Separated from Distributed Data Plane Devices
US9817699B2 (en) 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
WO2014159740A1 (en) 2013-03-13 2014-10-02 Cloubrain, Inc. Feedback system for optimizing the allocation of resources in a data center
GB2519547A (en) * 2013-10-24 2015-04-29 Eaton Ind France Sas Method of controlling a data centre architecture equipment
US9246840B2 (en) 2013-12-13 2016-01-26 International Business Machines Corporation Dynamically move heterogeneous cloud resources based on workload analysis
US9495238B2 (en) 2013-12-13 2016-11-15 International Business Machines Corporation Fractional reserve high availability using cloud command interception
US9424084B2 (en) * 2014-05-20 2016-08-23 Sandeep Gupta Systems, methods, and media for online server workload management
US9559898B2 (en) * 2014-12-19 2017-01-31 Vmware, Inc. Automatically configuring data center networks with neighbor discovery protocol support
JP6771874B2 (ja) * 2015-09-16 2020-10-21 キヤノン株式会社 情報処理装置、その制御方法及びプログラム
CN105677475A (zh) * 2015-12-28 2016-06-15 北京邮电大学 一种基于sdn架构的数据中心内存能耗优化方法
US10356185B2 (en) * 2016-04-08 2019-07-16 Nokia Of America Corporation Optimal dynamic cloud network control
US10789097B2 (en) * 2017-02-16 2020-09-29 Nasdaq Technology Ab Methods and systems of scheduling computer processes or tasks in a distributed system
US10776428B2 (en) 2017-02-16 2020-09-15 Nasdaq Technology Ab Systems and methods of retrospectively determining how submitted data transaction requests operate against a dynamic data structure
CN107197323A (zh) * 2017-05-08 2017-09-22 上海工程技术大学 一种基于dvfs的网络视频点播服务器及其应用
US11743156B2 (en) * 2021-04-05 2023-08-29 Bank Of America Corporation System for performing dynamic monitoring and filtration of data packets
US11818045B2 (en) 2021-04-05 2023-11-14 Bank Of America Corporation System for performing dynamic monitoring and prioritization of data packets

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059040A (ja) * 2006-08-29 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> 負荷制御システムおよび方法
US20080104608A1 (en) * 2006-10-27 2008-05-01 Hyser Chris D Starting up at least one virtual machine in a physical machine by a load balancer
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299468B2 (en) * 2003-04-29 2007-11-20 International Business Machines Corporation Management of virtual machines to utilize shared resources
US20080189700A1 (en) * 2007-02-02 2008-08-07 Vmware, Inc. Admission Control for Virtual Machine Cluster
US8468230B2 (en) * 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
CA2719005A1 (en) * 2008-04-21 2009-10-29 Adaptive Computing Enterprises, Inc. System and method for managing energy consumption in a compute environment
US7826352B2 (en) * 2008-08-26 2010-11-02 Broadcom Corporation Meter-based hierarchical bandwidth sharing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059040A (ja) * 2006-08-29 2008-03-13 Nippon Telegr & Teleph Corp <Ntt> 負荷制御システムおよび方法
US20080104608A1 (en) * 2006-10-27 2008-05-01 Hyser Chris D Starting up at least one virtual machine in a physical machine by a load balancer
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム

Also Published As

Publication number Publication date
US20110154327A1 (en) 2011-06-23
JP5584765B2 (ja) 2014-09-03
WO2011031459A2 (en) 2011-03-17
WO2011031459A3 (en) 2011-09-29

Similar Documents

Publication Publication Date Title
JP5584765B2 (ja) データセンターの自動化のための方法及び装置
Praveenchandar et al. Retracted article: dynamic resource allocation with optimized task scheduling and improved power management in cloud computing
Kumar et al. Deadline constrained based dynamic load balancing algorithm with elasticity in cloud environment
US9477298B2 (en) Method and apparatus for power-efficiency management in a virtualized cluster system
Karthiban et al. An efficient green computing fair resource allocation in cloud computing using modified deep reinforcement learning algorithm
Dawoud et al. Elastic vm for cloud resources provisioning optimization
Sampaio et al. PIASA: A power and interference aware resource management strategy for heterogeneous workloads in cloud data centers
WO2019091387A1 (en) Method and system for provisioning resources in cloud computing
Sathiyamoorthi et al. Adaptive fault tolerant resource allocation scheme for cloud computing environments
Sampaio et al. Towards high-available and energy-efficient virtual computing environments in the cloud
Mishra et al. Time efficient dynamic threshold-based load balancing technique for Cloud Computing
Niehorster et al. Enforcing SLAs in scientific clouds
Hasan et al. Heuristic based energy-aware resource allocation by dynamic consolidation of virtual machines in cloud data center
Supreeth et al. VM Scheduling for Efficient Dynamically Migrated Virtual Machines (VMS-EDMVM) in Cloud Computing Environment.
Alnowiser et al. Enhanced weighted round robin (EWRR) with DVFS technology in cloud energy-aware
Kaur et al. Efficient and enhanced load balancing algorithms in cloud computing
Rolik et al. Dynamie management of data center resources using reinforcement learning
Shojafar et al. Minimizing computing-plus-communication energy consumptions in virtualized networked data centers
Telenyk et al. An approach to virtual machine placement in cloud data centers
Loganathan et al. Energy Aware Resource Management and Job Scheduling in Cloud Datacenter.
Zhang et al. An advanced load balancing strategy for cloud environment
Sah et al. Scalability of efficient and dynamic workload distribution in autonomic cloud computing
Phi et al. Load balancing algorithm on cloud computing for optimize response time
Shah et al. Task Scheduling and Load Balancing for Minimization of Response Time in IoT Assisted Cloud Environments
Cardoso et al. An efficient energy-aware mechanism for virtual machine migration

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130819

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130819

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140624

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140718

R150 Certificate of patent or registration of utility model

Ref document number: 5584765

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250