JP2004252937A - アプリケーション実行のエネルギーを重視したスケジューリング - Google Patents
アプリケーション実行のエネルギーを重視したスケジューリング Download PDFInfo
- Publication number
- JP2004252937A JP2004252937A JP2003178770A JP2003178770A JP2004252937A JP 2004252937 A JP2004252937 A JP 2004252937A JP 2003178770 A JP2003178770 A JP 2003178770A JP 2003178770 A JP2003178770 A JP 2003178770A JP 2004252937 A JP2004252937 A JP 2004252937A
- Authority
- JP
- Japan
- Prior art keywords
- tasks
- task
- scheduling
- procedure
- subset
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
【課題】多数のプロセッサ上で適切なタスク・スケジューリングを用いることにより節電を図る。
【解決手段】移動機(10)はスケジューラ(20)を用いたタスク(18)を管理し、多数のプロセッサ(12)上でタスクをスケジューリングする。エネルギー節約のため、スケジューリング対象のタスク集合を2つ以上の部分集合に分割し、異なるプロシージャによってスケジューリングする。特定の実施形態では、第1部分集合はタスクを実行するプロセッサに基づきエネルギー消費偏差が最も高いタスクを含み、電力重視のプロシージャによって、またタスクは主にエネルギー消費基準に基づいてスケジューリングされる。エラーがない場合第2部分集合は、リアルタイム拘束プロシージャによりスケジューリングされる。エラーがあった場合、エネルギー消費偏差が最も低い1つ以上のタスクを第1部分集合から第2部分集合に移動し、スケジューリングを繰り返す。
【選択図】 図1
【解決手段】移動機(10)はスケジューラ(20)を用いたタスク(18)を管理し、多数のプロセッサ(12)上でタスクをスケジューリングする。エネルギー節約のため、スケジューリング対象のタスク集合を2つ以上の部分集合に分割し、異なるプロシージャによってスケジューリングする。特定の実施形態では、第1部分集合はタスクを実行するプロセッサに基づきエネルギー消費偏差が最も高いタスクを含み、電力重視のプロシージャによって、またタスクは主にエネルギー消費基準に基づいてスケジューリングされる。エラーがない場合第2部分集合は、リアルタイム拘束プロシージャによりスケジューリングされる。エラーがあった場合、エネルギー消費偏差が最も低い1つ以上のタスクを第1部分集合から第2部分集合に移動し、スケジューリングを繰り返す。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、一般的に処理装置に関し、更に特定すれば、エネルギーを重視したアプリケーション・スケジューリングに関する。
【0002】
【関連技術の説明】
コンピュータ処理および通信の技術の世界において、進化の速度が最も早い技術には、通信機能とコンピューティング機能とを結合したモバイル機器がある。新たな機器は極めて速い速度で進化を遂げ、独占的環境からオープン・プラットフォーム適合に移行しつつあり、更に、第3世代(3G)のワイヤレス・ネットワークが出現して、マルティメディア・プレーヤといった新たなアプリケーションに対応している。しかしながらこの新たな柔軟性および新たなアプリケーションに対応する処理要件は、現行機器が備えることができる性能よりはるかに高い。したがって、一層強力なプロセッサを備えた新たなハードウエア・プラットフォームが導入されている。しかしながら、これらの機器は主に電力消費量という組み込まれたシステム拘束に対処しなければならない。何故なら、強力なプロセッサは、一般に、電力消費型の装置であるからである。
【0003】
エネルギー消費量は、消費者にとって非常に重要である。何故なら、コンピュータ内臓電話、携帯電話、PDA(個人用携帯型情報端末)、および手持ち式コンピュータといったモバイル機器は、有線電話接続に加えて機能すれば割り増し価格で販売される。更に、大きさは消費者がモバイル機器を選択する際の重要な要因となるため、バッテリの大きさは制約される。したがって、製造業者にとってバッテリの大きさを大きくしないで長寿命バッテリの機器を生産することは優先事項である。
【0004】
低消費電力と高性能演算との間でのトレードオフを実現する方法は、OMAPのような異種のマイクロプロセッサ・プラットフォームを使用することである。いくつかの並列プロセッサは、単一のプロセッサに比して、低い方のクロック周波数を用いながら同一の性能を備えるため、電力供給を低下し、結局は電力消費量を低減することができる。
【0005】
しかしながら、ハードウエア・プラットフォームが電力消費量問題を解決するためには、強力なソフトウエアの支援が必要である。殆どのアプリケーションは、マルチプロセッサ・プラットフォーム用にはなされていないため、プラットフォームの並行性を活用することができない。アプリケーションの内部が並列であったとしても、ソフトウエア機構はプロセッサ上で演算分散を行う必要がある。更に、ワイヤレス・アプリケーションのオープン環境方向への進化は、知られていないアプリケーションを動的にダウンロードすることを可能としているが、これにより事前に計算した配置の使用はできなくする。
【0006】
したがって、モバイル通信機器においてアプリケーションの実行を制御しエネルギー消費量を低減する方法および装置が求められている。
【0007】
【課題を解決するための手段】
本発明において、モバイル機器は多数のプロセッサと、プロセッサ上でタスクをスケジューリングするスケジューラとを備えている。スケジューラはタスクを2つの部分集合に分割することによってタスクをスケジューリングする。第1の部分集合は、主として第1集合の重視すべき事項に基づいてタスクをスケジューリングする第1のプロシージャによってスケジューリングされる。第2部分集合は、主として第2集合の重視すべき事項に基づいてタスクをスケジューリングする第2プロシージャによってスケジューリングされる。
【0008】
本発明によって従来技術に優る重要な利点が得られる。多数のプロセッサ上で適切なタスク・スケジューリングを用いることによって節電が図られる。その結果、モバイル通信機器のバッテリ寿命を大幅にのばすことができ、またはバッテリ容量を削減し機器の小型化を図ることができる。タスクのスケジューリングを素早く行ってリアルタイムのオンライン・タスクに対応することができる。
【0009】
【実施例】
本発明は図面の図1−図6に関連させると最もよく理解できよう。種々の図面の同様の要素に対しては同様の番号が用いられている。
【0010】
図1はマルチプロセシング・モバイル機器10の全体ブロック図を示す。P0からPn−1までとして表示された多数のプロセッサ12は、トラフィック・コントローラとメモリ・インターフェース16とを介して共有メモリ14に結合されている。プロセッサ12は、例えば、1つ以上の汎用性プロセッサ、ディジタル信号プロセッサ、またはコプロセッサを含むことができる。プロセッサ12は、T0からTm−1までとして表示されるタスク18を実行する。スケジューラ20は、どのプロセッサがどのタスクを実行するかを判定する。スケジューラ20は、全体的動作システムの一部であるプロセッサ12の1つの上で実行される場合もある。その他のプロセッサ12の一部または全ては自己の処理システムの元で動作する場合もある。
【0011】
図1の機器10を以下に論ずるについて、タスク集合(Ti,0≦i≦m−1)は公知であり、以下の情報は、タスク毎に知らされ又は近似することができるものとする。即ち、タスク(D)のデッドライン、各プロセッサ(Cj,0≦j≦n−1)上でのタスク実行時間、および各プロセッサ(Ej)上でのタスク毎のエネルギー消費量といった情報である。更に、タスクはいずれもいつでも実行でき、タスクの実行は相互依存しない(即ち、T2の実行はT1の完了に依存しない)が、タスク間の依存性は必要に応じスケジューリングに組み込むことが可能であるものとする。
【0012】
表1はスケジューリングされ、2つのプロセッサ12を有する機器上で実行される6個のタスク(T0からT5まで)の一例を示す。各タスクはいずれのプロセッサ上でも実行可能であるが、タスク実行時に消費されるエネルギー、およびタスク実行に要する時間はプロセッサ間で同じではない。
表1−例1のタスク特性
【0013】
各タスクはデッドライン(D)を有し、この係数はどのプロセッサがタスクを実行するかによって変動することはない。タスクごとの実行時間は、プロセッサによって左右され、C0は、プロセッサP0上でのタスク処理時間、C1は、プロセッサP1上でのタスクの処理時間である。同様に、各タスクに伴うエネルギー消費量はプロセッサによって左右され、E0はプロセッサP0上でのタスクのエネルギー消費量、E1はプロセッサP1上でのタスクのエネルギー消費量である。
【0014】
図2は、第1にリアルタイム拘束に基づいて、第2にパワー消費量に基づいてタスクをスケジューリングするリアルタイム拘束プロシージャのフロー・チャートを示す。リアルタイム拘束プロシージャは、全てのタスクに関連する情報を(表1に示すように)デッドラインが大きくなる順序でソートして、単一リストに格納する。ステップ30では、タスク・インデックスi(最初に“0”に設定する)を用いてタスク集合の所与のタスクを識別する。ステップ30では、プロセッサ・インデックス(最初に“0”に設定する)を用いて所与のプロセッサを識別する。ステップ34で、プロセッサPjは、現在のタスクTiを実行のための消費量の増加の順序でソートされる。ブロック36、38および40では、タスクを実行するプロセッサが選択される。このループは、タスク用のエネルギー消費の最も少ないプロセッサであって、タスクがデッドライン(D)前に終了されるようにタスク・スケジューリングするために現在使用可能なプロセッサを選択する。従って、電力状況は考慮される。何故なら、プロシージャはこのタスク用の電力効率の高い方のプロセッサから電力効率の低い方のプロセッサにいたるまで各プロセッサを検討し、デッドライン前にタスクを終了することを可能にする第1プロセッサを選択するからである。プロセッサが使用不能の場合(j=n)、プロシージャはブロック42でエラーとなる。
決定ブロック36に戻って、プロセッサが得られた場合、ブロック44において、タスクはスケジューリングされ当該プロセッサ上で実行される。その次のタスクはブロック46において識別され、プロシージャは32に戻り、最終的にブロック48において全てのタスクが実行(i=m)される。
【0015】
このプロシ−ジャの擬似コードを以下に示す。
1.デッドラインの大きくなる順序で選択されたタスクT毎に行う、
2.Tを実行するための消費量の増加順序で選択されたプロセッサP毎に行う、
3.P上で実行されたTがそのデッドライン前に終了すれば、
4.TをそのデッドラインによりP上に置き、次のタスクに進む、
5.であれば終了
6.終了
7.アボート(現タスク用に容認可能な配置が得られなかった)
8.終了
このリアルタイム拘束プロシージャは、電力を重視しないプロシージャに比して電力削減を行うことができるが、いくつかの重要な最適化は行わない。図3は、表1からのデータを用いた時間拘束プロシージャの効果を示し、エネルギーはカッコ内の各タスクによって消費される。リアルタイム拘束プロシージャによって演算されたスケジュールは、全部で137単位の消費量を発生する。
【0016】
図3bは、電力消費量が僅か128である同じタスク集合用の異なるスケジュールを示す。これら2つのスケジュールの主たる差異は、タスクT3の配置が原因である。P2上でT3を実行することによって、P1上でT4およびT5を更に効率よく実行するための充分な時間が生ずる。この結果、全体的な消費量への寄与はT3をP1上で実行することによるエネルギー節約よりも強力である。
【0017】
全体的最適化を高めるために、全体的な消費量に最も大きな影響を及ぼす可能性のあるタスクを識別するための基準が導入されている。パワー最適化に大きな影響を与えるそれらのタスクは、必ずしも電力消費量が大きいタスクではなく、むしろプラットフォームの異なるプロセッサ上で消費量間の差が大きくなるタスクである。したがって、δ(T)基準は、2つの(又はそれよりも多い)異なるプロセッサ上で実行されるタスクTの2つの消費量間の差と定義する。数値的に、nがプラットフォーム上のプロセッサの数であるとすれば、δ(T)の定義は以下のとおり。
max(|Ex−Ey|,0≦x≦n−1,0≦y≦n−1)
【0018】
タスクTのδ(T)基準が高まるほど、このタスクは、他のタスクを最適にスケジューリングするためにより重要になると考える必要がある。
【0019】
図4に示すように、電力を重視することを主体としたプロシージャはδ(T)の活用に基づいている。このプロシージャの主たる関心事はδ(T)が高いタスクをうまく配置することである。ブロック50では、プロシージャはタスク・カウンターiを初期化する。ブロック52では、タスクは消費量δ(T)の減少変化の順でソートされる。即ち、プロセッサがそのエネルギー消費量に最も影響を及ぼすタスクを最も早くスケジューリングする。ブロック54では、プロセッサ・カウンタjを初期化する。ブロック56では、プロセッサは、現在のタスクT1を実行するための消費量の増加順にソートされる。ブロック58、60および62ではループが形成される。このループにおいては、既にスケジューリングされたタスクが終了するのを妨げずに、(現在のタスク用のエネルギー消費量の増加順に選択された)プロセッサが、タスクにそのデッドライン(D)によって対応できるか否かをプロシージャが判定する。形成できなかった場合、プロシージャは、ブロック64においてエラーとなる。
【0020】
ブロック58においてプロセッサが得られた場合、タスクは最も早いものから最も遅いもの迄のそのデッドラインに基づいてスケジューリングされる。次のタスクがブロック68において識別され、ブロック54において次のタスク用のプロシージャが始まり、最終的にタスクは全てブロック70においてスケジューリングされる。
【0021】
従って、電力を重視することをベースにしたプロシージャは、タスクをδ(T)基準が一番高いタスクからδ(T)基準が一番低いタスクまでタスクを分散させる。電力を重視することをベースにしたプロシージャは、タスクごとに、エネルギー消費量の増加順に各配置を考慮し、このプロセッサに既に割り当てられた他のタスクを考慮して、デッドラインの前にタスク完了を可能とする第1配置を選択する。一時的拘束に対処するため、プロセッサに割り当てられたタスクは全て、最も早いものから最も遅いものまでのそのデッドラインに基づいて実行される。従って、スケジューラは、タスクをプロセッサに割り当てる前に、タスクが、デッドラインの遅い他のタスクがそのデッドラインの前に完了するのを妨げないことを確認する。妨げる場合、プロシージャはこの配置を拒絶しなければならない。
【0022】
このプロシージャの擬似コードを以下に示す。
1.δ(T)減少順にタスク毎に行う
2.T実行のための消費量増加順のプロセッサPごとに行う
3.TをP上に配置することによってT又は既に配置されたタスクにデッドライン・エラーが生じなかった場合、
4.そのデッドラインに基づいてTをP上に置き、次のタスクに進む、
5.であれば終了、
6.終了
7.アボート(現在のタスクに対して容認可能な配置が得られなかった)
8.終了
【0023】
電力を重視したプロシージャは電力削減の性能は良好であるが、多くの場合スケジュールを得ることはできない。表2は、表1に表示のタスクをδ(T)でソートしたものである。説明のため、タスク・インデックスは表1に表示のものと同一である。図5aに表示されているように、電力を重視したプロシージャはタスクT3を配置しようとするとアボートする。この問題はプロシージャがT3をスケジューリングしようとすると発生する。即ち、T3がプロセッサP0上に配置されると(既にスケジューリングされた)T5はデッドライン前に終了することができないのに対して、T3がプロセッサP1上に配置された時は、タスクT4はそのスケジュール前に完了することはできない。
表2−例2のタスク特性
【0024】
しかしながら、図5bに表示されるように、このタスク集合の実行可能なスケジュールが存在する。明らかなように、場合によっては消費電力を重視したプロシージャは電力消費量を重視し過ぎ、増加デッドラインによるタスク・リストの順序付けはシステムの行動を一時的に良好とするには不充分である。
【0025】
この点において、主要関心事が反する2つのプロシージャについては、リアルタイム拘束プロシージャのリアルタイム性能は容認可能であるが、実行可能な電力最適化は行わない恐れがあり、電力重視プロシージャは電力最適化の実行は充分であるが、実行可能なスケジュールが存在する場合にはアボートする恐れがある。
【0026】
図6は、2つのプロシージャを結合しそれらの長所を生かし弱点を補償する全体を重視するプロシージャを示す。本発明は所望の基準に基づきタスクをスケジューリングする2つ(又はそれよりも多くの)プロシージャいずれも使用可能であるが、ここでは上述の電力を重視するプロシージャと時間拘束プロシージャとを用いた発明を示す。これら2つのプロシージャの結合はタスク集合を二つの部分集合に分割することによって実現される。その際、第1部分集合はδ(T)基準の最も高いタスクを含み、第2部分集合はデッドラインに基づいてソートされた残りのタスクを含む。第1部分集合は電力を重視するプロシージャによってスケジューリングされるが、第2部分集合はリアルタイム拘束プロシージャによってスケジューリングされる。
【0027】
図6において、状態80でタスク集合を2つの部分集合に分割する。タスク分割の基準については以下で論ずる。状態82では、タスクの第1部分集合が電力を重視したプロシージャによってスケジューリングされ、かかるスケジューリングから最も利益を得るタスク、即ちδ(T)基準が高いタスク用エネルギー消費量に対し最良のスケジューリングを行う。第1部分集合をスケジューリングする際デッドラインに遅れなければ、タスクの第2部分集合は状態84においてリアルタイム拘束プロシージャによってスケジューリングされる。いずれかの部分集合スケジューリングがデッドラインに遅れる結果になると、状態86において分割が変更され、1つ以上のタスクが第1部分集合から第2部分集合に切替えられる。デッドラインに遅れることなく双方の部分集合のスケジューリングが一旦完了すると、スケジューリングは状態88において完了する。
【0028】
電力重視のプロシージャは、スケジューラが負荷の軽いプロセッサ上で作用する時にはかなりの電力削減が可能となる。そのため、全体を重視するプロシージャは電力を重視するプロシージャを利用し始める。この方策によれば、全体を重視するプロシージャは、タスクをδ(T)の最も高いタスクを考慮し始める。しかし、リアルタイム拘束プロシージャの方策と共に起こるリアルタイム性能の問題を防止するため、タスクの部分集合だけを電力を重視したプロシージャと一緒に配置する。この部分集合が一旦スケジューリングされると、全体を重視するプロシージャはリアルタイム拘束プロシージャの方策に切り替わり、残りのタスクをそのデッドラインに基づいて考慮し、増加デッドラインの順序でそれらを配置する。全体を重視するプロシージャの擬似コードを以下に示す。
1:終了<‐‐誤り
2.最初のタスク分割を選択して2つの部分集合へ
3.繰り返す
4.電力基準プロシージャを第1部分集合に用いる
5.デッドラインに遅れない場合
6.リアルタイム拘束プロシージャを第2部分集合に用いる
7.デッドラインに遅れない場合、
8.終了<‐‐正しい
9:その他:
10.新たなタスク分割を計算する
11:であれば終了
12:その他
13:新たなタスク分割を計算する
14:であれば終了
15:終了するまで=正しい
【0029】
電力を大幅に削減し、リアルタイムを良好とするためには、2つの部分集合を生成する必要がある。何故なら、所与のmタスク集合に対し、2mの異なった組み合わせが可能であり、プロシージャはリアルタイム・イベントをスケジューリングするために使用されることを目指すために、そのタスクのスケジューリングを素早く行わなければならない。実行可能な分割を全て考慮し、電力削減と性能との間の最善のトレードオフを判定することは不可能であるため、好適な実施形態では、サーチとテストの方策が用いられている。計算のスケジューリングによって生じるオーバーヘッドは、システム性能にとって常に重要な問題であり、特にそれがオンラインのリアルタイムのスケジューリング時は重要であることから、プロシージャが考慮しなければならない分割の数は限定される。
【0030】
初期のタスク分割の選択、およびタスクを第1部分集合から第2部分集合への移動の仕方はプロシージャの複雑さに影響する。プロシージャの一実施態様では、最初の分割で全てのタスクを第1部分集合に入れ、第2部分集合は空とする。タスクを第1部分集合から第2部分集合へ1つずつ移動する場合、プロシージャのこの実施態様は0(m3)の複雑さを有し、ここでmはタスクの数である。スケジューラのエラー時に第1部分集合のタスクの半分を第2部分集合に移動させることに方策を変更した場合、複雑さは0(m2.log(m))に減少する。
【0031】
本発明は、ここではタスクをエネルギー節約およびリアルタイム拘束という目標に基づいたタスク分割として論じてきたが、タスクの分割は、またオペレーティング・システム設計者によるその他の拘束とバランスを取るためにも用いられる。
【0032】
リアル・システムにおいて全体を重視したプロシージャを実現するためには一定の適応が求められる。主たる修正は定期的なタスクの対応である。定期的なタスクは、新たなタスクの定期的な出現と看做される。1つのタスクが完了すると、それはタスク集合から除去される。従って、スケジューラが処理するタスク集合は時間と共に変化する。新たなタスクがタスク集合に加えられる毎に、新たなスケジュールが以下の方法で算出される。
1.実行が既に開始されたタスクは全てその実行を開始したプロセッサの上に配置される。
2.その他のタスクは全て、既に配置されたタスクを考慮しながら、全体を重視するスケジュール・プロシージャを用いて配置される。
【0033】
本発明によって従来技術に優る重要な利点が得られる。多数のプロセッサ上で適切なタスク・スケジューリングを用いることによって節電が図られる。その結果、モバイル通信機器のバッテリ寿命を大幅にのばすことができ、またはバッテリ容量を削減し機器の小型化を図ることができる。タスクのスケジューリングを素早く行ってリアルタイムのオンライン・タスクに対応することができる。
【0034】
本発明の詳細な説明は実施形態のいくつかの例を対象としたが、これらの実施形態の種々の修正物および代替実施形態が当業者に提示されよう。本発明は特許請求の範囲に収まるあらゆる修正物又は代替実施形態を含む。
【図面の簡単な説明】
本発明およびその利点を一層完璧に理解するため、添付図面と一緒に行った以下の説明を参照する。
【図1】スケジューラを用いて多数のプロセッサ上でタスクをスケジューリングしエネルギー消費量を削減するモバイル通信機器のブロック図。
【図2】主として一時的基準に基づいてタスクをスケジューリングするリアルタイム拘束プロシージャの操作を説明するフロー・チャート。
【図3】aはデータの一例の上でリアルタイム拘束プロシージャを使用したスケジューリング結果。
bはリアルタイム拘束プロシージャによるのではないエネルギー節約最適化を有するスケジュール。
【図4】主としてエネルギー消費量基準に基づいてタスクをスケジューリングする電力を重視したプロシージャの操作を説明するフロー・チャート。
【図5】aはエラー結果となった図3aのデータ例の上で電力を重視したプロシージャを用いたスケジューリング結果。bは電力を重視したプロシージャによるのではないエラーなしスケジューリング。
【図6】図4の電力を重視したプロシージャと図2のリアルタイム拘束のプロシージャとを組み込みエネルギー節約を最適化し、且つスケジューリング・エラーを低減させる全体重視のプロシージャの状態図。
【発明の属する技術分野】
本発明は、一般的に処理装置に関し、更に特定すれば、エネルギーを重視したアプリケーション・スケジューリングに関する。
【0002】
【関連技術の説明】
コンピュータ処理および通信の技術の世界において、進化の速度が最も早い技術には、通信機能とコンピューティング機能とを結合したモバイル機器がある。新たな機器は極めて速い速度で進化を遂げ、独占的環境からオープン・プラットフォーム適合に移行しつつあり、更に、第3世代(3G)のワイヤレス・ネットワークが出現して、マルティメディア・プレーヤといった新たなアプリケーションに対応している。しかしながらこの新たな柔軟性および新たなアプリケーションに対応する処理要件は、現行機器が備えることができる性能よりはるかに高い。したがって、一層強力なプロセッサを備えた新たなハードウエア・プラットフォームが導入されている。しかしながら、これらの機器は主に電力消費量という組み込まれたシステム拘束に対処しなければならない。何故なら、強力なプロセッサは、一般に、電力消費型の装置であるからである。
【0003】
エネルギー消費量は、消費者にとって非常に重要である。何故なら、コンピュータ内臓電話、携帯電話、PDA(個人用携帯型情報端末)、および手持ち式コンピュータといったモバイル機器は、有線電話接続に加えて機能すれば割り増し価格で販売される。更に、大きさは消費者がモバイル機器を選択する際の重要な要因となるため、バッテリの大きさは制約される。したがって、製造業者にとってバッテリの大きさを大きくしないで長寿命バッテリの機器を生産することは優先事項である。
【0004】
低消費電力と高性能演算との間でのトレードオフを実現する方法は、OMAPのような異種のマイクロプロセッサ・プラットフォームを使用することである。いくつかの並列プロセッサは、単一のプロセッサに比して、低い方のクロック周波数を用いながら同一の性能を備えるため、電力供給を低下し、結局は電力消費量を低減することができる。
【0005】
しかしながら、ハードウエア・プラットフォームが電力消費量問題を解決するためには、強力なソフトウエアの支援が必要である。殆どのアプリケーションは、マルチプロセッサ・プラットフォーム用にはなされていないため、プラットフォームの並行性を活用することができない。アプリケーションの内部が並列であったとしても、ソフトウエア機構はプロセッサ上で演算分散を行う必要がある。更に、ワイヤレス・アプリケーションのオープン環境方向への進化は、知られていないアプリケーションを動的にダウンロードすることを可能としているが、これにより事前に計算した配置の使用はできなくする。
【0006】
したがって、モバイル通信機器においてアプリケーションの実行を制御しエネルギー消費量を低減する方法および装置が求められている。
【0007】
【課題を解決するための手段】
本発明において、モバイル機器は多数のプロセッサと、プロセッサ上でタスクをスケジューリングするスケジューラとを備えている。スケジューラはタスクを2つの部分集合に分割することによってタスクをスケジューリングする。第1の部分集合は、主として第1集合の重視すべき事項に基づいてタスクをスケジューリングする第1のプロシージャによってスケジューリングされる。第2部分集合は、主として第2集合の重視すべき事項に基づいてタスクをスケジューリングする第2プロシージャによってスケジューリングされる。
【0008】
本発明によって従来技術に優る重要な利点が得られる。多数のプロセッサ上で適切なタスク・スケジューリングを用いることによって節電が図られる。その結果、モバイル通信機器のバッテリ寿命を大幅にのばすことができ、またはバッテリ容量を削減し機器の小型化を図ることができる。タスクのスケジューリングを素早く行ってリアルタイムのオンライン・タスクに対応することができる。
【0009】
【実施例】
本発明は図面の図1−図6に関連させると最もよく理解できよう。種々の図面の同様の要素に対しては同様の番号が用いられている。
【0010】
図1はマルチプロセシング・モバイル機器10の全体ブロック図を示す。P0からPn−1までとして表示された多数のプロセッサ12は、トラフィック・コントローラとメモリ・インターフェース16とを介して共有メモリ14に結合されている。プロセッサ12は、例えば、1つ以上の汎用性プロセッサ、ディジタル信号プロセッサ、またはコプロセッサを含むことができる。プロセッサ12は、T0からTm−1までとして表示されるタスク18を実行する。スケジューラ20は、どのプロセッサがどのタスクを実行するかを判定する。スケジューラ20は、全体的動作システムの一部であるプロセッサ12の1つの上で実行される場合もある。その他のプロセッサ12の一部または全ては自己の処理システムの元で動作する場合もある。
【0011】
図1の機器10を以下に論ずるについて、タスク集合(Ti,0≦i≦m−1)は公知であり、以下の情報は、タスク毎に知らされ又は近似することができるものとする。即ち、タスク(D)のデッドライン、各プロセッサ(Cj,0≦j≦n−1)上でのタスク実行時間、および各プロセッサ(Ej)上でのタスク毎のエネルギー消費量といった情報である。更に、タスクはいずれもいつでも実行でき、タスクの実行は相互依存しない(即ち、T2の実行はT1の完了に依存しない)が、タスク間の依存性は必要に応じスケジューリングに組み込むことが可能であるものとする。
【0012】
表1はスケジューリングされ、2つのプロセッサ12を有する機器上で実行される6個のタスク(T0からT5まで)の一例を示す。各タスクはいずれのプロセッサ上でも実行可能であるが、タスク実行時に消費されるエネルギー、およびタスク実行に要する時間はプロセッサ間で同じではない。
表1−例1のタスク特性
【0013】
各タスクはデッドライン(D)を有し、この係数はどのプロセッサがタスクを実行するかによって変動することはない。タスクごとの実行時間は、プロセッサによって左右され、C0は、プロセッサP0上でのタスク処理時間、C1は、プロセッサP1上でのタスクの処理時間である。同様に、各タスクに伴うエネルギー消費量はプロセッサによって左右され、E0はプロセッサP0上でのタスクのエネルギー消費量、E1はプロセッサP1上でのタスクのエネルギー消費量である。
【0014】
図2は、第1にリアルタイム拘束に基づいて、第2にパワー消費量に基づいてタスクをスケジューリングするリアルタイム拘束プロシージャのフロー・チャートを示す。リアルタイム拘束プロシージャは、全てのタスクに関連する情報を(表1に示すように)デッドラインが大きくなる順序でソートして、単一リストに格納する。ステップ30では、タスク・インデックスi(最初に“0”に設定する)を用いてタスク集合の所与のタスクを識別する。ステップ30では、プロセッサ・インデックス(最初に“0”に設定する)を用いて所与のプロセッサを識別する。ステップ34で、プロセッサPjは、現在のタスクTiを実行のための消費量の増加の順序でソートされる。ブロック36、38および40では、タスクを実行するプロセッサが選択される。このループは、タスク用のエネルギー消費の最も少ないプロセッサであって、タスクがデッドライン(D)前に終了されるようにタスク・スケジューリングするために現在使用可能なプロセッサを選択する。従って、電力状況は考慮される。何故なら、プロシージャはこのタスク用の電力効率の高い方のプロセッサから電力効率の低い方のプロセッサにいたるまで各プロセッサを検討し、デッドライン前にタスクを終了することを可能にする第1プロセッサを選択するからである。プロセッサが使用不能の場合(j=n)、プロシージャはブロック42でエラーとなる。
決定ブロック36に戻って、プロセッサが得られた場合、ブロック44において、タスクはスケジューリングされ当該プロセッサ上で実行される。その次のタスクはブロック46において識別され、プロシージャは32に戻り、最終的にブロック48において全てのタスクが実行(i=m)される。
【0015】
このプロシ−ジャの擬似コードを以下に示す。
1.デッドラインの大きくなる順序で選択されたタスクT毎に行う、
2.Tを実行するための消費量の増加順序で選択されたプロセッサP毎に行う、
3.P上で実行されたTがそのデッドライン前に終了すれば、
4.TをそのデッドラインによりP上に置き、次のタスクに進む、
5.であれば終了
6.終了
7.アボート(現タスク用に容認可能な配置が得られなかった)
8.終了
このリアルタイム拘束プロシージャは、電力を重視しないプロシージャに比して電力削減を行うことができるが、いくつかの重要な最適化は行わない。図3は、表1からのデータを用いた時間拘束プロシージャの効果を示し、エネルギーはカッコ内の各タスクによって消費される。リアルタイム拘束プロシージャによって演算されたスケジュールは、全部で137単位の消費量を発生する。
【0016】
図3bは、電力消費量が僅か128である同じタスク集合用の異なるスケジュールを示す。これら2つのスケジュールの主たる差異は、タスクT3の配置が原因である。P2上でT3を実行することによって、P1上でT4およびT5を更に効率よく実行するための充分な時間が生ずる。この結果、全体的な消費量への寄与はT3をP1上で実行することによるエネルギー節約よりも強力である。
【0017】
全体的最適化を高めるために、全体的な消費量に最も大きな影響を及ぼす可能性のあるタスクを識別するための基準が導入されている。パワー最適化に大きな影響を与えるそれらのタスクは、必ずしも電力消費量が大きいタスクではなく、むしろプラットフォームの異なるプロセッサ上で消費量間の差が大きくなるタスクである。したがって、δ(T)基準は、2つの(又はそれよりも多い)異なるプロセッサ上で実行されるタスクTの2つの消費量間の差と定義する。数値的に、nがプラットフォーム上のプロセッサの数であるとすれば、δ(T)の定義は以下のとおり。
max(|Ex−Ey|,0≦x≦n−1,0≦y≦n−1)
【0018】
タスクTのδ(T)基準が高まるほど、このタスクは、他のタスクを最適にスケジューリングするためにより重要になると考える必要がある。
【0019】
図4に示すように、電力を重視することを主体としたプロシージャはδ(T)の活用に基づいている。このプロシージャの主たる関心事はδ(T)が高いタスクをうまく配置することである。ブロック50では、プロシージャはタスク・カウンターiを初期化する。ブロック52では、タスクは消費量δ(T)の減少変化の順でソートされる。即ち、プロセッサがそのエネルギー消費量に最も影響を及ぼすタスクを最も早くスケジューリングする。ブロック54では、プロセッサ・カウンタjを初期化する。ブロック56では、プロセッサは、現在のタスクT1を実行するための消費量の増加順にソートされる。ブロック58、60および62ではループが形成される。このループにおいては、既にスケジューリングされたタスクが終了するのを妨げずに、(現在のタスク用のエネルギー消費量の増加順に選択された)プロセッサが、タスクにそのデッドライン(D)によって対応できるか否かをプロシージャが判定する。形成できなかった場合、プロシージャは、ブロック64においてエラーとなる。
【0020】
ブロック58においてプロセッサが得られた場合、タスクは最も早いものから最も遅いもの迄のそのデッドラインに基づいてスケジューリングされる。次のタスクがブロック68において識別され、ブロック54において次のタスク用のプロシージャが始まり、最終的にタスクは全てブロック70においてスケジューリングされる。
【0021】
従って、電力を重視することをベースにしたプロシージャは、タスクをδ(T)基準が一番高いタスクからδ(T)基準が一番低いタスクまでタスクを分散させる。電力を重視することをベースにしたプロシージャは、タスクごとに、エネルギー消費量の増加順に各配置を考慮し、このプロセッサに既に割り当てられた他のタスクを考慮して、デッドラインの前にタスク完了を可能とする第1配置を選択する。一時的拘束に対処するため、プロセッサに割り当てられたタスクは全て、最も早いものから最も遅いものまでのそのデッドラインに基づいて実行される。従って、スケジューラは、タスクをプロセッサに割り当てる前に、タスクが、デッドラインの遅い他のタスクがそのデッドラインの前に完了するのを妨げないことを確認する。妨げる場合、プロシージャはこの配置を拒絶しなければならない。
【0022】
このプロシージャの擬似コードを以下に示す。
1.δ(T)減少順にタスク毎に行う
2.T実行のための消費量増加順のプロセッサPごとに行う
3.TをP上に配置することによってT又は既に配置されたタスクにデッドライン・エラーが生じなかった場合、
4.そのデッドラインに基づいてTをP上に置き、次のタスクに進む、
5.であれば終了、
6.終了
7.アボート(現在のタスクに対して容認可能な配置が得られなかった)
8.終了
【0023】
電力を重視したプロシージャは電力削減の性能は良好であるが、多くの場合スケジュールを得ることはできない。表2は、表1に表示のタスクをδ(T)でソートしたものである。説明のため、タスク・インデックスは表1に表示のものと同一である。図5aに表示されているように、電力を重視したプロシージャはタスクT3を配置しようとするとアボートする。この問題はプロシージャがT3をスケジューリングしようとすると発生する。即ち、T3がプロセッサP0上に配置されると(既にスケジューリングされた)T5はデッドライン前に終了することができないのに対して、T3がプロセッサP1上に配置された時は、タスクT4はそのスケジュール前に完了することはできない。
表2−例2のタスク特性
【0024】
しかしながら、図5bに表示されるように、このタスク集合の実行可能なスケジュールが存在する。明らかなように、場合によっては消費電力を重視したプロシージャは電力消費量を重視し過ぎ、増加デッドラインによるタスク・リストの順序付けはシステムの行動を一時的に良好とするには不充分である。
【0025】
この点において、主要関心事が反する2つのプロシージャについては、リアルタイム拘束プロシージャのリアルタイム性能は容認可能であるが、実行可能な電力最適化は行わない恐れがあり、電力重視プロシージャは電力最適化の実行は充分であるが、実行可能なスケジュールが存在する場合にはアボートする恐れがある。
【0026】
図6は、2つのプロシージャを結合しそれらの長所を生かし弱点を補償する全体を重視するプロシージャを示す。本発明は所望の基準に基づきタスクをスケジューリングする2つ(又はそれよりも多くの)プロシージャいずれも使用可能であるが、ここでは上述の電力を重視するプロシージャと時間拘束プロシージャとを用いた発明を示す。これら2つのプロシージャの結合はタスク集合を二つの部分集合に分割することによって実現される。その際、第1部分集合はδ(T)基準の最も高いタスクを含み、第2部分集合はデッドラインに基づいてソートされた残りのタスクを含む。第1部分集合は電力を重視するプロシージャによってスケジューリングされるが、第2部分集合はリアルタイム拘束プロシージャによってスケジューリングされる。
【0027】
図6において、状態80でタスク集合を2つの部分集合に分割する。タスク分割の基準については以下で論ずる。状態82では、タスクの第1部分集合が電力を重視したプロシージャによってスケジューリングされ、かかるスケジューリングから最も利益を得るタスク、即ちδ(T)基準が高いタスク用エネルギー消費量に対し最良のスケジューリングを行う。第1部分集合をスケジューリングする際デッドラインに遅れなければ、タスクの第2部分集合は状態84においてリアルタイム拘束プロシージャによってスケジューリングされる。いずれかの部分集合スケジューリングがデッドラインに遅れる結果になると、状態86において分割が変更され、1つ以上のタスクが第1部分集合から第2部分集合に切替えられる。デッドラインに遅れることなく双方の部分集合のスケジューリングが一旦完了すると、スケジューリングは状態88において完了する。
【0028】
電力重視のプロシージャは、スケジューラが負荷の軽いプロセッサ上で作用する時にはかなりの電力削減が可能となる。そのため、全体を重視するプロシージャは電力を重視するプロシージャを利用し始める。この方策によれば、全体を重視するプロシージャは、タスクをδ(T)の最も高いタスクを考慮し始める。しかし、リアルタイム拘束プロシージャの方策と共に起こるリアルタイム性能の問題を防止するため、タスクの部分集合だけを電力を重視したプロシージャと一緒に配置する。この部分集合が一旦スケジューリングされると、全体を重視するプロシージャはリアルタイム拘束プロシージャの方策に切り替わり、残りのタスクをそのデッドラインに基づいて考慮し、増加デッドラインの順序でそれらを配置する。全体を重視するプロシージャの擬似コードを以下に示す。
1:終了<‐‐誤り
2.最初のタスク分割を選択して2つの部分集合へ
3.繰り返す
4.電力基準プロシージャを第1部分集合に用いる
5.デッドラインに遅れない場合
6.リアルタイム拘束プロシージャを第2部分集合に用いる
7.デッドラインに遅れない場合、
8.終了<‐‐正しい
9:その他:
10.新たなタスク分割を計算する
11:であれば終了
12:その他
13:新たなタスク分割を計算する
14:であれば終了
15:終了するまで=正しい
【0029】
電力を大幅に削減し、リアルタイムを良好とするためには、2つの部分集合を生成する必要がある。何故なら、所与のmタスク集合に対し、2mの異なった組み合わせが可能であり、プロシージャはリアルタイム・イベントをスケジューリングするために使用されることを目指すために、そのタスクのスケジューリングを素早く行わなければならない。実行可能な分割を全て考慮し、電力削減と性能との間の最善のトレードオフを判定することは不可能であるため、好適な実施形態では、サーチとテストの方策が用いられている。計算のスケジューリングによって生じるオーバーヘッドは、システム性能にとって常に重要な問題であり、特にそれがオンラインのリアルタイムのスケジューリング時は重要であることから、プロシージャが考慮しなければならない分割の数は限定される。
【0030】
初期のタスク分割の選択、およびタスクを第1部分集合から第2部分集合への移動の仕方はプロシージャの複雑さに影響する。プロシージャの一実施態様では、最初の分割で全てのタスクを第1部分集合に入れ、第2部分集合は空とする。タスクを第1部分集合から第2部分集合へ1つずつ移動する場合、プロシージャのこの実施態様は0(m3)の複雑さを有し、ここでmはタスクの数である。スケジューラのエラー時に第1部分集合のタスクの半分を第2部分集合に移動させることに方策を変更した場合、複雑さは0(m2.log(m))に減少する。
【0031】
本発明は、ここではタスクをエネルギー節約およびリアルタイム拘束という目標に基づいたタスク分割として論じてきたが、タスクの分割は、またオペレーティング・システム設計者によるその他の拘束とバランスを取るためにも用いられる。
【0032】
リアル・システムにおいて全体を重視したプロシージャを実現するためには一定の適応が求められる。主たる修正は定期的なタスクの対応である。定期的なタスクは、新たなタスクの定期的な出現と看做される。1つのタスクが完了すると、それはタスク集合から除去される。従って、スケジューラが処理するタスク集合は時間と共に変化する。新たなタスクがタスク集合に加えられる毎に、新たなスケジュールが以下の方法で算出される。
1.実行が既に開始されたタスクは全てその実行を開始したプロセッサの上に配置される。
2.その他のタスクは全て、既に配置されたタスクを考慮しながら、全体を重視するスケジュール・プロシージャを用いて配置される。
【0033】
本発明によって従来技術に優る重要な利点が得られる。多数のプロセッサ上で適切なタスク・スケジューリングを用いることによって節電が図られる。その結果、モバイル通信機器のバッテリ寿命を大幅にのばすことができ、またはバッテリ容量を削減し機器の小型化を図ることができる。タスクのスケジューリングを素早く行ってリアルタイムのオンライン・タスクに対応することができる。
【0034】
本発明の詳細な説明は実施形態のいくつかの例を対象としたが、これらの実施形態の種々の修正物および代替実施形態が当業者に提示されよう。本発明は特許請求の範囲に収まるあらゆる修正物又は代替実施形態を含む。
【図面の簡単な説明】
本発明およびその利点を一層完璧に理解するため、添付図面と一緒に行った以下の説明を参照する。
【図1】スケジューラを用いて多数のプロセッサ上でタスクをスケジューリングしエネルギー消費量を削減するモバイル通信機器のブロック図。
【図2】主として一時的基準に基づいてタスクをスケジューリングするリアルタイム拘束プロシージャの操作を説明するフロー・チャート。
【図3】aはデータの一例の上でリアルタイム拘束プロシージャを使用したスケジューリング結果。
bはリアルタイム拘束プロシージャによるのではないエネルギー節約最適化を有するスケジュール。
【図4】主としてエネルギー消費量基準に基づいてタスクをスケジューリングする電力を重視したプロシージャの操作を説明するフロー・チャート。
【図5】aはエラー結果となった図3aのデータ例の上で電力を重視したプロシージャを用いたスケジューリング結果。bは電力を重視したプロシージャによるのではないエラーなしスケジューリング。
【図6】図4の電力を重視したプロシージャと図2のリアルタイム拘束のプロシージャとを組み込みエネルギー節約を最適化し、且つスケジューリング・エラーを低減させる全体重視のプロシージャの状態図。
Claims (8)
- モバイル機器であって、
多数のプロセッサと、
前記プロセッサ上でタスクをスケジューリングするスケジューラと、
を備え、前記スケジューラは、
前記タスクの2つの部分集合への分割と、
主として第1集合の重視すべき事項の上でタスクをスケジューリングする第1プロシージャによる前記第1部分集合のスケジューリングと、
主として第2集合の重視すべき事項の上でタスクをスケジューリングする第2プロシージャによる前記第2部分集合のスケジューリングと、
によってスケジューリングを行うモバイル機器。 - 多数のプロセッサを備えたモバイル機器上で多数のタスクをスケジューリングする方法であって、
前記タスクを2つの部分集合に分割するステップと、
主として第1集合の重視すべき事項の上でタスクをスケジューリングする第1プロシージャによって前記第1部分集合をスケジューリングするステップと、
主として第2集合の重視すべき事項の上でタスクをスケジューリングする第2プロシージャによって前記第2部分集合をスケジューリングするステップと、
から成る方法。 - 請求項1記載のモバイル機器又は請求項2記載の方法において、前記第1集合の重視すべき事項がエネルギー節約に基づいている、モバイル機器又は方法。
- 請求項3記載のモバイル機器又は方法において、前記第1プロシージャが前記プロセッサの異なるもの上での各タスクのスケジューリングに基づいてエネルギー消費量の変化を規定するタスクのそれぞれに関係付けられたエネルギー偏差基準の順序でタスクをスケジューリングする、モバイル機器又は方法。
- 請求項1ないし3のいずれか1項に記載のモバイル機器又は方法において、前記第2集合の重視すべき事項が前記タスクに関係付けられたデッドラインに基づいた、モバイル機器又は方法。
- 請求項5記載のモバイル機器又は方法において、前記第2プロシージャが前記タスクに関係付けられたデッドラインの順序でタスクをスケジューリングする、モバイル機器又は方法。
- 前記1ないし5のいずれか1項に記載のモバイル機器又は方法において、タスクがスケジューリング・エラーに応答して前記第2部分集合から前記第2部分集合に移動する、モバイル機器又は方法。
- 請求項6記載のモバイル機器又は方法において、前記第1部分集合が最も高いエネルギー偏差のタスクを含む、モバイル機器又は方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/151,282 US8032891B2 (en) | 2002-05-20 | 2002-05-20 | Energy-aware scheduling of application execution |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004252937A true JP2004252937A (ja) | 2004-09-09 |
Family
ID=29400503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003178770A Pending JP2004252937A (ja) | 2002-05-20 | 2003-05-20 | アプリケーション実行のエネルギーを重視したスケジューリング |
Country Status (3)
Country | Link |
---|---|
US (1) | US8032891B2 (ja) |
EP (1) | EP1365312A1 (ja) |
JP (1) | JP2004252937A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008541302A (ja) * | 2005-05-18 | 2008-11-20 | 株式会社エヌ・ティ・ティ・ドコモ | 複数のプロセッサを備える機器上でのxslt処理における文書内並列処理をサポートする方法 |
JP2009527828A (ja) * | 2006-02-17 | 2009-07-30 | クゥアルコム・インコーポレイテッド | マルチプロセッサのアプリケーションサポートのためのシステムおよび方法 |
JP2018200603A (ja) * | 2017-05-29 | 2018-12-20 | 富士通株式会社 | タスク配備プログラム、タスク配備方法、およびタスク配備装置 |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050132239A1 (en) * | 2003-12-16 | 2005-06-16 | Athas William C. | Almost-symmetric multiprocessor that supports high-performance and energy-efficient execution |
US7805591B2 (en) | 2004-03-03 | 2010-09-28 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for dual-core processing |
JP4410661B2 (ja) * | 2004-11-09 | 2010-02-03 | 株式会社日立製作所 | 分散制御システム |
WO2006062270A1 (en) * | 2004-12-08 | 2006-06-15 | Electronics And Telecommunications Research Institute | Power management method for platform and that platform |
US8607235B2 (en) | 2004-12-30 | 2013-12-10 | Intel Corporation | Mechanism to schedule threads on OS-sequestered sequencers without operating system intervention |
JP4727370B2 (ja) * | 2005-09-29 | 2011-07-20 | 京セラ株式会社 | 無線通信端末およびその制御方法 |
US8108863B2 (en) | 2005-12-30 | 2012-01-31 | Intel Corporation | Load balancing for multi-threaded applications via asymmetric power throttling |
US7853949B2 (en) * | 2006-03-13 | 2010-12-14 | International Business Machines Corporation | Method and apparatus for assigning fractional processing nodes to work in a stream-oriented computer system |
GB2439104A (en) * | 2006-06-15 | 2007-12-19 | Symbian Software Ltd | Managing power on a computing device by minimising the number of separately activated timer events such that the device is powering up less often. |
KR100834408B1 (ko) * | 2006-09-14 | 2008-06-04 | 한국전자통신연구원 | 분산처리시스템에서의 태스크 할당방법 및 시스템 |
US7844839B2 (en) * | 2006-12-07 | 2010-11-30 | Juniper Networks, Inc. | Distribution of network communications based on server power consumption |
US8265712B2 (en) | 2007-04-13 | 2012-09-11 | Nokia Corporation | Multiradio power aware traffic management |
US20110099404A1 (en) * | 2008-06-25 | 2011-04-28 | Nxp B.V. | Electronic device, method of controlling an electronic device, and system-on-chip |
US20100058086A1 (en) * | 2008-08-28 | 2010-03-04 | Industry Academic Cooperation Foundation, Hallym University | Energy-efficient multi-core processor |
US8214843B2 (en) * | 2008-09-03 | 2012-07-03 | International Business Machines Corporation | Framework for distribution of computer workloads based on real-time energy costs |
JP5245722B2 (ja) * | 2008-10-29 | 2013-07-24 | 富士通株式会社 | スケジューラ、プロセッサシステム、プログラム生成装置およびプログラム生成用プログラム |
KR101622168B1 (ko) * | 2008-12-18 | 2016-05-18 | 삼성전자주식회사 | 실시간 스케쥴링 방법 및 이를 이용한 중앙처리장치 |
US8316368B2 (en) * | 2009-02-05 | 2012-11-20 | Honeywell International Inc. | Safe partition scheduling on multi-core processors |
US20110071780A1 (en) * | 2009-09-21 | 2011-03-24 | Nokia Corporation | Method and apparatus for displaying at least one indicator related to a projected battery lifespan |
US8423799B2 (en) * | 2009-11-30 | 2013-04-16 | International Business Machines Corporation | Managing accelerators of a computing environment |
US8776066B2 (en) * | 2009-11-30 | 2014-07-08 | International Business Machines Corporation | Managing task execution on accelerators |
US8381004B2 (en) | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
US20120210150A1 (en) * | 2011-02-10 | 2012-08-16 | Alcatel-Lucent Usa Inc. | Method And Apparatus Of Smart Power Management For Mobile Communication Terminals |
DE102012222215A1 (de) * | 2012-12-04 | 2014-06-05 | Robert Bosch Gmbh | Verfahren zum Betreiben einer echtzeitkritischen Anwendung auf einem Steuergerät |
JP6175980B2 (ja) * | 2013-08-23 | 2017-08-09 | 富士通株式会社 | Cpuの制御方法、制御プログラム、情報処理装置 |
CN105453044B (zh) * | 2013-09-19 | 2020-06-12 | 英特尔公司 | 用于分布式处理任务部分指配的技术 |
GB2519080B (en) * | 2013-10-08 | 2021-04-14 | Arm Ip Ltd | Scheduling function calls |
US9323574B2 (en) | 2014-02-21 | 2016-04-26 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Processor power optimization with response time assurance |
WO2015151548A1 (ja) * | 2014-04-03 | 2015-10-08 | ソニー株式会社 | 電子機器および記録媒体 |
US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
US20220283856A1 (en) * | 2021-03-04 | 2022-09-08 | Dell Products L.P. | Sustainability and efficiency as a service |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS59231966A (ja) * | 1983-06-14 | 1984-12-26 | Tamura Electric Works Ltd | 公衆電話機の処理制御方式 |
US5179702A (en) * | 1989-12-29 | 1993-01-12 | Supercomputer Systems Limited Partnership | System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling |
US5887143A (en) * | 1995-10-26 | 1999-03-23 | Hitachi, Ltd. | Apparatus and method for synchronizing execution of programs in a distributed real-time computing system |
US5790817A (en) | 1996-09-25 | 1998-08-04 | Advanced Micro Devices, Inc. | Configurable digital wireless and wired communications system architecture for implementing baseband functionality |
US6353844B1 (en) * | 1996-12-23 | 2002-03-05 | Silicon Graphics, Inc. | Guaranteeing completion times for batch jobs without static partitioning |
JP3037182B2 (ja) * | 1997-02-17 | 2000-04-24 | 日本電気株式会社 | タスク管理方式 |
US6112023A (en) * | 1997-02-24 | 2000-08-29 | Lucent Technologies Inc. | Scheduling-based hardware-software co-synthesis of heterogeneous distributed embedded systems |
FI108478B (fi) * | 1998-01-21 | 2002-01-31 | Nokia Corp | Sulautettu jõrjestelmõ |
US6112225A (en) * | 1998-03-30 | 2000-08-29 | International Business Machines Corporation | Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time |
US6243788B1 (en) * | 1998-06-17 | 2001-06-05 | International Business Machines Corporation | Cache architecture to enable accurate cache sensitivity |
US6112221A (en) * | 1998-07-09 | 2000-08-29 | Lucent Technologies, Inc. | System and method for scheduling web servers with a quality-of-service guarantee for each user |
US6591287B1 (en) * | 1999-09-08 | 2003-07-08 | Lucent Technologies Inc. | Method to increase the efficiency of job sequencing from sequential storage |
US20020019843A1 (en) | 2000-04-26 | 2002-02-14 | Killian Robert T. | Multiprocessor object control |
US7140022B2 (en) * | 2000-06-02 | 2006-11-21 | Honeywell International Inc. | Method and apparatus for slack stealing with dynamic threads |
EP1182538B1 (en) | 2000-08-21 | 2010-04-07 | Texas Instruments France | Temperature field controlled scheduling for processing systems |
EP1182552A3 (en) * | 2000-08-21 | 2003-10-01 | Texas Instruments France | Dynamic hardware configuration for energy management systems using task attributes |
US7234126B2 (en) * | 2000-08-23 | 2007-06-19 | Interuniversitair Microelektronica Centrum | Task concurrency management design method |
JP2002099432A (ja) * | 2000-09-22 | 2002-04-05 | Sony Corp | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 |
US6910139B2 (en) * | 2000-10-02 | 2005-06-21 | Fujitsu Limited | Software processing apparatus with a switching processing unit for displaying animation images in an environment operating base on type of power supply |
DE60143707D1 (de) | 2000-10-31 | 2011-02-03 | Millennial Net Inc | Vernetztes verarbeitungssystem mit optimiertem leistungswirkungsgrad |
US20020073129A1 (en) * | 2000-12-04 | 2002-06-13 | Yu-Chung Wang | Integrated multi-component scheduler for operating systems |
US6986066B2 (en) * | 2001-01-05 | 2006-01-10 | International Business Machines Corporation | Computer system having low energy consumption |
US7043557B2 (en) * | 2001-06-29 | 2006-05-09 | Hewlett-Packard Development Company, L.P. | Low power scheduling for multimedia systems |
US20030061260A1 (en) * | 2001-09-25 | 2003-03-27 | Timesys Corporation | Resource reservation and priority management |
US8645954B2 (en) * | 2001-12-13 | 2014-02-04 | Intel Corporation | Computing system capable of reducing power consumption by distributing execution of instruction across multiple processors and method therefore |
-
2002
- 2002-05-20 US US10/151,282 patent/US8032891B2/en not_active Expired - Fee Related
-
2003
- 2003-05-20 EP EP03101437A patent/EP1365312A1/en not_active Withdrawn
- 2003-05-20 JP JP2003178770A patent/JP2004252937A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008541302A (ja) * | 2005-05-18 | 2008-11-20 | 株式会社エヌ・ティ・ティ・ドコモ | 複数のプロセッサを備える機器上でのxslt処理における文書内並列処理をサポートする方法 |
JP2009527828A (ja) * | 2006-02-17 | 2009-07-30 | クゥアルコム・インコーポレイテッド | マルチプロセッサのアプリケーションサポートのためのシステムおよび方法 |
JP2018200603A (ja) * | 2017-05-29 | 2018-12-20 | 富士通株式会社 | タスク配備プログラム、タスク配備方法、およびタスク配備装置 |
Also Published As
Publication number | Publication date |
---|---|
US8032891B2 (en) | 2011-10-04 |
US20030217090A1 (en) | 2003-11-20 |
EP1365312A1 (en) | 2003-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004252937A (ja) | アプリケーション実行のエネルギーを重視したスケジューリング | |
Geng et al. | Energy-efficient computation offloading for multicore-based mobile devices | |
Wang et al. | A DVFS based energy-efficient tasks scheduling in a data center | |
EP3155521B1 (en) | Systems and methods of managing processor device power consumption | |
JP3790743B2 (ja) | コンピュータ・システム | |
US7529958B2 (en) | Programmable power transition counter | |
Bhatti et al. | An inter-task real time DVFS scheme for multiprocessor embedded systems | |
US20130007492A1 (en) | Timer interrupt latency | |
US9323306B2 (en) | Energy based time scheduler for parallel computing system | |
US8812761B2 (en) | System and method for adjusting power usage to reduce interrupt latency | |
KR20170062493A (ko) | 이종 스레드 스케줄링 | |
CN1620645A (zh) | 用于无线系统中定时及事件处理的方法和装置 | |
JP2012504800A (ja) | 異種コンピューティング・システムにおいて実行するためのアプリケーションのスケジューリング | |
Niu et al. | Energy minimization for real-time systems with (m, k)-guarantee | |
KR20130004502A (ko) | 프로세서에서 스레드들을 실행하는 시스템 및 방법 | |
Li et al. | Energy-aware scheduling for frame-based tasks on heterogeneous multiprocessor platforms | |
JP2005285093A (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
JP2008077563A (ja) | 電子機器およびcpu動作環境制御プログラム | |
Raghunathan et al. | Adaptive power-fidelity in energy-aware wireless embedded systems | |
Benoit et al. | Performance and energy optimization of concurrent pipelined applications | |
EP3278220A1 (en) | Power aware scheduling and power manager | |
US20030177163A1 (en) | Microprocessor comprising load monitoring function | |
El Ghor et al. | Energy efficient scheduler of aperiodic jobs for real-time embedded systems | |
Niu et al. | Peripheral–Conscious energy–Efficient scheduling for weakly hard real–time systems | |
WO2010137233A1 (ja) | マルチプロセッサシステムにおける省電力制御装置およびモバイル端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060522 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081205 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081212 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090602 |