JP2008508584A - タスク処理のスケジューリング方法及びこの方法を適用するための装置 - Google Patents
タスク処理のスケジューリング方法及びこの方法を適用するための装置 Download PDFInfo
- Publication number
- JP2008508584A JP2008508584A JP2007523134A JP2007523134A JP2008508584A JP 2008508584 A JP2008508584 A JP 2008508584A JP 2007523134 A JP2007523134 A JP 2007523134A JP 2007523134 A JP2007523134 A JP 2007523134A JP 2008508584 A JP2008508584 A JP 2008508584A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- processing
- priority
- time
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/506—Constraint
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
本発明は、タスクの処理をスケジューリングする方法、及びその方法を適用するための装置に関する。本発明はまた、タスクの処理方法及びそれに関連する装置に関する。
本発明は、極めて多くの分野、例えばオンボードエレクトロニクス(携帯電話、自動車産業、航空産業等)の分野、場合によってはスーパーコンピュータのような集約的演算用の複雑な分散電子システムの分野に応用される。
そのため、再設定可能なブロック、メモリなどを有する複数の専用プロセッサからなるシステムが登場し、一般的にはシステムオンチップ(SoC)技術と呼ばれるオンチップ集積技術が生まれた。SoC技術の性能及びフレキシビリティを向上させるため、コミュニケーションネットワークをチップに集積することにより、チップ上に集積された異なるコンポーネントが相互接続された。一般にネットワークオンチップ(NoC)と呼ばれるこのようなチップ上のネットワークシステムにより、今日、将来の技術を集積するのに適したソリューションが提供される。それでもなお、タスクの並列性の取り扱い及びアプリケーションの最適な実行は、このようなネットワークにおいて解決すべき大きな問題である。
Blazewicz等は、全てのタスクが同じ実行時間を有する場合の厳密解を決定する興味深いソリューションを提供している(参考文献[BLAZ86]参照)。しかし、本文献が要求するアルゴリズムは、膨大な計算時間とデータ変換を要する。
同様の結果が、本発明の課題に近い研究において証明されている(参考文献リスト[BAER73、BAKE81]参照)。他のソリューションは、タスクを実行するために残された時間を評価する手段を必要とする(参考文献[TOPC02]及び米国特許第6567840号明細書参照)。しかし、これは非同期システムを意図したものではなく、ダイナミックなスケジューリングは連続的なアップデートを必要とするので大量の電力を消費する。
本発明によるタスク処理スケジューリングアルゴリズムは、上述の欠点を有さない。
本発明は、タスクを処理するためのスケジューリング方法に関し、優先順位に従ってタスクを実行するものであり、タスクの処理は、タスクの実行に必要なリソースを設定するステップと、これにより設定されたリソース上でタスクを実行するステップとを含む。本方法は、
− 処理すべきタスクの少なくとも1つのレベルを選択すること、
− 優先順位に従って処理すべきタスクレベルにあるタスクをソートすることにより、タスクの処理に必要なリソースの数とタスクの特性量とに基づいてタスク処理の優先順位を決定するステップ
− 前記タスクのレベルで、タスクの処理に利用可能なリソースの数を評価すること、及び
− 優先順位に従って利用可能なリソースに前記タスクレベルのタスクを割り当てること
を含むことを特徴としている。
本発明の第1の変形例によれば、第1のソーティングを第2のソーティングの前に行い、第2のソーティングは、複数のタスクの処理に必要なリソースの数が、それらタスクの全てで同じである場合に直ぐに適用される。
本発明の第2の変形例によれば、第2のソーティングを第1のソーティングの前に行い、第1のソーティングは、複数のタスクに対するタスクの特性量が、それらタスクの全てで同じである場合に直ぐに適用される。
本発明の更なる特徴によれば、タスクの特性量は、タスクの実行に有用な通過帯域幅、タスクによって処理されるデータの到着速度、タスクによって処理されるデータのソーティング又は通信に有用なリソースの数、他のタスクとの通信又はタスク間で共有されるリソースとの通信のためのコスト、タスクの処理によって生じる電力消費量、タスクの実行に関する操作の複雑性を判定する1つの情報、タスクの実行に関するアルゴリズムの規則性を判定する1つの情報、タスクの実行の並列性を判定する1つの情報、タスクの独立した優先度であって、マルチユーザで使用される場合に1人のユーザによって与えられた優先度を判定する1つの情報、或いは上記特性量の全部又は一部の関数である。
本発明の更に別の特徴によれば、前記アプリケーションチャート上でのタスクの位置に関する1つの情報は、アプリケーションチャートの処理時間に課された時間的制約の終了までにタスクの実行に残された時間、アプリケーションチャートの終了前に未処理で残っているタスクの最大数、タスクの優先度の順番において上位に位置するタスクの最大数、タスクの優先度の順番において上位に位置するタスクの実行時間の合計、或いは上記量の全部又は一部の関数である。
本発明の更に別の特徴によれば、優先順位に応じた利用可能なリソースの割り当ては、前記タスクレベルの全てのタスクが処理されるまでダイナミックに繰り返される。
本発明はタスクの処理方法にも関し、タスクを優先順位に従って実行するものであって、タスクの処理は、タスクの実行に必要なリソースを設定するステップと、これにより設定されたリソース上でタスクを実行するステップとを含む。この処理方法は、本発明の方法によるタスクの処理のスケジューリングを含むことと、リソースの設定及びタスクの実行が、設定トークン及び実行トークンによってそれぞれ始動されることとを特徴としている。
− 処理すべき1組のタスクを含むコンポーネント、
− コンポーネントに含まれるタスクの組から、処理すべきタスクの少なくとも1つのレベルを選択するための選択ブロック、
− 優先順位に従って選択されたタスクレベルにあるタスクをソートすることにより、タスクの処理に必要なリソースの数とタスクの特性量とに基づいてタスクを処理する手段、並びに
− 優先順位に従って利用可能なリソースをタスクの処理に割り当てる手段
を備えることを特徴としている。
− 各タスクの処理に必要なリソースの数を表す情報を含む第1のメモリブロック、
− タスクの特性量を表す情報を含む第2のメモリブロック、
− 前記タスクレベルにおけるタスクの特性量を表す情報を互いに比較するための第1の比較手段、
− 利用可能なリソースの数と、前記タスクレベルにあるタスクの処理に必要なリソースの数とを比較する第2の比較手段、並びに
− 第1及び第2の比較手段によって送達される比較結果に基づいて優先順位を確立する手段
を含む。
本発明の更なる特徴によれば、処理すべき1組のタスクを含むコンポーネントは、制御に適した再設定可能なコンポーネントであって、実行すべきタスクに適用されるチャートのN+1個の状態を表すN+1個のセルを含み、各セルは実行すべきタスクと、チャートの異なる状態を繋ぐ再設定可能な相互接続ネットワークとを含む。
本発明の更なる特徴によれば、タスクを選択するブロックは、処理すべきタスクレベルにある1つ又は複数のタスクの処理を拒否することによりシステムの縮退運用を可能にする手段を含み、これにより、利用可能な最大エネルギー又は電力、タスクレベルに課された時間の制約、演算、保存又は通信リソースの利用可能性の制約、外部媒体との電磁的な互換性の制約、或いは上記状態の全部又は一部等の環境状態が遵守される。
本発明によるタスク処理のスケジューリング方法によって、独立するタスクのスケジューリングの性能を有意に増大させることが可能となる。本発明の方法を利用する装置は、複数のエンティティから構成される。実行されるタスクは、既知の実行時間及び特性量を有する、ノンプリエンプティブ(つまり割り込みされない)で非展開性の(つまり、実行に有用なリソースの数が前もって判明している)タスクである。
本発明によるスケジューリング方法は、演算リソースの割当て及び解放をダイナミックに扱い、必要に応じてリソースの自己適応を可能にする。この方法は、優先度の制約を考慮に入れながら、実行前にリソースを設定することを可能にし、任意の数の同種又は異種のリソースから構成されるシステムに適用できる。異種のリソースとは、異なる性質(メモリ、マイクロプロセッサ、再設定可能なブロック、IP(知的所有権)、インターフェース、バス等)のリソースを意味する。
全図面において、同じ記号は同じコンポーネントを指す。
図1は、実行すべきタスクの例示的なアプリケーションチャートである。ノードはタスクを表し、ノードを繋ぐ矢印は、タスクが実行されるべき順番又は優先順位を表している。
本方法を実行する前に、以下の情報が既知である。
− タスクが実行されるべき優先順位(以下参照)、
− タスクを処理するために利用可能な演算リソースの総数、
− 各タスクの処理に必要な時間
タスクはレベルごとに実行される。優先度の制約は、タスクのレベルの定義、並びに同じレベル内でのタスク実行のアプリケーションを条件付けるものである。
− タスクT0は、タスクT1、T2及びT3の前に実行しなければならない。
− タスクT1は、タスクT4、T5及びT6の前に実行しなければならない。
− タスクT2は、タスクT5及びT6の前に実行しなければならない。
− タスクT3は、タスクT7及びT8の前に実行しなければならない。
− タスクT4、T5及びT6はそれぞれ、タスクT9の前に実行しなければならない。
− タスクT7及びT8はそれぞれ、タスクT10の前に実行しなければならない。
− タスクT9及びT10は、タスクT11の前に実行しなければならない。
一般的には、いずれのアプリケーションチャートについても、ランクGのタスクのレベルには、ランクG−1という1つ前のタスクレベルにあるタスクの実行の終了に直接的に依存して実行が開始される全てのタスクが含まれる。
− タスクT0を含むレベルN0、
− タスクT1、T2、T3を含むレベルN1、
− タスクT4、T5、T6、T7、T8を含むレベルN2、
− タスクT9及びT10を含むレベルN3、及び
− タスクT11を含むレベルN4。
後述では、説明を簡単にするために、1つ又は複数のいわゆる「子タスク」に対して1つのタスクを「親タスク」と呼ぶことがあり、それは、子タスクの実行開始が親タスクの実行完了に直接的に依存する場合である。よって、非限定的な例として、タスクT1は、3つの子タスクT4、T5、T6の親タスクであり、タスクT2も、2つの子タスクT5及びT6の親タスクである。
本方法の第1のステップは、タスクの優先順位に従って処理すべきタスクのレベルを選択することからなる(ステップ1)。タスクレベルを選択したら、そのタスクレベルのタスクをソートしてタスクを処理するための優先順位を確立する(ステップ2)。
本発明の別の実施形態も可能である。よって、タスクの処理時間によるソーティングを、リソースの数によるソーティングに先行させてもよい。その場合、最も長い時間で処理されるタスクの処理が優先され、時間が同じ場合は最も多いリソースを使用するタスクの処理が優先される。
タスクを処理するための時間以外に、タスクの特性量は、タスクの実行に必要なリソースを設定する時間、タスクの実行時間、タスクに関する実行時間の制約に応じてタスクの実行に残された時間、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを処理、設定又は実行する時間、タスクの設定又はタスクの実行の最終期限、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを設定又は実行するための一番早い開始時期又は一番遅い開始時期、1つ又は複数のタスクに対する周期性に基づく時間、或いは上記の特性量の全部又は一部に基づく時間とすることができる。
タスクの特性量は、アプリケーションチャートにおけるタスクの位置に関連する1つの情報でもよい。このアプリケーションチャートにおけるタスクの位置に関連する1つの情報は、アプリケーションチャートの処理時間に課された時間的制約の終了までにタスクを実行するために残された時間、アプリケーションチャートの終了前に未処理で残っているタスクの最大数、タスクの優先度の順番において上位に位置するタスクの最大数、タスクの優先度の順番において上位に位置するタスクの実行時間の合計、或いは上記の量の全部又は一部の関数でよい。
本発明の範囲内では、タスクを処理するためのリソースの総数が制限されている。非限定的な例では、タスクTi(i=0、1、2、…、11)の実行に必要なリソースの数Riは、以下の表の通りである。
図3に、タスクを処理するためのリソースの数が制限されていない場合の、例示的なタスクのスケジューリングを示す。従って、図3の実施例によるタスクのスケジューリングは、本発明の範囲に含まれない。この実施例は、設定ステップとタスクを実行するステップとの間に存在する理想的な構造を単に教示的に説明するものである。
「configT0」時間が終了したら、タスクの第2のレベルN1を形成するタスクT1、T2、T3の優先度の制約が検証される。リソースの数は無限であるので、タスクT1、T2及びT3の実行に必要なリソースは、必要な数のリソースを用いて、「configT1」、「configT2」、「configT3」の各時間で同時に設定される。「execT0」時間が終了すると直ぐに、設定操作によってリソースが支配されていないタスクの実行が開始される。この場合、選択された実施例によれば、「execT1」及び「execT3」時間は同時に開始され、「execT2」時間は「configT2」時間が終了した時にのみ開始される。
この方法は、このようにレベルごとに続けられ、前のレベルの全てのタスクが設定されたら直ぐに新しいタスクレベルの処理が開始される。
任意のレベルのタスクは、前のレベルの全てのタスクが設定されると直ぐに開始される。従って、レベルN1のタスクの設定は、タスクT0の設定が完了した時、つまりタスクT0の実行が開始された時に開始される。タスクT0が単一のリソース上で実行されており、利用可能なリソースの総数が4に等しいので、利用可能なリソースは3に等しい。よって、3つという利用可能なリソースの制限内で最多(3つ)のリソースを使用するタスクはタスクT3であるので、開始されるのはタスクT3の設定である。次いで、タスクT3の設定後にタスクT3が実行され、タスクT0の実行が完了した時、利用可能となるリソースがタスクT2の設定に使用され、その後タスクT2が実行される。タスクT2が実行されている間は、3個のリソースしか利用できない。よって、4個のリソースを必要とするタスクT1の設定は実施できない。タスクT2の実行が完了すると直ぐ、タスクT1の設定を開始することができる。タスクT1の設定の終了時には、レベルN1の全てのタスクが設定されており、タスクT4、T5、T6、T7及びT8で構成されたレベルN2が形成される。
この方法は、このようにしてレベルごとに続けられ、処理すべき新しいタスクレベルが、前のレベルの全てのタスクが設定されると直ぐに開始される。
この装置は、実行すべきタスクの組を含む制御に適した再設定可能なコンポーネントCR、所与の瞬間に同じレベルの全てのタスクを選択することができるレベル選択ブロックBS、各タスクの実行に必要なリソースの数を表す情報を含む第1のメモリブロックBM1及び第1の比較手段、各タスクの特性量を表す情報(好適にはタスク処理時間)を含む第2のメモリブロックBM2及び第2の比較手段、タスクが処理されるべき優先順位をダイナミックに示す優先度テーブルTP、各タスクに関連するリソースを設定するのに必要な設定データを含む設定ブロックBC、タスクを設定する機能を有するタスク割り当てブロックBA、優先度テーブルTPにおいて優先度を有するタスクの位置を示す優先度評価ブロックBp、リソースハンドリングブロックBG、並びにタスク実行ブロックBEを含む。
概して、親タスクは、実行トークンを受信すると直ぐに、設定トークンを子タスクに送る。この構成は、いずれの親タスクにも依存せず、したがって設定が始まると直ぐに子タスクに設定トークンを送ることができるアプリケーションチャートのソースタスクには無関係である。アプリケーションチャートの実行が開始されるとき、ソースタスク(選択された実施例ではタスクT0)は設定トークン及び実行トークンを含む。
− 各タスクの実行に必要なリソースの数を表すデータRi(i=0、1、2、…、N)が、メモリブロックBM1にN+1個のデータラインとして構成され、
− メモリブロックBM2に含まれるタスクの処理時間を表すデータDi(i=0、1、2、…、N)が、N+1個のデータラインとして構成され、
− 優先度テーブルTPが、シフトレジスタのN+1個のラインから構成され、ランクi(i=0、1、2、…、N)のラインのシフトレジスタが、タスクTiの優先度ランクを表す1組のバイナリデータを含み、
− リソースRiの設定に必要な設定データCFGi(i=0、1、2、…、N)が、N+1個のデータラインとして構成される。
初期状態において、タスクの処理を開始する前には、優先度テーブルの全てのラインのシフトレジスタが同じ状態にある。よって、例えば、同じラインの、一番端をのぞく全てのレジスタのバイナリ値が「0」であり、例えば右端(図面を参照)に位置するシフトレジスタのバイナリ値が「1」(高論理レベル)である。
タスクT0に関連するリソースの設定が完了すると、割り当てブロックBAは、リソース設定終了信号Sfを優先度評価ブロックBPへと送る。次いでブロックBPは、タスクT0に対応するメモリライン上の右端の高論理レベルのシフティングを制御する信号Spを、優先度テーブルTPに送る。
次に、初期化段階が始まる。初期化段階は、優先度テーブルTPを初期化することからなる。初期化の始めにおいて、右端のシフトレジスタのメモリセルは高論理レベルにある。但し、選択ブロックBSによって検証されたタスクに対応するメモリセルは除く。ここで、実行すべきタスクのレベルは、タスクT1、T2、T3からなる。選択ブロックBSによって生成された信号Scpiにより、比較すべきタスクに関してメモリブロックBM1に通知を行うことができる。次に、タスクT1、T2、T3の各処理時間を表すデータD1、D2、D3を、BM2ブロックに組み込まれた第2の比較手段MC2によって互いに比較する。これにより、優先度テーブルTPのシフトレジスタに含まれる高論理レベルは、それらに対応するタスクの時間の方が長いので、更に左にシフトする。シフトは、Ski信号によって実行される。
よって、Svi信号によって選択され、左端の高論理レベルを含むシフトレジスタに対応するランクiのラインは優先ラインであり、このラインに対応する設定検証信号S(CFGi)が、設定ブロックBCに送達される。優先ラインの検出は、優先度評価ブロックBPによって、優先度信号Spの作用下で実施される。これにより、信号S(CFGi)によって検証された設定ブロックBCのラインのコンテンツが、信号Scrによってタスク割り当てブロックBAに送られる。信号SdciもCRコンポーネントに送られ、これにより設定トークンの伝搬が可能となる。しかしながら、設定トークンは、セルが実行トークンを有する場合にのみ伝搬される。タスクT1が、リソースの最大数又は最長の実行時間を有するタスクである場合(図1のアプリケーションチャートの場合、タスクT1がリソースの最大数を利用する)、設定CFG1は、タスク割り当てブロックBAに送られる。BAブロックは、ブロックBCによって送達された信号Scrを介して設定CFG1を受信すると、タスクT1を利用可能なリソースに割り当てる。タスクの設定が完了すると、タスク設定終了信号Sfが、割り当てブロックBAによって優先度評価ブロックBPへ送達される。信号Sfは、以前に選択された優先ラインのコンテンツの右端のシフティングを、優先度テーブルTPにおいて信号SPを介して制御する。更に、リソース上における設定されたタスクの位置は、信号S3を介して実行ブロックBEに提供される。利用可能なリソースの数のアップデートを要求する信号Smは、割り当てブロックBAによって送達され、リソースハンドリングブロックBGへと送信される。
初期化の際にタスクレベルが実行すべき第1のタスクは、設定トークン及び実行トークンを含む。よって、その実行は、設定が完了すると直ぐに開始される。制御に適した再設定可能なコンポーネントCRにおける対応するセルは、タスク実行ブロックBEに信号celiを送ることによってその実行を開始する。次に、演算リソース上で前もって設定された実行すべきタスクの位置を認識しているタスク実行ブロックBEが、タスクを実行する。タスクの実行の終了時には、信号beiが、制御に適した再設定可能なコンポーネントCRにおける対応するセルへ送られる。この信号は、優先度の制約に従って、実行トークンを子セルの全てへ伝搬する作用を有している。ここに説明する実施例では、タスクT0に対応するセルが、そのトークンをタスクT1、T2、T3に関連するセルへ伝搬する。実行トークンを受信すると、セルT1、T2、T3は、その設定トークンを、子セルT4、T5、T6、T7、T8へ伝搬することができ、設定が完了すると直ぐにタスクの実行が開始される。次いでタスクT4、T5、T6、T7、T8が設定を要求し、実行される。
上述の本発明の好適な実施形態によれば、タスクは、制御に適した再設定可能なコンポーネントに含まれ、優先順位を確立する手段は、バイナリデータを含む1組のシフトレジスタを含む。本発明の別の実施形態によれば、コンポーネントは、制御に適したコンポーネントではなく、処理すべきタスクを含む単純なコンポーネントである。また、優先順位を確立する手段は、いかなるシフトレジスタも含まず、比較の結果に基づいてそのコンテンツを増加させることができる加算器を含み、この場合、加算器による増分は、シフトレジスタのシフトと等価である。
スケジューリング装置7に加え、コンポーネント8は、マイクロプロセッサ9、CDMA(符号分割多重アクセス方式)用演算ブロック10、IP(知的財産)と呼ばれる専用且つ独占ブロック11、再設定可能な演算ブロック12、再設定可能な独占演算ブロック13、及びMPEG(エムペグ)用演算ブロック14を含む。
図6Cは、本発明によるスケジューリング装置を組み込んだSoC技術を備えたコンポーネントの第3の実施例を示す。本発明の装置によって扱われる1組のエンティティは、ここでは、コンポーネント17の外側にあり、適切なインターフェース16を介して本発明の装置によって制御される。
[BLAZ86]: J. Blazewicz、M. Drabowski、及びWeglarzによる「Scheduling Multiprocessor Tasks to Minimize Schedule Length」(IEEE 機械翻訳、35(5):389-393、1989年5月)
[JANS99]: K. Jansen及びL. Porkolabによる「Improved Approximation Schemes for Scheduling Unrelated Parallel Machines」(In Annual ACM Symposium on Theory of Computing (STOC)、1999年5月)
[BAER73]: J.L. Baerによる「A Survey of Some Theoretical Aspects of Multiprocessing」(ACM Computing Surveys、5(1):31-80、1973年3月)
[BAKE81]: B.S. Baker、D.J. Brown、及びH.P. Katseffによる「A 5/4 Algorithm for Two-Dimensional Packing」(Journal of Algorithms、2(4):348-368、1981年6月)
[TOPC02]: H. Topcuoglu、S. Hariri、及びM-Y. Wuによる「Performance and Low-Complexity Task Scheduling for Heterogeneous Computing」(IEEE Transactions on Parallel and Distributed Systems、13(3):26O-274、2002年3月)
[BELK90]: K. Belkhale及び. Banerjeeによる「Approximate Scheduling A1gorithms for the Partitionable Independent Task Scheduling Problem」(In the 1990 International Conference of Parallel Processing (ICPP)、1990年8月)
[LI00]: K. Li及びY. Panによる「Probabilistic Analysis of Scheduling Precedence Constrained Parallel Tasks on Multicomputers with Contiguous Processor Allocation」(IEEE Transactions on Computer、49(10):1021-1030、2000年10月)
[IBAR88]: T. Ibaraki及びN. Katohによる「Resource Allocation Problems: Algorithmic Approaches」(The MIT Press, Cambridge, USA、1988年)
[PETE81]: James L. Petersonによる「Petri net theory and the modelling of systems」(Practice Hall, ISBN: 0136619835)
Claims (23)
- タスク処理のためのスケジューリング方法であって、タスクを優先順位に従って実行し、タスクの処理が、タスクの実行に必要なリソースを設定するステップと、これにより設定されたリソース上で当タスクを実行するステップとを含み、
− 優先順位に従って、処理すべき個別のタスクの少なくとも1つのレベルを選択すること(1)、
− 処理すべきタスクレベルにあるタスクを、各タスクの処理に必要なリソースの数と、タスクの特性量とに基づいてソートすることによりタスクの処理における優先順位を規定するステップ(2)、
− タスクレベルにあるタスクを処理するために利用可能なリソースの数を評価すること(3)、
− 優先順位に従って、タスクレベルにあるタスクを利用可能なリソースへ割り当てること(4)
を含むことを特徴とする方法。 - ソートティングステップ(2)が、タスクの実行に必要なリソースの数によってソーティングを行って処理に必要なリソースの数が大きい順にタスクを処理するための第1のソーティングと、タスクの特性量によりソーティングを行って特性量が小さい順又は大きい順にタスクを処理するための第2のソーティングとを含むことを特徴とする、請求項1に記載のタスク処理のためのスケジューリング方法。
- 第1のソーティングが第2のソーティングに先行し、第2のソーティングは、複数のタスクの処理に必要なリソースの数が前記複数のタスクについて同じになったら直ぐに適用されることを特徴とする、請求項2に記載のタスク処理のためのスケジューリング方法。
- 第2のソーティングが第1のソーティングに先行し、第1のソーティングは、複数のタスクに対するタスクの特性量が前記複数のタスクについて等しくなったら直ぐに適用されることを特徴とする、請求項2に記載のタスク処理のためのスケジューリング方法。
- タスクの特性量が、タスクの処理時間、タスクの実行に必要なリソースの設定時間、タスクの実行時間、タスクに関連する実行時間の制約に応じてタスクの実行に残された時間、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを処理、設定又は実行する時間、タスクの設定又はタスクの実行の最終期限、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを設定又は実行するための一番早い開始時期又は一番遅い開始時期、1つ又は複数のタスクに対する周期性に基づく時間、或いは、上記に列挙した特性量の全部又は一部に基づく時間であることを特徴とする、請求項1ないし4のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- タスクの特性量が、タスクの実行に有用な通過帯域幅、タスクによって処理されるデータの到着速度、タスクによって処理されるデータのソーティング又は通信に有用なリソースの数、他のタスクとの通信又はタスク間で共有されるリソースとの通信のためのコスト、タスクの処理によって生じる電力消費量、タスクの実行に関する操作の複雑性を判定する1つの情報、タスクの実行に関するアルゴリズムの規則性を判定する1つの情報、タスク実行の並列性を判定する1つの情報、タスクの独立した優先度であって、マルチユーザ間で使用される場合に1人のユーザによって与えられる優先度を判定する1つの情報、或いは、上記に列挙した特性量の全部又は一部の関数であることを特徴とする、請求項1ないし4のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- タスクの特性量が、アプリケーションチャートにおけるタスクの位置に関する1つの情報であることを特徴とする、請求項1ないし4のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- アプリケーションチャートにおけるタスクの位置に関する1つの情報が、アプリケーションチャートの処理時間に課された時間的制約の終了前にタスクを実行するために残された時間、アプリケーションチャートの終了前に未処理で残っているタスクの最大数、タスクの優先度の順番において上位に位置するタスクの最大数、タスクの優先度の順番において上位に位置するタスクの実行時間の合計、或いは、上記に列挙した量の全部又は一部の関数であることを特徴とする、請求項7に記載のタスク処理のためのスケジューリング方法。
- 独立のタスクのレベルが、このタスクレベルにあるタスクの優先度の制約を検証することによって規定されることを特徴とする、請求項1ないし8のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- 優先順位に基づく利用可能なリソースの割り当てが、タスクレベルの全てのタスクが処理されるまでダイナミックに繰り返されることを特徴とする、請求項1ないし9のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- ランクGのタスクレベルの処理が、ランクGのタスクレベルに先行するランクG−1のタスクレベルにある全てのタスクの設定が完了すると直ぐに開始されることを特徴とする、請求項1ないし10のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- 処理すべきタスクレベルの1つ又は複数のタスクの処理を拒否することにより縮退運用を可能にするステップを含むことを特徴とする、請求項1ないし11のいずれか1項に記載のタスク処理のためのスケジューリング方法。
- タスクを処理する方法であって、タスクを優先順位に従って実行し、タスクの処理が、タスクの実行に必要なリソースを設定するステップと、これにより設定されたリソース上でタスクを実行するステップとを含み、請求項1ないし12のいずれか1項に記載の方法によるタスク処理のスケジューリングを含むことと、リソースの設定及びタスクの実行が、それぞれ設定トークン及び実行トークンによって作動されることとを特徴とする方法。
- タスクを処理するためのスケジューリング装置であって、優先順位に従ってタスクを実行し、タスクの処理が、タスクの実行に必要なリソースを設定するステップと、これにより設定されたリソース上でタスクを実行するステップとを含み、
− 処理すべき1組のタスクを含むコンポーネント(CR)、
− 優先順位に従って、コンポーネント(CR)に含まれるタスクの組から、処理される独立のタスクの少なくとも1つのレベルを選択する選択ブロック(BS)、
− 優先順位に従って選択されたタスクレベルのタスクをソートすることにより、各タスクを処理するために必要なリソースの数と、タスクの特性量とに基づいてタスクを処理する手段(BM1、BM2、TP)、及び
− 優先順位に基づいて、タスクの処理に利用可能なリソースを割り当てる手段(BG)
を含むことを特徴とする装置。 - 選択されたタスクレベルのタスクをソートする手段(BM1、BM2、TP)が、
− 各タスクの処理に必要なリソースの数を表す情報(R0、R1、…、RN)を含む第1のメモリブロック(BM1)、
− タスクの特性量を表す複数の情報(D0、D1、…、DN)を含む第2のメモリブロック(BM2)、
− このタスクレベルのタスクの特性量を表す複数の情報を互いに比較する第1の比較手段(MC1)、
− 利用可能なリソースの数をこのタスクレベルのタスクの処理に必要なリソースの数と比較する第2の比較手段(MC2)、及び
− 第1及び第2の比較手段によって送達された比較結果に基づいて優先順位を確立する手段(TP)
を含むことを特徴とする、請求項14に記載のタスクを処理するためのスケジューリング装置。 - 比較結果に基づいて優先順位を確立する手段(TP)が、バイナリデータを含む1組のシフトレジスタを含むことを特徴とする、請求項15に記載の装置。
- タスクの特性量が、タスクの処理時間、タスクの実行に必要なリソースの設定時間、タスクの実行時間、タスクに関連する実行時間の制約に応じてタスクの実行に残された時間、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを処理、設定又は実行する時間、タスクの設定又はタスクの実行の最終期限、タスクの優先度の順番において上位に位置する1つ又は複数のタスクを設定又は実行するための一番早い開始時期又は一番遅い開始時期、1つ又は複数のタスクに対する周期性に基づく時間、或いは、上記に列挙した特性量の全部又は一部に基づく時間であることを特徴とする、請求項14ないし16のいずれか1項に記載の装置。
- タスクの特性量が、タスクの実行に有用な通過帯域幅、タスクによって処理されるデータの到着速度、タスクによって処理されるデータのソーティング又は通信に有用なリソースの数、他のタスクとの通信又はタスク間で共有されるリソースとの通信のためのコスト、タスクの処理によって生じる電力消費量、タスクの実行に関する操作の複雑性を判定する1つの情報、タスクの実行に関するアルゴリズムの規則性を判定する1つの情報、タスク実行の並列性を判定する1つの情報、タスクの独立の優先度であって、マルチユーザ間で使用される場合に1人のユーザから与えられる優先度を判定する1つの情報、或いは、上記に列挙した特性量の全部又は一部の関数であることを特徴とする、請求項14ないし16のいずれか1項に記載の装置。
- タスクの特性量が、アプリケーションチャートにおけるタスクの位置に関連する1つの情報であることを特徴とする、請求項14ないし16のいずれか1項に記載の装置。
- アプリケーションチャートにおけるタスクの位置に関連する1つの情報が、アプリケーションチャートの処理時間に課された時間的制約の終了前にタスクを実行するために残された時間、アプリケーションチャートの終了前に未処理で残っているタスクの最大数、タスクの優先度の順番において上位に位置するタスクの最大数、タスクの優先度の順番において上位に位置するタスクの実行時間の合計、或いは、上記に列挙した量の全部又は一部の関数であることを特徴とする、請求項19に記載の装置。
- 処理すべきタスクの組を含むコンポーネント(CR)が、制御に適した再設定可能なコンポーネントであって、実行すべきタスクに適用されるチャートのN+1個の状態を表すN+1個のセル(Ci)を含み、各セルが、実行すべきタスクと、チャートの異なる状態を繋ぐ再設定可能な相互接続ネットワークとを含むことを特徴とする、請求項14ないし20のいずれか1項に記載のスケジューリング装置。
- タスクを処理する装置であって、請求項21に記載のタスクを処理するためのスケジューリング装置を含み、設定トークン及び実行トークンが相互接続ネットワーク内を移動することにより、それぞれタスクの設定及びタスクの実行が作動されることを特徴とする装置。
- 選択ブロック(BS)が、実行すべきタスクレベルの1つ又は複数のタスクの処理を拒否することにより縮退運用を可能にする手段を含む、請求項14ないし22のいずれか1項に記載の装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0451743A FR2873830B1 (fr) | 2004-07-30 | 2004-07-30 | Procede d'ordonnancement de traitement de taches et dispositif pour mettre en oeuvre le procede |
PCT/FR2005/050626 WO2006021713A1 (fr) | 2004-07-30 | 2005-07-28 | Procede d'ordonnancement de traitement de tâches et dispositif pour mettre en œuvre le procede |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012096850A Division JP2012181852A (ja) | 2004-07-30 | 2012-04-20 | タスク処理のスケジューリング方法及びこの方法を適用するための装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008508584A true JP2008508584A (ja) | 2008-03-21 |
Family
ID=34951328
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007523134A Pending JP2008508584A (ja) | 2004-07-30 | 2005-07-28 | タスク処理のスケジューリング方法及びこの方法を適用するための装置 |
JP2012096850A Pending JP2012181852A (ja) | 2004-07-30 | 2012-04-20 | タスク処理のスケジューリング方法及びこの方法を適用するための装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012096850A Pending JP2012181852A (ja) | 2004-07-30 | 2012-04-20 | タスク処理のスケジューリング方法及びこの方法を適用するための装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8522243B2 (ja) |
EP (1) | EP1805611B1 (ja) |
JP (2) | JP2008508584A (ja) |
CN (1) | CN1993677B (ja) |
FR (1) | FR2873830B1 (ja) |
WO (1) | WO2006021713A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120127694A (ko) * | 2011-05-13 | 2012-11-23 | 삼성전자주식회사 | 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치 |
KR20150030563A (ko) * | 2013-09-12 | 2015-03-20 | 한국전자통신연구원 | 태스크 우선순위 조정 장치 및 방법 |
JP2016541053A (ja) * | 2013-11-11 | 2016-12-28 | 深▲セン▼市中▲興▼微▲電▼子技▲術▼有限公司 | マルチパスサーチを実現するタスク処理方法及び装置 |
KR101770191B1 (ko) * | 2013-01-30 | 2017-08-23 | 한국전자통신연구원 | 자원 할당 방법 및 그 장치 |
KR101924466B1 (ko) * | 2017-08-17 | 2018-12-04 | 고려대학교 산학협력단 | 하둡 기반 시스템을 위한 캐시 인지 작업 스케줄링 장치 및 방법 |
WO2022103181A1 (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자 주식회사 | 소프트웨어 패키지에 gpu를 할당하는 방법 및 장치 |
US12028878B2 (en) | 2020-11-12 | 2024-07-02 | Samsung Electronics Co., Ltd. | Method and apparatus for allocating GPU to software package |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4168281B2 (ja) * | 2004-09-16 | 2008-10-22 | 日本電気株式会社 | 並列処理システム、インタコネクションネットワーク、ノード及びネットワーク制御プログラム |
JP2007237913A (ja) * | 2006-03-08 | 2007-09-20 | Toyota Infotechnology Center Co Ltd | 車載装置制御システムおよび車両 |
US20070282476A1 (en) * | 2006-06-06 | 2007-12-06 | Siemens Corporate Research, Inc | Dynamic Workflow Scheduling |
JP2008225809A (ja) * | 2007-03-13 | 2008-09-25 | Secom Co Ltd | 日程作成装置 |
US20090138311A1 (en) * | 2007-11-28 | 2009-05-28 | Michael Anthony Iacovone | System and method for computer aided work order scheduling |
KR100948597B1 (ko) * | 2007-12-17 | 2010-03-24 | 한국전자통신연구원 | 다중 복호기 시스템에서의 리소스 공유 스케줄 제어 장치및 그 장치에서의 리소스 공유 스케줄 제어 방법 |
US8112758B2 (en) * | 2008-01-08 | 2012-02-07 | International Business Machines Corporation | Methods and apparatus for resource allocation in partial fault tolerant applications |
WO2009157136A1 (ja) * | 2008-06-24 | 2009-12-30 | パナソニック株式会社 | アクセス制御装置、アクセス制御プログラム、及びアクセス制御方法 |
US8819688B2 (en) * | 2008-08-28 | 2014-08-26 | Nec Europe Ltd. | Method and system for scheduling periodic processes |
US9015723B2 (en) * | 2009-09-23 | 2015-04-21 | International Business Machines Corporation | Resource optimization for real-time task assignment in multi-process environments |
CN101710292B (zh) * | 2009-12-21 | 2013-03-27 | 中国人民解放军信息工程大学 | 一种可重构任务处理系统、调度器及任务调度方法 |
JP5099188B2 (ja) * | 2010-08-18 | 2012-12-12 | コニカミノルタビジネステクノロジーズ株式会社 | 処理順決定装置、処理順決定方法および処理順決定プログラム |
US8549527B2 (en) * | 2010-08-25 | 2013-10-01 | International Business Machines Corporation | Work plan prioritization for application development and maintenance using pooled resources in a factory |
KR101710910B1 (ko) * | 2010-09-27 | 2017-03-13 | 삼성전자 주식회사 | 프로세싱 유닛의 동적 자원 할당을 위한 방법 및 장치 |
US20130247051A1 (en) * | 2010-12-07 | 2013-09-19 | Fan Sun | Implementation of a process based on a user-defined sub-task sequence |
US8918791B1 (en) | 2011-03-10 | 2014-12-23 | Applied Micro Circuits Corporation | Method and system for queuing a request by a processor to access a shared resource and granting access in accordance with an embedded lock ID |
GB2493194A (en) * | 2011-07-28 | 2013-01-30 | St Microelectronics Res & Dev | Alerting transaction initiators in an electronic circuit in the event of a power failure or circuit error |
US20130061233A1 (en) * | 2011-09-02 | 2013-03-07 | Exludus Inc. | Efficient method for the scheduling of work loads in a multi-core computing environment |
US8904451B2 (en) * | 2012-04-13 | 2014-12-02 | Theplatform, Llc | Systems for prioritizing video processing events based on availability of media file and agent to process the event type |
CN104035747B (zh) * | 2013-03-07 | 2017-12-19 | 伊姆西公司 | 用于并行计算的方法和装置 |
US9256460B2 (en) | 2013-03-15 | 2016-02-09 | International Business Machines Corporation | Selective checkpointing of links in a data flow based on a set of predefined criteria |
US9401835B2 (en) | 2013-03-15 | 2016-07-26 | International Business Machines Corporation | Data integration on retargetable engines in a networked environment |
US9323619B2 (en) | 2013-03-15 | 2016-04-26 | International Business Machines Corporation | Deploying parallel data integration applications to distributed computing environments |
JP5962560B2 (ja) * | 2013-03-22 | 2016-08-03 | トヨタ自動車株式会社 | 経路探索装置、移動体、経路探索方法及びプログラム |
FR3004274A1 (fr) * | 2013-04-09 | 2014-10-10 | Krono Safe | Procede d'execution de taches dans un systeme temps-reel critique |
US9282051B2 (en) * | 2013-06-26 | 2016-03-08 | Netronome Systems, Inc. | Credit-based resource allocator circuit |
CN103309750B (zh) * | 2013-07-10 | 2016-09-14 | 国睿集团有限公司 | 面向硬实时服务的主机资源可满足性检测方法 |
US9477511B2 (en) | 2013-08-14 | 2016-10-25 | International Business Machines Corporation | Task-based modeling for parallel data integration |
CN104750690B (zh) * | 2013-12-25 | 2018-03-23 | 中国移动通信集团公司 | 一种查询处理方法、装置及系统 |
CN104520815B (zh) * | 2014-03-17 | 2019-03-01 | 华为技术有限公司 | 一种任务调度的方法及装置 |
US9740472B1 (en) * | 2014-05-15 | 2017-08-22 | Nutanix, Inc. | Mechanism for performing rolling upgrades in a networked virtualization environment |
US9733958B2 (en) * | 2014-05-15 | 2017-08-15 | Nutanix, Inc. | Mechanism for performing rolling updates with data unavailability check in a networked virtualization environment for storage management |
JP6214469B2 (ja) * | 2014-05-26 | 2017-10-18 | 日立オートモティブシステムズ株式会社 | 車両制御装置 |
US9495656B2 (en) * | 2014-10-13 | 2016-11-15 | Sap Se | Material handling method |
CN106325981A (zh) * | 2015-06-19 | 2017-01-11 | 阿里巴巴集团控股有限公司 | 一种任务调度方法及装置 |
JP6700552B2 (ja) * | 2016-02-12 | 2020-05-27 | 富士通株式会社 | 処理制御プログラム、処理制御装置及び処理制御方法 |
CN105975334A (zh) * | 2016-04-25 | 2016-09-28 | 深圳市永兴元科技有限公司 | 任务分布式调度方法及系统 |
FR3054902B1 (fr) * | 2016-08-04 | 2019-06-21 | Thales | Procede et dispositif de distribution de partitions sur un processeur multi-coeurs |
WO2018050242A1 (en) * | 2016-09-16 | 2018-03-22 | Huawei Technologies Co., Ltd. | Efficient scheduler for short periodic tasks |
CN108052384B (zh) * | 2017-12-27 | 2022-01-18 | 联想(北京)有限公司 | 一种任务处理方法、服务平台及电子设备 |
CN108647082A (zh) * | 2018-04-13 | 2018-10-12 | 中国民航信息网络股份有限公司 | 基于令牌机制的任务处理方法、装置、设备及介质 |
JP7016583B2 (ja) * | 2018-04-19 | 2022-02-07 | 東芝情報システム株式会社 | ソフトウェアのテスト方法、システムおよびプログラム |
CN109901929B (zh) * | 2019-03-04 | 2023-04-18 | 云南大学 | 服务器等级约束下的云计算任务份额公平分配方法 |
CN110347512B (zh) * | 2019-07-12 | 2023-05-12 | 北京天云融创软件技术有限公司 | 一种多组件异构资源需求的资源调度方法 |
CN111597037B (zh) * | 2020-04-15 | 2023-06-16 | 中电金信软件有限公司 | 作业分配方法、装置、电子设备及可读存储介质 |
CN111832894B (zh) * | 2020-06-08 | 2024-06-18 | 上海汽车集团股份有限公司 | 车辆调度方式生成方法、装置及计算机存储介质 |
KR20220064665A (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자주식회사 | 인공지능 모델을 분산 처리하는 전자 장치 및 그 동작 방법 |
WO2023088950A1 (en) * | 2021-11-18 | 2023-05-25 | F. Hoffmann-La Roche Ag | Method for optimizing handlers operation in a laboratory system or device |
CN113886053B (zh) * | 2021-12-01 | 2022-03-04 | 华控清交信息科技(北京)有限公司 | 一种任务调度方法、装置和用于任务调度的装置 |
US20230205602A1 (en) * | 2021-12-28 | 2023-06-29 | Advanced Micro Devices, Inc. | Priority inversion mitigation |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63184841A (ja) * | 1986-10-29 | 1988-07-30 | ユナイテッド テクノロジーズ コーポレーション | 相互に関連したタスクの実行を制御する方法 |
JPH0380337A (ja) * | 1989-04-28 | 1991-04-05 | Hitachi Ltd | 並列化装置 |
JPH03116334A (ja) * | 1989-09-29 | 1991-05-17 | Nec Corp | タスクディスパッチ方式 |
JPH07141305A (ja) * | 1993-11-16 | 1995-06-02 | Hitachi Ltd | 並列計算機の実行制御方法 |
JPH0869384A (ja) * | 1994-08-11 | 1996-03-12 | Cegelec | 連続タスクをスケジューリングする方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5506987A (en) * | 1991-02-01 | 1996-04-09 | Digital Equipment Corporation | Affinity scheduling of processes on symmetric multiprocessing systems |
JPH0675786A (ja) * | 1992-08-26 | 1994-03-18 | Hitachi Ltd | タスクスケジュリング方法 |
US6571215B1 (en) * | 1997-01-21 | 2003-05-27 | Microsoft Corporation | System and method for generating a schedule based on resource assignments |
US6240502B1 (en) * | 1997-06-25 | 2001-05-29 | Sun Microsystems, Inc. | Apparatus for dynamically reconfiguring a processor |
AU7129800A (en) * | 1999-09-09 | 2001-04-10 | Accenture Llp | Resource-based task scheduling system and method |
FI20012044A (fi) * | 2001-10-22 | 2003-04-23 | Portalify Oy | Menetelmä ja tietoliikenneverkko palvelujen tarjoamiseksi ja laskuttamiseksi |
US7203943B2 (en) * | 2001-10-31 | 2007-04-10 | Avaya Technology Corp. | Dynamic allocation of processing tasks using variable performance hardware platforms |
US8108656B2 (en) * | 2002-08-29 | 2012-01-31 | Qst Holdings, Llc | Task definition for specifying resource requirements |
US7430557B1 (en) * | 2003-03-19 | 2008-09-30 | Unisys Corporation | System and method for improving database reorganization time |
ATE550715T1 (de) * | 2003-08-08 | 2012-04-15 | Sap Ag | Verfahren zur zuteilung von objekten an recheneinheiten |
-
2004
- 2004-07-30 FR FR0451743A patent/FR2873830B1/fr not_active Expired - Fee Related
-
2005
- 2005-07-28 US US11/658,935 patent/US8522243B2/en not_active Expired - Fee Related
- 2005-07-28 EP EP05794997.6A patent/EP1805611B1/fr not_active Not-in-force
- 2005-07-28 WO PCT/FR2005/050626 patent/WO2006021713A1/fr active Application Filing
- 2005-07-28 CN CN2005800259180A patent/CN1993677B/zh not_active Expired - Fee Related
- 2005-07-28 JP JP2007523134A patent/JP2008508584A/ja active Pending
-
2012
- 2012-04-20 JP JP2012096850A patent/JP2012181852A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63184841A (ja) * | 1986-10-29 | 1988-07-30 | ユナイテッド テクノロジーズ コーポレーション | 相互に関連したタスクの実行を制御する方法 |
JPH0380337A (ja) * | 1989-04-28 | 1991-04-05 | Hitachi Ltd | 並列化装置 |
JPH03116334A (ja) * | 1989-09-29 | 1991-05-17 | Nec Corp | タスクディスパッチ方式 |
JPH07141305A (ja) * | 1993-11-16 | 1995-06-02 | Hitachi Ltd | 並列計算機の実行制御方法 |
JPH0869384A (ja) * | 1994-08-11 | 1996-03-12 | Cegelec | 連続タスクをスケジューリングする方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120127694A (ko) * | 2011-05-13 | 2012-11-23 | 삼성전자주식회사 | 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치 |
KR101897598B1 (ko) | 2011-05-13 | 2018-09-13 | 삼성전자 주식회사 | 디지털 디바이스의 어플리케이션 처리 속도 향상 방법 및 장치 |
KR101770191B1 (ko) * | 2013-01-30 | 2017-08-23 | 한국전자통신연구원 | 자원 할당 방법 및 그 장치 |
KR20150030563A (ko) * | 2013-09-12 | 2015-03-20 | 한국전자통신연구원 | 태스크 우선순위 조정 장치 및 방법 |
KR101709314B1 (ko) | 2013-09-12 | 2017-02-23 | 한국전자통신연구원 | 태스크 우선순위 조정 장치 및 방법 |
JP2016541053A (ja) * | 2013-11-11 | 2016-12-28 | 深▲セン▼市中▲興▼微▲電▼子技▲術▼有限公司 | マルチパスサーチを実現するタスク処理方法及び装置 |
KR101924466B1 (ko) * | 2017-08-17 | 2018-12-04 | 고려대학교 산학협력단 | 하둡 기반 시스템을 위한 캐시 인지 작업 스케줄링 장치 및 방법 |
WO2022103181A1 (ko) * | 2020-11-12 | 2022-05-19 | 삼성전자 주식회사 | 소프트웨어 패키지에 gpu를 할당하는 방법 및 장치 |
US12028878B2 (en) | 2020-11-12 | 2024-07-02 | Samsung Electronics Co., Ltd. | Method and apparatus for allocating GPU to software package |
Also Published As
Publication number | Publication date |
---|---|
WO2006021713A1 (fr) | 2006-03-02 |
FR2873830A1 (fr) | 2006-02-03 |
CN1993677B (zh) | 2010-08-11 |
US8522243B2 (en) | 2013-08-27 |
CN1993677A (zh) | 2007-07-04 |
US20080263555A1 (en) | 2008-10-23 |
EP1805611B1 (fr) | 2017-11-29 |
EP1805611A1 (fr) | 2007-07-11 |
FR2873830B1 (fr) | 2008-02-22 |
JP2012181852A (ja) | 2012-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008508584A (ja) | タスク処理のスケジューリング方法及びこの方法を適用するための装置 | |
Le et al. | Allox: compute allocation in hybrid clusters | |
Moreira et al. | Scheduling multiple independent hard-real-time jobs on a heterogeneous multiprocessor | |
Woodside et al. | Fast allocation of processes in distributed and parallel systems | |
Chen et al. | Joint scheduling of processing and shuffle phases in mapreduce systems | |
Tariq et al. | Energy-efficient static task scheduling on VFI-based NoC-HMPSoCs for intelligent edge devices in cyber-physical systems | |
KR101814221B1 (ko) | 스트림 기반 계산을 구현하기 위한 범용 다중 코어 시스템을 위한 방법 및 장치 | |
Koole et al. | Resource allocation in grid computing | |
Beaumont et al. | A realistic model and an efficient heuristic for scheduling with heterogeneous processors | |
JP2004171234A (ja) | マルチプロセッサシステムにおけるタスク割り付け方法、タスク割り付けプログラム及びマルチプロセッサシステム | |
Bozdag et al. | Compaction of schedules and a two-stage approach for duplication-based DAG scheduling | |
Ali et al. | A cost and energy efficient task scheduling technique to offload microservices based applications in mobile cloud computing | |
Choudhury et al. | Online scheduling of dynamic task graphs with communication and contention for multiprocessors | |
Wang et al. | Component allocation with multiple resource constraints for large embedded real-time software design | |
Kermia et al. | A rapid heuristic for scheduling non-preemptive dependent periodic tasks onto multiprocessor | |
Singer | Parallel resolution of the satisfiability problem: A survey | |
Chakrabarti et al. | Resource scheduling for parallel database and scientific applications | |
Kang et al. | Scheduling multiple divisible loads in a multi-cloud system | |
Lin et al. | Joint deadline-constrained and influence-aware design for allocating MapReduce jobs in cloud computing systems | |
CN109614214B (zh) | 面向分布式ima架构基于milp的分区映射调度方法 | |
Kumar et al. | Global analysis of resource arbitration for MPSoC | |
Kohútka et al. | A novel on-chip task scheduler for mixed-criticality real-time systems | |
Bleuse | Apprehending heterogeneity at (very) large scale | |
Berenbrink et al. | Randomized and adversarial load balancing | |
Khan et al. | CAD tool for hardware software co-synthesis of heterogeneous multiple processor embedded architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080702 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110401 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111220 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120420 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20120426 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20120706 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130121 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130124 |