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

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

Info

Publication number
JP2016528626A
JP2016528626A JP2016531578A JP2016531578A JP2016528626A JP 2016528626 A JP2016528626 A JP 2016528626A JP 2016531578 A JP2016531578 A JP 2016531578A JP 2016531578 A JP2016531578 A JP 2016531578A JP 2016528626 A JP2016528626 A JP 2016528626A
Authority
JP
Japan
Prior art keywords
processor
server
resource usage
servers
usage data
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
JP2016531578A
Other languages
English (en)
Other versions
JP6224244B2 (ja
Inventor
プティルスキ,スワヴォミール
ヤンコフスキ,マレク
チリンスキ,アルカディウシュ
セーガル,ナレシュ,ケイ.
ガングリ,ムリティカ
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2016528626A publication Critical patent/JP2016528626A/ja
Application granted granted Critical
Publication of JP6224244B2 publication Critical patent/JP6224244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Abstract

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

Description

クラウドコンピューティングは、今日の計算ニーズのためデータセンタの利用を拡大してきた。データセンタは、データ処理及び記憶などの計算サービス及びリソースを提供し、しばしばグループコントローラにより制御されるグループに配置される多数のサーバを有する。データセンタにより扱われる作業は、様々な程度までサーバハードウェアリソースを利用する。例えば、ある作業はメモリ及びデータストレージを主に利用する可能性がある一方、他の作業はサーバのプロセッサを主として利用し、計算リソースの非効率な利用をもたらす。これらの非効率性を救済するための取り組みでは、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の何れかの方法を実行する手段を有するロケーションプライバシを管理する計算装置を有する。

Claims (26)

  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記載のプログラムを記憶するためのコンピュータ可読記憶媒体。
JP2016531578A 2013-08-13 2013-08-13 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング Active JP6224244B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/PL2013/000103 WO2015023191A1 (en) 2013-08-13 2013-08-13 Power balancing to increase workload density and improve energy efficiency

Publications (2)

Publication Number Publication Date
JP2016528626A true JP2016528626A (ja) 2016-09-15
JP6224244B2 JP6224244B2 (ja) 2017-11-01

Family

ID=49162200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016531578A Active JP6224244B2 (ja) 2013-08-13 2013-08-13 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング

Country Status (6)

Country Link
US (1) US9568975B2 (ja)
EP (1) EP3033675A1 (ja)
JP (1) JP6224244B2 (ja)
KR (1) KR101770673B1 (ja)
CN (2) CN111522652B (ja)
WO (1) WO2015023191A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8793684B2 (en) * 2011-03-16 2014-07-29 International Business Machines Corporation Optimized deployment and replication of virtual machines
JP6263995B2 (ja) * 2013-11-29 2018-01-24 富士通株式会社 情報処理システム、管理装置、情報処理システムの制御方法及び管理装置の制御プログラム
IN2014CH01483A (ja) * 2014-03-20 2015-09-25 Infosys Ltd
US9600058B2 (en) * 2014-06-24 2017-03-21 Intel Corporation Enhancing power-performance efficiency in a computer system when bursts of activity occurs when operating in low power
US20170093966A1 (en) * 2015-09-28 2017-03-30 International Business Machines Corporation Managing a shared pool of configurable computing resources having an arrangement of a set of dynamically-assigned resources
US9891700B2 (en) 2015-10-02 2018-02-13 Infineon Technologies Austria Ag Power management for datacenter power architectures
CN105930218A (zh) * 2016-04-18 2016-09-07 深圳市万普拉斯科技有限公司 运算资源频率调整方法及***
US10390114B2 (en) * 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10749782B2 (en) * 2016-09-10 2020-08-18 Splunk Inc. Analyzing servers based on data streams generated by instrumented software executing on the servers
WO2018145201A1 (en) 2017-02-08 2018-08-16 Upstream Data Inc. Blockchain mine at oil or gas facility
KR102615017B1 (ko) * 2017-11-13 2023-12-19 한국전자통신연구원 프로그램 동적 실행 장치 및 방법
US11678615B2 (en) 2018-01-11 2023-06-20 Lancium Llc Method and system for dynamic power delivery to a flexible growcenter using unutilized energy sources
US11025060B2 (en) 2018-09-14 2021-06-01 Lancium Llc Providing computational resource availability based on power-generation signals
US11016553B2 (en) 2018-09-14 2021-05-25 Lancium Llc Methods and systems for distributed power control of flexible datacenters
US10873211B2 (en) 2018-09-14 2020-12-22 Lancium Llc Systems and methods for dynamic power routing with behind-the-meter energy storage
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
US10367353B1 (en) 2018-10-30 2019-07-30 Lancium Llc Managing queue distribution between critical datacenter and flexible datacenter
US11031813B2 (en) 2018-10-30 2021-06-08 Lancium Llc Systems and methods for auxiliary power management of behind-the-meter power loads
US10452127B1 (en) 2019-01-11 2019-10-22 Lancium Llc Redundant flexible datacenter workload scheduling
US11128165B2 (en) 2019-02-25 2021-09-21 Lancium Llc Behind-the-meter charging station with availability notification
CN114144743A (zh) 2019-05-15 2022-03-04 上游数据公司 移动式区块链挖矿***和使用方法
JP7310378B2 (ja) * 2019-07-08 2023-07-19 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
US11868106B2 (en) * 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
US10618427B1 (en) 2019-10-08 2020-04-14 Lancium Llc Behind-the-meter branch loads for electrical vehicle charging
US10608433B1 (en) 2019-10-28 2020-03-31 Lancium Llc Methods and systems for adjusting power consumption based on a fixed-duration power option agreement
US11042948B1 (en) 2020-02-27 2021-06-22 Lancium Llc Computing component arrangement based on ramping capabilities
US11520628B2 (en) * 2020-05-20 2022-12-06 Qualcomm Incorporated Cooperative dynamic clock and voltage scaling (DCVS) between two processor systems
US12019898B2 (en) * 2020-09-30 2024-06-25 Seagate Technology Llc Data storage system with workload-based dynamic power consumption
US11360982B1 (en) * 2020-12-22 2022-06-14 International Business Machines Corporation Database endpoint devices put in groups for responding to queries
CN112860403B (zh) * 2021-02-22 2023-11-07 中国联合网络通信集团有限公司 集群负载资源调度方法、装置、设备、介质及产品
US20230418347A1 (en) * 2022-06-24 2023-12-28 Microsoft Technology Licensing, Llc Allocating power between overhead, backup, and computing power services
CN115348322B (zh) * 2022-07-11 2023-07-18 深圳市九洲电器有限公司 数据处理方法、组网设备及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190535A (ja) * 1995-01-04 1996-07-23 Nec Corp 要素プロセッサおよび電力分散マルチプロセッサ
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
JP2012194911A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd 情報処理装置、電力制御方法及び電力制御プログラム
JP2012203708A (ja) * 2011-03-25 2012-10-22 Nec Corp 分散並列プログラムの実行システム及び方法
JP2012226496A (ja) * 2011-04-18 2012-11-15 Hitachi Ltd ブレードサーバの電力制御方法及びシステム
JP2013025698A (ja) * 2011-07-25 2013-02-04 Nec System Technologies Ltd モジュール、周波数制御方法、及び周波数制御プログラム
JP2013025453A (ja) * 2011-07-19 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> 分散システム、負荷分散方法、および、プログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4528116B2 (ja) * 2002-06-25 2010-08-18 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散環境中でアプリケーションの性能を監視するための方法およびシステム
US20050132229A1 (en) * 2003-11-12 2005-06-16 Nokia Corporation Virtual private network based on root-trust module computing platforms
US7856549B2 (en) * 2007-01-24 2010-12-21 Hewlett-Packard Development Company, L.P. Regulating power consumption
WO2008102739A1 (ja) * 2007-02-23 2008-08-28 Nec Corporation 仮想サーバシステム及び物理サーバ選択方法
US8006108B2 (en) * 2007-11-08 2011-08-23 International Business Machines Corporation Dynamic selection of group and device power limits
WO2010044131A1 (ja) * 2008-10-13 2010-04-22 三菱電機株式会社 リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
CN101398769B (zh) * 2008-10-28 2012-09-05 华为技术有限公司 一种对操作***透明的处理器资源整合利用方法
US20100115509A1 (en) * 2008-10-31 2010-05-06 International Business Machines Corporation Power optimization via virtualization opportunity
US8560677B2 (en) * 2009-02-13 2013-10-15 Schneider Electric It Corporation Data center control
US8261269B2 (en) * 2009-09-21 2012-09-04 Oracle International Corporation System and method for synchronizing transient resource usage between virtual machines in a hypervisor environment
KR101644569B1 (ko) 2009-10-01 2016-08-01 삼성전자 주식회사 가상 프로세서 관리 장치 및 방법
US8868936B2 (en) * 2010-11-29 2014-10-21 Cisco Technology, Inc. Dynamic power balancing among blade servers in a chassis
CN102546700B (zh) * 2010-12-23 2015-07-01 ***通信集团公司 一种资源调度以及资源迁移的方法及设备
CN102103518B (zh) * 2011-02-23 2013-11-13 运软网络科技(上海)有限公司 一种在虚拟化环境中管理资源的***及其实现方法
CN102857363B (zh) * 2012-05-04 2016-04-20 运软网络科技(上海)有限公司 一种虚拟网络的自主管理***和方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08190535A (ja) * 1995-01-04 1996-07-23 Nec Corp 要素プロセッサおよび電力分散マルチプロセッサ
JP2008026948A (ja) * 2006-07-18 2008-02-07 Renesas Technology Corp 半導体集積回路
JP2009175788A (ja) * 2008-01-21 2009-08-06 Hitachi Ltd サーバの消費電力制御装置、サーバの消費電力制御方法及びコンピュータプログラム
JP2012194911A (ja) * 2011-03-17 2012-10-11 Fujitsu Ltd 情報処理装置、電力制御方法及び電力制御プログラム
JP2012203708A (ja) * 2011-03-25 2012-10-22 Nec Corp 分散並列プログラムの実行システム及び方法
JP2012226496A (ja) * 2011-04-18 2012-11-15 Hitachi Ltd ブレードサーバの電力制御方法及びシステム
JP2013025453A (ja) * 2011-07-19 2013-02-04 Nippon Telegr & Teleph Corp <Ntt> 分散システム、負荷分散方法、および、プログラム
JP2013025698A (ja) * 2011-07-25 2013-02-04 Nec System Technologies Ltd モジュール、周波数制御方法、及び周波数制御プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SHEKHAR SRIKANTAIAH ET AL.: ""Energy Aware Consolidation for Cloud Computing"", USENIX HOTPOWER'08: WORKSHOP ON POWER AWARE COMPUTING AND SYSTEMS AT OSDI, JPN6017010777, 2008, US, pages 1 - 5, XP061008992, ISSN: 0003630991 *
三輪 真弘 他: "「メモリ消費電力に基づくCPU周波数の動的制御」", 情報処理学会研究報告 2011(平成23)年度ハイパフォーマンスコンピューティング(HPC) NO., JPN6017010778, 15 August 2011 (2011-08-15), JP, pages 1 - 7, ISSN: 0003630992 *

Also Published As

Publication number Publication date
US9568975B2 (en) 2017-02-14
KR20160040516A (ko) 2016-04-14
CN105814543B (zh) 2020-03-03
EP3033675A1 (en) 2016-06-22
KR101770673B1 (ko) 2017-08-23
CN105814543A (zh) 2016-07-27
WO2015023191A1 (en) 2015-02-19
CN111522652B (zh) 2024-02-13
CN111522652A (zh) 2020-08-11
JP6224244B2 (ja) 2017-11-01
US20160170469A1 (en) 2016-06-16

Similar Documents

Publication Publication Date Title
JP6224244B2 (ja) 作業密度を増加させ、エネルギー効率を向上させるための電力バランシング
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算***以及负载均衡方法
US11032210B2 (en) Software load balancer to maximize utilization
US20160378570A1 (en) Techniques for Offloading Computational Tasks between Nodes
KR101201904B1 (ko) 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
Monil et al. Implementation of modified overload detection technique with VM selection strategies based on heuristics and migration control
US10193811B1 (en) Flow distribution using telemetry and machine learning techniques
KR20130137539A (ko) 데이터 컷-스루를 수행하기 위한 시스템
CN105791381A (zh) 访问控制的方法及装置
CN112600761A (zh) 一种资源分配的方法、装置及存储介质
US20160191412A1 (en) Technologies for directed power and performance management
CN105450784B (zh) 向mq中的消息分配消费节点的装置及方法
CN113328953A (zh) 网络拥塞调整的方法、装置和存储介质
US10691700B1 (en) Table replica allocation in a replicated storage system
CN113268329A (zh) 一种请求调度方法、装置及存储介质
EP2622499B1 (en) Techniques to support large numbers of subscribers to a real-time event
US11374869B2 (en) Managing bandwidth based on user behavior
da Silva et al. Algorithm for the placement of groups of virtual machines in data centers
da Silva et al. Energy-aware migration of groups of virtual machines in distributed data centers
CN113822485B (zh) 一种配电网调度任务优化方法及***
CN115562861A (zh) 针对数据倾斜的数据处理的方法和装置
CN113971082A (zh) 任务调度方法、装置、设备、介质及产品
CN113971083A (zh) 任务调度方法、装置、设备、介质及产品
CN103297349A (zh) 一种网络资源提供方式的调整方法及装置
JP6646340B2 (ja) 分散装置および分散方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170322

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170704

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: 20170905

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171004

R150 Certificate of patent or registration of utility model

Ref document number: 6224244

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