JP4326963B2 - ハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリング - Google Patents

ハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリング Download PDF

Info

Publication number
JP4326963B2
JP4326963B2 JP2003573548A JP2003573548A JP4326963B2 JP 4326963 B2 JP4326963 B2 JP 4326963B2 JP 2003573548 A JP2003573548 A JP 2003573548A JP 2003573548 A JP2003573548 A JP 2003573548A JP 4326963 B2 JP4326963 B2 JP 4326963B2
Authority
JP
Japan
Prior art keywords
time
component
components
input
data elements
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.)
Expired - Fee Related
Application number
JP2003573548A
Other languages
English (en)
Other versions
JP2005519390A (ja
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 JP2005519390A publication Critical patent/JP2005519390A/ja
Application granted granted Critical
Publication of JP4326963B2 publication Critical patent/JP4326963B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • 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
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Systems (AREA)
  • Hardware Redundancy (AREA)
  • Stored Programmes (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrophonic Musical Instruments (AREA)
  • Multi Processors (AREA)

Description

本発明は、データ要素の時間依存性ストリームを処理するためのリアルタイムシステムにおけるコンポーネントについてスケジュール可能性を規定する方法に関する。本発明は、更には、データ要素の時間依存性ストリームを処理するためのリアルタイムシステムにも関する。
コンポーネントの数が、使用可能であるプロセッサの数よりも多いようなリアルタイムソフトウェアシステムにおいて、コンポーネントは処理時間を得るために競合し、コンポーネントのスケジューリングは、確実で素早いものであることが要求される。本状況においては、出力が発生する時間が必須であるような、全てのソフトウェアシステムを、リアルタイムソフトウェアシステムと呼ぶ。リアルタイムソフトウェアシステムの入力時間から出力時間までのラグ即ち遅延は、許容可能である適時性に対して十分に小さくあるべきである。ハードリアルタイムソフトウェアシステムは、外部で発生される入力に、有界時間間隔内で応答しなくてはならない。本状況におけるソフトウェアシステムは、典型的には、相互接続された多くのコンポーネントから構成されており、コンポーネント間の相互作用のみが、これらのインターフェースを介し、コンポーネントは状態情報を共有しない。
この種のシステムにおいて、スケジューラは、システムレベル上のリアルタイム制約が満たされるような形で、コンポーネントに処理間隔を割り当てる。コンポーネントのスケジューリングは、時間経過と共に継続的に繰り返される2相から成る。初めに、スケジュール可能であるコンポーネントのセットが決定され、次いでこのセットから、及び何らかの優先順位化方式によって、コンポーネントのサブセットが選択され、プロセッサ上で実際に実行される。実行の間は、1つずつのコンポーネントが各プロセッサ上で実行される。
コンポーネントが、上述したタイプのシステム内でスケジュール可能であるようなときを規定するための、多数の方法が存在する。
時間駆動型スケジュール可能性、この場合、コンポーネントは、ある一定の長さの時間が経過したときにスケジュール可能である。
アルゴリズム時間駆動、この方法は、時間駆動型の方法に似ているが、リアルタイム軸の代わりに、仮想時間軸が使用される。
データ駆動、この場合、コンポーネントはある一定量の入力データが使用可能であるときに、スケジュール可能である。
イベント駆動、この方法はデータ駆動を特殊化したものであり、該データは、真となるブール変数、又はこれに対してのあるブール表現が真となるようなブール変数のセットのいずれかである。
要求駆動、この方法において、コンポーネントは、特定のコンポーネントからの出力データの消費者がある一定量のデータを要求するときに、スケジュール可能である。
ストリームベースのシステムであって、入力がデータ要素の時間依存性ストリームとなっているシステムにおいては、入力時間から出力時間までのラグが小さいことが特に重要である。更に、コンポーネントが入力におけるデータがレディ(準備完了)であるときにのみスケジュールされることが重要であり、これによってプロセッサ利用が最大化される。
国際特許出願公開第WO9525313号は、処理の間の、複数のデータストリームの同期化の実施例を記載している。スケジュール規準は、トリガ条件によって決定され、例えば、ストリーム処理の状態に基づいて決定される。このような状態は、再び、前記ストリームのタイムマーク及びシステム時間に関係する。この明細書では、コンポーネントのスケジューリングを実行することによって1つのプロセッサを使用しての、ストリームの実行及びストリームの制御についての問題を解決するものではない。
本発明の目的は、スケジューリングの方法であって、システムのリアルタイム動作を達成するのに適している方法を提供することにある。
このことは、データ要素の時間依存性ストリームを処理するリアルタイムシステム内で、コンポーネントがスケジュール可能であるときを決定する方法によって達成され、該方法においては、コンポーネントの数は、前記コンポーネントを処理するために使用可能であるプロセッサの数よりも多く、コンポーネントのそれぞれは、少なくとも1つの入力及び少なくとも1つの出力を有している。データ要素はタイプスタンプを備えており、コンポーネントは、タイムスタンプ付データ要素の前記時間依存性ストリームの既定時間間隔からのタイムスタンプ付データ要素が、前記コンポーネントの全ての入力において使用可能であるようなときに、スケジュール可能である。
具体的実施例において、タイプスタンプは、内部的に定義されたアルゴリズム時間軸上の点である。
これによって、スケジュール可能であるコンポーネントは、コンポーネントに対して割り当てられるべき時間間隔の間にコンポーネントによって処理されるために十分であるような、異なり得るデータ入力ストームからのデータ要素を有する。この結果、プロセッサ利用が改良され、特に、ストリームレートが一定又は略一定であるような場合は、プロセッサ利用は略100%であるので、システムのハードリアルタイムのような、リアルタイム動作が達成される。更に、これは効率を向上させ、コンポーネントがスケジュールされたとき、既定の時間間隔内の異なる入力ストリームにおける全てのデータ要素が、実際に処理されることができ、これにより、コンポーネントがスケジュールされてからデータの不足によって直ちに戻るというようなことがなくなる。更に、データ要素を処理している間、コンポーネントが、他のコンポーネントによって先取りされるようなことはないであろう。従って、秒当たりのタスク切り替えの数は最小限に抑えられ、キャッシュミスの数が減少するため、プロセッサキャッシュの効率を改良できる。本方法は、また、以下の理由により、ハードリアルタイムシステムのためのコンポーネントに基づく設計を、容易にする。
− 所与のアプリケーションインスタンスについて、ハードリアルタイム挙動を達成するために必要とされる処理リソースを計算することは、比較的簡単で明瞭である。この計算は、アプリケーション独立ツールにおいて実施されることができる。
− コンポーネントは、リアルタイム問題をほとんど知らずにいることができるので、これらの設計が簡単になる。リアルタイム挙動を達成するための複雑さは、スケジューラ内に集中されるので、1回限りの手間となる。コンポーネントは、タイムボックス内のデータを処理するために、最悪の場合の計算時間を設けることを、必要とするだけである。
本発明は、処理済(MPEG2、MPEG4)及び未処理のドメインにおける、ビデオ及びオーディオ処理システムのような、リアルタイムシステム内で使用することができる。他のリアルタイムシステムは、画像処理、画像認識、産業用自動化、パターン認識、レーダ及び電気通信でもあり得る。
他の実施例においては、タイムスタンプ付データ要素の既定の時間間隔は、前記コンポーネントの既定入力における既定数のデータ要素についての時間間隔を有する。従って、本発明は、ある入力コネクタからの消費されるべきである好ましい数のデータ要素を有するような、特定のタイプのコンポーネントであって、例えば、固定された数のオーディオサンプルのようなコンポーネントに使用されることができる。更にこれは、既定の時間間隔が、例えば、厳密に1つのデータ要素を含むべきであるが、データ要素が正確には等しい間隔では到来しない場合において、有利である。
具体的な実施例においては、タイムスタンプ付データ要素の前記時間依存性ストリームの略同一である既定の時間間隔からのデータ要素が、全ての入力において使用可能であるときに、コンポーネントはスケジュール可能である。これによって、システムは実施しやすくなり、コンポーネントのためのバッファメモリを確保することが、より簡単である。
更に他の具体的な実施例においては、前記既定の時間間隔の長さは、各入力について略同一であり、少なくとも第1入力の時間間隔は、少なくとも第2入力の時間間隔からの既定値に変位される。従って、デッドロックを回避することができる。一般的に、前記変位は、コンポーネントの出力を変位することによって得られ、これにより該コンポーネントが、システム内の他のコンポーネントと独立でいられるようになる。
具体的な実施例においては、前記タイムスタンプ付データ要素の前記既定の時間間隔の使用可能性は、前記既定の時間間隔の開始時間及び終了時間を規定することによって、及びデータが先行コンポーネントによって処理されるまでの時間が前記既定の時間間隔の終了時間よりも新しい時間であるかをチェックすることによって、決定される。従って、既定の時間間隔があるコネクタについて「満杯」である時は簡単に決定されることができ、発生終了時間(Produce−until time)は既定の時間間隔の終了時間よりも長い。
本発明は、更に、データ要素の時間依存性ストリームを処理するリアルタイムシステムにも関し、前記システムは、幾つかのコンポーネント、及びコンポーネントを処理する幾つかのプロセッサを有し、前記コンポーネントの数はプロセッサの数よりも多く、前記コンポーネントのそれぞれは、少なくとも1つの入力及び少なくとも1つの出力を有する手段において、前記システムは前記コンポーネントのスケジュール可能性を規定する手段を有し、前記システムが、データ要素にタイムスタンプを設ける手段を有するようなシステムにおいて、前記システムがタイムスタンプ付データ要素を設ける手段を有し、スケジュール可能性を規定する前記手段が、タイムスタンプ付データ要素の時間依存性ストリームの既定の時間間隔からのデータ要素が前記コンポーネントの全ての入力において使用可能であるときに、コンポーネントがスケジュール可能であると規定するために適用されることを特徴とするリアルタイムシステムに関する。
以下において、本発明の好適実施例が、図面を参照して記載されるであろう。
以下において、ストリーム処理をするハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリングにおいて使用される言葉が記載されるであろう。
システムは、あるタスクを実行する装置であり、該装置がこのタスクを実施する方法は、管理及び制御に影響され得る。好適実施例においては、上記あるタスクは、ストリーミングデータのハードリアルタイム処理に限定されるであろう。コンポーネントとは、前記システムの内蔵部であり、「原子的」即ちこれ以上サブタスクを分割化することは有用ではないと見なされるサブタスクを実行する。サブタスクを更に分割するか否かの動機は、再多重化装置及びエンコーダ等のアプリーケーションドメインにおける経験に基づく。タイムスタンプ付データ要素は、ストリーム内のデータの表現である。ストリーミングデータは、データ内容及び時間情報を持っていると仮定する。この時間情報は、前記要素を順序づけ、前記データと時間を関連づけるために使用される。タイムボックスとは、タイムスタンプ付データ要素の既定の時間間隔のことである。
本発明によるシステム内部において、アルゴリズム時間sが使用される。最終的に、出力ストリーム用に発生される時間情報は、再びリアルタイムに関連付けられる。システム時間からアルゴリズム時間への変換は、例えば、システム入力及びシステム出力に位置される従来型時間フィルタによって実施されることができる。
図1は、2つのコンポーネントの間のコネクタを示しており、該コネクタはシステム100の内蔵部である。ソースコンポーネント101は、シンク(吸い込み)コンポーネント103に、コネクタ105によって接続されている。コネクタ105の動的状態は、コネクタ105における幾つかの要素から成り、これら要素は、データ要素自身di及び発生終了時間sp(データがソースコンポーネントによって発生されるまでの時間)を有する。データ要素はアルゴリズム時間sでマークされ、コネクタのソース側においてソースコンポーネントのスケジューリングをすることで、コネクタに追加されることができる。更に、ソースコンポーネントのスケジューリングは、特定のコネクタについて発生終了時間を更新する。コネクタのシンク側のコンポーネントは、自身がスケジュールされたときに、データ要素を処理することによって、データ要素を消去することができる。各コンポーネントについて、現行タイムボックスが規定され、該タイムボックスは、開始時間と終了時間とを有する。コンポーネントをスケジューリングするためには、タイムボックスは、該コンポーネントの入力における全てのコネクタに対して、満杯であるべきであり、タイムボックスの開始時間及び終了時間の間の時間間隔内のタイムスタンプsを備える全てのデータ要素が、レディ(準備完了)/存在している、即ち言い替えれば、発生終了時間が、現行タイムボックスの終了時間よりも新しいことを意味する。
図2は、コンポーネントのスケジュール可能性の規定、及びスケジュールされたコンポーネントの実行の処理を、大まかなステップにおいて説明している。前記処理は、タイムボックスをコンポーネントの各コネクタに割り当てるステップと、スケジュールされたコンポーネントを実行するステップとを有する。201において、現行タイムボックスがコンポーネントに割り当てられ、これは、該コンポーネントによって処理されるべき次のデータ要素の時間間隔の開始時間及び終了時間を規定することによってなされる。スケジューラは、例えば、現行タイムボックスの割り当てを実行することができる。特定のコネクタ上のデータ要素がレディであるとき(該データ要素がソースコンポーネントによって処理されたことを意味する)、現行タイムボックス内のデータはレディである。現行タイムボックスは、コンポーネントをスケジュール可能とするためには、コンポーネントの各入力コネクタについて満杯であらなくてはならない。203において、コンポーネントはスケジュールされており、スケジュールされたとき、全てのコネクタにおけるデータ要素であって、現行タイムボックスの境界内にあるようなデータ要素は、コンポーネントによって消費及び処理される。処理されたデータ要素は、今や、コンポーネントの出力においてレディであり、各出力コネクタについての発生終了時間spが更新される。201において、新しい現行タイムボックスがコンポーネントに割り当てられ、これは、該コンポーネントのために先行タイムボックスの終了時間に等しい新しい開始時間を規定することによってなされる。
図3は、現行タイムボックスを特定のコンポーネントに割り当てることが可能であるかどうかが、どのようにして決定されるかを示しているフロー図である。前記決定は、コンポーネントのタイプに依存する2つのシナリオによってなされ得る。第1タイプは、Δsコンポーネント、第2タイプは#nコンポーネントである。コンポーネントが、Δsコンポーネントである場合301、現行アルゴリズム時間CSが、現行タイムボックスの開始時間BSにタイムボックスの長さである既定の時間間隔Δsを加算した時間よりも大きいかどうかがチェックされる303。現行タイムボックスの前記開始時間は、先行タイムボックスの終了時間に等しい。これが真である場合、タイムボックスは規定され、コンポーネントに割り当てられることができ305、偽である場合は、コンポーネントがタイムボックス内のデータ要素を最後に処理してから、まだ十分な時間が過ぎていないとして、タイムボックスは規定されず、割り当てられない(!TBで表す)307。コンポーネントが、#nコンポーネントである場合309、先ず、特定のコネクタである#nコネクタ上で使用可能である既定数のデータ要素があるかどうかがチェックされ311、これが真である場合、タイムボックスTBが規定され305、ここで、開始時間は先行タイムボックスの終了時間であり、終了時間は、該特定のコネクタにおいて使用可能である最新データ要素のタイムスタンプである。これが真でない場合、現行アルゴリズム時間が、現行タイムボックスの開始時間に変位値dを加算した時間よりも大きいかどうかがチェックされる313。これが真である場合、データ要素はレディであり、タイムボックスは規定されることができ305、偽である場合、十分なデータ要素が、n番コネクタにまだ存在していないとして、タイムボックスは規定できない(!TBで表す)。一般に、Δsコンポーネントは、これら現行タイムボックス内でわずかに変化する量のデータを扱うことができる一方で、#nコンポーネントは、#nコネクタとして特定される入力からの同量のデータをとることができるであろう。
一実施例において、コンポーネントに割り当てられた現行タイムボックスは、図4に示されているように、各コネクタについて時間的に変位され得る。401において、コンポーネントは、幾つかの入力(I1、…、In)と3つの出力(Q1、Q2、Q3)とを有して示されている。タイムボックスTBは、403に示されているようにコンポーネントに割り当てられ、開始時間BS及び終了時間ESを有する。この例において、出力Q1は変位を持たず、Q2は正の変位、及びQ3は負の変位を有する。ある出力コネクタについての発生終了時間は、以下のように出力の変位を加えることによって、直接的に、タイムボックスの終了時間と関連付けられる。
Figure 0004326963
ここで、CQはコンポーネントの出力Qに付加されたコネクタ、spCQはコネクタCQの発生終了時間、ES(TB)はコンポーネント401がスケジュールされていたタイムボックスTBの終了時間、及びΔdQはコンポーネントの出力Qの変位である。
図5を使用して、スケジューラがコンポーネントのスケジュール可能性を決定するときに、タイムボックスをどのように使用するかが記載されている。スケジュール可能性は、コンポーネントの各入力コネクタをチェックすることによって決定され、コネクタについての発生終了時間spが、コンポーネントのタイムボックスの終了時間ES以上の長さである場合、このコネクタは、コンポーネントをスケジューリングに適するようにし503、そうでない場合は、コンポーネントはスケジュールされる準備ができていない505。前述したように、コンポーネントにスケジュールされる資格を与えるためには、コンポーネントの各入力コネクタが資格を得なくてはならない。
図6から11では、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用されるような例が示されている。再多重化装置は、次の7つのコンポーネントを有しており、これらは、トランスポートストリームAll Sky Imager(ASI)を受け取るようになっている2つのRtTsinコンポーネント(リアルタイムトランザクション処理)、ストリームのプログラム識別子(PID)を置換するための2つのPIDマッパ、2つのストリームを1つのストリームに結合するための1つの多重化装置RtMux(リアルタイム多重化装置)、結合されたストリームを出力するための1つの出力コンポーネントRtTsOut(リアルタイムトランザクション)、並びに多重化装置及び出力が同じ速度で動作するようにさせるために入力/出力(I/O)イベントを複製するための1つのフォークRtFork(リアルタイムフォーク)である。再多重化装置は、更に、データの入出力を規定し、タイプスタンプを設けるための3つのイベント発生器EVGを有している。接続部に示されている箱がタイムボックスであり、満杯の箱は、満杯のタイムボックスを示している。これらの図において、スケジュール可能コンポーネントは、該コンポーネントを囲む点線の箱によってマークされており、ちょうどスケジュールされたコンポーネントは、実線の箱によってマークされている。図7から11においては、再多重化装置の異なる状態が示されており、スケジュール可能性がどのように規定されるかが説明されているが、本記載は、スケジューリング、及びスケジューリングの際に使用される優先権スキームに関するものではない。これは、本発明がコンポーネントのスケジュール可能性の定義に関するのみであるからである。
図6において、フォーク601がちょうどスケジュールされており、フォーク601と多重化装置615との間の接続603、及びフォーク601と出力コンポーネント617との間の接続605に、満杯のタイムボックスが存在するが、多重化装置616又は出力コンポーネント617のいずれもスケジュール可能ではない。なぜならば、これらコンポーネントの入力の全てが、満杯のタイムボックスを有しているわけではないからである。この状態においてスケジュール可能であるコンポーネントは、入力コンポーネント607、609のみであり、これらコンポーネントの入力の全てが満杯のタイムボックス611、613を有するからである。
図7において、スケジューラは、実行されるべき入力コンポーネントの1つ701を選択し、このコンポーネントは実行され、このことによって入力におけるタイムボックス703は空となり、出力におけるタイムボックス709が満杯になっている。この状態において、スケジュールされることができるのは、PIDマッパ705及び他の入力コンポーネント707のみであって、これらのみが、これらの入力の全てにおいて満杯のタイムボックス709、711を有するコンポーネントであるからである。多重化装置713及び出力コンポーネント715の両方は、これらコンポーネントの入力の全てが、満杯のタイムボックスを有してはいないので、スケジュール可能ではない。
図8において、スケジューラは、実行されるべきPIDマッパ801コンポーネントを選択しており、このコンポーネントは実行され、このことによって入力におけるタイムボックス803は空となり、出力におけるタイムボックス804が満杯になっている。この状態において、スケジュールされることができるのは、入力コンポーネント805のみであって、該コンポーネントのみが、入力の全てにおいて満杯のタイムボックス807を有するコンポーネントであるからである。多重化装置809及び出力コンポーネント811の両方は、これらコンポーネントの入力の全てが満杯のタイムボックスを有してはいないので、まだスケジュール可能ではない。
図9において、スケジューラは、実行されるべき入力コンポーネント901を選択しており、このコンポーネントは実行され、このことによって入力におけるタイムボックス903が空となり、出力におけるタイムボックス905が満杯になっている。この状態において、スケジュールされることができるのは、PIDマッパ905コンポーネントのみであって、該コンポーネントのみが、入力の全てにおいて満杯のタイムボックスを有するコンポーネントであるからである。多重化装置907及び出力コンポーネント909の両方は、これらコンポーネントの全ての入力が満杯のタイムボックスを有してはいないので、まだスケジュール可能ではない。
図10において、スケジューラは、実行されるべきPIDマッパ1001コンポーネントを選択しており、このコンポーネントは実行され、このことによって入力におけるタイムボックス1003が空となり、出力におけるタイムボックス1005が満杯になっている。多重化装置1007は、入力における全てのタイムボックス1005、1009、1011が満杯であるため、ここでスケジュールされることができるが、出力コンポーネント1013は、入力の全てが満杯のタイムボックスを有してはいないので、まだスケジュール可能ではない。
図11において、スケジューラは、実行されるべき多重化装置コンポーネント1101を選択し、このコンポーネントは実行され、このことによって入力におけるタイムボックス1103、1105、1007が空となっている。この状態において、出力コンポーネント1109及びフォーク1111のみが、これらのみがコンポーネント入力の全てにおいて満杯のタイムボックスを有するコンポーネントであるので、スケジュールされることができる。
図12は、本発明によるシステム1200を示している。ここで該システムは、2つのメモリ1202及び1208、2つのプロセッサ1218及び1220、並びに2つのメモリ1202及び1208と2つのプロセッサ1218及び1220との間のデータの通信を可能にするソフトウェアバス1222を有する。メモリ1202は、例えば、上述したRtTsinコンポーネントのような、ソフトウェアに書き込まれているコンポーネント1204を有している。更に、メモリ1202は、例えば、上述したRtPidMap、RtFork及びRtMuxのような、ソフトウェアに書き込まれているコンポーネント1206、1214及び1216を有する。メモリ1208は、2つのソフトウェアモジュール1210及び1212を有する。モジュール1210は、コンポーネント1204、1206、1214及び1216のスケジュール可能性を決定するスケジューラとして参照されることができる。モジュール1212は、上述のように、データ要素にタイムスタンプを設けるように設計されている。
図1は、2つのコンポーネントの間のコネクタを示している。 図2は、コンポーネントのスケジュール可能性を規定し、スケジュールされたコンポーネントの実行する処理を、一般的ステップにおいて、示している。 図3は、現行タイムボックスを特定のコンポーネントに割り当てることが可能であるかどうかが、どのようにして決定されるのかを示しているフロー図である。 図4は、各コネクタに対する現行タイムボックスの置換を示している。 図5は、スケジューラが、コンポーネントのスケジュール可能性を決定するときに、どのようにタイムボックスを使用するのかを示している。 図6は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図7は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図8は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図9は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図10は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図11は、タイムボックス駆動型スケジュールが、再多重化装置と関連して使用される例を示している。 図12は、本発明によるシステムの実施例を示している。

Claims (8)

  1. データ要素の時間依存性ストリームを処理するリアルタイムシステムにおいて、コンポーネントがスケジュール可能であるときを決定する方法であって、前記コンポーネントの数が、前記コンポーネントを処理するために使用可能であるプロセッサの数よりも多く、前記コンポーネントのそれれが、少なくとも1つの入力及び少なくとも1つの出力を有する方法において、
    既定の期間が各コンポーネントに割り当てられ、前記既定の期間は、前記コンポーネントによって前記データ要素が処理されるべき開始時間及び終了時間を規定し、前記データ要素はタイムスタンプを備えており、前記コンポーネントは、前記既定の期間の終了時間と等しい又はより大きいタイムスタンプを有するタイムスタンプ付データ要素が、前記コンポーネントの前記入力の全てにおいて使用可能であるときに、スケジュール可能であることを特徴とする方法。
  2. 前記タイムスタンプが、前記システムにおいてデータ要素にタイムスタンプを設けるように設計されている手段によって内部的に定義されたアルゴリズム時間の時間軸上の点である、請求項1に記載の方法。
  3. 前記既定の期間が、前記コンポーネントの既定入力における既定数のデータ要素の前記コンポーネントによって処理されるべき期間を有する、請求項1に記載の方法。
  4. 前記既定の期間の終了時間と略同一のタイムスタンプを有するデータ要素が、入力の全てにおいて使用可能であるときに、前記コンポーネントがスケジュール可能である、請求項1に記載の方法。
  5. 前記既定の期間の長さが、各入力について略同一であり、少なくとも第1入力の前記期間が、少なくとも第2入力の前記期間から既定値だけ変位しているような、請求項1に記載の方法。
  6. 前記既定の期間の使用可能性が、前記既定の期間の開始時間及び終了時間を規定することによって且つデータが先行コンポーネントによって処理されるまでの時間が、前記既定の期間の前記終了時間よりも後であるかどうかをチェックすることによって決定される、請求項1に記載の方法。
  7. 前記タイムスタンプ付データ要素の前記時間依存性ストリームが、マルチメディアデータのストリームである、請求項1に記載の方法。
  8. データ要素の時間依存性ストリームを処理するリアルタイムシステムであって、前記システムは幾つかのコンポーネント及びコンポーネントを処理する幾つかのプロセッサを有しており、前記コンポーネントの数は前記プロセッサの数よりも多く、前記コンポーネントのそれぞれが少なくとも1つの入力及び少なくとも1つの出力を有しており、前記システムは前記コンポーネントのスケジュール可能性を規定する手段を有するシステムにおいて、
    既定の期間が各コンポーネントに割り当てられ、前記既定の期間は、前記コンポーネントによって前記データ要素が処理されるべき開始時間及び終了時間を規定し、前記システムが、前記データ要素にタイムスタンプを設ける手段を有し、スケジュール可能性を規定する前記手段が、前記既定の期間の終了時間と等しい又はより大きいタイムスタンプを有するタイムスタンプ付データ要素がコンポーネントの入力の全てにおいて使用可能であるときに、前記コンポーネントがスケジュール可能であると規定するようになっていることを特徴とする、リアルタイムシステム。
JP2003573548A 2002-03-01 2003-02-07 ハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリング Expired - Fee Related JP4326963B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02075818 2002-03-01
PCT/IB2003/000522 WO2003075159A2 (en) 2002-03-01 2003-02-07 Timebox driven scheduling of software components in hard real-time systems

Publications (2)

Publication Number Publication Date
JP2005519390A JP2005519390A (ja) 2005-06-30
JP4326963B2 true JP4326963B2 (ja) 2009-09-09

Family

ID=27771885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003573548A Expired - Fee Related JP4326963B2 (ja) 2002-03-01 2003-02-07 ハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリング

Country Status (9)

Country Link
US (1) US7356724B2 (ja)
EP (1) EP1483670B1 (ja)
JP (1) JP4326963B2 (ja)
KR (1) KR20040096624A (ja)
CN (1) CN1316365C (ja)
AT (1) ATE368888T1 (ja)
AU (1) AU2003248904A1 (ja)
DE (1) DE60315264T2 (ja)
WO (1) WO2003075159A2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4016010B2 (ja) * 2004-03-26 2007-12-05 株式会社東芝 リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム
CN103870625B (zh) * 2013-11-19 2017-05-31 北京航天长征飞行器研究所 光纤反射内存网数据实时交互方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69410489T2 (de) * 1994-03-16 1999-02-04 Ibm Verfahren und gerät für die synchronisation und den ablauf von mehreren datenströmen und echtzeitaufgaben
GB9810552D0 (en) * 1998-05-15 1998-07-15 Nds Ltd Multiplexer
US7031306B2 (en) * 2000-04-07 2006-04-18 Artel Video Systems, Inc. Transmitting MPEG data packets received from a non-constant delay network
US20020019843A1 (en) * 2000-04-26 2002-02-14 Killian Robert T. Multiprocessor object control
US6937988B1 (en) * 2001-08-10 2005-08-30 Cirrus Logic, Inc. Methods and systems for prefilling a buffer in streaming data applications
DE60325416D1 (de) * 2002-12-03 2009-01-29 Koninkl Philips Electronics Nv Abfrage-zeitsteuerung von softwarebausteinen in hard-echtzeit-systemen
JP4187687B2 (ja) * 2004-06-22 2008-11-26 日東電工株式会社 回路付サスペンション基板の製造方法

Also Published As

Publication number Publication date
CN1639687A (zh) 2005-07-13
WO2003075159A3 (en) 2004-03-04
AU2003248904A1 (en) 2003-09-16
KR20040096624A (ko) 2004-11-16
DE60315264T2 (de) 2008-02-14
US7356724B2 (en) 2008-04-08
US20050107991A1 (en) 2005-05-19
CN1316365C (zh) 2007-05-16
EP1483670B1 (en) 2007-08-01
EP1483670A2 (en) 2004-12-08
JP2005519390A (ja) 2005-06-30
DE60315264D1 (de) 2007-09-13
ATE368888T1 (de) 2007-08-15
WO2003075159A2 (en) 2003-09-12

Similar Documents

Publication Publication Date Title
KR100649107B1 (ko) 실시간 동작 수행방법 및 시스템
KR100628492B1 (ko) 실시간 동작 수행방법 및 시스템
JP3892829B2 (ja) 情報処理システムおよびメモリ管理方法
US7418705B2 (en) Method and system for performing real-time operation
KR20050016170A (ko) 실시간 동작 수행방법 및 시스템
JP2000353099A (ja) アクティブ・パイプラインにおける流れ制御方法
JP4326963B2 (ja) ハードリアルタイムシステムにおけるソフトウェアコンポーネントのタイムボックス駆動型のスケジューリング
US12026518B2 (en) Dynamic, low-latency, dependency-aware scheduling on SIMD-like devices for processing of recurring and non-recurring executions of time-series data
US6766508B1 (en) Object-oriented system having anonymous scheduler design pattern
JP2002041308A (ja) マルチプロセッサ・オブジェクト制御
US20220300322A1 (en) Cascading of Graph Streaming Processors
CN114816703A (zh) 一种任务处理方法、装置、设备及介质
JP2006099579A (ja) 情報処理装置及び情報処理方法
EP1573537B1 (en) Pull scheduling of software components in hard real-time systems
Rutten et al. Robust media processing in a flexible and cost-effective network of multi-tasking coprocessors
Segovia Adaptive CPU resource management for multicore platforms
Rhodes et al. Overhead effects in real-time preemptive schedules
CN117234695B (zh) 用于自动驾驶系统的处理任务的调度方法及其装置
Jonsson GAST: a flexible and extensible tool for evaluating multiprocessor assignment and scheduling techniques
Ruocco User-level fine-grained adaptive real-time scheduling via temporal reflection
EP4343548A1 (en) Method for configuring a real-time computer system
Schmidt et al. TAO: a High-performance ORB Endsystem Architecture for Real-time CORBA
Holenderski Multi-resource management in embedded real-time systems
Khatib Modeling and scheduling embedded real-time systems using Synchronous Data Flow Graphs
CN118227297A (zh) 任务调度方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080807

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080814

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090512

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090610

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120619

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees