(57)【要約】【課題】コンピューティングシステムにおける温度管理を提供する。【解決手段】周辺機器相互接続エクスプレス（ＰＣＩｅ）トポロジを介してサーバシステムの冷却ファンのファン速度を制御するコンピュータ実行方法であって、サーバシステムのＰＣＩｅトポロジを判別するステップと、オペレーティングシステム（ＯＳ）エージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、ＰＣＩｅバスＩＤ情報に従ってＧＰＵカードの温度情報をＧＰＵライブラリから取得するステップと、少なくともＧＰＵカードの温度情報に基づいて、インバンド集積回路間（Ｉ２Ｃ）接続を介して、ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含むコンピュータ実行方法。【選択図】図２
2020053032.tif 000002
【特許請求の範囲】
【請求項１】
周辺機器相互接続エクスプレス（ＰＣＩｅ）トポロジを介してサーバシステムの冷却ファンのファン速度を制御するコンピュータ実行方法であって、
前記サーバシステムの前記ＰＣＩｅトポロジを判別するステップと、
オペレーティングシステム（ＯＳ）エージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って前記ＧＰＵカードの温度情報をＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵカードの前記温度情報に基づいて、インバンド集積回路間（Ｉ２Ｃ）接続を介して、前記ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含むコンピュータ実行方法。
【請求項２】
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵの温度情報及びＣＰＵの温度情報に基づいて、前記インバンドＩ２Ｃ接続を介して、前記ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、請求項１に記載のコンピュータ実行方法。
【請求項３】
前記ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記リタイマカードに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
前記ＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃ接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、請求項１に記載のコンピュータ実行方法。
【請求項４】
プロセッサと、
管理コントローラと、
前記プロセッサによって実行されると、サーバシステムに動作を実行させる命令を記憶するコンピュータ可読記憶媒体と、を備えるサーバシステムであって、
前記動作は、
前記サーバシステムの周辺機器相互接続エクスプレス（ＰＣＩｅ）トポロジを判別するステップと、
オペレーティングシステム（ＯＳ）エージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従ってＧＰＵカードの温度情報をＧＵＰライブラリから取得するステップと、
少なくとも前記ＧＰＵカードの前記温度情報に基づいて、インバンドＩ２Ｃを介して、前記ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、サーバシステム。
【請求項５】
前記動作は、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵの温度情報及びＣＰＵの温度情報に基づいて、前記インバンドＩ２Ｃ接続を介して、前記ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、請求項４に記載のサーバシステム。
【請求項６】
前記動作は、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記リタイマカードに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃ接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、請求項４に記載のサーバシステム。
【請求項７】
前記サーバシステムの前記ＰＣＩｅトポロジは、ＰＣＩｅトポロジツリーを用いて判別され、前記ＰＣＩｅトポロジツリーは、前記ＯＳエージェントを介して前記ＰＣＩｅ  ＢｕｓＩＤ情報を前記管理コントローラに送信する、請求項４に記載のサーバシステム。
【請求項８】
サーバシステムの少なくとも１つのプロセッサによって実行されると、前記プロセッサに動作を実行させる命令を記憶するコンピュータ可読記憶媒体であって、
前記動作は、
前記サーバシステムのＰＣＩｅトポロジを判別するステップと、
オペレーティングシステム（ＯＳ）エージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従ってＧＰＵカードの温度情報をＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵカードの前記温度情報に基づいて、インバンドＩ２Ｃを介して、前記ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、コンピュータ可読記憶媒体。
【請求項９】
前記動作は、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
少なくとも前記ＧＰＵの温度情報及びＣＰＵの温度情報に基づいて、前記インバンドＩ２Ｃ接続を介して、前記ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む、請求項８に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記動作は、
前記ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに対応する場合に、前記ＰＣＩｅ  ＢｕｓＩＤ情報に従って、前記リタイマカードに関連付けられたＧＰＵの温度情報を前記ＧＰＵライブラリから取得するステップと、
前記ＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃ接続を介して、前記リタイマカードに関連付けられた複数の冷却ファンのファン速度を管理するステップと、を含む、請求項８に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、「ＴＨＥＲＭＡＬ  ＭＡＮＡＧＥＭＥＮＴ  ＶＩＡ  ＯＰＥＲＡＴＩＮＧ  ＳＹＳＴＥＭ」と題する代理人整理番号０７７３６９‐１０７１０２ＵＳＰＴ、及び、「ＴＨＥＲＭＡＬ  ＭＡＮＡＧＥＭＥＮＴ  ＶＩＡ  ＶＩＲＴＵＡＬ  ＢＭＣ  ＭＡＮＡＧＥＲ」と題する代理人整理番号０７７３６９‐１０７１０３ＵＳＰＴに関連するものであり、これらの両方は同時に出願されている。
【０００２】
本発明は、概して、コンピューティングシステムにおける温度管理に関する。
【背景技術】
【０００３】
現代のコンピューティングシステムは、ＧＰＵ、ＣＰＵ、ＲＡＭ等の多数の電子コンポーネントを含む。電子コンポーネントがより高速でより強力になると（例えば、より小型の要素及びより高速なＧＰＵ又はＣＰＵを有する等）、電子コンポーネント内でより多くの熱が発生する。適切に冷却しなければ、過熱が生じ、コンポーネントに物理的な損傷を与える可能性があり、場合によっては、システム障害やデータ損失を招くこともある。
【０００４】
したがって、システムの主要コンポーネント（例えば、ＧＰＵ等）の温度を監視して、過熱を抑制することが重要である。従来のシステムでは、システムは、集積回路間（Inter-Integrated Circuit；Ｉ２Ｃ）接続を介してＧＰＵの温度を読み取り、次に、冷却ファンを用いて、溜まった熱気を積極的に排気することによって、ＧＰＵから過剰な熱を除去し、ＧＰＵ内の温度を適切に維持することができる。
【０００５】
しかしながら、特定のコンピューティングシステムでは、ＧＰＵは、温度情報を送信するＩ２Ｃ接続を有していない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
コンピューティングシステムにおける温度管理を提供する。
【課題を解決するための手段】
【０００７】
本開示の様々な例によるシステム及び方法は、周辺機器相互接続エクスプレス（ＰＣＩｅ）トポロジを介してサーバシステムのＧＰＵの温度情報を取得し、少なくともＧＰＵの温度に基づいて、管理コントローラ（例えば、ベースボード管理コントローラ（ＢＭＣ］）を用いて冷却ファンのファン速度を制御することによって、上述した問題を解決する方法を提供する。いくつかの実施形態では、管理コントローラは、オペレーティングシステム（ＯＳ）を介してサーバシステムのＰＣＩｅトポロジを判別し、サーバシステムの各ＧＰＵ又はＧＰＵカードのＢｕｓＩＤを取得することができる。ＢｕｓＩＤに基づいて、管理コントローラは、ＧＰＵライブラリ（例えば、ＮＶＩＤＩＡ（商標）管理ライブラリ（ＮＶＭＬ］）から対応するＧＰＵの温度情報を取得し、少なくとも温度情報に基づいて、関連する冷却ファンのファン速度を制御することができる。いくつかの実施形態では、管理コントローラは、対応するＧＰＵが適切な温度で動作し、最適化された使用率を達成することができるように、冷却ファンのファン速度を管理する。
【０００８】
いくつかの実施形態では、サーバシステムは、ＰＣＩｅトポロジツリーを用いて、サーバシステム内のＰＣＩｅトポロジを識別し、次に、ＯＳエージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報をＢＭＣに送信することができる。ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに関連付けられている場合には、ＢＭＣは、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵライブラリからＧＰＵカードの温度情報を取得することができる。ＢＭＣは、少なくともＧＰＵカードの温度情報に基づいて、インバンド（in-band）Ｉ２Ｃを介して、ＧＰＵカードに関連付けられた冷却ファンのファン速度を制御することができる。
【０００９】
ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに関連付けられいる場合には、ＢＭＣは、ＰＣＩｅスイッチのＰＣＩｅ  ＢｕｓＩＤ情報を用いて、ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得することができる。ＢＭＣは、ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報及びサーバシステムのＣＰＵの温度に基づいて、インバンドＩ２Ｃを介して、ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を制御することができる。例えば、センサ群を、ＣＰＵとＰＣＩｅスイッチとの間に配置して、ＣＰＵの温度又はＣＰＵとＰＣＩｅスイッチとの間の温度を検出するために使用することができる。ＢＭＣは、少なくともＧＰＵの温度情報及びＣＰＵの温度に基づいて、ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を制御する。
【００１０】
ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに関連付けられている場合には、ＢＭＣは、リタイマカードのＰＣＩｅ  ＢｕｓＩＤ情報を用いて、リタイマカードに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得することができる。ＢＭＣは、リタイマに関連付けられたＧＰＵの温度情報に基づいて、アウトバンド（out-band）Ｉ２Ｃを介して、リタイマカードに関連付けられた対応する冷却ファンのファン速度を制御することができる。例えば、ジャストバンチオブディスクシステム（just-bunch-of-disks system）は、複数のＧＰＵ、ＰＣＩｅスイッチ、リタイミングカード及び複数の冷却ファンを含むことができる。ＢＭＣは、リタイマカードのＰＣＩｅ  ＢｕｓＩＤ情報を使用して、リタイマカードに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得することができる。ＢＭＣは、少なくともＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃを介して、リタイマカードに関連付けられた冷却ファンのファン速度を制御することができる。
【００１１】
本開示の一実施態様によれば、サーバシステムのＰＣＩｅトポロジを介してファン速度を制御するコンピュータ実行方法は、ＰＣＩｅトポロジツリーを用いてサーバシステムのＰＣＩｅトポロジを判別するステップと、ＯＳエージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、ＰＣＩｅ  ＢｕｓＩＤ情報に従ってＧＰＵカードの温度情報をＧＰＵライブラリから取得するステップと、少なくともＧＰＵカードの温度情報に基づいて、インバンドＩ２Ｃを介して、ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。いくつかの実施形態では、コンピュータ実行方法は、ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに対応する場合に、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＰＣＩｅスイッチに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得するステップと、サーバシステムのＣＰＵの温度情報を判別するステップと、少なくともＧＰＵの温度情報とＣＰＵの温度情報とに基づいて、インバンドＩ２Ｃを介して、ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。いくつかの実施形態では、コンピュータ実行方法は、ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに対応する場合に、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、リタイマカードに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得するステップと、少なくともＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃを介して、リタイマカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む。
【００１２】
本開示の別の態様によれば、命令を記憶する非一時的なコンピュータ可読記憶媒体が提供される。命令は、プロセッサによって実行されると、ＰＣＩｅトポロジツリーを用いてサーバシステムのＰＣＩｅトポロジを判別するステップと、ＯＳエージェントを介してＰＣＩｅ  ＢｕｓＩＤ情報を送信するステップと、ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合に、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵカードの温度情報をＧＰＵライブラリから取得するステップと、少なくともＧＰＵカードの温度情報に基づいて、インバンドＩ２Ｃを介して、ＧＰＵカードに関連付けられた冷却ファンのファン速度を管理するステップと、を含む動作をプロセッサに実行させる。
【００１３】
本発明のさらなる特徴及び利点は、以下の説明に記載されるとともに、一部が記載から明らかとなる。また、本明細書で開示された原理を実施することによって知ることができる。本発明の特徴及び利点は、添付の特許請求の範囲において特に指摘されている機器及び組み合わせによって実現することができる。
【００１４】
本開示並びにその利点及び図面は、添付の図面を参照して、例示的な実施形態の以下の説明からより良く理解されるであろう。これらの図面は、例示的な実施形態のみを示しており、様々な実施形態又は特許請求の範囲を限定するものではないことを理解されたい。
【図面の簡単な説明】
【００１５】
【図１Ａ】本開示の一実施形態による、温度情報を送信するＩ２Ｃ接続のないＧＰＵを有するデータセンタ内の例示的なシステムを示す概略ブロック図である。
【図１Ｂ】本開示の一実施形態による、複数のＧＰＵ及びＣＰＵを含む図１Ａの例示的なシステムを示す概略ブロック図である。
【図１Ｃ】本開示の一実施形態による、ＰＣＩｅトポロジを介してファン速度を制御する図１Ａの例示的なシステムを示す概略ブロック図である。
【図１Ｄ】本開示の一実施形態による、ＧＰＵカードのＰＣＩｅ  ＢｕｓＩＤがＢＭＣに送信される図１Ｃの例示的なシステムを示す概略ブロック図である。
【図１Ｅ】本開示の一実施形態による、ＰＣＩｅスイッチのＰＣＩｅ  ＢｕｓＩＤがＢＭＣに送信される図１Ｃの例示的なシステムを示す概略ブロック図である。
【図１Ｆ】本開示の一実施形態による、リタイマ（retimer）カードのＰＣＩｅ  ＢｕｓＩＤがＢＭＣに送信される図１Ｃの例示的なシステムを示す概略ブロック図である。
【図１Ｇ】本開示の一実施形態による、Ｉ２Ｃ接続を介して温度情報を送信するようにＧＰＵに要求することなく、ＧＰＵ温度を効果的に制御する図１Ａの例示的なシステムを示す概略ブロック図である。
【図２】本開示の一実施形態による、サーバシステムのＰＣＩｅトポロジを介してファン速度を制御する例示的な方法を示す図である。
【発明を実施するための形態】
【００１６】
本発明は、多くの異なる形態で具体化することができる。これらの実施形態は、本発明の原理の例示として考慮されるべきであり、本発明の広範な態様を限定することを意図するものではない。その範囲において、例えば、概要、要約及び詳細な説明に開示されているが、特許請求の範囲に明記されていない要素及び限定は、単独で又は集合的に、黙示、推論又は他の方法によって特許請求の範囲に組み込まれてはならない。本発明を詳細に説明する目的のために、特に断りのない限り、単数形は複数形を含み、その逆も同様である。「含む」という用語は、「制限なしに含む」ことを意味している。また、例えば、「約（about）」、「殆ど（almost）」、「実質的に（substantially）」、「おおよそ（approximately）」等の近似語は、本明細書では、例えば、「…で（at）」、「…近くで（near）」、「…に近接して（nearly at）」、「…の３〜５％の範囲内で」、「製造公差の許容範囲内で」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
【００１７】
本開示の様々な例は、ＰＣＩｅトポロジを介してサーバシステムのＧＰＵの温度情報を取得し、少なくともＧＰＵの温度に基づいて、ベースボード管理コントローラ（ＢＭＣ）を用いて、冷却ファンのファン速度を制御するシステム及び方法を提供する。いくつかの実施形態では、管理コントローラは、オペレーティングシステム（ＯＳ）を介してサーバシステムのＰＣＩｅトポロジを判別し、サーバシステムの各ＧＰＵ又はＧＰＵカードのＢｕｓＩＤを取得することができる。管理コントローラは、ＢｕｓＩＤに基づいて、ＧＰＵライブラリ（例えば、ＮＶＩＤＩＡ管理ライブラリ（ＮＶＭＬ］）から対応するＧＰＵの温度情報を取得し、少なくとも温度情報に基づいて、関連する冷却ファンのファン速度を制御することができる。
【００１８】
図１Ａは、本開示の一実施形態による、温度情報を送信するＩ２Ｃ接続のないＧＰＵを有するデータセンタ内の例示的なシステムを示す概略ブロック図である。この例では、サーバシステム１００Ａは、ＧＰＵ１１２と、プロセッサ１０４と、ＰＣＩｅスイッチ１１３と、１つ以上の冷却モジュール１１０と、メインメモリ（ＭＥＭ）１１１と、ＡＣ電源１０１からＡＣ電力を受け取り、電力をサーバシステム１００Ａの様々なコンポーネント（例えば、プロセッサ１０４、ノースブリッジ（ＮＢ）ロジック１０６、ＰＣＩｅスロット１６０、サウスブリッジ（ＳＢ）ロジック１０８、ストレージデバイス１０９、ＩＳＡスロット１５０、ＰＣＩスロット１７０等）に供給する少なくとも１つの電源ユニット（ＰＳＵ）１０２と、管理デバイス１０３と、を含む。この例では、少なくとも１つのＧＰＵ１１２は、対応するＧＰＵ１１２の温度情報を送信するＩ２Ｃ接続を有していない。ＰＣＩｅスイッチ１１３は、複数のＩ／Ｏデバイス、ＧＰＵ１１２及びプロセッサ１０４間の高速シリアルポイントツーポイント（point-to-point）接続を可能にし、ホストへのエンドポイントトラフィックの集約、ファンアウト又はピアツーピア通信を最適化する。いくつかの例では、サーバシステム１００Ａは、プロセッサ１０４とＰＣＩｅスイッチ１１３とを接続するリタイマカード（図示笑楽）を更に含む。リタイマカードは、デターミニスティック（決定性）ジッタ及びランダムジッタの両方を補償するためのイコライゼーション機能及びクロックデータリカバリ（ＣＤＲ）機能を有し、クリーン信号を順次ダウンストリームに送信するミックスドシグナルデバイスである。
【００１９】
プロセッサ１０４は、特定の機能のプログラム命令を実行するように構成された中央処理装置（ＣＰＵ）とすることができる。例えば、プロセッサ１０４は、起動プロセス中に、管理デバイス１０３又はフラッシュストレージデバイスに記憶されたファームウェアデータにアクセスし、ＢＩＯＳ１０５を実行してサーバシステム１００Ａを初期化することができる。プロセッサ１０４は、起動プロセス後に、サーバシステム１００Ａの特定のタスクを実行及び管理するためにオペレーティングシステム（ＯＳ）を実行することができる。
【００２０】
いくつかの構成では、プロセッサ１０４は、マルチコアプロセッサとすることができ、マルチコアプロセッサの各プロセッサは、ＮＢロジック１０６に接続されたＣＰＵバスを介して互いに接続される。いくつかの構成では、ＮＢロジック１０６をプロセッサ１０４に統合することができる。また、ＮＢロジック１０６は、複数の周辺機器相互接続エクスプレス（ＰＣＩｅ）スロット１６０及びＳＢロジック１０８（オプション）に接続することができる。複数のＰＣＩｅスロット１６０は、例えば、ＰＣＩ  エクスプレス  ｘ１、ＵＳＢ２．０、ＳＭＢｕｓ、ＳＩＭカード、他のＰＣＩｅレーンの将来の拡張、１．５Ｖ及び３．３Ｖの電源、並びに、サーバシステム１００Ａのシャーシ上の診断ＬＥＤへの配線等の接続及びバスに使用することができる。
【００２１】
システム１００Ａでは、ＮＢロジック１０６及びＳＢロジック１０８は、周辺機器相互接続（ＰＣＩ）バス１０７によって接続されている。ＳＢロジック１０８は、拡張バスを介して、ＰＣＩバス１０７を、複数の拡張カード又はＩＳＡスロット１５０（例えば、ＩＳＡスロット１５１）に接続することができる。ＳＢロジック１０８は、少なくとも１つのＰＳＵ１０２に接続された管理デバイス１０３に更に接続されている。いくつかの実装形態では、管理デバイス１０３は、ベースボード管理コントローラ（ＢＭＣ）又はラック管理コントローラ（ＲＭＣ）であってもよい。
【００２２】
管理デバイス１０３（例えば、ＢＭＣ等）は、ＰＣＩｅトポロジツリー（図示省略）を用いてサーバシステム１００Ａ内のＰＣＩｅトポロジを識別し、ＯＳエージェント（図示省略）を介してＰＣＩｅ  ＢｕｓＩＤ情報を受信することができる。いくつかの実施形態では、ＰＣＩｅトポロジツリーは、ｌｓｐｃｉから問い合わせされた情報であってもよい。ｌｓｐｃｉは、システム内のハードウェアからの実際のＰＣＩｅ情報を測定するシステムユーティリティである。順序は、ルートコンプレックス（Root Complex）→ルートポート（Root Port）→ブリッジ／エンドポイント（Bridge/End Point）とすることができる。ｌｓｐｃｉは、ルートコンプレックスからエンドポイントまでのアーキテクチャを表すことができる。いくつかの実施形態では、異なるＣＰＵソケットが異なる独自のルートコンプレックスを有することができる。ＰＣＩｅ  ＢｕｓＩＤ及びその分岐を用いると、サーバシステム１００Ａのハードウェアトポロジにおけるハードウェアの物理的位置を決定するのに役立つ。
【００２３】
管理デバイス１０３は、ＰＣＩｅ  ＢｕｓＩＤ情報に基づいて、ＮＶＩＤＩＡ管理ライブラリ（ＮＶＭＬ）（図示省略）から対応するＧＰＵ１１２の温度情報を取得し、少なくとも温度情報に基づいて、ＧＰＵ１１２に関連付けられた冷却ファン１１０のファン速度を制御することができる。
【００２４】
管理デバイス１０３は、ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカード１１２に関連付けられている場合に、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵカード１１２の温度情報をＮＶＭＬから取得することができる。管理デバイス１０３は、少なくともＧＰＵカードの温度情報に基づいて、インバンド（in-band）Ｉ２Ｃ接続を介して、ＧＰＵカードに関連付けられた冷却ファン１１０のファン速度を制御することができる。管理デバイス１０３は、ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチ１１３に関連付けられている場合に、ＰＣＩｅスイッチ１１３のＰＣＩｅ  ＢｕｓＩＤ情報を用いて、ＰＣＩｅスイッチ１１３に関連付けられたＧＰＵ１１２の温度情報をＮＶＭＬから取得することができる。管理デバイス１０３は、ＰＣＩｅスイッチ１１３に関連付けられたＧＰＵ１１２の温度情報、及び、サーバシステムのＣＰＵの温度に基づいて、インバンドＩ２Ｃ接続を介して、ＰＣＰＣＩｅスイッチ１１３に関連付けられた冷却ファン１１０のファン速度を制御することができる。管理デバイス１０３は、ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカード（図示省略）に関連付けられている場合に、リタイマカードのＰＣＩｅ  ＢｕｓＩＤ情報を用いて、リタイマカードに関連付けられたＧＰＵ１１２の温度情報をＮＶＭＬから取得することができる。管理デバイス１０３は、リタイマに関連付けられたＧＰＵ１１２の温度情報に基づいて、アウトバンドＩ２Ｃ接続を介して、リタイマカードに関連付けられた対応する冷却ファン１１０のファン速度を制御することができる。
【００２５】
いくつかの実施形態では、ファン制御サービスは、管理デバイス１０３のサービスであり、管理デバイス１０３によって提供されるソフトウェアサービスである。ソフトウェアサービスは、ＧＰＵ１１２の情報を問い合わせることができる。オペレーティングシステム（ＯＳ）がＯＳに組み込まれたＯＳエージェントを実行する場合、ＯＳエージェントは、サービスコード２バイト（例えば０ｘ０Ａ）を送信し、ファン制御サービスを開始するように管理デバイス１０３に通知する。
【００２６】
図１Ａの構成例を図１Ｂに更に示す。図１Ｂでは、サーバシステム１００Ｂは、ＣＰＵ１０４−１，１０４−２と、複数のＧＰＵを有するＧＰＵカード１１２であって、ＮＶＭＬ１１４に接続されたＧＰＵカード１１２と、を含む。ＣＰＵ１０４−１，１０４−２は、ウルトラパスインターコネクト（ＵＰＩ）１０４−３を介して相互接続されている。少なくとも１つのＧＰＵ（即ち、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３）は、温度情報を送信するＩ２Ｃ接続を有していない。
【００２７】
図１Ａのファン速度制御の一例を図１Ｃに更に示す。図１Ｃでは、サーバシステム１００Ｃは、ＰＣＩｅトポロジツリー１１８と、ＧＰＵ１１２、ＰＣＩｅスイッチ１１３、リタイマカード１１５及び他のＰＣＩｅデバイスを接続するＣＰＵルートコンプレックス１０４と、ＯＳエージェント１１６と、ＢＭＣ１０３と、を含む。ＰＣＩｅトポロジツリー１１８は、サーバシステム１００Ｃ内のＰＣＩｅトポロジを識別し、ＯＳエージェント１１６を介してＰＣＩｅ  ＢｕｓＩＤ情報をＢＭＣ１０３に送信することができる。ＢＭＣ１０３は、ＰＣＩｅ  ＢｕｓＩＤ情報に基づいて、対応するＧＰＵ１１２の温度情報をライブラリ（例えば、ＮＶＩＤＩＡ管理ライブラリ（ＮＶＭＬ）１１４）から取得し、少なくとも温度情報に基づいて、関連する冷却ファン１１０のファン速度を制御することができる。いくつかの実装形態では、ＢＭＣ１０３は、ファン制御サービス１１７を介して冷却ファン１１０のファン速度を制御することができる。
【００２８】
図１Ｄは、ＧＰＵカード１１２のＰＣＩｅ  ＢｕｓＩＤがＢＭＣ１０３に送信される図１Ｃのシナリオを示している。この例では、ＣＰＵ１０４−１，１０４−２は、複数のＧＰＵを含むＧＰＵカード１１２に直接接続されている。ＮＶＭＬ１１４は、ＣＵＤＡドライバ１２１を介して、ＧＰＵ（例えば、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３）の温度情報を収集する。ＢＭＣ１０３は、ＯＳ１１６を介して、ＧＰＵカード１１２のＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵ（例えば、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３）の温度情報をＮＶＭＬ１１４から取得することができる。ＢＭＣ１０３は、少なくともＧＰＵ（例えば、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３）の温度情報に基づいて、インバンドＩ２Ｃ接続を介して、ＧＰＵカード１１２に関連付けられた冷却ファン１１０のファン速度を制御する。
【００２９】
図１Ｅは、ＰＣＩｅスイッチ１１３−１，１１３−２のＰＣＩｅ  ＢｕｓＩＤがＢＭＣ１０３に送信される図１Ｃのシナリオを示している。この例では、ＰＣＩｅスイッチ１１３−１は、ＣＰＵ１０４−１と、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３を含むＧＰＵクラスタと、を接続し、ＰＣＩｅスイッチ１１３−２は、ＣＰＵ１０４−２と、ＧＰＵ４、ＧＰＵ５、ＧＰＵ６及びＧＰＵ７を含むＧＰＵクラスタと、を接続する。ＮＶＭＬ１１４は、ＣＵＤＡドライバ１２１を介してＧＰＵ１１２の温度情報を収集する。ＢＭＣ１０３は、ＯＳ１１６を介して、ＰＣＩｅスイッチ１１３−１，１１３−２のＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報をＮＶＭＬ１１４から取得することができる。ＢＭＣ１０３は、少なくともＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報に基づいて、インバンドＩ２Ｃ接続を介して、ＧＰＵ１１２に関連付けられた冷却ファン１１０のファン速度を制御することができる。
【００３０】
いくつかの実装形態では、センサ群１２２は、ＣＰＵ（例えば、１０４−１，１０４−２）とＰＣＩｅスイッチ（例えば、１１３−１，１１３−２）との間に配置されている。センサ群は、ＣＰＵ（例えば、１０４−１，１０４−２）の温度、又は、ＣＰＵ（例えば、１０４−１，１０４−２）とＰＣＩｅスイッチ（例えば、１１３−１，１１３−２）との間の温度を検出するように構成されている。ＢＭＣ１０３は、少なくともＣＰＵの温度（例えば、１０４−１，１０４−２）及びＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報に基づいて、インバンドＩ２Ｃ接続を介して、ＰＣＩｅスイッチ（例えば、１１３−１，１１３−２）に関連付けられた冷却ファン１１０のファン速度を制御することができる。
【００３１】
いくつかの実施形態では、ｌｓｐｃｉが、サーバシステム１００ＥのトポロジがＰＣＩｅスイッチを含むと検出した場合、ＢＭＣ１０３は、ＣＰＵ（例えば、１０４−１，１０４−２）の温度を自動的に考慮し、ファン制御サービス１１７に対して、センサ群１２２からの温度データを収集させることができる。
【００３２】
いくつかの実施形態では、ＩＰＭＩツールを用いて、キーボード信号制御（ＫＳＣ）によってＢＭＣ１０３を呼び出して、ＢＭＣ１０３のサービスを制御する。ＢＭＣｒａｗデータは、ＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）から取得したＧＰＵ情報を保存するためのスペースである。ＯＳ１１６がＢＭＣ１０３に対してＢＭＣサービスを起動させると、ファン制御サービス１１７は、ＧＰＵ情報をＢＭＣｒａｗデータから自動的にロードすることができる。
【００３３】
図１Ｆは、リタイマカード１１５−１，１１５−２のＰＣＩｅ  ＢｕｓＩＤがＢＭＣ１０３−１に送信される図１Ｃのシナリオを示している。この例では、リタイマカード１１５−１は、ＣＰＵ１０４−１とＰＣＩｅスイッチ１１３−１とを接続し、リタイマカード１１５−２は、ＣＰＵ１０４−２とＰＣＩｅスイッチ１１３−１とを接続する。ＰＣＩｅスイッチ１１３−１は、ＧＰＵ０、ＧＰＵ１、ＧＰＵ２及びＧＰＵ３に接続されたＰＣＩｅスイッチ１０３−２と、ＧＰＵ４、ＧＰＵ５、ＧＰＵ６及びＧＰＵ７に接続されたＰＣＩｅスイッチ１０３−３と、を接続する。ＮＶＭＬ１１４は、ＣＵＤＡドライバ１２１を介してＧＰＵ１１２の温度情報を収集する。
【００３４】
この例では、ＢＭＣ１０３−１は、ＯＳ１１６を介して、リタイマカード１１５−１，１１５−２のＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報をＮＶＭＬ１１４から取得することができる。ＢＭＣ１０３−１は、少なくともＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報に基づいて、アウトバンドＩ２Ｃ接続１２０を介して、ＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）に関連付けられた冷却ファン１１０−２のファン速度を制御することができる。
【００３５】
いくつかの実施形態では、アウトバンドを用いて、リタイマカード１１５−１，１１５−２をジャストバンチオブディスク（ＪＢＯＤ）システム（図１Ｆの左下部分）に接続する。ＪＢＯＤシステムは、ＣＰＵを必要とせず、リタイマカード１１５−１，１１５−２と通信するためのミニシリアルＡＴアタッチメント（ＳＡＴＡ）のみを有することができる。
【００３６】
この例では、左上部分及び左下部分は、リタイマカード１１５−１，１１５−２が互いに接続する２つの別々のシステムである。ＯＳエージェント１１６は、トポロジをチェックしてサーバシステム１００ＦのＰＣＩｅトポロジを識別すると、一部の情報がローカルコンポーネントが得られないと判別し、ＧＰＵ（例えば、ＧＰＵ０〜ＧＰＵ７）の温度情報を含むＪＢＯＤシステムのＢＭＣ１０３−２の情報を自動的に考慮することができる。また、ＯＳエージェント１１６は、ＫＳＣを用いて、ＢＭＣ１０３−２，ＢＭＣ１０３−１から独立したプログラムであるファン制御サーバ１１７を使用可能にする。
【００３７】
上述したように、サーバシステム１００Ａ〜１００Ｆは、Ｉ２Ｃ接続を介して温度情報を送信するようにＧＰＵ１１２に要求することなく、ＧＰＵ温度を効果的に制御することができる。具体例を図１Ｇに示す。この例では、ＧＰＵ温度及びＢＭＣ温度は、それぞれ８４℃及び３２℃に達し、冷却ファン１１０のファン速度は６０％である。ＢＭＣ１０３がＧＰＵ温度を取得すると、ＢＭＣ１０３は、ＧＰＵ温度（８４℃）がスローダウン温度（slowdown temperature）（８５℃）に近過ぎると判別することができる。次に、ＢＭＣ１０３は、冷却ファン１１０のファン速度を６０％から８０％に増加させることができる。その結果、ＧＰＵ温度は８２℃に低下し、ＢＭＣ温度は３０℃に低下する。したがって、ＧＰＵ１１２は、適切な温度で効果的に動作し、高い利用率を維持することができる。
【００３８】
上述した説明は、本開示の原理及び様々な実施例を例示することを意図している。上述の開示内容が十分に理解されれば、様々な変更や修正がなされることが明白であろう。
【００３９】
図２は、本開示の一実施形態による、サーバシステムのＰＣＩｅトポロジを介してファン速度を制御する例示的な方法２００を示す図である。例示的な方法２００は、説明目的のためだけに示されており、本開示による他の方法は、類似若しくは他の順序で又は並行して実行される追加の、より少ない又は代替のステップを含み得ることを理解されたい。例示的な方法２００は、ステップ２０２において、サーバシステム内のＰＣＩｅトポロジを判別することによって開始する。いくつかの実施形態では、サーバシステムのＰＣＩｅトポロジツリーを用いて、サーバシステムのＰＣＩｅトポロジを判別することができる。
【００４０】
ステップ２０４では、図１Ａ〜図１Ｆに示すように、ＰＣＩｅ  ＢｕｓＩＤ情報を、ＯＳエージェントを介してサーバシステムの管理コントローラ（例えば、ＢＭＣ）に送信することができる。いくつかの実施形態では、ＰＣＩｅトポロジツリーは、ＯＳエージェントを介して、ＰＣＩｅ  ＢｕｓＩＤ情報を管理コントローラに送信する。ステップ２０６では、管理コントローラは、受信したＰＣＩｅ  ＢｕｓＩＤ情報に関連する特定のデバイスを識別することができる。
【００４１】
ステップ２０８では、図１Ｃ及び図１Ｄに示すように、ＰＣＩｅ  ＢｕｓＩＤ情報がＧＰＵカードに対応する場合、管理コントローラは、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＧＰＵカードの温度情報をＧＰＵライブラリ（例えば、ＮＶＩＤＩＡ管理ライブラリ（ＮＶＭＬ））から取得することができる。ステップ２１０では、管理コントローラは、少なくともＧＰＵカードの温度情報に基づいて、インバンドＩ２Ｃ接続を介して、ＧＰＵカードに関連付けられた冷却ファンのファン速度を制御することができる。
【００４２】
ステップ２１２では、図１Ｃ及び図１Ｅに示すように、ＰＣＩｅ  ＢｕｓＩＤ情報がＰＣＩｅスイッチに対応する場合、管理コントローラは、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、ＰＣＩｅカードに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得することができる。いくつかの実施形態では、図１Ｅに示すように、センサ群を、ＣＰＵとＰＣＩｅスイッチとの間に配置し、ＣＰＵの温度、又は、ＣＰＵとＰＣＩｅスイッチとの間の温度を検出するように用いることができる。ステップ２１４では、管理コントローラは、センサ群を用いてＣＰＵ温度を判別することができる。ステップ２１６では、管理コントローラは、少なくともＧＰＵの温度情報及びＣＰＵの温度に基づいて、インバンドＩ２Ｃ接続を介して、ＰＣＩｅスイッチに関連付けられた冷却ファンのファン速度を制御することができる。
【００４３】
ステップ２１８では、図１Ｃ及び図１Ｅに示すように、ＰＣＩｅ  ＢｕｓＩＤ情報がリタイマカードに対応する場合、管理コントローラは、ＰＣＩｅ  ＢｕｓＩＤ情報に従って、リタイマカードに関連付けられたＧＰＵの温度情報をＧＰＵライブラリから取得することができる。ステップ２２０では、管理コントローラは、少なくともＧＰＵの温度情報に基づいて、アウトバンドＩ２Ｃ接続を介して、リタイマカードに関連付けられた冷却ファンのファン速度を制御することができる。
【符号の説明】
【００４４】
１００Ａ〜１００Ｆ…サーバシステム
１０１…電源
１０２…電源ユニット（ＰＳＵ）
１０３…管理デバイス
１０４…プロセッサ
１０４−１，１０４−２…ＣＰＵ
１０４−３…ウルトラパスインターコネクト（ＵＰＩ）
１０５…ＢＩＯＳ
１０６…ノースブリッジ（ＮＢ）ロジック
１０７…周辺機器相互接続（ＰＣＩ）バス
１０８…ＳＢロジック
１０９…ストレージデバイス
１１０…冷却モジュール
１１０−１，１１０−２…冷却ファン
１１１…メインメモリ（ＭＥＭ）
１１２…ＧＰＵ
１１３…ＰＣＩｅスイッチ
１１３−１，１１３−２，１１３−３…ＰＣＩｅスイッチ
１１４…ＮＶＭＬ
１１５…リタイマカード
１１５−１，１１５３−２…リタイマカード
１１６…ＯＳエージェント
１１７…ファン制御サービス
１１８…ＰＣＩｅトポロジツリー
１１９…ＢＭＣホストボード
１２０…アウトバンドＩ２Ｃ接続
１２１…ＣＵＤＡドライバ
１２２…センサ群
１５０，１５１…ＩＳＡスロット
１６０，１６１…ＰＣＩｅスロット
１７０，１７１…ＰＣＩスロット
２００…方法
２０２，２０４，２０６，２０８，２１０，２１２，２１４，２１６，２１８，２１０…ステップ
【図１Ａ】
2020053032.tif 000003
【図１Ｂ】
2020053032.tif 000004
【図１Ｃ】
2020053032.tif 000005
【図１Ｄ】
2020053032.tif 000006
【図１Ｅ】
2020053032.tif 000007
【図１Ｆ】
2020053032.tif 000008
【図１Ｇ】
2020053032.tif 000009
【図２】
2020053032.tif 000010