JP2007519103A - マルチプロセッサシステムにおけるリソース管理 - Google Patents

マルチプロセッサシステムにおけるリソース管理 Download PDF

Info

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
Application number
JP2006548499A
Other languages
English (en)
Inventor
ヤープ ブリル,レインデル
ヨス クレメント ローウェト,ディートウィッフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips NV
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips NV, Koninklijke Philips Electronics NV filed Critical Koninklijke Philips NV
Publication of JP2007519103A publication Critical patent/JP2007519103A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/485Resource 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)イベントをリクエストするコードラインを介しタスクに埋め込むことができる。すなわち、タスクのサブジョブのスタートポイント群は、当該タスクのプリエンプションポイント群を構成する。タスクτの第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に要約される。
Figure 2007519103
また図3を参照するに、各タスクについて、サスペンションデータ101は、プリエンプションポイントPi,j301に関する情報、例えば、当該プリエンプションポイントにおいて求められるメモリMPi,j302の最大量などと、連続するプリエンプションポイントの間のインターバルIi,j303に関する情報、例えば、イントラプリエンプションポイントインターバルにおいて求められるメモリMIi,j304のワーストケース量などを有する(iはタスクτを表し、jはプリエンプションポイントを表す)。
より詳細には、サスペンションデータ101は、
1.タスクτ(Pi,j)のプリエンプションポイントj(101a)と、
2.当該タスクのプリエンプションポイントjにおけるタスクτMPi,jの最大メモリ要求(ただし、1≦j≦m(i))(101b)と、
3.タスクτのサブジョブに対応する連続するプリエンプションポイントjと(j+1)との間のインターバルIi,j(ただし、1≦j≦m(i))(101c)と、
4.当該タスクのインターバルjにおけるタスクτMIi,jの最大(すなわち、ワーストケース)メモリ要求(ただし、1≦j≦m(i))(101d)と、
を示すデータを有する。
テーブル2は、本例のサスペンションデータ101を示す(本例では、第1タスクτに対応するサスペンションデータ101がテーブル2の第1行のデータを有し、第2タスクτに対応するサスペンションデータ101がテーブル2の第2行を有するなどとなるように、各タスクは自らのインタフェースを有する)。
Figure 2007519103
セットトップボックス200には1.5メガバイトのメモリが備えられていると仮定する。通常又は非メモリベースプリエンプション状態では、このセットトップボックス200は以下のように動作する。
ここで図4Aを参照するに、プロセッサ401は、3つすべてのタスクが同時に実行され、すなわち、同時に効果的に実行されることを意味する、ある種のタイムスライシング又はプライオリティベースプリエンプションに従ってタスクをスケジューリングすることが期待されるかもしれない。従って、各タスクは同時にそれの最もメモリを消費するサブジョブを実行させるようスケジューリングさせることが可能である。これら3つのタスクのワーストケースのメモリ要求Mは、
Figure 2007519103
により与えられる。タスクτ、τ及びτについて、Mは、τの最大メモリ要求(MI1,1である)と、タスクτの最大メモリ要求(MI2,2である)と、タスクτの最大メモリ要求(MI3,2である)とを加えたものとなる。これら最大要求は、太字によるテーブル2のエントリにより示される。
Figure 2007519103
これは、セットトップボックス200に利用可能なメモリを0.2メガバイトだけ超過し、予防的措置がなく、これらのサブジョブが同時に処理される場合、セットトップボックス200はクラッシュする。
ここで図5を参照するに、各タスクはスケジューリングアルゴリズムによりスケジューリングされ、生成された後、各タスクτについてデータ構造が維持され、リソースの排他的使用のためのプリミティブの当該マッチングしたペアがサブジョブ境界に広がらないことを仮定する。さらに、スケジューラ501は、何れの時点においても、現在実行中のタスクがシステムにおいて実行準備が完了したすべてのタスクのうち最も高いプライオリティを有するものであるということを実質的に保証する従来のプライオリティベースのプリエンプティブスケジューリングアルゴリズムを利用する。当該技術において知られているように、スケジューリング動作は、実行中又は実行準備が完了したタスクのためのプリエンプションを選択的にイネーブル及び非イネーブルとすることによって変更可能である。
タスクマネージャ503は、新たに受け付けたタスクに対応するサスペンションデータ101を受け取り、プリエンプションが必要か評価し、必要な場合には、当該新たに受け付けた情報をスケジューラ501にわたし、プリエンプションを要求する。タスクの詳細はテーブル2に規定されるようなものであり、タスクτ(そしてτのみ)が現在処理中であり、スケジューラはメモリベース制約が存在しないモードにより初期的に動作していると仮定する。
ここで、タスクτは、タスクマネージャ503により受け取られ、タスクマネージャ503は、それのインタフェースInt100からサスペンションデータ101を読み出し、スケジューラ501がメモリベースプリエンプションに従って動作しているか特定すると仮定する。本例では、スケジューラ501は当該動作を行っていないため、タスクマネージャ503は、スケジューラ501がメモリベースプリエンプションに変更する必要があるか評価する。従って、これは、タスクマネージャ503がサスペンションデータストア505から現在実行中のすべてのタスク(本例では、タスクτ)に対応するワーストケースサスペンションデータを抽出し、式1を評価し、評価されたワーストケースメモリ要求と利用可能なメモリリソースとを比較することに関する。テーブル2により導入された例により続けると、τ及びτについて式1は、
Figure 2007519103
となる。
これは、利用可能なメモリより小さく、そのため、スケジューラ501の動作モードをメモリベースプリエンプションに変更する必要はない(すなわち、メモリ使用に基づきスケジューラを制限する必要はない)。従って、スケジューラ501がタスクτとタスクτとの間を、例えば、両方のタスクが同時に効果的にメモリに存在することを意味するタスクτの実行時間制限を満たすようスイッチする場合、プロセッサは、利用可能なものより多くのメモリにはアクセスしない。
次に、タスクτとτが完了する前に、他のタスクτが受け付けられる。タスクマネージャ503は、タスクτに係るインタフェースIntからサスペンションデータ101を読み出し、スケジューラ501がメモリベースプリエンプションに変更しなければならないか評価する。スケジューラ501がタスクτ及びτをマルチタスク処理していると仮定すると、3つすべてのタスクのワーストケースメモリ要求は、
Figure 2007519103
となる。
これは利用可能なメモリを超過し、このため、タスクマネージャ503は、サスペンションデータストア505から3つすべてのタスクに対してメモリ使用データMPi,j101bとMIi,j101dをリクエスト及び抽出し、この抽出されたメモリ使用データに基づき、3つすべてのタスクを実行するのに十分なメモリリソースが存在するか評価する。これは、以下の式を評価することを通じて確認することができる。
Figure 2007519103
このメモリ要求は、利用可能なメモリより低く、タスクがそれらのメモリ使用に基づきプリエンプトされる場合、3つすべてのタスクが同時に実行可能であることを意味する。
従って、タスクマネージャ503は、タスクにそれらの指定されたプリエンプションポイントMPi,jにおいてスケジューラ501にデスケジュール命令を送信するよう命令することによって、「メモリベースプリエンプションモード」を呼び出す。このモードでは、スケジューラ501は、任意の時点において、ある時点の高々1つのタスクがそれのプリエンプションポイントの1つ以外のポイントにあることが可能であるという制約により、各タスクが1つのプリエンプションポイントから次のポイントに非プリエンプティブに実行されることを可能にする。新たに到着したタスクがプリエンプションポイントにおいてスタートすると仮定すると、スケジューラ501は、当該状態が現在実行されているタスクについて維持されることを保証し、これにより、1つを除いてすべてのタスクがプリエンプションポイントにあるよう制限される。
従って、1つの既知のメモリベースプリエンプションモードでは、スケジューラ501は、各タスクをそれらのメモリプリエンプションポイントにおいてのみプリエンプトすることが可能とされる(すなわち、それらのメモリベースプリエンプションポイントにおけるタスクからのデスケジュールリクエストに応答して)。
タスクの1つが終了すると、終了するタスクは、それが終了するところであることをタスクマネージャ503に通知し、タスクマネージャ503に式1を評価させ、ワーストケースメモリ使用(当該タスクの削除を考慮して)がスケジューラ501に利用可能なものより小さい場合、タスクマネージャ503はメモリベースプリエンプションをキャンセルすることが可能であり、それは、システムが外部イベントにより迅速に反応することを可能にするという効果を有する(プロセッサは、サブジョブの期間においてもはや「ブロック」されないためである)。一般に、タスクの終了は、典型的には、ユーザによるチャネルのスイッチ又は適用される符号化のデータストリームの変更などのそれの環境により引き起こされ(他のタイプの復号化を要する)、このことは、タスクマネージャ503及び/又はスケジューラ501が、タスクの終了を認識し、おそらくタスクに終了する指示さえすべきである。
呼び出されると、メモリベースプリエンプション制約は必須であるということに留意すべきである。
これらのタスクは、ソフトウェアタスクとして説明されたが、タスクはまたハードウェアにより実現することも可能である。典型的には、ハードウェア装置(ハードウェアタスクとして動作する)がソフトウェアタスクにより制御され、ソフトウェアタスクは、ハードウェア装置により必要とされる(ワーストケース)メモリを配分し、その後にハードウェアタスクが実行されるよう指示する。ハードウェアタスクが完了すると、それはソフトウェアタスクに通知し、その後、メモリをデアロケート(de−allocate)する。従って、制御するソフトウェアタスクを有することによって、ハードウェアタスクは単に上述のように処理することが可能である。
このアプローチは、シングルプロセッサシステムに適用され、マルチプロセッサシステムについては最適化されておらず、このため、マルチプロセッサ最適化が必要とされる。
本発明は、マルチプロセッサシステムについて、シングルプロセッサアプローチを上述のメモリベースリソース管理に最適化する。n個のタスクτの集合Γ(1≦i≦n)と、p個のプロセッサπの集合P(1≦k≦p)を検討し(ただし、nは典型的にはpよりはるかに大きい)、非制限モードについてFPPS(Fixed−Priority Preemptive Scheduling)スキームと、メモリベースプリエンプションモードについてFPDP(Fixed−Priority scheduling with Deferred Preemption)スキームとを仮定する。
タスクのプロセッサへの割当てに応じて、3つの好適な実施例が存在する。
1.固定的割当:すべてのタスクτがあるプロセッサπに割当て、すなわち、タスクτがプロセッサπ上で排他的に実行される。本実施例は、プロセッサが専用であるとき、すなわち、各プロセッサが他のすべてのプロセッサと本質的に異なっている場合、好ましい。
2.可変的割当:すべてのタスクτが、すべてのプロセッサπ上で実行されてもよい。実行時、スケジューラは、何れのプロセッサがどのタスクを実行するか決定する。タスクは1つのプロセッサ上での実行中にプリエンプトされ、その後、他のプロセッサ上で続けられる。本実施例は、すべてのプロセッサが同一であるとき好ましい。
3.混合的割当:すべてのタスクτがプロセッサの一部に割り当てられる。これは、当該プロセッサ群が同一なプロセッサのサブセットに分割可能であるとき自然なアプローチである。
本発明の上記及び他の特徴及び効果が、添付された図面に示されるような以下の好適な実施例の詳細な説明から明らかである、当該図面において、各図を通じて参照記号は同一の部分を参照している。
以下の説明は限定のためのではなく、例示のために与えられるものであるということは、当業者により理解されるべきである。当業者は、本発明の趣旨及び添付した請求項の範囲内に属する変形が多数存在することを理解している。既知の機能及び処理の不要な詳細は、本発明を不明りょうにしないように本説明から省略されるかもしれない。
デジタルテレビセット、デジタル改良されたアナログテレビセット、セットトップボックスなどの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個の互いに素な集合Γ〜Γに分割される(ただし、部分集合Γはプロセッサπに割り当てられる)。プロセッサπにより実行されるようなFPPSにおいてタスクの部分集合Γにより要求されるメモリの最大量が、式1の変形である式1s’により与えられる。式1s’の項nは、プロセッサπに割り当てられるタスクの個数(すなわち、部分集合Γの濃度)を示し、変数iは、Γのタスク上の範囲内である仮定する。
Figure 2007519103
タスクの全体集合Γのトータルのメモリ要求Mは、各タスクサブセットについて求められた結果を加えることによって決定される。式1mfixを参照されたい。
Figure 2007519103
が利用可能なメモリMsysを超過しないとき、プロセッサの何れかへのタスクのスケジューリングを制限する必要はない。MがMsysを超えるとき、1以上のタスクの1以上のプロセッサ上へのスケジューリングを制限するかもしれない。すべてのタスクの単一のプロセッサ上へのスケジューリングを制限する効果は、式2sの変形である式2s’を用いて決定することができる。
Figure 2007519103
すべてのタスクのすべてのプロセッサへのスケジューリングを制限する効果は、式2mfixにより決定することが可能であり、トータルのメモリ要求Mは、各集合Γのメモリ要求M の和である。
Figure 2007519103
明らかに、すべてのタスクをプロセッサのある部分集合に限定し、タスクの部分集合のみをプロセッサの部分集合に限定するなど、他の多数の中間的な実施例が存在する。
あるいは、すべてのタスクは、すべてのプロセッサ460.1〜460.3上で実行されてもよく、タスクのスケジューリングは制御割当ロジックモジュール451により実行される。非制限モードの最大メモリ要求Mは同じままであり、すなわち、式1sを用いて決定することができる。
Figure 2007519103
制限モードは、式2sの変形を要する(すなわち、すべてのタスクが、それらのプリエンプションポイントにおいてのみプリエンプトされる)。
Figure 2007519103
なぜならば、p個のタスクが現在p個のプロセッサ上でパラレルに実行可能であるためである。このとき、トータルのメモリ要求Mは、式2mvarにより与えられる。
Figure 2007519103
式2mvarはn≧pであることを仮定すると共に、式2mvarがn≧pについてのみ有効であることに留意されたい。n<pの特別なケースでは、当該式は、
Figure 2007519103
に簡単化することができる。
明らかに、タスクの一部のみを制限するなど、多数の中間的な実施例が存在する。
一例として、2つのプロセッサ(すなわち、p=2)と3つのタスク(すなわち、n=3)のケースを検討する。これらのタスクは、上記テーブル1と2及びそれらに関する説明に記載されているものと同一の特徴(すなわち、メモリ要求)を有すると仮定される。非制限モードの最大メモリ要求Mは同一を維持し、すなわち、式1を用いて決定することができ、従って、利用可能なメモリMsysを超過する。式2mvarを用いて、メモリベースプリエンプションの最大メモリ要求Mは、
Figure 2007519103
となる。
メモリ要求は、利用可能なメモリより小さく、このことは、タスクがそれらのプリエンプションポイントにおいてのみプリエンプトされる場合、3つすべてのタスクが同時に実行可能であるということを意味する。
プロセッサのs個のペアワイズな互いに素である部分集合P,...,Pが存在すると仮定する。すべてのタスクがあるプロセッササブセットPに割り当てられているとする(1≦l≦s)。従って、タスクの集合は、ペアワイズな互いに素であるタスクのサブセットΓ,...,Γに分割されてもよい。説明の簡単化のため、サブセットΓのタスクはτにより示され(1≦i≦n)、すなわち、タスクのサブセット毎のタスクが番号付けされる。上述された可変的割当と同様に、非制限モードのサブセットPの最大メモリ要求M は、式1s”を用いて決定可能である。
プロセッサπのサブセットPにより実行される非制限モードによりタスクのサブセットΓにより求められる最大メモリ量は、式1の変形である式1s”により与えられる。
Figure 2007519103
式1s”は式1s’と類似しているが、同一ではないことに留意されたい。lは前者の式のプロセッサのサブセットを範囲とし、kは後者の式のサブセットのプロセッサを範囲とする。s個すべてのプロセッサのサブセットのトータルのメモリ要求Mは、各サブセットの要求の和をとることによって求めることができる。
Figure 2007519103
がMsysを超過するとき、関連するプロセッササブセット上で実行されるタスクの1以上のサブセットの1以上のタスクのスケジューリングが限定される。p個のプロセッサの単一のサブセットP上でのΓのすべてのn個のタスクのスケジューリングを制限する効果は、式2mvarに類似した式2mmixを用いて決定することができる。
Figure 2007519103
式2mvarと同様に、式2mmixは、n≧pについてのみ成り立つ。
すべてのプロセッササブセット上のすべてのタスクサブセットのすべてのタスクのスケジューリングを制限する効果は、式2mmix‘により決定することが可能であり、Mのトータルメモリ要求は各プロセッササブセットPのメモリ要求M の和である。
Figure 2007519103
上述された固定的割当及び可変的割当のケースに関して、混合的割当について、すべてのタスクがそれらのプリエンプションポイントにおいてのみプリエンプトされるメモリベースプリエンプションモードと非制限モードとの間の多数の中間的な手段が存在する。
本発明の好適な実施例が図示及び説明されたが、本発明の真の範囲から逸脱することなく、様々な変更及び改良が可能であり、それの要素について均等なものと置換されるかもしれないということは、当業者によって理解されるであろう。さらに、その中心的な範囲から逸脱することなく、本発明の教示をある状況に適応させるための多数の改良が可能である。従って、本発明は、本発明を実行するのに想定されるベストモードとして開示された特定の実施例に限定されるものではなく、本発明は添付した請求項の範囲内に属するすべての実施例を含むことが意図される。
図1は、本発明の実施例によるタスクインタフェースのコンポーネントの概略図を示す。 図2は、本発明の実施例が動作するデジタルテレビシステムの一例の概略図を示す。 図3は、シングルプロセッサについて図1に示されたタスクインタフェースのコンポーネント間の関係の概略図を示す。 図4Aは、シングルプロセッサシステムの図2のセットトップボックスを構成するコンポーネントを示す。 図4Bは、マルチプロセッサシステムの図2のセットトップボックスを構成するコンポーネントを示す。 図5は、図2及び4Aに示されるセットトップボックスのプロセッサのコンポーネントを示す。

