JP2015506519A - ユーザ生成によるデータセンターの省電力 - Google Patents

ユーザ生成によるデータセンターの省電力 Download PDF

Info

Publication number
JP2015506519A
JP2015506519A JP2014554699A JP2014554699A JP2015506519A JP 2015506519 A JP2015506519 A JP 2015506519A JP 2014554699 A JP2014554699 A JP 2014554699A JP 2014554699 A JP2014554699 A JP 2014554699A JP 2015506519 A JP2015506519 A JP 2015506519A
Authority
JP
Japan
Prior art keywords
computing system
power saving
user
management message
power management
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
JP2014554699A
Other languages
English (en)
Other versions
JP6042454B2 (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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48798245&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2015506519(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of JP2015506519A publication Critical patent/JP2015506519A/ja
Application granted granted Critical
Publication of JP6042454B2 publication Critical patent/JP6042454B2/ja
Expired - Fee Related 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/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • 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/3234Power saving characterised by the action undertaken
    • G06F1/3246Power saving characterised by the action undertaken by software initiated power-off
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Remote Monitoring And Control Of Power-Distribution Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本開示では、データセンターにおいて省電力を実現する技術について記載する。一部の例示の技術は、データセンター内の複数の仮想マシンからいくつかのユーザ提供ハードウェア非依存省電力コードを識別することができる。このような技術は、ユーザ提供ハードウェア非依存省電力コードの一部をデータセンター内のコンピューティングシステムに固有のデバイス電力管理メッセージに変換することができる。また、このデバイス電力管理メッセージをコンピューティングシステムに提供することができる。コンピューティングシステムは、デバイス電力管理メッセージに従ってコンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成することができる。

Description

本開示において別段に記載のない限り、本項に記載の内容は、本願特許請求の範囲に対する先行技術ではなく、本項に含めることによって先行技術であることを自認するものではない。
従来、データセンターの電力最適化が基本的なハードウェアレベルの最適化によってハードウェアレベルで行われる場合がある。例えば、データセンターは、データセンター内の1つまたは複数のプロセッサコアのコアごとの電力ゲーティングを行うことができる。データセンターは、ラック内のすべてのプロセッサコアが一度にピーク状態になった場合にプロセッサコアが使用するはずの電力量よりも少ない電力量をラックに供給することもある。この手法は、ラック内のプロセッサコアが一度にピークに達するような動作をすることはまれであるという知見を活かしたものである。すべてのプロセッサコアがピークに達するまれな状況では、データセンターは、ハードウェアコード化された周波数スロットリングを実行することができる。
上述の電力最適化技術は、一般にはデータセンターが、データセンターのユーザからの入力なしに始動し、実行する。一般に、データセンターのユーザが電力最適化に関する入力をデータセンターに与えないのには様々な理由がある。第一に、データセンターは、ユーザが電力最適化に関する情報を提示するために使用できる機構を備えていない。第二に、データセンターはデータセンターのハードウェア仕様や構成に関してオープンではない場合がある。そのようなハードウェア仕様または構成がなければ、ユーザはハードウェアレベルの最適化に関する適切な情報をデータセンターに渡すことは難しい。
本開示は、データセンターにおいて省電力を実現するための技術について一般的に述べる。例示の方法は、データセンター内の複数の仮想マシンから、ユーザ提供ハードウェア非依存省電力コードを識別することができる。例示の方法は、ユーザ提供ハードウェア非依存省電力コードの少なくとも一部を、データセンター内のコンピューティングシステムに固有のデバイス電力管理メッセージに変換することができる。例示の方法は、デバイス電力管理メッセージをコンピューティングシステムに提供することができる。コンピューティングシステムは、デバイス電力管理メッセージに従って、コンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成することができる。
本開示は、さらに、データセンターにおいて省電力を実現するように構成されたコンピュータ可読記憶媒体について一般的に記載する。コンピュータ可読媒体には、コンピュータによって実行されるとコンピュータに1つまたは複数の操作を行わせることができるコンピュータ実行可能命令を記憶することができる。例示のコンピュータ実行可能命令は、コンピュータに、データセンターのコンピューティングシステム内の複数の仮想マシンによって実行されるアプリケーションコードに含まれるいくつかのユーザ提供ハードウェア非依存省電力コードを識別させることができる。例示のコンピュータ実行可能命令は、コンピュータに、ユーザ提供ハードウェア非依存省電力コードの少なくとも一部を、コンピューティングシステムに固有のデバイス電力管理メッセージに変換させることができる。例示のコンピュータ実行可能命令は、コンピュータに、デバイス電力管理メッセージをコンピューティングシステムに提供させることができる。コンピューティングシステムは、コンピューティングシステムがアプリケーションコードを実行すると、デバイス電力管理メッセージに従ってコンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成することができる。
また本開示は、省電力を実現するように構成されたいくつかのデータセンターについて一般的に記載する。例示のデータセンターは、第1のデバイスと、第1のデバイスに結合された第1の管理ユニットとを含む第1のプロセッサベースのハードウェア構成を有する第1のコンピューティングシステムを含むことができる。例示のデータセンターは、第2のデバイスと第2のデバイスに結合された第2の管理ユニットとを含む第2のプロセッサベースのハードウェア構成を有する第2のコンピューティングシステムを含むことができる。例示のデータセンターは、第1のコンピューティングシステムによって実行される第1のドライバを含むことができる。第1のドライバは、第1のコンピューティングシステム内の複数の第1の仮想マシン上で実行されるアプリケーションコードから、いくつかのユーザ提供ハードウェア非依存省電力コードの第1の部分を識別し、ユーザ提供ハードウェア非依存省電力コードの第1の部分を、データセンター内の第1のコンピューティングシステムに固有のデバイス電力管理メッセージに変換し、デバイス電力管理メッセージを第1の管理ユニットに提供するように構成される。第1の管理ユニットは、第1のデバイス電力管理メッセージに従って第1のデバイスを有効または無効にするように構成することができる。例示のデータセンターは、第2のコンピューティングシステムによって実行される第2のドライバを含むことができる。第2のドライバは、第2のコンピューティングシステム内の複数の第2の仮想マシン上で実行されるアプリケーションコードからユーザ提供ハードウェア非依存省電力コードの第2の部分を識別し、ユーザ提供ハードウェア非依存省電力コードの第2の部分をデータセンターの第2のコンピューティングシステムに固有の第2のデバイス電力管理メッセージに変換し、第2のデバイス電力管理メッセージを第2の管理ユニットに提供するように構成することができる。第2の管理ユニットは、第2のデバイス電力管理メッセージに従って第2のデバイスを有効または無効にするように構成することができる。
上記の概要は、例示的なものにすぎず、決して限定的であることを意図したものではない。図面および以下の詳細な説明を参照することにより、上述の例示的な態様、実施形態および特徴に加えて、他の態様、実施形態および特徴も明らかになるであろう。
本開示の上記およびその他の特徴は、以下の詳細な説明、添付の特許請求の範囲および添付図面を参照すれば十分に明らかになるであろう。図面は本開示によるいくつかの実施形態のみを示すものであり、したがって本開示の範囲を限定するものとみなすべきではないことを了解した上で、添付図面により本開示についてさらに具体的かつ詳細に説明する。
本開示に記載の少なくとも一部の実施形態により構成された、データセンターにおいて省電力を実現するように構成されたネットワークアーキテクチャの一例を示す機能ブロック図である。 本開示に記載の少なくとも一部の実施形態により構成された、ハードウェア非依存省電力コードを複数のコンピューティングデバイスに分配する一例を示す図である。 本開示に記載の少なくとも一部の実施形態により構成され、複数の仮想マシンを含むコンピューティングシステムの実装の一例を示す機能ブロック図である。 本開示に記載の少なくとも一部の実施形態により構成された、データセンターにおいて省電力を実現するように構成された処理の一例を示す流れ図である。 本開示に記載の少なくとも一部の実施形態により構成された、例示のコンピューティングシステムのためのコンピュータハードウェアアーキテクチャを示すブロック図である。 本開示に記載の少なくとも一部の実施形態により構成された、コンピューティングデバイス上でコンピュータ処理を実行するためのコンピュータプログラムを含むコンピュータプログラム製品を示す概略図である。
以下の詳細な説明では、本開示の一部をなす添付図面を参照する。図面では、文脈により別様に解すべき場合を除き、同様の符号は典型的には同様のコンポーネントを示す。詳細な説明および図面に記載の例示の実施形態は、限定的であることを意図するものではない。本開示で示す主題の趣旨および範囲から逸脱することなく、他の実施形態も採用可能であり、他の変更も可能である。本開示において一般的に述べ、図面に図示する本開示の態様は、様々な構成で構成、代替、組み合わせ、分離、および設計可能であり、それらはすべて本開示で明示的に企図されていることが容易にわかるであろう。
本開示は、特に、データセンターのユーザ始動電源管理を行うように構成された技術を概略的に示す。データセンターは、ユーザ(例えば顧客、プログラマなど)に複数のハードウェア非依存省電力コードを提供する。例えば、データセンターは、ユーザが1つまたは複数のハードウェア非依存省電力コードを定義するために有効なアプリケーションプログラミングインターフェース(「API」)をユーザに提供してもよい。ユーザは、APIを使用して、ユーザのアプリケーションのアプリケーションコードに定義されたハードウェア非依存省電力コードを挿入することができる。
ユーザは、アプリケーションコードを実行のためにデータセンターに提供することができる。データセンター内の1つまたは複数のコンピューティングシステムを、そのアプリケーションコードを実行するために割り当てることができる。コンピューティングシステムは、ハードウェア非依存省電力コードを、そのコンピュータシステムに固有のデバイス電力管理メッセージに変換するように構成された準仮想化ドライバを含むことができる。具体的には、デバイス電力管理メッセージは、コンピューティングシステムのハードウェア関連仕様または構成に固有とすることができる。コンピューティングシステムがこのアプリケーションコードを実行すると、コンピューティングシステムは電力使用量を管理するためにデバイス電力管理メッセージを使用するように構成することができる。例えば、デバイス電力管理メッセージは、コンピューティングシステム内の1つまたは複数のハードウェアデバイスを有効/無効またはオン/オフするようにオペレーティングシステムまたはその他のハードウェアマネージャに指示することができる。
データセンターは、コンピューティングシステムのうちの1つまたは複数が複数の仮想マシンを含む、複数のコンピューティングシステムを含むことができる。すなわち、同じハードウェア上で複数の仮想マシンが動作することができる。一部の実装では、例えばハイパーバイザを、同じハードウェア内の複数の仮想マシンからのハードウェア非依存省電力コード(または対応するデバイス電力管理メッセージ)を統合するように構成することができる。他の実装では、ウェブサービスが、別個のコンピューティングシステム上でハードウェア非依存省電力コード(または対応するデバイス電力管理メッセージ)を統合し、その統合されたデバイス電力管理メッセージをハイパーバイザに提供してもよい。ハイパーバイザは、統合されたハードウェア非依存省電力コードまたは統合されたデバイス電力管理メッセージを実装するように構成することができる。
上述の技術によって、ユーザはデータセンターにおいてハードウェアレベルの最適化を始動することができる。ハードウェア非依存省電力コードおよび準仮想化ドライバの使用によって、ユーザはデータセンターのハードウェア関連仕様または構成の具体的な知識がなくても、ハードウェアレベルの最適化を始動することができる。また、APIの使用によって、電力管理技術について広範な知識のないプログラマでも、より広範なハードウェア非依存省電力コードを定義することによってハードウェアレベルの最適化を始動することができる。場合によっては、データセンターはユーザのハードウェア非依存省電力コードによって生じた省電力量を記録し、対応する利益をユーザに与えることによって、ユーザがハードウェアレベルの最適化を始動するように動機付けをしてもよい。
図1は、本開示に示す少なくとも一部の実施形態により構成され、データセンター102において省電力を実現するように構成された例示のネットワークアーキテクチャ100を示す機能ブロック図である。ネットワークアーキテクチャ100は、ネットワーク106を介して通信可能に結合されたデータセンター102と顧客コンピュータ104とを含むことができる。データセンター102は、第1のコンピューティングシステム108A、第2のコンピューティングシステム108B、および第3のコンピューティングシステム108Cを含み得る。コンピューティングシステム108A〜108Cを、コンピューティングシステム108と総称することがある。実施形態によっては、データセンター102は、さらに、コンピューティングシステム108に結合されたロギングシステム110を含むことができる。図を簡単にするために、図1のデータセンター102には3つのコンピューティングシステム108が図示されているが、データセンター102の他の実装では任意の数のコンピューティングシステムを含むことができることが当業者にはわかるであろう。
第1のコンピューティングシステム108Aは、第1の準仮想化ドライバ112Aを含み得る。第2のコンピューティングシステム108Bは、第2の準仮想化ドライバ112Bを含み得る。第3のコンピューティングシステム108Cは、第3の準仮想化ドライバ112Cを含み得る。準仮想化ドライバ112A〜112Cを、準仮想化ドライバ112と総称することがある。顧客コンピュータ104は、顧客コンパイラ114、顧客アプリケーションのアプリケーションコード116、および電力シミュレータ118を含むことができる。
ネットワークアーキテクチャ100の例示の実装では、データセンター102の顧客は、顧客コンパイラ114を介して、アプリケーションコード116に関連付けられた顧客アプリケーションなどの顧客アプリケーションを作成するために、顧客コンピュータ104を使用することができる。顧客は、顧客アプリケーションにおいてユーザ始動電力管理を実装してもよい。そのために、顧客はデータセンターAPI120に関する情報を持っていてもよい。例えば、顧客は、リモートデータストア(図示せず)からデータセンターAPI用のサンプルコードをダウンロードしてもよい。一部の実施形態では、電力シミュレータ118は、ダウンロードコード内に含めてもよく、またはリモートデータストアから別個に取り出してもよい。
データセンターAPI120は、プログラマがアプリケーションコード116にハードウェア非依存省電力コード122を挿入するために使用可能な1組の高水準ルーチン、オブジェクト構造、またはデータ構造を提供することができる。ハードウェア非依存省電力コード122はそれぞれ、ハードウェアデバイスまたはハードウェアデバイスの何らかのグループに関連付けることができる。例えば、特定のハードウェア非依存省電力コードをディスクアクセスに関連付けてもよい。ディスクアクセスは、コンピューティングシステムの一部の実装においてはハードドライブのアクセスを指す場合があるが、コンピューティングシステムの他の実装では、ディスクアクセスはネットワーク接続ストレージのアクセスを指す場合もある。ハードウェア非依存省電力コードによって、プログラマは、データセンター102内のコンピューティングシステム108の特定のハードウェア仕様または構成を気にしなくても済むようになる。他の例では、付加的なハードウェア非依存省電力コードをそれぞれ、プロセッサ、レジスタ、キャッシュメモリ、メインメモリ、二次ストレージ、コントローラ、アダプタ、マネージャまたはその他のハードウェアデバイスの様々な組み合わせに関連付けることができる。
データセンターAPI120は、プログラマがアプリケーションコード116に挿入されたハードウェア非依存省電力コード122を定義するために使用可能な様々な手法を提供することができる。一例では、プログラマは、ハードウェアデバイスまたはハードウェアデバイスのグループを無効またはオフにする(または無効状態またはオフ状態に維持する)ハードウェア非依存省電力コード122を定義することができる。他の例では、プログラマは、ハードウェアデバイスまたはハードウェアデバイスのグループを有効またはオンにする(または有効状態またはオン状態に維持する)ようにハードウェア非依存省電力コード122を定義することができる。さらに他の例では、プログラマは、将来のある時点でハードウェアデバイスまたはハードウェアデバイスのグループが必要になる(例えば10ミリ秒後にディスクアクセスが必要になる)ことを示すためにハードウェア非依存省電力コード122を定義することができる。この最後の例によって、プログラマは、ハードウェアデバイスが必要になる時点より前にハードウェアデバイスを「ウォームアップ」して、ハードウェアデバイスを有効またはオンにしてからハードウェアデバイスが実際に使用可能になるまでのレイテンシが最小限になるか、またはなくなるようにすることができる。上述の例のほか、ハードウェア非依存省電力コード122のより詳細な定義も当業者にはわかるであろう。
場合によっては、プログラマは、省電力が最大になるようなハードウェア非依存省電力コード122の最適定義を作成する経験がほとんどあるいはまったくないことがある。そのような場合、プログラマは、電力シミュレータ118を使用することができる。電力シミュレータ118は、ハードウェア非依存省電力コード122を有するアプリケーションコード116の実行を分析し、特定のコンピューティングシステム上での省電力の推定値を出すことができる。プログラマは、ハードウェア非依存省電力コード122の様々な定義または構成を試すため、および、定義または構成のそれぞれの効果を推定するために電力シミュレータ118を使用することができる。電力シミュレータ118は、例えば非アクティブ化されたコンポーネントを呼び出すときの遅延をシミュレートすることによって、省電力コード122がパフォーマンスに与える影響を把握できるようにすることもできる。
プログラマが、アプリケーションコード116にハードウェア非依存省電力コード122を挿入した後、プログラマはアプリケーションコード116をデータセンター102に提供することができる。データセンター102は、コンピューティングシステム108のうちの1つまたは複数のコンピューティングシステム108を選択して、アプリケーションコード116を実行することができる。一例では、コンピューティングシステム108をすべて選択してアプリケーションコード116を実行することができる。コンピューティングシステム108がアプリケーションコード116を実行するとき、コンピューティングシステム108はハードウェア非依存省電力コード122を読み取ることができる。
コンピューティングシステム108の1つがハードウェア非依存省電力コード122を読み取ると、準仮想化ドライバ112のうちの対応する1つの準仮想化ドライバ112が、ハードウェア非依存省電力コード122のうち、コンピューティングシステムに適用可能なサブセットを少なくとも識別することができる。準仮想化ドライバ112はそれぞれ、特定のハードウェア非依存省電力コードを、対応するコンピューティングシステムにおける特定のハードウェアデバイスに関連するものであると認識するように構成することができる。例えば、ディスクアクセスに関連付けられたハードウェア非依存省電力コードは、外部記憶装置を使用せずにランダムアクセスメモリを介してすべてのメモリアクセスを処理するコンピューティングシステムには適用できないことがある。
準仮想化ドライバ112が、対応するコンピューティングシステムに適用可能なハードウェア非依存省電力コード122の対応するサブセットを識別すると、準仮想化ドライバ112は、そのハードウェア非依存省電力コード122のサブセットを対応するデバイス電力管理メッセージに変換することができる。具体的には、第1の準仮想化ドライバ112Aは、ハードウェア非依存省電力コード122の適用可能なサブセットを第1のデバイス電力管理メッセージ124Aに変換することができる。紙面が限られているため、図1ではデバイス電力管理をDPMと記載している。第2の準仮想化ドライバ112Bは、ハードウェア非依存省電力コード122の適用可能なサブセットを第2のデバイス電力管理メッセージ124Bに変換することができる。第3の準仮想化ドライバ112Cは、ハードウェア非依存省電力コード122の適用可能なサブセットを第3のデバイス電力管理メッセージ124Cに変換することができる。デバイス電力管理メッセージ124A〜124Cをデバイス電力管理メッセージ124と総称することがある。ハードウェア非依存省電力コード122の適用可能なサブセットは、コンピュータシステム108間で重複していてもいなくてもよい。ハードウェア非依存省電力コード122のうちのコンピューティングシステム108に関連付けられた様々なサブセットに関する詳細について、図2を参照しながら以下に述べる。
例示の実装では、デバイス電力管理メッセージは、複数の記号からなる配列とすることができる。この配列は、コンピューティングシステム108の1つに対応し得る。各記号は、コンピューティングシステム108のうちの対応する1つのコンピューティングシステム108内のハードウェアデバイスに対応し得る。各記号に対応する値は、コンピューティングシステム108のうちの対応する1つによって実行される動作を示すことができる。例えば、一部の実施形態によると、各記号はビット値で表してもよい。この場合、「ゼロ」ビット値を使用して、コンピューティングシステムに特定のハードウェアデバイスを無効またはオフにする(または無効状態またはオフ状態に維持する)ように指示することができ、「1」ビット値を使用して、コンピューティングシステムに特定のハードウェアデバイスを有効またはオンにする(または有効状態またはオン状態に維持する)ように指示することができる。他の実施形態では、追加の動作を表すため、またはより詳細な動作を表すために、各記号を表すためにとり得る値の数は2個よりも多くてもよい。
コンピューティングシステム108は、準仮想化ドライバ112によって生成された対応するデバイス電力管理メッセージ124を実装することができる。具体的には、各コンピューティングシステム108内のオペレーティングシステム、ハイパーバイザ、またはその他のハードウェアマネージャは、デバイス電力管理メッセージ124のうちの対応する1つに含まれるかまたは対応する1つによって指定される動作を実行することができる。デバイス電力管理メッセージ124は、プログラマによる指定または指示に従って様々な時点で対応するコンピューティングシステム108内の特定のハードウェアデバイスを実質的に有効化/無効化またはオン/オフすることができる。ハードウェアデバイスが無効またはオフにされると、それらのハードウェアデバイスに電力が流れないかまたは減少するため、コンピューティングシステム108が使用する電力が減少する。無効またはオフ状態になっているハードウェアデバイスが必要なときは、デバイス電力管理メッセージ124によってそれらのハードウェアデバイスを有効化またはオンにすることができる。場合によっては、ハードウェアデバイスを「ウォームアップ」するために、使用前にオンにすることもできる。これにより、ハードウェアデバイスが有効化またはオンにされてからそのハードウェアデバイスが実際に使用可能な状態になるまでのレイテンシを最小限にするか、またはなくすことができる。
コンピューティングシステム108がアプリケーションコード116を実行しているとき、コンピューティングシステム108は現在の電力使用量データ126をロギングシステム110に提供することもできる。現在の電力使用量データ126は、前述のようなユーザ始動電力管理が実装されたときにコンピューティングシステム108によって使用された電力量を示すことができる。ロギングシステム110は、元の電力使用量データ128も含むことができる。元の電力使用量データ128は、ユーザ始動電力管理が実装されなかった場合にコンピューティングシステム108によって使用される電力量を示すことができる。
ロギングシステム110は、ユーザ始動電力管理の結果として生じた省電力量を確認するために、現在の電力使用量データ126を元の電力使用量データ128と比較することができる。ロギングシステム110は、確認された省電力量の記録を省電力ログ130で維持することができる。省電力量は、例えば顧客が管理してもよい。省電力ログ130に記録された顧客による省電力量を、金銭的利益など何らかの利益の形で顧客に還元してもよい。例えば、データセンター102の管理者は、その顧客の課金をいくらか低減してもよい。このようにして、データセンター102の管理者は利益を、ユーザ始動電力管理の利用を促す刺激材料として使用してもよい。
データセンターAPI120を作成する際、データセンター102の管理者は、コンピューティングシステム108によって生成される可能性があるデバイス電力管理メッセージを識別することができる。これらのデバイス電力管理メッセージは、各コンピューティングシステム108のハードウェア仕様または構成に固有のものとすることができる。例えば、コンピューティングシステム108は、プロセッサ、レジスタ、キャッシュメモリ、メインメモリ、二次ストレージ、コントローラ、アダプタ、マネージャ、またはその他のハードウェアデバイスが異なる場合がある。コンピューティングシステム108は、ハードウェアデバイスの種類だけでなく、特定のハードウェアデバイスの数または存在も異なる場合がある。一例では、第1のコンピューティングシステム108Aは、ハードドライブを含み得る。第2のコンピューティングシステム108Bは、ハードドライブまたはその他の外部ストレージを含まず、ランダムアクセスメモリを介してメモリ要求に対応することができる。第3のコンピューティングシステム108Cは,ハードドライブを含まず、ネットワーク接続ストレージを介してメモリ要求に対応することができる。
データセンター102の管理者は、コンピューティングシステム108から集められるデバイス電力管理メッセージを収集し、集めたデバイス電力管理メッセージ124を複数のクラスにまとめる。このようなクラスは、様々なデバイス電力管理メッセージ124間で共通する同じハードウェアデバイスまたは関連のあるハードウェアデバイスのグループが各クラスに含まれるように作ることができる。例えば、ディスクアクセスに関連するクラスはハードドライブ、ネットワーク接続ストレージ、およびその他の外部記憶装置を含むことができる。管理者は、各クラスを対応するハードウェア非依存省電力コードに関連付けることができる。管理者は、顧客が様々なハードウェア非依存省電力コードを顧客のアプリケーションに挿入することができるようにデータセンターAPI120を構成してもよい。
データセンターAPI120を生成する上述の処理は、データセンター102のコンピューティングシステム108を使用することができる。したがって、データセンターAPI120はその特定のデータセンター102には適しているが、データセンターAPI120は、異なるハードウェア仕様または構成を有する他のデータセンターにとっては最適とは言えない。他の実施形態では、データセンターAPI120は、複数のデータセンターに適した汎用データセンターAPIとすることができる。汎用データセンターAPIの一部の実装は、コンピューティングシステム内のより多くのハードウェアデバイスに対応するために、ハードウェア非依存省電力コード122よりもより多様な省電力コードを使用することができる。汎用データセンターAPIの他の実装は、ハードウェア非依存省電力コード122よりも高い汎用度で構成された省電力コードを使用してもよい。例えば、汎用データセンターAPIは、データセンター電力管理のための業界標準の一部であってもよい。
前述のように、一部の実施形態によると、データセンターAPI120によって、プログラマはハードウェア非依存省電力コード122を挿入することができる。他の実施形態では、データセンターAPI120は、さらに、プログラマが各コンピューティングシステムのハイパーバイザ(図1には図示せず)が使用するフラグを設定することができるようにしてもよい。各フラグは、ハイパーバイザの設定可能な特性を表すことができる。例えば、特定のフラグは、特定の処理をアプリケーションのパフォーマンスに影響を与えずに一定時間長まで遅らせることができることをハイパーバイザに知らせるフラグであってもよい。このような遅延によって、ハイパーバイザは電力ピークを事前に管理することができる。
前述のように、各準仮想化ドライバ112は、コンピューティングシステム108のうちの1つで動作することができ、ハードウェア非依存省電力コード122を対応するコンピューティングシステムのための適切なデバイス電力管理メッセージに変換するように構成することができる。一部の実施形態では、所与のコンピューティングシステムは、それぞれが別個のアプリケーションを実行することができる複数の仮想マシンを動作させることがある。そのような場合、各仮想マシンは、対応するアプリケーションの中のその仮想マシンのハードウェア非依存省電力コードのセットに関連付けることができる。コンピューティングシステム上で動作するハイパーバイザは、複数の仮想マシン中のハードウェア非依存省電力コード(および対応するデバイス電力管理メッセージ)を統合することができる。他の実装では、データセンターAPI120は、顧客アプリケーションからPOSTまたはGETハイパーテキスト転送プロトコル(「HTTP」)メッセージの形で省電力コードを受け取るデータセンターサービスの形態をとることができる。そのようなAPIは、特定のコンピューティングシステム108上でアプリケーションが出した省電力コードを収集し、それらのコードを例えばそのマシン上のハイパーバイザにデータセンターインフラストラクチャ管理(「DCIM」)メッセージングを介して配信することができる。配信されるコードは元のコード、または図2および図3に示すように、関連する命令のみと組み合わせたコードとすることができる。
複数の電力管理メッセージは、同じハードウェアデバイスに関連するいくつかの重複命令を有していてもいなくてもよい。重複の可能性に対処するため、コンピューティングシステムに対応するハイパーバイザを、複数のデバイス電力管理メッセージを結合して単一の電力管理メッセージにするように構成することができる。このようにして、コンピューティングシステムは、複数の仮想マシンが存在する場合でも単一の電力管理メッセージを実装することができる。複数の電力管理メッセージの結合に関する詳細を図3を参照しながら以下に示す。
前述のように、一部の実施形態によると、顧客はデータセンターAPI120を使用してハードウェア非依存省電力コード122を定義することができる。他の実施形態では、ハードウェア非依存省電力コード122を定義する操作は、その一部または全部を顧客から顧客コンパイラ114に移してもよい。そのような場合、顧客コンパイラ114は、アプリケーションコード116の分析に基づいてハードウェア非依存省電力コード122を定義するように構成された、高性能顧客コンパイラとすることができる。具体的には、顧客は、高性能コンパイラに対してハードウェア非依存省電力コード122の最適な定義を決定し、そのハードウェア非依存省電力コード122をアプリケーションコード116に挿入するように指示することができる。高性能顧客コンパイラは、ユーザが決定したハードウェア非依存省電力コードをコンピュータが決定したハードウェア非依存省電力コードで上書きまたは修正するように構成してもよい。
図2は、本開示に示す少なくとも一部の実施形態により構成された、ハードウェア非依存省電力コード122を複数のコンピューティングシステム108に分配する例を示す図である。省電力コード122は、省電力コードA〜Fを含むことができる。一例によると、省電力コード122の第1のサブセットは、省電力コードAおよびCを含み得る。矢印線202A、202Cで示すように、省電力コードAおよびCは第1のコンピューティングシステム108Aに関連付けることができる。省電力コード122の第2のサブセットは、省電力コードBおよびEを含み得る。矢印線202B、202Eで示すように、省電力コードBおよびEは第2のコンピューティングシステム108Bに関連付けることができる。省電力コード122の第3のサブセットは、省電力コードDおよびFを含み得る。矢印線202D、202Fで示すように、省電力コードDおよびFは第3のコンピューティングシステム108Cに関連付けることができる。矢印線202D、202Eの交差点204は、省電力コードDが第2のコンピューティングシステム108Bにも関連付けられ、省電力コードEが第3のコンピューティングシステム108Cにも関連付けられていることを示すことができる。他の様々な実施形態では、ハードウェア非依存省電力コード122のうちの1つまたは複数を、複数のコンピューティングシステム108に関連付けてもよい。
図3は、本開示に記載の少なくとも一部の実施形態により構成された、複数の仮想マシンを含むコンピューティングシステム300の例示の実装を示す機能ブロック図である。コンピューティングシステム300は、コンピューティングシステム108のうちの1つの他の例とすることができる。コンピューティングシステム300は、ハイパーバイザ302、第1の仮想マシン304A、および第2の仮想マシン304Bを含み得る。仮想マシン304A〜304Bを仮想マシン304と総称することもある。図を簡単にするため、図3のコンピューティングシステム300には2つの仮想マシンが図示されているが、コンピューティングシステム300の他の実装は任意の数の仮想マシンを含み得ることが、当業者にはわかるであろう。
第1の仮想マシン304Aは、準仮想化ドライバ306Aの第1のインスタンスに関連付けることができる。第2の仮想マシン304Bは、準仮想化ドライバ306Bの第2のインスタンスに関連付けることができる。一例では、第1の仮想マシン304Aは、第1のアプリケーションコードを有する第1のアプリケーションを実行するように割り当てることができ、第2の仮想マシン304Bは第2のアプリケーションコードを有する第2のアプリケーションを実行するように割り当てることができる。準仮想化ドライバ306Aの第1のインスタンスは、第1のアプリケーションコードから取り出した関連するハードウェア非依存省電力コードを第1のデバイス電力管理メッセージに変換することができる。準仮想化ドライバ306Bの第2のインスタンスは、第2のアプリケーションコードから取り出した関連するハードウェア非依存省電力コードを第2のデバイス電力管理メッセージに変換することができる。
準仮想化とは、コンピューティングシステム300の下層ハードウェアに類似した仮想マシン304に対するソフトウェアインターフェースを提供する技術を一般的に指す。例えば、ハイパーバイザ302は、仮想マシン304への準仮想化ネットワークアクセスを提供することができる。仮想マシン304が準仮想化ネットワークアクセスを介してデータを送信するとき、そのデータはコンピューティングシステム300内のネットワークアクセスハードウェアに直接には提供されず、ハイパーバイザ302によって管理されるバッファに入れることができる。ハイパーバイザ302は、バッファ内のデータについて、ネットワークアクセスハードウェアと比較してより高水準の管理を行うように構成可能である。
図3に示す例では、ハイパーバイザ302は複数の仮想マシンに関連付けられた複数のデバイス電力管理メッセージの高水準管理を行うように構成することができる。ここで、第1のデバイス電力管理メッセージは、値「00101」を有するビット配列でもよく、第2のデバイス電力管理メッセージは値「01100」を有するビット配列でもよい。この例では、ビット配列内の各ビットは特定のハードウェアデバイスに対応し得る。
ここで、「1」ビット値によって、オペレーティングシステムまたはその他のハードウェアマネージャに対して、対応するハードウェアデバイスを有効またはオンにする(または有効状態またはオン状態に維持する)ように指示することができる。「ゼロ」値によって、オペレーティングシステムまたはその他のハードウェアマネージャに対して、対応するハードウェアデバイスを無効またはオフにする(または無効状態またはオフ状態に維持する)ように指示することができる。したがって、第1のデバイス電力管理メッセージには、第3および第5のハードウェアデバイスを有効またはオンにする(または有効状態またはオン状態に維持する)命令、第1、第2および第4のハードウェアデバイスを無効またはオフにする(または無効状態またはオフ状態に維持する)命令を含み得る。第2のデバイス電力管理メッセージは、第2および第3のハードウェアデバイスを有効またはオンにする(または有効状態またはオン状態に維持する)命令と、第1、第4および第5のハードウェアデバイスを無効またはオフにする(または無効状態またはオフ状態に維持する)命令を含み得る。
ハイパーバイザ302は、2つのビット配列に対して論理和演算を行うように構成することができる。この例では、ハイパーバイザ302は、ビット配列「00101」とビット配列「01100」に対して論理和演算を行った場合の結果「01101」を計算することができる。結果のビット配列「01101」によって、オペレーティングシステムまたはその他のハードウェアマネージャに対し、第2、第3および第5のハードウェアデバイスを有効またはオンにする(または有効状態またはオン状態に維持する)ように指示し、第1および第4のハードウェアデバイスを無効またはオフにする(または無効状態またはオフ状態に維持する)ように指示することができる。
図4は、本開示に記載の少なくとも一部の実施形態により構成され、データセンター102において省電力を実現するように構成された例示の処理400を示す流れ図である。1つまたは複数のブロック402〜406に示すように、この処理400は様々な操作、機能または動作を含むことができる。
処理400は、ブロック402(ハードウェア非依存省電力コードを識別する)から開始し、準仮想化ドライバ112のうちの1つなどのドライバを、データセンター内のコンピューティングシステムによって実行されるアプリケーションコード内のハードウェア非依存省電力コード122の少なくともサブセットを識別するように構成することができる。ハードウェア非依存省電力コード122のサブセットは、コンピューティングシステムに適用可能とすることができる。一部の実装では、ハードウェア非依存省電力コード122のサブセットは、コンピューティングシステム上で稼働している複数の仮想マシンから識別することができる。コンピューティングシステムは、1つまたは複数のハードウェアデバイスを含むことができる。ブロック402は、既存のデータセンターAPIメッセージ技術を使用してアプリケーションから送られたメッセージ内のハードウェア非依存省電力コードを識別するデータセンターサービスとして実現することも可能である。ブロック402に続いてブロック404に進む。
ブロック404(ハードウェア非依存省電力コードをデバイス電力管理メッセージに変換する)で、ドライバを、識別されたハードウェア非依存省電力コードのサブセットをコンピューティングシステムのハードウェア仕様または構成に固有のデバイス電力管理メッセージに変換するようにドライバを構成することができる。一部の実施形態では、デバイス電力管理メッセージを、各記号がコンピューティングシステム内のハードウェアデバイスの1つを表す記号の配列として実装することができる。各記号によって表される値を使用して、対応するハードウェアデバイス上で実行される動作を示すことができる。例えば、動作は、対応するハードウェアデバイスを有効/無効またはオン/オフとするものであってもよい。ブロック404に続いてブロック406に進む。
ブロック406(デバイス電力管理メッセージをデータセンターのコンピューティングシステムに供給する)で、デバイス電力管理メッセージをコンピューティングシステムに供給するようにドライバを構成することができる。コンピューティングシステムは、デバイス電力管理メッセージを実装するように構成することができる。具体的には、コンピューティングシステム内のオペレーティングシステムまたはその他のハードウェアマネージャが、デバイス電力管理メッセージに従って適切なハードウェアデバイスを有効/無効またはオン/オフにすることができる。このようにして、データセンターにおいて省電力を実現することができる。ブロック406の後、(例えば周期的、連続的、または要求に応じて随時)処理400が繰り返されるか、または終了する。
図5は、本開示に記載の少なくとも一部の実施形態により構成された、例示のコンピューティングシステムのコンピュータハードウェアアーキテクチャを示すブロック図である。図5には、プロセッサ510、メモリ520および1つまたは複数のドライブ530を含むコンピュータ500が示されている。コンピュータ500は、従来のコンピュータシステム、内蔵制御コンピュータ、ノートブックまたはサーバコンピュータ、携帯装置、セットトップボックス、キオスク端末、車両情報システム、携帯電話、カスタマイズマシンまたはその他のハードウェアプラットフォームとして実装可能である。プロセッサ510は、ドライバ112のうちの少なくとも1つを含む図1に記載の論理回路を実装するように構成することができる。あるいは、プロセッサ510は、顧客コンパイラ114または電力シミュレータ118を含む図1に記載の論理回路を実装するように構成することも可能である。
ドライブ530およびそれに付随するコンピュータ記憶媒体は、コンピュータ500のためのコンピュータ可読命令、データ構造、プログラムモジュールおよびその他のデータの記憶を行う。ドライブ530は、オペレーティングシステム540、アプリケーションプログラム550、プログラムモジュール560およびデータベース580を含むことができる。コンピュータ500は、さらに、ユーザがコマンドおよびデータを入力することができるユーザ入力装置590を含む。入力装置は、電子デジタイザ、マイクロフォン、キーボードおよび、一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイスを含む。その他の入力装置として、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどがある。
上記およびその他の入力装置は、システムバスに結合されたユーザ入力インターフェースを介してプロセッサ510に結合可能であるが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス(「USB」)など、他のインターフェースおよびバス構造によって結合することも可能である。コンピュータ500などのコンピュータは、出力周辺インターフェース594などを介して結合可能な、スピーカなどのその他の周辺出力装置も含むことができる。
コンピュータ500は、ネットワークインターフェース596に結合された遠隔コンピュータなど、1つまたは複数のコンピュータへの論理接続を使用してネットワーク環境で動作することができる。遠隔コンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイスまたはその他の共通ネットワークノードでもよく、コンピュータ500に関連して上述した要素の多くまたはすべてを含むことができる。ネットワーキング環境は、オフィス、企業ワイドエリアネットワーク(「WAN」)、ローカルエリアネットワーク(「LAN」)、イントラネットおよびインターネットにおいて一般的である。
LANまたはWANネットワーキング環境で使用する場合、コンピュータ500はネットワークインターフェース596またはアダプタを介してLANに結合することができる。WANネットワーキング環境で使用する場合、コンピュータ500は一般には、モデムまたは、インターネットまたはネットワーク106などWANで通信を確立するその他の手段を含む。WANは、インターネット、図示のネットワーク106、その他の様々なネットワーク、またはこれらの組み合わせを含み得る。コンピュータ間で通信リンク、リング、メッシュ、バス、クラウドまたはネットワークを確立するその他の機構も使用可能であることはわかるであろう。
一部の実施形態によると、コンピュータ500をネットワーク環境に結合することができる。コンピュータ500は、ドライブ530またはその他の記憶装置に付随する物理コンピュータ可読記憶媒体の1つまたは複数のインスタンスを含み得る。システムバスは、プロセッサ510がコンピュータ可読記憶媒体上のコードおよび/またはデータを読み書きすること可能にすることができる。媒体は、半導体、磁性体、光媒体、電気ストレージ、電気化学ストレージ、またはその他の同様のストレージ技術を含むがこれらには限定されない任意の適合する技術を使用して実装される記憶素子の形態の装置である。この媒体は、RAM、ROM、フラッシュまたはその他の種類の揮発性または不揮発性メモリ技術のいずれとして特徴付けられるかを問わず、メモリ520に関連付けられたコンポーネントである。この媒体は、記憶装置またはその他の方法のいずれで実装されるかを問わず、二次ストレージにも相当する。ハードドライブの実装は、半導体として特徴付けられるものであってもよく、または、磁気的に符号化された情報を記憶する回転媒体を含むことができる。
記憶媒体は、1つまたは複数のプログラムモジュール560を含み得る。プログラムモジュール560は、プロセッサ510にロードされて実行されると汎用コンピューティングシステムを専用コンピューティングシステムに変換するソフトウェア命令を含むことができる。本説明で詳述するように、プログラムモジュール560は、コンピュータ500が本開示に記載のコンポーネント、論理フロー、および/またはデータ構造を使用してシステムまたは動作環境全体に加わるために使用することができる様々な手段および技法を提供することができる。
プロセッサ510は、個別または集合的に任意の数の状態をとり得る任意の数のトランジスタまたはその他の回路要素で構成することができる。より具体的には、プロセッサ510は、状態マシンまたは有限状態マシンとして動作可能である。そのようなマシンは、プログラムモジュール560に含まれる実行可能命令をロードすることによって第2のマシン、すなわち特定のマシンに変換可能である。このようなコンピュータ実行可能命令は、プロセッサ510がどのように状態遷移するかを指定し、それによってプロセッサ510を構成するトランジスタまたはその他の回路素子を第1のマシンから第2のマシンに変換することにより、プロセッサ510を変換することができる。いずれのマシンの状態も、1つまたは複数のユーザ入力装置590、ネットワークインターフェース596、その他の周辺機器、その他のインターフェース、または1人または複数のユーザまたはその他の動作主から入力を受け取ることによっても変換することができる。いずれのマシンも、プリンタ、スピーカ、映像表示装置など様々な出力装置の状態または様々な物理特性も変換することができる。
プログラムモジュール560を符号化することによっても、記憶媒体の物理構造を変換することができる。物理構造の具体的な変換は、本説明の様々な実装における様々な要因に依存することがある。そのような要因の例としては、一次ストレージと二次ストレージのいずれとして特徴付けられるかを問わず、記憶媒体を実装するために使用される技術などが含まれるがこれには限定されない。例えば、記憶媒体が半導体ベースのメモリとして実装される場合、プログラムモジュール560は、半導体メモリ520でソフトウェアが符号化されると、半導体メモリ520の物理状態を変換することができる。例えば、ソフトウェアは、半導体メモリ520を構成するトランジスタ、キャパシタまたはその他の個別回路素子の状態を変換することができる。
他の例として、記憶媒体はドライブ530などの磁気または光学技術を使用して実装することができる。そのような実装では、プログラムモジュール560は、ソフトウェアが磁気または光学媒体内で符号化されると、磁気または光学媒体の物理状態を変換することができる。このような変換は、所与の磁気媒体内の特定の場所の磁気特性を変更することを含み得る。また、このような変換は、所与の光学媒体内の特定の場所の物理的特徴または特性を変更して、それらの場所の光学特性を変化させることも含み得る。なお、本説明の範囲および趣旨から逸脱することなく物理媒体のその他の様々な変換も可能であることがわかるであろう。
図6は、本開示に記載の少なくとも一部の実施形態により構成された、コンピューティングデバイス上でコンピュータ処理を実行するためのコンピュータプログラムを含むコンピュータプログラム製品600を示す概略図である。例示のコンピュータプログラム製品の例示の実施形態は、信号担持媒体602を使用して提供され、複数のユーザ提供ハードウェア非依存省電力コードを識別する1つまたは複数の命令と、複数のユーザ提供ハードウェア非依存省電力コードの少なくとも一部を、データセンターにおけるコンピューティングシステムに固有のデバイス電力管理メッセージに変換する1つまたは複数の命令と、デバイス電力管理メッセージをコンピューティングシステムに供給する1つまたは複数の命令とのうちの少なくとも1つの命令604を含むことができる。一部の実施形態では、1つまたは複数のコンピュータプログラム製品600の信号担持媒体602は、コンピュータ可読媒体606、記録可能媒体608、および/または通信媒体610を含む。
本開示に記載の主題は、コンピューティングシステム上でのオペレーティングシステムおよびアプリケーションプログラムの実行とともに実行されるプログラムモジュールという一般的な文脈で示したが、他の種類のプログラムモジュールと組み合わせて他の実装を行うことも可能であることが当業者にはわかるであろう。一般に、プログラムモジュールは、特定のタスクを行うかまたは特定の抽象データ型を実装するルーチン、プログラム、コンポーネント、データ構造およびその他の種類の構造を含む。さらに、本開示に記載の主題は、携帯装置、マルチコアプロセッサシステム、マイクロプロセッサベースまたはプログラマブル家電製品または、ミニコンピュータ、メインフレームコンピュータなどを含む他のコンピュータシステム構成でも実施可能である。
本開示は、本出願に記載の特定の実施形態にのみ限定されるものではない。これらの実施形態は様々な態様を例示することを意図したものである。当業者には明らかなように、本開示の趣旨および範囲から逸脱することなく、多くの変更および様々な変形態様が可能である。上記の説明から、本開示に列挙されているものに加えて、本発明の範囲における機能的に同等の方法および装置が当業者には明らかであろう。そのような変更および変形態様は、添付の特許請求の範囲に含まれるものと意図されている。本開示は、添付の特許請求の範囲の記載と、そのような特許請求の範囲が権利を与えられる等価物の全範囲によってのみ限定されるべきである。本開示は、特定の方法、試薬、化合物組成または生体系に限定されず、これらは当然ながら異なり得ることを理解すべきである。本開示で使用する用語は、特定の実施形態について説明するためだけのものにすぎず、限定的であることを意図したものではないことも理解すべきである。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。様々な単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(例えば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(例えば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(例えば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(例えば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。例えば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
さらに、本開示の特徴または態様がマーカッシュ群により記載される場合、それによって本開示がマーカッシュ群の任意の個々の要素または要素のサブセットについても説明されることが当業者にはわかるであろう。
当業者ならわかるように、例えば書面による説明を提供するなどのあらゆる目的において、本開示で開示されているすべての範囲は、考えられるあらゆる部分範囲およびその部分範囲の組み合わせも含む。記載の範囲はすべて、少なくとも2等分、3等分、4等分、5等分、10等分などに分割された同じ範囲を十分に説明し、可能にするものであることを容易に認識することができる。非限定的な例として、本開示に記載の各範囲は、下3分の1、中間3分の1、上3分の1などに容易に分割可能である。また、当業者ならわかるように、「〜まで」、「少なくとも」、「〜を超える」、「〜未満」などすべての言語は、記載されている数を含み、前述のような部分範囲に分割可能な範囲を指す。最後に、当業者ならわかるように、範囲は、個々の要素のそれぞれを含む。したがって、例えば1〜3個のセルを有する群とは、1、2または3個のセルを有する群を指す。同様に、1〜5個のセルを有する群は、1、2、3、4または5個のセルを有する群を指す、という具合である。
本開示では様々な態様および実施形態について説明したが、当業者には他の態様および実施形態も明らかであろう。本開示で開示する様々な態様および実施形態は、例示のためのものであり、限定することを意図したものではなく、真の範囲および趣旨は以下の特許請求の範囲によって示される。

Claims (23)

  1. データセンターにおいて省電力を実現する方法であって、
    該データセンター内の複数の仮想マシンから複数のユーザ提供ハードウェア非依存省電力コードを識別することと、
    該複数のユーザ提供ハードウェア非依存省電力コードの少なくとも一部を、該データセンター内のコンピューティングシステムに固有のデバイス電力管理メッセージに変換することと、
    該デバイス電力管理メッセージを該コンピューティングシステムに提供することとを含み、該コンピューティングシステムは、該デバイス電力管理メッセージに従って該コンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成された方法。
  2. 前記複数の省電力コードの第2の部分を前記データセンター内の第2のコンピューティングシステムに固有の第2のデバイス電力管理メッセージに変換することと、
    該第2のデバイス電力管理メッセージを該第2のコンピューティングシステムに提供することとをさらに含み、該第2のコンピューティングシステムは、該第2のデバイス電力管理メッセージに従って該第2のコンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成された請求項1に記載の方法。
  3. 前記複数のユーザ提供ハードウェア非依存省電力コードを識別することは、
    プログラマが前記複数のユーザ提供ハードウェア非依存省電力コードを定義することができるようにするように構成されたアプリケーションプログラミングインターフェースを提供することと、
    定義された前記複数のユーザ提供ハードウェア非依存省電力コードを該アプリケーションプログラミングインターフェースを介してアプリケーションコードに挿入することとを含む請求項1に記載の方法。
  4. 前記アプリケーションコードを実行するときに定義された前記複数のユーザ提供ハードウェア非依存省電力コードが前記コンピューティングシステムによって実装される場合の前記コンピューティングシステムの電力使用量を、前記プログラマが推定することができるようにするように構成された電力シミュレータを提供することをさらに含む請求項3に記載の方法。
  5. 前記複数のユーザ提供ハードウェア非依存省電力コードの少なくとも前記部分を前記データセンター内の前記コンピューティングシステムに固有の前記デバイス電力管理メッセージに変換することは、
    前記コンピューティングシステムが前記複数のユーザ提供ハードウェア非依存省電力コードのうちの関連のある前記部分を実装するように構成され、前記複数のユーザ提供ハードウェア非依存省電力コードの関連のない他の部分を実装するようには構成されておらず、前記複数のユーザ提供ハードウェア非依存省電力コードのうちの前記コンピューティングシステムに関連のある前記部分を識別することと、
    前記複数のユーザ提供ハードウェア非依存省電力コードの前記コンピューティングシステムに関連する前記部分を識別すると、前記複数のユーザ提供ハードウェア非依存省電力コードの前記部分を前記データセンター内の前記コンピューティングシステムに固有の前記デバイス電力管理メッセージに変換することを含む請求項1に記載の方法。
  6. 前記コンピューティングシステムは第1の仮想マシンと第2の仮想マシンとを含み、前記方法は、
    前記第1の仮想マシンによる実行対象の第1のプログラムコードから第1の複数のユーザ提供ハードウェア非依存省電力コードを識別することと、
    前記第2の仮想マシンによる実行対象の第2のプログラムコードから第2の複数のユーザ提供ハードウェア非依存省電力コードを識別することと、
    前記第1の複数のユーザ提供ハードウェア非依存省電力コードを前記データセンター内の前記コンピューティングシステムに固有の第1のデバイス電力管理メッセージに変換することと、
    前記第2の複数のユーザ提供ハードウェア非依存省電力コードを前記データセンター内の前記コンピューティングシステムに固有の第2のデバイス電力管理メッセージに変換することと、
    前記第1のデバイス電力管理メッセージと前記第2のデバイス電力管理メッセージとを結合することによって結合デバイス電力管理メッセージを生成することと、
    該結合デバイス電力管理メッセージを前記コンピューティングシステムに提供することとをさらに含み、前記コンピューティングシステムは該結合デバイス電力管理メッセージに従って前記コンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成された請求項1に記載の方法。
  7. 前記ユーザ提供ハードウェア非依存省電力コードは、無効にされたデバイスが指定された時間後に必要になることを示すように構成されたハードウェア非依存省電力コードを含む請求項1に記載の方法。
  8. 前記デバイス電力管理メッセージを前記コンピューティングシステムに提供することは、
    前記コンピューティングシステムが、前記デバイス電力管理メッセージに従って前記デバイスが前記指定時間までに利用可能になるように前記デバイスを前記指定された時間より前にウォームアップするように構成された、前記デバイス電力管理メッセージを前記コンピューティングシステムに提供することを含む請求項7に記載の方法。
  9. 前記デバイス電力管理メッセージを前記コンピューティングシステムに提供すると、前記ユーザ提供ハードウェア非依存省電力コードを実装している前記コンピューティングシステムの現在の電力使用量を記録することと、
    前記現在の電力使用量に基づいて省電力量を判断することと、
    前記省電力量に応じて前記ユーザに金銭的利益を提供することとをさらに含む請求項1に記載の方法。
  10. 前記デバイス電力管理メッセージは記号の配列を含み、前記記号のそれぞれが前記デバイスのうちの1つに対応する請求項1に記載の方法。
  11. 前記データセンター内の前記複数の仮想マシンから前記複数のユーザ提供ハードウェア非依存省電力コードを識別することは、ウェブサービスを介して前記複数のユーザ提供ハードウェア非依存省電力コードを識別することを含む請求項1に記載の方法。
  12. コンピュータ実行可能命令が記憶されたコンピュータ可読記憶媒体であって、該コンピュータ実行可能命令は、コンピュータによって実行されると該コンピュータに、
    データセンターにおけるコンピューティングシステム内の複数の仮想マシンによって実行されるアプリケーションコードに含まれる複数のユーザ提供ハードウェア非依存省電力コードを識別させ、
    前記複数のユーザ提供ハードウェア非依存省電力コードの少なくとも一部を前記コンピューティングシステムに固有のデバイス電力管理メッセージに変換させ、
    前記デバイス電力管理メッセージを前記コンピューティングシステムに提供させ、前記コンピューティングシステムは、前記コンピューティングシステムが前記アプリケーションコードを実行すると前記デバイス電力管理メッセージに従って前記コンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成された、コンピュータ可読記憶媒体。
  13. 前記複数のユーザ提供ハードウェア非依存省電力コードを識別するために、前記コンピュータ実行可能命令は、前記コンピュータによって実行されると前記コンピュータにさらに、
    プログラマが前記複数のユーザ提供ハードウェア非依存省電力コードを定義することができるようにするように構成されたアプリケーションプログラミングインターフェースを提供させ、
    定義された前記複数のユーザ提供ハードウェア非依存省電力コードを該アプリケーションプログラミングインターフェースを介してアプリケーションコードに挿入させる請求項12に記載のコンピュータ可読記憶媒体。
  14. 前記コンピュータによって実行されると前記コンピュータに電力シミュレータを提供させるコンピュータ実行可能命令がさらに記憶され、該電力シミュレータは、前記コンピューティングシステムが前記アプリケーションコードを実行するときに定義された前記複数のユーザ提供ハードウェア非依存省電力コードが前記コンピューティングシステムによって実装された場合の前記コンピューティングシステムの電力使用量を、前記プログラマが推定できるようにするように構成された請求項13に記載のコンピュータ可読記憶媒体。
  15. 前記複数のユーザ提供ハードウェア非依存省電力コードの前記少なくとも一部を前記コンピューティングシステムに固有の前記デバイス電力管理メッセージに変換するために、前記コンピュータ実行可能命令は、前記コンピュータによって実行されると前記コンピュータにさらに、
    前記コンピューティングシステムが前記複数のユーザ提供ハードウェア非依存省電力コードのうちの関連のある前記部分を実装するように構成され、前記複数のユーザ提供ハードウェア非依存省電力コードの関連のない他の部分を実装するようには構成されておらず、前記複数のユーザ提供ハードウェア非依存省電力コードのうちの前記コンピューティングシステムに関連のある前記部分を識別させ、
    前記複数のユーザ提供ハードウェア非依存省電力コードの前記コンピューティングシステムに関連する前記部分が識別されると、前記複数のユーザ提供ハードウェア非依存省電力コードの前記部分を前記データセンター内の前記コンピューティングシステムに固有の前記デバイス電力管理メッセージに変換させる請求項12に記載のコンピュータ可読記憶媒体。
  16. 前記コンピューティングシステムは第1の仮想マシンと第2の仮想マシンとを含み、前記コンピュータ実行可能命令は、前記コンピュータによって実行されると前記コンピュータにさらに、
    前記第1の仮想マシンによる実行対象の第1のプログラムコードから第1の複数のユーザ提供ハードウェア非依存省電力コードを識別させ、
    前記第2の仮想マシンによる実行対象の第2のプログラムコードから第2の複数のユーザ提供ハードウェア非依存省電力コードを識別させ、
    前記第1のユーザ提供ハードウェア非依存省電力コードを前記データセンター内の前記コンピューティングシステムに固有の第1のデバイス電力管理メッセージに変換させ、
    前記第2の複数のユーザ提供ハードウェア非依存省電力コードを前記データセンター内の前記コンピューティングシステムに固有の第2のデバイス電力管理メッセージに変換させ、
    前記第1のデバイス電力管理メッセージと前記第2のデバイス電力管理メッセージとを結合することによって結合デバイス電力管理メッセージを生成させ、
    該結合デバイス電力管理メッセージを前記コンピューティングシステムに提供させ、前記コンピューティングシステムは前記結合デバイス電力管理メッセージに従って前記コンピューティングシステム内の1つまたは複数のデバイスを有効または無効にするように構成された請求項12に記載のコンピュータ可読記憶媒体。
  17. 前記ユーザ提供ハードウェア非依存省電力コードは、無効にされたデバイスが指定された時間後に必要になることを示すように構成されたハードウェア非依存省電力コードを含む請求項12に記載のコンピュータ可読記憶媒体。
  18. 前記デバイス電力管理メッセージを前記コンピューティングシステムに提供するために、前記コンピュータ実行可能命令は、前記コンピュータによって実行されると前記コンピュータにさらに、
    前記デバイス電力管理メッセージを前記コンピューティングシステムに提供させ、前記コンピューティングシステムは、前記デバイス電力管理メッセージに従って前記デバイスが前記指定時間までに利用可能になるように前記デバイスを前記指定された時間より前にウォームアップするように構成された請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記コンピュータによって実行されると前記コンピュータに、
    前記デバイス電力管理メッセージが前記コンピューティングシステムに提供されると、前記ユーザ提供ハードウェア非依存省電力コードが実装されたときの前記コンピューティングシステムの現在の電力使用量を記録させ、
    前記現在の電力使用量に基づいて省電力量を判断させ、
    前記省電力量に応じて前記ユーザに金銭的利益を提供させるコンピュータ実行可能命令がさらに記憶された請求項18に記載のコンピュータ可読記憶媒体。
  20. 前記デバイス電力管理メッセージは記号の配列を含み、前記記号のそれぞれが前記デバイスのうちの1つに対応する請求項12に記載のコンピュータ可読記憶媒体。
  21. 第1のデバイスと該第1のデバイスに結合された第1の管理ユニットとを含む第1のプロセッサベースのハードウェア構成を有する第1のコンピューティングシステムと、
    第2のデバイスと該第2のデバイスに結合された第2の管理ユニットとを含む第2のプロセッサベースのハードウェア構成を有する第2のコンピューティングシステムと、
    該第1のコンピューティングシステムによって実行される第1のドライバであって、該第1のコンピューティングシステム内の複数の第1の仮想マシン上で実行されるアプリケーションコードから複数のユーザ提供ハードウェア非依存省電力コードの第1の部分を識別し、該複数のユーザ提供ハードウェア非依存省電力コードの該第1の部分を該データセンター内の該第1のコンピューティングシステムに固有の第1のデバイス電力管理メッセージに変換し、該デバイス電力管理メッセージを該第1の管理ユニットに提供するように構成され、該第1の管理ユニットは該第1のデバイス電力管理メッセージに従って該第1のデバイスを有効および無効にするように構成された、第1のドライバと、
    該第2のコンピューティングシステムによって実行される第2のドライバであって、該第2のコンピューティングシステム内の複数の第2の仮想マシン上で実行される該アプリケーションコードから該複数のユーザ提供ハードウェア非依存省電力コードの第2の部分を識別し、該複数のユーザ提供ハードウェア非依存省電力コードの該第2の部分を該データセンター内の該第2のコンピューティングシステムに固有の第2のデバイス電力管理メッセージに変換し、該第2のデバイス電力管理メッセージを該第2の管理ユニットに提供するように構成され、該第2の管理ユニットは該第2のデバイス電力管理メッセージに従って該第2のデバイスを有効および無効にするように構成された、第2のドライバとを含むデータセンター。
  22. 前記第1のドライバと前記第2のドライバが準仮想化ドライバを含む請求項21に記載のデータセンター。
  23. 前記第1のコンピューティングシステムと前記第2のコンピューティングシステムとに結合され、前記ユーザ提供ハードウェア非依存省電力コードが実装されたときに前記第1のコンピューティングシステムおよび前記第2のコンピューティングシステムの現在の電力使用量を記録し、該現在の電力使用量に基づき省電力量を判断し、該省電力量に応じて前記ユーザに金銭的利益を与えるように構成された省電力ログユニットをさらに含む請求項21に記載のデータセンター。
JP2014554699A 2012-01-25 2012-01-25 ユーザ生成によるデータセンターの省電力 Expired - Fee Related JP6042454B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/022541 WO2013112145A1 (en) 2012-01-25 2012-01-25 User generated data center power savings

Publications (2)

Publication Number Publication Date
JP2015506519A true JP2015506519A (ja) 2015-03-02
JP6042454B2 JP6042454B2 (ja) 2016-12-14

Family

ID=48798245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014554699A Expired - Fee Related JP6042454B2 (ja) 2012-01-25 2012-01-25 ユーザ生成によるデータセンターの省電力

Country Status (4)

Country Link
US (1) US8938634B2 (ja)
JP (1) JP6042454B2 (ja)
KR (1) KR101679487B1 (ja)
WO (1) WO2013112145A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8429431B2 (en) 2008-03-07 2013-04-23 Raritan Americas, Inc. Methods of achieving cognizant power management
US20130339200A1 (en) * 2012-06-19 2013-12-19 International Business Machines Corporation Fair Distribution Of Power Savings Benefit Among Customers In A Computing Cloud
EP3037913A4 (en) * 2013-08-22 2017-05-17 Samsung Electronics Co., Ltd. Method for performing power-saving mode in electronic device and electronic device therefor
US20160049147A1 (en) * 2014-08-13 2016-02-18 Glen J. Anderson Distributed voice input processing based on power and sensing
US20170038822A1 (en) * 2015-08-04 2017-02-09 Sandia Corporation Power management for a computer system
US11451067B2 (en) * 2017-12-19 2022-09-20 Intel Corporation Method, apparatus and system to enhance a device policy manager to manage devices based on battery condition

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US20090070776A1 (en) * 2007-09-07 2009-03-12 Oracle International Corporation System and method to improve memory usage in virtual machines running as hypervisor guests
JP2009116862A (ja) * 2007-11-08 2009-05-28 Internatl Business Mach Corp <Ibm> 電子システムの電力管理の方法、システム、およびプログラム(電子システムの電力管理)
US20100192149A1 (en) * 2009-01-29 2010-07-29 Lathrop Frederick L Power manager for virtual machines

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560022A (en) 1994-07-19 1996-09-24 Intel Corporation Power management coordinator system and interface
US5638541A (en) * 1995-08-25 1997-06-10 Intel Corporation System and method for managing power on desktop systems
JP4334267B2 (ja) * 2003-04-28 2009-09-30 株式会社東芝 店舗管理システム
US7131099B2 (en) * 2004-12-09 2006-10-31 International Business Machines Corporation Method, apparatus, and computer program product for RTL power sequencing simulation of voltage islands
US20070288776A1 (en) 2006-06-09 2007-12-13 Dement Jonathan James Method and apparatus for power management in a data processing system
US7844839B2 (en) * 2006-12-07 2010-11-30 Juniper Networks, Inc. Distribution of network communications based on server power consumption
CN101419495B (zh) * 2007-10-22 2012-05-30 国际商业机器公司 降低计算机系统中i/o功率的方法和装置,以及计算机系统
US8069362B2 (en) 2008-02-26 2011-11-29 Sap Ag Automated electrical power savings in virtualization environments
JP2010218077A (ja) * 2009-03-16 2010-09-30 Mitsubishi Electric Corp 省エネ支援装置、省エネ支援システム
CA2766807A1 (en) 2009-06-25 2010-12-29 Server Technology, Inc. Power distribution apparatus with input and output power sensing and method of use
US9122537B2 (en) 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
US20110202467A1 (en) * 2010-01-19 2011-08-18 Hilber Del A Automated load control and dispatch system and method
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131166A (en) * 1998-03-13 2000-10-10 Sun Microsystems, Inc. System and method for cross-platform application level power management
US20090070776A1 (en) * 2007-09-07 2009-03-12 Oracle International Corporation System and method to improve memory usage in virtual machines running as hypervisor guests
JP2009116862A (ja) * 2007-11-08 2009-05-28 Internatl Business Mach Corp <Ibm> 電子システムの電力管理の方法、システム、およびプログラム(電子システムの電力管理)
US20100192149A1 (en) * 2009-01-29 2010-07-29 Lathrop Frederick L Power manager for virtual machines

Also Published As

Publication number Publication date
KR20140105484A (ko) 2014-09-01
US20130191672A1 (en) 2013-07-25
WO2013112145A1 (en) 2013-08-01
WO2013112145A8 (en) 2014-05-01
US8938634B2 (en) 2015-01-20
KR101679487B1 (ko) 2016-11-24
JP6042454B2 (ja) 2016-12-14
CN103874969A (zh) 2014-06-18

Similar Documents

Publication Publication Date Title
JP6042454B2 (ja) ユーザ生成によるデータセンターの省電力
US8776066B2 (en) Managing task execution on accelerators
TWI594117B (zh) 剖析應用程式碼以識別用於fpga實施之程式碼部份
CN102279766B (zh) 并行模拟多个处理器的方法及系统、调度器
CN103455376A (zh) 对操作系统中多个进程对现场可编程门阵列的使用的管理
CN103645957A (zh) 一种虚拟机资源管控方法及装置
EP2375324A2 (en) Virtualization apparatus for providing a transactional input/output interface
US9817754B2 (en) Flash memory management
CN104104705A (zh) 分布式存储系统的接入方法和设备
CN104298474A (zh) 一种基于服务端与外部缓存系统的外接式计算设备加速方法与实现该方法的设备
CN103927215A (zh) 基于内存盘与SSD硬盘的kvm虚拟机调度的优化方法及系统
US20150160973A1 (en) Domain based resource isolation in multi-core systems
CN109388435A (zh) 实现app同时多次开启操作的方法和装置
CN109271247A (zh) 内存优化方法、装置、计算机装置以及存储介质
TW202018500A (zh) 在多次執行指令之間保存及恢復機器狀態
Ali et al. Petri Net based modeling and analysis for improved resource utilization in cloud computing
US10223260B2 (en) Compiler-generated memory mapping hints
KR101603202B1 (ko) 이기종 멀티프로세서 시스템 온 칩에서의 rpc 데이터 배치 방법 및 장치
US20130080141A1 (en) Power aware simulation system with embedded multi-core dsp
US20130013666A1 (en) Monitoring data access requests to optimize data transfer
EP2530590A1 (en) Object pipeline-based virtual infrastructure management
US8966133B2 (en) Determining a mapping mode for a DMA data transfer
US20200348962A1 (en) Memory-fabric-based processor context switching system
CN111782717A (zh) 一种数据处理方法、系统及电子设备和存储介质
US20150100959A1 (en) Datacenter managed thread and multi-processing support

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150804

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151102

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151204

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20151225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160204

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160224

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160607

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160831

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161109

R150 Certificate of patent or registration of utility model

Ref document number: 6042454

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees