JP2008257578A - 情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 - Google Patents
情報処理装置、スケジューラおよび情報処理置のスケジュール制御方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing 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
【解決手段】省電力制御ユーティリティ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)
- 複数の命令処理部を有するCPUと、
動作用電力の供給環境を監視する監視手段と、
前記監視手段の監視によって得られる動作用電力の供給環境に応じて、前記CPUが有する前記複数の命令処理部の稼働数を制御する省電力手段と、
を具備することを特徴とする情報処理装置。 - 前記CPUに対するタスクの割り当てを制御するスケジューラをさらに具備し、
前記スケジューラは、前記省電力手段の制御によって前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てする手段を含むことを特徴とする請求項1記載の情報処理装置。 - 前記スケジューラは、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部の中から規則的に選択される命令処理部に再割り当てすることを特徴とする請求項2記載の情報処理装置。
- 前記スケジューラは、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に均等に再割り当てすることを特徴とする請求項2記載の情報処理装置。
- 前記スケジューラは、稼働状態が維持される命令処理部の中から割り当て済みのタスクの数が最も少ない命令処理部を検出し、非稼働状態に移行する命令処理部に割り当て済みのタスクを、前記検出した命令処理部に再割り当てすることを特徴とする請求項2記載の情報処理装置。
- 前記スケジューラは、前記省電力手段の制御によって前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てする手段をさらに含むことを特徴とする請求項2記載の情報処理装置。
- 前記スケジューラは、稼働状態が維持されていた命令処理部の中から規則的に選択される命令処理部に割り当て済みのタスクの半数を、稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項6記載の情報処理装置。
- 前記スケジューラは、稼働状態が維持されていた命令処理部から均等に、各々に割り当て済みのタスクを稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項6記載の情報処理装置。
- 前記省電力手段は、前記複数の命令処理部の稼働数を減少させる場合、最も負荷が大きい命令処理部から順に非稼働状態に移行させることを特徴とする請求項1記載の情報処理装置。
- 前記省電力手段は、稼働率の高いものを負荷が大きいと判定することを特徴とする請求項9記載の情報処理装置。
- 前記省電力手段は、割り当て済みのタスクの数の多いものを負荷が大きいと判定することを特徴とする請求項9記載の情報処理装置。
- 前記省電力手段は、前記複数の命令処理部の稼働数を減少させる際、遊休状態にある命令処理部が存在した場合、その命令処理部を非稼働状態に移行させることを特徴とする請求項1記載の情報処理装置。
- バッテリをさらに具備し、
前記省電力手段は、前記バッテリから動作用電力が供給されており、かつ、その残量が所定量以下となっている状態が前記監視手段の監視によって得られた場合、前記複数の命令処理部の稼働数を減少させることを特徴とする請求項1記載の情報処理装置。 - 前記省電力手段は、前記命令処理部の非稼働状態への移行を、前記バッテリの残量が第1の値以下となった場合には対象の命令処理部を遊休状態とすることで実施し、第1の値より小さい第2の値以下となった場合には対象の命令処理部を停止状態とすることで実施することを特徴とする請求項13記載の情報処理装置。
- 前記複数の命令処理部の稼働数を減少させる条件とする前記バッテリの残量および非稼働状態へ移行させる命令処理部の数を設定する設定手段をさらに具備することを特徴とする請求項13記載の情報処理装置。
- 複数の命令処理部を有するCPUを搭載し、前記複数の命令処理部の稼働数を動的に変動させる機能を備えた情報処理装置に適用されるスケジューラであって、
前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てするタスク再割り当て手段を具備することを特徴とするスケジューラ。 - 前記タスク再割り当て手段は、前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てする手段を含むことを特徴とする請求項16記載のスケジューラ。
- 複数の命令処理部を有するCPUを搭載し、前記複数の命令処理部の稼働数を動的に変動させる機能を備えた情報処理装置のスケジュール制御方法であって、
前記複数の命令処理部の稼働数が減少する場合、非稼働状態に移行する命令処理部に割り当て済みのタスクを、稼働状態が維持される命令処理部に再割り当てすることを特徴とするスケジュール制御方法。 - さらに、前記複数の命令処理部の稼働数が増加する場合、稼働状態が維持されていた命令処理部に割り当て済みのタスクを、稼働状態に復帰する命令処理部に再割り当てすることを特徴とする請求項18記載のスケジュール制御方法。
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)
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)
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)
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)
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 |
-
2007
- 2007-04-06 JP JP2007100673A patent/JP2008257578A/ja active Pending
-
2008
- 2008-03-13 US US12/047,802 patent/US20080250260A1/en not_active Abandoned
Patent Citations (5)
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)
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 |