JP2021509240A - システム全体の低電力管理 - Google Patents

システム全体の低電力管理 Download PDF

Info

Publication number
JP2021509240A
JP2021509240A JP2020536179A JP2020536179A JP2021509240A JP 2021509240 A JP2021509240 A JP 2021509240A JP 2020536179 A JP2020536179 A JP 2020536179A JP 2020536179 A JP2020536179 A JP 2020536179A JP 2021509240 A JP2021509240 A JP 2021509240A
Authority
JP
Japan
Prior art keywords
node
nodes
client
idle
link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020536179A
Other languages
English (en)
Other versions
JP7264901B2 (ja
Inventor
チェン ベンジャミン
チェン ベンジャミン
ディー. ダンリー グレゴリー
ディー. ダンリー グレゴリー
ピー. ブルッサール ブライアン
ピー. ブルッサール ブライアン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced Micro Devices Inc
Original Assignee
Advanced Micro Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Advanced Micro Devices Inc filed Critical Advanced Micro Devices Inc
Publication of JP2021509240A publication Critical patent/JP2021509240A/ja
Application granted granted Critical
Publication of JP7264901B2 publication Critical patent/JP7264901B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)
  • Small-Scale Networks (AREA)

Abstract

マルチノードコンピューティングシステム用の効率的な電力管理を実行するためのシステム、装置及び方法が開示される。コンピューティングシステムは複数のノードを含む。パワーダウンのネゴシエーションが分散化されたとき、パワーダウンのためのネゴシエーションがノード階層の高位レベルにおいて発生する前に、システム全体のパワーダウンのためのネゴシエーションがノード階層の低位レベル内で行われる。パワーダウンのネゴシエーションが集中化されたとき、所与のノードは、そのクライアントの状態と、その下りリンク上で受信された通知とを組み合わせ、その組み合わせに基づいて上りリンク上で通知を送信する。ルートノードのみがパワーダウン要求を送信する。【選択図】図3

Description

