JP2007519103A - マルチプロセッサシステムにおけるリソース管理 - Google Patents
マルチプロセッサシステムにおけるリソース管理 Download PDFInfo
- Publication number
- JP2007519103A JP2007519103A JP2006548499A JP2006548499A JP2007519103A JP 2007519103 A JP2007519103 A JP 2007519103A JP 2006548499 A JP2006548499 A JP 2006548499A JP 2006548499 A JP2006548499 A JP 2006548499A JP 2007519103 A JP2007519103 A JP 2007519103A
- Authority
- JP
- Japan
- Prior art keywords
- task
- tasks
- memory
- processors
- data
- 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
- 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
-
- 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
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/485—Resource 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
メインメモリ要求に基づきタスクプリエンプションポイントを選択するため、マルチプロセッサデータ処理システムのスケジューラにより利用される方法及び装置が提供される。タスクのプロセッサへの割当に応じて3つの好適な実施例がある。(1)固定的割当:すべてのタスクがあるプロセッサに割り当てられる。すなわち、各タスクは、与えられたプロセッサ上で排他的に実行される。本実施例は、プロセッサが専用的なものであるとき、すなわち、各プロセッサが他のすべてのプロセッサと実質的に異なっている場合に好適である。(2)可変的割当:すべてのタスクが、すべてのプロセッサ上で実行されるかもしれない。実行時、スケジューラは、何れのプロセッサがどのタスクを実行するか決定する。タスクは、1つのプロセッサ上で実行中にプリエンプトされてもよく、その後、他のプロセッサ上で続けられる。本実施例は、すべてのプロセッサが同じものであるとき好適である。(3)混合的割当:すべてのタスクは、プロセッサの一部に割り当てられる。これは、プロセッサ群がプロセッサが同一であるサブセットに分割可能であるときに自然なアプローチである。
Description
本発明は、限定されるものではないが特に、マルチプロセッサリアルタイムシステムのリソース管理に適したリソース管理方法及び装置に関する。
システム・オン・シリコン(SoS)又はシステム・オン・チップ(SoC)について、必要とされるシリコン量の観点から、他の処理コアを追加することはもはや問題ではないため、メモリは支配的な制限要因となりつつある。この結果、SoS又はSoCは複数のプロセッサコアを含むかもしれない。
メモリの管理は、マルチプロセッサシステムのリソース管理の重要な側面である。特にリアルタイムシステムにおいて、プリエンプションポイント(preemption point)の使用をメインメモリの管理に一般化することを含むシングルプロセッサシステムのためのメモリ使用を最適化するための各種方法が開発されてきた。これらのアプローチでは、実行中の任意の時点においてタスクをプリエンプトするのではなく、当該タスクは、好ましくは、それらのメモリ使用に基づき専用のプリエンプションポイントにおいてのみプリエンプトされる。
典型的な従来技術によるアプローチでは、タスクのサスペンションはタスクプリエンプション又はタスクのプリエンプションと呼ばれ、「タスク」という用語は、メモリ、CPU、I/O装置などのシステムリソースのためそのままで競合し得る実行ユニットを表すのに利用される。説明のため、タスクとは、各々が1以上のサブジョブを有する連続的に実行される一連のジョブであると仮定される。例えば、タスクは「映像ストリームの多重化」を有し、入力ストリームのリードイン(reading−in)、当該ストリームの処理及び対応するデータの出力に関するものとすることができる。これらのステップは、各入力データストリームに関して実行され、この結果、単一のストリームに関する読み込み、処理及び出力が各々3つのサブジョブを有する1つのジョブを実行することに対応するように、各入力データストリームに関して上記ステップが実行される。従って、リードイン及び処理対象となるデータパケットが複数存在するときには、当該ジョブは、対応する回数だけ実行される。サブジョブは、ジョブの機能コンポーネントに関するものとみなすこができ、マルチプロセッサシステムでは、各ストリームは異なるプロセッサ又はプロセッサ群の一部に割り当てられる。
データ処理システムにおいて複数のタスクをスケジューリングする既知の方法は、タスクの各サブジョブが、サスペンションデータ(suspension data)と呼ばれ、それのメモリ使用に基づきサブジョブのサスペンションのため、処理中のプリエンプションポイントと対応する状態を特定するサスペンション基準群を有することを要求する[4][5]。従って、データ処理システムにより使用されるメモリ量は、これらのプリエンプションポイントを介し、ジョブの実行において上記プリエンプションポイントにおいて要求されるメモリ量を示す上記サスペンションデータにより間接的に制御される。
従って、これらのプリエンプションポイントは、メモリの不足によるデータ処理システムのクラッシュを回避するのに利用可能である。リアルタイムタスクは複数のサブジョブを有するものとして特徴付けされるとき、それのプリエンプションポイントは、好ましくは、当該タスクのサブジョブ境界と一致する。
タスクの各サブジョブに係るサスペンションデータに従うタスクのメモリ使用を示すデータは、例えば、タスク処理においてプリエンプションポイントに到達したこと、すなわち、サブジョブ境界に到達したことを示すデスケジューリング(descheduling)イベントをリクエストするコードラインを介しタスクに埋め込むことができる。すなわち、タスクのサブジョブのスタートポイント群は、当該タスクのプリエンプションポイント群を構成する。タスクτiの第jプリエンプションポイントPi,jは、プリエンプションポイント自体に関する情報と、第jプリエンプションポイントと次のプリエンプションポイント、すなわち、第(j+1)プリエンプションポイントとの間の後続するプリエンプト不可なサブジョブインターバルIi,jに関する情報とにより特徴付けされる。
実行時、タスクは、それがサブジョブをスタートし、サブジョブ間のスイッチを行い、サブジョブを完了させるときなど、プリエンプションポイントに到達したときを制御するオペレーティングシステムに通知し、オペレーティングシステムは、タスクの実行がいつ、どこでプリエンプトされるか決定する。理想的には、タスクの実行中にプリエンプションポイント又は他の何れかのポイントにおいてプリエンプションが実行されるかもしれない。しかしながら、そのようなプリエンプションの選択のフレキシビリティは、プリエンプションがコンシスタンシを維持するようプリエンプションポイントに限定されるように、コンシスタンシを犠牲にして得られる。
システムのコンシスタンシを脅かさないメインメモリ要求に基づく従来技術によるプリエンプションポイントアプローチは、すべてのタスクのプリエンプションをそれらのプリエンプションポイントとマッチする同期プリミティブに、サブジョブ境界内に両者が存在するようにリソースの排他的使用を制御するため必然的に制限する。従来技術において知られているように、コンポーネント(例えば、1以上のタスクを有することが可能なソフトウェアコンポーネントなど)は、当該コンポーネントが規定するプロパティ、ファンクション又はメソッド及びイベントを有するプログラマブルインタフェースを有することができる。説明のため、タスクは、図1に示されるように、タスクMPi,J101bにより要求される最小でもメインメモリデータを含むインタフェース100に伴うものであると仮定される。
説明のため、タスクは、周期的でリアルタイムなものであると仮定され、ピリオドTとフェージングF(0≦F<T)により特徴付けされ、そのことは、タスクが各々時点F+nT(n=0,...,N)においてリリースされるサブジョブシーケンスを有することを意味する。単なる一例として、図2に示されるように、セットトップボックス200は、(1)ユーザインタフェース205上でのメニューの表示、(2)コンテンツプロバイダからのテキスト情報の抽出、及び(3)映像信号の処理の3つのタスクを実行すると仮定され、これら2つのタスクのそれぞれは、複数のサブジョブを有すると仮定される。説明の簡単化のため、これらのサブジョブはシーケンシャルに実行されると仮定される。
上記サブジョブの少なくとも一部は、プリエンプト可能であり、プリエンプト可能な上記サブジョブ間の境界は、プリエンプションポイントを提供し、テーブル1に要約される。
より詳細には、サスペンションデータ101は、
1.タスクτi(Pi,j)のプリエンプションポイントj(101a)と、
2.当該タスクのプリエンプションポイントjにおけるタスクτiMPi,jの最大メモリ要求(ただし、1≦j≦m(i))(101b)と、
3.タスクτiのサブジョブに対応する連続するプリエンプションポイントjと(j+1)との間のインターバルIi,j(ただし、1≦j≦m(i))(101c)と、
4.当該タスクのインターバルjにおけるタスクτiMIi,jの最大(すなわち、ワーストケース)メモリ要求(ただし、1≦j≦m(i))(101d)と、
を示すデータを有する。
1.タスクτi(Pi,j)のプリエンプションポイントj(101a)と、
2.当該タスクのプリエンプションポイントjにおけるタスクτiMPi,jの最大メモリ要求(ただし、1≦j≦m(i))(101b)と、
3.タスクτiのサブジョブに対応する連続するプリエンプションポイントjと(j+1)との間のインターバルIi,j(ただし、1≦j≦m(i))(101c)と、
4.当該タスクのインターバルjにおけるタスクτiMIi,jの最大(すなわち、ワーストケース)メモリ要求(ただし、1≦j≦m(i))(101d)と、
を示すデータを有する。
テーブル2は、本例のサスペンションデータ101を示す(本例では、第1タスクτ1に対応するサスペンションデータ101がテーブル2の第1行のデータを有し、第2タスクτ2に対応するサスペンションデータ101がテーブル2の第2行を有するなどとなるように、各タスクは自らのインタフェースを有する)。
ここで図4Aを参照するに、プロセッサ401は、3つすべてのタスクが同時に実行され、すなわち、同時に効果的に実行されることを意味する、ある種のタイムスライシング又はプライオリティベースプリエンプションに従ってタスクをスケジューリングすることが期待されるかもしれない。従って、各タスクは同時にそれの最もメモリを消費するサブジョブを実行させるようスケジューリングさせることが可能である。これら3つのタスクのワーストケースのメモリ要求MPは、
ここで図5を参照するに、各タスクはスケジューリングアルゴリズムによりスケジューリングされ、生成された後、各タスクτiについてデータ構造が維持され、リソースの排他的使用のためのプリミティブの当該マッチングしたペアがサブジョブ境界に広がらないことを仮定する。さらに、スケジューラ501は、何れの時点においても、現在実行中のタスクがシステムにおいて実行準備が完了したすべてのタスクのうち最も高いプライオリティを有するものであるということを実質的に保証する従来のプライオリティベースのプリエンプティブスケジューリングアルゴリズムを利用する。当該技術において知られているように、スケジューリング動作は、実行中又は実行準備が完了したタスクのためのプリエンプションを選択的にイネーブル及び非イネーブルとすることによって変更可能である。
タスクマネージャ503は、新たに受け付けたタスクに対応するサスペンションデータ101を受け取り、プリエンプションが必要か評価し、必要な場合には、当該新たに受け付けた情報をスケジューラ501にわたし、プリエンプションを要求する。タスクの詳細はテーブル2に規定されるようなものであり、タスクτ1(そしてτ1のみ)が現在処理中であり、スケジューラはメモリベース制約が存在しないモードにより初期的に動作していると仮定する。
ここで、タスクτ2は、タスクマネージャ503により受け取られ、タスクマネージャ503は、それのインタフェースInt2100からサスペンションデータ101を読み出し、スケジューラ501がメモリベースプリエンプションに従って動作しているか特定すると仮定する。本例では、スケジューラ501は当該動作を行っていないため、タスクマネージャ503は、スケジューラ501がメモリベースプリエンプションに変更する必要があるか評価する。従って、これは、タスクマネージャ503がサスペンションデータストア505から現在実行中のすべてのタスク(本例では、タスクτ1)に対応するワーストケースサスペンションデータを抽出し、式1を評価し、評価されたワーストケースメモリ要求と利用可能なメモリリソースとを比較することに関する。テーブル2により導入された例により続けると、τ1及びτ2について式1は、
これは、利用可能なメモリより小さく、そのため、スケジューラ501の動作モードをメモリベースプリエンプションに変更する必要はない(すなわち、メモリ使用に基づきスケジューラを制限する必要はない)。従って、スケジューラ501がタスクτ1とタスクτ2との間を、例えば、両方のタスクが同時に効果的にメモリに存在することを意味するタスクτ2の実行時間制限を満たすようスイッチする場合、プロセッサは、利用可能なものより多くのメモリにはアクセスしない。
次に、タスクτ1とτ2が完了する前に、他のタスクτ3が受け付けられる。タスクマネージャ503は、タスクτ3に係るインタフェースInt3からサスペンションデータ101を読み出し、スケジューラ501がメモリベースプリエンプションに変更しなければならないか評価する。スケジューラ501がタスクτ1及びτ2をマルチタスク処理していると仮定すると、3つすべてのタスクのワーストケースメモリ要求は、
これは利用可能なメモリを超過し、このため、タスクマネージャ503は、サスペンションデータストア505から3つすべてのタスクに対してメモリ使用データMPi,j101bとMIi,j101dをリクエスト及び抽出し、この抽出されたメモリ使用データに基づき、3つすべてのタスクを実行するのに十分なメモリリソースが存在するか評価する。これは、以下の式を評価することを通じて確認することができる。
従って、タスクマネージャ503は、タスクにそれらの指定されたプリエンプションポイントMPi,jにおいてスケジューラ501にデスケジュール命令を送信するよう命令することによって、「メモリベースプリエンプションモード」を呼び出す。このモードでは、スケジューラ501は、任意の時点において、ある時点の高々1つのタスクがそれのプリエンプションポイントの1つ以外のポイントにあることが可能であるという制約により、各タスクが1つのプリエンプションポイントから次のポイントに非プリエンプティブに実行されることを可能にする。新たに到着したタスクがプリエンプションポイントにおいてスタートすると仮定すると、スケジューラ501は、当該状態が現在実行されているタスクについて維持されることを保証し、これにより、1つを除いてすべてのタスクがプリエンプションポイントにあるよう制限される。
従って、1つの既知のメモリベースプリエンプションモードでは、スケジューラ501は、各タスクをそれらのメモリプリエンプションポイントにおいてのみプリエンプトすることが可能とされる(すなわち、それらのメモリベースプリエンプションポイントにおけるタスクからのデスケジュールリクエストに応答して)。
タスクの1つが終了すると、終了するタスクは、それが終了するところであることをタスクマネージャ503に通知し、タスクマネージャ503に式1を評価させ、ワーストケースメモリ使用(当該タスクの削除を考慮して)がスケジューラ501に利用可能なものより小さい場合、タスクマネージャ503はメモリベースプリエンプションをキャンセルすることが可能であり、それは、システムが外部イベントにより迅速に反応することを可能にするという効果を有する(プロセッサは、サブジョブの期間においてもはや「ブロック」されないためである)。一般に、タスクの終了は、典型的には、ユーザによるチャネルのスイッチ又は適用される符号化のデータストリームの変更などのそれの環境により引き起こされ(他のタイプの復号化を要する)、このことは、タスクマネージャ503及び/又はスケジューラ501が、タスクの終了を認識し、おそらくタスクに終了する指示さえすべきである。
呼び出されると、メモリベースプリエンプション制約は必須であるということに留意すべきである。
これらのタスクは、ソフトウェアタスクとして説明されたが、タスクはまたハードウェアにより実現することも可能である。典型的には、ハードウェア装置(ハードウェアタスクとして動作する)がソフトウェアタスクにより制御され、ソフトウェアタスクは、ハードウェア装置により必要とされる(ワーストケース)メモリを配分し、その後にハードウェアタスクが実行されるよう指示する。ハードウェアタスクが完了すると、それはソフトウェアタスクに通知し、その後、メモリをデアロケート(de−allocate)する。従って、制御するソフトウェアタスクを有することによって、ハードウェアタスクは単に上述のように処理することが可能である。
このアプローチは、シングルプロセッサシステムに適用され、マルチプロセッサシステムについては最適化されておらず、このため、マルチプロセッサ最適化が必要とされる。
本発明は、マルチプロセッサシステムについて、シングルプロセッサアプローチを上述のメモリベースリソース管理に最適化する。n個のタスクτiの集合Γ(1≦i≦n)と、p個のプロセッサπkの集合P(1≦k≦p)を検討し(ただし、nは典型的にはpよりはるかに大きい)、非制限モードについてFPPS(Fixed−Priority Preemptive Scheduling)スキームと、メモリベースプリエンプションモードについてFPDP(Fixed−Priority scheduling with Deferred Preemption)スキームとを仮定する。
タスクのプロセッサへの割当てに応じて、3つの好適な実施例が存在する。
1.固定的割当:すべてのタスクτiがあるプロセッサπkに割当て、すなわち、タスクτiがプロセッサπk上で排他的に実行される。本実施例は、プロセッサが専用であるとき、すなわち、各プロセッサが他のすべてのプロセッサと本質的に異なっている場合、好ましい。
2.可変的割当:すべてのタスクτiが、すべてのプロセッサπk上で実行されてもよい。実行時、スケジューラは、何れのプロセッサがどのタスクを実行するか決定する。タスクは1つのプロセッサ上での実行中にプリエンプトされ、その後、他のプロセッサ上で続けられる。本実施例は、すべてのプロセッサが同一であるとき好ましい。
3.混合的割当:すべてのタスクτiがプロセッサの一部に割り当てられる。これは、当該プロセッサ群が同一なプロセッサのサブセットに分割可能であるとき自然なアプローチである。
1.固定的割当:すべてのタスクτiがあるプロセッサπkに割当て、すなわち、タスクτiがプロセッサπk上で排他的に実行される。本実施例は、プロセッサが専用であるとき、すなわち、各プロセッサが他のすべてのプロセッサと本質的に異なっている場合、好ましい。
2.可変的割当:すべてのタスクτiが、すべてのプロセッサπk上で実行されてもよい。実行時、スケジューラは、何れのプロセッサがどのタスクを実行するか決定する。タスクは1つのプロセッサ上での実行中にプリエンプトされ、その後、他のプロセッサ上で続けられる。本実施例は、すべてのプロセッサが同一であるとき好ましい。
3.混合的割当:すべてのタスクτiがプロセッサの一部に割り当てられる。これは、当該プロセッサ群が同一なプロセッサのサブセットに分割可能であるとき自然なアプローチである。
本発明の上記及び他の特徴及び効果が、添付された図面に示されるような以下の好適な実施例の詳細な説明から明らかである、当該図面において、各図を通じて参照記号は同一の部分を参照している。
以下の説明は限定のためのではなく、例示のために与えられるものであるということは、当業者により理解されるべきである。当業者は、本発明の趣旨及び添付した請求項の範囲内に属する変形が多数存在することを理解している。既知の機能及び処理の不要な詳細は、本発明を不明りょうにしないように本説明から省略されるかもしれない。
デジタルテレビセット、デジタル改良されたアナログテレビセット、セットトップボックスなどのHVE(High Volume Electronic)家電システムは、コスト効率とロウバスト性を維持しながら、リアルタイムサービスを提供しなければならない。家電機器は、その性質により、大きくリソース制約的なものである。この結果、利用可能なリソースは、ロウバスト性などのHVE家電システムの代表的な品質を維持し、厳密なタイミング要求を満たしながら、大変効率的に利用される必要がある。ロウバスト性に関して、誰もテレビセットなどが「システムをリブートしてください」というメッセージにより落ちることを予想しない。
HVE家電システムにおけるメディア処理の重要な部分は、複数の同時データストリームを処理し、特にマルチタスク処理環境においてメインメモリなどのシステムリソースを大変効率的に管理しなければならないオンボードソフトウェアにより実現される。リアルタイムリソース管理を要するHVE家電システムの一例として、セットトップボックスを検討する。従来、図2に示されるように、セットトップボックス200は、コンテンツプロバイダ203(サーバ又はケーブル)とユーザインタフェース205からテレビ201の入力を受信する。ユーザインタフェース205は、携帯型の赤外線リモート送信機など、ユーザにより制御されるリモート装置202から信号を受信するリモートコントロールインタフェースを有する。セットトップボックス200は、アンテナとケーブルテレビアウトレットの少なくとも1つから少なくとも1つのデータストリームを受信し、当該データストリームの処理と当該データストリーム201のテレビ201への転送の少なくとも1つを実行する。ユーザは、テレビ201上に表示される少なくとも1つのデータストリームを視聴し、ユーザインタフェース205を介し、表示中のものに基づき選択する。セットトップボックス200は、ユーザ選択入力を処理し、この入力に基づき、コンテンツプロバイダ203にユーザ入力と共に、セットトップ200とその機能を特定する他の情報を送信するようにしてもよい。
図4Bは、タスクをプロセッサ460.1〜460.3に割当て、セットトップボックス200の全体処理を制御する制御割当ロジックモジュールにより管理される複数のプロセッサ460.1〜460.3を含む典型的なセットトップボックス200の一例となるシステム450の簡単化されたブロック図を示す。制御割当ロジックモジュール451は、ネットワーク407とストレージ406から入力データを受信するデータ受信機452と、メモリ使用を評価する評価装置453と、タスクをプロセッサに割り当てる割当装置454と、その実行を開始及び終了するタスクを選択する選択装置455と、実行のためタスクをスケジューリングし、実行中のタスクをデスケジューリングするスケジューラ501とを有する。制御割当ロジックモジュール451は、テレビチューナー403、メモリ405、長期記憶装置406、通信インタフェース407及びリモートインタフェース409に接続される。テレビチューナー403は、送信ライン411を介しテレビ信号を受信し、これらの信号は、アンテナ(図示せず)とケーブルテレビアウトレット(図示せず)の少なくとも1つからのものであってもよい。制御割当ロジックモジュール451は、ライン413を介しテレビ201にデータ、音声及び映像出力を提供するユーザインタフェース205を管理する。リモートインタフェース409は、無線接続415を介しリモートコントロールから信号を受信する。通信インタフェース407は、データパス417を介しウェブサーバなどの少なくとも1つのリモート処理システムとセットトップボックス200との間のインタフェースをとる。通信インタフェース417は、電話モデム、ISDN(Integrate Service Digital Network)アダプタ、xDSL(Digital Subscriber Line)、ケーブルテレビモデム及び他の任意の適切なデータ通信装置の少なくとも1つである。図4Bの一例となるシステム450は、単なる説明のためのものである。本説明はあるセットトップボックス200を説明するのに通常用いられる用語を参照しているが、本説明及びコンセプトは、図4Bに示されるものと類似しないアーキテクチャを有するシステムを含む他のコントロールプロセッサに等しく適用される。
好適な実施例では、制御割当ロジックモジュール451は、好適な実施例では、セットトップボックス200の制御に関する複数のリアルタイムタスクをメモリ405を共有する複数のマルチプロセッサ460.1〜460.3に割り当てるよう構成される。これらのリアルタイムタスクは、チャンネル変更、ユーザインタフェース205に表示されるメニューオプションの選択、入力データストリームの復号化、長期記憶装置406を用いた入力データストリームの記録及び再生などを含む。セットトップボックスの動作は、セットトップボックス100の特徴、ライン411を介した入力映像信号、ユーザインタフェース205を介したユーザ入力及び他の任意の補助入力に基づき、リアルタイムコントロールタスクにより決定される。
好適な実施例では、マルチプロセッサはメモリ405を共有する。これらマルチプロセッサ460.1〜460.3はそれぞれ、CPU、コプロセッサ又は他の処理装置であってもよい。好適な実施例では、同一のタスクは、2つの(又はそれ以上の)プロセッサにより同時に実行されることはない。好適な実施例では、制御割当ロジックモジュールは、プロセッサ460.1〜460.3の全体のための単一のタスクマネージャを有する。これは、単なる説明のための集中化アプローチである。本発明は、集中化アプローチに制限されず、分散化アプローチが当業者により容易に想到されるかもしれない。
すべてのタスクτがあるプロセッサπに割り当てられるときは常に、タスク集合Γが、p個の互いに素な集合Γ1〜Γpに分割される(ただし、部分集合Γkはプロセッサπkに割り当てられる)。プロセッサπkにより実行されるようなFPPSにおいてタスクの部分集合Γkにより要求されるメモリの最大量が、式1の変形である式1s’により与えられる。式1s’の項nkは、プロセッサπkに割り当てられるタスクの個数(すなわち、部分集合Γkの濃度)を示し、変数iは、Γkのタスク上の範囲内である仮定する。
あるいは、すべてのタスクは、すべてのプロセッサ460.1〜460.3上で実行されてもよく、タスクのスケジューリングは制御割当ロジックモジュール451により実行される。非制限モードの最大メモリ要求MPは同じままであり、すなわち、式1sを用いて決定することができる。
明らかに、タスクの一部のみを制限するなど、多数の中間的な実施例が存在する。
一例として、2つのプロセッサ(すなわち、p=2)と3つのタスク(すなわち、n=3)のケースを検討する。これらのタスクは、上記テーブル1と2及びそれらに関する説明に記載されているものと同一の特徴(すなわち、メモリ要求)を有すると仮定される。非制限モードの最大メモリ要求MPは同一を維持し、すなわち、式1を用いて決定することができ、従って、利用可能なメモリMsysを超過する。式2mvarを用いて、メモリベースプリエンプションの最大メモリ要求MDは、
メモリ要求は、利用可能なメモリより小さく、このことは、タスクがそれらのプリエンプションポイントにおいてのみプリエンプトされる場合、3つすべてのタスクが同時に実行可能であるということを意味する。
プロセッサのs個のペアワイズな互いに素である部分集合P1,...,Psが存在すると仮定する。すべてのタスクがあるプロセッササブセットPlに割り当てられているとする(1≦l≦s)。従って、タスクの集合は、ペアワイズな互いに素であるタスクのサブセットΓ1,...,Γsに分割されてもよい。説明の簡単化のため、サブセットΓ1のタスクはτiにより示され(1≦i≦nl)、すなわち、タスクのサブセット毎のタスクが番号付けされる。上述された可変的割当と同様に、非制限モードのサブセットPlの最大メモリ要求Ml Pは、式1s”を用いて決定可能である。
プロセッサπkのサブセットPlにより実行される非制限モードによりタスクのサブセットΓlにより求められる最大メモリ量は、式1の変形である式1s”により与えられる。
すべてのプロセッササブセット上のすべてのタスクサブセットのすべてのタスクのスケジューリングを制限する効果は、式2mmix‘により決定することが可能であり、MDのトータルメモリ要求は各プロセッササブセットPlのメモリ要求Ml Dの和である。
本発明の好適な実施例が図示及び説明されたが、本発明の真の範囲から逸脱することなく、様々な変更及び改良が可能であり、それの要素について均等なものと置換されるかもしれないということは、当業者によって理解されるであろう。さらに、その中心的な範囲から逸脱することなく、本発明の教示をある状況に適応させるための多数の改良が可能である。従って、本発明は、本発明を実行するのに想定されるベストモードとして開示された特定の実施例に限定されるものではなく、本発明は添付した請求項の範囲内に属するすべての実施例を含むことが意図される。
Claims (26)
- 複数のプロセッサを有するデータ処理システムにおける複数のタスクをスケジューリングする方法であって、
前記複数のタスクの各タスクについて、使用されるメモリに基づき前記タスクのサスペンションを示すサスペンションデータを提供するステップと、
前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
を有し、
各プロセッサは、
(i)該プロセッサに割り当てられたタスクを処理するステップと、
(ii)前記タスクに係るサスペンションデータに一致する前記タスクにより使用されるメモリを示す入力を監視するステップと、
(iii)前記監視される入力に基づき前記タスクをサスペンドするステップと、
(iv)該プロセッサに割り当てられるタスクの異なるタスクを処理するステップと、
を実行することを特徴とする方法。 - 請求項1記載の方法であって、
タスクのプロセッサへの割当ては、
a.すべてのタスクをあるプロセッサに割り当てる固定的割当と、
b.すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、
c.すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当と、
の1つに基づくことを特徴とする方法。 - 請求項2記載の方法であって、
前記入力は、サスペンションリクエストを示すデータを有することを特徴とする方法。 - 請求項3記載の方法であって、さらに、
前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
を有し、
前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。 - 請求項4記載の方法であって、さらに、
タスクの終了を監視するステップと、
タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
を有することを特徴とする方法。 - 請求項5記載の方法であって、
残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。 - 請求項6記載の方法であって、さらに、
前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
を有し、
前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。 - 請求項7記載の方法であって、さらに、
タスクの終了を監視するステップと、
タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
を有することを特徴とする方法。 - 請求項8記載の方法であって、
残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。 - 請求項2記載の方法であって、さらに、
前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
を有し、
前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。 - 請求項10記載の方法であって、さらに、
タスクの終了を監視するステップと、
タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
を有することを特徴とする方法。 - 請求項11記載の方法であって、
残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。 - 複数のプロセッサを有するデータ処理システムにおける複数のタスクをスケジューリングする方法であって、
前記複数のタスクの各タスクについて、使用されるメモリに基づき前記タスクのサスペンションを示すサスペンションデータを提供するステップと、
すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
を有し、
各プロセッサは、
(i)該プロセッサに割り当てられたタスクを処理するステップと、
(ii)前記タスクに係るサスペンションデータに一致する前記タスクにより使用されるメモリを示す入力を監視するステップと、
(iii)前記監視される入力に基づき前記タスクをサスペンドするステップと、
(iv)該プロセッサに割り当てられるタスクの異なるタスクを処理するステップと、
を実行することを特徴とする方法。 - 複数のプロセッサを有するデータ処理システムにおいて使用されるスケジューラであって、
前記データ処理システムは、前記複数のプロセッサ上で複数のタスクを実行するよう構成され、前記タスクを実行するのに利用される指定された量のメモリにアクセスし、
前記スケジューラは、
タスクに係る最大メモリ使用を特定するデータを受け付けるよう構成されるデータ受信機と、
前記受け付けたデータに基づき、前記タスクを実行するのに十分なメモリが存在するか特定するよう構成される評価装置と、
a.すべてのタスクをあるプロセッサに割り当てる固定的割当と、b.すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、c.すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるよう構成される割当装置と、
前記タスクの実行中、前記タスクにより指定されるメモリ使用と一致するサスペンションのため少なくとも1つのタスクを選択するよう構成される選択装置と、
前記割り当てられたタスクの実行を開始し、前記選択されたタスクをサスペンドするよう構成されるスケジューラと、
を有し、
前記評価装置が前記複数のタスクを実行するのに不十分なメモリしか存在しないと特定することに応答して、前記選択装置は、サスペンションのための少なくとも1つのタスクを、それの指定されたメモリ使用と前記データ処理システムに利用可能な指定されたメモリ量に基づき選択し、
前記スケジューラは、前記タスクが前記指定されたメモリを使用することに応答して、前記少なくとも1つの選択されたタスクの実行をサスペンドすることを特徴とするスケジューラ。 - 請求項14記載のスケジューラであって、
前記評価装置は、タスクの終了を監視し、タスクの終了に応答して、残りのタスクを実行するのに十分なメモリが存在するか特定するよう構成されることを特徴とするスケジューラ。 - 請求項15記載のスケジューラであって、
前記評価装置が残りのタスクを実行するのに十分なメモリを特定することに応答して、前記選択装置は、前記選択された少なくとも1つのタスクを選択解除するよう構成されることを特徴とするスケジューラ。 - 複数のタスクを実行するよう構成される複数のプロセッサを有するデータ処理システムであって、
タスクの実行中に命令及びデータを保持するよう構成されるメモリと、
タスクに係る最大メモリ使用を特定するデータと、前記タスクのプリエンプション可能性を示すデータとを受け付けるよう構成される受付手段と、
前記受け付けたデータに基づき、前記タスクを実行するのに十分なメモリが存在するか特定するよう構成される評価手段と、
すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるよう構成される割当装置と、
前記評価手段から受け付けた入力に基づき、前記タスクの実行をスケジューリングするよう構成されるスケジューラと、
を有し、
前記複数のタスクを実行するのに十分なメモリが存在しないと特定することに応答して、前記スケジューラは、前記タスクによるメモリ使用に応じて少なくとも1つのタスクの実行をサスペンドするよう構成されることを特徴とするデータ処理システム。 - 複数のプロセッサを有するデータ処理システムにデータを送信する方法であって、
すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
前記複数のタスクの各タスクの処理において、前記データ処理システムにより使用されるデータを送信するステップと、
処理中のメモリ使用に基づき、前記複数のタスクの各タスクのサスペンションを示すサスペンションデータを送信するステップと、
を有し、
前記データ処理システムは、前記タスクに係るサスペンションデータに一致する各タスクのメモリ使用を示す入力を監視し、前記監視された入力に基づき、前記各タスクの処理をサスペンドする処理を実行するよう構成されることを特徴とする方法。 - 請求項18記載の方法であって、
前記サスペンションデータは、前記各タスクに係る最大メモリ使用を特定するデータを有することを特徴とする方法。 - 請求項18記載の方法であって、
前記サスペンションデータは、前記各タスクのメモリ使用に基づき、各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定することを特徴とする方法。 - 請求項20記載の方法であって、
前記各タスクは、複数のサブジョブを有し、
前記各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定するデータは、各サブジョブに対応する、
ことを特徴とする方法。 - 請求項20記載の方法であって、
前記サスペンションデータは、前記各タスクに係る最大メモリ使用を特定するデータを有することを特徴とする方法。 - 請求項22記載の方法であって、
前記各タスクは、複数のサブジョブを有し、
前記各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定するデータは、各サブジョブに対応する、
ことを特徴とする方法。 - 複数のプロセッサを有するデータ処理システムにおいて使用するため複数のタスクを構成する方法であって、
当該方法は、関連するメモリ使用に基づきタスクのサスペンションを示すサスペンションデータを前記タスクに関連付けするステップを有し、
前記データ処理システムは、複数のプロセッサ上で実行される複数のタスクに関して処理を実行するよう構成され、
前記処理は、
すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当て、
前記タスクに係るサスペンションデータに一致する前記タスクのメモリを示す入力を監視し、
前記監視される入力に基づき前記タスクの処理をサスペンドすることを有することを特徴とする方法。 - 請求項1記載の方法を処理システムに実行させるよう構成される命令セットを有するコンピュータプログラム。
- 請求項2記載の方法を処理システムに実行させるよう構成される命令セットを有するコンピュータプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53511304P | 2004-01-08 | 2004-01-08 | |
PCT/IB2005/050038 WO2005069155A2 (en) | 2004-01-08 | 2005-01-05 | Method and apparatus for task schedulin in a multi-processor system based on memory requirements |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007519103A true JP2007519103A (ja) | 2007-07-12 |
Family
ID=34794342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006548499A Pending JP2007519103A (ja) | 2004-01-08 | 2005-01-05 | マルチプロセッサシステムにおけるリソース管理 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20070124733A1 (ja) |
EP (1) | EP1706820A2 (ja) |
JP (1) | JP2007519103A (ja) |
KR (1) | KR20060135697A (ja) |
CN (1) | CN1910553A (ja) |
WO (1) | WO2005069155A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615165B2 (en) | 2010-10-06 | 2013-12-24 | Sony Corporation | Video-recording and replaying apparatus, I/O scheduling method, and program |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7606236B2 (en) * | 2004-05-21 | 2009-10-20 | Intel Corporation | Forwarding information base lookup method |
JP4969791B2 (ja) * | 2005-03-30 | 2012-07-04 | 株式会社日立製作所 | ディスクアレイ装置およびその制御方法 |
US8281313B1 (en) * | 2005-09-29 | 2012-10-02 | Hewlett-Packard Development Company, L.P. | Scheduling computer processing jobs that have stages and precedence constraints among the stages |
US20070156879A1 (en) * | 2006-01-03 | 2007-07-05 | Klein Steven E | Considering remote end point performance to select a remote end point to use to transmit a task |
KR100788328B1 (ko) * | 2006-09-08 | 2007-12-27 | (주)내셔널그리드 | 그리드 컴퓨팅을 이용한 미들웨어 시스템 및 그 동작 방법 |
US8411734B2 (en) * | 2007-02-06 | 2013-04-02 | Microsoft Corporation | Scalable multi-thread video decoding |
US9648325B2 (en) | 2007-06-30 | 2017-05-09 | Microsoft Technology Licensing, Llc | Video decoding implementations for a graphics processing unit |
US8086455B2 (en) * | 2008-01-09 | 2011-12-27 | Microsoft Corporation | Model development authoring, generation and execution based on data and processor dependencies |
CN101694631B (zh) * | 2009-09-30 | 2016-10-05 | 曙光信息产业(北京)有限公司 | 实时作业调度系统及方法 |
JP5336331B2 (ja) * | 2009-11-24 | 2013-11-06 | 株式会社デンソー | 車載装置 |
CN101867833A (zh) * | 2010-06-12 | 2010-10-20 | 北京东方艾迪普科技发展有限公司 | 一种视频图像格式转换方法和装置 |
EP2591416A4 (en) | 2010-07-05 | 2014-08-13 | Saab Ab | METHOD FOR CONFIGURING A DISTRIBUTED CONTROL SYSTEM FOR AEROSPACE TECHNOLOGY |
CN102467373A (zh) * | 2010-10-28 | 2012-05-23 | 微软公司 | 任务取消宽限期 |
US9706214B2 (en) | 2010-12-24 | 2017-07-11 | Microsoft Technology Licensing, Llc | Image and video decoding implementations |
KR20120077265A (ko) * | 2010-12-30 | 2012-07-10 | 주식회사 팬택 | 이동 단말기 및 이동 단말기의 제어 방법 |
US8731067B2 (en) | 2011-08-31 | 2014-05-20 | Microsoft Corporation | Memory management for video decoding |
US9819949B2 (en) | 2011-12-16 | 2017-11-14 | Microsoft Technology Licensing, Llc | Hardware-accelerated decoding of scalable video bitstreams |
US9372735B2 (en) * | 2012-01-09 | 2016-06-21 | Microsoft Technology Licensing, Llc | Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool |
US8904008B2 (en) | 2012-01-09 | 2014-12-02 | Microsoft Corporation | Assignment of resources in virtual machine pools |
CN103294554A (zh) * | 2012-03-05 | 2013-09-11 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
CN102662740B (zh) * | 2012-03-29 | 2014-12-10 | 迈普通信技术股份有限公司 | 非对称多核系统及其实现方法 |
US10255558B1 (en) * | 2012-09-27 | 2019-04-09 | EMC IP Holding Company LLC | Managing knowledge-based authentication systems |
GB2507038A (en) * | 2012-10-16 | 2014-04-23 | Ibm | Scheduling jobs weighted according to the memory usage using a knapsack problem. |
CN102929723B (zh) * | 2012-11-06 | 2015-07-08 | 无锡江南计算技术研究所 | 基于异构众核处理器的并行程序段划分方法 |
KR101694287B1 (ko) * | 2013-05-23 | 2017-01-23 | 한국전자통신연구원 | 스트림 처리 태스크 관리 장치 및 방법 |
US10058777B2 (en) | 2013-11-21 | 2018-08-28 | Tencent Technology (Shenzhen) Company Limited | Task execution method, apparatus and system |
CN104657203B (zh) * | 2013-11-21 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 任务执行方法、装置和系统 |
US9727371B2 (en) * | 2013-11-22 | 2017-08-08 | Decooda International, Inc. | Emotion processing systems and methods |
GB2521151B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
GB2521155B (en) | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configuring thread scheduling on a multi-threaded data processing apparatus |
CN106598717B (zh) * | 2016-12-07 | 2019-06-11 | 陕西尚品信息科技有限公司 | 一种基于时间片段的任务调度方法 |
CN109471705B (zh) * | 2017-09-08 | 2021-08-13 | 杭州海康威视数字技术股份有限公司 | 任务调度的方法、设备及系统、计算机设备 |
CN113821311A (zh) * | 2020-06-19 | 2021-12-21 | 华为技术有限公司 | 任务执行方法及存储设备 |
CN112685158B (zh) * | 2020-12-29 | 2023-08-04 | 杭州海康威视数字技术股份有限公司 | 一种任务调度方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5826082A (en) * | 1996-07-01 | 1998-10-20 | Sun Microsystems, Inc. | Method for reserving resources |
US20060212869A1 (en) * | 2003-04-14 | 2006-09-21 | Koninklijke Philips Electronics N.V. | Resource management method and apparatus |
-
2005
- 2005-01-05 US US10/581,641 patent/US20070124733A1/en not_active Abandoned
- 2005-01-05 CN CNA2005800020818A patent/CN1910553A/zh active Pending
- 2005-01-05 WO PCT/IB2005/050038 patent/WO2005069155A2/en not_active Application Discontinuation
- 2005-01-05 JP JP2006548499A patent/JP2007519103A/ja active Pending
- 2005-01-05 EP EP05702568A patent/EP1706820A2/en not_active Withdrawn
- 2005-01-05 KR KR1020067013774A patent/KR20060135697A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8615165B2 (en) | 2010-10-06 | 2013-12-24 | Sony Corporation | Video-recording and replaying apparatus, I/O scheduling method, and program |
Also Published As
Publication number | Publication date |
---|---|
KR20060135697A (ko) | 2006-12-29 |
US20070124733A1 (en) | 2007-05-31 |
EP1706820A2 (en) | 2006-10-04 |
WO2005069155A3 (en) | 2006-06-22 |
CN1910553A (zh) | 2007-02-07 |
WO2005069155A2 (en) | 2005-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007519103A (ja) | マルチプロセッサシステムにおけるリソース管理 | |
JP7060724B2 (ja) | タスクスケジューリング方法、リソース共有使用方法、スケジューラ、コンピュータ可読記憶媒体および装置 | |
KR100628492B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
US20060212869A1 (en) | Resource management method and apparatus | |
Rajkumar et al. | Resource kernels: A resource-centric approach to real-time and multimedia systems | |
US8683471B2 (en) | Highly distributed parallel processing on multi-core device | |
KR100649107B1 (ko) | 실시간 동작 수행방법 및 시스템 | |
US9176774B2 (en) | Workflow control of reservations and regular jobs using a flexible job scheduler | |
US7657890B2 (en) | Scheduling system and method in which threads for performing a real-time operation are assigned to a plurality of processors | |
US7418705B2 (en) | Method and system for performing real-time operation | |
US6385638B1 (en) | Processor resource distributor and method | |
US20110302587A1 (en) | Information processing device and information processing method | |
KR20050016170A (ko) | 실시간 동작 수행방법 및 시스템 | |
JP2009541848A (ja) | コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置 | |
US20070022423A1 (en) | Enhanced method for handling preemption points | |
CN113886069A (zh) | 一种资源分配方法、装置、电子设备及存储介质 | |
Zhang et al. | Scheduling best-effort and real-time pipelined applications on time-shared clusters | |
JP5299869B2 (ja) | コンピュータマイクロジョブ | |
JP2002169739A (ja) | ダウンロードシステム | |
JP2003067199A (ja) | アプリケーションプログラム | |
CN116225692A (zh) | 一种构建软件版本的资源选择方法、装置和电子设备 |