作業密度を増加させ、エネルギー効率を向上させるための電力バランシング

著者らは特許

G06F1/32 - 電力節約のための手段
G06F9/50 - リソースの割り当て,例.中央処理装置(CPU)

の所有者の特許 JP2016528626:

インテル コーポレイション

 

サーバ電力消費を調整する技術は、複数のサーバからリソース使用データを受信する計算装置を有する。当該計算装置は、リソース使用データに基づき複数のサーバのソースサーバ及びデスティネーションサーバを特定し、リソース使用データに基づき特定されたソースサーバと特定されたデスティネーションサーバとの間のリソース使用の差分を計算する。計算装置が当該差分が閾値を超過すると判断した場合、計算装置は、ソースサーバのプロセッサのプロセッサ使用を電力消費変更量だけ増加し、デスティネーションサーバのプロセッサのプロセッサ使用を対応する電力消費変化量だけ減少し、サーバのリソースをバランスさせ、新たな作業をサーバに配置するためのより大きなヘッドルームを生成する。
【選択図】図1

 

 

クラウドコンピューティングは、今日の計算ニーズのためデータセンタの利用を拡大してきた。データセンタは、データ処理及び記憶などの計算サービス及びリソースを提供し、しばしばグループコントローラにより制御されるグループに配置される多数のサーバを有する。データセンタにより扱われる作業は、様々な程度までサーバハードウェアリソースを利用する。例えば、ある作業はメモリ及びデータストレージを主に利用する可能性がある一方、他の作業はサーバのプロセッサを主として利用し、計算リソースの非効率な利用をもたらす。これらの非効率性を救済するための取り組みでは、ITマネージャはしばしば(サーバ間などで)移動することによって作業をバランスさせ、経時的に作業が変化しうるため非効率である。
データセンタは、サイズ、複雑さ及び電力消費量を増大させている。エネルギーのコストが世界中で増加し続けるため、企業は、それらのネットワークにデータセンタ及び他の計算装置を含む、それらに使用されるシステムのエネルギー効率を向上させるための機会を探してきた。一般に、これらのシステムのエネルギー効率を向上させるため、すなわち、データセンタにおけるサーバの電力消費を減少させ、消費される電力が使用される効率を増加させるための取り組みが少なくとも2つの最前線で行われてきた。
ここで説明されるコンセプトは、添付した図面において限定することなく例示的に示される。説明の簡単化及び明確化のため、図面に示される要素は必ずしも縮尺通りに描かれる必要はない。適切であると考えられる場合、対応する又は類似する要素を示すため、参照ラベルが図面間で繰り返される。
図1は、サーバの電力消費を調整するシステムの少なくとも1つの実施例の簡単化されたブロック図である。 図2は、図1のシステムのサーバの環境及び計算装置の環境の少なくとも1つの実施例の簡単化されたブロック図である。 図3は、図1のシステムのグループコントローラ上のサーバの電力消費を調整するための方法の少なくとも1つの実施例の簡単化されたフロー図である。 図4は、図1のシステムのグループコントローラ上のサーバの電力消費を調整するための方法の少なくとも1つの実施例の簡単化されたフロー図である。 図5は、図1のシステムのサーバ上の電力最適化のための方法の少なくとも1つの実施例の簡単化されたフロー図である。
本開示のコンセプトは様々な修正及び代替的な形態を許容するが、それらの特定の実施例が図面において例示的に示され、ここで詳細に開示される。しかしながら、開示された特定の形態に本開示のコンセプトを限定する意図はなく、それどころか、その意図は本開示及び添付した請求項に整合する全ての修正、均等及び代替をカバーすることである。
“一実施例”、“実施例”、“例示的な実施例”などの明細書における言及は、説明される実施例が特定の特徴、構成又は特性を有してもよいが、全ての実施例が当該特定の特徴、構成又は特性を有してもよいし、又は必ずしも有さなくてもよいことを示す。さらに、このような表現は必ずしも同一の実施例を参照しているとは限らない。さらに、特定の特徴、構成又は特性が実施例に関して説明されるとき、明示的に説明されているか否かに関わらず、他の実施例に関してこのような特徴、構成又は特性を有効にすることは当業者の知識の範囲内であると主張される。
開示される実施例は、いくつかのケースでは、ハードウェア、ファームウェア、ソフトウェア又はこれらの何れかの組み合わせにより実現されてもよい。開示される実施例はまた、1つ以上のプロセッサにより読み込まれて実行されうる一時的又は非一時的な機械可読(コンピュータ可読など)記憶媒体に記憶又は担持される命令として実現されてもよい。機械可読記憶媒体は、機械により可読な形態で情報を記憶又は送信するための何れかの記憶装置、機構又は他の物理的構成(例えば、揮発性又は不揮発性メモリ、メディアディスク又は他のメディアデバイス)として実現されてもよい。
図面において、ある構成的又は方法の特徴は、特定の配置及び/又は順序で示されてもよい。しかしながら、このような特定の配置及び/又は順序付けは必要とされなくてもよいことが理解されるべきである。むしろ、いくつかの実施例では、このような特徴は例示的な図面に示されるものと異なる方式及び/又は順序で配置されてもよい。さらに、特定の図面に構成的又は方法の特徴を包含することは、このような特徴が全ての実施例において必要とされることを意味することを意図するものでなく、いくつかの実施例では、含まれなくてもよく、又は他の特徴と組み合わされてもよい。
ここで図1を参照して、サーバの電力消費を調整するシステム100は、グループコントローラ102、ネットワーク106及び複数のサーバ108を有する。使用中、以下でより詳細に説明されるように、グループコントローラ102は、それのグループに属するサーバ108からリソース使用データを受信し、これらのサーバ108の間で電力をバランスさせる。具体的には、グループコントローラ102は、サーバ108の1つのプロセッサ使用を増加させ、サーバ108の他の1つのプロセッサ使用を減少させ、作業をより良くバランスさせ、エネルギー効率を向上させてもよい。グループコントローラ102は、サーバ108との通信リンクを確立し、ここで説明される機能を実行可能な何れかのタイプの計算装置として実現されてもよい。例えば、グループコントローラ102は、サーバ、ウェブポータルデバイス、デスクトップコンピュータ、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、PDA(Personal Digital Assistant)、モバイルインターネットデバイス及び/又は他の何れかの計算/通信デバイスとして実現されてもよい。
図1に示されるように、例示的なグループコントローラ102は、プロセッサ110、入出力(“I/O”)サブシステム112、メモリ114、データストレージ116、通信回路118及び1つ以上の周辺デバイス120を有する。もちろん、グループコントローラ102は、他の実施例では、典型的な計算装置に通常見つけられるものなど、他の又は更なるコンポーネント(各種入出力デバイスなど)を有してもよい。さらに、いくつかの実施例では、例示的なコンポーネントの1つ以上が他のコンポーネントに搭載されてもよいし、又はそうでない場合、一部であってもよい。例えば、メモリ114又はその一部は、いくつかの実施例では、プロセッサ110に搭載されてもよい。
プロセッサ110は、ここに説明される機能を実行可能な何れかのタイプのプロセッサとして実現されてもよい。例えば、プロセッサは、シングル又はマルチコアプロセッサ、デジタル信号プロセッサ、マイクロコントローラ又は他のプロセッサ若しくは処理/制御回路として実現されてもよい。同様に、メモリ114は、ここに説明される機能を実行可能な何れかのタイプの揮発性若しくは不揮発性メモリ又はデータストレージとして実現されてもよい。動作について、メモリ114は、オペレーティングシステム、アプリケーション、プログラム、ライブラリ及びドライバなど、グループコントローラ102の動作中に使用される各種データ及びソフトウェアを記憶する。メモリ114は、I/Oサブシステム112を介しプロセッサ110に通信接続され、I/Oサブシステム112は、プロセッサ110、メモリ114及びグループコントローラ102の他のコンポーネントによる入出力処理を実行するための回路及び/又はコンポーネントとして実現されてもよい。例えば、I/Oサブシステム112は、メモリコントローラハブ、入出力制御ハブ、ファームウェアデバイス、通信リンク(すなわち、ポイント・ツー・ポイントリンク、バスリンク、ワイヤ、ケーブル、光ガイド、プリント回路ボードトレースなど)及び/又は入出力処理を実行するための他のコンポーネント及びサブシステムとして実現されてもよいし、又は有してもよい。いくつかの実施例では、I/Oサブシステム112は、システム・オン・チップ(SoC)の一部を形成してもよく、プロセッサ110、メモリ114及びグループコントローラ102の他のコンポーネントと共に、単一の集積回路チップに搭載されてもよい。
データストレージ116は、例えば、メモリデバイス及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブ又は他のデータ記憶装置など、データの短期又は長期記憶のため構成される何れかのタイプのデバイスとして実現されてもよい。図1に示されるように、データストレージ116は、リソース使用データ122及び1つ以上のサーバリスト124を有する。リソース使用データ122は、各サーバ108から受信され、サーバ108の間で電力消費をバランスさせるのに利用されてもよいサーバ108の特定のリソースの使用量、タイプ及び/又は程度に関する情報(例えば、メモリ使用、プロセッサ使用、ネットワーク使用又は他のリソース使用情報)を提供する。もちろん、他の実施例では、リソース使用データ122は、サーバ108以外の計算装置(リソースモニタリング装置など)から受信されてもよい。
さらに、グループコントローラ102は、電力消費を調整すべきサーバ108の1つ以上のリスト216を受信する。例えば、グループコントローラ102は、グループコントローラ102に関連するグループに属する全てのサーバ108を含むサーバリスト216を抽出してもよい。いくつかの実施例では、サーバリスト216は、グループコントローラ102に割り当てられたサーバ108に基づき生成されてもよい(例えば、グループコントローラ102などによって)。グループコントローラ102に割り当てられ、制御され、又は関連付けされた特定のサーバ108は時間の経過と共に変わってもよいことが理解されるべきである。さらに、後述されるように、グループコントローラ102は、リソース使用データ122に基づきサーバリスト216をソートする。いくつかの実施例では、このようなソートされたリストの1つ以上がまたデータストレージ116に記憶されてもよい。
グループコントローラ102の通信回路118は、ネットワーク106を介したグループコントローラ102と他のリモート装置(サーバ108など)との間の通信を可能にする何れかの通信回路、デバイス又はこれらの集合体として実現されてもよい。通信回路118は、このような通信を実行するための何れか1つ以上の通信技術(例えば、無線又は有線通信)及び関連するプロトコル(例えば、イーサネット(登録商標)、ブルートゥース(登録商標)、Wi−Fi(登録商標)、WiMAXなど)を利用するよう構成されてもよい。通信回路118は更に、各種メッセージングプロトコルを利用するよう構成されてもよい。例えば、通信回路118は、Advanced Message Queuing Protocol(AMQP)を利用してサーバ108と通信してもよい。いくつかの実施例では、通信回路118は、1つ以上のサーバ108とイン・バンド及び/又はアウト・オブ・バンド通信接続を確立してもよい。例えば、通信回路118は、グループコントローラ102とサーバ108の1つ以上のコンポーネント(例えば、セキュリティコプロセッサ)との間のアウト・オブ・バンド通信を可能にするためIntelligent Platform Management Interface(IPMI)を利用してもよい。
グループコントローラ102の1つ以上の周辺デバイス120は、何れかの数の更なる周辺又はインタフェースデバイスを有してもよい。周辺デバイス120に含まれる特定のデバイスは、例えば、グループコントローラ102のタイプ及び/又は意図される使用などに依存してもよい。図1に示されるように、グループコントローラ102は、クラウド環境104の一部に属するか、又は形成してもよい。クラウド環境104は、ここに説明される機能を実行可能であって、分散計算及び/又はリソース管理に適した何れかのクラウド計算環境として実現されてもよい。いくつかの実施例では、サーバ108はあるいは又はさらにクラウド環境104の一部を形成してもよいことが理解されるべきである。
ネットワーク106は、グループコントローラ102とサーバ108との間の通信を実行可能な何れかのタイプの通信ネットワークとして実現されてもよい。また、ネットワーク106は、1つ以上のネットワーク、ルータ、スイッチ、コンピュータ及び/又は他の介入する装置を有してもよい。例えば、ネットワーク106は、1つ以上のローカル又はワイドエリアネットワーク、公衆に利用可能なグルーバルネットワーク(例えば、インターネット)、セルラネットワーク、電話網、アドホックネットワーク又はこれらの何れかの組み合わせとして実現されるか、又は有してもよい。もちろん、グループコントローラ102は1つのネットワーク106を介しサーバ108と通信してもよく、一方、グループコントローラ102及び/又はサーバ108は他のネットワーク106を介し他のリモートデバイスと通信してもよいことが理解されるべきである。
各サーバ108は、ここに説明される機能を実行可能な何れかのタイプの計算装置又はサーバとして実現されてもよい。例えば、いくつかの実施例では、各サーバ108は、上述されたようなグループコントローラ102と同様であってもよい。すなわち、各サーバ108は、企業レベルサーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、PDA、モバイルインターネットデバイス及び/又は他の何れかの計算/通信デバイスとして実現されてもよい。グループコントローラ102のこれらのコンポーネントの説明は、サーバ108のコンポーネントの説明に等しく適用可能であり、説明の簡単化のためここでは繰り返されない。
図1に例示的に示されるように、各サーバ108はまたセキュリティコプロセッサ126を有してもよい。セキュリティコプロセッサ126は、ここで説明される機能を実行可能な何れかのハードウェアコンポーネント又は回路として実現されてもよい。いくつかの実施例では、セキュリティコプロセッサ126は、信頼される実行環境を確立可能である。例えば、セキュリティコプロセッサ126は、TPM(Trusted Platform Module)、ME(Manageability Engine)、CSE(Converged Security Engine)又は他のアウト・オブ・バンドプロセッサとして実現されてもよい。いくつかの実施例では、セキュリティコプロセッサ126は、サーバ108のメインプロセッサに対して独立してアウト・オブ・バンド方式で動作するよう構成されるアウト・オブ・バンドプロセッサとして実現される。セキュリティコプロセッサ126は、いくつかの実施例では、サーバ108がアウト・オブ・バンド通信チャネルを介しグループコントローラ102と通信することを可能にしてもよい。さらに、サーバ108は、グループコントローラ102を参照する際に上述されず、説明の簡単化のためここでは説明されていない計算装置又はサーバにおいて通常見つけられる他のコンポーネント、サブコンポーネント及びデバイスを有してもよいことが理解されるべきである。上述されるように、サーバ108は、グループコントローラ102に関連するグループに属してもよい。グループコントローラ102のグループに属する特定のサーバは何れか適切な方法により定義又は確定されてもよいことが理解されるべきである。例えば、一実施例では、サーバ108の各ラックはグループコントローラ102により制御されるグループを構成してもよい。さらに、いくつかの実施例では、グループコントローラ102はサーバの複数のグループを制御するよう構成される。
ここで図2を参照して、使用中に、システム100のグループコントローラ102は環境200を確立し、システム100のサーバ108はサーバの電力消費を調整するための環境250を確立する。例示的な実施例におけるグループコントローラ102の環境200は、電力バランシングモジュール202、作業スケジューリングモジュール204、通信モジュール206、リソース使用データ214及び1つ以上のサーバリスト216を有する。さらに、電力バランシングモジュール202は、ランキングモジュール208、電力調整モジュール210及び条件監視モジュール212を有する。さらに、例示的な実施例におけるサーバ108の環境は、ハードウェア監視モジュール218、通信モジュール220及び信頼実行環境モジュール222を有する。電力バランシングモジュール202、作業スケジューリングモジュール204、通信モジュール206、ランキングモジュール208、電力調整モジュール210、条件監視モジュール212、セキュリティコプロセッサ126、ハードウェア監視モジュール218、通信モジュール220及び信頼実行環境モジュール222は、ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせとして実現されてもよい。
以下でより詳細に説明されるように、電力バランシングモジュール202は、サーバ108のリソース使用データ214に基づきサーバ108の電力消費をバランスする。各サーバ108の電力消費は、例えば、サーバ108におけるプロセッサの電圧及び周波数動作ポイント及び他の電力関連ファクタを含むファクタにより決定されてもよい。例えば、一実施例では、第1及び第2のサーバ108はそれぞれ、特定の周波数(2.0ギガヘルツなど)で動作するプロセッサを有してもよい。また、各サーバ108のプロセッサは、ほぼ同じ電力量を消費する。第1のサーバ108はほとんど排他的にメモリアクセスに関する作業を処理し、一方、第2のサーバ108はプロセッサ集中的な作業を処理してもよい。このような実施例では、第1のサーバ108は、第2のサーバ108がそれのプロセッサを使用するほどはそれのプロセッサを有意に使用していない。従って、電力バランシングモジュール202は、第1のサーバ108のプロセッサにより不要に消費される電力を第2のサーバ108に“シフト”してもよい。すなわち、いくつかの実施例では、電力バランシングモジュール202は、プロセッサが広く使用されないサーバ108の電力配分を減少させ、サーバ108の間のトータルの電力消費に影響を与えることなくプロセッサ使用が大きなサーバ108に対応する量だけ電力配分を増加させる。後述されるように、これを実行する際、電力バランシングモジュール202は、例えば、サーバ108のプロセッサの電圧及び周波数動作ポイントを修正してもよい。いくつかの実施例では、電力バランシングモジュール202はまた、サーバ108及び/又はサーバのコンポーネントの電力消費を制限するための電力制限構成を有してもよい。
ランキングモジュール208は、サーバ108に関するリソース使用データ214を受信し、サーバ108のリソース使用量に従ってそれらをランク付け(すなわち、ソート)する。例えば、一実施例では、リソース使用データ214はメモリ使用データを有してもよく、ランキングモジュール208はサーバ108のメモリ使用量によりランク付けされたサーバ108のソートされたリストを生成してもよい。他の実施例では、リソース使用データ214は、サーバ108をランク付けするのに利用可能なサーバ108のプロセッサ使用量を示してもよい。リソース使用データ214の何れか1つ以上の適した態様が、各種実施例においてサーバ108をランク付けするのに単独で又は組み合わせて利用されてもよいことが理解されるべきである。
ランキングモジュール208はまた、ソースサーバ又はデスティネーションサーバとしてソートされたリストにおいて各サーバ108を特定してもよい。ここに説明されるように、電力は、電力バランシングモジュール202によってソースサーバからデスティネーションサーバに“シフト”される。上記の具体例では、第1のサーバ108がソースサーバであり、第2のサーバ108がデスティネーションサーバである。いくつかの実施例では、ランキングモジュール208は、ソートされたリストにおけるサーバの順序に基づき、ソートされたリストにおける半分のサーバ108をソースサーバとして、またソートされたリストにおける半分のサーバ108をデスティネーションサーバとして特定する。例えば、いくつかの実施例では、サーバ108のリソース使用によりランク付けされたソートされたリストにおける最初の半分のサーバ108がソースサーバであり、他の半分のサーバ108がデスティネーションサーバである。
ランキングモジュール208はまた、作業スケジューリングモジュール204が、例えば、新たな作業及び/又はバーチャルマシーンを配置又はルーティングすべきサーバ108を決定できるように、リソース使用データ及び/又はランキング情報(ソートされたリストなど)を作業スケジューリングモジュール204に提供してもよい。これを実行する際、作業スケジューリングモジュール204は、作業をスケジューリングし、及び/又はバーチャルマシーンを配置するのに適した何れかのランキング、スケジューリング及び/又は他のアルゴリズムを利用してもよい。各作業は異なる計算リソースを利用することが理解されるべきである。従って、作業スケジューリングモジュール204は、当該情報を利用して、データセンタのトータルな電力消費を増大させることなく、サーバ108の電力消費を最小化し、及び/又はサーバ108上で実行される作業の作業密度を最大化するよう新たな作業を適切にスケジューリングしてもよい。
電力調整モジュール210は、サーバ108の1つ以上のコンポーネントにより消費される電力量を調整する。例示的な実施例では、電力調整モジュール210は、サーバ108のプロセッサにより消費される電力を調整する。しかしながら、他の実施例では、他のコンポーネントの電力消費は、ここに説明される方法及びアーキテクチャを用いて修正されてもよい。後述されるように、電力調整モジュール210は、ペアでサーバ108の電力消費を調整してもよい(例えば、1つのサーバ108において特定量だけ電力消費を低下させる一方、他のサーバ108において同じ量だけ電力消費を増加させる)。例えば、最大のリソース使用を有するソートされたリストにおけるサーバ108が、最小のリソース使用を有するソートされたリストにおけるサーバ108とペアにされてもよい。さらに、2番目に大きなリソース使用を有するソートされたリストにおけるサーバ108が、2番目に小さなリソース使用を有するソートされたリストにおけるサーバ108とペアとされ、以下同様であってもよい。いくつかの実施例では、電力調整モジュール210は、サーバ108のペア(例えば、ソース・デスティネーションサーバペア)の間のリソース使用の差分を計算し、当該差分の閾値を超過した場合に限ってサーバ108の電力消費を調整する。すなわち、いくつかの実施例では、電力調整モジュール210は、それらのリソース使用の差分が最小である場合、2つのサーバ108の間の電力消費を調整しなくてもよい。他の実施例では、サーバ108により消費される電力は、他の何れか適したアルゴリズム又はサーバ108のグループ化に従って調整されてもよいことが理解されるべきである。
例示的な実施例では、電力調整モジュール210は、例えば、それのプロセッサ状態(すなわち、それの“P状態”)を変更することによって、サーバ108の1つのプロセッサにより消費される電力を調整してもよい。すなわち、電力調整モジュール210は、プロセッサの電圧及び周波数動作ポイント(しばしば、単に周波数動作ポイントとして参照される)を調整してもよい。プロセッサの周波数動作ポイントが低下すると、プロセッサにより消費される電力量は低下することが理解されるべきである。すなわち、プロセッサの電力消費は、プロセッサの周波数動作ポイントに正比例する。さらに、同じ作業はより低い周波数で動作するプロセッサにより処理されるべきであるため、プロセッサの周波数動作ポイントを低下させることは、プロセッサの有効なプロセッサ使用を所与の作業について増加させる。同様に、プロセッサの周波数動作ポイントを増加させることは、有効なプロセッサ使用を低下させる。プロセッサの周波数動作ポイントを変更することによって、例えば、プロセッサの使用は、配分された作業によるサーバのリソースの電力消費率に一致して与えられる。もちろん、他の実施例では、電力調整モジュール210は、何れか適した機構を利用してサーバ108のコンポーネントにより消費される電力を調整してもよい。
条件監視モジュール212は、リソース使用データ214に基づき、電力バランシングモジュール202がサーバ108の電力消費状況を再評価すべき時点を決定する。例えば、条件監視モジュール212は、サーバ108の電力消費が定期的に、又は他の時間的制限若しくは条件に基づき評価されるようにタイマを実装してもよい。他の実施例では、条件監視モジュール212は、電力バランシングモジュール202が電力消費を評価するため、他の条件の発生を監視してもよい(例えば、閾値数の新たな又は排除された作業)。いくつかの実施例では、条件監視モジュール212はまた、グループコントローラ102がサーバ108からリソース使用データ214を受信又は要求する条件(例えば、定期的)を決定してもよい。もちろん、他の実施例では、このような決定は代わりにサーバ108により行われてもよい。
通信モジュール206は、ネットワーク106を介しグループコントローラ102とリモート装置(サーバ108など)との間の通信を処理する。ここで説明されるように、通信モジュール206はサーバ108からリソース使用データ214を受信する。これを実行する際、通信モジュール206は、AMQPなどのメッセージングプロトコルを利用してもよい。さらに、通信モジュール206は、電力バランシング命令をサーバ108に送信してもよい(例えば、IPMI又は他のアウト・オブ・バンド通信機構を用いたセキュア送信を介し)。上述されるように、電力バランシング命令は、サーバ108の何れのコンポーネント(例えば、プロセッサ、ネットワークインタフェースコントローラ)が変更されるべきか、また、それらがどのように変更されるべきか(例えば、周波数動作ポイントの低下、周波数動作ポイントの増加、プロセッサのP状態の“0”への変更など)を特定する情報を有する。
上述されるように、各サーバ108は、ハードウェア監視モジュール218、通信モジュール220及び信頼実行環境モジュール222を有する。サーバ108のハードウェア監視モジュール218は、サーバ108の1つ以上のリソース(例えば、プロセッサ、メモリ、ネットワークインタフェースカード、コプロセッサ又は他のコンポーネント)の使用を監視する。さらに、ハードウェア監視モジュール218は、監視したリソース使用に基づき当該サーバ108のリソース使用データ214を生成する。リソース使用データ214は何れか適切な方法によりリソース使用を表してもよいことが理解されるべきである。例えば、リソース使用データは、絶対値、相対値、パーセンテージ、レシオ、分布又は他の何れか適切な表現として表されてもよい。
通信モジュール220は、ネットワーク106を介しサーバ108とリモート装置(例えば、グループコントローラ102)との間の通信を処理する。上述されるように、通信モジュール220は、生成されたリソース使用データ214をグループコントローラ102に送信する。特定の実施例に依存して、通信モジュール220は、定期的に、又はある条件の発生に応答して(例えば、特定数の作業の完了)、リソース使用データ214を送信してもよい。通信モジュール220はまた、サーバ108と他のサーバとの間で電力消費をバランスさせるため、サーバ108のコンポーネントを変更するようサーバ108に指示する電力バランシング命令をグループコントローラ102から受信してもよい。
信頼実行環境モジュール222は、電力バランシング命令を受信し(例えば、通信モジュール220から、又はグループコントローラ102から直接)、電力消費を有効にするためサーバ108の特定されたコンポーネントを変更する。信頼実行環境モジュール222は、サーバ108についてセキュアで信頼される実行環境を確立する。いくつかの実施例では、セキュアコプロセッサ126は信頼実行環境モジュール222を有する。すなわち、信頼実行環境モジュール222は、セキュリティコプロセッサ126に搭載又は実行されてもよい。さらに、いくつかの実施例では、グループコントローラ102からの電力バランシング命令は、信頼実行環境モジュール222によってのみ受信又は処理されてもよい。従って、信頼実行環境モジュール222(又はセキュリティコプロセッサ126)は、例えば、グループコントローラ102から受信した電力バランシング命令に基づき、サーバ108のプロセッサのプロセッサ使用を変更してもよい(例えば、プロセッサの周波数動作ポイントを変更することによって)。
ここで図3及び4を参照して、使用中に、システム100のグループコントローラ102は、サーバの電力消費を調整する方法300を実行する。例示的な方法300は、グループコントローラ102がサーバ108の電力消費を調整するか決定する図3のブロック302から開始される。調整する場合、ブロック304において、グループコントローラ102は電力調整パラメータを決定する。例えば、ブロック306において、グループコントローラ102は、後述されるような2つのサーバ108の間で電力消費をバランスさせるか判断するのに利用されてもよい使用閾値を決定してもよい。すなわち、グループコントローラ102は、ソースサーバとデスティネーションサーバとの間のリソース使用の差分(すなわち、“使用差分”)を計算してもよく(すなわち、電力移転のため)、いくつかの実施例では、グループコントローラ102は、使用差分が使用閾値より大きい場合に限って、選択されたソースサーバとデスティネーションサーバとの間の電力をバランスさせる。ブロック308において、グループコントローラ102は、電力消費変化量を決定する。すなわち、グループコントローラ102は、対応するサーバ108の電力消費を増減する量(例えば、絶対値、パーセンテージ又は他の量)を決定する。例示的な実施例では、ソース及びデスティネーションサーバの電力消費は、同じ電力消費変化量だけ変更される。さらに、ブロック310において、グループコントローラ102は、電力使用評価条件を決定する。すなわち、グループコントローラ102は、リソース使用データ214に基づきサーバ108の電力消費状態を再評価すべきときを決定する。上述されるように、電力使用評価条件は、実施例に依存してある条件の発生又は時間の結果に基づくものであってもよい。使用閾値、電力消費変化量及び電力使用評価条件のそれぞれは、グループコントローラ102により予め決定された静的な値であってもよいし、又は動的に決定されてもよいことが理解されるべきである。
ブロック312において、グループコントローラ102は、電力消費を調整すべきサーバ108のリスト216を抽出する。上述されるように、サーバリスト216は、グループコントローラ102に関連するグループに属する全てのサーバ108を特定し、グループコントローラ102に記憶されてもよいし、又はリモート装置(例えば、クラウド計算装置)から抽出されてもよい。ブロック314において、グループコントローラ102は、リスト216の各サーバ108からリソース使用データ214を受信する。いくつかの実施例では、リソース使用データ214はグループコントローラ102からのリクエストに応答して受信される一方、他の実施例では、リソース使用データ214は、上述されるように、サーバ108におけるある条件(例えば、定期的)の発生に応答してサーバ108からグループコントローラ102に送信される。他の実施例では、ブロック304,312及び314は他の順序で実行されてもよいことがまた理解されるべきである。
グループコントローラ102は、リソース使用データ214に従ってサーバリスト216をソートする。上述されるように、リソース使用データ214は、サーバ108の特定のリソースの使用量、タイプ及び/又は程度に関する情報(例えば、メモリ使用、プロセッサ使用、ネットワーク使用又は他のリソース使用情報)を含むものであってもよい。いくつかの実施例では、グループコントローラ102は、特定のリソースの使用に従ってサーバリスト216をソートする。例えば、グループコントローラ102は、最小のメモリ使用を有するサーバ108をソートされたリストの一方のエンド(すなわち、ソートされたリストの始め又は終わり)にし、最大のメモリ使用を有するサーバ108をソートされたリストの他方のエンドにすることによって、リスト216におけるサーバ108のメモリ使用量に従ってサーバリスト216をソートしてもよい。もちろん、他の実施例では、ソートされたリストはまた、単独で又は組み合わせてサーバ108の他のリソースの使用に基づき生成されてもよい。
ブロック318において、グループコントローラ102は、ソートされたリストに基づきソース及びデスティネーションサーバを特定する。いくつかの実施例では、リソース使用データ214に基づき、ソートされたリストの一方の半分(すなわち、上位半分又は下位半分)がソースサーバとして特定され、他方の半分がデスティネーションサーバとして特定されてもよい。後述されるように、いくつかの実施例では、使用閾値が充たされたと仮定すると、ソースサーバは、電力消費が電力消費変化量だけ低下されるべきものであり、デスティネーションサーバは、電力消費が対応する電力消費変化量だけ増加されるべきものである。ソートリストに奇数個のサーバ108がある実施例では、“真ん中”のサーバ108は、特定の実施例に依存して適切な方式により処理されてもよい(例えば、無視される)。
ここで図4を参照して、グループコントローラ102は、ブロック302においてソートされたリストから次のソースサーバと次のデスティネーションサーバとを選択する。ブロック322において、グループコントローラ102は、リスト216がソートされた特定のリソース(メモリなど)に関連するリソース使用データ214に基づき、選択されたソースサーバとデスティネーションサーバとの間のリソース使用の差分(すなわち、使用差分)を計算する。ブロック324において、グループコントローラ102は、使用差分が図3のブロック306において決定された使用閾値を超過しているか判断する。超過していない場合、方法300は、グループコントローラ102が次のソースサーバと次のデスティネーションサーバとを選択するブロック320に戻る。上述されるように、ソースサーバとデスティネーションサーバとのペアは、何れか適切な方式により選択されてもよい。使用差分が使用閾値を超過しているとグループコントローラ102が判断した場合、ブロック326において、グループコントローラ102は、選択されたソースサーバとデスティネーションサーバとの間で電力消費を調整する。例えば、ブロック328において、グループコントローラ102は、決定されたバジェット変化量だけソースサーバのプロセッサ使用を増加させてもよい。さらに、ブロック330において、グループコントローラ102は、対応する電力消費変化量だけデスティネーションサーバのプロセッサ使用を低下させてもよい。上述されるように、グループコントローラ102は、例えば、プロセッサの周波数動作ポイントを調整することによって、プロセッサ使用を変更してもよい。
ブロック332において、グループコントローラ102は、まだ対処していない(例えば、使用差分を計算していない)ソートされたリストにおける何れか残りのソース及びデスティネーションサーバがあるか判断する。ある場合、方法300は、グループコントローラ102が使用差分を計算すべき次のソースサーバとデスティネーションサーバとのペアを選択するブロック320に戻る。しかしながら、このようなペアがない場合、グループコントローラ102は、ブロック334において、電力使用評価条件が充足されるまで待機する。すなわち、グループコントローラ102は、図3のブロック310において決定された電力使用評価条件の1つ以上の発生を監視する。上述されるように、電力使用評価条件は、充足される場合、グループコントローラ102がサーバ108のリソース使用データ214を再評価すべきことを示す条件(例えば、タイマの満了)を特定する。当該条件が充足された場合、方法300は、グループコントローラ102がサーバ108の新たなリソース使用データ214を受信する図3のブロック314に戻る。いくつかの実施例では、グループコントローラ102は、評価条件の発生に対して他の順序によりリソース使用データ214を受信してもよいことが理解されるべきである。
ここで図5を参照して、使用中に、システム100のサーバ108の1つ以上が電力最適化のための方法500を実行してもよい。例示的な方法500は、サーバ108がサーバ108の1つ以上のリソースの監視される使用に基づきリソース使用データ214を生成するブロック502から開始される。ブロック504において、サーバ108は生成されたリソース使用データ214をグループコントローラ102に送信する。上述されるように、リソース使用データ214は、何れか適切な形式又は構成により生成及び送信されてもよい。ブロック506において、サーバ108は、サーバ108のプロセッサ使用を変更するための命令がグループコントローラ102から受信されたか判断する。もちろん、他の実施例では、サーバ108は、他の電力バランシング命令がグループコントローラ102から受信されたか判断してもよい。例えば、他の電力バランシング命令は、サーバ108の他のリソース又はコンポーネント(例えば、ネットワークカード)を変更することに関するものであってもよい。
プロセッサ使用命令がグループコントローラ102から受信されたとサーバ108が判断した場合、ブロック508において、サーバ108は、これに対応してプロセッサ使用を変更する。上述されるように、サーバ108は、例えば、プロセッサの周波数動作ポイントを変更するなどによってそうしてもよく、プロセッサ使用は、周波数動作ポイントを低下させることによって増加し、プロセッサの周波数動作ポイントを増加することによって低下する。他の実施例では、サーバ108が他の電力バランシング命令を受信した場合、サーバ108は、関連するコンポーネントの使用を適切に変更してもよい。ブロック506において、プロセッサ使用命令が受信されなかったとサーバ108が判断したか、又はブロック508において、サーバがプロセッサ使用を変更した場合、ブロック510において、サーバ108は、監視条件が充足されたか判断する。上述されるように、サーバ108は、充足される場合、サーバ108にリソース使用データ214を生成させ、リソース使用データ214をグループコントローラ102に送信させる条件を規定する監視条件を決定してもよい。監視条件が充足されているとサーバ108が判断した場合、方法500は、サーバ108が現在のリソース使用データ214を生成するブロック502に戻る。そうでない場合、方法500は、プロセッサ使用命令(又はより一般には、電力バランシング命令)がグループコントローラ102から受信されたか判断するブロック506に戻る。
具体例
ここに開示される技術の例示的な具体例が以下に提供される。これらの技術の実施例は、後述される具体例の何れか1つ以上及び何れかの組み合わせを含むものであってもよい。
具体例1は、サーバ電力消費を調整する計算装置であって、複数のサーバからリソース使用データを受信する通信モジュールと、(i)リソース使用データに基づき複数のサーバのソースサーバ及びデスティネーションサーバを特定し、(ii)リソース使用データに基づき特定されたソースサーバと特定されたデスティネーションサーバとの間のリソース使用の差分を計算し、(iii)リソース使用の差分が閾値を超過したという判定に応答して、ソースサーバのプロセッサのプロセッサ使用を電力消費変化量だけ増加し、(iv)リソース使用の差分が閾値を超過したという判定に応答して、デスティネーションサーバのプロセッサのプロセッサ使用を対応する電力消費変化量だけ減少する電力バランシングモジュールとを有する計算装置を有する。
具体例2は具体例1の主題を有し、ここで、当該計算装置は、複数のサーバを含むサーバのグループのグループコントローラを有する。
具体例3は具体例1及び2の何れかの主題を有し、ここで、通信モジュールは、複数のサーバを含むサーバのリストを抽出し、電力バランシングモジュールは、サーバのリソース使用量に基づきサーバのリストをソートする。
具体例4は具体例1〜3の何れかの主題を有し、ここで、電力バランシングモジュールは、ソートされたリストにおけるサーバの順序に基づき、ソートされたリストにおけるサーバの一方の半分をデスティネーションサーバとして、ソートされたリストにおけるサーバの他方の半分をソースサーバとして特定する。
具体例5は具体例1〜4の何れかの主題を有し、ここで、リソース使用データは、対応するサーバのメモリ使用量を特定する。
具体例6は具体例1〜5の何れかの主題を有し、ここで、ソースサーバのプロセッサのプロセッサ使用を増加することは、ソースサーバのプロセッサのプロセッサ状態を変更することを含み、プロセッサ状態はプロセッサの周波数動作ポイントを規定する。
具体例7は具体例1〜6の何れかの主題を有し、ここで、ソースサーバのプロセッサのプロセッサ使用を増加することは、ソースサーバのプロセッサの動作周波数を低下することを含み、デスティネーションサーバのプロセッサのプロセッサ使用を減少することは、デスティネーションサーバのプロセッサの動作周波数を増加することを含む。
具体例8は具体例1〜7の何れかの主題を有し、ここで、通信モジュールは、複数のサーバからリソース使用データを定期的に受信する。
具体例9は、電力最適化のためのサーバであって、(i)当該サーバのリソースの使用を監視し、(ii)監視されたリソース使用に基づきリソース使用データを生成するハードウェア監視モジュールと、(i)当該サーバを含むサーバのグループのグループコントローラにリソース使用データを送信し、(ii)リソース使用データの送信に応答して、グループコントローラから当該サーバのプロセッサのプロセッサ使用を変更する命令を受信する通信モジュールであって、ここで、命令の受信は、当該サーバのリソース使用データが少なくとも閾値量だけサーバのグループの他のサーバのリソース使用データと異なるという通知である、通信モジュールと、グループコントローラの命令に基づき、電力消費変化量だけサーバのプロセッサのプロセッサ使用を変更するセキュリティコプロセッサとを有するサーバを有する。
具体例10は具体例9の主題を有し、ここで、プロセッサのプロセッサ使用を変更することは、プロセッサのプロセッサ状態を変更することを含み、プロセッサ状態はプロセッサの周波数動作ポイントを規定する。
具体例11は具体例9及び10の何れかの主題を有し、ここで、セキュリティコプロセッサは、グループコントローラからのプロセッサのプロセッサ使用を減少する命令の受信に応答して、プロセッサの動作周波数を増加し、グループコントローラからのプロセッサのプロセッサ使用を増加する命令の受信に応答して、プロセッサの動作周波数を低下する。
具体例12は具体例9〜11の何れかの主題を有し、ここで、通信モジュールは、リソース使用データをグループコントローラに定期的に送信する。
具体例13は具体例9〜12の何れかの主題を有し、ここで、リソース使用データは、当該サーバのメモリ使用量を特定する。
具体例14は、計算装置によってサーバ電力消費を調整する方法であって、計算装置が、複数のサーバからリソース使用データを受信するステップと、計算装置が、リソース使用データに基づき複数のサーバのソースサーバ及びデスティネーションサーバを特定するステップと、計算装置が、リソース使用データに基づき特定されたソースサーバと特定されたデスティネーションサーバとの間のリソース使用の差分を計算するステップと、計算装置が、リソース使用の差分が閾値を超過したと判定したことに応答して、ソースサーバのプロセッサのプロセッサ使用を電力消費変化量だけ増加するステップと、計算装置が、リソース使用の差分が閾値を超過したと判定したことに応答して、デスティネーションサーバのプロセッサのプロセッサ使用を対応する電力消費変化量だけ減少するステップとを有する方法を有する。
具体例15は具体例14の主題を有し、ここで、リソース使用データを受信するステップは、計算装置がグループコントローラであるサーバのグループに属する複数のサーバからリソース使用データを受信することを含む。
具体例16は具体例14及び15の何れかの主題を有し、計算装置が、複数のサーバを含むサーバのリストを抽出するステップと、計算装置が、サーバのリソース使用量に基づきサーバのリストをソートするステップとを更に有する。
具体例17は具体例14〜16の何れかの主題を有し、計算装置が、ソートされたリストにおけるサーバの順序に基づき、ソートされたリストにおけるサーバの一方の半分をデスティネーションサーバとして、ソートされたリストにおけるサーバの他方の半分をソースサーバとして特定するステップを更に有する。
具体例18は具体例14〜17の何れかの主題を有し、ここで、リソース使用データを受信するステップは、複数のサーバからリソース使用データを受信することを含み、リソース使用データは対応するサーバのメモリ使用量を特定する。
具体例19は具体例14〜18の何れかの主題を有し、ここで、ソースサーバのプロセッサのプロセッサ使用を増加するステップは、ソースサーバのプロセッサのプロセッサ状態を変更することを含み、プロセッサ状態はプロセッサの周波数動作ポイントを規定する。
具体例20は具体例14〜19の何れかの主題を有し、ここで、ソースサーバのプロセッサのプロセッサ使用を増加するステップは、ソースサーバのプロセッサの動作周波数を低下することを含み、デスティネーションサーバのプロセッサのプロセッサ使用を減少するステップは、デスティネーションサーバのプロセッサの動作周波数を増加することを含む。
具体例21は具体例14〜20の何れかの主題を有し、ここで、リソース使用データを受信するステップは、複数のサーバからリソース使用データを定期的に受信することを含む。
具体例22は、プロセッサにより実行されると、具体例14〜19の何れかの方法を計算装置に実行される複数の命令を記憶するメモリとプロセッサとを有する計算装置を有する。
具体例23は、実行されることに応答して、具体例14〜21の何れかの方法を計算装置に実行させる複数の命令を記憶した1つ以上の機械可読記憶媒体を有する。
具体例24は、具体例14〜21の何れかの方法を実行する手段を有するロケーションプライバシを管理する計算装置を有する。
具体例25は、サーバにおける電力最適化のための方法であって、サーバが、サーバのリソースの使用を監視するステップと、サーバが、監視されたリソース使用に基づきリソース使用データを生成するステップと、サーバが、サーバを含むサーバのグループのグループコントローラにリソース使用データを送信するステップと、サーバが、リソース使用データを送信することに応答して、グループコントローラからサーバのプロセッサのプロセッサ使用を変更する命令を受信するステップであって、命令の受信は、サーバのリソース使用データがサーバのグループの他のサーバのリソース使用データと少なくとも閾値量だけ異なるという通知である、受信するステップと、サーバが、グループコントローラの命令に基づき、プロセッサのプロセッサ使用を電力消費変化量だけ変更するステップとを有する方法を有する。
具体例26は具体例25の主題を有し、ここで、プロセッサのプロセッサ使用を変更するステップは、プロセッサのプロセッサ状態を変更することを含み、プロセッサ状態はプロセッサの周波数動作ポイントを規定する。
具体例27は具体例25及び26の何れかの主題を有し、ここで、プロセッサのプロセッサ使用を変更するステップは、グループコントローラからのプロセッサのプロセッサ使用を減少する命令を受信したことに応答して、プロセッサの動作周波数を増加するステップと、グループコントローラからのプロセッサのプロセッサ使用を増加する命令を受信したことに応答して、プロセッサの動作周波数を低下するステップとを含む。
具体例28は具体例25〜27の何れかの主題を有し、ここで、リソース使用データを送信するステップは、リソース使用データをグループコントローラに定期的に送信することを含む。
具体例29は具体例25〜28の何れかの主題を有し、ここで、リソース使用データを生成するステップは、サーバのメモリ使用量を特定するリソース使用データを生成することを含む。
具体例30は、プロセッサにより実行されると、具体例25〜29の何れかの方法を計算装置に実行される複数の命令を記憶するメモリとプロセッサとを有する計算装置を有する。
具体例31は、実行されることに応答して、具体例25〜29の何れかの方法を計算装置に実行させる複数の命令を記憶した1つ以上の機械可読記憶媒体を有する。
具体例32は、具体例25〜29の何れかの方法を実行する手段を有するロケーションプライバシを管理する計算装置を有する。



  1. サーバ電力消費を調整する計算装置であって、
    複数のサーバからリソース使用データを受信する通信モジュールと、
    (i)前記リソース使用データに基づき前記複数のサーバのソースサーバ及びデスティネーションサーバを特定し、(ii)前記リソース使用データに基づき前記特定されたソースサーバと前記特定されたデスティネーションサーバとの間のリソース使用の差分を計算し、(iii)前記リソース使用の差分が閾値を超過したという判定に応答して、前記ソースサーバのプロセッサのプロセッサ使用を電力消費変化量だけ増加し、(iv)前記リソース使用の差分が前記閾値を超過したという判定に応答して、前記デスティネーションサーバのプロセッサのプロセッサ使用を対応する電力消費変化量だけ減少する電力バランシングモジュールと、
    を有する計算装置。

  2. 当該計算装置は、前記複数のサーバを含むサーバのグループのグループコントローラを有する、請求項1記載の計算装置。

  3. 前記通信モジュールは、前記複数のサーバを含むサーバのリストを抽出し、
    前記電力バランシングモジュールは、(i)前記サーバのリソース使用量に基づき前記サーバのリストをソートし、(ii)前記ソートされたリストにおけるサーバの順序に基づき、前記ソートされたリストにおける前記サーバの一方の半分をデスティネーションサーバとして、前記ソートされたリストにおける前記サーバの他方の半分をソースサーバとして特定する、請求項1記載の計算装置。

  4. 前記リソース使用データは、対応するサーバのメモリ使用量を特定する、請求項1記載の計算装置。

  5. 前記ソースサーバのプロセッサのプロセッサ使用を増加することは、前記ソースサーバのプロセッサのプロセッサ状態を変更することを含み、前記プロセッサ状態は前記プロセッサの周波数動作ポイントを規定する、請求項1乃至4何れか一項記載の計算装置。

  6. 前記ソースサーバのプロセッサのプロセッサ使用を増加することは、前記ソースサーバのプロセッサの動作周波数を低下することを含み、
    前記デスティネーションサーバのプロセッサのプロセッサ使用を減少することは、前記デスティネーションサーバのプロセッサの動作周波数を増加することを含む、請求項1乃至4何れか一項記載の計算装置。

  7. 前記通信モジュールは、前記複数のサーバからリソース使用データを定期的に受信する、請求項1乃至4何れか一項記載の計算装置。

  8. 電力最適化のためのサーバであって、
    (i)当該サーバのリソースの使用を監視し、(ii)前記監視されたリソース使用に基づきリソース使用データを生成するハードウェア監視モジュールと、
    (i)当該サーバを含むサーバのグループのグループコントローラに前記リソース使用データを送信し、(ii)前記リソース使用データの送信に応答して、前記グループコントローラから当該サーバのプロセッサのプロセッサ使用を変更する命令を受信する通信モジュールであって、前記命令の受信は、当該サーバのリソース使用データが少なくとも閾値量だけ前記サーバのグループの他のサーバのリソース使用データと異なるという通知である、通信モジュールと、
    前記グループコントローラの命令に基づき、電力消費変化量だけ当該サーバのプロセッサのプロセッサ使用を変更するセキュリティコプロセッサと、
    を有するサーバ。

  9. 前記プロセッサのプロセッサ使用を変更することは、前記プロセッサのプロセッサ状態を変更することを含み、前記プロセッサ状態は前記プロセッサの周波数動作ポイントを規定する、請求項8記載のサーバ。

  10. 前記セキュリティコプロセッサは、
    前記グループコントローラからの前記プロセッサのプロセッサ使用を減少する命令の受信に応答して、前記プロセッサの動作周波数を増加し、
    前記グループコントローラからの前記プロセッサのプロセッサ使用を増加する命令の受信に応答して、前記プロセッサの動作周波数を低下する、請求項8又は9記載のサーバ。

  11. 前記通信モジュールは、前記リソース使用データを前記グループコントローラに定期的に送信する、請求項8又は9記載のサーバ。

  12. 前記リソース使用データは、当該サーバのメモリ使用量を特定する、請求項8又は9記載のサーバ。

  13. 計算装置によってサーバ電力消費を調整する方法であって、
    前記計算装置が、複数のサーバからリソース使用データを受信するステップと、
    前記計算装置が、前記リソース使用データに基づき前記複数のサーバのソースサーバ及びデスティネーションサーバを特定するステップと、
    前記計算装置が、前記リソース使用データに基づき前記特定されたソースサーバと前記特定されたデスティネーションサーバとの間のリソース使用の差分を計算するステップと、
    前記計算装置が、前記リソース使用の差分が閾値を超過したと判定したことに応答して、前記ソースサーバのプロセッサのプロセッサ使用を電力消費変化量だけ増加するステップと、
    前記計算装置が、前記リソース使用の差分が前記閾値を超過したと判定したことに応答して、前記デスティネーションサーバのプロセッサのプロセッサ使用を対応する電力消費変化量だけ減少するステップと、
    を有する方法。

  14. 前記計算装置が、前記複数のサーバを含むサーバのリストを抽出するステップと、
    前記計算装置が、前記サーバのリソース使用量に基づき前記サーバのリストをソートするステップと、
    前記計算装置が、前記ソートされたリストにおけるサーバの順序に基づき、前記ソートされたリストにおけるサーバの一方の半分をデスティネーションサーバとして、前記ソートされたリストにおける前記サーバの他方の半分をソースサーバとして特定するステップと、
    を更に有する、請求項13記載の方法。

  15. 前記リソース使用データを受信するステップは、複数のサーバからリソース使用データを受信することを含み、前記リソース使用データは対応するサーバのメモリ使用量を特定する、請求項13記載の方法。

  16. 前記ソースサーバのプロセッサのプロセッサ使用を増加するステップは、前記ソースサーバのプロセッサのプロセッサ状態を変更することを含み、前記プロセッサ状態は前記プロセッサの周波数動作ポイントを規定する、請求項13記載の方法。

  17. 前記ソースサーバのプロセッサのプロセッサ使用を増加するステップは、前記ソースサーバのプロセッサの動作周波数を低下することを含み、
    前記デスティネーションサーバのプロセッサのプロセッサ使用を減少するステップは、前記デスティネーションサーバのプロセッサの動作周波数を増加することを含む、請求項13記載の方法。

  18. 前記リソース使用データを受信するステップは、前記複数のサーバからリソース使用データを定期的に受信することを含む、請求項13記載の方法。

  19. 請求項13乃至18何れか一項記載の方法を計算装置に実行させるためのプログラム。

  20. サーバにおける電力最適化のための方法であって、
    前記サーバが、前記サーバのリソースの使用を監視するステップと、
    前記サーバが、前記監視されたリソース使用に基づきリソース使用データを生成するステップと、
    前記サーバが、前記サーバを含むサーバのグループのグループコントローラに前記リソース使用データを送信するステップと、
    前記サーバが、前記リソース使用データを送信することに応答して、前記グループコントローラから前記サーバのプロセッサのプロセッサ使用を変更する命令を受信するステップであって、前記命令の受信は、前記サーバのリソース使用データが前記サーバのグループの他のサーバのリソース使用データと少なくとも閾値量だけ異なるという通知である、受信するステップと、
    前記サーバが、前記グループコントローラの命令に基づき、前記プロセッサのプロセッサ使用を電力消費変化量だけ変更するステップと、
    を有する方法。

  21. 前記プロセッサのプロセッサ使用を変更するステップは、前記プロセッサのプロセッサ状態を変更することを含み、前記プロセッサ状態は前記プロセッサの周波数動作ポイントを規定する、請求項20記載の方法。

  22. 前記プロセッサのプロセッサ使用を変更するステップは、
    前記グループコントローラからの前記プロセッサのプロセッサ使用を減少する命令を受信したことに応答して、前記プロセッサの動作周波数を増加するステップと、
    前記グループコントローラからの前記プロセッサのプロセッサ使用を増加する命令を受信したことに応答して、前記プロセッサの動作周波数を低下するステップと、
    を含む、請求項20記載の方法。

  23. 前記リソース使用データを送信するステップは、前記リソース使用データを前記グループコントローラに定期的に送信することを含む、請求項20記載の方法。

  24. 前記リソース使用データを生成するステップは、前記サーバのメモリ使用量を特定するリソース使用データを生成することを含む、請求項20記載の方法。

  25. 請求項20乃至24何れか一項記載の方法を計算装置に実行させるためのプログラム。

  26. 請求項19又は25記載のプログラムを記憶するためのコンピュータ可読記憶媒体。

 

 

