JP5746271B2 - 低電力動作のための方法、装置、コンピュータプログラム及びシステム - Google Patents

低電力動作のための方法、装置、コンピュータプログラム及びシステム Download PDF

Info

Publication number
JP5746271B2
JP5746271B2 JP2013140836A JP2013140836A JP5746271B2 JP 5746271 B2 JP5746271 B2 JP 5746271B2 JP 2013140836 A JP2013140836 A JP 2013140836A JP 2013140836 A JP2013140836 A JP 2013140836A JP 5746271 B2 JP5746271 B2 JP 5746271B2
Authority
JP
Japan
Prior art keywords
processor
affinity
core
processor cores
power
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.)
Expired - Fee Related
Application number
JP2013140836A
Other languages
English (en)
Other versions
JP2013225332A (ja
Inventor
エム. セリーン ガイ
エム. セリーン ガイ
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2013225332A publication Critical patent/JP2013225332A/ja
Application granted granted Critical
Publication of JP5746271B2 publication Critical patent/JP5746271B2/ja
Expired - Fee Related 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)

Description

本発明は、マルチコアプロセッサの低電力動作の方法及び装置に関する。
現代のコンピュータシステムの性能は、近年において迅速に増加している。性能が進化している1つの特定の領域は、プロセッサ技術である。今日のコンピュータシステムにおける多くのプロセッサは、複数のコアを含む。マルチコアプロセッサにより提供される処理能力の増加により、サイズにおいて縮小し続けているコンピュータシステムにおいて消費電力量及び熱発生量が増加する。
マルチコアプロセッサにおける処理能力及びコア数が増加し続けるので、電力消費量と熱発生量における低減が重要な課題となる。結果として、電力を節約して熱の発生を低減するために、可能であれば、マルチコアプロセッサを適合させることが望まれる。結果的に、マルチコアプロセッサシステムの電力消費量と熱発生量を減少するための技術が必要とされる。
本発明の実施の形態は、マルチコアプロセッサを利用したコンピュータシステムにおける消費電力量と熱発生量を低減するために設計された技術に向けられる。様々な実施の形態は、コンピュータシステムの低電力モードを初期化し、1以上の親和性が与えられていない(un-affinitized)ソフトウェアスレッド検出し、マルチコアプロセッサのプロセッサコアのセットで実行するため、1以上の親和性が与えられていないソフトウェアスレッドに親和性を与える(affinitize)電力管理モジュールを含む技術を提供し、プロセッサコアのセットは、マルチコアプロセッサの全体のプロセッサコアの数未満のプロセッサコアの数を含む。他の実施の形態が記載及び特許請求される。
マルチコアプロセッサの使用に関して時間を通した進行につれて、アクティブな作業負荷を実行するときの電力消費量は確実に上昇する。マルチコアプロセッサが著しい性能の利点を与える一方、アクティブな作業負荷を実行するときの関連する電力消費量により、コンピュータシステムは、より高い温度で動作し、動作の間のファン及び他の冷却装置の使用により更に多くの雑音を発生する。さらに、多くの普及している現代のオペレーティングシステムは、オンザフライでプロセッサコアを追加及び削除する手段を提供しない。さらに、プロセッサの追加又は削除は、高いオーバヘッド動作を有することがあり、強制された親和化(affinitization)は、たとえば低いオーバヘッドの動作を有することがある。
従来のコンピュータシステムでは、電力消費量を低減するために利用可能な手段は、マルチコアプロセッサの全てのコアを強制的に低い性能の状態(たとえばP状態)にし、次いで、電力及び/又は温度を所定のレベル以下に維持するためにコアを調節することである。マルチコアの動作により、利用可能な最大の調節量は、クロックされるコアの漏れが重要であるとき、冷たさ及び静かさの閾値に到達するために電力消費量を低減するのに十分ではないことがある。従来のコンピュータシステムでは、電力を低減するために利用可能な手段は、低電力又はクロックされない状態にコアをアレンジすることである。係るように、アクティブな作業負荷を実行するマルチコアプロセッサの電力消費量を制限するために効果的な手段が今日存在しない。結果的に、本実施の形態で記載される様々な実施の形態は、アクティブな作業負荷を実行するとき、マルチコアプロセッサの電力消費量及び熱発生量を低減する効果的な手段を提供するものであり、マルチコアプロセッサシステムの、冷却され且つ静かな動作が可能となる。
実施の形態は、1以上のエレメントを含む。エレメントは、所定の動作を実行するためにアレンジされる構造を有する。それぞれのエレメントは、設計パラメータ又は性能の制約の所与のセットについて望まれるとき、ハードウェア、ソフトウェア又はその組み合わせとして実現される場合がある。実施の形態は例示を通して所定のアレンジメントで特定のエレメントにより記載されるが、実施の形態は、代替的なアレンジメントにおける他のエレメントの組み合わせを含む場合がある。
「1実施の形態」又は「実施の形態」に対する参照は、実施の形態と共に記載される特定の特徴、構造又は特性が少なくとも1つの実施の形態に含まれることを意味する。明細書における様々な位置におけるフレーズ「1実施の形態では」又は「実施の形態では」の出現は、必ずしも同じ実施の形態を全て参照するものではない。
本発明に係る装置の1実施の形態を例示する図である。 本発明に係る1実施の形態の第一のロジックダイアグラムである。 本発明に係る1実施の形態の第二のロジックダイアグラムである。 本発明に係る1実施の形態のシステムである。
図1は、1実施の形態の装置を例示する。図1は、装置100のブロック図を示す。装置100は、幾つかの実施の形態におけるコンピュータシステムを含む。図1に示されるように、装置100は、電力管理モジュール102、メモリ104、オペレーティングシステム106、及びコア108−1〜108−mを含むマルチコアプロセッサ108のような多数のエレメントを有する。しかし、実施の形態は、この図に示されるエレメント又はコンフィギュレーションに限定されない。
様々な実施の形態では、マルチコアプロセッサ108は、1以上のプロセッサコア108−1〜108−mを有する中央処理装置を有する場合がある。プロセッサ108は、たとえばCPU、マルチプロセッシングユニット、RISC(Reduced Instruction Set Computer)、パイプラインを有するプロセッサ、CISC(Complex Instruction Set Computer)、DSP(Digital Signal Processor)等のような任意のタイプの処理装置を含む場合がある。
様々な実施の形態では、メモリ104は、任意の適切なタイプのメモリユニット、メモリデバイス、メモリ製品、メモリメディア、ストレージデバイス、ストレージ製品、ストレージメディア及び/又はストレージユニットを含み、たとえば、メモリ、取り外し可能又は取り外し不可能なメディア、揮発性又は不揮発性メモリ又はメディア、消去可能又は消去不可能なメディア、書換え可能又は書換え不可能なメディア、デジタル又はアナログメディア、ハードディスク、フロプティカルディスク、コンパクトディスク・リードオンリメモリ(CD−ROM)、コンパクトディスク・レコーダブル(CD−R)、コンパクトディスク・リライタブル(CD−RW)、光ディスク、磁気ディスク、光磁気ディスク、取り外し可能なメモリカード又はディスク、各種タイプのデジタルバーサティルディスク(DVD)、テープ、カセット等を含む。
オペレーティングシステム(OS)106は、幾つかの実施の形態において、装置100の各種ハードウェアコンポーネントとユーザとの間のインタフェースを有する。様々な実施の形態では、OS106は、動作の管理及び調整、並びにコンピュータシステム100のリソースの共有の役割を果たす。幾つかの実施の形態では、OS106は、コンピュータシステム100で実行される様々なコンピュータアプリケーションのホストとして機能する。たとえば、OS106は、幾つかの実施の形態では、ワシントン州レドモンドのマイクロソフト社(登録商標)によるウィンドウズ(登録商標)オペレーティングシステムを有する場合がある。他の実施の形態が記載及び特許請求される。
様々な実施の形態では、電力管理モジュール102は、コンピュータシステム100の電力及び熱発生を管理するソフトウェアドライバ又はアプリケーションを有する。幾つかの実施の形態では、電力管理モジュール102は、たとえば冷却され且つ静かな電力計画すなわち低電力計画のような特定の電力計画へのエントリ及び特定の電力計画の管理を制御するOS106下で実行しているソフトウェアドライバを有する。低電力計画は、様々な実施の形態において、アクティブな作業負荷の間のプロセッサの電力消費量を低減する設定可能な計画を有する。電力管理モジュール102がコンピュータシステム100における個別のコンポーネントとして示されているが、OS106の一部としてメモリ104に含まれるか、又は任意の他のロケーション又はコンフィギュレーションに含まれる場合があり、記載される実施の形態に含まれる。他の実施の形態が記載及び特許請求される。
幾つかの実施の形態では、電力管理モジュール102は、コンピュータシステム100の低電力モードを初期化するために動作する。低電力モード(又は冷却され且つ静かなモード)は、通常又は従来の動作モードと比較して、コンピュータシステム100が低減された電力消費量、低減された熱発生量及び低減された雑音量で動作するのを可能にする設定可能な電力計画を有する。
低電力モードの初期化は、検出されたシステムパフォーマンス及び/又はシステム又はコンポーネントの状態に基づいて、ユーザによるボタンの押下から生じるか又は特定の電力計画へのエントリから生じる。たとえば、幾つかの実施の形態では、電力管理モジュール102は、コンピュータシステム100の様々なコンポーネントにより現在発生されている電力消費量及び/又は熱又は雑音レベルに関連する情報を受け、低電力モードに自動的に入る。幾つかの実施の形態では、ユーザは、ハードウェア又はソフトウェアの何れかにおいて、低電力モードをイネーブルにするためにボタンを押下して低電力モードを手動的に始動するか、又は低電力モードのシステムのプリファレンスを有効又は作動することで低電力モードを始動する。他の実施の形態が記載及び特許請求される。
様々な実施の形態では、電力管理モジュール102は、アクティブな作業負荷をモニタし、低電力モードに入ることに応じて所定の作業負荷を割り当て直す。たとえば、電力管理モジュール102は、コンピュータシステム100で実行している1以上のアクティブなアプリケーションに関連するソフトウェアスレッドをモニタする。ソフトウェアスレッドは、たとえば、タスクを遂行するために実行される命令を含む。幾つかの実施の形態では、コンピュータシステム100のようなマルチコアシステムでは、スレッド又はタスクは、同時に(たとえば並列に)実行され、それぞれのプロセッサ108又はそれぞれのプロセッサコア108−1〜108−mは、特定のスレッド又はタスクを実行する。幾つかの従来のコンピュータシステムは、スレッドに親和性を与える能力を含み、この能力は、専門化したシステムナレッジが相当な利益を達成するために必要とされることがあるとき、典型的に実現されない。多くの従来のシステムでは、大部分のアプリケーションは、特定のプロセッサについてそれらのタスクに親和性を与えない。たとえば、従来のシステムでは、OSスケジューラは、その自由裁量により、ロジカルプロセッサでソフトウェアスレッドをシンプルに実行させる。別の言い方をすれば、従来のコンピュータシステムにおけるOSスケジューラは、全ての利用可能なロジカルプロセッサ(たとえばプロセッサコア108−1〜108−m)でスレッドをスケジュールする。
電力管理モジュール102は、幾つかの実施の形態において、1以上の親和性が与えられていないソフトウェアスレッドを検出するために動作する。たとえば、電力管理モジュール102は、スレッドの形成、削除、及び/又はモード変化のため、たとえばOS106のようなOS環境を連続的にモニタし、親和性が与えられないスレッドであって、特に断りがなければ親和性を与えることから免除又は除外されたスレッドを識別する。様々な実施の形態では、電力管理モジュール102は、マルチコアプロセッサ108のプロセッサコアのセット上で実行するため、1以上の親和性が与えられていないソフトウェアスレッドに親和性を与えるために動作する。たとえば、電力管理モジュール102は、マルチコアプロセッサ108の全体のプロセッサコアの数に満たない数のプロセッサコアで動作するため、1以上の親和性が与えられていないソフトウェアスレッドに親和性を与える。他の実施の形態が記載及び特許請求される。
幾つかの実施の形態では、電力管理モジュール102は、低電力モードにあるとき、親和性が与えられていないソフトウェアスレッドに、設定された特定のセットの全ての論理プロセッサへの親和性を連続的に与える。様々な実施の形態では、プロセッサトポロジーが既知であるとき、実行するためにソフトウェアスレッドに親和性が与えられるプロセッサコアのセットは、特定の物理的なプロセッサコアと関連する論理プロセッサを排除するように設定又は選択される。たとえば、パワーマネージメントモジュール102は、マルチコアプロセッサ108のプロセッサコア108−1〜108−mのそれぞれの電力特性又は熱特性を検出し、電力特性又は熱特性に基づいて親和性を与えるために使用されるプロセッサコアのセットを選択するために動作する。
幾つかの実施の形態では、低電力モードの起動の結果として所定のコアで作業をスケジュールするのをOSスケジューラが停止したとき、コアは、必然的にアイドル状態になり、プロセッサを低電力状態にする。これは、たとえば少ない数のプロセッサコアでの高い利用となり、コンピュータシステム100の全体のパフォーマンスは、電力消費量、熱発生量及び雑音発生量と共に低減される。さらに、幾つかの実施の形態では、電力管理モジュール102は、プロセッサコアの選択されたセットにおけるプロセッサコアの数を連続的に低減し、低減されたセットのプロセッサコアで実行するため、1以上の親和性が与えられていないソフトウェアスレッドに親和性を与え、電力消費量並びに熱及び雑音の発生量を連続的に低減する。
様々な実施の形態では、コンピュータシステムの最低電力の動作は、全てのソフトウェアスレッドに1つのプロセッサコアへの親和性を与えることで始動され、プロセッサのホットリムーブ動作(hot remove operation)により達成される動作を効果的にエミュレートする。たとえば、電力管理モジュール102は、幾つかの実施の形態では、マルチコアプロセッサ108の複数のプロセッサコア108−1〜108−mのうちの1つで実行するため、1以上の親和性が与えられていないソフトウェアスレッドに親和性を与えるために動作する。
全てのソフトウェアスレッドに1つのプロセッサコアへの親和性を与えることで、コンピュータシステム100の低減された電力消費量、並びに熱及び雑音の発生量となる。しかし、幾つかの実施の形態では、電力消費量並びに熱及び雑音の発生量は、ひとたび効果的な1つのコアの動作が達成されると、プロセッサのパフォーマンスの状態のOS106の利用を設定された数の低いパフォーマンスの状態に低減することで更に低減される。たとえば、電力管理モジュール102は、スレッドの親和化のために選択されたプロセッサコアのセットにおける1以上のプロセッサコア108−1〜108−mのプロセッサコアの状態を低減するために動作する。様々な実施の形態では、低電力動作は、残りのコアについてOSのP状態の使用を1つの最低電力のP状態に制限することで達成される。他の実施の形態が記載及び特許請求される。
幾つかの実施の形態では、1つのプロセッサコアで実行するために全てのスレッドに親和性が与えられ、そのコアがその最低のP状態で動作している、リニアスロットリング(linear throttling)を使用して、更なるアクティブな作業負荷の電力の低減が達成される。たとえば、電力管理モジュール102は、プロセッサコアのセットにおいて1以上のプロセッサコアにリニアスロットリングを適用するために動作する。様々な実施の形態では、リニアスロットリング動作自身は、システムのパフォーマンスに影響を及ぼす電力コストを有する。結果として、利用が検出され、たとえば利用が設定可能な閾値を超えて上昇したときにのみスロットリングが適用される。たとえば、電力管理モジュール102は、利用の閾値に基づいてリニアスロットリングを適用するために動作する。
幾つかの実施の形態では、利用率の閾値は、システムのプラスに戻るポイント(たとえばスロットリングが電力を増加せず、電力が減少するポイント)で設定される。
図2は、ロジックフロー200の1実施の形態を例示する。ロジックフロー200は、様々なシステム及び/又は装置により実行され、所与のセットの設計パラメータ又はパフォーマンスの制約について要望に通りに、ハードウェア、ソフトウェア、ファームウェア及び/又はその組み合わせとして実現される場合がある。たとえば、1以上のロジックフロー200の動作は、ロジックデバイス(たとえばコンピュータ、プロセッサ)により実行されるべき実行可能なプログラミング又はコンピュータ読み取り可能な命令により実現される。ロジックフロー200は、装置100及び電力節約モジュール102を参照して上述された電力節約機能を説明する。
様々な実施の形態では、ステップ202で低電力モジュールとなるか、初期化される。たとえば、ユーザは、ボタンを押下することで、又はさもなければコンピュータシステムで低電力モードに入る要求を示すことで低電力モードを選択する。ステップ204で、1以上のソフトウェアスレッドが検出される。たとえば、デバイスドライバ又は他のアプリケーションプログラムは、マルチコアプロセッサによる実行のためにスケジュールされるソフトウェアスレッドを連続してモニタして検出するために構成される。ステップ206で、検出されたソフトウェアスレッドに親和性が与えられるか否かに関して判定が行われる。1以上のスレッドに既に親和性が与えられているか又は親和性を与えることから免除又は排除されている場合、これらのスレッドに親和性を与えることは変更されない。親和性が与えられないスレッドが検出されない場合、ソフトウェアスレッドの連続的なモニタ及び検出が行われる。
幾つかの実施の形態では、1以上のスレッドに親和性が与えられない場合であって、親和性を与えることから免除又は排除されている場合、スレッドは、ステップ206で親和性が与えられる。たとえば、親和性が与えられないスレッドは、マルチコアプロセッサの全体の利用可能なコアの数に満たない数のコアでの実行のためにスケジュールされる。検出された親和性が与えられていないスレッドの強制された親和化に続いて、ステップ210で、静的又は動的な設定が有効にされるか及び/又は望まれるかに関する判定が行われる。たとえば、予め決定されたパフォーマンスの基準を含む静的な設定が選択される場合があり、又は、結果として得られる設定にかかわらず適合されるパフォーマンスの目標を含む動的な設定が選択される場合がある。他の実施の形態が記載及び特許請求される。
静的な設定が選択された場合、ステップ222で、残りのプロセッサ又はプロセッサコアについて予め決定されたパフォーマンスの状態(たとえばP状態)が選択される。ステップ224で、最低のP状態が選択されているかに関する判定が行われ、選択されている場合、ステップ226で、利用の閾値に到達しているかに関する判定が行われる。到達している場合、ステップ228で、スロットリングが適用される。他の実施の形態が記載及び特許請求される。
様々な実施の形態において、動的な設定が選択された場合、ステップ212で、より多くの電力の節約が望まれるか、或いは達成された熱又は音の目標値が満足されているかに関する判定が行われる。更なる電力の節約が望まれるか又は目標値に到達していない場合、ステップ214で、ソフトウェアスレッドの親和化のために選択されたコアのパフォーマンスの状態(たとえばP状態)が低減される。様々な実施の形態では、更なる電力の節約が望まれるか、或いは電力、熱又は音の目標値に未だ到達していないかが判定される。更なる電力の節約が望まれるか、或いは目標値に到達していない場合、ステップ218で、利用の閾値を超えているか否かに関する判定が行われ、超えている場合、ステップ220で、リニアスロットリングが適用される。
幾つかの実施の形態では、動的な設定は、目標値に到達するまで、論理プロセッサを連続して利用するためにスレッドに親和性を与えることを含む。たとえば、動的な設定は、目標値に到達するまで、利用されるコアの数における連続的な低減を含む。他の実施の形態が記載及び特許請求される。
様々な実施の形態では、低電力モードは、限定されないが、たとえばユーザが終了を選択したか又はパフォーマンスに基づいた終了を含めて、幾つかの理由のために任意の時間で終了される。幾つかの実施の形態では、低電力モードからの終了は、ステップ240で検出される。様々な実施の形態では、終了は、たとえばスロットリング及びP状態及びコアの使用が取り消されたとき、及び/又は目標値に到達したときといった、動的な設定で行われる。低電力モードからの終了の場合、親和性が与えられたスレッドは、ステップ242で親和性が与えられなくなり、システムは、ステップ244で通常の動作を再開する。他の実施の形態が記載及び特許請求される。
所定の実施の形態はソフトウェアスレッドの観点で記載されたが、任意の数のスレッド及び任意の数のマルチコアプロセッサのコアを使用することができ、記載された実施の形態に含まれる。さらに、幾つかの実施の形態では、ロジックフロー200は、実質的に同時に複数のスレッドを処理して複数のコアを制御することを含めて、並列にタスクを実行するために実現又は構成されることを理解されるべきである。さらに、ロジックフロー200はロジックフローのほんの一例であり、ロジックフロー200に記載される動作の異なる数、順序及び/又はアレンジメントが実現され、記載された実施の形態に含まれることを理解されたい。他の実施の形態が記載及び特許請求される。
図3は、1実施の形態の第二のロジックフロー300を例示する。ロジックフロー200を参照して上述されたように、ロジックフロー300は、様々なシステム及び/又は装置により実行され、所与のセットの設計パラメータ又はパフォーマンスの制約について要望通り、ハードウェア、ソフトウェア、ファームウェア及び/又は任意の組み合わせとして実現される。たとえば、ロジックフロー300の1以上の動作は、ロジックデバイス(たとえばコンピュータ、プロセッサ)により実行されるべき実行可能なプログラミング又はコンピュータにより読取り可能な命令により実現される。
1実施の形態では、ステップ302で、低電力モードが初期化される。たとえば、電力管理モジュール102は、コンピュータシステム100について、低電力、すなわち冷却され且つ静かな動作モードを初期化する。ステップ302で、1以上の親和性が与えられていないソフトウェアスレッドが検出される。たとえば、電力管理モジュール102は、マルチコアプロセッサ108による実行のためにスケジュールされる1以上の親和性が与えられていないソフトウェアスレッドを検出する。
様々な実施の形態では、1以上の親和性が与えられていないソフトウェアスレッドは、ステップ306で、マルチコアプロセッサのうちのプロセッサコアのセットで実行するために親和性が与えられる場合がある。幾つかの実施の形態では、プロセッサコアのセットは、マルチコアプロセッサのうちの全体のプロセッサコアの数に満たない数のプロセッサコアを有する。たとえば、1実施の形態では、1以上の親和性が与えられていないソフトウェアスレッドは、マルチコアプロセッサ108の複数のプロセッサコア108−1〜108−mのうちの1つで実行するために親和性が与えられる。他の実施の形態が記載及び特許請求される。
幾つかの実施の形態では、電力特性及び/又は熱特性は、マルチコアプロセッサのうちのプロセッサコアのそれぞれについて検出され、プロセッサコアのセットは、電力特性及び/又は熱特性に基づいて選択される。たとえば、電力管理モジュール102は、様々なコンピュータシステム100のコンポーネントをモニタし、コンポーネントの特性に基づいてソフトウェアスレッドに親和性を与えるために使用されるプロセッサコア108−1のセットを選択する。
様々な実施の形態では、プロセッサコアのセットにおけるプロセッサコアの数は、連続して低減され、1以上の親和性が与えられていないソフトウェアスレッドは、低減されたセットのプロセッサコアで実行されるために親和性が与えられる。たとえば、電力管理モジュール102は、マルチコアプロセッサ108、及びマルチコアプロセッサ108により実行されるか又はマルチコアプロセッサ108による実行のためにスケジュールされるソフトウェアスレッドを連続してモニタするために動作し、正当ならば、ソフトウェアスレッドの親和化のために使用される選択されたコアのセットを更に低減する。
幾つかの実施の形態では、スレッドの親和化を使用して達成された節約に加えて、更なる電力の節約が望まれるとき、プロセッサコアのセットにおける1以上のプロセッサコアのパフォーマンス状態が低減される。たとえば、マルチコアプロセッサ108の1つのコアが複数のソフトウェアスレッドを実行するために使用されている場合、1つのコアのP状態を低減することで、更なる電力の節約が達成される。リニアスロットリングがプロセッサコアのセットにおける1以上のプロセッサコアに適用される場合、なお更なる電力の節約が達成される。様々な実施の形態では、リニアスロットリングは、利用率の閾値に基づいて適用される。
図4は、例示的なシステムの実施の形態の図である。特に、図4は、様々なエレメントを含むシステム400を示す図である。たとえば、図4は、システム400が、プロセッサ402、チップセット404、入力/出力(I/O)装置406、(ダイナミックRAM(DRAM)のような)ランダムアクセスメモリ(RAM)、及びリードオンリメモリ(ROM)410、様々なプラットフォームコンポーネント414(たとえばファン、クロス流れブロワー、ヒートシンク、DTMシステム、クーリングシステム、ハウジング、ベント等)を含むことを示す。これらのエレメントは、ハードウェア、ソフトウェア又は任意の組み合わせで実現される。しかし、実施の形態は、これらのエレメントに限定されない。
図4に示されるように、I/O装置406、RAM408及びROM410は、チップセット404を経由してプロセッサ402に結合される。チップセット404は、バス412によりプロセッサ402に結合される。したがって、バス412は、多数のラインを含む場合がある。
プロセッサ402は、1以上のプロセッサコアを含む中央処理装置であり、任意の数のプロセッサコアを有する任意の数のプロセッサを含む。プロセッサ402は、たとえばCPU、マルチプロセッシングユニット、RISC(Reduced Instruction Set Computer)、パイプラインを有するプロセッサ、CISC(Complex Instruction Set Computer)、DSP(Digital Signal Processor)等のような任意のタイプの処理装置を含む。
図示されないが、システム400は、Ethernet(登録商標)インタフェース及び/又はUSB(Universal Serial Bus)インタフェース等のような様々なインタフェース回路を含む。幾つかの例示的な実現では、I/O装置406は、システム400にデータ及びコマンドを入力するインタフェース回路に接続される1以上の入力装置を有する。たとえば、入力装置は、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント、音声認識システム等を含む。同様に、I/O装置406は、オペレータに情報を出力するインタフェース回路に接続される1以上の出力装置を有する。たとえば、出力装置は、望まれる場合、1以上のディスプレイ、プリンタ、スピーカ、及び/又は他の出力装置を含む。たとえば、出力装置のうちの1つは、ディスプレイである。ディスプレイは、陰極線管(CRT)、液晶ディスプレイ(LCD)、又は任意のタイプのディスプレイである。
システム400は、ネットワークへのコネクションを介して他の装置とデータをやり取りするため、有線又は無線ネットワークインタフェースを有する。ネットワークコネクションは、Ethernet(登録商標)コネクション、デジタル加入者回線(DSL)、電話回線、同軸ケーブル等のような任意のタイプのネットワークコネクションである。ネットワークは、インターネット、電話ネットワーク、ケーブルネットワーク、無線ネットワーク、パケット交換網、回線交換網等のような任意のタイプのネットワークである。
様々な特定の詳細は、実施の形態の全体的な理解を提供するために説明された。しかし、実施の形態はこれらの特定の詳細なしに実施される場合があることを当業者により理解されるであろう。他の例では、公知の動作、コンポーネント及び回路は、実施の形態を曖昧にしないように詳細に記載されていない。本実施の形態で開示された特定の構造的及び機能的な詳細は、代表的なものであって、必ずしも本実施の形態の範囲を制限するものではないことを理解されたい。
様々な実施の形態は、ハードウェアエレメント、ソフトウェアエレメント又は両者の組み合わせを使用して実現される。ハードウェアエレメントの例は、プロセッサ、マイクロプロセッサ、回路、回路素子(たとえばトランジスタ、抵抗、キャパシタ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含む。ソフトウェアの例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令のセット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はその任意の組み合わせを含む。実施の形態がハードウェアエレメント及び/又はソフトウェアエレメントを使用して実現されるかに関する判定は、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計又はパフォーマンスの制約のような任意の数のファクタに従って変化する。
幾つかの実施の形態は、表現「結合される“coupled”」及び「接続される“connected”」をそれらの派生語と共に使用して記載される。これらの用語は、互いについて類語として意図されない。たとえば、幾つかの実施の形態は、2以上のエレメントがダイレクトに物理的又は電気的に接触することを示すため、用語「接続される“connected”」及び/又は「結合される“coupled”」を使用して記載される。しかし、用語「結合される“coupled”」は、2以上のエレメントが互いにダイレクトに接触していないが、依然として協働又は互いに相互作用することを意味する。
幾つかの実施の形態は、たとえば、コンピュータ又はプロセッサにより実行された場合、実施の形態に係る方法及び/又は動作をコンピュータ又はプロセッサに実行させる命令、命令のセット又はコンピュータ実行可能なコードを使用して実現される。係るコンピュータは、たとえば任意の適切な処理プラットフォーム、コンピューティングプラットフォーム、コンピューティング装置、処理装置、コンピューティングシステム、処理システム、コンピュータ、プロセッサ等を含み、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせを使用して実現される。コンピュータ読み取り可能な媒体又は製品は、たとえば、任意の適切なタイプのメモリユニット、メモリデバイス、メモリ製品、メモリメディア、ストレージデバイス、ストレージ製品、ストレージメディア及び/又はストレージユニットを含み、たとえば、メモリ、取り外し可能な又は取り外し不可能なメディア、揮発性又は不揮発性メモリ又はメディア、消去可能又は消去不可能なメディア、書換え可能又は再書換え可能なメディア、デジタル又はアナログメディア、ハードディスク、フロプティカルディスク、コンパクトディスク・リードオンリメモリ(CD−ROM)、コンパクトディスク・レコーダブル(CD−R)、コンパクトディスク・リライタブル(CD−RW)、光ディスク、磁気メディア、光磁気メディア、取り外し可能なメモリカード又はディスク、各種のタイプのデジタルバーサティルディスク(DVD)、テープ、カセット等を含む。命令は、任意の適切な高水準、低水準、オブジェクト指向、ビジュアル、コンパイル及び/又は解釈されたプログラミング言語を使用して実現される、ソースコード、コンパイルされたコード、解釈されたコード、実行可能なコード、スタティックコード、ダイナミックコード、暗号化されたコード等のような任意の適切なタイプのコードを含む。
特に断りがない限り、「処理“processing”」、「計算“computing”」、「計算“calculating”」、「決定“determining”」等のような用語は、コンピューティングシステムのレジスタ及び/又はメモリ内の(たとえば電子的な)物理量として表されるデータを、コンピューティングシステムのメモリ、レジスタ又は他の係る情報ストレージ、送信又は表示装置内の物理量として同様に表される他のデータに処理及び/又は変換するコンピュータ又はコンピューティングシステム、又は類似の電子計算装置の動作及び/又は処理を示す。実施の形態は、この環境に限定されない。
なお、本実施の形態で記載される方法は、記載された順序で実行される必要はなく、任意の特定の順序で実行される場合がある。さらに、本実施の形態で識別される本方法に関して記載される様々なアクティビティは、シリアル又はパラレルな方式で実行することができる。
特定の実施の形態が本実施の形態で図示及び記載されたが、同じ目的を達成するために計算された任意のアレンジメントが図示された特定の実施の形態について置き換えられることを理解されたい。この開示は、様々な実施の形態の何れか及び全ての適合又は変形をカバーすることを理解されたい。先の記載は、限定的な方法ではなく例示的な方法で行われることを理解されたい。先の実施の形態の組み合わせ、及び本実施の形態で特に記載されていない他の実施の形態は、先の記載を検討することに応じて当業者にとって明らかであろう。したがって、様々な実施の形態の範囲は、先の構成、構造及び方法が使用される任意の他のアプリケーションを含む。
この開示の要約は、技術的な開示の特徴を読者が迅速に確認するのを可能にする要約書を要求している37C.F.R.§1.72(b)に準じて提供される。要約書は、請求項の範囲又は意味を解釈又は制限するために使用されないことを理解されたい。さらに、上述された詳細な説明において、この開示をストリーミングするために1つの実施の形態において様々な特徴が互いにグループ化されることがわかる。この開示の方法は、特許請求される実施の形態がそれぞれの請求項において明示的に引用されるよりも多くの特徴を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲は、1つの開示される実施の形態の全ての特徴に満たない本発明の対象を反映する。したがって、以下の特許請求の範囲は、発明の詳細な説明に盛り込まれ、それぞれの請求項は、個別の好適な実施の形態を意味する。特許請求の範囲では、用語「含む“include”」及び「そこで“in which”」は、それぞれの用語「備える“comprising”」及び「そこで“wherein”」の分かりやすい英語の等価な用語として使用される。さらに、用語「第一“first”」、「第二“second”」及び「第三“third”」等は、ラベルとして使用され、それらの対象に対する数値的な要件を課すことが意図されない。
対象は構造的な特徴及び/又は方法の動作に特化した言語で記載されているが、特許請求の範囲で定義される対象は、必ずしも上述された特定の特徴又は動作に限定されるものではないことを理解されたい。むしろ、上述された特定の特徴及び動作は、請求項を実現するために例示的な形式として開示される。
400:システム
402:プロセッサ
404:チップセット
406:I/O装置
408:RAM
410:ROM
414:プラットフォームコンポーネント

Claims (17)

  1. 電力管理モジュールを含む装置が実行する低電力動作方法であって、
    電力モードに入るための要求を受信し、低電力モードのために1以上の親和性ソフトウェアスレッドを検出するステップであって、前記非親和性のソフトウェアスレッドはアフィニティが設定されていないソフトウェアスレッドである、ステップと、
    ルチコアプロセッサのプロセッサコアのそれぞれについて電力特性又は熱特性を取得するステップと、
    取得した電力特性又は熱特性に基づいてプロセッサコアのセットを選択するステップと、
    記マルチコアプロセッサのうち選択されたプロセッサコアセットにより処理を実行するため、検出された少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定するステップであって、前記選択されたプロセッサコアのセットは、前記マルチコアプロセッサに属するプロセッサコアの数に満たない数のプロセッサコアを含む、ステップと、
    記プロセッサコアのセットにおけるプロセッサコアの数を低減するステップと、
    数が低減されたプロセッサコアのセットで実行するため、少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定し、前記マルチコアプロセッサのパフォーマンスを低減するステップと、
    を含む低電力動作方法。
  2. 前記電力特性又は熱特性が示す現在値が目標値に到達していなかった場合に、前記プロセッサコアのセットにおけるプロセッサコアの数を低減するステップが行われる、請求項1記載の低電力動作方法。
  3. 前記低電力モードが終了した場合に、親和性のソフトウェアスレッドを非親和性のスレッドに変更するステップを更に有する請求項1又は2に記載の低電力動作方法。
  4. 前記マルチコアプロセッサの複数のプロセッサコアの1つで実行するため、前記1以上の親和性ソフトウェアスレッド親和性のソフトウェアスレッドに変更するステップを含む、請求項1記載の低電力動作方法。
  5. 電力モードに入るための要求を受信し、低電力モードのために1以上の親和性ソフトウェアスレッドを検出する手段であって、前記非親和性のソフトウェアスレッドはアフィニティが設定されていないソフトウェアスレッドである、手段と、
    ルチコアプロセッサのプロセッサコアのそれぞれについて電力特性又は熱特性を取得する手段と、
    取得した電力特性又は熱特性に基づいてプロセッサコアのセットを選択する手段と、
    記マルチコアプロセッサのうち選択されたプロセッサコアセットにより処理を実行するため、検出された少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定する手段であって、前記選択されたプロセッサコアのセットは、前記マルチコアプロセッサに属するプロセッサコアの数に満たない数のプロセッサコアを含む、手段と、
    記プロセッサコアのセットにおけるプロセッサコアの数を低減する手段と、
    数が低減されたプロセッサコアのセットで実行するため、少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定し、前記マルチコアプロセッサのパフォーマンスを低減する手段と
    を有する電力管理モジュールを有する装置。
  6. 前記電力特性又は熱特性が示す現在値が目標値に到達していなかった場合に、前記プロセッサコアのセットにおけるプロセッサコアの数を低減する処理が行われる、請求項5記載の装置。
  7. 前記低電力モードが終了した場合に、親和性のソフトウェアスレッドを非親和性のスレッドに変更する手段を更に有する請求項5又は6に記載の装置。
  8. 前記マルチコアプロセッサの複数のプロセッサコアの1つで実行するため、前記1以上の親和性ソフトウェアスレッド親和性のソフトウェアスレッドに変更する手段を含む、請求項5記載の装置。
  9. 電力管理モジュールを含む装置低電力動作方法を実行させるコンピュータプログラムであって、前記低電力動作方法は、
    電力モードに入るための要求を受信し、低電力モードのために1以上の親和性ソフトウェアスレッドを検出するステップであって、前記非親和性のソフトウェアスレッドはアフィニティが設定されていないソフトウェアスレッドである、ステップと、
    ルチコアプロセッサのプロセッサコアのそれぞれについて電力特性又は熱特性を取得するステップと、
    取得した電力特性又は熱特性に基づいてプロセッサコアのセットを選択するステップと、
    記マルチコアプロセッサのうち選択されたプロセッサコアセットにより処理を実行するため、検出された少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定するステップであって、前記選択されたプロセッサコアのセットは、前記マルチコアプロセッサに属するプロセッサコアの数に満たない数のプロセッサコアを含む、ステップと、
    記プロセッサコアのセットにおけるプロセッサコアの数を低減するステップと、
    数が低減されたプロセッサコアのセットで実行するため、少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定し、前記マルチコアプロセッサのパフォーマンスを低減するステップと、
    を含む、コンピュータプログラム。
  10. 前記電力特性又は熱特性が示す現在値が目標値に到達していなかった場合に、前記プロセッサコアのセットにおけるプロセッサコアの数を低減するステップが行われる、請求項9記載のコンピュータプログラム。
  11. 前記低電力動作方法は、前記低電力モードが終了した場合に、親和性のソフトウェアスレッドを非親和性のスレッドに変更するステップを更に有する、請求項9又は10に記載のコンピュータプログラム。
  12. 前記低電力動作方法は、前記マルチコアプロセッサの複数のプロセッサコアの1つで実行するため、前記1以上の親和性ソフトウェアスレッド親和性のソフトウェアスレッドに変更するステップを含む、請求項9記載のコンピュータプログラム。
  13. マルチコアプロセッサと電力管理モジュールとを有するシステムであって、前記電力管理モジュールは、
    電力モードに入るための要求を受信し、低電力モードのために1以上の親和性ソフトウェアスレッドを検出する手段であって、前記非親和性のソフトウェアスレッドはアフィニティが設定されていないソフトウェアスレッドである、手段と、
    ルチコアプロセッサのプロセッサコアのそれぞれについて電力特性又は熱特性を取得する手段と、
    取得した電力特性又は熱特性に基づいてプロセッサコアのセットを選択する手段と、
    記マルチコアプロセッサのうち選択されたプロセッサコアセットにより処理を実行するため、検出された少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定する手段であって、前記選択されたプロセッサコアのセットは、前記マルチコアプロセッサに属するプロセッサコアの数に満たない数のプロセッサコアを含む、手段と、
    記プロセッサコアのセットにおけるプロセッサコアの数を低減する手段と、
    数が低減されたプロセッサコアのセットで実行するため、少なくとも1つ親和性ソフトウェアスレッドにアフィニティを設定し、前記マルチコアプロセッサのパフォーマンスを低減する手段と
    を有する、システム。
  14. 前記電力特性又は熱特性が示す現在値が目標値に到達していなかった場合に、前記プロセッサコアのセットにおけるプロセッサコアの数を低減する処理が行われる、請求項13記載のシステム。
  15. 前記電力管理モジュールは、前記低電力モードが終了した場合に、親和性のソフトウェアスレッドを非親和性のスレッドに変更する手段を更に有する請求項13又は14に記載のシステム。
  16. 前記電力管理モジュールは、前記マルチコアプロセッサの複数のプロセッサコアの1つで実行するため、前記1以上の親和性ソフトウェアスレッド親和性のソフトウェアスレッドに変更する手段を含む、請求項13記載のシステム。
  17. 前記電力管理モジュールを記憶する揮発性メモリを有する、請求項13記載のシステム。
JP2013140836A 2009-09-26 2013-07-04 低電力動作のための方法、装置、コンピュータプログラム及びシステム Expired - Fee Related JP5746271B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/567,755 2009-09-26
US12/567,755 US8543857B2 (en) 2009-09-26 2009-09-26 Method and apparatus for low power operation of multi-core processors

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010202814A Division JP2011070661A (ja) 2009-09-26 2010-09-10 マルチコアプロセッサの低電力動作の方法及び装置

Publications (2)

Publication Number Publication Date
JP2013225332A JP2013225332A (ja) 2013-10-31
JP5746271B2 true JP5746271B2 (ja) 2015-07-08

Family

ID=43781622

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010202814A Pending JP2011070661A (ja) 2009-09-26 2010-09-10 マルチコアプロセッサの低電力動作の方法及び装置
JP2013140836A Expired - Fee Related JP5746271B2 (ja) 2009-09-26 2013-07-04 低電力動作のための方法、装置、コンピュータプログラム及びシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010202814A Pending JP2011070661A (ja) 2009-09-26 2010-09-10 マルチコアプロセッサの低電力動作の方法及び装置

Country Status (4)

Country Link
US (1) US8543857B2 (ja)
JP (2) JP2011070661A (ja)
CN (1) CN102033596B (ja)
TW (2) TWI567542B (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166319B2 (en) * 2009-07-02 2012-04-24 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for use-case aware voltage selection
US9360914B2 (en) * 2010-01-12 2016-06-07 Oracle America, Inc. System and method for controlling energy usage in a server
US8607083B2 (en) * 2010-04-01 2013-12-10 Intel Corporation Method and apparatus for interrupt power management
US9086883B2 (en) 2011-06-10 2015-07-21 Qualcomm Incorporated System and apparatus for consolidated dynamic frequency/voltage control
JP5341957B2 (ja) * 2011-07-20 2013-11-13 トヨタ自動車株式会社 内燃機関の制御装置
US9719432B2 (en) * 2011-09-12 2017-08-01 Toyota Jidosha Kabushiki Kaisha Control apparatus for internal combustion engine
JP5742952B2 (ja) * 2011-10-04 2015-07-01 トヨタ自動車株式会社 内燃機関の制御装置
US9442773B2 (en) 2011-11-21 2016-09-13 Qualcomm Incorporated Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
US9569278B2 (en) * 2011-12-22 2017-02-14 Intel Corporation Asymmetric performance multicore architecture with same instruction set architecture
WO2013095570A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Instruction that specifies an application thread performance state
JP2013222321A (ja) 2012-04-17 2013-10-28 Sony Corp メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
CN102682741B (zh) * 2012-05-30 2014-12-03 华为技术有限公司 一种多显示控制系统及多显示控制系统的实现方法
US9075611B2 (en) 2012-09-12 2015-07-07 Htc Corporation Electronic device with power management mechanism and power management method thereof
CN104408333B (zh) * 2012-09-24 2017-06-13 江苏理工学院 一种基于片上系统多核融合的软件保护装置
US9250682B2 (en) 2012-12-31 2016-02-02 Intel Corporation Distributed power management for multi-core processors
US10402232B2 (en) * 2013-02-11 2019-09-03 Wind River Systems, Inc. Method and system for deterministic multicore execution
CN103336723B (zh) * 2013-07-21 2017-03-29 哈尔滨理工大学 基于关键路径的适应处理器内核紧缺调度方法
KR20150050135A (ko) * 2013-10-31 2015-05-08 삼성전자주식회사 복수의 이종 코어들을 포함하는 전자 시스템 및 이의 동작 방법
CN103809730B (zh) * 2014-02-18 2016-08-17 上海新储集成电路有限公司 一种低功耗可穿戴设备系统
US9557797B2 (en) 2014-05-20 2017-01-31 Qualcomm Incorporated Algorithm for preferred core sequencing to maximize performance and reduce chip temperature and power
US9395797B2 (en) 2014-07-02 2016-07-19 Freescale Semiconductor, Inc. Microcontroller with multiple power modes
US9190989B1 (en) 2014-10-07 2015-11-17 Freescale Semiconductor, Inc. Integrated circuit power management
US9898071B2 (en) * 2014-11-20 2018-02-20 Apple Inc. Processor including multiple dissimilar processor cores
JP6518087B2 (ja) * 2015-03-09 2019-05-22 キヤノン株式会社 プログラム処理装置
TWI561960B (en) * 2015-11-05 2016-12-11 Sunplus Technology Co Ltd Clock providing system
US10372493B2 (en) * 2015-12-22 2019-08-06 Intel Corporation Thread and/or virtual machine scheduling for cores with diverse capabilities
US10073718B2 (en) * 2016-01-15 2018-09-11 Intel Corporation Systems, methods and devices for determining work placement on processor cores
CN105700664B (zh) * 2016-01-17 2019-03-26 创启科技(广州)有限公司 一种移动终端省电的方法及移动终端
JP6798900B2 (ja) * 2017-02-14 2020-12-09 Necプラットフォームズ株式会社 制御装置、情報システムおよび制御方法
US20230222619A1 (en) * 2022-01-13 2023-07-13 Nvidia Corporation Techniques for using contextual information

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6901522B2 (en) * 2001-06-07 2005-05-31 Intel Corporation System and method for reducing power consumption in multiprocessor system
US7287254B2 (en) * 2002-07-30 2007-10-23 Unisys Corporation Affinitizing threads in a multiprocessor system
US7389506B1 (en) * 2002-07-30 2008-06-17 Unisys Corporation Selecting processor configuration based on thread usage in a multiprocessor system
US20050050310A1 (en) * 2003-07-15 2005-03-03 Bailey Daniel W. Method, system, and apparatus for improving multi-core processor performance
EP1555595A3 (en) * 2004-01-13 2011-11-23 LG Electronics, Inc. Apparatus for controlling power of processor having a plurality of cores and control method of the same
JP4553307B2 (ja) * 2004-11-19 2010-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置、制御方法、及びプログラム
JP2006236159A (ja) 2005-02-25 2006-09-07 Toshiba Corp 情報処理装置及びその省電力制御方法
JP2006319670A (ja) 2005-05-12 2006-11-24 Sumitomo Electric Ind Ltd 通信システム及び中継装置
US7512530B2 (en) * 2005-11-29 2009-03-31 International Business Machines Corporation Generation of software thermal profiles for applications in a simulated environment
US8384700B2 (en) * 2007-01-26 2013-02-26 Microsoft Corporation Linked shell
TWI344793B (en) * 2006-07-24 2011-07-01 Ind Tech Res Inst Power aware method and apparatus of video decoder on a multi-core platform
JP2009017044A (ja) 2007-07-02 2009-01-22 Toshiba Corp パルス分析装置及びパルス分析方法
JP5182792B2 (ja) * 2007-10-07 2013-04-17 アルパイン株式会社 マルチコアプロセッサ制御方法及び装置
JP4448163B2 (ja) * 2007-11-21 2010-04-07 レノボ・シンガポール・プライベート・リミテッド コンピュータ・システムおよびプロセスに対するデバイスの管理方法
EP2223421B1 (en) * 2007-12-21 2015-01-21 SanDisk Technologies Inc. Self-configurable multi-regulator asic core power delivery
US8739165B2 (en) * 2008-01-22 2014-05-27 Freescale Semiconductor, Inc. Shared resource based thread scheduling with affinity and/or selectable criteria
US8010822B2 (en) * 2008-03-28 2011-08-30 Microsoft Corporation Power-aware thread scheduling and dynamic use of processors
US8239699B2 (en) * 2009-06-26 2012-08-07 Intel Corporation Method and apparatus for performing energy-efficient network packet processing in a multi processor core system
US20110022870A1 (en) * 2009-07-21 2011-01-27 Microsoft Corporation Component power monitoring and workload optimization

Also Published As

Publication number Publication date
JP2013225332A (ja) 2013-10-31
US20110078469A1 (en) 2011-03-31
US8543857B2 (en) 2013-09-24
TW201111978A (en) 2011-04-01
CN102033596B (zh) 2015-11-25
JP2011070661A (ja) 2011-04-07
TWI567542B (zh) 2017-01-21
CN102033596A (zh) 2011-04-27
TWI489262B (zh) 2015-06-21
TW201541240A (zh) 2015-11-01

Similar Documents

Publication Publication Date Title
JP5746271B2 (ja) 低電力動作のための方法、装置、コンピュータプログラム及びシステム
US8607083B2 (en) Method and apparatus for interrupt power management
JP6817453B2 (ja) 適応電力制御ループ
JP5777827B2 (ja) ポータブルコンピューティングデバイスにおけるバッテリ負荷管理のためのシステムおよび方法
US7992151B2 (en) Methods and apparatuses for core allocations
US20090327656A1 (en) Efficiency-based determination of operational characteristics
US8996902B2 (en) Modal workload scheduling in a heterogeneous multi-processor system on a chip
US8806228B2 (en) Systems and methods for asymmetrical performance multi-processors
JP6249953B2 (ja) ヘテロジニアスマルチプロセッサシステムオンチップにおける熱駆動作業負荷スケジューリング
US9015501B2 (en) Structure for asymmetrical performance multi-processors
JP5805881B2 (ja) 漏洩電流の測定値から熱管理ポリシーを決定するためのシステムおよび方法
US8304698B1 (en) Thermal throttling of peripheral components in a processing device
US20060107262A1 (en) Power consumption-based thread scheduling
EP2726952B1 (en) Method and apparatus for configurable thermal management
US20150026495A1 (en) System and method for idle state optimization in a multi-processor system on a chip
JP5443709B2 (ja) それぞれが異なる処理能力を有する複数のプロセッサ・ユニットに跨りタスクをスケジュールする方法、コンピュータ・プログラム、データ処理装置
CN110214298B (zh) 用于便携式计算设备中的情境感知热管理和工作负荷调度的系统和方法
US20220300324A1 (en) Thermal-aware task scheduling
US20240370077A1 (en) System agnostic autonomous system state management
DE102010034097B4 (de) Verfahren und Vorrichtung für Energiesparbetrieb von Mehrkern-Prozessoren

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141029

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: 20150407

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150507

R150 Certificate of patent or registration of utility model

Ref document number: 5746271

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees