JP2008257578A - 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 - Google Patents

情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 Download PDF

Info

Publication number
JP2008257578A
JP2008257578A JP2007100673A JP2007100673A JP2008257578A JP 2008257578 A JP2008257578 A JP 2008257578A JP 2007100673 A JP2007100673 A JP 2007100673A JP 2007100673 A JP2007100673 A JP 2007100673A JP 2008257578 A JP2008257578 A JP 2008257578A
Authority
JP
Japan
Prior art keywords
instruction processing
operating state
processing unit
operating
units
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.)
Pending
Application number
JP2007100673A
Other languages
English (en)
Inventor
Haruo Tomita
治男 冨田
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007100673A priority Critical patent/JP2008257578A/ja
Priority to US12/047,802 priority patent/US20080250260A1/en
Publication of JP2008257578A publication Critical patent/JP2008257578A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • 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
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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)
  • Quality & Reliability (AREA)
  • Power Sources (AREA)

Abstract

【課題】マルチコアCPUを搭載したパーソナルコンピュータ等における省電力制御を実現する情報処理装置を提供する。
【解決手段】省電力制御ユーティリティ102は、外部AC電源からの電力の入力有無やバッテリ21の残量に関わる情報をEC/KBC19から定期的に収集して、本コンピュータ1の動作用電力の供給環境を監視する。そして、外部AC電源からの入力が無く、バッテリ21の残量が予め設定された値以下となっている状況等を検知すると、省電力制御ユーティリティ102は、予め設定された数のコアを非稼働状態にする(省電力モードに移行する)旨をOS101に要求する。
【選択図】 図1

Description

