JP2016529626A - サーバ/ラックシステムのブート時ピーク消費電力の最適化 - Google Patents
サーバ/ラックシステムのブート時ピーク消費電力の最適化 Download PDFInfo
- Publication number
- JP2016529626A JP2016529626A JP2016537076A JP2016537076A JP2016529626A JP 2016529626 A JP2016529626 A JP 2016529626A JP 2016537076 A JP2016537076 A JP 2016537076A JP 2016537076 A JP2016537076 A JP 2016537076A JP 2016529626 A JP2016529626 A JP 2016529626A
- Authority
- JP
- Japan
- Prior art keywords
- module
- execution sequence
- boot process
- computing device
- power consumption
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/18—Packaging or power distribution
- G06F1/189—Power distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- H—ELECTRICITY
- H05—ELECTRIC TECHNIQUES NOT OTHERWISE PROVIDED FOR
- H05K—PRINTED CIRCUITS; CASINGS OR CONSTRUCTIONAL DETAILS OF ELECTRIC APPARATUS; MANUFACTURE OF ASSEMBLAGES OF ELECTRICAL COMPONENTS
- H05K7/00—Constructional details common to different types of electric apparatus
- H05K7/14—Mounting supporting structure in casing or on frame or rack
- H05K7/1485—Servers; Data center rooms, e.g. 19-inch computer racks
- H05K7/1498—Resource management, Optimisation arrangements, e.g. configuration, identification, tracking, physical location
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
サーバ及び/又はラックシステムのブート時ピーク消費電力の最適化に関する方法と装置を説明する。一実施形態では、コンピューティングデバイスのブートプロセスにおけるモジュール実行シーケンスを示す、コンピューティングデバイスのモジュール実行シーケンスを決定する。モジュール実行シーケンスは、コンピューティングデバイスのブートプロセスにおけるコンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて決定される。他の実施形態も特許請求の範囲に記載し、かつ記載した。
Description
本開示は、概してコンピューティングの分野に関する。具体的には、一実施形態は概してサーバ及び/又はラックシステムのブート時ピーク消費電力(boot−time peak power consumption)の最適化に関する。
ラックシステムの電源に対する電力割り当て(power budget)を設計する際、設計者は可能性のある最大限の電力消費を考慮し、これは通常サーバのブート時に起こる。ワーストケースは、ラックにマウントされたすべてのサーバの電源が同時に入れられた時、またはすべてのサーバが同時にリブートされた時である。サーバのピーク電力消費は、ブートプロセス中の一定の時にのみ生じ、数十秒は続くが、数分は続かないことがある。そのため、ラックの電源は、このピーク電力時に電源供給できなければならず、これが頻繁ではなく比較的短時間であってもそうである。これにより電源コストが上がり、滅多に使われないヘッドルームキャパシティ(headroom capacity)が資源の無駄となる。
詳細な説明は、添付した図面を参照して行う。図中、参照数字の最も左の桁は、その参照数字が最初に現れる図面を指す。異なる図面で同じ参照番号を用いて、同様の又は同一のアイテムを示す。
幾つかの実施形態による、2つのサーバの消費電力の変動(power behavior)例を示すグラフである。
幾つかの実施形態による、2つのサーバの消費電力の変動例を示すグラフである。
幾つかの実施形態による、様々なコンピューティングシステムのブート時ピーク消費電力を最適化する方法を示すフロー図である。
幾つかの実施形態による、様々なコンピューティングシステムのブート時ピーク消費電力を最適化する方法を示すフロー図である。
幾つかの実施形態による、様々なコンピューティングシステムのブート時ピーク消費電力を最適化する方法を示すフロー図である。
ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
ここに説明する様々な実施形態を実装するのに利用可能なコンピューティングシステムの実施形態を示すブロック図である。
以下の説明では、様々な実施形態をよく理解してもらうために、具体的な詳細事項を多数記載する。しかし、さまざまな実施形態はこれらの具体的な詳細事項がなくても実施することができる。他の場合には、具体的な実施形態を分かりにくくしないように、周知の方法、手順、コンポーネント、回路は詳細には説明していない。さらに、実施形態の様々な態様は、集積半導体回路(「ハードウェア」)、一又は複数のプログラムに組織化されたコンピュータ読み取り可能命令(「ソフトウェア」)、又はハードウェアとソフトウェアの組合せなどの様々な手段を用いて実行できる。本開示の目的において、「ロジック」とはハードウェア、ソフトウェア、ファームウェア(FM)またはこれらの組み合わせのどれかを意味するものとする。
幾つかの実施形態では、サーバ及び/又はラックシステムのブート時ピーク消費電力を最適化する手法を提供する。さらに、ここで「ラック(rack)」システムを参照して説明する手法は、他のタイプのサーバ構成に適用してもよい。また、上記の通り、ラックシステムの電源(PSUまたは電源ユニットとも言う)に対するパワーバジェット(power budget)を設計する際、設計者は可能性のある最大消費電力を考慮する。これにより、サーバの所有者が支払わなければならない電気料金とラックPSUコストとが高くなり、ほとんど使われないヘッドルームキャパシティ(headroom capacity)が資源の無駄となる。このため、一実施形態では、各サーバのブート性能を犠牲にせずに、ラックのピーク消費電力を下げる方法を提供する。これにより、最大容量がより小さく、より安価なラックPSUの使用が可能となる。さらにまた、消費電力の削減によりPSUのコストを削減でき、ラックスペースのコストを削減でき得る(特に、何万台というラックが展開されている現代のデータセンターにおいていくら節約できるか考えるときにそうである)。
幾つかの実施形態では、各サーバにおいて、何時、どのBIOS(Basic Input Output System)モジュールがどのくらい電力を消費するかに関する情報が特定され、ログ/格納される。この情報に基づいて、各サーバにおけるモジュール実行シーケンスを調節し、結果として、すべてのターゲットサーバのそのブートプロセスにおけるピーク消費電力を全体的に削減するため、すべてのターゲットサーバをどう調整するか判断する。例えば、ブートデータは自動的に収集され、その情報を用いて、ターゲットサーバにおけるブートシーケンスを最適化する結果を計算し提供する。かかるアプローチは非常に生産的であり、どんなスケールのサーバにも、どんなハードウェア構成であっても、ブート性能を低下させることなく適用できるだろう。
さらに、ブートプロセス中の一定の初期化順序は、例えば正しい動作をいじするため、維持しなければならないかも知れない。例えば、メモリコントローラは、メモリへのアクセスを可能とするため、メモリの前に初期化されなければならない。
ここに説明するように、BIOSモジュールは、ブート時に実行シーケンスを(例えば、BIOSを介して)設定可能なコンポーネント(図4ないし図6のコンピューティングシステムを含む様々なコンピューティングシステムを参照してここに説明するソフトウェアコンポーネント/ロジックなど)を言う。さらに、幾つかの実施形態では、UEFI(Unified Extensible Firmware Interface)を利用して、ハードウェアモジュールを構成し、異なる消費電力レベルとしてもよい。また、一以上のセンサ(図示せず)が、モジュールに熱的に近くまたは熱的に結合しており、これを用いて消費電力と、消費電力データを検出するここに説明するタイムラインデータと、ブートプロセス中のタイムラインデータとを検出してもよい。
さらにまた、幾つかの実施形態はサーバ/ラックシステムを参照して説明するが、実施形態は、かかる大規模アーキテクチャに限定されず、実行時よりもブート時により多くの電力を消費する、より小規模のシステム(例えば、複数のプロセッサその他のコンポーネントを有するもの)に適用してもよい。
様々な実施形態を詳細に説明するため、2つのサーバ(図1ないし図2に示したサーバ1とサーバ2)がマウントされた単純化されたラックシステムを考える。図1は、幾つかの実装による、最適化していないラックに対して2つのサーバの電力変動(power behavior)を示すグラフ例である。図1は、両方のサーバが同時にブートされる時の電力変動を示し、個々の消費電力と合計の消費電力とを示している。
図1を参照して、A、B及びCはサーバ1のBIOSモジュールであり、X、Y及びZはサーバ2のBIOSモジュールである。モジュールA、B及びCの開始及び終了時間はそれぞれ{[0,10],[10,16],[16,25]}である。モジュールA、B及びCの消費電力は{5,10,18}である。モジュールX、Y、Zの開始/終了時間はそれぞれ{[0,7],[7,18],[18,26]}であり、モジュールX、Y、Zの消費電力は{15,8,17}である。
各サーバにおける各モジュールの開始/終了時間と消費電力は、ブートログ(boot log)からすべて決定することができる。ラック消費電力はサーバ1とサーバ2の消費電力の和である。そのため、両方のサーバが電源を入れられると、ラックのピーク消費電力は[18,25]に起こり、ピーク値は18+17=35である。これはサーバ1でモジュールCが実行され、サーバ2でモジュールZが実行される時である。
これらを受けて、一実施形態では、各サーバにおけるモジュール実行シーケンスを最適化する。 例えば、図1の場合に、サーバ2のモジュール実行シーケンスをX→Y→ZからX→Z→Yに変更すると、図1のグラフは図2のグラフに変わる。これは、一実施形態による、最適化されたラックに対する2つのサーバの電力変動を示すグラフ例を示している。
図2から分かるように、ラックピーク電力は、サーバ1でモジュールBが実行され、サーバ2でモジュールZが実行されている[10,15]で起こり、ピーク値は10+17=27であり、図1の元の実行シーケンスにおける35から低下している。さらに、ラックレベルでは、[0,7]、[7,10]、[10,15]などの新しい時間(time period)があり、これらはここでは、元のモジュール実行時間と区別するため、「時間量子(time quantum)」と呼ぶことがある。
図1ないし図2の例は単純な場合のみを扱っているが、より実際的なシナリオでは数十のサーバを有し、各サーバが異なるハードウェアコンポーネント(時間と消費電力が様々な異なるBIOSを備えたもの)を有するラックが係わってくる。このため、本書面ではこの後、より一般的な場合を扱うより一般的なアプローチを説明する。
図3Aないし3Cは、幾つかの実施形態による、様々なコンピューティングシステム(サーバ及び/又はラックシステムなど)のブート時ピーク消費電力を最適化する方法を示すフロー図である。図4ないし図6を参照して説明する一以上のコンポーネント(プロセッサ、ロジック、及び/又はメモリなど)を用いて図3Aないし図3Cを参照して説明する一以上の動作を実行してもよい。
図3Aを参照して、最初のシステムのインストール後に、またはサーバ及び/又は一以上のコンポーネントの変更/交換時に、動作302中に、サーバの電源が入れられ、ブートログ(図1ないし図2を参照して説明した情報など)が格納される。動作304において、ブートログが中心部(central place)に送られる。これは任意の専用サーバまたはノードマネージャロジック(またはその他のロジック)であり得る。動作306において、図3Bを参照してさらに説明するように、計算が実行される。
動作308において、関係するすべてのサーバに対して、(例えば、動作306の計算/判断に基づき)新しいモジュールディスパッチシーケンスが決定される。動作310において、動作308のディスパッチシーケンスの各々が対応するサーバに送り返される(ディスパッチシーケンス情報はストレージユニットに格納される。ストレージユニットは、対応するサーバローカルのものであるか、対応するサーバがそのブートプロセス中にアクセス可能なものである(例えば、フラッシュやその他のタイプの不揮発性メモリ))。動作312において、次に、動作310のサーバのどれかがブートまたはリブートし、動作308の新しいモジュールディスパッチシーケンスが使われる。
図3Bを参照して、動作320において、関係するすべてのサーバの各BIOSモジュールの開始/終了時間情報及び消費電力情報(図1ないし図2を参照して説明した情報など)が格納される。ここに説明するように、#N個のモジュールの開始/終了時間は、{[hlx,tlx],[h2x,ax]…[hNx,tNx]}と表される。
動作322において、すべてのサーバから2つのサーバAとBが選ばれる。サーバAは#J個のモジュールを有し、サーバBは#K個のモジュールを有する。動作324において、AとBとについて、ピーク消費電力がより低くなる最適化された実行シーケンスが計算される。生成された新しいタイムラインQは図示した時間量子を有する。動作326において、関係するすべてのサーバが処理されたか判断する。
動作326においてすべてのサーバが処理されていない限り、動作328において、残りのサーバ(サーバAとB以外のすべてのサーバ)からサーバRが選択される。次に、この新しいRサーバが、図3Bの動作328に示したように、前出の動作324においてサーバAとして扱われる。動作330において、図3Bに示したように、Qは前出の場合のサーバBとして扱われる。動作332において、次の繰り返しに対する新しいAとBが準備され、方法306が動作324から再開する。
すべてのサーバが処理されたと、動作326で判断されると、動作334で、すべてのサーバの最適なモジュールディスパッチシーケンスが見つかり、動作336で、それが各サーバに送られる。
(一実施形態による図3Bの動作324の詳細を示す)図3Cを参照して、動作350において、図3Cのボックス350に示したタイムラインが決定される。動作352において、AとBのタイムラインが構成され、現在のピーク電力が決定され、合成ピーク電力(combined peak power)になった時に、サーバBのどのモジュール(モジュールHと呼ぶ)が実行されているかを示す。動作354の後、サーバBの時間ラインから、モジュールHの次の推測的開始点が選択される。動作356において、モジュールHの開始時間が現在の推測的開始点に配置され、サーバBの他のすべてのモジュールはHの後に置かれる(その他の変更は何もない)。動作358において、サーバAとサーバBの現在のピーク電力が計算され、格納される。また、動作358において、現在のBのモジュール実行シーケンスが格納される。
現在のピーク電力がモジュールHに対してそれまでに決定された(例えば、動作360で決定された)どのピーク電力よりも低いとき、動作362において、サーバBの現在の実行シーケンスがサーバBの最適シーケンスとして記録される。そうでなければ、動作364において、Hモジュールのすべての推測的開始点が考慮されたか判断する。Hモジュールに対して他の推測的開始点が残っていれば、動作354において、方法324が再開される。そうでなければ、動作366において、サーバBの最良のモジュール実行シーケンスが、新しい実行シーケンスとして用いられる(この時点で、サーバAとサーバBは最適なモジュール実行シーケンスを有する)。動作368において、サーバAとBに対して生成された新しいタイムラインが、図3Cのボックス368に示したように、記録される。動作370において、サーバAとサーバBの最適化をする(フローは図2Bの動作326に移る)。
図4は、一実施形態によるコンピューティングシステム400を示すブロック図である。コンピューティングシステム400は、相互接続ネットワーク(すなわちバス)404を介して通信する一又は複数の中央処理ユニット(CPU)402又はプロセッサを含む。プロセッサ402は、汎用プロセッサ、(コンピュータネットワーク403により通信されるデータを処理する)ネットワークプロセッサ、(RISC(reduced instruction set computer)又はCISC(complex instruction set computer)を含む)その他のタイプのプロセッサを含む。
さらに、プロセッサ402はシングルコアデザインでもマルチコアデザインでもよい。マルチコアデザインのプロセッサ402は、同じ集積回路(IC)ダイ上に異なるタイプのプロセッサコアを集積したものであってもよい。また、マルチコアデザインのプロセッサ402は、対称又は非対称のマルチプロセッサとして実装されてもよい。また、図1ないし図3を参照して説明した動作は、システム400の一以上のコンポーネントにより実行されてもよい。また、図1ないし図3Cを参照して説明した様々なデバイス(例えば、デスクトップ、スマートフォン、タブレット、UMPC(Ultra−Mobile Personal Computer)、ラップトップコンピュータ、ウルトラブックコンピューティングデバイス、スマートウォッチ、スマートメガネ、サーバ、ラックなど)は、図4のコンポーネントの内の一以上のコンポーネントを含んでいてもよい。
例えば、メモリ412は、図1ないし図3Cを参照して説明した情報を格納してもよく、図1ないし図3Cを参照して説明した動作の内の一以上の動作はプロセッサ402で実行されてもよい。また、システム400は画像キャプチャデバイスも含む。さらに、シーン、画像、またはフレーム(例えば、様々な実施形態においてグラフィックスロジックにより処理されるもの)は、画像キャプチャデバイス(例えば、デジタルカメラ(スマートフォン、タブレット、ラップトップ、スタンドアロンカメラなどの他のデバイスに組み込まれていてもよい)、またはキャプチャした画像がその後デジタル形式に変換されるアナログデバイス)によりキャプチャされてもよい。さらに、一実施形態では、画像キャプチャデバイスは複数のフレームをキャプチャできてもよい。さらに、幾つかの実施形態では、シーン中のフレームのうちの一以上のフレームは、コンピュータ上で設計/生成される。また、シーンのフレームのうちの一以上のフレームは、ディスプレイ(例えば、フラットパネルディスプレイデバイスなどを含むディスプレイ416)を介して表示されてもよい。
チップセット406も相互接続404で通信できる。チップセット406は、グラフィックス・メモリ・コントロール・ハブ(Graphics and Memory Control Hub、GMCH)408を含む。GMCH408は、メモリ410と通信するメモリコントローラ412を含む。メモリ412は、CPU402またはコンピューティングシステム400に含まれるその他の任意のデバイスにより実行される命令シーケンスを含むデータを記憶する。一実施形態では、メモリ412は、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、又はその他のタイプの記憶デバイスなどの一又は複数の揮発性ストレージ(すなわちメモリ)を含む。ハードディスクなどの不揮発性メモリも利用できる。複数のCPU及び/又は複数のシステムメモリなど別のデバイスも、相互接続ネットワーク404を介して通信できる。
GMCH408は、ディスプレイ装置416と通信するグラフィックスインタフェース414も含み得る。一実施形態では、グラフィックスインタフェース414は、AGP(accelerated graphics port)またはPCI(Peripheral Component Interconnect)(またはPCIエクスプレス(PCIe)インタフェース)を介してディスプレイ装置416と通信できる。一実施形態では、(フラットパネルディスプレイなどである)ディスプレイ416は、例えば信号変換器によりグラフィックスインタフェース414と通信する。信号変換器は、ビデオメモリやシステムメモリなどのストレージデバイスに記憶された画像のデジタル表現をディスプレイ信号に変換する。ディスプレイ信号はディスプレイ416により解釈され表示される。ディスプレイデバイスにより生成されたディスプレイ信号は、ディスプレイ416により解釈されそれに表示される前に、様々な制御デバイスを通して送られる。
ハブインタフェース418により、GMCH408と入出力コントロールハブ(ICH)420が通信できる。ICH420は、コンピューティングシステム400と通信するI/Oデバイスにインタフェースを提供する。ICH420は、ペリフェラルコンポーネント相互接続(PCI)ブリッジ、ユニバーサルシリアルバス(USB)コントローラ、又はその他のタイプのペリフェラルブリッジやコントローラなどのペリフェラルブリッジ(又はコントローラ)424を通してバス422と通信できる。ブリッジ424は、CPU402とペリフェラルデバイスとの間にデータパスを提供する。他のタイプのトポロジーも利用できる。また、複数のバスが、例えば複数のブリッジ又はコントローラにより、ICH420と通信できる。さらに、ICH420と通信する他のペリフェラルには、様々な実施形態において、IDE(integrated drive electronics)又はSCSI(small computer system interface)ハードディスクドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピィ(登録商標)ディスクドライブ、デジタル出力サポート(DVI(digital video interface)など)、その他のデバイスが含まれる。
バス422は、オーディオデバイス426、一又は複数のディスクドライブ428、及びネットワークインタフェースデバイス430と通信できる(これらはコンピュータネットワーク403と通信できる)。他のデバイスはバス422を介して通信できる。また、幾つかの実施形態では、(ネットワークインタフェースデバイス430などの)様々なコンポーネントがGMCH408と通信してもよい。また、プロセッサ402とGMCH408が結合された単一チップを形成してもよいし、及び/またはGMCH408の一部または全部が、(例えば、チップセット406のGMCH408に含まれるのではなく)プロセッサ402に含まれてもよい。さらに、他の実施形態では、グラフィックアクセラレータ416はGMCH408内に含まれてもよい。
さらに、コンピューティングシステム400は揮発性及び/又は不揮発性のメモリ(又はストレージ)を含んでいてもよい。例えば、不揮発性メモリは、次のうち一又は複数を含む:リードオンリメモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的EPROM(EEPROM)、ディスクドライブ(例えば、アイテム428)、フロッピィ(登録商標)ディスク、コンパクトディスクROM(CD−ROM)、デジタルバーサタイルディスク(DVD)、フラッシュメモリ、光磁気ディスク、又は(例えば命令を含む)電子的データを記憶することができる他のタイプの不揮発性機械読み取り可能媒体を含む。
他の一実施形態では、システム400のコンポーネントは、図5を参照して説明するポイント・ツー・ポイント(PtP)構成で構成できる。例えば、プロセッサ、メモリ、及び/又は入出力デバイスは、複数のポイント・ツー・ポイントインタフェースにより相互接続される。
より具体的には、図5は、一実施形態による、ポイント・ツー・ポイント(PtP)構成で構成されたコンピューティングシステム500を示す図である。具体的に、図5は、プロセッサ、メモリ、及び/または入出力装置が複数のポイント・ツー・ポイントインタフェースにより相互接続されているシステムを示す。図1−4を参照して説明した動作は、システム500の一又は複数のコンポーネントにより実行してもよい。
図5に示したように、システム500は複数のプロセッサを含んでいてもよく、明確性のため、そのうち2つのプロセッサ502、504のみを示した。プロセッサ502と504は、それぞれ、メモリ510と512との通信を可能とするローカルメモリコントローラハブ(MCH)506、508を含んでいてもよい。メモリ510及び/または512は、図4のメモリ412を参照して説明したような様々なデータを格納し得る。
一実施形態では、プロセッサ502と504は、図4を参照して説明した複数のプロセッサ402のうちのものであってもよい。プロセッサ502と504は、それぞれPtPインタフェース回路516と518を用いて、ポイント・ツー・ポイント(PtP)インタフェース514を介してデータを交換できる。また、プロセッサ502と504は、それぞれ、ポイント・ツー・ポイントインタフェース回路526、528、530及び532を用いて、個々のPtPインタフェース522と524を介してチップセット520とデータを交換できる。チップセット520は、さらに、例えば、PtPインタフェース回路537を用いて、グラフィックスインタフェース536を介してグラフィックス回路534とデータを交換できる。
少なくとも一実施形態は、プロセッサ502と504に設けることができる。また、図1−4を参照して説明した動作は、システム500の一又は複数のコンポーネントにより実行できる。 例えば、メモリ510/512は、図1ないし図3Cを参照して説明した情報を格納してもよく、図1ないし図3Cを参照して説明した動作のうちの一以上の動作はプロセッサ502/504で実行されてもよい。また、図1ないし図4を参照して説明した様々なデバイス(例えば、デスクトップ、スマートフォン、タブレット、UMPC(Ultra−Mobile Personal Computer)、ラップトップコンピュータ、ウルトラブックコンピューティングデバイス、スマートウォッチ、スマートメガネ、サーバ、ラックなど)は、図5のコンポーネントのうちの一以上のコンポーネントを含んでいてもよい。
しかし、他の実施形態は、図5のシステム500内の他の回路、ロジックユニット、またはデバイスにあってもよい。さらにまた、他の実施形態は、図5に示した複数の回路、ロジックユニット、またはデバイスに分散していてもよい。
チップセット520は、PtPインタフェース回路540を用いてバス541を介して通信できる。バス540は、バスブリッジ542とI/Oデバイス543などの一または複数のデバイスと通信できる。バスブリッジ542は、バス544を介して、キーボード/マウス545、通信デバイス546(例えば、モデム、ネットワークインタフェースデバイス、またはコンピュータネットワーク403と通信できるその他の通信デバイス)、オーディオI/Oデバイス547、及び/またはデータストレージデバイス548などのその他のデバイスと通信できる。データストレージデバイス548は、プロセッサ502及び/または504により実行できるコード549を格納できる。
幾つかの実施形態では、ここに説明したコンポーネントのうち一または複数は、システムオンチップ(SOC)デバイスとして実施できる。
図6は、一実施形態によるSOCパッケージを示すブロック図である。図6に示したように、SOC602は、一以上の中央処理装置(Central Processing Unit (CPU))コア630、一以上のグラフィックスプロセッサユニット(Graphics Processor Unit (GPU))コア630、入出力(Input/Output (I/O))インタフェース640、及びメモリコントローラ642を含む。SOCパッケージ602のさまざまなコンポーネントは、他の図を参照してここに説明したように、相互接続またはバスに結合され得る。また、SOCパッケージ602は、他の図を参照してここに説明したように、一以上のコンポーネントを含んでいてもよい。さらに、SOCパッケージ620の各コンポーネントは、例えば他の図を参照してここに説明したように、他の一以上のコンポーネントを含んでいてもよい。一実施形態では、SOCパッケージ620(及びそのコンポーネント)は、一以上の集積回路(Integrated Circuit (IC))ダイ上に設けられ、パッケージされて単一の半導体デバイスとされてもよい。
図6に示したように、SOCパッケージ602は、メモリコントローラ642を介してメモリ660(他の図を参照してここに説明したメモリと同様のまたは同じものであってもよい)に結合されている。一実施形態では、メモリ660(またはその一部)は、SOCパッケージ602上に集積できる。
I/Oインタフェース640は、例えば、他の図を参照してここに説明したような相互接続及び/またはバスを介して、一以上のI/Oデバイス670に結合されていてもよい。I/Oデバイス670は、キーボード、マウス、タッチパッド、ディスプレイ(例えば、ディスプレイ416)、(カメラやカムコーダ/ビデオレコーダなどの)画像/ビデオ収集デバイス、タッチスクリーン、スピーカなどのうち一または複数を含んでいてもよい。
以下の例はさらに別の実施形態に関する。実施例1は装置を含み、該装置は、 コンピューティングデバイスのブートプロセスにおけるモジュール実行のシーケンスを示す、コンピューティングデバイスのモジュール実行シーケンス決定ロジックを有し、モジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する。
実施例2は実施例1の装置を含み、前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する。
実施例3は実施例2の装置を含み、前記複数のコンピューティングデバイスはラックシステムにより結合される。
実施例4は実施例1の装置を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例5は実施例1の装置を含み、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する。
実施例6は実施例1の装置を含み、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する。
実施例7は実施例1の装置を含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例8は実施例1の装置を含み、前記モジュールはUnified Extensible Firmware Interfaceを介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例9は実施例1ないし8いずれかの装置を含み、前記ロジック、メモリ、及び一以上のプロセッサコアは単一の集積回路デバイス上にある。
実施例2は実施例1の装置を含み、前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する。
実施例3は実施例2の装置を含み、前記複数のコンピューティングデバイスはラックシステムにより結合される。
実施例4は実施例1の装置を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例5は実施例1の装置を含み、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する。
実施例6は実施例1の装置を含み、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する。
実施例7は実施例1の装置を含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例8は実施例1の装置を含み、前記モジュールはUnified Extensible Firmware Interfaceを介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例9は実施例1ないし8いずれかの装置を含み、前記ロジック、メモリ、及び一以上のプロセッサコアは単一の集積回路デバイス上にある。
実施例10は方法を含み、該方法は、コンピューティングデバイスのブートプロセスにおけるモジュール実行シーケンスを示す、コンピューティングデバイスのモジュール実行シーケンスを決定するステップを有し、モジュール実行シーケンスを決定するステップは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する。
実施例11は実施例10の方法を含み、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定するステップをさらに有する。
実施例12は実施例11の方法を含み、前記複数のコンピューティングデバイスはラックシステムにより結合される。
実施例13は実施例10の方法を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例14は実施例10の方法を含み、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づいて前記モジュール実行シーケンスを決定するステップをさらに有する。
実施例15は実施例10の方法を含み、一以上のセンサが、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出するステップをさらに有する。
実施例16は実施例10の方法を含み、前記モジュールが、BIOS(Basic Input Output System)を介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する。
実施例17は実施例10の方法を含み、前記モジュールが、Unified Extensible Firmware Interfaceを介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する。
実施例11は実施例10の方法を含み、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定するステップをさらに有する。
実施例12は実施例11の方法を含み、前記複数のコンピューティングデバイスはラックシステムにより結合される。
実施例13は実施例10の方法を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例14は実施例10の方法を含み、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づいて前記モジュール実行シーケンスを決定するステップをさらに有する。
実施例15は実施例10の方法を含み、一以上のセンサが、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出するステップをさらに有する。
実施例16は実施例10の方法を含み、前記モジュールが、BIOS(Basic Input Output System)を介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する。
実施例17は実施例10の方法を含み、前記モジュールが、Unified Extensible Firmware Interfaceを介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する。
実施例18はコンピューティングシステムを含み、該コンピューティングシステムは、一以上の中央処理ユニット(CPU)コアと、一以上のグラフィックスプロセッサユニット(GPU)コアであって、一以上のCPUまたはGPUコアは電源ユニットから電力を供給される、一以上のグラフィックスプロセッサユニット(GPU)コアと、前記コンピューティングデバイスのブートプロセス中にモジュール実行シーケンスを示す、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックであって、前記電源ユニットは前記コンピューティングデバイスのブートプロセス中に前記コンピューティングデバイスの各モジュールに電力を供給する、ロジックとを有し、モジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する。
実施例19は実施例18のシステムを含み、前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する。
実施例20は実施例18のシステムを含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例21は実施例18のシステムを含み、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する。
実施例22は実施例18のシステムを含み、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する。
実施例23は実施例18のシステムを含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例19は実施例18のシステムを含み、前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する。
実施例20は実施例18のシステムを含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例21は実施例18のシステムを含み、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する。
実施例22は実施例18のシステムを含み、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する。
実施例23は実施例18のシステムを含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例24は、実施例10ないし17いずれかに示した方法を実行する手段を有する装置を含む。
実施例25は、実行されたとき、実施例10ないし17いずれかに示した方法を実装する機械読み取り可能命令を含む機械読み取り可能記憶媒体を含む。
実施例26は、プロセッサで実行されたとき、一以上の動作を実行するよう前記プロセッサを設定する一以上の命令を含むコンピュータ読み取り可能媒体を含み、該一以上の動作は、コンピューティングデバイスのブートプロセスにおけるモジュール実行シーケンスを示す、コンピューティングデバイスのモジュール実行シーケンスを決定し、モジュール実行シーケンスを決定することは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する。
実施例27は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定するようにする一以上の命令をさらに有する。
実施例28は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例29は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づいて前記モジュール実行シーケンスを決定するようにする一以上の命令をさらに有する。
実施例30は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、一以上のセンサが、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出するようにする一以上の命令をさらに有する。
実施例31は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記モジュールが、BIOS(Basic Input Output System)を介して前記ブートプロセス中に実行シーケンス修正させるようにする一以上の命令をさらに有する。
実施例32は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記モジュールが、Unified Extensible Firmware Interfaceを介して前記ブートプロセス中に実行シーケンス修正させるようにする一以上の命令をさらに有する。
実施例33は実施例1ないし6または8いずれかの装置を含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例27は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定するようにする一以上の命令をさらに有する。
実施例28は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る。
実施例29は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づいて前記モジュール実行シーケンスを決定するようにする一以上の命令をさらに有する。
実施例30は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、一以上のセンサが、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出するようにする一以上の命令をさらに有する。
実施例31は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記モジュールが、BIOS(Basic Input Output System)を介して前記ブートプロセス中に実行シーケンス修正させるようにする一以上の命令をさらに有する。
実施例32は実施例26に記載のコンピュータ読み取り可能媒体を含み、前記プロセッサで実行されたとき、前記プロセッサが一以上の動作をして、前記モジュールが、Unified Extensible Firmware Interfaceを介して前記ブートプロセス中に実行シーケンス修正させるようにする一以上の命令をさらに有する。
実施例33は実施例1ないし6または8いずれかの装置を含み、前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る。
様々な実施形態において、例えば図1−6を参照してここに説明した動作は、ハードウェア(例えば、ロジック回路)、ソフトウェア、ファームウェア、またはこれらの組み合わせとして実装でき、コンピュータプログラム製品として提供することもでき、これには、ここで説明した方法を実行するようにコンピュータをプログラムするのに使われる命令(またはソフトウェア手順)を格納した、有体の(例えば、一時的でない)機械読み取り可能またはコンピュータ読み取り可能な媒体を含む。機械読み取り可能媒体は、図1−6を参照して説明したような(例えば、ROM、RAM、フラッシュメモリ、ハードドライブ、固体ドライブなどを含む)記憶デバイスを含み得る。
また、かかるコンピュータ読み取り可能媒体は、コンピュータプログラム製品としてダウンロード可能であってもよい。この場合、プログラムは、通信リンク(例えば、バス、モデム、又はネットワーク接続)を介して、リモートコンピュータ(例えば、サーバ)から要求コンピュータ(例えば、クライアント)に、搬送はその他の伝搬媒体に化体されたデータ信号により転送できる。
本明細書において「一実施形態」とは、その実施形態に関して説明する機能、構造、及び/又は特徴が少なくとも1つの実施形態に含まれることを意味している。本明細書ではいろいろな箇所で「一実施形態とは」と記載するが、同じ実施形態を指すものであってもなくてもよい。
また、以下の説明及び請求項において、「coupled」と「connected」との用語及びその変化形を用いることがある。幾つかの実施形態では、「接続された」という用語を用いて、2以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された(coupled)」という用語は、2つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
また、かかるコンピュータ読み取り可能媒体は、コンピュータプログラム製品としてダウンロード可能であってもよい。この場合、プログラムは、通信リンク(例えば、バス、モデム、又はネットワーク接続)を介して、リモートコンピュータ(例えば、サーバ)から要求コンピュータ(例えば、クライアント)に、搬送はその他の伝搬媒体に化体されたデータ信号により転送できる。
本明細書において「一実施形態」とは、その実施形態に関して説明する機能、構造、及び/又は特徴が少なくとも1つの実施形態に含まれることを意味している。本明細書ではいろいろな箇所で「一実施形態とは」と記載するが、同じ実施形態を指すものであってもなくてもよい。
また、以下の説明及び請求項において、「coupled」と「connected」との用語及びその変化形を用いることがある。幾つかの実施形態では、「接続された」という用語を用いて、2以上の要素が互いに物理的または電気的に直接的に接触していることを示している。「結合された(coupled)」という用語は、2つ以上の要素が物理的または電気的に直接的に接触していることを示している。しかし、「結合された」という用語は、複数の要素が互いに直接的には接触してないが、互いに協働または相互作用することを示している。
よって、実施形態を構造的特徴及び/又は方法動作の具体的な言葉で説明したが、言うまでもなく、本発明は説明した具体的な特徴や動作に限定されない。むしろ、具体的な特徴や動作は、請求した主題を実施する形式例として開示したものである。
Claims (26)
- コンピューティングデバイスのブートプロセスにおけるモジュール実行シーケンスを示す、コンピューティングデバイスのモジュール実行シーケンス決定ロジックを有し、
モジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する、
装置。 - 前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する、
請求項1に記載の装置。 - 前記複数のコンピューティングデバイスはラックシステムにより結合される、
請求項2に記載の装置。 - 前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項1に記載の装置。 - 前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する、
請求項1に記載の装置。 - 前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する、請求項1に記載の装置。
- 前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項1に記載の装置。 - 前記モジュールはUnified Extensible Firmware Interfaceを介して前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項1に記載の装置。 - 前記ロジック、メモリ、及び一以上のプロセッサコアは単一の集積回路デバイス上にある、請求項1ないし8いずれか一項に記載の装置。
- コンピューティングデバイスのブートプロセスにおけるモジュール実行シーケンスを示す、コンピューティングデバイスのモジュール実行シーケンスを決定するステップを有し、
モジュール実行シーケンスを決定するステップは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する、
方法。 - 複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定するステップをさらに有する、
請求項10に記載の方法。 - 前記複数のコンピューティングデバイスはラックシステムにより結合される、
請求項11に記載の方法。 - 前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項10に記載の方法。 - 前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づいて前記モジュール実行シーケンスを決定するステップをさらに有する、
請求項10に記載の方法。 - 一以上のセンサが、前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出するステップをさらに有する、請求項10に記載の方法。
- 前記モジュールが、BIOS(Basic Input Output System)を介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する、請求項10に記載の方法。
- 前記モジュールが、Unified Extensible Firmware Interfaceを介して前記ブートプロセス中に実行シーケンス修正させるステップをさらに有する、
請求項10に記載の方法。 - コンピューティングシステムであって、
一以上の中央処理ユニット(CPU)コアと、
一以上のグラフィックスプロセッサユニット(GPU)コアであって、一以上のCPUまたはGPUコアは電源ユニットから電力を供給される、一以上のグラフィックスプロセッサユニット(GPU)コアと、
前記コンピューティングデバイスのブートプロセス中にモジュール実行シーケンスを示す、前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックであって、前記電源ユニットは前記コンピューティングデバイスのブートプロセス中に前記コンピューティングデバイスの各モジュールに電力を供給する、ロジックとを有し、
モジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスのブートプロセスにおける前記コンピューティングデバイスの各モジュールの消費電力とタイムラインとに少なくとも部分的に基づいて、前記モジュール実行シーケンスを決定する、
コンピューティングシステム。 - 前記モジュール実行シーケンス決定ロジックは、複数のコンピューティングデバイスのブートプロセスにおいて、前記複数のコンピューティングデバイスの各々の各モジュールの消費電力とタイムラインデータとに基づき、前記複数のコンピューティングデバイスの複数のモジュール実行シーケンスを決定する、
請求項18に記載のシステム。 - 前記モジュールは前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項18に記載のシステム。 - 前記コンピューティングデバイスのモジュール実行シーケンス決定ロジックは、前記コンピューティングデバイスの各モジュールの一以上の推測的開始点に基づき前記モジュール実行シーケンスを決定する、
請求項18に記載のシステム。 - 前記ブートプロセス中に前記消費電力データとタイムラインデータとを検出する一以上のセンサをさらに有する、請求項18に記載のシステム。
- 前記モジュールはBIOS(Basic Input Output System)を介して前記ブートプロセス中に修正された実行シーケンスを有し得る、
請求項18に記載のシステム。 - 請求項10ないし17いずれか一項に記載の方法を実行する手段を有する装置。
- コンピュータに、請求項10ないし17いずれか一項に記載の方法を実行させるコンピュータプログラム。
- 請求項25に記載のコンピュータプログラムを記憶した機械読み取り可能記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/084441 WO2015042864A1 (en) | 2013-09-27 | 2013-09-27 | Optimizing boot-time peak power consumption for server/rack systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016529626A true JP2016529626A (ja) | 2016-09-23 |
Family
ID=52741808
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016537076A Pending JP2016529626A (ja) | 2013-09-27 | 2013-09-27 | サーバ/ラックシステムのブート時ピーク消費電力の最適化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20150220134A1 (ja) |
EP (1) | EP3049889B1 (ja) |
JP (1) | JP2016529626A (ja) |
KR (1) | KR20160034965A (ja) |
CN (1) | CN105492997B (ja) |
WO (1) | WO2015042864A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI502340B (zh) * | 2014-01-08 | 2015-10-01 | Wistron Corp | 存放空間管理系統及其存放空間管理之方法 |
US9336106B2 (en) * | 2014-04-17 | 2016-05-10 | Cisco Technology, Inc. | Dynamically limiting bios post for effective power management |
US20160116974A1 (en) * | 2014-10-23 | 2016-04-28 | Qualcomm Incorporated | Methods and systems to boot up smartphones in ultra low power modes |
TWI608337B (zh) * | 2015-03-02 | 2017-12-11 | 緯創資通股份有限公司 | 在機架式系統內進行電源管理之方法 |
US10545567B2 (en) | 2017-01-06 | 2020-01-28 | International Business Machines Corporation | Method and apparatus for power savings in communications equipment |
CN107239274A (zh) * | 2017-05-03 | 2017-10-10 | 深圳市同泰怡信息技术有限公司 | 一种服务器随机启动的方法及其服务器 |
CN109901957B (zh) * | 2017-12-09 | 2020-12-25 | 英业达科技有限公司 | 以可扩展固件接口进行内存测试的计算装置及其方法 |
CN108845834A (zh) * | 2018-06-01 | 2018-11-20 | 上海兆芯集成电路有限公司 | 计算机装置 |
US11853768B2 (en) * | 2022-04-22 | 2023-12-26 | Snap Inc. | Lockscreen for head-worn augmented reality device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030185058A1 (en) * | 2002-03-29 | 2003-10-02 | Leclerg Frank E. | Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods |
US20080201595A1 (en) * | 2007-01-11 | 2008-08-21 | Pacific Star Communications, Inc. | Intelligent power control |
US20130254578A1 (en) * | 2012-03-23 | 2013-09-26 | Hon Hai Precision Industry Co., Ltd. | Computing device and method for managing servers in data center |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI220978B (en) * | 2002-08-01 | 2004-09-11 | Hon Hai Prec Ind Co Ltd | A controlling circuit and method for powering on a plurality of IDE devices |
US7479714B1 (en) * | 2006-11-13 | 2009-01-20 | Sprint Communications Company L.P. | Apparatus and method for multiple-module electronic system power control |
US8161309B2 (en) * | 2008-02-19 | 2012-04-17 | International Business Machines Corporation | Apparatus, system, and method for controlling power sequence in a blade center environment |
US7496772B1 (en) * | 2008-03-04 | 2009-02-24 | International Business Machines Corporation | Method for estimating total power requirement in a computer system |
TWI407275B (zh) * | 2010-09-16 | 2013-09-01 | Nat Univ Tsing Hua | 電源啓動次序控制系統及其控制方法 |
TW201321949A (zh) * | 2011-11-23 | 2013-06-01 | Inventec Corp | 電源開機控制方法及其系統 |
-
2013
- 2013-09-27 KR KR1020167004134A patent/KR20160034965A/ko not_active Application Discontinuation
- 2013-09-27 EP EP13894409.5A patent/EP3049889B1/en active Active
- 2013-09-27 US US14/125,834 patent/US20150220134A1/en not_active Abandoned
- 2013-09-27 WO PCT/CN2013/084441 patent/WO2015042864A1/en active Application Filing
- 2013-09-27 CN CN201380079192.3A patent/CN105492997B/zh active Active
- 2013-09-27 JP JP2016537076A patent/JP2016529626A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030185058A1 (en) * | 2002-03-29 | 2003-10-02 | Leclerg Frank E. | Method and apparatus providing an interface to allow physical memory to be initialized using firmware/hardware methods |
US20080201595A1 (en) * | 2007-01-11 | 2008-08-21 | Pacific Star Communications, Inc. | Intelligent power control |
US20130254578A1 (en) * | 2012-03-23 | 2013-09-26 | Hon Hai Precision Industry Co., Ltd. | Computing device and method for managing servers in data center |
Also Published As
Publication number | Publication date |
---|---|
EP3049889B1 (en) | 2020-06-10 |
KR20160034965A (ko) | 2016-03-30 |
US20150220134A1 (en) | 2015-08-06 |
EP3049889A1 (en) | 2016-08-03 |
CN105492997A (zh) | 2016-04-13 |
WO2015042864A1 (en) | 2015-04-02 |
CN105492997B (zh) | 2019-08-06 |
EP3049889A4 (en) | 2017-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2016529626A (ja) | サーバ/ラックシステムのブート時ピーク消費電力の最適化 | |
US9535606B2 (en) | Virtual serial presence detect for pooled memory | |
US20130290762A1 (en) | Methods and apparatuses to wake computer systems from sleep states | |
US9804656B2 (en) | Micro-architectural energy monitor event-assisted temperature sensing | |
US10331593B2 (en) | System and method for arbitration and recovery of SPD interfaces in an information handling system | |
TWI546709B (zh) | 基於使用者存在檢測的可變觸控螢幕掃描速率之技術 | |
US10372639B2 (en) | System and method to avoid SMBus address conflicts via a baseboard management controller | |
US9658863B2 (en) | Information processing apparatus and control method therefor | |
US9818458B1 (en) | Techniques for entry to a lower power state for a memory device | |
US10289339B2 (en) | System and method for storing modified data to an NVDIMM during a save operation | |
KR101813480B1 (ko) | 하드웨어 기반 디바이스간 리소스 공유 | |
KR20140002788A (ko) | 커서 제어 방법 | |
KR101707096B1 (ko) | 일반 호스트 기반 제어기 레이턴시 방법 및 장치 | |
US8806254B2 (en) | System and method for creating and dynamically maintaining system power inventories | |
TW201423400A (zh) | 用於超管理器系統之針對雙直列記憶體模組節能的系統與方法 | |
US9984016B2 (en) | Systems and methods for hardware arbitration of a communications bus | |
KR102549070B1 (ko) | 휘발성 메모리에 대한 극성 기반 데이터 트랜스퍼 기능 | |
US20160283338A1 (en) | Boot operations in memory devices | |
JP5881198B2 (ja) | 優先度ベースのインテリジェントプラットフォームの受動的熱管理 | |
US11669429B2 (en) | Configuration cluster-based performance optimization of applications in an information handling system (IHS) | |
WO2017049594A1 (en) | Efficient memory activation at runtime | |
US10585673B2 (en) | Chipset reconfiguration based on device detection | |
US20160092287A1 (en) | Evidence-based replacement of storage nodes | |
TW201543367A (zh) | 用於電子裝置之記憶卡連接器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161122 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20170217 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20170905 |