Claims (26)

  1. 複数のプロセッサを有するデータ処理システムにおける複数のタスクをスケジューリングする方法であって、
    前記複数のタスクの各タスクについて、使用されるメモリに基づき前記タスクのサスペンションを示すサスペンションデータを提供するステップと、
    前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
    を有し、
    各プロセッサは、
    (i)該プロセッサに割り当てられたタスクを処理するステップと、
    (ii)前記タスクに係るサスペンションデータに一致する前記タスクにより使用されるメモリを示す入力を監視するステップと、
    (iii)前記監視される入力に基づき前記タスクをサスペンドするステップと、
    (iv)該プロセッサに割り当てられるタスクの異なるタスクを処理するステップと、
    を実行することを特徴とする方法。
  2. 請求項1記載の方法であって、
    タスクのプロセッサへの割当ては、
    a.すべてのタスクをあるプロセッサに割り当てる固定的割当と、
    b.すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、
    c.すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当と、
    の1つに基づくことを特徴とする方法。
  3. 請求項2記載の方法であって、
    前記入力は、サスペンションリクエストを示すデータを有することを特徴とする方法。
  4. 請求項3記載の方法であって、さらに、
    前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
    前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
    前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
    を有し、
    前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。
  5. 請求項4記載の方法であって、さらに、
    タスクの終了を監視するステップと、
    タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
    を有することを特徴とする方法。
  6. 請求項5記載の方法であって、
    残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。
  7. 請求項6記載の方法であって、さらに、
    前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
    前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
    前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
    を有し、
    前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。
  8. 請求項7記載の方法であって、さらに、
    タスクの終了を監視するステップと、
    タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
    を有することを特徴とする方法。
  9. 請求項8記載の方法であって、
    残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。
  10. 請求項2記載の方法であって、さらに、
    前記複数のタスクに係る最大メモリ使用を特定する第1データを受け付けるステップと、
    前記複数のタスクを処理するのに利用可能なメモリを特定する第2データを受け付けるステップと、
    前記第1及び第2データに基づき、前記タスクを処理するのに利用可能な十分なメモリが存在するか特定するステップと、
    を有し、
    前記監視するステップと前記サスペンドするステップは、不十分なメモリを特定することに応答してのみ実行されることを特徴とする方法。
  11. 請求項10記載の方法であって、さらに、
    タスクの終了を監視するステップと、
    タスク終了に応答して、タスク終了に応答したメモリの利用性を特定する前記ステップを繰り返すステップと、
    を有することを特徴とする方法。
  12. 請求項11記載の方法であって、
    残りのタスクを実行するのに十分なメモリを特定することに応答して、前記監視するステップは、不要とみなされることを特徴とする方法。
  13. 複数のプロセッサを有するデータ処理システムにおける複数のタスクをスケジューリングする方法であって、
    前記複数のタスクの各タスクについて、使用されるメモリに基づき前記タスクのサスペンションを示すサスペンションデータを提供するステップと、
    すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
    を有し、
    各プロセッサは、
    (i)該プロセッサに割り当てられたタスクを処理するステップと、
    (ii)前記タスクに係るサスペンションデータに一致する前記タスクにより使用されるメモリを示す入力を監視するステップと、
    (iii)前記監視される入力に基づき前記タスクをサスペンドするステップと、
    (iv)該プロセッサに割り当てられるタスクの異なるタスクを処理するステップと、
    を実行することを特徴とする方法。
  14. 複数のプロセッサを有するデータ処理システムにおいて使用されるスケジューラであって、
    前記データ処理システムは、前記複数のプロセッサ上で複数のタスクを実行するよう構成され、前記タスクを実行するのに利用される指定された量のメモリにアクセスし、
    前記スケジューラは、
    タスクに係る最大メモリ使用を特定するデータを受け付けるよう構成されるデータ受信機と、
    前記受け付けたデータに基づき、前記タスクを実行するのに十分なメモリが存在するか特定するよう構成される評価装置と、
    a.すべてのタスクをあるプロセッサに割り当てる固定的割当と、b.すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、c.すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるよう構成される割当装置と、
    前記タスクの実行中、前記タスクにより指定されるメモリ使用と一致するサスペンションのため少なくとも1つのタスクを選択するよう構成される選択装置と、
    前記割り当てられたタスクの実行を開始し、前記選択されたタスクをサスペンドするよう構成されるスケジューラと、
    を有し、
    前記評価装置が前記複数のタスクを実行するのに不十分なメモリしか存在しないと特定することに応答して、前記選択装置は、サスペンションのための少なくとも1つのタスクを、それの指定されたメモリ使用と前記データ処理システムに利用可能な指定されたメモリ量に基づき選択し、
    前記スケジューラは、前記タスクが前記指定されたメモリを使用することに応答して、前記少なくとも1つの選択されたタスクの実行をサスペンドすることを特徴とするスケジューラ。
  15. 請求項14記載のスケジューラであって、
    前記評価装置は、タスクの終了を監視し、タスクの終了に応答して、残りのタスクを実行するのに十分なメモリが存在するか特定するよう構成されることを特徴とするスケジューラ。
  16. 請求項15記載のスケジューラであって、
    前記評価装置が残りのタスクを実行するのに十分なメモリを特定することに応答して、前記選択装置は、前記選択された少なくとも1つのタスクを選択解除するよう構成されることを特徴とするスケジューラ。
  17. 複数のタスクを実行するよう構成される複数のプロセッサを有するデータ処理システムであって、
    タスクの実行中に命令及びデータを保持するよう構成されるメモリと、
    タスクに係る最大メモリ使用を特定するデータと、前記タスクのプリエンプション可能性を示すデータとを受け付けるよう構成される受付手段と、
    前記受け付けたデータに基づき、前記タスクを実行するのに十分なメモリが存在するか特定するよう構成される評価手段と、
    すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、前記複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるよう構成される割当装置と、
    前記評価手段から受け付けた入力に基づき、前記タスクの実行をスケジューリングするよう構成されるスケジューラと、
    を有し、
    前記複数のタスクを実行するのに十分なメモリが存在しないと特定することに応答して、前記スケジューラは、前記タスクによるメモリ使用に応じて少なくとも1つのタスクの実行をサスペンドするよう構成されることを特徴とするデータ処理システム。
  18. 複数のプロセッサを有するデータ処理システムにデータを送信する方法であって、
    すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当てるステップと、
    前記複数のタスクの各タスクの処理において、前記データ処理システムにより使用されるデータを送信するステップと、
    処理中のメモリ使用に基づき、前記複数のタスクの各タスクのサスペンションを示すサスペンションデータを送信するステップと、
    を有し、
    前記データ処理システムは、前記タスクに係るサスペンションデータに一致する各タスクのメモリ使用を示す入力を監視し、前記監視された入力に基づき、前記各タスクの処理をサスペンドする処理を実行するよう構成されることを特徴とする方法。
  19. 請求項18記載の方法であって、
    前記サスペンションデータは、前記各タスクに係る最大メモリ使用を特定するデータを有することを特徴とする方法。
  20. 請求項18記載の方法であって、
    前記サスペンションデータは、前記各タスクのメモリ使用に基づき、各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定することを特徴とする方法。
  21. 請求項20記載の方法であって、
    前記各タスクは、複数のサブジョブを有し、
    前記各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定するデータは、各サブジョブに対応する、
    ことを特徴とする方法。
  22. 請求項20記載の方法であって、
    前記サスペンションデータは、前記各タスクに係る最大メモリ使用を特定するデータを有することを特徴とする方法。
  23. 請求項22記載の方法であって、
    前記各タスクは、複数のサブジョブを有し、
    前記各タスクの処理がサスペンド可能な少なくとも1つのポイントを特定するデータは、各サブジョブに対応する、
    ことを特徴とする方法。
  24. 複数のプロセッサを有するデータ処理システムにおいて使用するため複数のタスクを構成する方法であって、
    当該方法は、関連するメモリ使用に基づきタスクのサスペンションを示すサスペンションデータを前記タスクに関連付けするステップを有し、
    前記データ処理システムは、複数のプロセッサ上で実行される複数のタスクに関して処理を実行するよう構成され、
    前記処理は、
    すべてのタスクをあるプロセッサに割り当てる固定的割当と、すべてのタスクをすべてのプロセッサに割り当てる可変的割当と、すべてのタスクを前記複数のプロセッサの一部に割り当てる混合的割当との1つに基づき、複数のタスクのそれぞれを前記複数のプロセッサのあるプロセッサに割り当て、
    前記タスクに係るサスペンションデータに一致する前記タスクのメモリを示す入力を監視し、
    前記監視される入力に基づき前記タスクの処理をサスペンドすることを有することを特徴とする方法。
  25. 請求項1記載の方法を処理システムに実行させるよう構成される命令セットを有するコンピュータプログラム。
  26. 請求項2記載の方法を処理システムに実行させるよう構成される命令セットを有するコンピュータプログラム。
