(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6876105
(24)【登録日】2021年4月27日
(45)【発行日】2021年5月26日
(54)【発明の名称】PCIEトポロジによるファン速度制御
(51)【国際特許分類】
G06F 1/20 20060101AFI20210517BHJP
G06F 13/38 20060101ALI20210517BHJP
【FI】
G06F1/20 D
G06F1/20 B
G06F13/38 350
G06F13/38 340D
【請求項の数】7
【全頁数】15
(21)【出願番号】特願2019-152473(P2019-152473)
(22)【出願日】2019年8月23日
(65)【公開番号】特開2020-53032(P2020-53032A)
(43)【公開日】2020年4月2日
【審査請求日】2019年8月23日
(31)【優先権主張番号】16/138,260
(32)【優先日】2018年9月21日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508018934
【氏名又は名称】廣達電腦股▲ふん▼有限公司
【氏名又は名称原語表記】Quanta Computer Inc.
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】王 鈞弘
【審査官】
征矢 崇
(56)【参考文献】
【文献】
米国特許出願公開第2011/0273833(US,A1)
【文献】
中国特許出願公開第108196999(CN,A)
【文献】
特表2016−506151(JP,A)
【文献】
中国特許出願公開第107819834(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F1/16;1/20
G06F11/30
G06F13/38
(57)【特許請求の範囲】
【請求項1】
周辺機器相互接続エクスプレス(PCIe)トポロジを介してサーバシステムの冷却ファンのファン速度を制御するコンピュータ実行方法であって、
前記サーバシステムの前記PCIeトポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従って前記GPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンド集積回路間(I2C)接続を介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がPCIeスイッチに対応する場合に、前記PCIe BusID情報に従って、前記PCIeスイッチに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
少なくとも前記GPUの温度情報及びCPUの温度情報に基づいて、前記インバンドI2C接続を介して、前記PCIeスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含むコンピュータ実行方法。
【請求項2】
周辺機器相互接続エクスプレス(PCIe)トポロジを介してサーバシステムの冷却ファンのファン速度を制御するコンピュータ実行方法であって、
前記サーバシステムの前記PCIeトポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従って前記GPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンド集積回路間(I2C)接続を介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がリタイマカードに対応する場合に、前記PCIe BusID情報に従って、前記リタイマカードに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
前記GPUの温度情報に基づいて、アウトバンドI2C接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、コンピュータ実行方法。
【請求項3】
プロセッサと、
管理コントローラと、
前記プロセッサによって実行されると、サーバシステムに動作を実行させる命令を記憶するコンピュータ可読記憶媒体と、を備えるサーバシステムであって、
前記動作は、
前記サーバシステムの周辺機器相互接続エクスプレス(PCIe)トポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従ってGPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンドI2Cを介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がPCIeスイッチに対応する場合に、前記PCIe BusID情報に従って、前記PCIeスイッチに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
少なくとも前記GPUの温度情報及びCPUの温度情報に基づいて、前記インバンドI2C接続を介して、前記PCIeスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、サーバシステム。
【請求項4】
プロセッサと、
管理コントローラと、
前記プロセッサによって実行されると、サーバシステムに動作を実行させる命令を記憶するコンピュータ可読記憶媒体と、を備えるサーバシステムであって、
前記動作は、
前記サーバシステムの周辺機器相互接続エクスプレス(PCIe)トポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従ってGPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンドI2Cを介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がリタイマカードに対応する場合に、前記PCIe BusID情報に従って、前記リタイマカードに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
少なくとも前記GPUの温度情報に基づいて、アウトバンドI2C接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、サーバシステム。
【請求項5】
前記サーバシステムの前記PCIeトポロジは、PCIeトポロジツリーを用いて判別され、前記PCIeトポロジツリーは、前記OSエージェントを介して前記PCIe BusID情報を前記管理コントローラに送信する、請求項3又は4に記載のサーバシステム。
【請求項6】
サーバシステムの少なくとも1つのプロセッサによって実行されると、前記サーバシステムに動作を実行させる命令を記憶するコンピュータ可読記憶媒体であって、
前記動作は、
前記サーバシステムのPCIeトポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従ってGPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンドI2Cを介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がPCIeスイッチに対応する場合に、前記PCIe BusID情報に従って、前記PCIeスイッチに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
少なくとも前記GPUの温度情報及びCPUの温度情報に基づいて、前記インバンドI2C接続を介して、前記PCIeスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、コンピュータ可読記憶媒体。
【請求項7】
サーバシステムの少なくとも1つのプロセッサによって実行されると、前記サーバシステムに動作を実行させる命令を記憶するコンピュータ可読記憶媒体であって、
前記動作は、
前記サーバシステムのPCIeトポロジを判別するステップと、
オペレーティングシステム(OS)エージェントを介してPCIe BusID情報を送信するステップと、
前記PCIe BusID情報がGPUカードに対応する場合に、前記PCIe BusID情報に従ってGPUカードの温度情報をGPUライブラリから取得するステップと、
少なくとも前記GPUカードの前記温度情報に基づいて、インバンドI2Cを介して、前記GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、
前記PCIe BusID情報がリタイマカードに対応する場合に、前記PCIe BusID情報に従って、前記リタイマカードに関連付けられたGPUの温度情報を前記GPUライブラリから取得するステップと、
前記GPUの温度情報に基づいて、アウトバンドI2C接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、「THERMAL MANAGEMENT VIA OPERATING SYSTEM」と題する代理人整理番号077369‐107102USPT、及び、「THERMAL MANAGEMENT VIA VIRTUAL BMC MANAGER」と題する代理人整理番号077369‐107103USPTに関連するものであり、これらの両方は同時に出願されている。
【0002】
本発明は、概して、コンピューティングシステムにおける温度管理に関する。
【背景技術】
【0003】
現代のコンピューティングシステムは、GPU、CPU、RAM等の多数の電子コンポーネントを含む。電子コンポーネントがより高速でより強力になると(例えば、より小型の要素及びより高速なGPU又はCPUを有する等)、電子コンポーネント内でより多くの熱が発生する。適切に冷却しなければ、過熱が生じ、コンポーネントに物理的な損傷を与える可能性があり、場合によっては、システム障害やデータ損失を招くこともある。
【0004】
したがって、システムの主要コンポーネント(例えば、GPU等)の温度を監視して、過熱を抑制することが重要である。従来のシステムでは、システムは、集積回路間(Inter-Integrated Circuit;I
2C)接続を介してGPUの温度を読み取り、次に、冷却ファンを用いて、溜まった熱気を積極的に排気することによって、GPUから過剰な熱を除去し、GPU内の温度を適切に維持することができる。
【0005】
しかしながら、特定のコンピューティングシステムでは、GPUは、温度情報を送信するI
2C接続を有していない。
【発明の概要】
【発明が解決しようとする課題】
【0006】
コンピューティングシステムにおける温度管理を提供する。
【課題を解決するための手段】
【0007】
本開示の様々な例によるシステム及び方法は、周辺機器相互接続エクスプレス(PCIe)トポロジを介してサーバシステムのGPUの温度情報を取得し、少なくともGPUの温度に基づいて、管理コントローラ(例えば、ベースボード管理コントローラ(BMC])を用いて冷却ファンのファン速度を制御することによって、上述した問題を解決する方法を提供する。いくつかの実施形態では、管理コントローラは、オペレーティングシステム(OS)を介してサーバシステムのPCIeトポロジを判別し、サーバシステムの各GPU又はGPUカードのBusIDを取得することができる。BusIDに基づいて、管理コントローラは、GPUライブラリ(例えば、NVIDIA(商標)管理ライブラリ(NVML])から対応するGPUの温度情報を取得し、少なくとも温度情報に基づいて、関連する冷却ファンのファン速度を制御することができる。いくつかの実施形態では、管理コントローラは、対応するGPUが適切な温度で動作し、最適化された使用率を達成することができるように、冷却ファンのファン速度を管理する。
【0008】
いくつかの実施形態では、サーバシステムは、PCIeトポロジツリーを用いて、サーバシステム内のPCIeトポロジを識別し、次に、OSエージェントを介してPCIe BusID情報をBMCに送信することができる。PCIe BusID情報がGPUカードに関連付けられている場合には、BMCは、PCIe BusID情報に従って、GPUライブラリからGPUカードの温度情報を取得することができる。BMCは、少なくともGPUカードの温度情報に基づいて、インバンド(in-band)I
2Cを介して、GPUカードに関連付けられた冷却ファンのファン速度を制御することができる。
【0009】
PCIe BusID情報がPCIeスイッチに関連付けられいる場合には、BMCは、PCIeスイッチのPCIe BusID情報を用いて、PCIeスイッチに関連付けられたGPUの温度情報をGPUライブラリから取得することができる。BMCは、PCIeスイッチに関連付けられたGPUの温度情報及びサーバシステムのCPUの温度に基づいて、インバンドI
2Cを介して、PCIeスイッチに関連付けられた冷却ファンのファン速度を制御することができる。例えば、センサ群を、CPUとPCIeスイッチとの間に配置して、CPUの温度又はCPUとPCIeスイッチとの間の温度を検出するために使用することができる。BMCは、少なくともGPUの温度情報及びCPUの温度に基づいて、PCIeスイッチに関連付けられた冷却ファンのファン速度を制御する。
【0010】
PCIe BusID情報がリタイマカードに関連付けられている場合には、BMCは、リタイマカードのPCIe BusID情報を用いて、リタイマカードに関連付けられたGPUの温度情報をGPUライブラリから取得することができる。BMCは、リタイマに関連付けられたGPUの温度情報に基づいて、アウトバンド(out-band)I
2Cを介して、リタイマカードに関連付けられた対応する冷却ファンのファン速度を制御することができる。例えば、ジャストバンチオブディスクシステム(just-bunch-of-disks system)は、複数のGPU、PCIeスイッチ、リタイミングカード及び複数の冷却ファンを含むことができる。BMCは、リタイマカードのPCIe BusID情報を使用して、リタイマカードに関連付けられたGPUの温度情報をGPUライブラリから取得することができる。BMCは、少なくともGPUの温度情報に基づいて、アウトバンドI
2Cを介して、リタイマカードに関連付けられた冷却ファンのファン速度を制御することができる。
【0011】
本開示の一実施態様によれば、サーバシステムのPCIeトポロジを介してファン速度を制御するコンピュータ実行方法は、PCIeトポロジツリーを用いてサーバシステムのPCIeトポロジを判別するステップと、OSエージェントを介してPCIe BusID情報を送信するステップと、PCIe BusID情報がGPUカードに対応する場合に、PCIe BusID情報に従ってGPUカードの温度情報をGPUライブラリから取得するステップと、少なくともGPUカードの温度情報に基づいて、インバンドI
2Cを介して、GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。いくつかの実施形態では、コンピュータ実行方法は、PCIe BusID情報がPCIeスイッチに対応する場合に、PCIe BusID情報に従って、PCIeスイッチに関連付けられたGPUの温度情報をGPUライブラリから取得するステップと、サーバシステムのCPUの温度情報を判別するステップと、少なくともGPUの温度情報とCPUの温度情報とに基づいて、インバンドI
2Cを介して、PCIeスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。いくつかの実施形態では、コンピュータ実行方法は、PCIe BusID情報がリタイマカードに対応する場合に、PCIe BusID情報に従って、リタイマカードに関連付けられたGPUの温度情報をGPUライブラリから取得するステップと、少なくともGPUの温度情報に基づいて、アウトバンドI
2Cを介して、リタイマカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。
【0012】
本開示の別の態様によれば、命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。命令は、プロセッサによって実行されると、PCIeトポロジツリーを用いてサーバシステムのPCIeトポロジを判別するステップと、OSエージェントを介してPCIe BusID情報を送信するステップと、PCIe BusID情報がGPUカードに対応する場合に、PCIe BusID情報に従って、GPUカードの温度情報をGPUライブラリから取得するステップと、少なくともGPUカードの温度情報に基づいて、インバンドI
2Cを介して、GPUカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む動作をプロセッサに実行させる。
【0013】
本発明のさらなる特徴及び利点は、以下の説明に記載されるとともに、一部が記載から明らかとなる。また、本明細書で開示された原理を実施することによって知ることができる。本発明の特徴及び利点は、添付の特許請求の範囲において特に指摘されている機器及び組み合わせによって実現することができる。
【0014】
本開示並びにその利点及び図面は、添付の図面を参照して、例示的な実施形態の以下の説明からより良く理解されるであろう。これらの図面は、例示的な実施形態のみを示しており、様々な実施形態又は特許請求の範囲を限定するものではないことを理解されたい。
【図面の簡単な説明】
【0015】
【
図1A】本開示の一実施形態による、温度情報を送信するI
2C接続のないGPUを有するデータセンタ内の例示的なシステムを示す概略ブロック図である。
【
図1B】本開示の一実施形態による、複数のGPU及びCPUを含む
図1Aの例示的なシステムを示す概略ブロック図である。
【
図1C】本開示の一実施形態による、PCIeトポロジを介してファン速度を制御する
図1Aの例示的なシステムを示す概略ブロック図である。
【
図1D】本開示の一実施形態による、GPUカードのPCIe BusIDがBMCに送信される
図1Cの例示的なシステムを示す概略ブロック図である。
【
図1E】本開示の一実施形態による、PCIeスイッチのPCIe BusIDがBMCに送信される
図1Cの例示的なシステムを示す概略ブロック図である。
【
図1F】本開示の一実施形態による、リタイマ(retimer)カードのPCIe BusIDがBMCに送信される
図1Cの例示的なシステムを示す概略ブロック図である。
【
図1G】本開示の一実施形態による、I
2C接続を介して温度情報を送信するようにGPUに要求することなく、GPU温度を効果的に制御する
図1Aの例示的なシステムを示す概略ブロック図である。
【
図2】本開示の一実施形態による、サーバシステムのPCIeトポロジを介してファン速度を制御する例示的な方法を示す図である。
【発明を実施するための形態】
【0016】
本発明は、多くの異なる形態で具体化することができる。これらの実施形態は、本発明の原理の例示として考慮されるべきであり、本発明の広範な態様を限定することを意図するものではない。その範囲において、例えば、概要、要約及び詳細な説明に開示されているが、特許請求の範囲に明記されていない要素及び限定は、単独で又は集合的に、黙示、推論又は他の方法によって特許請求の範囲に組み込まれてはならない。本発明を詳細に説明する目的のために、特に断りのない限り、単数形は複数形を含み、その逆も同様である。「含む」という用語は、「制限なしに含む」ことを意味している。また、例えば、「約(about)」、「殆ど(almost)」、「実質的に(substantially)」、「おおよそ(approximately)」等の近似語は、本明細書では、例えば、「…で(at)」、「…近くで(near)」、「…に近接して(nearly at)」、「…の3〜5%の範囲内で」、「製造公差の許容範囲内で」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
【0017】
本開示の様々な例は、PCIeトポロジを介してサーバシステムのGPUの温度情報を取得し、少なくともGPUの温度に基づいて、ベースボード管理コントローラ(BMC)を用いて、冷却ファンのファン速度を制御するシステム及び方法を提供する。いくつかの実施形態では、管理コントローラは、オペレーティングシステム(OS)を介してサーバシステムのPCIeトポロジを判別し、サーバシステムの各GPU又はGPUカードのBusIDを取得することができる。管理コントローラは、BusIDに基づいて、GPUライブラリ(例えば、NVIDIA管理ライブラリ(NVML])から対応するGPUの温度情報を取得し、少なくとも温度情報に基づいて、関連する冷却ファンのファン速度を制御することができる。
【0018】
図1Aは、本開示の一実施形態による、温度情報を送信するI
2C接続のないGPUを有するデータセンタ内の例示的なシステムを示す概略ブロック図である。この例では、サーバシステム100Aは、GPU112と、プロセッサ104と、PCIeスイッチ113と、1つ以上の冷却モジュール110と、メインメモリ(MEM)111と、AC電源101からAC電力を受け取り、電力をサーバシステム100Aの様々なコンポーネント(例えば、プロセッサ104、ノースブリッジ(NB)ロジック106、PCIeスロット160、サウスブリッジ(SB)ロジック108、ストレージデバイス109、ISAスロット150、PCIスロット170等)に供給する少なくとも1つの電源ユニット(PSU)102と、管理デバイス103と、を含む。この例では、少なくとも1つのGPU112は、対応するGPU112の温度情報を送信するI
2C接続を有していない。PCIeスイッチ113は、複数のI/Oデバイス、GPU112及びプロセッサ104間の高速シリアルポイントツーポイント(point-to-point)接続を可能にし、ホストへのエンドポイントトラフィックの集約、ファンアウト又はピアツーピア通信を最適化する。いくつかの例では、サーバシステム100Aは、プロセッサ104とPCIeスイッチ113とを接続するリタイマカード(図示笑楽)を更に含む。リタイマカードは、デターミニスティック(決定性)ジッタ及びランダムジッタの両方を補償するためのイコライゼーション機能及びクロックデータリカバリ(CDR)機能を有し、クリーン信号を順次ダウンストリームに送信するミックスドシグナルデバイスである。
【0019】
プロセッサ104は、特定の機能のプログラム命令を実行するように構成された中央処理装置(CPU)とすることができる。例えば、プロセッサ104は、起動プロセス中に、管理デバイス103又はフラッシュストレージデバイスに記憶されたファームウェアデータにアクセスし、BIOS105を実行してサーバシステム100Aを初期化することができる。プロセッサ104は、起動プロセス後に、サーバシステム100Aの特定のタスクを実行及び管理するためにオペレーティングシステム(OS)を実行することができる。
【0020】
いくつかの構成では、プロセッサ104は、マルチコアプロセッサとすることができ、マルチコアプロセッサの各プロセッサは、NBロジック106に接続されたCPUバスを介して互いに接続される。いくつかの構成では、NBロジック106をプロセッサ104に統合することができる。また、NBロジック106は、複数の周辺機器相互接続エクスプレス(PCIe)スロット160及びSBロジック108(オプション)に接続することができる。複数のPCIeスロット160は、例えば、PCI エクスプレス x1、USB2.0、SMBus、SIMカード、他のPCIeレーンの将来の拡張、1.5V及び3.3Vの電源、並びに、サーバシステム100Aのシャーシ上の診断LEDへの配線等の接続及びバスに使用することができる。
【0021】
システム100Aでは、NBロジック106及びSBロジック108は、周辺機器相互接続(PCI)バス107によって接続されている。SBロジック108は、拡張バスを介して、PCIバス107を、複数の拡張カード又はISAスロット150(例えば、ISAスロット151)に接続することができる。SBロジック108は、少なくとも1つのPSU102に接続された管理デバイス103に更に接続されている。いくつかの実装形態では、管理デバイス103は、ベースボード管理コントローラ(BMC)又はラック管理コントローラ(RMC)であってもよい。
【0022】
管理デバイス103(例えば、BMC等)は、PCIeトポロジツリー(図示省略)を用いてサーバシステム100A内のPCIeトポロジを識別し、OSエージェント(図示省略)を介してPCIe BusID情報を受信することができる。いくつかの実施形態では、PCIeトポロジツリーは、lspciから問い合わせされた情報であってもよい。lspciは、システム内のハードウェアからの実際のPCIe情報を測定するシステムユーティリティである。順序は、ルートコンプレックス(Root Complex)→ルートポート(Root Port)→ブリッジ/エンドポイント(Bridge/End Point)とすることができる。lspciは、ルートコンプレックスからエンドポイントまでのアーキテクチャを表すことができる。いくつかの実施形態では、異なるCPUソケットが異なる独自のルートコンプレックスを有することができる。PCIe BusID及びその分岐を用いると、サーバシステム100Aのハードウェアトポロジにおけるハードウェアの物理的位置を決定するのに役立つ。
【0023】
管理デバイス103は、PCIe BusID情報に基づいて、NVIDIA管理ライブラリ(NVML)(図示省略)から対応するGPU112の温度情報を取得し、少なくとも温度情報に基づいて、GPU112に関連付けられた冷却ファン110のファン速度を制御することができる。
【0024】
管理デバイス103は、PCIe BusID情報がGPUカード112に関連付けられている場合に、PCIe BusID情報に従って、GPUカード112の温度情報をNVMLから取得することができる。管理デバイス103は、少なくともGPUカードの温度情報に基づいて、インバンド(in-band)I
2C接続を介して、GPUカードに関連付けられた冷却ファン110のファン速度を制御することができる。管理デバイス103は、PCIe BusID情報がPCIeスイッチ113に関連付けられている場合に、PCIeスイッチ113のPCIe BusID情報を用いて、PCIeスイッチ113に関連付けられたGPU112の温度情報をNVMLから取得することができる。管理デバイス103は、PCIeスイッチ113に関連付けられたGPU112の温度情報、及び、サーバシステムのCPUの温度に基づいて、インバンドI
2C接続を介して、PCPCIeスイッチ113に関連付けられた冷却ファン110のファン速度を制御することができる。管理デバイス103は、PCIe BusID情報がリタイマカード(図示省略)に関連付けられている場合に、リタイマカードのPCIe BusID情報を用いて、リタイマカードに関連付けられたGPU112の温度情報をNVMLから取得することができる。管理デバイス103は、リタイマに関連付けられたGPU112の温度情報に基づいて、アウトバンドI
2C接続を介して、リタイマカードに関連付けられた対応する冷却ファン110のファン速度を制御することができる。
【0025】
いくつかの実施形態では、ファン制御サービスは、管理デバイス103のサービスであり、管理デバイス103によって提供されるソフトウェアサービスである。ソフトウェアサービスは、GPU112の情報を問い合わせることができる。オペレーティングシステム(OS)がOSに組み込まれたOSエージェントを実行する場合、OSエージェントは、サービスコード2バイト(例えば0x0A)を送信し、ファン制御サービスを開始するように管理デバイス103に通知する。
【0026】
図1Aの構成例を
図1Bに更に示す。
図1Bでは、サーバシステム100Bは、CPU104−1,104−2と、複数のGPUを有するGPUカード112であって、NVML114に接続されたGPUカード112と、を含む。CPU104−1,104−2は、ウルトラパスインターコネクト(UPI)104−3を介して相互接続されている。少なくとも1つのGPU(即ち、GPU0、GPU1、GPU2及びGPU3)は、温度情報を送信するI
2C接続を有していない。
【0027】
図1Aのファン速度制御の一例を
図1Cに更に示す。
図1Cでは、サーバシステム100Cは、PCIeトポロジツリー118と、GPU112、PCIeスイッチ113、リタイマカード115及び他のPCIeデバイスを接続するCPUルートコンプレックス104と、OSエージェント116と、BMC103と、を含む。PCIeトポロジツリー118は、サーバシステム100C内のPCIeトポロジを識別し、OSエージェント116を介してPCIe BusID情報をBMC103に送信することができる。BMC103は、PCIe BusID情報に基づいて、対応するGPU112の温度情報をライブラリ(例えば、NVIDIA管理ライブラリ(NVML)114)から取得し、少なくとも温度情報に基づいて、関連する冷却ファン110のファン速度を制御することができる。いくつかの実装形態では、BMC103は、ファン制御サービス117を介して冷却ファン110のファン速度を制御することができる。
【0028】
図1Dは、GPUカード112のPCIe BusIDがBMC103に送信される
図1Cのシナリオを示している。この例では、CPU104−1,104−2は、複数のGPUを含むGPUカード112に直接接続されている。NVML114は、CUDAドライバ121を介して、GPU(例えば、GPU0、GPU1、GPU2及びGPU3)の温度情報を収集する。BMC103は、OS116を介して、GPUカード112のPCIe BusID情報に従って、GPU(例えば、GPU0、GPU1、GPU2及びGPU3)の温度情報をNVML114から取得することができる。BMC103は、少なくともGPU(例えば、GPU0、GPU1、GPU2及びGPU3)の温度情報に基づいて、インバンドI
2C接続を介して、GPUカード112に関連付けられた冷却ファン110のファン速度を制御する。
【0029】
図1Eは、PCIeスイッチ113−1,113−2のPCIe BusIDがBMC103に送信される
図1Cのシナリオを示している。この例では、PCIeスイッチ113−1は、CPU104−1と、GPU0、GPU1、GPU2及びGPU3を含むGPUクラスタと、を接続し、PCIeスイッチ113−2は、CPU104−2と、GPU4、GPU5、GPU6及びGPU7を含むGPUクラスタと、を接続する。NVML114は、CUDAドライバ121を介してGPU112の温度情報を収集する。BMC103は、OS116を介して、PCIeスイッチ113−1,113−2のPCIe BusID情報に従って、GPU(例えば、GPU0〜GPU7)の温度情報をNVML114から取得することができる。BMC103は、少なくともGPU(例えば、GPU0〜GPU7)の温度情報に基づいて、インバンドI
2C接続を介して、GPU112に関連付けられた冷却ファン110のファン速度を制御することができる。
【0030】
いくつかの実装形態では、センサ群122は、CPU(例えば、104−1,104−2)とPCIeスイッチ(例えば、113−1,113−2)との間に配置されている。センサ群は、CPU(例えば、104−1,104−2)の温度、又は、CPU(例えば、104−1,104−2)とPCIeスイッチ(例えば、113−1,113−2)との間の温度を検出するように構成されている。BMC103は、少なくともCPUの温度(例えば、104−1,104−2)及びGPU(例えば、GPU0〜GPU7)の温度情報に基づいて、インバンドI
2C接続を介して、PCIeスイッチ(例えば、113−1,113−2)に関連付けられた冷却ファン110のファン速度を制御することができる。
【0031】
いくつかの実施形態では、lspciが、サーバシステム100EのトポロジがPCIeスイッチを含むと検出した場合、BMC103は、CPU(例えば、104−1,104−2)の温度を自動的に考慮し、ファン制御サービス117に対して、センサ群122からの温度データを収集させることができる。
【0032】
いくつかの実施形態では、IPMIツールを用いて、キーボード信号制御(KSC)によってBMC103を呼び出して、BMC103のサービスを制御する。BMCrawデータは、GPU(例えば、GPU0〜GPU7)から取得したGPU情報を保存するためのスペースである。OS116がBMC103に対してBMCサービスを起動させると、ファン制御サービス117は、GPU情報をBMCrawデータから自動的にロードすることができる。
【0033】
図1Fは、リタイマカード115−1,115−2のPCIe BusIDがBMC103−1に送信される
図1Cのシナリオを示している。この例では、リタイマカード115−1は、CPU104−1とPCIeスイッチ113−1とを接続し、リタイマカード115−2は、CPU104−2とPCIeスイッチ113−1とを接続する。PCIeスイッチ113−1は、GPU0、GPU1、GPU2及びGPU3に接続されたPCIeスイッチ103−2と、GPU4、GPU5、GPU6及びGPU7に接続されたPCIeスイッチ103−3と、を接続する。NVML114は、CUDAドライバ121を介してGPU112の温度情報を収集する。
【0034】
この例では、BMC103−1は、OS116を介して、リタイマカード115−1,115−2のPCIe BusID情報に従って、GPU(例えば、GPU0〜GPU7)の温度情報をNVML114から取得することができる。BMC103−1は、少なくともGPU(例えば、GPU0〜GPU7)の温度情報に基づいて、アウトバンドI
2C接続120を介して、GPU(例えば、GPU0〜GPU7)に関連付けられた冷却ファン110−2のファン速度を制御することができる。
【0035】
いくつかの実施形態では、アウトバンドを用いて、リタイマカード115−1,115−2をジャストバンチオブディスク(JBOD)システム(
図1Fの左下部分)に接続する。JBODシステムは、CPUを必要とせず、リタイマカード115−1,115−2と通信するためのミニシリアルATアタッチメント(SATA)のみを有することができる。
【0036】
この例では、左上部分及び左下部分は、リタイマカード115−1,115−2が互いに接続する2つの別々のシステムである。OSエージェント116は、トポロジをチェックしてサーバシステム100FのPCIeトポロジを識別すると、一部の情報がローカルコンポーネントが得られないと判別し、GPU(例えば、GPU0〜GPU7)の温度情報を含むJBODシステムのBMC103−2の情報を自動的に考慮することができる。また、OSエージェント116は、KSCを用いて、BMC103−2,BMC103−1から独立したプログラムであるファン制御サーバ117を使用可能にする。
【0037】
上述したように、サーバシステム100A〜100Fは、I
2C接続を介して温度情報を送信するようにGPU112に要求することなく、GPU温度を効果的に制御することができる。具体例を
図1Gに示す。この例では、GPU温度及びBMC温度は、それぞれ84℃及び32℃に達し、冷却ファン110のファン速度は60%である。BMC103がGPU温度を取得すると、BMC103は、GPU温度(84℃)がスローダウン温度(slowdown temperature)(85℃)に近過ぎると判別することができる。次に、BMC103は、冷却ファン110のファン速度を60%から80%に増加させることができる。その結果、GPU温度は82℃に低下し、BMC温度は30℃に低下する。したがって、GPU112は、適切な温度で効果的に動作し、高い利用率を維持することができる。
【0038】
上述した説明は、本開示の原理及び様々な実施例を例示することを意図している。上述の開示内容が十分に理解されれば、様々な変更や修正がなされることが明白であろう。
【0039】
図2は、本開示の一実施形態による、サーバシステムのPCIeトポロジを介してファン速度を制御する例示的な方法200を示す図である。例示的な方法200は、説明目的のためだけに示されており、本開示による他の方法は、類似若しくは他の順序で又は並行して実行される追加の、より少ない又は代替のステップを含み得ることを理解されたい。例示的な方法200は、ステップ202において、サーバシステム内のPCIeトポロジを判別することによって開始する。いくつかの実施形態では、サーバシステムのPCIeトポロジツリーを用いて、サーバシステムのPCIeトポロジを判別することができる。
【0040】
ステップ204では、
図1A〜
図1Fに示すように、PCIe BusID情報を、OSエージェントを介してサーバシステムの管理コントローラ(例えば、BMC)に送信することができる。いくつかの実施形態では、PCIeトポロジツリーは、OSエージェントを介して、PCIe BusID情報を管理コントローラに送信する。ステップ206では、管理コントローラは、受信したPCIe BusID情報に関連する特定のデバイスを識別することができる。
【0041】
ステップ208では、
図1C及び
図1Dに示すように、PCIe BusID情報がGPUカードに対応する場合、管理コントローラは、PCIe BusID情報に従って、GPUカードの温度情報をGPUライブラリ(例えば、NVIDIA管理ライブラリ(NVML))から取得することができる。ステップ210では、管理コントローラは、少なくともGPUカードの温度情報に基づいて、インバンドI
2C接続を介して、GPUカードに関連付けられた冷却ファンのファン速度を制御することができる。
【0042】
ステップ212では、
図1C及び
図1Eに示すように、PCIe BusID情報がPCIeスイッチに対応する場合、管理コントローラは、PCIe BusID情報に従って、PCIeカードに関連付けられたGPUの温度情報をGPUライブラリから取得することができる。いくつかの実施形態では、
図1Eに示すように、センサ群を、CPUとPCIeスイッチとの間に配置し、CPUの温度、又は、CPUとPCIeスイッチとの間の温度を検出するように用いることができる。ステップ214では、管理コントローラは、センサ群を用いてCPU温度を判別することができる。ステップ216では、管理コントローラは、少なくともGPUの温度情報及びCPUの温度に基づいて、インバンドI
2C接続を介して、PCIeスイッチに関連付けられた冷却ファンのファン速度を制御することができる。
【0043】
ステップ218では、
図1C及び
図1Eに示すように、PCIe BusID情報がリタイマカードに対応する場合、管理コントローラは、PCIe BusID情報に従って、リタイマカードに関連付けられたGPUの温度情報をGPUライブラリから取得することができる。ステップ220では、管理コントローラは、少なくともGPUの温度情報に基づいて、アウトバンドI
2C接続を介して、リタイマカードに関連付けられた冷却ファンのファン速度を制御することができる。
【符号の説明】
【0044】
100A〜100F…サーバシステム
101…電源
102…電源ユニット(PSU)
103…管理デバイス
104…プロセッサ
104−1,104−2…CPU
104−3…ウルトラパスインターコネクト(UPI)
105…BIOS
106…ノースブリッジ(NB)ロジック
107…周辺機器相互接続(PCI)バス
108…SBロジック
109…ストレージデバイス
110…冷却モジュール
110−1,110−2…冷却ファン
111…メインメモリ(MEM)
112…GPU
113…PCIeスイッチ
113−1,113−2,113−3…PCIeスイッチ
114…NVML
115…リタイマカード
115−1,1153−2…リタイマカード
116…OSエージェント
117…ファン制御サービス
118…PCIeトポロジツリー
119…BMCホストボード
120…アウトバンドI
2C接続
121…CUDAドライバ
122…センサ群
150,151…ISAスロット
160,161…PCIeスロット
170,171…PCIスロット
200…方法
202,204,206,208,210,212,214,216,218,210…ステップ