IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2023-543778ディスアグリゲーテッド・コンピューター・システム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2023-10-18
(54)【発明の名称】ディスアグリゲーテッド・コンピューター・システム
(51)【国際特許分類】
   G06F 1/20 20060101AFI20231011BHJP
   H05K 7/20 20060101ALI20231011BHJP
【FI】
G06F1/20 D
G06F1/20 A
G06F1/20 C
H05K7/20 Q
H05K7/20 M
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023518942
(86)(22)【出願日】2021-06-10
(85)【翻訳文提出日】2023-05-22
(86)【国際出願番号】 US2021036702
(87)【国際公開番号】W WO2022066249
(87)【国際公開日】2022-03-31
(31)【優先権主張番号】17/033,322
(32)【優先日】2020-09-25
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】アリッサ,フサム・エイ
(72)【発明者】
【氏名】マヌサキス,イオアニス
(72)【発明者】
【氏名】ベラディ,クリスチャン・エル
(72)【発明者】
【氏名】フォントーラ,マルコス・フェリペ
(72)【発明者】
【氏名】ビアンチーニ,リカルド・ジー
(72)【発明者】
【氏名】サンダース,ウィンストン・アレン
(72)【発明者】
【氏名】ショー,マーク・エドワード
【テーマコード(参考)】
5E322
【Fターム(参考)】
5E322AA09
5E322AB10
5E322DB12
(57)【要約】
この論述は、ディスアグリゲーテッド・コンピューティングに関する。一例では、複数の二相液浸タンクを監視することができる。個々の二相液浸タンクは、1つのコンポーネント・タイプのコンポーネントを複数個収容することができる。この例は、仮想機械についての要求を受け、仮想機械要求をサポートするために、個々の二相液浸タンクから、一緒に動作する複数組のコンポーネントを割り当てることができる。
【選択図】 図1
【特許請求の範囲】
【請求項1】
システムであって、
第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、第2コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第1液浸タンクであって、前記第1コンピューティング・リソース・コンポーネント・タイプの動作温度範囲内に沸点を有する第1液体を含む第1液浸タンクと、
前記第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、前記第1コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第2液浸タンクであって、前記第2コンピューティング・リソース・コンポーネント・タイプの動作温度範囲内に沸点を有する第2液体を含む第2液浸タンクと、
前記第1液浸タンク内にある前記第1コンピューティング・リソース・コンポーネント・タイプの前記複数のコンポーネント、および、前記第2液浸タンク内にある前記第2コンピューティング・リソース・コンポーネント・タイプの前記複数のコンポーネントに通信可能に結合された通信ハブと
を備えるシステム。
【請求項2】
請求項1に記載のシステムであって、前記第1コンピューティング・リソース・コンポーネント・タイプは中央処理ユニットを含み、前記第2コンピューティング・リソース・コンポーネント・タイプはメモリーを含む、システム。
【請求項3】
請求項2に記載のシステムであって、グラフィカル処理ユニットを含む第3コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第3液浸タンクを更に備え、ストレージを含む第4コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第4液浸タンクを更に備えるシステム。
【請求項4】
請求項3に記載のシステムであって、アクセレレーターを含む第5コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第5液浸タンクを更に備え、フラッシュ・メモリーを含む第6コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第6液浸タンクを更に備えるシステム。
【請求項5】
請求項4に記載のシステムであって、オーバークロック・プロセッサーを含む第7コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第7液浸タンクを更に備えるシステム。
【請求項6】
請求項5に記載のシステムであって、前記第1液浸タンク、前記第2液浸タンク、前記第3液浸タンク、前記第4液浸タンク、前記第5液浸タンク、前記第6液浸タンク、および、前記第7液浸タンクは、前記通信ハブの周囲に放射状に配置される、システム。
【請求項7】
請求項5に記載のシステムであって、前記第1液浸タンク、前記第2液浸タンク、前記第3液浸タンク、前記第4液浸タンク、前記第5液浸タンク、前記第6液浸タンク、および、前記第7液浸タンクは、前記通信ハブから実質的に等しい距離に配置される、システム。
【請求項8】
請求項5に記載のシステムであって、前記第1液浸タンク、前記第2液浸タンク、前記第3液浸タンク、前記第4液浸タンク、前記第5液浸タンク、前記第6液浸タンク、および、前記第7液浸タンクは、全て4立方フィートの容積内に収容される、システム。
【請求項9】
請求項1に記載のシステムであって、前記通信ハブと、前記第1液浸タンク内にある第1コンピューティング・リソース・コンポーネント・タイプの前記複数のコンポーネントとの間を延びる第1通信線を更に備え、前記第1通信線の長さは1フィート未満であり、前記通信ハブと、前記第2液浸タンク内にある第2コンピューティング・リソース・コンポーネント・タイプの前記複数のコンポーネントとの間を延びる第2通信線を更に備え、前記第2通信線の長さは1フィート未満である、システム。
【請求項10】
請求項1に記載のシステムであって、前記通信ハブは、前記第1液浸タンクと前記第2液浸タンクとの間の中央に配置された他の液浸タンク内に配置される、システム。
【請求項11】
デバイス実装方法であって、
第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第1二相液浸タンクと、第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第2二相液浸タンクとを監視するステップと、
第1仮想機械要求と第2仮想機械要求とを受けるステップと、
前記第1仮想機械要求に対して、前記第1二相液浸タンクから第1組のコンポーネント、および、前記第2二相液浸タンクから第1組のコンポーネントを動的に割り当て、前記第2仮想機械要求に対して、前記第1二相液浸タンクから第2組のコンポーネント、および、前記第2二相液浸タンクから第2組のコンポーネントを動的に割り当てるステップと
を含む方法。
【請求項12】
請求項11に記載の方法であって、動的に割り当てる前記ステップは、前記第2二相液浸タンクにおける割り当てを変更することなく、前記第1二相液浸タンクにおいて、個々の欠陥のあるコンポーネントを置き換えるステップを含む、方法。
【請求項13】
請求項11に記載の方法であって、動的に割り当てる前記ステップは、複数のパラメーターに関して、前記第1二相液浸タンクにおける個々のコンポーネントを管理するステップを含む、方法。
【請求項14】
請求項13に記載の方法であって、前記第1二相液浸タンクから、前記複数のパラメーターのうちの少なくとも一部を検知するステップを更に含む方法。
【請求項15】
請求項13に記載の方法であって、管理する前記ステップは、前記個々のコンポーネントに対する設計仕様よりも高いレートで、前記個々のコンポーネントを駆動するステップを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] データーセンター、またはサーバー・ファームのような大規模コンピューティング・デバイスは、所望の機能または作業負荷を達成するために、数百台または数千台もの個別コンピューター(discrete computer)またはデバイスを含むことが多い。
【背景技術】
【0002】
このようなシナリオでは、デバイスのコンポーネントは、予測した作業負荷に合わせて選択され、調和が取られる(例えば、今後の必要性に合わせるように、個々のデバイス毎にハードウェア・コンポーネントを選択する)。しかしながら、実際に遭遇する作業負荷は、予測した作業負荷とは異なる場合もあり、このように不釣り合いな個別デバイスは過小利用されるおそれがある。更に、従前よりこれらの個別デバイスは、個別デバイスによって発生する熱負荷を除去するための十分な空気流を供給する巨大な空調システムを有する広大な建物に収容されてきた。
【発明の概要】
【0003】
本発明の概念は、これらおよびその他の問題に取り組むことができる。
【図面の簡単な説明】
【0004】
[0002] 添付図面は、本発明において伝える概念の実施態様を示す。図示する実施態様の特徴は、添付図面と併せて展開される以下の説明を参照することによって、一層容易に理解することができる。種々の図面における同様の参照番号は、可能である場合はどこでも、同様のエレメントを示すために使用される。場合によっては、同様のエレメントを区別するために、参照番号の後ろに括弧書き(parenthetical)を利用する。括弧書きを伴わずに参照番号を使用する場合、当該エレメントが包括的であることを意味する。更に、各参照番号の左端の数値は、その参照番号が最初に導入された図および関連する論述を伝える。
図1】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図2】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図3A】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図3B】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図4】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図5】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。
図6A】本概念のある実施態様によるシステム例の立面図を示す。
図6B】本概念のある実施態様によるシステム例の立面図を示す。
図6C】本概念のある実施態様によるシステム例の立面図を示す。
図6D】本概念のある実施態様によるシステム例の立面図を示す。
図6E】本概念のある実施態様によるシステム例の立面図を示す。
図7A】本概念のある実施態様によるシステム例の立面図を示す。
図7B】本概念のある実施態様によるシステム例の立面図を示す。
図7C】本概念のある実施態様によるシステム例の立面図を示す。
図8】本概念のある実施態様によるディスアグリゲーテッド・システムの一例の斜視図を示す。図を示す。
図9】ある実施態様による本概念の一部を実現することができるディスアグリゲーション方法例のフローチャートを示す。
図10】ある実施態様による本概念の一部を実現することができるディスアグリゲーション方法例のフローチャートを示す。
【発明を実施するための形態】
【0005】
[0006] 本概念は、データー・ウェアハウスのような、大規模コンピューティング・システムに関する。従前からのコンピューティング・システムは、期待される作業負荷を遂行するために、データーセンターにおいて数百または数千台もの個別コンピューター またはデバイスを採用することができる。各個別デバイスは、計算機能を達成するために(例えば、期待される作業負荷を実行するために)、CPU、GPU、メモリー、ストレージ等のような、複数のコンピューティング・コンポーネントを要する可能性があり、これらは物理的に筐体内に配置されることが多い。従前より、このような場所には数千台もの個別デバイスが採用され、これらの個別デバイスを冷却するために、この場所に外気が送り込まれる。この構成では、計算密度が比較的低くなる。更に、この空気の全てを動かすには、大量のエネルギーを必要とし、データーセンターのエネルギー使用に大きく影響し、データーセンターの全エネルギー使用量を、実際にコンピューティングに使用されるエネルギーで除算した比率として測定すると、エネルギー効率が低下する。
【0006】
[0007] 前述のように、これら従前からの構成では、各個別デバイス(discrete computer)は、計算機能を実行するために、プロセッサー、メモリー、ストレージ等のような、様々なコンピューティング・コンポーネントを収容することが多い。本概念は、デバイス中心構成から共同管理構成(pooled configuration)(例えば、プール毎に物理的に1つのコンポーネント・タイプに分類されたコンポーネントの集合体即ちプール)へのコンピューティング・コンポーネントのディスアグリゲーション(disaggregation)を伴う。このような場合、複数の同様のコンポーネントを物理的に互いに近接して位置付け、それらの特性に基づいて一緒に管理することができる。実例をあげると、複数の中央処理ユニット(CPU)を、これらの特性に基づいて、一緒に位置付けて管理することができ、複数のメモリーもこれらの特性に基づいて一緒に位置付けて管理することができる。通信ハブを含む高速ネットワークおよび/または通信ハブに結合された高速ネットワークによって、これらのコンポーネントを相互接続することができる。このようなディスアグリゲーテッド手法の1つの課題は、高い計算密度を達成することである。本概念は、従前からの個別デバイス(distinct device)の外気冷却よりも低いエネルギー使用で効果的な冷却を行いつつ、高密度化を促進する冷却技法を採用することができる。
【0007】
[0008] 本概念は、個々の冷却システム各々におけるコンポーネントの特性に合わせて設計された(tailor)冷却技法を提供する(supply)ことができる。場合によっては、本概念は大量の熱を発生するコンポーネントのプールに対する技法として、液浸を採用することができる。二相液浸冷却は、高熱発生コンポーネントには特に有効な液浸技法である。1つのタイプのコンピューティング・コンポーネントを一緒に管理することによって、そのコンピューティング・コンポーネント・タイプの特性に合わせて、冷却技法を選択することができる。更に、これらの共同管理コンポーネントは、個別コンピューターによって得ることができるよりも高い計算密度で配列することができる。また、タイプ毎にコンポーネントを一緒に纏める(grouping)ことにより、従前からのデバイス中心構成では利用できない管理の選択肢が可能になる。これらおよびその他の態様について以下に説明する。
【0008】
[0009] 前置きの図1は、ディスアグリゲーテッド・システムの一例100Aを示す。この場合、ディスアグリゲーテッド・システムは、複数のコンピューティング・リソース・コンポーネント・タイプ(以下「コンポーネント・タイプ」)102を含む。図示する構成では、4つのコンポーネント・タイプ102(1)~102(4)がある。個々のコンポーネント・タイプ102には専用の冷却システム104と関連付けることができる。この場合、冷却システムは液浸タンク106(1)~106(4)を伴う。他の冷却システムの実施態様についても、以下で図2に関して説明する。
【0009】
[00010] 図1の実施態様では、個々の液体108(1)~108(4)は液浸タンク106(1)~106(4)内に配置されている。個々のコンポーネント・タイプ102の複数のコンポーネント110を冷却システム104内(例えば、この場合液体108内)に収容することができる。この実施態様では、液浸タンクは二相液浸タンクである。二相液浸タンクでは、液体108は、それぞれのコンポーネントの特性に合わせて選択される沸点を有する、電気絶縁性および非腐食性の液体である場合が多い。
【0010】
[00011] 個々の液浸タンク106内に入っているコンポーネント・タイプ102の特性に基づいて、個々の液浸タンク106に合わせて液体108を選択することができる。実例をあげると、コンポーネント・タイプの指定動作温度未満または設計最大動作温度未満というような、動作温度範囲内に沸点を有する液体108を選択することができる。したがって、コンポーネント110の通常動作が、このコンポーネントに近接する液体108を沸騰させる(例えば、液相から気相に変化させる)ことになる。つまり、液浸タンク106は二相冷却システムとして機能することができる。更に、液相から気相への相変化は、気体が液体中を上昇しコンポーネントから離れるに連れて、熱が発熱コンポーネント110から離れる方向への熱運動を伴う。このように、本概念は、システムにおいて熱を積極的に移動させるために、入力エネルギーのみに頼るのではなく、沸騰に伴う熱運動を利用することができる。
【0011】
[00012] ある実施態様では、コンポーネント110は、発熱が多い程、発熱が比較的少ない他の液浸タンクにおける液体よりも低い沸点を有する液体108と組み合わせる(paired with)とよい。沸点が低い程、沸騰が多くなり(more boiling)、したがって、沸騰相変化によってコンポーネントから多くの熱を除去することができる。つまり、1つの観点からは、本概念が提供する冷却解決策は、所与の冷却システムにおけるコンポーネントに基づいてカスタム化することができ、および/または沸騰に伴う熱運動を利用することができるので、強制冷媒移動に伴うエネルギー使用は、従前からの強制外気データーセンターと比較すると、著しく減少する。タンク内に複数の異なるコンポーネント・タイプがあると、これらと同じ利点は得られない。何故なら、タンクにおいて最もエネルギーに敏感なコンポーネントに合わせて、タンクを管理しなければならないからである。
【0012】
[00013] 前述のように、個々のコンポーネント・タイプ102毎に、複数のコンポーネント110を個々の液浸タンク106に配置することができる。(図面ページ上の混乱を回避するために、コンポーネント毎に全ての実例を具体的に示すことはないが、各液浸タンク106内において少なくとも1つのコンポーネント110を表示する。)図示する実施態様では、各液浸タンク106に8つのコンポーネントを示す。多くの実施態様では、冷却システム104毎のコンポーネント数(例えば、液浸タンク106毎)は、液浸タンク106当たり数百または数千個までも、というように、遙かに多い可能性がある。このような一例について、以下で図5に関して更に詳しく論ずる。
【0013】
[00014] 図1の本例における説明に限って言えば、第1コンポーネント・タイプ102(1)は中央処理ユニット(CPU)であるとして明示することができ、第2コンポーネント・タイプ102(2)はグラフィカル処理ユニット(GPU)であるとして明示することができ、第3コンポーネント・タイプ102(3)はメモリーであるとして明示することができ、第4コンポーネント・タイプ102(4)はストレージであるとして明示することができる。これは、コンポーネント・タイプ102の一例であり、他のコンポーネント・タイプの例については以下で説明する。
【0014】
[00015] コンポーネント110の動作は、個々の二相液浸タンク106内にある液体108を沸騰させる(液体から気体への相変化を起こす)ことができる。熱い気体は、液体中を上昇して、液浸タンクの上部にある液上空間に達する。この時点で、熱い気体はコンデンサー112と遭遇することができる。熱は気体からコンデンサーに転移することができるので、気体は冷却して沸点未満に戻り、気体は液体に逆変化し、液体108の表面上に「降り注ぐ」(rain back)。コンデンサー112は、再循環流体を収容することができ、閉ループで動作することができる。閉ループは、液浸タンク106から離れるように熱を移送し(例えば、ディスアグリゲーテッド・システム100Aの外部に)、次いで液浸タンク106に戻りこのプロセスを繰り返すことができる。
【0015】
[00016] 種々の液体は、二相液浸タンクにおける使用に適した特性を有する。適した液体は、電気的に絶縁性であり、その上非腐食性である場合が多い。しかしながら、腐食の問題を解決させる(mediate)ために、コンポーネント110には種々のコーティングを被着させ、種々の処置を適用する場合がある。フルオロケミカルは、電気的に絶縁性であり、非腐食性であり、適した沸点を有するというような特性を有する液体の一部類例を示す(provide)。フルオロケミカルの市販品例には、とりわけ、3M Corp(スリーエム社)が提供するNovecブランドの人工流体(engineered fluid)が含まれる。
【0016】
[00017] 種々の液浸タンク106のコンポーネント110は、コンポーネント110と通信ハブ116との間を延びる通信線114(全てが示されているのではない)によって表された高速ネットワークによって、通信可能に結合することができる。通信ハブ116上に配置された、または通信ハブ116に結合された仮想機械(VM)アロケーター118が、コンポーネント110を管理することができる。この態様については、以下で図5に関して更に詳しく論ずる。
【0017】
[00018] 前述のように、既存のデーターセンターは、特定の要求(demand)を満たすように設計されたコンポーネントを、指定された組み合わせで収容する、数百台または数千台もの個別デバイスで溢れている。このコンポーネントの指定された組み合わせは、最少管理単位(SKU:stock keeping unit)または他の仕様定義に準拠すると言うことができる。実例をあげると、データーセンター1000内部において、デバイスは、SKUにおいて定められたコンポーネント(および他のSKUに準拠する他のデバイス)を指定された組み合わせで有するのでもよい。例えば、コンポーネントは、期待需要を満たすために、「X」仕様を有するプロセッサーと、「Y」仕様を有するメモリーとを伴うことができる。
【0018】
[00019] 続いて、データーセンターは、作業負荷を遂行することを仮想機械に求める要求を受けることができる。しかしながら、要求された仮想機械の構成が、SKUによって定められた構成と一致しない場合もある。実例をあげると、要求された仮想機械の方が、少ないプロセッサー容量と多いメモリー容量とを伴うという一例もあり得る。このような構成では、別個デバイス毎に十分なメモリーが不足することによって、データーセンターにおけるデバイスの過小利用を生ずる可能性があり、および/または要求された仮想機械を既存の個別デバイスに一致させる試みを行うに連れて、データーセンター全体においてフラグメンテーションを発生させる可能性がある。追加のデバイスを、要求された構成で、発注すればよいが、これらが設置される時点までに、要求が再度ずれてしまっているおそれがある。この問題は、個々のデバイス構成の過剰プロビジョニングを発生させて、使用されない無駄なデバイスで溢れる事態に至る可能性があり、または個々の構成の過小プロビジョニングを発生させて、デバイスの不足に至り、チームが、過密スケジュールで、更に多くの専用デバイスを慌てて購入し設置する事態に陥る可能性がある。
【0019】
[00020] 本発明の過剰ディスアグリゲーション概念(extreme disaggregation concepts)は、SKUを仮想化することにより、フラグメンテーションの無駄および不足を削減し、潜在的に排除することができる。要求された仮想機械と正確に一致させるために、冷却システム104の各々からのコンポーネント110によって、仮想SKUを形成する(accomplish)ことができる。つまり、各冷却システム104からの個々のコンポーネント110を、仮想SKUにおいて定められた通りに割り当てることができ(例えば、要求された仮想機械によって定められた通りに)、他のコンポーネントは他のSKUに利用可能であり続ける。実例をあげると、2つのデバイスまたは(200または2000台のデバイス)のために仮想機械を要求することができ、各デバイスは、「W」仕様の1つのCPUコンポーネントと、「X」仕様の1つのGPUコンポーネントと、「Y」仕様の1つのメモリー・コンポーネントと、「Z」仕様の2つのストレージ・コンポーネントとを有する。本概念は、VMアロケーター118によって実現されるように、要求された仮想機械を満たすために、液浸タンク106(1)から2つのCPUを、液浸タンク106(2)から2つのGPUを、液浸タンク106(3)から2つのメモリーを、そして液浸タンク106(4)から4つのストレージを、仮想SKUとして、割り当てることができる。このように、デバイス中心比率(device-centric ratios)に起因して「失われる」コンポーネントはない。勿論、個々の冷却システム104内に図示したコンポーネントの数は、線図面(line drawing)を簡略化するために減らしているので、この例で述べたコンポーネントの数は、通常見られるよりも少ない。
【0020】
[00021] 図2は、ディスアグリゲーテッド・システムの他の例100Bを示す。(「A」および「B」のような接尾語の使用によって示すことを意図するのは、これらのシステムのエレメントは同じでもまたは異なってもよいこと、および/または双方のシステムに現れる所与のエレメントはシステム間で同じでも異なってもよいということである。)この場合、ディスアグリゲーテッド・システム例100Bは、7つの冷却システム104(1)~104(7)を含む。冷却システム104(1)~104(6)は、二相液浸タンク106(1)~106(6)を伴う。冷却システム104(7)は、冷却板202を伴う。とりわけ、熱密度および/または最大コンポーネント動作温度のような、収容されたコンポーネント・タイプ102の特性に合わせて設計される他の冷却システムも考えられる。実例をあげると、あるコンポーネント・タイプでは、単一相液浸冷却システムによって高コンポーネント密度で冷却することが相応しい場合もあり、一方他のコンポーネント・タイプでは、二相冷却によって所望のコンポーネント密度で冷却する場合のみが相応しいという可能性もある。
【0021】
[00022] 説明の目的に限って、この例では、第1コンポーネント・タイプ102(1)はCPUに対応する(entail)ことができ、第2コンポーネント・タイプ102(2)はメモリーに対応することができ、第3コンポーネント・タイプ102(3)はGPUに対応することができ、第4コンポーネント・タイプ102(4)はストレージに対応することができ、第5コンポーネント・タイプ102(5)はアクセレレーターに対応することができ、第6コンポーネント・タイプ102(6)はフラッシュ・メモリーに対応することができ、第7コンポーネント・タイプ102(7)はオーバークロックCPUに対応することができる。この例では使用しないが、オーバークロックGPUおよび/または他のオーバークロック・コンポーネントも考えられる。図1に関して先に説明した通信線114は、図面ページ上の混乱を軽減するために、図2では省略されている。
【0022】
[00023] この実施態様では、冷却システム104は、通信ハブ116(例えば、通信ハブは中心にある焦点(focus)に配置されている)を中心として半径方向に、+/-1インチまたは+/-10%のようにほぼ(例えば、実質的に)等距離のところに配置されている。この構成では、高いコンポーネント密度が得られつつ、種々の冷却システム104のコンポーネント110と通信ハブ116との間における通信線経路長を同様に短くすることができる(例えば、各冷却システムにおけるコンポーネントと通信ハブとの間の距離Dをほぼ(例えば、実質的に)等しくすることができ、更に空冷構成と比較すると、比較的短くすることができる)。実例をあげると、ある構成では、通信線は長さが1フィート未満とすることができ、更に長さの+/-10%以内とすることができる。他の場合では、通信線は、長さが8インチ未満というように、更に短くすることもできる。これらの密度が濃い構成として長さを短くすることによって、システム内を伝わる信号に付随するレイテンシーを低減することができる。
【0023】
[00024] 図3Aおよび図3Bは、纏めて他のディスアグリゲーテッド・システム例100Cを示す。このシステム例は、図2のディスアグリゲーテッド・システム100Bと類似しており、したがってそのエレメントを再度紹介することはしない。1つの例外は、この場合では、冷却システム104の全てが液浸タンク106であると明示することである。更に、図示しないが、図面ページ上で読者に面する切り欠き位置に、8番目の冷却システムを含むこともできる。
【0024】
[00025] この場合、冷却システム104はアレイ状(例えば、3×3格子アレイ)に配列され、通信ハブ116が中心位置を占める。この構成では、非常に高いコンポーネント密度を得ることができる(provide)。実例をあげると、一例では、液浸タンク106は概略的に立方体形状にすることができる。例えば、液浸タンクは一辺が1フィート未満にすることができ、各液浸タンクは、所与のコンポーネント・タイプのコンポーネント110を少なくとも100台収容することができる。このように、9立方フィートの容積では、8つの異なる冷却システム104において、8通りの異なるコンポーネント・タイプ102のコンポーネントを少なくとも100台保持することができる。他の構成では、各液浸タンクは、例えば、1000台のコンポーネントを保持することができる。更に他の構成例では、液浸タンクは、一辺を8インチにして、100台よりも多いコンポーネントを収容することができる。つまり、このシステムが占めるのは4立方フィート未満でありながら、8つの異なる冷却システム104において、8通りの異なるコンポーネント・タイプ102のコンポーネントを少なくとも100台収容することができる。同様に、前述の9立方フィート・システムには、1000台の各コンポーネントを収容することができる。
【0025】
[00026] 本実施態様によってもたらされる(offer)高コンポーネント密度によって、種々のコンポーネント・タイプ102のコンポーネント110の密接な結合(tight coupling)を容易に得ることができる。この結合は、高帯域幅および低レイテンシーの高性能相互接続(例えば、図1の通信線114)によってコンポーネント110を通信ハブ116に接続することによって、容易に行うことができる。この構成は、コンポーネント上で実行するソフトウェアが共同管理されたコンポーネントと、既存の物理的に専用のハードウェア戦略(例えば、個別デバイス)との間において同様の性能(例えば、レイテンシー)を体験することを可能にする。
【0026】
[00027] レイテンシーは、一般に、信号がチップを通過する(cross through)ときまたは長距離を伝わるときに増大することから、図2および図3A図3Bに示すように、コンポーネント110を互いに密集させると、レイテンシーを低減させることができる。したがって、コンポーネント密度を高め、通信線長を短くすることによって、異なる冷却システムのコンポーネント間、および/またはコンポーネントと通信ハブ116との間に、リドライバー(redriver)やリタイマー(retimer)を使用せずに、ディスアグリゲーテッド・システム100Cを動作させることができる。言い換えると、この物理アーキテクチャは、低レイテンシーで、余分なリドライバやリタイマの複雑さがなく、所望のコンポーネント構成を高密度で提供する(provide)ことができる。リドライバは、信号を増幅するエレメントと見なすことができる。また、リタイマも信号を増幅することができ、更に信号をシステム・クロックに再同期させることもできる。
【0027】
[00028] 前述のように、コンポーネント110と通信ハブ116との間の距離D(図2)に関連する通信線114の長さは、異なるコンポーネント・タイプ102(例えば、異なる冷却システム104における)のコンポーネント110間におけるレイテンシー、および/またはコンポーネントと通信ハブ116との間におけるレイテンシーに対する実質的な要因(contributor)となり得る。実例をあげると、電気信号が通信線に沿って伝えられるとき、CPUとメモリーとの間の距離がレイテンシーに寄与する可能性があるが、それでもレイテンシー・パラメーターを満たすことができる通信線の最大長を計算することができる。場合によっては、光技術の方が電気技術よりも速いことが多く、したがって長い通信線を採用することができる。とりわけ、プロセッサーとメモリーとの間における所望のレイテンシーは、ディスアグリゲーテッド・システムにおける通信経路長を決定するときに、主要な考慮事項となり得る。ある実施態様では、通信リンクを設けるために、宇宙光学、コヒーレント・アクセレレータ・リンク/コンピュート・エクスプレス・リンク(CXL/CAPI)、(光学対電気)というような技術を採用することができる。
【0028】
[00029] また、図3Aおよび図3Bに示す実施態様は、容易なコンポーネント比率再整合(component ratio re-alignment)にも適している。説明を容易にするために、各液浸タンク106において(種々のコンポーネント・タイプの)500台のコンポーネントによって、期待需要を満たすことができると仮定する。しかしながら、需要が指示するのは、ときの経過に連れて、他の液浸タンクにおける他のコンポーネントと比較して(relative to)、液浸タンク106(2)におけるコンポーネント・タイプ102(2)のコンポーネント110の台数を増やすことである。
【0029】
[00030] 図3Bは、需要変化に対処する(accommodate)ために本概念が提供する、 優れた適応性の例を示す。この場合、第8液浸タンク106(8)をディスアグリゲーテッド・システム100Cに追加する。この液浸タンク106(8)は、液浸タンク106(2)と同じコンポーネント・タイプ102(2)を収容することができ、これによって、他のコンポーネント・タイプのコンポーネントと比較して、このコンポーネント・タイプのコンポーネント台数が増加する。更に、他のいずれのコンポーネントとも干渉せずに(例えば、既存のコンポーネントをある時間期間オフラインにさせることなく、またそうでなければ利用不可能にさせることなく)、これらの追加コンポーネント(液浸タンク106(8)に収容されている)を、ディスアグリゲーテッド・システム100Cに追加することができる。この場合、液浸タンク106(8)の追加コンポーネントは、単に通信線(図1に示す)を通じて通信ハブ116に結合することができる。追加コンポーネントは、VMアロケーター118によって自動的に検出することができる。次いで、VMアロケーターは追加コンポーネント110をこのコンポーネント・タイプ102(2)のコンポーネントの一覧(例えば、プール)に追加することができる。次いで、需要に対処するために、これらの追加コンポーネントを動的に割り当てることができる。この態様について、図6に関して更に詳しく説明する。
【0030】
[00031] この例では、変化するコンポーネント要求比率(changing component ratios in demand)に対処するために、容量を追加することに関して説明したが、この例は、コンポーネントの故障を伴うシナリオ、および/またはコンポーネントの故障に伴う供給停止を回避するシナリオにも等しく応用することができる。実例をあげると、VMアロケーター118がコンポーネントの故障および/またはコンポーネントの寿命に対して既定の閾値を含むと仮定する。例えば、10%のような、1つの液浸タンク106におけるコンポーネント110の数が、故障または「期限切れ」(age out)のために既定の閾値を超過する場合(例えば、期待寿命を超過する)、VMコントローラー118は、既定の閾値を超過したコンポーネント・タイプを収容する追加の液浸タンクの設置を要求する通知を生成することができる。この場合も、既存のコンポーネントを妨害する(interrupt)ことなく、これらの補足コンポーネントを設置することができる。
【0031】
[00032] これまでに示した実施態様では、冷却システム104の全ておよび通信ハブ116を単一層として(例えば、平面上に配置する)配列した。図3Bは、他の実施態様は多層にできることを示す。実例をあげると、本質的に容量を倍増しつつ、通信経路長を少しだけ延長すれば済むように、液浸タンク106(8)と同様に、他の1組の液浸タンクを液浸タンク106(1)~106(7)の上に配置することができる。更に他の実施態様では、リュービック・キューブに似せることもでき、通信ハブ116が中央位置を占め、冷却システム104が、通信ハブの周りに三次元で配置された1つのコンポーネント・タイプ102を収容する。
【0032】
[00033] 図4は、ディスアグリゲーテッド・システムの他の例100Dにおける複数の部分を示す。図示するエレメントの大きさおよび詳細を増やすために、2つの冷却システム104(1)および104(2)のみを示すが、このシステムは、他のコンポーネント・タイプの追加の冷却システムも含むことができる。説明の目的に限って、冷却システム104(1)は、CPUを伴うコンポーネント・タイプ102(1)に専用であり、冷却システム104(2)は、オーバークロックCPUを伴うコンポーネント・タイプ102(2)に専用であると仮定する。この場合、通信線114はコンポーネント110のための電力線も含む。VMアロケーター118は、電力線を通じて個々のコンポーネントに供給される電力レベル(例えば、電流および/または電圧)を制御することができる。
【0033】
[00034] VMアロケーター118は、冷却システム104の内任意のもののコンポーネント110の動作を管理するために、種々のパラメーターを利用することができる。パラメーターは、とりわけ、コンポーネントの経年数、コンポーネントの動作年数(operational age)、コンポーネントの実際の(例えば、現在の)動作温度、コンポーネントの設計動作温度範囲、液体108の温度、二次冷却システムの温度、液体108の沸点、液体108の誘電定数、冷却システムの総合冷却能力、コンポーネントの指定(例えば、設計)動作電力、コンポーネントの指定(例えば、設計)動作電圧、コンポーネントの指定(設計)動作電流、コンポーネントの実動作(例えば、被駆動(driven))電力、コンポーネントの実動作(例えば、被駆動)電圧、および/または、コンポーネントの実動作(例えば、被駆動)電流に関することができる。尚、指定動作電力、指定動作電圧、および/または指定動作電流は、例えば、0.5ワットのような単一値、または0.4~0.6ワットのような範囲、あるいは電流および電圧(例えば、10ボルトにおいて0.1アンペア)の双方でもよいことを注記しておく。
【0034】
[00035] 前述のように、二相液浸タンク106では、タンクにおけるコンポーネント・タイプ102の動作温度範囲内に沸点を有する液体108を選択することができる。実例をあげると、コンポーネントの動作範囲が摂氏45~55度である場合、摂氏50度というような、この範囲内に沸点を有する液体を選択することができる。場合によっては、デバイス製造業者が動作温度範囲の上端(例えば、最大動作温度)のみを指定してもよい。このような場合、選択された液体の沸点を最大動作温度未満にすることができる。液体が気体になる沸騰は、効果的に大量の熱を取り込み(capture)、気体が液体の表面まで上昇するに連れて、コンポーネントから離れるように熱を移転させる(carry away)。また、液体の沸点を、コンポーネントによって発生される熱量にも関係付けることもできる。実例をあげると、所与のCPUが摂氏100度の最大動作温度を有するとしてもよい。このCPUが、指定周波数に達するために指定電力で駆動されようとする場合、例えば、沸点が摂氏60度の液体を選択すればよい。しかしながら、このCPUがもっと高い周波数に達するためにもっと高い電力で駆動されようとする場合、沸騰量を増やし、したがって熱除去を増やすために、摂氏50度のような、沸点がもっと低い液体を選択すればよい。
【0035】
[00036] ディスアグリゲーテッド・システム100Dは、これらのパラメーターの少なくとも一部について値を検知するように構成された様々なセンサーを含む。実例をあげると、システム100Dは、とりわけ、温度センサー402、404、および/または406を含むことができる。この場合、温度センサー402は、各冷却システム104のコンポーネント110の内1つ以上の上に配置される。温度センサー402は、動作中におけるコンポーネントの温度を提示することができる。この場合、温度センサー402は、各コンポーネント上に配置されるが、図面ページ上の混乱を回避するために、これらの温度センサーの全てが具体的に明示されてはいない。温度センサー404は、冷却システム104の液体108を検知するように配置されている。温度センサー406は、ディスアグリゲーテッド・システム100Dの内部からこのシステムの外部に熱を移送する二次冷却システムの入力温度および出力温度を提示することができる。具体的に図示しない他のセンサーも、個々のコンポーネントを駆動する電流および/または電圧、ならびにこれらが駆動される期間に関係付けることができる。
【0036】
[00037] VMアロケーター118は、種々のコンポーネント・タイプおよび/またはコンポーネント・タイプ内にあるコンポーネントを管理するとき、これらのパラメーターの値を入力として使用することができる。実例をあげると、VMアロケーターは、第1仮想SKUが第1作業負荷を満たす(例えば、第1組の仮想機械を実行する)ために、各コンポーネント・タイプから1組のコンポーネントを選択し、第2仮想SKUが第2作業負荷を満たす(例えば、第2組の仮想機械を実行する)ために、各コンポーネント・タイプから第2の異なる1組のコンポーネントを選択するのでもよい。尚、仮想SKUの一部は各コンポーネント・タイプを含まない場合もあることを注記しておく。実例をあげると、個々の仮想SKUがオーバークロックGPUを含まなくてもよい。このような場合、1組の選択されたオーバークロックGPUはゼロとなり、オーバークロックGPUは他の仮想SKUに利用可能のまま残る。
【0037】
[00038] 所与の作業負荷に合わせて選択された複数組のコンポーネントは、VMアロケーター118によって通信可能に結合され、定められたパラメーター値で駆動することができる。定められたパラメーター値からの逸脱、および/または1組の他のコンポーネントのパラメーター値からの逸脱は、コンポーネント健全性の指標として監視することができる。実例をあげると、あるCPUが、同じ組の他のCPUよりも急に加熱する、および/または多くの電流を引き込み始めた場合、これは損傷を示すおそれがある。VMアロケーターは、このCPUをその1組から除去し、同じ冷却システム104から他の利用可能なCPUと置き換えるというような、種々の管理措置を講ずることができる。
【0038】
[00039] また、VMアロケーター118は、CPUおよびGPUのような、設計仕様を外れて動作する個々のコンポーネント・タイプ102のコンポーネント110を管理することもできる。特に、オーバークロック・コンポーネントは、適正に管理されないと、早期故障を起こすおそれがあり、VMアロケーターは、コンポーネントを損傷から保護しつつ高性能を達成するように、オーバークロック・コンポーネントを管理することができる。実例をあげると、VMアロケーターは、設計クロック・レートよりも高い動作レート(例えば、オーバークロック・レート)を達成するために、設計仕様よりも高い電力でオーバークロックCPUおよび/またはGPUを駆動することができる。しかしながら、VMアロケーターは、CPU/GPUを設計仕様を超えて動作させるときに、定められた動作温度を超過しないことを確保するために、センサー402からのCPU/GPU温度を利用することができる。また、VMアロケーターは、冷却システムから熱を除去するために十分な容量が存在することを確認する(ensure)ために、個々の冷却システム内にあるオーバークロック・コンポーネントによって発生する熱を、冷却システムの総合冷却能力と比較することができる。オーバークロック・コンポーネントによって発生する余分な熱を管理するために、他の場合に選択される沸点よりも低い沸点の液体108を選択するとよい。実例をあげると、通常動作に対する製造業者の提唱(例えば、設計)最大動作温度が摂氏80度である場合、例えば、沸点が摂氏60度の液体を選択するとよい。しかしながら、同じコンポーネントがオーバークロック状態で駆動される場合、動作中における沸騰を増やし、したがってコンポーネントからより多くの熱を除去するために、例えば、沸点が摂氏50度の液体を選択するとよい。このように、VMアロケーター118は、コンポーネントをどのように管理するか決定するときに、液体108およびコンポーネント110の特性をパラメーターとして利用することができる。
【0039】
[00040] 前述のように、VMアロケーター118は、コンポーネント110をどのように動作させるか決定するために、複数のパラメーターを利用することができる。実例をあげると、作業負荷が少ないとき、またはオーバークロック動作によってもたらされる速度が必要でないとき、VMアロケーターは、電力を制御しコンポーネント温度を監視することによって、コンポーネントを製造業者の動作範囲内に留まらせる電力で、「オーバークロック」コンポーネントを駆動することができる。この時点において、オーバークロック・コンポーネントは、実際にオーバークロックで動作させなくてもよい。作業負荷が増加した場合、またはもっと高い周波数処理の必要性が高まった場合、VMコントローラーは、製造業者の仕様よりも速く(例えば、オーバークロック)コンポーネントを動作させる電力レベルでコンポーネントを駆動することができる。これらの電力レベルは、コンポーネントをより速く実行させることができる。しかしながら、これらの電力レベルは、コンポーネントの温度を最大動作温度に向けて上昇させるおそれがある。温度が最大動作温度の既定の閾値バッファ内に入った場合、VMアロケーターはコンポーネントの管理方法(how the component is managed)を変更することができる。実例をあげると、VMコントローラーは一時に駆動電力を低下させてもよい。
【0040】
[00041] あるいはまたは加えて、VMコントローラー118は、同じコンポーネント・タイプ102(例えば、同じ冷却システムにおける)において、使用されていないまたは過小利用されている他のコンポーネント110を特定し、VMコントローラーがこれらのコンポーネント110に作業負荷の一部または全部を任せることができるので、個々のコンポーネントの過熱を低減または解消することができる。本実施態様は、従前からのデバイス中心データーセンターよりも遙かに少ないコストで、他の利用可能なコンポーネントの可能性を提供する。本実施態様では、コンポーネントは、同じ型の他のコンポーネントと共に、コンポーネントのプールとして類別されるので、個々のコンポーネントは、代替可能なユニットとして扱われ、互いに容易に交換することができる。
【0041】
[00042] VMコントローラー118は、プールの(例えば、同じコンポーネント・タイプ102の)コンポーネント110を動的に割り当てることができる。実例をあげると、VMコントローラー118は、作業負荷および複数の他のパラメーターに基づいて、コンポーネント・タイプ102のコンポーネント110をどのように管理するか決定することができる。例えば、種々のパラメーターは、他に不使用で利用可能なコンポーネントがあるか否か、現在作業負荷に割り当てられているコンポーネントの温度(例えば、そのコンポーネントが冷却システムにおける他のコンポーネントよりも熱いか否か)等に関することができる。更に、この動的割り当ては、性能低下(例えば、レイテンシー増大)を全く生じることなく、行うことができる。何故なら、代替コンポーネントは基本的にそのコンポーネントと同じ経路長を有するからである(例えば、2つのコンポーネントは、作業負荷または計算の観点から等価であるということができる)。
【0042】
[00043] 対照的に、従前からのデーターセンターでは、代替コンポーネントまたは代替個別デバイスは遠ざかり、少なくともレイテンシー増大のために、性能低下を来す。つまり、VMコントローラー118は、複数のパラメーターを考慮して、コンポーネントの寿命と作業負荷遂行とのバランスを取ることができる。加えて、VMコントローラーは、性能を低下させることなく、あるいは他のコンポーネント・タイプのコンポーネントを無使用にすることなくまたそうでなければ過小利用にすることもなく、プール全体から、このプール内にあり同様の状況下に置かれたコンポーネントを引き出すことができる。この態様については、以下で図5に関して更に詳しく論ずる。
【0043】
[00044] 図5は、ディスアグリゲーテッド・システムの他の例100Eにおける複数の部分を示す。図示するエレメントの大きさおよび詳細を増やすために、1つのコンポーネント・タイプ102(1)を収容する1つの冷却システム104(1)だけを示すが、このシステムは、他のコンポーネント・タイプの冷却システムを更に別に含むことができる。この場合、2つのコンポーネント110が各回路ボード502上に配置されている。回路ボード502、したがって2つのコンポーネント110は、物理的におよび/または通信可能に中軸(spine)504に結合することができる。複数の中軸をディストリビューター506に物理的におよび/または通信可能に結合することができる。一方、ディストリビューター506は、通信ハブ116に結合することができ、または通信ハブ116の一部になることもできる。
【0044】
[00045] この実施態様では、コンポーネントの温度を検知するために、センサー402がコンポーネント110上に配置されている。この例では、各中軸504が8つの回路ボードおよび16個のコンポーネントと関連付けられているが、他の数の回路ボードおよび/またはコンポーネントも考えられる。更に、図示する構成は、4つの中軸504を含むが、他の構成では、含まれる中軸はそれよりも多くても少なくてもよい。実例をあげると、他の構成の冷却システム104では、数十または数百本の中軸をディストリビューター506に結合することもできる。また、中軸504の1つの水平配列に関係付けて、コンポーネント110(例えば、回路ボード502)の1つの水平層を示すが、冷却システム104における(例えば、液体108における)コンポーネントの密度を高めるために、複数の同様の層を縦に積み重ねる(例えば、図示する層の上に回路ボードおよび中軸の追加層(1つまたは複数)を配置する)こともできることを注記しておく。
【0045】
[00046] 前述のように、VMアロケーター118はコンポーネント110を管理することができる。説明の目的に限って、64個の図示するコンポーネント110の内、VMアロケーターは30個のコンポーネント(例えば、コンポーネント1~30)を第1SKUに割り当て、他の30個のコンポーネント(例えば、コンポーネント31~60)を第2SKUに割り当てる一方、残りの4つのコンポーネント(例えば、コンポーネント61~64)は障害保護に備える。パラメーターの中でもとりわけ、VMアロケーター118はコンポーネント110の動作温度および動作寿命を追跡することができ、コンポーネント110を管理するためにこの情報を使用することができる。
【0046】
[00047] VMアロケーター118は、コンポーネントの寿命(lifespan)および/または性能を最適化するために、コンポーネント110を動的に交換することができる。実例をあげると、VMアロケーターは、コンポーネント1~30が最初の作業負荷を実行するときに、これらを監視することができる。VMアロケーターが、他のコンポーネントよりも高い動作温度のような、これらのコンポーネントの中の1つの逸脱(その過去のパラメーター値に対して、および/または同じ1組の中の他のコンポーネントに対して)を検出した場合、措置を講ずることができる。実例をあげると、このような措置の1つは、逸脱したコンポーネントから余分なコンポーネント61~64の中の1つに、作業負荷を動的に割り当て直すこととすることができる。更に、VMアロケーター118は、コンポーネントが全体的に等しく経年変化するように、先を見越してコンポーネントを管理することもできる。実例をあげると、VMアロケーター118は、30個のコンポーネントが任意の一時点において第1作業負荷を実行しており、4つが利用可能で待機するように、コンポーネント1~30および61~64を交代で動作させることができる。したがって、ある時間期間の後、例えば、1年後には、冷却システム104におけるコンポーネント110は、物理的に同じに老朽化するだけでなく、この期間にわたって同様の作業を実行したことになる。
【0047】
[00048] 1つの観点からは、システム100Eはコンポーネントの故障に対応する(cover)ためにスペア・コンポーネント110を含むことができるが、これらのコンポーネントは無駄ではない。更に、VMアロケーター118は、物理的な経年変化、故障率、および/または実行した作業負荷に基づいてというようにして、冷却システム104のコンポーネントの製品寿命がいつ終わるか追跡することができる。実例をあげると、冷却システムのコンポーネントが既定の物理的経年変化および/または作業経年変化(work age)に達したとき、VMアロケーターは、その冷却システムを同じコンポーネント・タイプの他の冷却システムと置き換えさせる通知を送ることができる。(このような一例は、既に図3Bに関して説明した)。同様に、冷却システムが複数のコンポーネント障害に見舞われた場合、パーセンテージに基づいて、または待機中のコンポーネントの数が、定められた閾値数を下回るようであれば、VMアロケーターは、その冷却システムを、同じコンポーネント・タイプの他の冷却システムと置き換える通知を送ることができる。1つの冷却システムのコンポーネントに関して論じたが、VMアロケーターは種々のコンポーネント・タイプを収容する冷却システムの全てに対して、この管理機能を同時に実行することができる。
【0048】
[00049] 図6A図6Eは、本発明のディスアグリゲーション概念が従前からのデーターセンター構成とどのように相違するかについての例を、纏めて示す。図6Aは、従前からのデーターセンターの従前からの個別サーバーまたはデバイス602を示す。個別デバイス602は、例えば、SKU1、2、および3によって定められたコンポーネントを有する。この場合、SKU1によって定められたコンポーネントを有する3つの個別デバイス604、SKU2によって定められたコンポーネントを有する3つの個別デバイス606、およびSKU3によって定められたコンポーネントを有する3つの個別デバイス608が示されている。勿論、任意の数の個別デバイスが各SKUに関係することができる。実例をあげると、データーセンターにおける合計3,000台の個別デバイスに対して、例えば、1,000台の個別デバイスが各SKUに関係することができる。この場合、図示するコンポーネントはストレージ610、メモリー612、およびCPU614である。この例では、各個別デバイスは各コンポーネントを含むが、比率(ratios)は異なるSKU間で異なる。SKUは、個別デバイスのための、期待作業負荷(例えば、ハードウェア上で実行するソフトウェア、およびこのソフトウェアによって実行される処理の種類)に適したハードウェア・コンポーネントを定める。前述のように、個別デバイスは前もって構築されるので、実際に要求される作業負荷に一致する場合も、しない場合もある。前述のように、ここで示すよりも多いコンポーネント・タイプ102がある可能性もあり、そして全てのSKUが全てのコンポーネント・タイプを含む訳でもない。図示する構成は、説明の目的に限って示しただけである。
【0049】
[00050] 図6Bは、ディスアグリゲーテッド計算プール620を示す。例示の目的に限って、ディスアグリゲーテッド計算プール620は、図6Aと同じコンポーネント(各コンポーネントを3,000台)を含むが、これらのコンポーネントは、コンポーネント・タイプにしたがって、一緒に別個の冷却システムに纏められ、または共同管理されている。この態様については、先に説明した。この場合、CPU614はCPUプール622に纏められ、メモリー612はメモリー・プール624に纏められ、ストレージ610はストレージ・プール626に纏められる。コンポーネントの個々のプールは、冷却システム104に収容することができるコンポーネント・タイプ102の例である。これらの態様については、先に図1に関して論じた。
【0050】
[00051] 図6Cは、CPUプール622におけるCPU、メモリー・プール624におけるメモリー、およびストレージ・プール626におけるストレージをどのように仮想SKU(V-SKU)に割り当てることができるかについて示す。前述のように、この割り当ては、ある実施態様では、VMアロケーター118によって実行することができる。この場合、各コンポーネント・プール(622、624、および626)からのコンポーネントがV-SKU-1に割り当てられる。尚、コンポーネントの割合(proportion)または比率(ratio)は、図6AのSKU-1のコンポーネントと同じにできることを注記しておく。尚、この割り当ては、前もってではなく、リアル・タイムで(例えば、作業負荷要求を受けたとき)実行することができるので、図6Aの従前の構成の場合にあるような不一致の可能性(chance)はないことを注記しておく。
【0051】
[00052] 図6Dは、各コンポーネント・プール(622、624、および626)からのコンポーネントをどのようにV-SKU-2に割り当てるかについて示す。尚、コンポーネントの割合または比率は、図6AのSKU-2のコンポーネントと同じにできることを注記しておく。同様に、図6Eは、各コンポーネント・プール(622、624、および626)からのコンポーネントをどのようにV-SKU-3に割り当てるかについて示す。尚、コンポーネントの割合または比率は、図6AのSKU-3のコンポーネントと同じにできることを注記しておく。しかしながら、デバイス全体をパワー・アップしなければならない代わりに、この構成では、VMアロケーターは、利用されている特定のコンポーネントを単に起動するだけにすることができる。これは、従前からのデーターセンターによって要求される大量の空気を積極的に移動させる必要がないことに関して先に述べた省エネルギーに、更なる省エネルギーを追加することができる。
【0052】
[00053] 図7A図7Cは、他のディスアグリゲーテッド計算プール620Aに関する本発明のディスアグリゲーション概念の他の例を纏めて示す。この場合、図7Aは、図6B図6Eと同じ3つのコンポーネント・プールを示す。この例では、各プールの高さによって表される3つのそれぞれのプールにおいて、所与のコンポーネント比がある。場合によっては、この比の選択は、計画需要(projected demand)および/または過去の需要に基づくこともできる。
【0053】
[00054] 図7Bは、3つの仮想SKU(V-SKU-1、V-SKU-2、およびV-SKU-3)に対応する要求作業負荷に割り当てられたディスアグリゲーテッド計算プール620Aを示す。尚、この場合、要求作業負荷は計画作業負荷と一致しなかったことを注記しておく。これは、CPUプール622の殆ど全てが割り当てられている一方、メモリー・プール624およびストレージ・プール626は、それぞれ、未使用の容量702および704を有することに反映されている。
【0054】
[00055] 図7Cは、706で示すように、どのように更なるCPUをCPUプール622に追加できるかについて示す。この態様は、先に図3Bに関して論じられており、臨機応変に遂行することができる(例えば、CPUプール622において既存のCPUの動作を中断することなく)。実例をあげると、CPUプール622におけるCPUを増加させるために、CPUを収容する更なる冷却システムを追加することができる。つまり、使用されていないメモリー・リソースおよびストレージ・リソースが無駄にならないように、または失われない(lost)ように、更なるCPU容量を追加することができる(例えば、ここではこれらを新たな(anew)SKUに割り当てて、CPUリソースを追加することができる)。更に、既存のリソースの実行(functioning)を中断することなく、更なるCPU容量を追加することができる。
【0055】
[00056] 図8は、本発明の概念を達成することができるVMアロケーター118の実施態様例を示す。説明の目的に限って、図8は、2通りの実施構成(implementation configuration)802を、VMアロケーターについて示す。端的に言うと、構成802(1)はオペレーティング・システム(OC)中心構成を表す。構成802(2)は、システム・オン・チップ(SOC)構成を表す。構成802(1)は、ストレージ810およびプロセッサー812のようなハードウェア808上で実行する1つ以上のアプリケーション804およびオペレーティング・システム806に編成される。VMアロケーター118は、アプリケーションとして、アプリケーションの一部として、および/またはオペレーティング・システムと共に動作することができる。
【0056】
[00057] 構成802(2)は、ストレージ810およびプロセッサー812、専用リソース816、ならびにこれらの間のインターフェース818のような、1つ以上の共有リソース814に編成される。VMアロケーター118は、共有リソース814および/または専用リソース816と共に動作することができる。
【0057】
[00058] VMアロケーター118は、独立して動作することができる。あるいは、このVMアロケーターは他のコンピューターと協働して動作することもできる。実例をあげると、このVMアロケーターを1組の冷却システムと関連付けてもよく、他のVMアロケーターを他の複数組の冷却システムと関連付けてもよい。マスターVMアロケーターまたは他のエンティティは、複数のディスアグリゲーテッド・システムに跨がって作業負荷を遂行するために、種々のVMアロケーターの機能を調整する(coordinate)ことができる。実例をあげると、通信ハブ116上に配置されたVMアロケーター118は、ディスアグリゲーテッド・システムと関連付けられた全ての計算機能を管理することができる。あるいは、通信ハブ上にあるローカルVMアロケーターは、ディスアグリゲーテッド・システムのために何らかの管理機能を実行することができ、更に他の管理機能を実行する(performed)リモートVMアロケーターと通信することができる。
【0058】
[00059] ある実施態様では、プロセッサーによって実行することができるコンピューター読み取り可能記憶媒体上に、VMアロケーター118を実装することができる。本明細書において使用する場合、「コンピューター読み取り可能媒体」という用語は信号を含むことができる。対照的に、「コンピューター読み取り可能記憶媒体」という用語は、信号を除外する。コンピューター読み取り可能記憶媒体は、「コンピューター読み取り可能記憶デバイス」を含む。コンピューター読み取り可能記憶デバイスの例には、とりわけ、RAMのような揮発性記憶媒体、ならびにハード・ドライブ、光ディスク、およびフラッシュ・メモリーのような、不揮発性記憶媒体が含まれる。
【0059】
[00060] 図9は、ディスアグリゲーテッド計算技法または方法900のフローチャート例を示す。
【0060】
[00061] この方法は、902において、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第1二相液浸タンクと、第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第2二相液浸タンクとを監視することができる。少なくともある実施態様では、各二相液浸タンクは、1つのタイプのコンポーネントだけを収容する。このコンポーネント・タイプのコンポーネントの特性、および/またはこのコンポーネント・タイプのコンポーネントの期待動作(expected operation)に基づいて、液体の特性を選択することができる。
【0061】
[00062] この方法は、904において、第1仮想機械要求と第2仮想機械要求とを受けることができる。
【0062】
[00063] この方法は、906において、第1仮想機械要求に対して、第1二相液浸タンクから第1組のコンポーネント、および第2二相液浸タンクから第1組のコンポーネントを動的に割り当て、第2仮想機械要求に対して、第1二相液浸タンクから第2組のコンポーネント、および第2二相液浸タンクから第2組のコンポーネントを動的に割り当てることができる。各タンクは、少なくとも部分的に、タンクにおける液体の特性、タンクにおけるコンポーネントの特性、仮想機械要求、および/または特定の時点における仮想機械要求の作業負荷に基づいて、管理することができる。場合によっては、動的な割り当ては、第2二相液浸タンクにおける割り当てを変えることなく、第1二相液浸タンクにおいて、個々の欠陥のあるコンポーネントの置き換えを伴うこともできる。
【0063】
[00064] 図10は、ディスアグリゲーテッド計算技法または方法1000のフローチャート例を示す。
【0064】
[00065] この方法は、ブロック1002において、複数の二相液浸タンク、1つのタイプのコンポーネント・タイプのコンポーネントを複数個収容する個々の二相液浸タンクを監視することができる。
【0065】
[00066] この方法は、ブロック1004において、仮想機械についての要求を受けることができる。
【0066】
[00067] この方法は、ブロック1006において、仮想機械要求をサポートするために、個々の二相液浸タンクから、一緒に動作する複数組のコンポーネントを割り当てることができる。場合によっては、この割り当てるステップは、仮想機械要求を満たすために、個々の二相液浸タンクからの複数組のコンポーネントに給電するステップを含むことができる。電力は、複数組のコンポーネントの個々のコンポーネントの最大動作温度を超過することなく、複数組のコンポーネントからの熱によって、個々の二相液浸タンクにおける液体の一部を沸騰させることができる。
【0067】
[00068] 以上で説明した方法は、先に説明したおよび/または以下で説明するシステムおよび/またはエレメント、および/または他のデバイスおよび/またはシステムによって実行することができる。
【0068】
[00069] これらの方法を説明した順序は、限定として解釈されることを意図するのではなく、説明したアクトの内任意の数のものを、任意の順序で組み合わせて、前述の方法または代替方法を実行する(implement)ことができる。更に、以上の方法は、デバイスがその方法を実行できるように、任意の適したハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実行することができる。場合によっては、プロセッサーによる実行によって、このプロセッサーがこの方法を実行させるように、この方法を、1組の命令(例えば、コンピューター読み取り可能命令またはコンピューター実行可能命令)として1つ以上のコンピューター読み取り可能記憶媒体に格納する。
【0069】
[00070] 以上、種々の例について説明した。更に他の例も以下で説明する。1つの例はシステムを含む。このシステムは、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、第2コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第1液浸タンクであって、第1コンピューティング・リソース・コンポーネント・タイプの動作温度範囲内に沸点を有する第1液体を含む、第1液浸タンクと、第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、第1コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第2液浸タンクであって、第2コンピューティング・リソース・コンポーネント・タイプの動作温度範囲内に沸点を有する第2液体を含む、第2液浸タンクと、第1液浸タンク内にある第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネント、および第2液浸タンク内にある第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントに通信可能に結合された通信ハブとを備える。
【0070】
[00071] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1コンピューティング・リソース・コンポーネント・タイプが、中央処理ユニットを含み、第2コンピューティング・リソース・コンポーネント・タイプがメモリーを含む。
【0071】
[00072] 他の例は、以上および/または以下の例の内いずれかを含むことができ、前述のシステムが、更に、グラフィカル処理ユニットを含む第3コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第3液浸タンクを備え、更に、ストレージを含む第4コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第4液浸タンクを備える。
【0072】
[00073] 他の例は、以上および/または以下の例の内いずれかを含むことができ、前述のシステムが、更に、アクセレレーターを含む第5コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第5液浸タンクを備え、更に、フラッシュ・メモリーを含む第6コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第6液浸タンクを備える。
【0073】
[00074] 他の例は、これらの液浸タンクの各々が、指定されたコンポーネント・タイプを含み(include)、他のコンポーネント・タイプのコンポーネントを含まない(include)二相液浸タンクを構成する(comprise)ことができる。
【0074】
[00075] 他の例は、以上および/または以下の例の内いずれかを含むことができ、前述のシステムが、オーバークロック・プロセッサーを含む第7コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第7液浸タンクを備える。
【0075】
[00076] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1液浸タンク、第2液浸タンク、第3液浸タンク、第4液浸タンク、第5液浸タンク、第6液浸タンク、および第7液浸タンクが、通信ハブの周囲に放射状に配置される。
【0076】
[00077] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1液浸タンク、第2液浸タンク、第3液浸タンク、第4液浸タンク、第5液浸タンク、第6液浸タンク、および第7液浸タンクが、通信ハブから実質的に等しい距離に配置される。
【0077】
[00078] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1液浸タンク、第2液浸タンク、第3液浸タンク、第4液浸タンク、第5液浸タンク、第6液浸タンク、および第7液浸タンクが全て、4立方フィートの容積内に収容される。
【0078】
[00079] 他の例は、以上および/または以下の例の内いずれかを含むことができ、前述のシステムが、更に、通信ハブと、第1液浸タンク内にある第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントとの間を延びる第1通信線を備え、この第1通信線の長さが1フィート未満であり、更に、通信ハブと、第2液浸タンク内にある第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントとの間を延びる第2通信線を備え、第2通信線の長さが1フィート未満である。
【0079】
[00080] 他の例は、以上および/または以下の例の内いずれかを含むことができ、通信ハブが、第1液浸タンクと第2液浸タンクとの間の中央に配置された他の液浸タンク内に配置される。
【0080】
[00081] 他の例は、システムを含む。このシステムは、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、第2コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第1液浸タンクと、第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容し、第1コンピューティング・リソース・コンポーネント・タイプのコンポーネントを収容しない第2液浸タンクと、仮想機械アロケーターであって、第1機能を達成するために、第1組の第1コンピューティング・リソース・コンポーネント・タイプを第1組の第2コンピューティング・リソース・コンポーネント・タイプと通信可能に結合し、第2機能を達成するために、第2組の第1コンピューティング・リソース・コンポーネント・タイプを第2組の第2コンピューティング・リソース・コンポーネント・タイプと通信可能に結合するように構成された、仮想機械アロケーターとを備える。
【0081】
[00082] 他の例は、以上および/または以下の例の内いずれかを含むことができ、仮想機械アロケーターが、第1液浸タンクと第2液浸タンクとに関連する複数のパラメーターに基づいて、第1機能を達成するために、第1組の第1コンピューティング・リソース・コンポーネント・タイプを、第1組の第2コンピューティング・リソース・コンポーネント・タイプと共に選択するように構成される。
【0082】
[00083] 他の例は、以上および/または以下の例の内いずれかを含むことができ、パラメーターが、第1液浸タンクおよび第2液浸タンクの現在の動作温度と、一旦第1機能および第2機能が実行されたときの予測(expected)動作温度とを含む。
【0083】
[00084] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1組の第1コンピューティング・リソース・コンポーネント・タイプおよび第2組の第1コンピューティング・リソース・コンポーネント・タイプが、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを閾値数よりも多く利用する場合、仮想機械アロケーターが、第2ンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する他の第2液浸タンクを追加することなく、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する他の第1液浸タンクに、仮想機械アロケーターに通信可能に結合させる信号を生成することができる。
【0084】
[00085] 他の例は、以上および/または以下の例の内いずれかを含むことができ、第1液浸タンクが、オーバークロック・レートで動作する第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する。
【0085】
[00086] 他の例は、以上および/または以下の例の内いずれかを含むことができ、仮想機械アロケーターが、第1組の第1コンピューティング・リソース・コンポーネント・タイプをオーバークロック・レートで制御して、第1コンピューティング・リソース・コンポーネント・タイプの指定最大動作温度を超過するのを回避しつつ、第1機能を達成するように構成される。
【0086】
[00087] 他の例は、以上および/または以下の例の内いずれかを含むことができ、仮想機械アロケーターが、第1機能に寄与するコンポーネントの数、クロック・レート、または第1液浸タンクに関連する温度に関する少なくとも1つのパラメーターを調節することによって、第1組の第1コンピューティング・リソース・コンポーネント・タイプを制御するように構成される。
【0087】
[00088] 他の例は、デバイス実装方法を含む。この方法は、第1コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第1二相液浸タンクと、第2コンピューティング・リソース・コンポーネント・タイプの複数のコンポーネントを収容する第2二相液浸タンクとを監視するステップと、第1仮想機械要求と第2仮想機械要求とを受けるステップと、第1仮想機械要求に対して、第1二相液浸タンクから第1組のコンポーネント、および第2二相液浸タンクから第1組のコンポーネントを動的に割り当て、第2仮想機械要求に対して、第1二相液浸タンクから第2組のコンポーネント、および第2二相液浸タンクから第2組のコンポーネントを動的に割り当てるステップとを含む。
【0088】
[00089] 他の例は、以上および/または以下の例の内いずれかを含むことができ、動的に割り当てるステップが、第2二相液浸タンクにおける割り当てを変更することなく、第1二相液浸タンクにおいて、個々の欠陥のあるコンポーネントを置き換えるステップを含む。
【0089】
[00090] 他の例は、デバイス実装方法を含む。この方法は、複数の二相液浸タンクを監視するステップであって、個々の二相液浸タンクが単一コンポーネント・タイプの複数のコンポーネントを収容するステップと、仮想マシンを求める要求を受けるステップと、仮想機械要求をサポートするために、個々の二相液浸タンクから、一緒に動作する複数組のコンポーネントを割り当てるステップとを含む。
【0090】
[00091] 他の例は、以上および/または以下の例の内いずれかを含むことができ、割り当てるステップが、更に、仮想機械要求を満たすために、個々の二相液浸タンクからの複数組のコンポーネントに給電するステップを含み、この給電が、複数組のコンポーネントの中の個々のコンポーネントの最大動作温度を超過することなく、複数組のコンポーネントからの熱に、個々の二相液浸タンク内の液体の一部を沸騰させる。
【0091】
結論
[00092] 以上、構造的特徴および/または方法論的アクトに特定した文言で、ディスアグリゲーテッド・コンピューティングに関する主題について説明したが、添付した請求項において定められた主題は、必ずしも以上で説明した特定の特徴やアクトには限定されないことは理解されよう。逆に、以上で説明した特定の特徴およびアクトは、請求項を実施する形態例として開示したまでである。
【符号の説明】
【0092】
100A ディスアグリゲーテッド・システム
100B ディスアグリゲーテッド・システム
100C ディスアグリゲーテッド・システム
100D ディスアグリゲーテッド・システム
102 コンピューティング・リソース・コンポーネント・タイプ
104 冷却システム
106 液浸タンク
108 液体
110 コンポーネント
112 コンデンサー
114 通信線
116 通信ハブ
118 VMアロケーター
100E ディスアグリゲーテッド・システム
402、404、406 温度センサー
504 中軸
61~64 余分なコンポーネント
602~608 個別デバイス
610 ストレージ
612 メモリー
614 CPU
620 ディスアグリゲーテッド計算プール
622 CPUプール
624 メモリー・プール
626 ストレージ・プール
702、704 未使用の容量
802 構成
810 ストレージ
812 プロセッサー
816 専用リソース
818 インターフェース
824 共有リソース
1000 データーセンター
図1
図2
図3A
図3B
図4
図5
図6A
図6B
図6C
図6D
図6E
図7A
図7B
図7C
図8
図9
図10
【国際調査報告】