JP2006548499A 2004-01-08 2005-01-05 マルチプロセッサシステムにおけるリソース管理 Pending JP2007519103A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 한국전자통신연구원 스트림 처리 태스크 관리 장치 및 방법
CN104657203B (zh) * 2013-11-21 2018-07-20 腾讯科技(深圳)有限公司 任务执行方法、装置和系统
US10058777B2 (en) 2013-11-21 2018-08-28 Tencent Technology (Shenzhen) Company Limited Task execution method, apparatus and system
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826082A (en) * 1996-07-01 1998-10-20 Sun Microsystems, Inc. Method for reserving resources
JP2006523881A (ja) * 2003-04-14 2006-10-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ リソース管理方法及び装置

Cited By (1)

* Cited by examiner, † Cited by third party
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
US20070124733A1 (en) 2007-05-31
WO2005069155A3 (en) 2006-06-22
EP1706820A2 (en) 2006-10-04
CN1910553A (zh) 2007-02-07
KR20060135697A (ko) 2006-12-29
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
US20110302587A1 (en) Information processing device and information processing method
KR20050016170A (ko) 실시간 동작 수행방법 및 시스템
WO1999012097A1 (en) Processor resource distributor and method
JP2009541848A (ja) コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置
Garcia-Valls et al. Real-time reconfiguration in multimedia embedded systems
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) ダウンロードシステム
WO2002023329A2 (en) Processor resource scheduler and method
JP2003067199A (ja) アプリケーションプログラム
KR100719416B1 (ko) 데이터 처리 장치 및 데이터 처리 방법
KR102268796B1 (ko) 하이퍼바이저 기반 plc 서비스 처리 장치