この発明は、例えばマルチコアCPUなどと称される複数の命令処理部(コア)を有するCPUを搭載するパーソナルコンピュータ等の情報処理装置に適用して好適なスケジュール制御技術に関する。
近年、例えばノートブックタイプのパーソナルコンピュータなど、バッテリ駆動が可能で携行容易な情報処理装置が広く普及している。最近では、無線通信環境が整備されてきたことから、この種の情報処理装置を携帯していれば、外出先や移動中でも、最新のデータを取得して作業を行うことが可能となっている。
この種の情報処理装置は、例えばスクランブル化されて放送されるテレビジョン番組データを受信・視聴する機能など、搭載が期待される機能が高度化する傾向にある。この高機能化に対応するために、この種の情報処理装置に関しては、その処理性能を向上させるための工夫が日々図られている。例えばマルチプロセッサシステムは、複数のCPU(プロセッサ)を搭載することによって、多彩かつ高度な複数の処理を短時間に実行することを可能とするものである。その一方で、この種の情報処理装置は、外出先や移動中に使用されることを前提としているので、バッテリ駆動時の連続使用可能時間を如何に確保するか、つまり省電力化を如何に図るかが非常に重要な問題である。このようなことから、マルチプロセッサシステムにおいて、省電力化を図るための提案もこれまで種々なされている(例えば特許文献1等参照)。
特開2004−252937号公報
ところで、最近では、複数の命令処理部(コア)を有する、マルチコアCPUなどと称される新しいタイプのCPUが開発されるに至っている。これにより、マルチプロセッサシステムが1つのCPUで実現可能となっている。そのため、複数のCPUを搭載するのではなく、1つのマルチコアCPUを搭載することによってマルチプロセッサシステムを実現する情報処理装置において、この「複数のコアを有する」というマルチコアCPUの特性を考慮した、新たな省電力制御の仕組みが強く望まれている。
この発明は、このような事情を考慮してなされたものであり、マルチコアCPUを搭載したパーソナルコンピュータ等における省電力制御を実現する情報処理装置、スケジューラおよび情報処理装置のスケジュール制御方法を提供することを目的とする。
この目的を達成するために、本発明の情報処理装置は、複数の命令処理部を有するCPUと、動作用電力の供給環境を監視する監視手段と、前記監視手段の監視によって得られる動作用電力の供給環境に応じて、前記CPUが有する前記複数の命令処理部の稼働数を制御する省電力手段と、を具備することを特徴とする。
また、本発明の情報処理装置は、前記CPUに対するタスクの割り当てを制御するスケジューラをさらに具備し、前記スケジューラは、前記省電力手段の制御によって前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てする手段を含むことを特徴とする。
また、本発明の情報処理装置は、前記スケジューラが、前記省電力手段の制御によって前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てする手段をさらに含むことを特徴とする。
この発明によれば、マルチコアCPUを搭載したパーソナルコンピュータ等における省電力制御を実現することができる。
以下、図面を参照して、この発明の一実施形態を説明する。図1には、本実施形態に係る情報処理装置のハードウェア構成例が示されている。この情報処理装置は、例えばバッテリ駆動可能で携行容易なノートブックタイプのパーソナルコンピュータ1として実現されている。
本コンピュータ1は、図1に示すように、コア(1)11a,コア(2)11b,コア(3)11c,コア(4)11dの4つの命令処理部(コア)を内蔵したCPU11を搭載するマルチコアCPU搭載システムである。なお、本実施形態で説明する本発明の省電力制御手法は、コアを2つ内蔵するいわゆるデュアルコアCPUを搭載するデュアルコアCPU搭載システムや、4つ以外の複数のコアを内蔵するいずれのタイプのマルチコアCPU搭載システムにおいても適用可能である。
そして、図1に示すように、本コンピュータ1は、このCPU11をはじめとして、ホストコントローラ12、メインメモリ13、表示コントローラ14、表示装置15、表示用メモリ16、I/Oコントローラ17、記憶装置18、エンベデッドコントローラ/キーボードコントローラ(EC/KBC)19、電源コントローラ20、バッテリ21、キーボード22、クロックジェネレータ23等を備えている。
CPU11は、本コンピュータ1内の各部の動作を統合的に管理・制御するためのプロセッサであり、記憶装置18からメインメモリ13にロードされるオペレーティングシステム(OS)101や、このOS101の制御下で動作する、後述する省電力制御ユーティリティ102を含む各種アプリケーションプログラムを実行する。OS101は、CPU11に対するタスク(プロセスまたはスレッド)の割り当てを制御するスケジューラ101aを含んでいる。これらOS101や省電力制御ユーティリティ102を含む種々のプログラムは、予め記憶装置18にインストールされている。
ホストコントローラ12は、CPU11のローカルバスとI/Oコントローラ17との間を接続するブリッジデバイスである。ホストコントローラ12は、バスを介して表示コントローラ14との通信を実行する機能を有しており、また、メインメモリ13をアクセス制御するメモリコントローラも内蔵されている。
表示コントローラ14は、本コンピュータ1のディスプレイモニタとして稼働される表示装置15を制御する。表示コントローラ14には表示用メモリ16が接続され、OS101や省電力制御ユーティリティ102を含む種々のプログラムによって表示用メモリ16に書き込まれた画像データから表示装置15に送出すべき表示信号を生成する。
I/Oコントローラ17には、記憶装置18を制御するためのコントローラが内蔵されている。また、I/Oコントローラ17は、(EC/KBC19経由による)電源コントローラ20の制御およびクロックジェネレータ23の制御を実行する。
EC/KBC19は、電力管理のための組み込みコントローラと、キーボード22を制御するためのキーボードコントローラとが集積された1チップマイクロコンピュータである。EC/KBC19は、電源コントローラ20と協働して、バッテリ21または外部AC電源からの電力を各部に供給制御する。電源コントローラ20は、CPU11に対する動作用電力の供給をコア単位に行うことができる。CPU11の動作クロックを生成するクロックジェネレータ23も、その供給をコア単位に行うことができる。この電源コントローラ20によるCPU11に対する動作用電力の供給およびクロックジェネレータ23によるCPU11に対する動作クロックの供給は、I/Oコントローラ17から出力される動作コマンドによって制御される。即ち、本コンピュータ1では、この動作コマンドの出力指示をI/Oコントローラ17に与えることで、CPU11に対する動作用電力および動作クロックの供給を制御できる。
このようなハードウェア構成の本コンピュータ1上で動作する省電力制御ユーティリティ102は、外部AC電源からの電力の入力有無やバッテリ21の残量に関わる情報をEC/KBC19から定期的に収集することにより、本コンピュータ1の動作用電力の供給環境を監視する。そして、例えば外部AC電源からの入力が無く、バッテリ21からの電力で本コンピュータ1が動作しており、かつ、当該バッテリ21の残量が予め設定された値以下となっている状況等を検知すると、省電力制御ユーティリティ102は、予め設定された数のコアを非稼働状態にする(省電力モードに移行する)旨をOS101に要求する。そのためのインタフェースとして、省電力制御ユーティリティ102は、例えば図2に示すような設定画面をユーザ向けに提示する。
この設定画面において、ユーザは、第1に、この省電力制御ユーティリティ102による省電力機能を有効にするか否か(フィールドa1)を設定できる。また、有効にする場合、ユーザは、第2に、バッテリ21からの電力で動作中、当該バッテリ21の残量が何%以下となったらいくつのコアをアイドル状態に移行させ(フィールドa2)、さらに当該バッテリ21の残量が何%以下となったらいくつのコアを停止状態に移行させるか(フィールドa3)を設定できる。アイドル状態および停止状態のいずれも非稼働状態の一態様であり、フィールドa2,a3による設定は、いずれか一方のみでも構わない。
アイドル状態への移行は、電源コントローラ20による動作用電力の供給およびクロックジェネレータ23による動作クロックの供給は継続するが、タスクの割り当てを抑止して遊休状態とすることにより、消費電力の低減を実質的に図るものであり、停止状態への移行は、電源コントローラ20による動作用電力の供給およびクロックジェネレータ23による動作クロックの供給そのものを遮断するものである。アイドル状態または停止状態からの復帰は、(バッテリ21を充電可能な環境となる)外部AC電源からの電力供給が開始されたことを契機に行われ、この際、アイドル状態にあったならば、その復帰は可及的速やかに実施される。なお、これらの設定情報は、省電力制御ユーティリティ102によって記憶装置18内に格納され、当該省電力制御ユーティリティ102の起動に伴ってメインメモリ13上に読み出されて配置される(設定情報151)。
この図2の例では、バッテリ21からの電力で動作中、当該バッテリ21の残量が20%以下になると、まず、2つのコアがアイドル状態に移行し、さらにその残量が10%以下になると、3つのコアが停止状態に移行することになる。
即ち、本コンピュータ1は、動作用電力の供給環境に応じて、CPU11が有する複数のコアの稼働数を制御するといった、マルチコアCPUの特性を考慮した適切な省電力制御を実行する。
また、この省電力制御を可能とするために、省電力モードに移行する旨の要求を省電力制御ユーティリティ102から受け付けるOS101のスケジューラ101aは、アイドル状態または停止状態に移行させるコアに割り当て済みのタスクを、稼働状態が維持されるコアに再割り当てする機能を備える。そして、このタスクの再割り当て完了後、停止状態への移行であれば、OS101は、対象のコアに対する動作用電力および動作クロックの供給を遮断させるべく、電源コントローラ20およびクロックジェネレータ23に対する動作コマンドの出力指示をI/Oコントローラ17に与える。
図3は、CPU11に対するタスクの割り当てを制御するためにOS101のスケジューラ101aがメインメモリ13上で管理するスケジューリングキュー152の一構成例を示す図である。
スケジューリングキュー152は、コア単位、つまりCPU11が有するコア11a〜11dそれぞれに対して1つずつ設けられ、図3に示すように、コア状態フラグ、ロックフラグ、アクティブキュー、レディキューを含んでなる。
コア状態フラグは、各コアが、稼働状態(オンライン)、停止状態(オフライン)、省電力モードとしてのアイドル状態(省電力)、のいずれの状態にあるのかを示すフラグである。スケジューラ101aは、このコア状態フラグで稼働状態である旨が示されているコアに対してのみタスクの割り当て、即ちアクティブキューまたはレディキューへのタスク(プロセッサコンテキスト)のキューイングを実施する。
ロックフラグは、このスケジューリングキュー152に対する更新を伴うアクセスを排他的に行うためのフラグであり、ロック状態、アンロック状態、のいずれかを示す。このロックフラグを設けることによって、当該スケジューリングキュー152は、整合性が確保されている。
また、アクティブキューは、実行可能状態にあるタスクをキューイングするために設けられるキューであり、レディキューは、待ち状態にあるタスクをキューイングするために設けられるキューである。特定の事象が発生して待ち状態が解除されたタスクは、レディキューから取り出されてアクティブキューに移動する。コアへの割り当ては、アクティブキューにキューイングされたタスクの中から1つずつ選択されて行われる。この選択のためのアルゴリズムとしては、FIFO(First In, First Out)、LIFO(Last In, First Out)、ラウンドロビンスケジューリング、多段フィードバックキュー等、種々の手法が存在するが、本コンピュータ1の省電力制御は、スケジューラ101aがいずれのアルゴリズムを適用すべきかを限定しない。
このような構成のスケジューリングキュー152を管理しつつCPU11に対するタスクの割り当てを実行するスケジューラ101aは、あるコアがアイドル状態または停止状態に移行する場合、そのコアのスケジューリングキュー152内のアクティブキューまたはレディキューにキューイングされているタスクを、稼働状態が維持されるコアのスケジューリングキュー152内のアクティブキューまたはレディキューに移動させる。この作業を行う際、スケジューラ101aは、まず、すべてのスケジューリングキュー152をロックフラグを使ってロックする。
次に、このすべてのスケジューリングキュー152がロックされた状況下で、スケジューラ101aは、コア間でのタスクの移動をアクティブキューおよびレディキューそれぞれについて行う訳であるが、どのタスクをどのコアに移動させるかについては、例えば以下の方式等が考えられる。その中のいずれの方式を採用するかは、本コンピュータ1の仕様として決定される。
(1)単純に、稼働状態が維持されるいずれかのコアに移動させる。稼働状態が維持されるコアがそれぞれどのような状況にあるか等を考慮せず、コアの選択を、所定の規則で機械的に行う。
(2)稼働状態が維持されるコアに均等に振り分ける。この振り分けは、単純に移動させるタスク数が均等になるように行っても良いし、移動完了後における各コアのタスク数が均等になるように考慮して行っても良い。
(3)稼働状態が維持されるコアの中で、その時点においてキューイングされているタスク数が最も少ないコアを検出して移動させる。
以上のタスクの移動が完了すると、スケジューラ101aは、移行対象のコアのスケジューリングキュー152内のコア状態フラグを移行後の状態に更新した後、すべてのスケジューリングキュー152をロックフラグを使ってアンロックする。この時、OS101は、必要ならば、電源コントローラ20およびクロックジェネレータ23に対する動作コマンドの出力指示をI/Oコントローラ17に与える。
スケジューリングキュー152がアンロックされると、スケジューラ101aによるCPU11に対するタスクの割り当てが再開されるが、アイドル状態または停止状態に移行させたコアに割り当て済みであったタスクは、稼働状態が維持されるコアにて実行されることになり、また、それ以降、アイドル状態または停止状態に移行させたコアへのタスクの割り当ては行われない。即ち、CPU11が有する複数のコアの稼働数を制御するといった、マルチコアCPUの特性を考慮した適切な省電力制御が実現される。
また、前述したように、外部AC電源からの電力供給が開始されると、アイドル状態または停止状態にあったコアは稼働状態に復帰する。この際、スケジューラ101aは、そのコアのスケジューリングキュー152をロックフラグを使ってロックし、コア状態フラグを稼働状態に更新した後、同じくロックフラグを使って当該スケジューリングキュー152をアンロックするのみでも良い。なお、OS101は、必要ならば、電源コントローラ20およびクロックジェネレータ23に対する動作コマンドの出力指示をI/Oコントローラ17に与える。
しかしながら、この場合、次回のスケジューリング機会まで、復帰したコアは遊休状態となってしまうので、効率が良いとは言えない。そこで、スケジューラ101aは、あるコアがアイドル状態または停止状態から復帰する場合、稼働状態が維持されていたコアのアクティブキューまたはレディキューにキューイングされているタスクを、当該アイドル状態または停止状態から復帰するコアのアクティブキューまたはレディキューに移動させる機能をさらに備える。どのコアからタスクを取ってくるかについては、例えば以下の方式等が考えられる。その中のいずれの方式を採用するかは、本コンピュータ1の仕様として決定される。
(1)稼働状態が維持されていたいずれかのコアから半分取ってくる。稼働状態が維持されていたコアがそれぞれどのような状況にあるか等を考慮せず、コアの選択を、所定の規則で機械的に行う。
(2)稼働状態が維持されていたコアから均等に取ってくる。この取得は、単純に移動させるタスク数が均等になるように行っても良いし、移動完了後における各コアのタスク数が均等になるように考慮して行っても良い。
以上により、次回のスケジューリング機会まで待機することなく、復帰したコアは可及的速やかに稼働状態となり、効率を向上させることができる。
ところで、図2の例では、OS101は、バッテリ21からの電力で動作中、当該バッテリ21の残量が20%以下になると、2つのコアをアイドル状態に移行させる旨の要求を省電力制御ユーティリティ102から受け、さらにその残量が10%以下になると、3つのコアを停止状態に移行させる旨の要求を省電力制御ユーティリティ102から受けることになる。
この要求を受けた際、OS101は、どのコアをアイドル状態または停止状態に移行させるかについても、例えば以下の方法等が考えられる。その中のいずれの方式を採用するかは、本コンピュータ1の仕様として決定される。
(1)最も負荷が大きいコアを選択する。(実行効率よりも優先して)効率の良い省電力を実施するためには、最も負荷が大きいコアを選択することが得策である。この負荷が大きいコアの定義についても、(i)稼働率が高い、(ii)キューイングされているタスク数が多い、等が考えられる。
(2)その時にたまたま遊休状態にあったコアを選択する。この場合、実行効率を損なうことを最小限に止めることができる。
次に、図4乃至図6を参照して、本コンピュータ1が実行する省電力制御の動作手順について説明する。図4は、本コンピュータ1が実行する省電力制御の基幹手順を示すフローチャートである。
省電力制御ユーティリティ102は、EC/KBC19から収集する情報に基づき、外部AC電源から電力が入力されているかどうかを調べ(ステップA1)、入力されていなければ(ステップA1のNO)、さらに、同じくEC/KBC19から収集する情報に基づき、バッテリ21の残量を調べる(ステップA2)。
この時、省電力制御ユーティリティ102は、まず、バッテリの残量が、停止条件(図2のフィールドa3で設定される条件)として設定された基準値以下となっていないか判定する(ステップA3)。また、当該基準値以下となっていない場合には(ステップA3のNO)、省電力制御ユーティリティ102は、続いて、アイドル条件(図2のフィールドa2で設定される条件)として設定された基準値以下となっていないか判定する(ステップA4)。
もし、アイドル条件として設定された基準値以下となっていたら(ステップA4のYES)、省電力制御ユーティリティ102は、アイドル条件として設定された個数分、コアがアイドル状態に移行済みかどうかを調べ(ステップA5)、移行済みでなければ(ステップA5のNO)、いずれかのコアをアイドル状態に移行させる処理をOS101に実行させる(ステップA6)。図5は、このステップA6における詳細な手順を示すフローチャートである。
OS101のスケジューラ101aは、まず、各コアのスケジューリングキュー152をロックフラグを使ってロックする(ステップB1)。そして、このロック後、スケジューラ101aは、アイドル状態に移行させるコアのアクティブキューにキューイングされているタスクを稼働状態が維持されるコアのアクティブキューに移動させると共に(ステップB2)、アイドル状態に移行させるコアのレディキューにキューイングされているタスクを稼働状態が維持されるコアのレディキューに移動させる(ステップB3)。どのコアをアイドル状態に移行させ、また、そのコアにキューイング済みのタスクをどのコアのキューに移動させるかは、前述した通り、本コンピュータ1の仕様として決定される。
スケジューラ101aは、コア間でのタスクの移動を完了させると、アイドル状態に移行させるコアのコア状態フラグをアイドル状態に更新する(ステップB4)。そして、スケジューラ101aは、各コアのスケジューリングキュー152をロックフラグを使ってアンロックする(ステップB5)。
一方、バッテリ21の残量が、停止条件として設定された基準値以下となっていたならば(ステップA3のYES)、省電力制御ユーティリティ102は、停止条件として設定された個数分、コアが停止状態に移行済みかどうかを調べ(ステップA7)、移行済みでなければ(ステップA7のNO)、いずれかのコアを停止状態に移行させる処理をOS101に実行させる(ステップA8)。このステップA8における手順は、前述したステップA6における手順とほぼ同様であるので、ここではその説明については省略する。
また、外部AC電源から電力が入力されていたら(ステップA1のYES)、省電力制御ユーティリティ102は、停止状態またはアイドル状態のコアは存在するかどうかを調べる(ステップA9)。そして、存在すれば(ステップA9のYES)、省電力制御ユーティリティ102は、そのコアを停止状態またはアイドル状態から復帰させる処理をOS101に実行させる(ステップA10)。図10は、このステップA10における詳細な手順を示すフローチャートである。
OS101のスケジューラ101aは、まず、各コアのスケジューリングキュー152をロックフラグを使ってロックする(ステップC1)。そして、このロック後、スケジューラ101aは、停止状態またはアイドル状態から復帰させるコアのアクティブキューへ稼働状態が維持されていたコアのアクティブキューにキューイングされているタスクの一部を移動させると共に(ステップC2)、停止状態またはアイドル状態から復帰させるコアのレディキューへ稼働状態が維持されていたコアのレディキューにキューイングされているタスクの一部を移動させる(ステップC3)。このステップC2,C3の処理は必須ではなく、このステップC2,C3の実行有無、および、(実行する場合に)どのコアのキューからタスクを取ってくるかは、前述した通り、本コンピュータ1の仕様として決定される。
この後、スケジューラ101aは、停止状態またはアイドル状態から復帰させるコアのコア状態フラグを稼働状態に更新し(ステップC4)、各コアのスケジューリングキュー152をロックフラグを使ってアンロックする(ステップC5)。
以上のように、本コンピュータ1によれば、動作用電力の供給環境に応じて、CPU11が有する複数のコアの稼働数を制御するといった、マルチコアCPUの特性を考慮した適切な省電力制御が実現される。
なお、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
この発明の一実施形態に係る情報処理装置(パーソナルコンピュータ)のハードウェア構成例を示す図 同実施形態のコンピュータ上で動作する省電力制御ユーティリティが提示する設定画面を例示する図 同実施形態のコンピュータ上で動作するスケジューラが管理するスケジューリングキューの一構成例を示す図 同実施形態のコンピュータで実行される省電力制御の基幹手順を示すフローチャート 同実施形態のコンピュータで実行される省電力制御中においてコアをアイドル状態に移行させる処理の詳細な手順を示すフローチャート 同実施形態のコンピュータで実行される省電力制御中においてコアを停止状態またはアイドル状態から復帰させる処理の詳細な手順を示すフローチャート
符号の説明
1…情報処理装置(パーソナルコンピュータ)、11…CPU、11a〜11d…コア、12…ホストコントローラ、13…メインメモリ、14…表示コントローラ、15…表示装置、16…表示用メモリ、17…I/Oコントローラ、18…記憶装置、19…エンベデッドコントローラ/キーボードコントローラ(EC/KBC)、20…電源コントローラ、21…バッテリ、22…キーボード、23…クロックジェネレータ、101…オペレーティングシステム(OS)、101a…スケジューラ、102…省電力制御ユーティリティ、151…設定情報、152…スケジューリングキュー。