関連技術の説明
今日の集積回路(IC)の電力消費により、半導体チップの各世代で設計上の問題がますます大きくなってきた。電力消費が増加するにつれて、より大きいファンやヒートシンクなどのより高コストの冷却システムを利用して、余分な熱を排除し、ICの故障を防ぐようにしなければならない。しかしながら、冷却システムによってシステムコストが増加する。ICの電力損失制約は、携帯用コンピュータ及び移動通信デバイスにとって問題であるだけでなく、高性能マイクロプロセッサを利用したデスクトップコンピュータ及びサーバにとっても問題である。これらのマイクロプロセッサは、複数のプロセッサコア、すなわちコア、及びコア内の複数のパイプラインを含む。
様々なサーバなどの様々なコンピューティングデバイスは、ヘテロジニアス集積を利用する。ヘテロジニアス集積は、システムの機能を提供するために複数の種類のICを集積する。複数の機能には、オーディオ/ビデオ(A/V)データ処理、医療分野及び商業分野のための他の高データ並列アプリケーション、汎用命令セットアーキテクチャ(ISA)の処理命令、ならびにデジタル、アナログ、混合信号及び無線周波数(RF)機能などが含まれる。複数の種類のICを集積するためにシステムパッケージングにとって様々な選択肢が存在する。あるコンピューティングデバイスでは、システムオンチップ(SOC)が使用されるのに対し、他のコンピューティングデバイスでは、より小さく、かつより高い歩留まりのチップが、マルチチップモジュール(MCM)内の大型チップとしてパッケージングされる。一部のコンピューティングデバイスは、システムインパッケージ(SiP)内の2つ以上のダイを垂直にスタックし、電気的に接続するためにダイスタッキング技術、ならびにシリコンインタポーザ、スルーシリコンビア(TSV)及び他の機構を利用した3次元集積回路(3D IC)を含む。
システムパッケージングのための選択肢に関係なく、選択されたパッケージの複製をそれぞれが有する複数のソケットを備えたコンピューティングシステムをパワーダウンすることは困難である。各パッケージは電力コントローラを含み、したがって、システムは複数の電力コントローラを有する。各電力コントローラがシステム内の他の各電力コントローラに接続されている場合、システムをパワーダウンするときを通信することがより容易になる。しかしながら、性能を高めるためにソケットの数を増加させるといった、システムのスケーリングが難しくなる。加えて、複数の接続をルーティングすることにより、ソケット間で信号の量が増加し、インタフェース用の領域が増加する。
上記を考慮して、マルチノードコンピューティングシステム用の効率的な電力管理を実行するための効率的な方法及びシステムが必要である。
本明細書で説明される方法及び機構の利点は、添付の図面と併せて以下の説明を参照することによってより良く理解され得る。
一実施形態の処理ノードのブロック図である。 一実施形態のマルチノードコンピューティングシステムのブロック図である。 マルチノードコンピューティングシステム用の電力管理を実行するための一実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 別の実施形態のマルチノードコンピューティングシステムのブロック図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。 マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法のフロー図である。
本発明は、様々な修正及び代替形態を受け入れるが、具体的な実施形態を図面中の例として示し、本明細書で詳細に説明する。しかしながら、図面及びそれに対する詳細な説明は、開示された特定の形態に本発明を限定することを意図するものではないが、別の見方をすれば、本発明は、添付された特許請求の範囲によって定められるような本発明の範囲内に収まる全ての修正、均等物及び代替物を網羅しようとするものであることが理解されるべきである。
以下の説明では、本明細書に提示する方法及び機構の完全な理解を提供するために、多くの具体的な詳細が述べられている。しかしながら、当業者は、それらの特定の詳細なしに様々な実施形態を実施することができることを認識するべきである。いくつかの例では、本明細書で説明されるアプローチを曖昧にすることを回避するために、公知の構造、コンポーネント、信号、コンピュータプログラム命令、及び技術が詳細には示されていない。例示の簡潔性及び明確さのために、図に示される要素は、必ずしも縮尺通りに描かれていないことが認識されよう。例えば、一部の要素の寸法が他の要素に比べて誇張されている場合がある。
マルチノードコンピューティングシステム用の効率的な電力管理を実行するための各種のシステム、装置、方法及びコンピュータ可読媒体が開示される。各種の実施形態では、処理ノードは、処理アプリケーション用の1つ以上のクライアントを含む。ノード内のクライアントの例は、汎用中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、アクセラレーテッド処理ユニット(APU)及び入出力(I/O)デバイスなどを含む。処理ノードはまた、電力コントローラ、及び他のノードに対してメッセージを転送するための複数のリンクインタフェースを少なくとも含む。本明細書で使用される場合、処理ノードはノードとも呼ばれる。
各種の実施形態では、コンピューティングシステムは、他のノードに完全には接続されていない2つ以上のノードを備えたマルチノードシステムである。各ノードは、1つ以上のクライアント、複数のリンクインタフェース及び電力コントローラを含む。これらのノードが完全には接続されていないにも関わらず、各ノードは、そのリンク及びクライアントを、マルチノードシステム内の各クライアントがアイドルであると第1のノードが判定したときにパワーダウンすることが可能である。実施形態では、マルチノードコンピューティングシステムは、各ノードが要求元である階層型トポロジを使用する。システム全体のパワーダウンのためのネゴシエーションは分散化される。各ノードは、階層の低いレベルまたは第1レベルにおいて1つ以上のリンクを有する。第1レベルにおけるリンクは、グループ内のノードのサブセットを互いに直接接続するために使用される。加えて、1つ以上のノードは、階層のより高いレベルまたは第2レベルにおいて1つ以上のリンクを有する。第2レベルにおけるリンクは、第1のグループ内の第1のノードと第2のグループ内の第2のノードとを直接接続するために使用される。システム全体のパワーダウンが分散化されたとき、複数のノードのうちのいずれかを、システム全体のパワーダウンを開始する第1のノードとすることができる。電力管理のための分散化アプローチを使用すると、パワーダウンのためのネゴシエーションが階層の高位レベルにおいて継続する前に、システム全体のパワーダウンのためのネゴシエーションが階層の低位レベル内で行われる。
他の実施形態では、マルチノードコンピューティングシステムは、1つ以上のリーフノード、単一のルートノード、及びルートノードと1つ以上のリーフノードとの間の1つ以上の中間ノードを備えたツリー階層を含む。各中間ノードは、上流のノードに直接接続されており、かつ下流のノードに直接接続されている。上流方向はルート方向とも呼ばれるのに対し、下流方向はリーフ方向とも呼ばれる。システム全体のパワーダウンのためのネゴシエーションは集中化され、これはルートノードによって実行される。パワーアップのためのネゴシエーションは分散化されたままであり、これはシステム内のノードのいずれかによって開始される。各種の実施形態では、分散化アプローチ及び集中化アプローチのそれぞれは、システム全体のパワーダウンを実行する前にリンクのパワーダウンを回避する電力管理のためのネゴシエーションを実行する。これにより、その後のパワーアップの不利益が排除される。
図1を参照すると、一実施形態の処理ノード100の概略ブロック図が示されている。図示されているように、処理ノード100は、各クライアント110、メモリコントローラ130、電力コントローラ170及びリンクインタフェース180の間に通信ファブリック120を含む。いくつかの実施形態では、処理ノード100の構成要素は、システムオンチップ(SOC)などの、集積回路(IC)上の個々のダイである。他の実施形態では、構成要素は、システムインパッケージ(SiP)またはマルチチップモジュール(MCM)内の個々のダイである。
例示された実施形態では、クライアント110は、中央処理ユニット(CPU)112、グラフィックス処理ユニット(GPU)114及びハブ116を含む。ハブ116は、マルチメディアエンジン118と通信するために使用される。CPU112、GPU114及びマルチメディアエンジン118は、処理アプリケーションに対応したコンピューティングリソースの例である。図示されていないが、他の実施形態では、他の種類のコンピューティングリソースがクライアント110内に含まれる。CPU112内の1つ以上のプロセッサコアのそれぞれは、所与の選択された命令セットアーキテクチャ(ISA)にしたがって命令を実行するための回路を含む。各種の実施形態では、CPU112内のプロセッサコアのそれぞれは、所与のISAの命令を処理するために使用されるスーパースカラ・マルチスレッド型マイクロアーキテクチャを含む。実施形態では、GPU114は、有意な数の並列実行レーンを備えた高並列データマイクロアーキテクチャを含む。一実施形態では、マイクロアーキテクチャは、並列実行レーンについて単一命令複数データ(SIMD)パイプラインを使用する。マルチメディアエンジン118は、マルチメディアアプリケーション用のオーディオデータ及びビジュアルデータを処理するためのプロセッサを含む。
各種の実施形態では、通信ファブリック120は、コンピューティングリソース110とメモリコントローラ130との間でトラフィックを前後に転送し、各通信プロトコルをサポートするためのインタフェースを含む。いくつかの実施形態では、通信ファブリック120は、要求及び応答を記憶するためのキュー、内部ネットワークを越えて要求を送信する前に受信した要求の間の調停を行うための選択ロジック、パケットの構築及び復号を行うためのロジック、ならびにパケットのルートを選択するためのロジックを少なくとも含む。
単一のメモリコントローラ130が図示されているが、他の実施形態では、別の数のメモリコントローラが処理ノード100内で使用される。各種の実施形態では、メモリコントローラ130は、通信ファブリック120を経由してクライアント110からメモリ要求を受信し、そのメモリ要求をスケジューリングし、スケジューリングされたメモリ要求をシステムメモリ及びメインメモリのうちの1つ以上に送信する。メモリコントローラ130はまた、システムメモリ及びメインメモリから応答を受信し、クライアント110内の対応する要求の送信元にその応答を送信する。各種の実施形態では、システムメモリには、I/Oコントローラ及びバス160ならびにメモリバス150を介してメインメモリからデータが満たされる。要求されたブロックを伴う対応するキャッシュフィルラインは、元のメモリ要求を完了させるために、メインメモリからクライアント110内のキャッシュメモリサブシステムのうちの対応する1つに伝達される。キャッシュフィルラインは、キャッシュの1つ以上のレベルに配置される。
いくつかの実施形態では、処理ノード100のアドレス空間は、少なくとも、CPU112、GPU114及びハブ116、ならびに入出力(I/O)周辺デバイス(図示せず)及び他の種類のコンピューティングリソースなどの1つ以上の他の構成要素の間で分割される。メモリマップは、どのアドレスがどの構成要素にマッピングされるか、したがって特定のアドレスを求めるメモリ要求がCPU112、GPU114及びハブ116のうちのどの1つにルーティングされるべきかを決定するために保持される。実施形態では、システムメモリは、様々な動的ランダムアクセスメモリ(DRAM)のうちの1つであり、対応するプロトコルは、メモリコントローラ130によってサポートされる。プロトコルは、クロックサイクル毎のデータ転送数、信号電圧レベル、信号タイミング、信号及びクロックの位相ならびにクロック周波数などの、情報転送のために使用される値を決定する。いくつかの実施形態では、メインメモリは、様々な種類の不揮発性・ランダムアクセスのデータ補助記憶装置のうちの1つである。メインメモリの例は、ハードディスクドライブ(HDD)及びソリッドステートディスク(SSD)である。
リンクインタフェース180は、リンク上でメッセージを転送することによって処理ノード100と他の処理ノードとの間の通信をサポートする。各種の実施形態では、ノード間のリンクを越えて送信されるメッセージは、1つ以上のノードのための動作状態の通知、パワーダウン要求、要求に対する応答、割り込み及び他の情報を含む。各種の実施形態では、各リンクは、2つのノード間のポイント・ツー・ポイント通信チャネルである。物理レベルにおいて、リンクは1つ以上のレーンを含む。いくつかの実施形態では、リンクインタフェース180、対応するリンク及び他のノードは、PCIe(Peripheral Component Interconnect Express)、InfiniBand、RapidIO及びHyperTransportなどの通信プロトコル接続を含む。いくつかの実施形態では、リンクインタフェース180は、相互接続リンクを経由して他のノードと通信するために使用される制御ロジック及びバッファまたはキューを含む。
一実施形態では、電力コントローラ170は、クライアント110からデータを収集する。いくつかの実施形態では、電力コントローラ170はまた、メモリコントローラ130からデータを収集する。いくつかの実施形態では、収集されたデータは、所定のサンプリングされた信号を含む。サンプリングされた信号の切り替えは、切り替えられたキャパシタンスの量を示す。サンプルに対する選択信号の例は、クロックゲートイネーブル信号、バスドライバイネーブル信号、連想メモリ(CAM)内の不一致、及びCAMワード線(WL)ドライバなどを含む。実施形態では、電力コントローラ170は、データを収集して、所与のサンプル間隔中のノード100内の電力消費を特徴付ける。
いくつかの実施形態では、ノード100内のオンダイ電流センサ及び温度センサも電力コントローラ170に情報を送信する。電力コントローラ170は、センサ情報、発行された命令または発行されたスレッドのカウント、及び重み付きでサンプリングされた信号の和のうちの1つ以上を使用して、ノード100の電力消費を推定する。ノード100が閾限界を上回って(下回って)動作している場合、電力コントローラ170は電力消費を減少させる(または増加させる)。いくつかの実施形態では、電力コントローラ170は、クライアント110内のコンピューティングリソースのそれぞれについて各電力性能状態(P状態)を選択する。P状態は、動作電圧及び動作クロック周波数を少なくとも含む。各種の実施形態では、電力コントローラ170及びノード100は、N個のP状態をサポートする。ここでNは、ゼロ以外の正の整数である。
各種の実施形態では、電力コントローラ170は、クライアント110のうちの1つ以上がいつアイドルになるかを検出する。クライアント110のそれぞれがアイドルになった場合、電力コントローラ170は、この情報をリンクインタフェース180を経由して1つ以上のノードに中継する。実施形態では、電力コントローラ170が情報を1つのリンク上で送信するか、それとも複数のリンク上で送信するかは、システム全体のパワーダウンのためのネゴシエーションが分散化されるか、それとも集中化されるかに基づく。例えば、各種の実施形態では、ノード100は、マルチノードシステム内の複数のノードのうちの1つのノードである。実施形態では、システムは、複数のサーバのうちのサーバである。場合によっては、複数のサーバに対するバッチとして送信されたジョブが各サーバに割り当てられない。所与のサーバは、相当の時間アイドルになり得る。電力消費を削減するために、サーバ内の複数のノードをパワーダウンすることができる。しかしながら、1つ以上のノードが互いに直接接続されていないため、パワーダウンのためのノード内の電力コントローラ間の通信は直送されない。システム全体のパワーダウンをネゴシエーションするための分散化アプローチ及び集中化アプローチのそれぞれが、以下の説明において提供される。
図2を参照すると、一実施形態のマルチノードコンピューティングシステム200の概略ブロック図が示されている。例示された実施形態では、パッケージ210は、リンク240によって互いに直接接続されたノード220A及び220Bを含む。いくつかの実施形態では、パッケージ210及び230のそれぞれは、サーバ内のマルチソケットマザーボードのソケット内に配置されたマルチチップモジュール(MCM)である。図示されているように、ノード220Aは、クライアント222A〜222C及び電力コントローラ224を含む。リンクインタフェース、通信ファブリック、メモリインタフェース、位相同期ループ(PLL)または他のクロック生成回路は、説明を容易にするために図示されていない。クライアント222A〜222Cの例は、CPU、GPU、マルチメディアエンジン及びI/O周辺デバイスなどである。各種の実施形態では、電力コントローラ224は、(図1の)電力コントローラ170の機能を有する。
実施形態では、リンク240〜246は、PCIe、InfiniBand、RapidIO及びHyperTransportなどの通信プロトコル接続を利用する。いくつかの実施形態では、コンピューティングシステム200は、リンク240〜246に加えて、ノード220A〜220Dの間の他のリンクを含む。実施形態では、これらの他のリンクは、サービス要求に対するデータ移送のために使用されるのに対し、リンク240〜246は、システム全体のパワーダウンをネゴシエーションするためのメッセージなどのメッセージ送信のために使用される。
各種の実施形態では、コンピューティングシステム200は、ノード220A〜220Dのそれぞれが要求元である階層型トポロジを使用する。第1レベルにおけるリンクは、グループまたはクラスタ内のノード220A〜220Dのサブセットを互いに直接接続するために使用される。例えば、ノード220Aは、第1レベルのリンク240を介してパッケージ210内のノード220Bに直接接続されている。同様に、ノード220Cは、第1レベルのリンク242を介してパッケージ230内のノード220Dに直接接続されている。第2レベルにおけるリンクは、第1のクラスタ内の第1のノードと第2のクラスタ内の第2のノードとを直接接続するために使用される。例えば、パッケージ210内のノード220Aは、第2レベルのリンク244を介してパッケージ230内のノード220Cに直接接続されている。しかしながら、ノード220Aは、パッケージ230内のノード220Dに直接接続されていない。同様に、パッケージ210内のノード220Bは、第2レベルのリンク246を介してパッケージ230内のノード220Dに直接接続されている。しかしながら、ノード220Bは、パッケージ230内のノード220Cに直接接続されていない。第2レベルのリンク244及び246は、第1レベルのリンク240及び242よりも階層のレベルが高い。
電力管理のための分散化アプローチを使用すると、コンピューティングシステム200におけるシステム全体のパワーダウンのためのネゴシエーションは、パワーダウンのためのネゴシエーションが階層の高位レベルにおいて継続する前に階層の低位レベル内で行われる。例示された実施形態では、ノード220A〜220Dのそれぞれは、2つのリンクを有する。例えば、ノード220Aは、リンク240及び244を有する。しかしながら、他の実施形態では、パッケージ内の別の数のノード及び別の数のリンクが使用される。
実施形態では、ノード220Aの電力コントローラ224は、ノード220A〜220Dの第1のサブセット内の各クライアントがアイドルであることを示す通知を第2レベルのリンク244上でノード220Cに送信することが可能である。ノード220Cは、ノード220Aに接続された任意の他のノードに接続されていない。ノードの第1のサブセットは、ノード220A及びノード220Bを含む。ノード220Aの電力コントローラ224は、この通知を、クライアント222A〜222Cのそれぞれ1つがアイドルであると電力コントローラ224が判定し、かつ複数のノードの第1のサブセットよりも小さい第2のサブセット内の各クライアントがアイドルであるとの通知が第1レベルのリンク240上でノード220Bから受信されたときにノード220Cに送信する。この例では、第2のサブセットは、ノード220B内の各クライアントを含む。
ノード220Aの電力コントローラ224は、ノード220Aが、その各リンク240及び244上で、所与のサブセット内の各クライアントがアイドルであるとの通知を受信し、かつ電力コントローラ224が、クライアント222A〜222Cのそれぞれ1つがアイドルであると判定したとき、ノード220B及びノード220Cなどの直接接続された各隣接ノードに、パワーダウンのための要求を送信することができる。他のノード220B〜220D内の電力コントローラは、パワーダウン要求を同様の方式で送信することが可能である。
次に図3を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための一実施形態の方法300が示されている。議論の都合上、この実施形態の(ならびに図4〜図7及び図9〜図12の)ステップは順番に示されている。しかしながら、説明される方法の各種の実施形態では、説明される要素のうちの1つ以上が、同時に実行されるか、示された順序とは異なる順序で実行されるか、または完全に省略されることに留意されたい。他の追加的な要素も必要に応じて実行される。本明細書で説明される各種のシステムまたは装置のいずれかが、方法300を実施するように構成される。
2つ以上のノードが、この2つ以上のノードのそれぞれが第1レベルのリンクを使用して互いに完全に接続された状態でサブセット内に配置される(ブロック302)。2つ以上のサブセットは、ノード間で完全には接続されない方式で第2レベルのリンクを用いて接続される(ブロック304)。このような階層の例は、(図2の)コンピューティングシステム200において提供されている。所与のサブセット内の各ノードは、第2レベルのリンクを経由して他の各サブセットに接続されているが、所与のサブセット内の各ノードは、別のサブセット内の他の各ノードには接続されていない。コンピューティングシステム200を参照すると、別のサブセットが追加された場合、パッケージ210内のノード220A及び220Bのそれぞれは、他のサブセット内のノードへの追加的な第2レベルのリンクを有する。同様の接続が、パッケージ230内のノード220C及び220Dに使用される。したがって、システム内の各ノードがシステム内の他の各ノードに完全には接続されていないため、マルチノードシステムのサイズが効率的にスケーリングされる。システム全体のパワーダウンは分散化される。複数のノードのいずれかが、システム全体のパワーダウンを開始することができる。システム全体のパワーダウンのためのネゴシエーションは、パワーダウンのためのネゴシエーションが第2レベルのリンク上で階層の高位レベルにおいて継続する前に、第1レベルのリンク上で階層の低位レベル内で行われる。
複数のノードがタスクを処理する(ブロック306)。ノード内の1つ以上のクライアントは、コンピュータプログラム、すなわちソフトウェアアプリケーションを実行する。いくつかの実施形態では、複数のノードはマルチソケットサーバ内にあり、オペレーティングシステムによってバッチジョブが受信される。オペレーティングシステムは、複数のノードのうちの1つ以上にタスクを割り当てる。ノード内の電力コントローラは、第2レベルのリンク上の階層型通信に少なくとも基づいて各ノードがアイドルのクライアントを有するかどうかを判定する(ブロック308)。したがって、システム全体のパワーダウンは、システム内の完全に接続されたノードに依存せずに行われる。これにより、効率的にサイズをスケーリングすることが可能になる。加えて、電力管理のためのネゴシエーションは、システム全体のパワーダウンを実行する前にリンクのパワーダウンを回避する。これにより、その後のパワーアップの不利益が排除される。
マルチノードシステム内の1つ以上のクライアントが非アイドルであると判定された場合(条件付きのブロック310の「no」分岐)、方法300の制御フローはブロック306に戻る。このブロックでは、1つ以上のクライアントが非アイドルである間、複数のノードを用いてタスクが処理される。コンピューティングシステム内の1つのノード以外の全てが単にアイドルのクライアントを有する場合でも、パワーダウン要求は生成されない。各ノード内の各クライアントがアイドルであると判定された場合(条件付きのブロック310の「yes」分岐)、各ノードの各リンク及び各クライアントがパワーダウンされる(ブロック312)。複数のノードが互いに接続されていないにも関わらず、システム全体のパワーダウンが行われる。各種の実施形態では、所与のノードをパワーダウンすることは、リンクインタフェース用のドライバを無効にすること、クライアント用のクロックを無効にすること、及びDRAMが使用されているときにセルフリフレッシュを実行するようにシステムメモリを設定することのうちの1つ以上を含む。
次に図4を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法400が示されている。方法300及び方法500〜700と同様に、方法400のマルチノードコンピューティングシステムは、各ノードが要求元であり、システム全体のパワーダウンのためのネゴシエーションが分散化される階層型トポロジを使用する。例えば、システム全体のパワーダウンのためのネゴシエーションは、パワーダウンのためのネゴシエーションが第2レベルのリンク上で階層の高位レベルにおいて継続する前に、第1レベルのリンク上で階層の低位レベル内で行われる。システム全体のパワーダウンのためのネゴシエーションが分散化されつつ、複数のノードがタスクを処理する(ブロック402)。
所与のノード上の1つ以上の非アイドルのクライアントが、1つ以上のタスクを処理する(ブロック404)。所与のノード内の各クライアントがアイドルになった場合(条件付きのブロック406の「yes」分岐)、所与のノード内の各クライアントがアイドルであることを示す通知が第1レベルの各リンク上で送信される(ブロック408)。隣接ノード内の各クライアントがアイドルであることを示す応答が第1レベルの各リンク上で受信された場合(条件付きのブロック410の「yes」分岐)、複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が第2レベルの各リンク上で送信される(ブロック412)。したがって、応答を提供したノード内でアイドルであるとクライアントが認識されたときのみ、この場合の階層型通信が継続する。ブロック408〜412のステップにより、システム全体のパワーダウンのネゴシエーションの、階層の次の高位レベルへの伝搬がゲーティングされる。
次に図5に目を向けると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法500が示されている。システム全体のパワーダウンのためのネゴシエーションが分散されつつ、複数のノードがタスクを処理する(ブロック502)。第2のノード内の各クライアントがアイドルであることを示す通知が、第1のノードの第1レベルのリンク上で受信される(ブロック504)。1つ以上のクライアントが第1のノード内で非アイドルである場合(条件付きのブロック506の「no」分岐)、第1のノードは、第1のノード内の1つ以上のクライアントが非アイドルであることを示す第1レベルのリンク上の通知によって第2のノードに応答する(ブロック508)。各クライアントが第1のノード内でアイドルである場合(条件付きのブロック506の「yes」分岐)、第1のノードは、第1のノード内の各クライアントがアイドルであることを示す第1レベルのリンク上の通知によって第2のノードに応答する(ブロック510)
第2のノード内の各クライアントがアイドルであることを示すための所与の通知が第1のノード内で更新される(ブロック512)。第1のノード内または第1レベルのリンク上で第1のノードに接続された任意のノード内で1つ以上のクライアントが非アイドルである場合(条件付きのブロック514の「no」分岐)、方法500の制御フローはブロック516に移動し、このブロックで階層型通信を完了させる。
第1のノード内及び第1レベルのリンク上で第1のノードに接続された任意のノード内で各クライアントがアイドルである場合(条件付きのブロック514の「yes」分岐)、複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が第2レベルの各リンク上で送信される(ブロック518)。例えば、第1のノードと、第1レベルのリンクを用いて第1のノードに完全に接続された各ノードとは、複数のノードのサブセットである。一時的に図2を参照すると、パッケージ210が、複数のノードのサブセットである。いくつかの実施形態では、ノード220A上のクライアント222A〜222Cのそれぞれ1つがアイドルであることを示す第1レベルのリンク240上の通知をノード220Bが受信し、ノード220Bがノード220Aに応答するときに方法500が使用される。加えて、いくつかの実施形態では、ノード220A及びノード220Bのそれぞれが非アイドルのクライアントを全く有していないとノード220Bが判定したとき、ノード220Bは、ノード220Dに通知を送信する。さらに、実施形態では、ノード220B上の各クライアントがアイドルであることを示す第1レベルのリンク240上の通知をノード220Aが受信し、ノード220Aが、ノード220Bに応答し、条件付きで通知をノード220Cに送信するときに方法500が使用される。
次に図6を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法600が示されている。システム全体のパワーダウンのためのネゴシエーションが分散化されつつ、複数のノードがタスクを処理する(ブロック602)。複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が、第1のノードの第2レベルのリンク上で受信される(ブロック604)。例えば、サブセットは、第1レベルのリンクを用いて互いに完全に接続された一群のノードである。ノード220A及び220Bを備えた(図2の)パッケージ210は、サブセットの一例であり、ノード220Cは、第2レベルのリンク244上で通知を受信する。
1つ以上のクライアントが第1のノード内で非アイドルである場合(条件付きのブロック606の「no」分岐)、第1のノードは、複数のノード内の1つ以上のクライアントが非アイドルであることを示す第2レベルのリンク上の通知によって応答する(ブロック608)。各クライアントが第1のノード内でアイドルである場合(条件付きのブロック606の「yes」分岐)、第1のノードの第1レベルの各リンクについて、複数のノードのサブセット内の1つ以上のクライアントが非アイドルであることを示す通知が第1のノードによって受信されたかどうかが判定される(ブロック610)。第1のノードの任意の第1レベルのリンクがこのような通知を受信した場合(条件付きのブロック612の「yes」分岐)、方法600の制御フローはブロック608に移る。このブロックで第1のノードは、複数のノード内の1つ以上のクライアントが非アイドルであることを示す第2レベルのリンク上の通知によって応答する。第1のノードの第1レベルのリンクがいずれもこのような通知を受信しなかった場合(条件付きのブロック612の「no」分岐)、第1のノードは、複数のノードのサブセット内の各クライアントがアイドルであることを示す第2レベルのリンク上の通知によって応答する(ブロック614)。
一時的に図2を参照すると、パッケージ230が、複数のノードのサブセットである。いくつかの実施形態では、パッケージ210などのサブセット内の各クライアントがアイドルであることを示す通知をノード220Cが第2レベルのリンク244上で受信するときに方法600が使用される。ノード220Cは、ノード220Cのクライアントがアイドルであるかどうかと、第1レベルのリンク242上でノード220Dから受信した通知とに基づき、第2レベルのリンク244上でノード220Aに応答する。
次に図7を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法700が示されている。システム全体のパワーダウンのためのネゴシエーションは分散化される。各ローカルクライアントがアイドルになって応答を待っていると判定したことに少なくとも基づいてアイドルの所与のノードが各リンク(第1レベル及び第2レベル)上で通知を送信した後、複数のノードを用いてタスクが処理される(ブロック702)。各種の実施形態では、所与のノードは、第2レベルのリンク上でノードに連絡する前に、第1レベルのリンク上で最初にノードに連絡した。各リンクについて、複数のノード内の1つ以上のクライアントが非アイドルであることを示す通知が受信されたかどうかが判定される(ブロック704)。
所与のノードの任意のリンク(第1レベルまたは第2レベル)がこのような通知を受信した場合(条件付きのブロック706の「yes」分岐)、複数のノードは、ウェイクアップ条件が発生したかどうかを監視しつつ、継続してタスクを処理し、隣接ノードからのリンクの更新に継続して応答する(ブロック708)。ウェイクアップ条件の例には、割り当て済みのタスクをオペレーティングシステムから受信すること、及び1つ以上の非アイドルのクライアントを有する別のノードからローカルキャッシュプローブを求めるリモート要求またはシステムメモリ内のローカルデータを求めるリモートメモリ要求を受信することなどのうちの1つ以上がある。所与のノードのリンク(第1レベルまたは第2レベル)がいずれも応答においてこのような通知を受信しなかった場合(条件付きのブロック706の「no」分岐)、パワーダウンのために所与のノードの各リンク上で要求が送信される(ブロック710)。
パワーダウンに対して各リンク上で応答が受信されなかった場合(条件付きのブロック712の「no」分岐)、パワーダウンに対する応答を受信した任意のリンクがパワーダウンされる(ブロック714)。その後、方法700の制御フローは、複数のノードが継続してタスクを処理するブロック708に移る。パワーダウンに対して各リンク上で応答が受信された場合(条件付きのブロック712の「yes」分岐)、所与のノードの各リンク及び各クライアントはパワーダウンされる(ブロック714)。他のノードも、これらのステップを実行する。複数のノードが互いに接続されていないにも関わらず、システム全体のパワーダウンが行われる。各種の実施形態では、所与のノードをパワーダウンすることは、リンクインタフェース用のドライバを無効にすること、クライアント用のクロックを無効にすること、DRAMが使用されているときにセルフリフレッシュを実行するようにシステムメモリを設定すること、電力コントローラ以外のノード内の各構成要素用の(クライアント用だけではない)クロックを無効にすること、メモリコントローラ、通信ファブリック、メモリ及び入出力(I/O)ドライバ、ネットワークインタフェース用のクロックを無効にすることに加えてパワーダウンのための他のステップを実行すること、ならびに保持電圧を選択することのうちの1つ以上を含む。
各種の実施形態では、所与のノードが所与のリンク上でパワーダウン要求を受信したとき、所与のノードは、そのクライアントのそれぞれがアイドルであるかどうかを判定する。クライアントのそれぞれがアイドルである場合、所与のノードは、パワーダウンを指示する応答によって所与のリンク上で応答する。その後、所与のノードは所与のリンクをパワーダウンする。加えて、所与のノードは、もしあれば、所与のノードの他の各リンク上でパワーダウン要求を送信する。所与のノードがこれらの他のリンクのうちの特定のリンク上でパワーダウン応答を受信した場合、所与のノードは、この特定のリンクをパワーダウンする。所与のノードの各リンクがパワーダウン要求とパワーダウン応答との両方を転送した場合、所与のノードは各リンクをパワーダウンする。各リンクが所与のノードにおいてパワーダウンされたとき、所与のノードは、各クライアントのパワーダウンを続行する。いくつかの実施形態では、所与のノードが、そのクライアントのうちの少なくとも1つが非アイドルであると判定したとき、所与のノードは、所与のノードがパワーダウンする予定ではないとの通知によって所与のリンク上でパワーダウン要求に応答する。加えて、実施形態では、所与のノードは、何らのパワーダウン要求も他のリンク上で送信しない。
図8を参照すると、別の実施形態のマルチノードコンピューティングシステム800の概略ブロック図が示されている。例示された実施形態では、ノード810Aはコンピューティングシステム800のルートノード(マスタノード)であるのに対し、ノード810G及びノード810Hのそれぞれはリーフノードである。ノード810B〜810Fのそれぞれは、ルートノード810Aとリーフノード810G〜810Hとの間の中間ノードである。したがって、リングデータ通信トポロジが使用される。しかしながら、システム全体の、階層型通信の電力管理をサポートするために、ツリー階層型トポロジがリングトポロジ内で使用される。システム全体のパワーダウンのためのネゴシエーションは集中化され、これはコンピューティングシステム800内のルートノード810Aによって実行される。パワーアップのためのネゴシエーションは分散化されたままであり、これはシステム内のノードのいずれかによって開始される。図示されていないが、ノード810A〜810Hのそれぞれは、1つ以上のクライアント、電力コントローラ、リンクインタフェース、通信ファブリック、メモリインタフェース、及び位相同期ループ(PLL)または他のクロック生成回路などを含む。クライアントの例は、CPU、GPU、マルチメディアエンジン及びI/O周辺デバイスなどである。各種の実施形態では、電力コントローラは、(図1の)電力コントローラ170の機能を有する。
実施形態では、リンク820〜834は、PCIe、InfiniBand、RapidIO及びHyperTransportなどの通信プロトコル接続を利用する。いくつかの実施形態では、コンピューティングシステム800は、リンク820〜834に加えて、ノード810A〜810Hの間の他のリンクを含む。これらの他のリンク(図示せず)はデータ通信のために使用されるのに対し、リンク820〜834は電力管理メッセージ送信のために使用される。したがって、実施形態では、これらの他のリンクは、サービス要求に対するデータ移送のために使用されるのに対し、リンク820〜834は、システム全体のパワーダウンをネゴシエーションするためのメッセージなどのメッセージ送信のために使用される。図示されているように、中間ノード810B〜810Fのそれぞれ1つは、単一の上流ノードに直接接続されており、かつ単一の下流ノードに直接接続されている。上流方向はルート方向とも呼ばれるのに対し、下流方向はリーフ方向とも呼ばれる。上流方向及び下流方向のそれぞれは、サービス要求に使用されるデータ通信ではなく、電力管理メッセージ送信に関連する。リーフノードのそれぞれは、追加的にリンク828を使用する。このリンクは、上流端及び下流端ではなく、各終端上で同一のレベルを有する。実施形態では、同一のレベルは、電力管理制御ロジックによって下流レベルとして扱われる。
次に図9を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための一実施形態の方法900が示されている。各種の実施形態では、マルチノードコンピューティングシステムは、電力管理の目的でツリー階層型トポロジ内の複数のノードを接続する。このトポロジは、単一のルートノード(マスタノード)、1つ以上のリーフノード、及びルートノードと1つ以上のリーフノードとの間の1つ以上の中間ノードを含む(ブロック902)。いくつかの実施形態では、マルチノードコンピューティングシステムは、サービス要求に使用されるデータ通信のためにリングトポロジを使用し、ツリートポロジは、電力管理メッセージ送信のために使用される。実施形態では、各中間ノードは、上流方向のノードに直接接続されており、かつ下流方向のノードに直接接続されている。換言すれば、システム全体のパワーダウンのためのネゴシエーションは集中化されるのに対し、システム全体のパワーアップは分散化されたままである。しかしながら、性能を高めるためにソケットの数を増加させるといった、システムのスケーリングは、ノードが完全には接続されていないためにより効率的になる。加えて、ノードが完全には接続されていないときに接続をルーティングすることにより、より少ない量の信号がソケット間で使用され、インタフェースのための領域が減少する。したがって、システム全体のパワーダウンは、システム内の完全に接続されたノードに依存せずに行われる。これにより、効率的にサイズをスケーリングすることが可能になる。加えて、電力管理のためのネゴシエーションは、システム全体のパワーダウンを実行する前にリンクのパワーダウンを回避する。これにより、その後のパワーアップの不利益が排除される。
複数のノードがタスクを処理する(ブロック904)。ノード内の1つ以上のクライアントは、コンピュータプログラム、すなわちソフトウェアアプリケーションを実行する。いくつかの実施形態では、複数のノードはマルチソケットサーバ内にあり、オペレーティングシステムによってバッチジョブが受信される。オペレーティングシステムは、複数のノードのうちの1つ以上にタスクを割り当てる。ルートノードのリンク上の階層型通信に少なくとも基づき、各ノードがアイドルのクライアントを有するかどうかが判定される(ブロック906)。
マルチノードシステム内の1つ以上のクライアントが非アイドルであると判定された場合(条件付きのブロック908の「no」分岐)、方法900の制御フローはブロック904に戻る。このブロックでは、1つ以上のクライアントが非アイドルである間、複数のノードを用いてタスクが処理される。コンピューティングシステム内の1つのノード以外の全てが単にアイドルのクライアントを有する場合でも、パワーダウン要求は生成されない。各ノード内の各クライアントがアイドルであると判定された場合(条件付きのブロック908の「yes」分岐)、各ノードの各リンク及び各クライアントがパワーダウンされる(ブロック910)。複数のノードが互いに接続されていないにも関わらず、システム全体のパワーダウンが行われる。各種の実施形態では、所与のノードをパワーダウンすることは、リンクインタフェース用のドライバを無効にすること、クライアント用のクロックを無効にすること、及びDRAMが使用されているときにセルフリフレッシュを実行するようにシステムメモリを設定することのうちの1つ以上を含む。
次に図10を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法1000が示されている。方法900及び方法1100〜1200と同様に、方法1000のマルチノードコンピューティングシステムは、ツリー階層型トポロジを使用する。このトポロジは、単一のルートノード(マスタノード)、1つ以上のリーフノード、及びルートノードと1つ以上のリーフノードとの間の1つ以上の中間ノードを含む。各中間ノードは、上流方向のノードに直接接続されており、かつ下流方向のノードに直接接続されている。換言すれば、システム全体のパワーダウンのためのネゴシエーションは集中化されるのに対し、システム全体のパワーアップは分散化されたままである。
複数のノードがタスクを処理する(ブロック1002)。ノード内の1つ以上のクライアントは、コンピュータプログラム、すなわちソフトウェアアプリケーションを実行する。いくつかの実施形態では、複数のノードはマルチソケットサーバ内にあり、オペレーティングシステムによってバッチジョブが受信される。オペレーティングシステムは、複数のノードのうちの1つ以上にタスクを割り当てる。非ルートの所与のノード上の1つ以上の非アイドルのクライアントが、1つ以上のタスクを処理する(ブロック1004)。所与のノード内の各クライアントがアイドルになった場合(条件付きのブロック1006の「yes」分岐)、所与のノード内の各クライアントがアイドルであることを示す通知が下りリンク上で送信される(ブロック1008)。複数のノードのサブセット内の各クライアントがアイドルであることを示す応答が所与のノードの下りリンク上で受信された場合(条件付きのブロック1010の「yes」分岐)、複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が上りリンク上で送信される(ブロック1012)。したがって、応答を提供したノード内でアイドルであるとクライアントが認識されたときのみ、この場合の階層型通信が継続する。ブロック1008〜1012のステップにより、システム全体のパワーダウンのネゴシエーションの、階層の次の高位レベルへの伝搬がゲーティングされる。
次に図11に目を向けると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法1100が示されている。複数のノードがタスクを処理する(ブロック1102)。複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が、非リーフ及び非ルートの所与のノードの下りリンク上で受信される(ブロック1104)。例えば、サブセットは、所与のノードから下流に各ノードを含む。所与のノードの1つ以上のクライアントが非アイドルである場合(条件付きのブロック1106の「no」分岐)、実施形態では、所与のノードは、所与のノード内の1つ以上のクライアントが非アイドルであることを示す下りリンク上の通知によって応答する(ブロック1108)。所与のノード内で各クライアントがアイドルである場合(条件付きのブロック1106の「yes」分岐)、実施形態では、所与のノードは、所与のノード内の各クライアントがアイドルであることを示す下りリンク上の通知によって応答する(ブロック1110)。
複数のノードのサブセット内の各クライアントがアイドルであることを示すための所与の通知が所与のノード内で更新される(ブロック1112)。サブセットは、所与のノードからリーフノードへの下流に各ノードを含む。所与のノード内または所与のノードから下流の任意のノード内で1つ以上のクライアントが非アイドルである場合(条件付きのブロック1114の「no」分岐)、方法1100の制御フローはブロック1116に移動し、このブロックで階層型通信を完了させる。所与のノード及び所与のノードから下流の任意のノード内で各クライアントがアイドルである場合(条件付きのブロック1114の「yes」分岐)、複数のノードのサブセット内の各クライアントがアイドルであることを示す通知が上りリンク上で送信される(ブロック1118)。サブセットは、所与のノードと、所与のノードから下流の各ノードとを含む。
次に図12を参照すると、マルチノードコンピューティングシステム用の電力管理を実行するための別の実施形態の方法1200が示されている。複数のノードは、ルートノードの各クライアントがアイドルである間、タスクを処理する(ブロック1202)。各下りリンクについて、複数のノード内の1つ以上のクライアントが非アイドルであることを示す通知が受信されたかどうかが判定される(ブロック1204)。ルートノードの任意の下りリンクがこのような通知を受信した場合(条件付きのブロック1206の「yes」分岐)、複数のノードは、ウェイクアップ条件が発生したかどうかを監視しつつ、継続してタスクを処理し、隣接ノードからのリンクの更新に継続して応答する(ブロック1208)。
ルートノードの下りリンクがいずれも応答においてこのような通知を受信しなかった場合(条件付きのブロック1206の「no」分岐)、パワーダウンするために所与のノードの各下りリンク上で要求が送信される(ブロック1210)。パワーダウンに対してルートノードの各下りリンク上で応答が受信されなかった場合(条件付きのブロック1212の「no」分岐)、パワーダウンに対する応答を受信した任意の下りリンクがパワーダウンされる(ブロック1214)。その後、方法1200の制御フローは、複数のノードが継続してタスクを処理するブロック1208に移る。パワーダウンに対してルートノードの各下りリンク上で応答が受信された場合(条件付きのブロック1212の「yes」分岐)、ルートノードの各リンク及び各クライアントはパワーダウンされる(ブロック1214)。他のノードも、これらのステップを実行する。複数のノードが互いに接続されていないにも関わらず、システム全体のパワーダウンが行われる。各種の実施形態では、所与のノードをパワーダウンすることは、リンクインタフェース用のドライバを無効にすること、クライアント用のクロックを無効にすること、及びDRAMが使用されているときにセルフリフレッシュを実行するようにシステムメモリを設定することのうちの1つ以上を含む。
分散化アプローチにおけるノードと同様に、各種の実施形態では、集中化アプローチにおける所与のノードが上りリンク上でパワーダウン要求を受信したとき、所与のノードは、そのクライアントのそれぞれがアイドルであるかどうかを判定する。クライアントのそれぞれがアイドルである場合、所与のノードは、パワーダウンを指示する応答によって上りリンク上で応答する。その後、所与のノードは上りリンクをパワーダウンする。加えて、所与のノードは、所与のノードの下りリンク上でパワーダウン要求を送信する。所与のノードが下りリンク上でパワーダウン応答を受信した場合、所与のノードは下りリンクをパワーダウンする。所与のノードの上りリンク及び下りリンクのそれぞれがパワーダウン要求とパワーダウン応答との両方を転送した場合、所与のノードは各リンクをパワーダウンする。各リンクが所与のノード内でパワーダウンされたとき、所与のノードは、各クライアントのパワーダウンを続行する。いくつかの実施形態では、所与のノードが、そのクライアントのうちの少なくとも1つが非アイドルであると判定したとき、所与のノードは、所与のノードがパワーダウンする予定ではないとの通知によって上りリンク上でパワーダウン要求に応答する。加えて、実施形態では、所与のノードは、いずれのパワーダウン要求も下りリンク上で送信しない。
各種の実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、先に説明した方法及び/または機構を実施する。プログラム命令は、Cなどの高水準プログラミング言語でハードウェアの挙動を記述する。あるいは、Verilogなどのハードウェア設計言語(HDL)が使用される。プログラム命令は、非一時的コンピュータ可読記憶媒体上に記憶される。複数の種類の記憶媒体が利用可能である。記憶媒体は、プログラム命令及び付随するデータをコンピューティングシステムに提供してプログラムを実行するために、使用中にコンピューティングシステムによるアクセスが可能である。コンピューティングシステムは、1つ以上のメモリ、及びプログラム命令を実行する1つ以上のプロセッサを備える。
上記で説明された実施形態は、実装態様の非限定的な例に過ぎないことが強調されるべきである。上記の開示が一旦完全に理解されると、多くの変形及び修正が当業者にとって明らかになるであろう。以下の特許請求の範囲は、全てのそのような変形及び修正を包含すると解釈されることが意図される。

Claims (20)

  1. 複数のノードであって、それぞれが、
    アプリケーションを処理するように構成された1つ以上のクライアントと、
    前記複数のノードのうちの1つ以上の他のノードに結合された複数のリンクであって、前記複数のノードのうちの2つ以上が完全には接続されていない、前記複数のリンクと、
    電力コントローラと、を含む、複数のノードを備え、
    前記複数のノード内の各クライアントがアイドルであると前記複数のノードのうちの第1のノードが判定したことに応答して、前記複数のノードの各ノードが、前記複数のリンク及び前記1つ以上のクライアントをパワーダウンするように構成される、コンピューティングシステム。
  2. 前記複数のノードのうちの第2のノードの前記電力コントローラが、前記複数のノードの第1のサブセット内の各クライアントがアイドルであることを示す通知を前記複数のノードのうちの第3のノードに送信するように構成され、前記第3のノードが、前記第2のノードに接続された任意の他のノードに接続されていない、請求項1に記載のコンピューティングシステム。
  3. 前記第2のノードの前記電力コントローラが、
    前記第2のノード内の前記1つ以上のクライアントの各クライアントがアイドルであると判定したことと、
    前記複数のノードの前記第1のサブセットよりも小さい第2のサブセット内の各クライアントがアイドルであることを示す通知を第4のノードから受信したことと、
    に応答して、前記通知を送信するように構成される、請求項2に記載のコンピューティングシステム。
  4. 前記複数のノードの所与のサブセット内の各クライアントがアイドルであるとの通知を前記第1のノードの各リンク上で受信したことに応答して、前記第1のノードの前記電力コントローラが、直接接続された各隣接ノードにパワーダウンのための要求を送信するように構成される、請求項2に記載のコンピューティングシステム。
  5. 前記第2のノードと前記第4のノードとが、前記複数のノードのうちのノードの同一のサブセット内にあり、前記サブセット内の各ノードが所与の第1レベルのリンクを用いて互いに完全に接続されており、
    前記第2のノードと前記第3のノードとが、ノードの別個のサブセット内にあり、第2レベルのリンクを用いて接続されており、別個のサブセット内のノードが互いに完全には接続されていない、請求項2に記載のコンピューティングシステム。
  6. 前記第2のノードの前記電力コントローラが、前記第2のノードの各リンク上でパワーダウン要求及びパワーダウン応答を転送したことに応答して前記第2のノードの各リンク及び各クライアントをパワーダウンするように構成される、請求項5に記載のコンピューティングシステム。
  7. 前記第2のノード内の各クライアントがアイドルであると判定したことに応答して、前記第2のノードの前記電力コントローラが、
    前記第2のノード内の各クライアントがアイドルであることを示す通知を第1レベルのリンク上で前記第4のノードに送信することと、
    前記複数のノード内の少なくとも1つのクライアントが非アイドルであることを示す通知を第2レベルのリンク上で前記第3のノードに送信することと、
    を行うように構成される、請求項5に記載のコンピューティングシステム。
  8. 前記第4のノード上の各クライアントがアイドルであることを示す通知を前記第1レベルのリンク上で受信したことに応答して、前記第2のノードの前記電力コントローラが、前記複数のノードの前記第1のサブセット内の各クライアントがアイドルであることを示す通知を前記第2レベルのリンク上で送信するように構成される、請求項7に記載のコンピューティングシステム。
  9. 前記複数のノードがツリー階層で接続されており、リーフノードからルートノードへの上流方向のリンク上でメッセージが移動し、前記ルートノードから前記リーフノードへの下流方向のリンク上でメッセージが移動し、
    前記第1のノードが前記ツリー階層のルートノードである、請求項2に記載のコンピューティングシステム。
  10. 前記第2のノードの前記電力コントローラが、前記複数のノードをパワーダウンするための要求を、
    前記第2のノード内の各クライアントがアイドルであると判定したことと、
    前記複数のノードをパワーダウンするように指定する通知を前記上りリンク上で受信したことと、
    に応答して、前記下りリンク上で送信するように構成される、請求項9に記載のコンピューティングシステム。
  11. 前記第2のノードの前記電力コントローラが、前記複数のノード内の少なくとも1つのクライアントがアイドルであることを示す通知を、
    前記所与のノードの前記電力コントローラが、論理的に切断されたリンク状態を上りリンク上で送信したことと、
    前記電力コントローラが、任意の通知を先行して下りリンク上で送信したことと、
    前記所与のノードが前記複数のノードのツリー階層の中間レベルにあることと、
    に応答して、前記上りリンク上で送信するように構成される、請求項1に記載のコンピューティングシステム。
  12. 前記所与のノードの前記電力コントローラが、前記複数のノード内の少なくとも1つのクライアントが非アイドルであることを示す通知を、
    前記第2のノード内の少なくとも1つのクライアントが非アイドルになったと判定したことと、
    前記複数のノード内の少なくとも1つのクライアントが非アイドルであることを示す通知を前記下りリンク上で受信したことと、
    のうちの1つ以上に応答して、上りリンク上で送信するように構成される、請求項1に記載のコンピューティングシステム。
  13. 複数のノードによってアプリケーションを処理することであって、各ノードが、
    前記アプリケーションを処理するように構成された1つ以上のクライアントと、
    前記複数のノードのうちの1つ以上の他のノードに結合された複数のリンクであって、前記複数のノードのうちの2つ以上が完全には接続されていない、前記複数のリンクと、
    電力コントローラと、を含む、処理することと、
    前記複数のノード内の各クライアントがアイドルであると前記複数のノードのうちの第1のノードが判定したことに応答して、前記複数のノードの各ノードにより、前記複数のリンク及び前記1つ以上のクライアントをパワーダウンすることと、
    を含む方法。
  14. 前記複数のノードのうちの第2のノードの前記電力コントローラにより、前記複数のノードの第1のサブセット内の各クライアントがアイドルであることを示す通知を前記複数のノードのうちの第3のノードに送信することであって、前記第3のノードが、前記第2のノードに接続された任意の他のノードに接続されていない、送信することをさらに含む、請求項13に記載の方法。
  15. 前記第2のノードの前記電力コントローラにより、前記通知を、
    前記第2のノード内の前記1つ以上のクライアントの各クライアントがアイドルであると判定したことと、
    前記複数のノードの前記第1のサブセットよりも小さい第2のサブセット内の各クライアントがアイドルであることを示す通知を第4のノードから受信したことと、
    に応答して送信することをさらに含む、請求項14に記載の方法。
  16. 前記複数のノードの所与のサブセット内の各クライアントがアイドルであるとの通知を前記第1のノードの各リンク上で受信したことに応答して、前記方法が、前記第1のノードの前記電力コントローラにより、直接接続された各隣接ノードにパワーダウンのための要求を送信することをさらに含む、請求項14に記載の方法。
  17. アプリケーションを処理するように構成された1つ以上のクライアントと、
    複数のノードのうちの1つ以上の他のノードに結合された複数のリンクであって、前記複数のノードのうちの2つ以上が完全には接続されていない、前記複数のリンクと、
    電力コントローラと、を含む処理ノードであって、
    前記電力コントローラが、前記複数のノード内の各クライアントがアイドルであると前記複数のノードのうちの外部の第1のノードが判定したことに応答して、前記複数のリンク及び前記1つ以上のクライアントをパワーダウンするように構成される、処理ノード。
  18. 前記電力コントローラが、前記複数のノードの第1のサブセット内の各クライアントがアイドルであることを示す通知を前記複数のノードのうちの第3のノードに送信するように構成され、前記第3のノードが、前記処理ノードに接続された任意の他のノードに接続されていない、請求項17に記載の処理ノード。
  19. 前記電力コントローラが、前記通知を、
    前記1つ以上のクライアントの各クライアントがアイドルであると判定したことと、
    前記複数のノードの前記第1のサブセットよりも小さい第2のサブセット内の各クライアントがアイドルであることを示す通知を外部の第4のノードから受信したことと、
    に応答して送信するように構成される、請求項18に記載の処理ノード。
  20. 前記電力コントローラが、各リンク上でパワーダウン要求及びパワーダウン応答を転送したことに応答して各リンク及び各クライアントをパワーダウンするように構成される、請求項18に記載の処理ノード。
JP2020536179A 2017-12-28 2018-09-20 システム全体の低電力管理 Active JP7264901B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/856,546 US11054887B2 (en) 2017-12-28 2017-12-28 System-wide low power management
US15/856,546 2017-12-28
PCT/US2018/051916 WO2019133085A1 (en) 2017-12-28 2018-09-20 System-wide low power management

Publications (2)

Publication Number Publication Date
JP2021509240A true JP2021509240A (ja) 2021-03-18
JP7264901B2 JP7264901B2 (ja) 2023-04-25

Family

ID=63858060

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020536179A Active JP7264901B2 (ja) 2017-12-28 2018-09-20 システム全体の低電力管理

Country Status (6)

Country Link
US (2) US11054887B2 (ja)
EP (1) EP3732547A1 (ja)
JP (1) JP7264901B2 (ja)
KR (1) KR20200100183A (ja)
CN (1) CN111684391B (ja)
WO (1) WO2019133085A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671148B2 (en) 2017-12-21 2020-06-02 Advanced Micro Devices, Inc. Multi-node system low power management
US11435813B2 (en) 2018-08-29 2022-09-06 Advanced Micro Devices, Inc. Neural network power management in a multi-GPU system
CN114490194B (zh) * 2022-04-19 2022-07-01 海光信息技术股份有限公司 掉电处理方法、功能节点、处理系统、设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005508041A (ja) * 2001-10-31 2005-03-24 マイクロソフト コーポレーション バスデバイスの選択的サスペンド
US20130179621A1 (en) * 2012-01-06 2013-07-11 Glenn Willis Smith Extensible daisy-chain topology for compute devices
US20130311804A1 (en) * 2012-04-30 2013-11-21 Vivek Garg Master slave qpi protocol for coordinated idle power management in glueless and clustered systems
US20140019788A1 (en) * 2012-04-18 2014-01-16 Huawei Technologies Co., Ltd. Dynamic energy-saving method and apparatus for pcie device, and communication system thereof
US20160187952A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Method and apparatus to control a link power state
US20170353926A1 (en) * 2014-12-31 2017-12-07 Huawei Technologies Co., Ltd. Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4980836A (en) 1988-10-14 1990-12-25 Compaq Computer Corporation Apparatus for reducing computer system power consumption
US5396635A (en) 1990-06-01 1995-03-07 Vadem Corporation Power conservation apparatus having multiple power reduction levels dependent upon the activity of the computer system
US5617572A (en) 1995-01-31 1997-04-01 Dell Usa, L.P. System for reducing power consumption in computers
US5692202A (en) 1995-12-29 1997-11-25 Intel Corporation System, apparatus, and method for managing power in a computer system
US6334167B1 (en) 1998-08-31 2001-12-25 International Business Machines Corporation System and method for memory self-timed refresh for reduced power consumption
US6657634B1 (en) 1999-02-25 2003-12-02 Ati International Srl Dynamic graphics and/or video memory power reducing circuit and method
GB2357601B (en) * 1999-12-23 2004-03-31 Ibm Remote power control
JP2003308246A (ja) 2002-04-17 2003-10-31 Fujitsu Ltd メモリコントローラのクロック制御装置及び方法
US7028200B2 (en) 2002-05-15 2006-04-11 Broadcom Corporation Method and apparatus for adaptive power management of memory subsystem
US7428644B2 (en) 2003-06-20 2008-09-23 Micron Technology, Inc. System and method for selective memory module power management
US7800621B2 (en) 2005-05-16 2010-09-21 Ati Technologies Inc. Apparatus and methods for control of a memory controller
TWI311705B (en) * 2005-05-23 2009-07-01 Via Tech Inc Peripheral component interconnect express and changing method of link power states thereof
DE102005037635B4 (de) 2005-08-09 2007-07-12 Infineon Technologies Ag Hardwaresteuerung für den Wechsel des Betriebsmodus eines Speichers
US7496777B2 (en) 2005-10-12 2009-02-24 Sun Microsystems, Inc. Power throttling in a memory system
EP1785982A1 (en) 2005-11-14 2007-05-16 Texas Instruments Incorporated Display power management
US7899990B2 (en) 2005-11-15 2011-03-01 Oracle America, Inc. Power conservation via DRAM access
US7613941B2 (en) 2005-12-29 2009-11-03 Intel Corporation Mechanism for self refresh during advanced configuration and power interface (ACPI) standard C0 power state
US7873850B2 (en) 2006-10-11 2011-01-18 Hewlett-Packard Development Company, L.P. System and method of controlling power consumption and associated heat generated by a computing device
US7743267B2 (en) 2006-11-08 2010-06-22 Xerox Corporation System and method for reducing power consumption in a device
US7868479B2 (en) 2007-06-27 2011-01-11 Qualcomm Incorporated Power gating for multimedia processing power management
US7971074B2 (en) * 2007-06-28 2011-06-28 Intel Corporation Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system
US8181046B2 (en) 2008-10-29 2012-05-15 Sandisk Il Ltd. Transparent self-hibernation of non-volatile memory system
US8856563B2 (en) * 2009-10-02 2014-10-07 International Business Machines Corporation Remote power down control of a device
US8402232B2 (en) 2009-12-23 2013-03-19 Oracle America, Inc. Memory utilization tracking
US8656198B2 (en) 2010-04-26 2014-02-18 Advanced Micro Devices Method and apparatus for memory power management
US8484498B2 (en) * 2010-08-26 2013-07-09 Advanced Micro Devices Method and apparatus for demand-based control of processing node performance
KR101924836B1 (ko) * 2011-03-23 2018-12-04 삼성전자주식회사 고속 인터칩 통신 장치 및 방법
US20120254526A1 (en) 2011-03-28 2012-10-04 Advanced Micro Devices, Inc. Routing, security and storage of sensitive data in random access memory (ram)
US9250688B2 (en) * 2011-12-09 2016-02-02 Intel Corporation Adaptive graphics subsystem power and performance management
US9223630B2 (en) * 2011-12-22 2015-12-29 Alcatel Lucent Method and apparatus for energy efficient distributed and elastic load balancing
US9261939B2 (en) * 2013-05-09 2016-02-16 Apple Inc. Memory power savings in idle display case
US9578601B2 (en) * 2013-11-12 2017-02-21 Qualcomm Incorporated Methods and apparatus for reducing modem power based on a present state of charge of battery
US9847918B2 (en) * 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
TWI653527B (zh) * 2014-12-27 2019-03-11 美商英特爾公司 當計算元件運作時致能系統低電力狀態之技術
US9874922B2 (en) * 2015-02-17 2018-01-23 Intel Corporation Performing dynamic power control of platform devices
US10775871B2 (en) * 2016-11-10 2020-09-15 Apple Inc. Methods and apparatus for providing individualized power control for peripheral sub-systems
US20180157311A1 (en) * 2016-12-07 2018-06-07 Microsoft Technology Licensing, Llc System-Wide Idle Resiliency Mechanism for Always-On Always-Connected Computers

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005508041A (ja) * 2001-10-31 2005-03-24 マイクロソフト コーポレーション バスデバイスの選択的サスペンド
US20130179621A1 (en) * 2012-01-06 2013-07-11 Glenn Willis Smith Extensible daisy-chain topology for compute devices
US20140019788A1 (en) * 2012-04-18 2014-01-16 Huawei Technologies Co., Ltd. Dynamic energy-saving method and apparatus for pcie device, and communication system thereof
US20130311804A1 (en) * 2012-04-30 2013-11-21 Vivek Garg Master slave qpi protocol for coordinated idle power management in glueless and clustered systems
US20160187952A1 (en) * 2014-12-24 2016-06-30 Intel Corporation Method and apparatus to control a link power state
US20170353926A1 (en) * 2014-12-31 2017-12-07 Huawei Technologies Co., Ltd. Sleeping and wake-up methods and apparatuses of master-slave network, and power saving system of master-slave network

Also Published As

Publication number Publication date
JP7264901B2 (ja) 2023-04-25
EP3732547A1 (en) 2020-11-04
US11054887B2 (en) 2021-07-06
US20190204899A1 (en) 2019-07-04
WO2019133085A1 (en) 2019-07-04
CN111684391A (zh) 2020-09-18
US20210333860A1 (en) 2021-10-28
CN111684391B (zh) 2024-05-14
KR20200100183A (ko) 2020-08-25

Similar Documents

Publication Publication Date Title
JP6984022B2 (ja) マルチノードシステムの低電力管理
US20210333860A1 (en) System-wide low power management
JP2006107513A (ja) 処理環境におけるパワー・マネジメント
JPWO2008155806A1 (ja) バリア同期方法、装置、及びマルチコアプロセッサ
US20220091657A1 (en) Mechanism for performing distributed power management of a multi-gpu system
US11436049B2 (en) Systems and methods to control bandwidth through shared transaction limits
WO2022271239A1 (en) Queue scaling based, at least, in part, on processing load
US11966330B2 (en) Link affinitization to reduce transfer latency
TW202008172A (zh) 儲存系統
US11592889B2 (en) Die-to-die dynamic clock and power gating
US11182325B1 (en) Memory centric computing storage controller system
Kim et al. Memory Network: Enabling Technology for Scalable Near-Data Computing
US20140006831A1 (en) Dynamic link scaling based on bandwidth utilization
US20240085972A1 (en) Chiplet state aware and dynamic voltage regulator event handling
US20230153121A1 (en) Accelerator usage prediction for improved accelerator readiness
US20240113914A1 (en) Low power processing of remote manageability requests
US20230195528A1 (en) Method and apparatus to perform workload management in a disaggregated computing system
JP2023507330A (ja) 電力節約のためのクロックイネーブルとしてのバイトイネーブルの転用
CN117909282A (zh) 解耦式的异构系统
EP3841484A1 (en) Link layer data packing and packet flow control scheme

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210917

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220920

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230314

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230411

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230413

R150 Certificate of patent or registration of utility model

Ref document number: 7264901

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150