Patent trol of patentswamp
類似の特許
本開示において実施形態は、分散リソースシステム内の異なるタイプの多次元の組のリソースのバランシングのための技術を提示する。リソースを提供する各ホストコンピュータは、ゲストクライアントによる現在のリソース使用量についてのステータスを発行する。ローカルアンバランスの識別時に、ホストコンピュータは、リソース使用量におけるばらつきを最小化するようリソースコンテナへまたはリソースコンテナからマイグレーションを行なうソース作業負荷を判定する。さらに、新たなリソース作業負荷の配置時に、ホストコンピュータは、さらにリソース使用量をバランシングするためにばらつきを最小化するリソースコンテナを選択する。
コマンド命令管理 // JP2016528566
コマンドバッファのメモリユニットのチェーンのメモリユニットにコマンドを書き込むための技法について説明する。本技法はコマンドを書き込み得、書込み中に、十分な空間がメモリユニットのチェーン中にないと決定された場合、本技法は、前に確認されたコマンドをフラッシュし得る。書込みの後に、本技法が、コマンドに関連付けられたハンドルのために十分な空間が割振りリスト中にないと決定した場合、本技法は、前に確認されたコマンドをフラッシュし得る。
【選択図】 図4
オーバーレイネットワーク内の消費者仮想マシンのために制作者仮想マシンをリースするプロセス及びシステムを開示する。消費者仮想マシンの消費者ホストは、一組のリースエージェントと通信して、サービスへのアクセスを消費者仮想マシンに提供可能な複数の制作者仮想マシンの識別情報を取得することができる。消費者仮想マシンが制作者システムとの通信を試みると、消費者ホストは、対象となる制作者仮想マシンをホストする制作者ホストを特定し、当該制作者ホストにサービス要求を転送することができる。
【選択図】図11
顧客は、仮想マシンインスタンスを実体化するハードウェア仕様を含む選好設定のセットを提起する。仮想コンピュータシステムサービスは、使用可能な物理的ホストコンピュータシステムの仕様を評価し、いずれかの物理的ホストコンピュータシステムが選好設定のセットに準拠するかどうかを判断するように構成される。仮想コンピュータシステムサービスは、使用可能な物理的ホストコンピュータシステムを評価し、使用可能な物理的ホストコンピュータシステムが既存の仮想マシンインスタンスを実体化するために使用可能なスロットを備えているかどうかを判断する。使用可能な物理的ホストコンピュータシステムが使用可能なスロットを備えている場合、仮想コンピュータシステムサービスは、顧客の要求を満たすために、既存の仮想マシンインスタンスを使用可能な物理的ホストコンピュータシステムに移動する。
【選択図】図1
一実施形態では、システムは、複数のプロセッサと、当該複数のプロセッサをさまざまな動作点の間で切り替えるように構成される自動電力状態コントローラ(APSC)とを含んでもよい。当該複数の動作点は、APSC内にプログラムされるデータによって記述されてもよく、APSCは、記述されている動作点の中からプロセッサのためのターゲット動作点を特定するターゲット動作点要求をプログラム可能なレジスタを含んでもよい。動作点を記述するデータは、また、動作点において同時にアクティブになっていてもよいプロセッサの数が制限されているか否かについての表示を含んでもよい。当該表示及びアクティブなプロセッサの数に基づいて、APSCは、要求動作点を低減動作点と置き換えてもよい。いくつかの実施形態では、デジタル電力推定器(DPE)がプロセッサの動作を監視してもよく、高い消費電力が検出されると、プロセッサに対してスロットリングを行ってよい。
データセンタにおいて計算インスタンスを事前準備するためのシステム、方法およびコンピュータ可読媒体が記述される。データセンタに関連するサービスプロバイダは、計算インスタンスについての要求を予測し、データセンタ内のコンピューティングリソースを事前設定することによって、計算インスタンスを事前起動することができる。そのようなものとして、ユーザが計算インスタンスをリクエストすると、サービスプロバイダは、事前準備された計算インスタンスをユーザに割り当てることによって、リクエストを満たすことができる。
ハドゥープアプリケーションおよび仮想環境内で実行される他の作業負荷の高弾力性マルチテナントプラットホームを提供する分散計算アプリケーションについて説明する。ハドゥープなどの分散計算フレームワークの複数のインスタンスは同時に実行され得る。中央集中型マネジャは、メモリおよびCPUなどの計算資源の競合により、タスクが、所与のホスト上で実行するVM上でより遅く実行される時を検知し、かつ検知された資源競合に基づきクラスタを拡大または縮小する。
コンピューティング・リソースの機器構成がユーザの代わりに仮想マシンを実行して暗号的に証明されるかあるいは確認することができるようにする手法。ユーザが、仮想マシンをプロビジョニングしてもらうことを要求するとき、仮想化されたコンピューティング環境のオペレータは仮想マシンの2段階立ち上げを開始することができる。第1段階では、オペレータは、ホスト・コンピューティング・デバイス上の仮想マシンをプロビジョニングし、ホスト・コンピューティング・デバイス上のソフトウェア及び/またはハードウェアのリソースの暗号測定を得る。その後、オペレータは、仮想マシンを要求したユーザにこれらの暗号測定を提供することができる。ユーザが暗号測定を承認すれば、オペレータは第2段階を始めて、実際に、ホスト上で仮想マシンを立ち上げることができる。ある場合には、オペレータは、暗号測定と承認された測定のリストとを比較してホスト・コンピューティング・デバイスが仮想マシンのホスティングに受け入れ可能かどうかを判断することができる。
【選択図】図6
異なるテナンシーセットを有する複数のデーターセンターからのアプリケーション起動エンドポイントを提供するためのエンドポイントブローカー。ユーザーに対するアプリケーション起動エンドポイント接続に対する要求にアクセスする際に、ブローカーは、異なるテナンシーセットを有する複数のデーターセンターの中から、要求の満足のためとしてエンドポイントを提供するためのものであるデーターセンターを選択する。エンドポイントブローカーは、エンドポイントを、選択されるデーターセンターから識別し、次いで、識別されるエンドポイントをユーザーに関連付ける。ユーザーは次いで、関連付けを使用して、識別されるエンドポイントへのアクセスを提供される。したがってユーザーは、単一のデーターセンターからのエンドポイントを有することに制約されない。1つのデーターセンターからのエンドポイントを提供することに関して懸念が存在するならば、エンドポイントは、別のデーターセンターから、ユーザーに意識されない様式で提供され得る。
To top