Claims (19)

  1. 複数の命令処理部を有するCPUと、
    動作用電力の供給環境を監視する監視手段と、
    前記監視手段の監視によって得られる動作用電力の供給環境に応じて、前記CPUが有する前記複数の命令処理部の稼働数を制御する省電力手段と、
    を具備することを特徴とする情報処理装置。
  2. 前記CPUに対するタスクの割り当てを制御するスケジューラをさらに具備し、
    前記スケジューラは、前記省電力手段の制御によって前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てする手段を含むことを特徴とする請求項1記載の情報処理装置。
  3. 前記スケジューラは、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部の中から規則的に選択される命令処理部に再割り当てすることを特徴とする請求項2記載の情報処理装置。
  4. 前記スケジューラは、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に均等に再割り当てすることを特徴とする請求項2記載の情報処理装置。
  5. 前記スケジューラは、稼働状態が維持される命令処理部の中から割り当て済みのタスクの数が最も少ない命令処理部を検出し、非稼働状態に移行する命令処理部に割り当て済みのタスクを、前記検出した命令処理部に再割り当てすることを特徴とする請求項2記載の情報処理装置。
  6. 前記スケジューラは、前記省電力手段の制御によって前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てする手段をさらに含むことを特徴とする請求項2記載の情報処理装置。
  7. 前記スケジューラは、稼働状態が維持されていた命令処理部の中から規則的に選択される命令処理部に割り当て済みのタスクの半数を、稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項6記載の情報処理装置。
  8. 前記スケジューラは、稼働状態が維持されていた命令処理部から均等に、各々に割り当て済みのタスクを稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項6記載の情報処理装置。
  9. 前記省電力手段は、前記複数の命令処理部の稼働数を減少させる場合、最も負荷が大きい命令処理部から順に非稼働状態に移行させることを特徴とする請求項1記載の情報処理装置。
  10. 前記省電力手段は、稼働率の高いものを負荷が大きいと判定することを特徴とする請求項9記載の情報処理装置。
  11. 前記省電力手段は、割り当て済みのタスクの数の多いものを負荷が大きいと判定することを特徴とする請求項9記載の情報処理装置。
  12. 前記省電力手段は、前記複数の命令処理部の稼働数を減少させる際、遊休状態にある命令処理部が存在した場合、その命令処理部を非稼働状態に移行させることを特徴とする請求項1記載の情報処理装置。
  13. バッテリをさらに具備し、
    前記省電力手段は、前記バッテリから動作用電力が供給されており、かつ、その残量が所定量以下となっている状態が前記監視手段の監視によって得られた場合、前記複数の命令処理部の稼働数を減少させることを特徴とする請求項1記載の情報処理装置。
  14. 前記省電力手段は、前記命令処理部の非稼働状態への移行を、前記バッテリの残量が第1の値以下となった場合には対象の命令処理部を遊休状態とすることで実施し、第1の値より小さい第2の値以下となった場合には対象の命令処理部を停止状態とすることで実施することを特徴とする請求項13記載の情報処理装置。
  15. 前記複数の命令処理部の稼働数を減少させる条件とする前記バッテリの残量および非稼働状態へ移行させる命令処理部の数を設定する設定手段をさらに具備することを特徴とする請求項13記載の情報処理装置。
  16. 複数の命令処理部を有するCPUを搭載し、前記複数の命令処理部の稼働数を動的に変動させる機能を備えた情報処理装置に適用されるスケジューラであって、
    前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てするタスク再割り当て手段を具備することを特徴とするスケジューラ。
  17. 前記タスク再割り当て手段は、前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てする手段を含むことを特徴とする請求項16記載のスケジューラ。
  18. 複数の命令処理部を有するCPUを搭載し、前記複数の命令処理部の稼働数を動的に変動させる機能を備えた情報処理装置のスケジュール制御方法であって、
    前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てすることを特徴とするスケジュール制御方法。
  19. さらに、前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項18記載のスケジュール制御方法。
JP2007100673A 2007-04-06 2007-04-06 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 Pending JP2008257578A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007100673A JP2008257578A (ja) 2007-04-06 2007-04-06 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
US12/047,802 US20080250260A1 (en) 2007-04-06 2008-03-13 Information processing apparatus, scheduler, and schedule control method of information processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007100673A JP2008257578A (ja) 2007-04-06 2007-04-06 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法

Publications (1)

Publication Number Publication Date
JP2008257578A true JP2008257578A (ja) 2008-10-23

Family

ID=39828011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007100673A Pending JP2008257578A (ja) 2007-04-06 2007-04-06 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法

Country Status (2)

Country Link
US (1) US20080250260A1 (ja)
JP (1) JP2008257578A (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165193A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2010204962A (ja) * 2009-03-03 2010-09-16 Sony Corp 情報処理システム
JP2010271930A (ja) * 2009-05-21 2010-12-02 Toshiba Corp マルチコアプロセッサシステム
WO2011132296A1 (ja) * 2010-11-18 2011-10-27 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
WO2012001783A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 データ復元プログラム、データ復元装置およびデータ復元方法
WO2013069599A1 (ja) * 2011-11-10 2013-05-16 富士フイルム株式会社 超音波診断装置および超音波画像生成方法
JP2014509767A (ja) * 2011-03-30 2014-04-21 シンボル テクノロジーズ, インコーポレイテッド オペレーティング・システムを実行するプロセッサ・コアの動的割当
JP2014523224A (ja) * 2011-06-16 2014-09-08 マイクロソフト コーポレーション 移動体デバイス動作のバッテリー最適化
JP2016504669A (ja) * 2012-12-28 2016-02-12 インテル コーポレイション 全プラットフォーム電力制御
US9286107B2 (en) 2013-08-30 2016-03-15 Fujitsu Limited Information processing system for scheduling jobs, job management apparatus for scheduling jobs, program for scheduling jobs, and method for scheduling jobs

Families Citing this family (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8799687B2 (en) 2005-12-30 2014-08-05 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including optimizing C-state selection under variable wakeup rates
US8225134B2 (en) * 2007-04-06 2012-07-17 Cisco Technology, Inc. Logical partitioning of a physical device
US8024590B2 (en) 2007-12-10 2011-09-20 Intel Corporation Predicting future power level states for processor cores
US8954977B2 (en) * 2008-12-09 2015-02-10 Intel Corporation Software-based thread remapping for power savings
JP5195408B2 (ja) * 2008-12-25 2013-05-08 富士通セミコンダクター株式会社 マルチコアシステム
JP2010244435A (ja) * 2009-04-08 2010-10-28 Panasonic Corp キャッシュ制御装置及びキャッシュ制御方法
US8171319B2 (en) * 2009-04-16 2012-05-01 International Business Machines Corporation Managing processor power-performance states
US20110276978A1 (en) * 2010-05-10 2011-11-10 Andrew Gaiarsa System and Method for Dynamic CPU Reservation
US8943334B2 (en) 2010-09-23 2015-01-27 Intel Corporation Providing per core voltage and frequency control
US8843775B2 (en) * 2010-10-08 2014-09-23 Intel Corporation Energy optimization techniques in a computing system
US9069555B2 (en) 2011-03-21 2015-06-30 Intel Corporation Managing power consumption in a multi-core processor
US8793515B2 (en) 2011-06-27 2014-07-29 Intel Corporation Increasing power efficiency of turbo mode operation in a processor
KR20130020363A (ko) * 2011-08-19 2013-02-27 삼성전자주식회사 휴대 단말기에서 전력을 관리하는 장치 및 방법
US8769316B2 (en) 2011-09-06 2014-07-01 Intel Corporation Dynamically allocating a power budget over multiple domains of a processor
US8688883B2 (en) 2011-09-08 2014-04-01 Intel Corporation Increasing turbo mode residency of a processor
US8954770B2 (en) 2011-09-28 2015-02-10 Intel Corporation Controlling temperature of multiple domains of a multi-domain processor using a cross domain margin
US9074947B2 (en) 2011-09-28 2015-07-07 Intel Corporation Estimating temperature of a processor core in a low power state without thermal sensor information
US8914650B2 (en) 2011-09-28 2014-12-16 Intel Corporation Dynamically adjusting power of non-core processor circuitry including buffer circuitry
EP2581831A1 (en) * 2011-10-14 2013-04-17 Alcatel Lucent Method and apparatus for dynamically assigning resources of a distributed server infrastructure
US9026815B2 (en) 2011-10-27 2015-05-05 Intel Corporation Controlling operating frequency of a core domain via a non-core domain of a multi-domain processor
US8832478B2 (en) 2011-10-27 2014-09-09 Intel Corporation Enabling a non-core domain to control memory bandwidth in a processor
US8943340B2 (en) 2011-10-31 2015-01-27 Intel Corporation Controlling a turbo mode frequency of a processor
US9158693B2 (en) 2011-10-31 2015-10-13 Intel Corporation Dynamically controlling cache size to maximize energy efficiency
US8972763B2 (en) 2011-12-05 2015-03-03 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including determining an optimal power state of the apparatus based on residency time of non-core domains in a power saving state
US9239611B2 (en) 2011-12-05 2016-01-19 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including balancing power among multi-frequency domains of a processor based on efficiency rating scheme
US9052901B2 (en) 2011-12-14 2015-06-09 Intel Corporation Method, apparatus, and system for energy efficiency and energy conservation including configurable maximum processor current
US9098261B2 (en) 2011-12-15 2015-08-04 Intel Corporation User level control of power management policies
US9372524B2 (en) 2011-12-15 2016-06-21 Intel Corporation Dynamically modifying a power/performance tradeoff based on processor utilization
US9137848B2 (en) * 2012-01-31 2015-09-15 Lg Electronics Inc. Mobile terminal, controlling method thereof and recording medium thereof
US9323316B2 (en) 2012-03-13 2016-04-26 Intel Corporation Dynamically controlling interconnect frequency in a processor
CN104169832B (zh) 2012-03-13 2017-04-19 英特尔公司 提供处理器的能源高效的超频操作
US9436245B2 (en) 2012-03-13 2016-09-06 Intel Corporation Dynamically computing an electrical design point (EDP) for a multicore processor
CN104204825B (zh) 2012-03-30 2017-06-27 英特尔公司 动态测量处理器中的功耗
WO2013162589A1 (en) 2012-04-27 2013-10-31 Intel Corporation Migrating tasks between asymmetric computing elements of a multi-core processor
US9063727B2 (en) 2012-08-31 2015-06-23 Intel Corporation Performing cross-domain thermal control in a processor
US8984313B2 (en) 2012-08-31 2015-03-17 Intel Corporation Configuring power management functionality in a processor including a plurality of cores by utilizing a register to store a power domain indicator
US9342122B2 (en) 2012-09-17 2016-05-17 Intel Corporation Distributing power to heterogeneous compute elements of a processor
US9423858B2 (en) 2012-09-27 2016-08-23 Intel Corporation Sharing power between domains in a processor package using encoded power consumption information from a second domain to calculate an available power budget for a first domain
US9619284B2 (en) * 2012-10-04 2017-04-11 Intel Corporation Dynamically switching a workload between heterogeneous cores of a processor
CN103777734A (zh) * 2012-10-25 2014-05-07 英业达科技有限公司 机柜式服务器系统与其操作方法
US9575543B2 (en) 2012-11-27 2017-02-21 Intel Corporation Providing an inter-arrival access timer in a processor
US9183144B2 (en) 2012-12-14 2015-11-10 Intel Corporation Power gating a portion of a cache memory
US9405351B2 (en) 2012-12-17 2016-08-02 Intel Corporation Performing frequency coordination in a multiprocessor system
US9292468B2 (en) 2012-12-17 2016-03-22 Intel Corporation Performing frequency coordination in a multiprocessor system based on response timing optimization
US9075556B2 (en) 2012-12-21 2015-07-07 Intel Corporation Controlling configurable peak performance limits of a processor
US9235252B2 (en) 2012-12-21 2016-01-12 Intel Corporation Dynamic balancing of power across a plurality of processor domains according to power policy control bias
US9081577B2 (en) 2012-12-28 2015-07-14 Intel Corporation Independent control of processor core retention states
US9164565B2 (en) 2012-12-28 2015-10-20 Intel Corporation Apparatus and method to manage energy usage of a processor
US9335803B2 (en) 2013-02-15 2016-05-10 Intel Corporation Calculating a dynamically changeable maximum operating voltage value for a processor based on a different polynomial equation using a set of coefficient values and a number of current active cores
US9367114B2 (en) 2013-03-11 2016-06-14 Intel Corporation Controlling operating voltage of a processor
US9395784B2 (en) 2013-04-25 2016-07-19 Intel Corporation Independently controlling frequency of plurality of power domains in a processor system
US9377841B2 (en) 2013-05-08 2016-06-28 Intel Corporation Adaptively limiting a maximum operating frequency in a multicore processor
US9823719B2 (en) 2013-05-31 2017-11-21 Intel Corporation Controlling power delivery to a processor via a bypass
US9471088B2 (en) 2013-06-25 2016-10-18 Intel Corporation Restricting clock signal delivery in a processor
US9348401B2 (en) 2013-06-25 2016-05-24 Intel Corporation Mapping a performance request to an operating frequency in a processor
US9348407B2 (en) 2013-06-27 2016-05-24 Intel Corporation Method and apparatus for atomic frequency and voltage changes
US9377836B2 (en) 2013-07-26 2016-06-28 Intel Corporation Restricting clock signal delivery based on activity in a processor
JPWO2015015756A1 (ja) * 2013-08-02 2017-03-02 日本電気株式会社 不揮発性メモリ搭載サーバの省電力制御システム、制御装置、制御方法および制御プログラム
US9495001B2 (en) * 2013-08-21 2016-11-15 Intel Corporation Forcing core low power states in a processor
US10386900B2 (en) 2013-09-24 2019-08-20 Intel Corporation Thread aware power management
US9405345B2 (en) 2013-09-27 2016-08-02 Intel Corporation Constraining processor operation based on power envelope information
US9594560B2 (en) 2013-09-27 2017-03-14 Intel Corporation Estimating scalability value for a specific domain of a multicore processor based on active state residency of the domain, stall duration of the domain, memory bandwidth of the domain, and a plurality of coefficients based on a workload to execute on the domain
US9494998B2 (en) 2013-12-17 2016-11-15 Intel Corporation Rescheduling workloads to enforce and maintain a duty cycle
US9459689B2 (en) 2013-12-23 2016-10-04 Intel Corporation Dyanamically adapting a voltage of a clock generation circuit
US9323525B2 (en) 2014-02-26 2016-04-26 Intel Corporation Monitoring vector lane duty cycle for dynamic optimization
US9665153B2 (en) 2014-03-21 2017-05-30 Intel Corporation Selecting a low power state based on cache flush latency determination
US10108454B2 (en) 2014-03-21 2018-10-23 Intel Corporation Managing dynamic capacitance using code scheduling
US10417149B2 (en) 2014-06-06 2019-09-17 Intel Corporation Self-aligning a processor duty cycle with interrupts
US9760158B2 (en) 2014-06-06 2017-09-12 Intel Corporation Forcing a processor into a low power state
US9513689B2 (en) 2014-06-30 2016-12-06 Intel Corporation Controlling processor performance scaling based on context
US9606602B2 (en) 2014-06-30 2017-03-28 Intel Corporation Method and apparatus to prevent voltage droop in a computer
US9575537B2 (en) 2014-07-25 2017-02-21 Intel Corporation Adaptive algorithm for thermal throttling of multi-core processors with non-homogeneous performance states
US9760136B2 (en) 2014-08-15 2017-09-12 Intel Corporation Controlling temperature of a system memory
US20170285722A1 (en) * 2014-08-27 2017-10-05 Samsung Electronics Co., Ltd. Method for reducing battery consumption in electronic device
US9671853B2 (en) 2014-09-12 2017-06-06 Intel Corporation Processor operating by selecting smaller of requested frequency and an energy performance gain (EPG) frequency
US10339023B2 (en) 2014-09-25 2019-07-02 Intel Corporation Cache-aware adaptive thread scheduling and migration
US9977477B2 (en) 2014-09-26 2018-05-22 Intel Corporation Adapting operating parameters of an input/output (IO) interface circuit of a processor
US9684360B2 (en) 2014-10-30 2017-06-20 Intel Corporation Dynamically controlling power management of an on-die memory of a processor
US9703358B2 (en) 2014-11-24 2017-07-11 Intel Corporation Controlling turbo mode frequency operation in a processor
US9710043B2 (en) 2014-11-26 2017-07-18 Intel Corporation Controlling a guaranteed frequency of a processor
US20160147280A1 (en) 2014-11-26 2016-05-26 Tessil Thomas Controlling average power limits of a processor
US10048744B2 (en) 2014-11-26 2018-08-14 Intel Corporation Apparatus and method for thermal management in a multi-chip package
US10877530B2 (en) 2014-12-23 2020-12-29 Intel Corporation Apparatus and method to provide a thermal parameter report for a multi-chip package
US20160224098A1 (en) 2015-01-30 2016-08-04 Alexander Gendler Communicating via a mailbox interface of a processor
US9639134B2 (en) 2015-02-05 2017-05-02 Intel Corporation Method and apparatus to provide telemetry data to a power controller of a processor
US9910481B2 (en) 2015-02-13 2018-03-06 Intel Corporation Performing power management in a multicore processor
US10234930B2 (en) 2015-02-13 2019-03-19 Intel Corporation Performing power management in a multicore processor
US9874922B2 (en) 2015-02-17 2018-01-23 Intel Corporation Performing dynamic power control of platform devices
US9842082B2 (en) 2015-02-27 2017-12-12 Intel Corporation Dynamically updating logical identifiers of cores of a processor
US9710054B2 (en) 2015-02-28 2017-07-18 Intel Corporation Programmable power management agent
US9760160B2 (en) 2015-05-27 2017-09-12 Intel Corporation Controlling performance states of processing engines of a processor
US9710041B2 (en) 2015-07-29 2017-07-18 Intel Corporation Masking a power state of a core of a processor
US10001822B2 (en) 2015-09-22 2018-06-19 Intel Corporation Integrating a power arbiter in a processor
US9983644B2 (en) 2015-11-10 2018-05-29 Intel Corporation Dynamically updating at least one power management operational parameter pertaining to a turbo mode of a processor for increased performance
US9910470B2 (en) 2015-12-16 2018-03-06 Intel Corporation Controlling telemetry data communication in a processor
US10146286B2 (en) 2016-01-14 2018-12-04 Intel Corporation Dynamically updating a power management policy of a processor
US10552205B2 (en) * 2016-04-02 2020-02-04 Intel Corporation Work conserving, load balancing, and scheduling
US10289188B2 (en) 2016-06-21 2019-05-14 Intel Corporation Processor having concurrent core and fabric exit from a low power state
US10281975B2 (en) 2016-06-23 2019-05-07 Intel Corporation Processor having accelerated user responsiveness in constrained environment
US10324519B2 (en) 2016-06-23 2019-06-18 Intel Corporation Controlling forced idle state operation in a processor
US10379596B2 (en) 2016-08-03 2019-08-13 Intel Corporation Providing an interface for demotion control information in a processor
US10423206B2 (en) 2016-08-31 2019-09-24 Intel Corporation Processor to pre-empt voltage ramps for exit latency reductions
US10379904B2 (en) 2016-08-31 2019-08-13 Intel Corporation Controlling a performance state of a processor using a combination of package and thread hint information
US10234920B2 (en) 2016-08-31 2019-03-19 Intel Corporation Controlling current consumption of a processor based at least in part on platform capacitance
US10168758B2 (en) 2016-09-29 2019-01-01 Intel Corporation Techniques to enable communication between a processor and voltage regulator
US10429919B2 (en) 2017-06-28 2019-10-01 Intel Corporation System, apparatus and method for loose lock-step redundancy power management
EP3673344A4 (en) 2017-08-23 2021-04-21 INTEL Corporation SYSTEM, DEVICE AND METHOD FOR ADAPTIVE OPERATING VOLTAGE IN A FIELD-PROGRAMMABLE GATE ARRAY (FPGA)
US10620266B2 (en) 2017-11-29 2020-04-14 Intel Corporation System, apparatus and method for in-field self testing in a diagnostic sleep state
US10620682B2 (en) 2017-12-21 2020-04-14 Intel Corporation System, apparatus and method for processor-external override of hardware performance state control of a processor
US10620969B2 (en) 2018-03-27 2020-04-14 Intel Corporation System, apparatus and method for providing hardware feedback information in a processor
US10739844B2 (en) 2018-05-02 2020-08-11 Intel Corporation System, apparatus and method for optimized throttling of a processor
US10955899B2 (en) 2018-06-20 2021-03-23 Intel Corporation System, apparatus and method for responsive autonomous hardware performance state control of a processor
FR3084195B1 (fr) * 2018-07-19 2022-06-10 Verisure Sarl Unite de commande de systeme d'alarme pour batiment et systeme d'alarme
US10976801B2 (en) 2018-09-20 2021-04-13 Intel Corporation System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor
US10860083B2 (en) 2018-09-26 2020-12-08 Intel Corporation System, apparatus and method for collective power control of multiple intellectual property agents and a shared power rail
US11656676B2 (en) 2018-12-12 2023-05-23 Intel Corporation System, apparatus and method for dynamic thermal distribution of a system on chip
US11256657B2 (en) 2019-03-26 2022-02-22 Intel Corporation System, apparatus and method for adaptive interconnect routing
US11442529B2 (en) 2019-05-15 2022-09-13 Intel Corporation System, apparatus and method for dynamically controlling current consumption of processing circuits of a processor
US11698812B2 (en) 2019-08-29 2023-07-11 Intel Corporation System, apparatus and method for providing hardware state feedback to an operating system in a heterogeneous processor
US11366506B2 (en) 2019-11-22 2022-06-21 Intel Corporation System, apparatus and method for globally aware reactive local power control in a processor
US11132201B2 (en) 2019-12-23 2021-09-28 Intel Corporation System, apparatus and method for dynamic pipeline stage control of data path dominant circuitry of an integrated circuit
US11921564B2 (en) 2022-02-28 2024-03-05 Intel Corporation Saving and restoring configuration and status information with reduced latency

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62198949A (ja) * 1986-02-26 1987-09-02 Nec Corp マルチプロセツサ・システムの動作制御方式
JPH04215168A (ja) * 1990-12-13 1992-08-05 Nec Corp コンピュータシステム
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JP2005085164A (ja) * 2003-09-10 2005-03-31 Sharp Corp マルチプロセッサシステムの制御方法およびマルチプロセッサシステム
JP2006302059A (ja) * 2005-04-22 2006-11-02 Hitachi Ltd 複合型計算機装置およびその管理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6804632B2 (en) * 2001-12-06 2004-10-12 Intel Corporation Distribution of processing activity across processing hardware based on power consumption considerations
US7249268B2 (en) * 2004-06-29 2007-07-24 Intel Corporation Method for performing performance optimization operations for a processor having a plurality of processor cores in response to a stall condition
JP4764144B2 (ja) * 2005-11-18 2011-08-31 株式会社東芝 情報処理装置およびプロセッサ制御方法
US7694160B2 (en) * 2006-08-31 2010-04-06 Ati Technologies Ulc Method and apparatus for optimizing power consumption in a multiprocessor environment
US8284205B2 (en) * 2007-10-24 2012-10-09 Apple Inc. Methods and apparatuses for load balancing between multiple processing units

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62198949A (ja) * 1986-02-26 1987-09-02 Nec Corp マルチプロセツサ・システムの動作制御方式
JPH04215168A (ja) * 1990-12-13 1992-08-05 Nec Corp コンピュータシステム
JPH09138716A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 電子計算機
JP2005085164A (ja) * 2003-09-10 2005-03-31 Sharp Corp マルチプロセッサシステムの制御方法およびマルチプロセッサシステム
JP2006302059A (ja) * 2005-04-22 2006-11-02 Hitachi Ltd 複合型計算機装置およびその管理方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539077B2 (en) 2009-01-16 2013-09-17 Fujitsu Limited Load distribution apparatus, load distribution method, and storage medium
JP2010165193A (ja) * 2009-01-16 2010-07-29 Fujitsu Ltd 負荷分散装置、負荷分散方法および負荷分散プログラム
JP2010204962A (ja) * 2009-03-03 2010-09-16 Sony Corp 情報処理システム
US9672055B2 (en) 2009-03-03 2017-06-06 Sony Corporation Information processing system having two sub-systems with different hardware configurations which enable switching therebetween
JP2010271930A (ja) * 2009-05-21 2010-12-02 Toshiba Corp マルチコアプロセッサシステム
JP5382220B2 (ja) * 2010-06-30 2014-01-08 富士通株式会社 データ復元プログラム、データ復元装置およびデータ復元方法
WO2012001783A1 (ja) * 2010-06-30 2012-01-05 富士通株式会社 データ復元プログラム、データ復元装置およびデータ復元方法
US9037808B2 (en) 2010-06-30 2015-05-19 Fujitsu Limited Restoring data using parity when suspending a core of a multicore processor
JP5459393B2 (ja) * 2010-11-18 2014-04-02 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
US9430015B2 (en) 2010-11-18 2016-08-30 Fujitsu Limited Method and system for setting power supply mode of a multiple-core processor system based on condition of a time bin during a number of time intervals within the time bin is equal to or larger than a second threshold
WO2011132296A1 (ja) * 2010-11-18 2011-10-27 富士通株式会社 マルチコアプロセッサシステム、制御プログラム、および制御方法
JP2014509767A (ja) * 2011-03-30 2014-04-21 シンボル テクノロジーズ, インコーポレイテッド オペレーティング・システムを実行するプロセッサ・コアの動的割当
JP2014523224A (ja) * 2011-06-16 2014-09-08 マイクロソフト コーポレーション 移動体デバイス動作のバッテリー最適化
JP2013121490A (ja) * 2011-11-10 2013-06-20 Fujifilm Corp 超音波診断装置および超音波画像生成方法
WO2013069599A1 (ja) * 2011-11-10 2013-05-16 富士フイルム株式会社 超音波診断装置および超音波画像生成方法
JP2016504669A (ja) * 2012-12-28 2016-02-12 インテル コーポレイション 全プラットフォーム電力制御
US9286107B2 (en) 2013-08-30 2016-03-15 Fujitsu Limited Information processing system for scheduling jobs, job management apparatus for scheduling jobs, program for scheduling jobs, and method for scheduling jobs

Also Published As

Publication number Publication date
US20080250260A1 (en) 2008-10-09

Similar Documents

Publication Publication Date Title
JP2008257578A (ja) 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法
JP4370336B2 (ja) 低消費電力ジョブ管理方法及び計算機システム
TWI233545B (en) Mechanism for processor power state aware distribution of lowest priority interrupts
JP5433837B2 (ja) 仮想計算機システム、仮想計算機の制御方法及びプログラム
US6986068B2 (en) Arithmetic processing system and arithmetic processing control method, task management system and task management method
JP5469940B2 (ja) 計算機システム、仮想計算機モニタ及び仮想計算機モニタのスケジューリング方法
US8381215B2 (en) Method and system for power-management aware dispatcher
CN101470519B (zh) 用于控制功率管理的装置和方法
US9600059B2 (en) Facilitating power management in a multi-core processor
KR101686010B1 (ko) 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법
US20060031695A1 (en) Information processing apparatus, information processing method, and program
JP4490298B2 (ja) プロセッサ電力制御装置及びプロセッサ電力制御方法
JP5345990B2 (ja) 特定のプロセスを短時間で処理する方法およびコンピュータ
JP2002099433A (ja) 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体
EP2817717A2 (en) Method and system for scheduling requests in a portable computing device
US20100083261A1 (en) Intelligent context migration for user mode scheduling
JP2013222321A (ja) メモリ制御装置、メモリ制御方法、情報処理装置、およびプログラム
JP2010160565A (ja) タスクスケジューリング装置、タスクスケジューリング制御方法、及びタスクスケジューリング制御プログラム
JP5585651B2 (ja) マルチコアシステム、スケジューリング方法およびスケジューリングプログラム
KR101377195B1 (ko) 컴퓨터 마이크로 작업
JP2008243049A (ja) 情報処理装置および同装置のメモリ制御方法
WO2014188642A1 (ja) スケジュールシステム、スケジュール方法、及び、記録媒体
JP2014078214A (ja) スケジュールシステム、スケジュール方法、スケジュールプログラム、及び、オペレーティングシステム
TWI472910B (zh) 節省系統資源之方法及運用其方法之作業系統
US9201707B2 (en) Distributed system, device, method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110628