CN1720504A - 在硬性实时系统中软件组件的出栈调度 - Google Patents

在硬性实时系统中软件组件的出栈调度 Download PDF

Info

Publication number
CN1720504A
CN1720504A CNA200380104807XA CN200380104807A CN1720504A CN 1720504 A CN1720504 A CN 1720504A CN A200380104807X A CNA200380104807X A CN A200380104807XA CN 200380104807 A CN200380104807 A CN 200380104807A CN 1720504 A CN1720504 A CN 1720504A
Authority
CN
China
Prior art keywords
time
assembly
output
earliest
schedulable
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.)
Granted
Application number
CNA200380104807XA
Other languages
English (en)
Other versions
CN100449491C (zh
Inventor
A·德邦杰
S·T·德克
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 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 Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1720504A publication Critical patent/CN1720504A/zh
Application granted granted Critical
Publication of CN100449491C publication Critical patent/CN100449491C/zh
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
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • General Factory Administration (AREA)

Abstract

本发明涉及一种在硬性实时系统中确定何时调度组件的方法,所述硬性实时系统用于处理时间相关的数据元流。组件的数目大于用于处理所述组件的可用处理器的数目,并且每个组件具有至少一个输入和至少一个输出。通过确定一个组件能够有助于所述系统的输出的最早时间,并且通过调度在所述最早时间能够有助于所述输出的所述组件来调度组件。本发明还涉及一种硬性实时系统,用于处理时间相关的数据元流,其具有用于执行上述调度的装置。

Description

在硬性实时系统中软件组件的出栈调度
本发明涉及一种在硬性实时系统中调度组件的方法,所述硬性实时系统用于处理时间相关的数据元流。本发明还涉及一种硬性实时系统,用于处理时间相关的数据元流。
在实时软件系统中,其中组件的数目大于可用处理器的数目,组件竞争以得到处理时间,并且要求可靠又快速地调度组件。在本文中,把在其生成输出的时间是必要的任何软件系统称为实时软件系统。从实时软件系统的输入时间到其输出时间的滞后-即延迟必须小到足以可接受的时间性。硬性实时软件系统必须在有限的时间间隔内响应外部产生的输入。在本文中的软件系统一般是用若干互连的组件来构造的,并且在组件之间的唯一交互作用是通过它们的接口来实现的,所述组件不共享状态信息。
在这种系统中,调度器采用满足在系统级上的实时约束来向组件分配处理间隔。调度组件由两个阶段组成,随着时间的推移不断地重复所述两个阶段。首先,确定可调度的组件集,继而根据该集并且依照某种优先化模式,选择实际上将在处理器上执行的组件的子集(在每个处理器上执行一个组件)。
已知一些优先化模式。
·循环模式-快照(snapshot)由可调度的组件集组成。任意地排序该集并且逐个选择所述组件。在服务所有可调度的组件之后,更新可调度的组件集。
·固定优先级模式-每个组件将具有确定的固定优先级。从可调度的组件集来选择具有最高优先级的组件。接下来,更新所述可调度的组件集,并且根据该新的集来选择具有最高优先级的组件,诸如此类。
·灵活优先级模式-每个组件将得到随着时间的推移可以改变的优先级。从可调度的组件集来在那时选择具有最高优先级的组件。接下来,更新所述可调度的组件集并且重新计算所述组件的优先级。从该新的集中选择具有最高优先级的组件,诸如此类。
·基于优先级的先发(pre-emptive)调度-该调度方法可以与固定或灵活的优先级方法组合起来。当具有较高优先级的组件在处理具有较低优先级的组件期间变得可调度的时,可以中断对后者组件的处理以便首先服务具有较高优先级的组件。
·流水线或压栈(push)调度-任意地排序有向组件图的源。逐个处理可调度的源,但是在每个步骤之后,更新可调度的集并且数据尽可能通过所述图压栈。当由于处理源而导致没有任何组件可以被调度时,处理下一可调度源。
这里考虑的问题是发现有效的优先化模式,其能够从可调度的组件集中来选择最佳的可调度组件。所述的最佳意味着最小的端口到端口的延迟。
US2002/0062435描述了具有多个流以便处理多个线程的多流送处理器,和具有用于一个或多个流的优先级代码的优先级记录的指令调度器。在一些实施例中,优先级代码确定相对访问资源以及哪个流在任意时间点具有访问权。在其它实施例中,优先级被动态地确定并且实时地改变,这可以按照诸如芯片内处理统计之类的各种准则、通过执行一个或多个优先级算法、依照流负载通过来自芯片外的输入或这些的组合来完成。
US 6,195,701描述了一种用于同步并调度多数据流和实时任务的方法。由触发条件例如流送过程的状态来确定调度准则。然后再把这种状态与流的时间标记和系统时间相关。该文献没有解决通过执行组件调度使用一个处理器来执行流送和控制流送的问题。
同时,人们发现上述数据处理没有遵照可用于系统的最高输出率。现有技术一般可能向在数据队列中下一个数据分配可用的处理资源。这意味着如果在处理流水线中被分配相等处理优先级的两个数据流等候处理资源,那么首先处理排在第一的数据流。在某些应用中这可能是不方便的,比如在产生输出之前,在处理树结构中的处理操作可能被锁定相当长的一段时间。随着处理树深度的增加,这种不方便会明显加大。
本发明的目的是提供一种用于调度的方法,其适于实现系统的硬性实时操作并且解决上述问题。
这由在硬性实时系统中调度可调度的组件的方法来获得,所述硬性实时系统用于处理时间相关的数据元流,其中可调度的组件数目大于可用的用于处理所述组件的处理器的数目,并且其中每个所述组件具有至少一个输入和一个输出,其特征在于所述方法包括如下连续地执行的步骤:
-为每个可调度的组件确定能够有助于所述硬性实时系统的输出的最早时间,
-调度能够在总的最早时间有助于所述实时系统的输出的可调度组件。
这意味着如果存在有助于所述输出的可调度的组件,那么不会把处理时间花费在那些无助于产生输出的可调度的组件。
在实施例中,如果一定数目的可调度的组件在相同的总最早时间有助于所述实时系统的输出,那么使用压栈调度来执行所述数目的组件的调度。在这种情况下压栈调度引入了比其它调度方法更少的关联转换。最小化关联转换还支持低的端口到端口的延迟。
在另一实施例中,为每个组件指定预定义的时间间隔的长度,并且当来自时间相关的、加时间戳的数据元流的预定义的时间间隔的加时间戳数据元在一个组件的所有输入都可用时,所述组件就是可调度的。与时间框(time box)调度的组合允许确定以某种方式对输出的最早的贡献(contribution),该贡献易于重新计算。
在具体实施例中,通过定义所述预定义的时间间隔的开始时间和结束时间,并且通过检查数据已经被前一组件处理之前的时间是否比所述预定义的时间间隔的结束时间要新,来确定所述加时间戳数据元的所述预定义时间间隔的可用性。这允许以容易的方式来检测组件是否是可调度的。
在实施例中,通过下列步骤来执行确定所述组件能够有助于所述输出的最早时间的步骤:
-识别所述数据元必须由其处理的随后组件的可能路径以便从所述组件达到所述系统的输出,
-通过从所述预定义的时间间隔的开始时间中减去为在所述路径中每个所述随后组件指定的每个预定义时间间隔的长度,来确定每个可能的路径的最早贡献时间。
-把所述组件能够有助于所述输出的最早时间确定为最早的、所确定的贡献时间。
这是用于采用不向任何输出或用于到达输出的路径给出优先选择的方式,来定义‘最早贡献’的方式。
在具体实施例中,通过下列步骤来执行确定所述组件能够有助于所述输出的最早时间的步骤:
-识别所述数据元必须由其处理的随后组件的路径以便从所述组件到达所述系统的输出,其中,
-通过从所述预定义时间间隔的开始时间中减去为在所述路径中的每个所述随后组件指定的每个预定义时间间隔的长度来为每个可能的路径确定最早贡献时间,其中至少某些所述预定义的时间间隔已经被减去位移值。
-把所述组件能够有助于所述输出的最早时间选择为最早的、所确定的贡献时间。
这允许采用容易的方式来决定哪个可调度的组件在最早的时间点能够有助于输出,加入使用位移量来强迫数据流过所述系统的话。
本发明还涉及一种用于处理时间相关的数据元流的硬性实时系统,所述系统包括一定数目的组件和一定数目的用于处理组件的处理器,所述组件的数目大于处理器的数目,每个所述组件具有至少一个输入和至少一个输出,所述系统包括用于为每个可调度的组件确定所述组件能够有助于所述硬性实时系统的输出的最早时间的装置;和用于调度在总的最早时间能够有助于所述实时系统的输出的可调度组件的装置。
本发明可以被用于实时系统,诸如在处理(MPEG2,MPEG4)和未处理领域中视频和音频处理系统。进一步的实时系统可以是图像处理、图象识别、工业自动化、模式识别和雷达和无线电通信。
下面,参照附图将要描述本发明的优选实施例,其中
图1举例说明了在两个组件之间的连接器,
图2总体上举例说明了用于定义组件的可调度性和执行调度的组件的过程步骤,
图3是举例说明怎样决定是否可以为具体组件分配当前时间框的流程图,
图4举例说明了每个连接器的当前时间框的位移量,
图5举例说明了当确定组件的可调度性时调度器怎样使用所述时间框,
图6举例说明了用于解释调度可调度的组件的硬性实时系统,
图7a-7g举例说明了逐步地调度在图6的系统中的组件。
下面,将要描述使用本发明,其用于时间框驱动调度在用于流处理的硬性实时系统中的软件组件。首先,将要描述时间框驱动调度,并且随后将描述依照本发明可以怎样来调度所述可调度的组件。
一个系统是一个执行确定的任务的设备,其中所述设备执行该任务的方式可以受管理和控制的影响。在优选实施例中,将把确定的任务限制在数据流的硬性实时处理。一个组件是系统的自我包含的部分,执行‘原子’性的子任务,即认为不用更进一步地细分所述子任务。用于进一步划分子任务或不划分子任务的动机是基于在再复用器、编码器等应用领域中的经验。加时间戳的数据元是数据在流中的表示。假定流送数据具有数据内容和时间信息。使用该时间信息来排序所述数据元并且使所述数据与时间相关。时间框是加时间戳数据元的预定义的时间间隔。
在依照本发明的系统内,使用算法时间。最后,再次把为输出流产生的时间信息与实际时间相关。从系统时间到算法时间的转换例如可以由置于系统输入和系统输出的常规时间过滤器来执行。
图1举例说明了在两个组件之间的连接器;所述连接器是所述系统的自我包含的部分。由连接器105把源组件101连接到接收端组件103。连接器105的动态由在连接器105上的若干元组成,包括数据元和生成前的时间spc(即数据已经由源组件生成之前的时间)。用算法时间si标记数据元并且可以由于调度在连接器源端的源组件而追加到连接器。调度源组件还为具体连接器更新生成前的时间。当调度在连接器的接收端组件时,所述组件可以通过处理数据元来删除数据元。为每个组件定义当前时间框,所述时间框具有开始时间和结束时间。为了调度组件,一个时间框在所述组件的输入端对于所有连接器必须是满的,这意味着在所述时间框的开始时间和结束时间之间的时间间隔中具有时间戳si的所有数据元是已就绪/已存在,或换句话说所述生成前的时间比当前时间框的结束时间要新。
图2总体上解释了用于定义组件的可调度性和执行调度组件的过程步骤,所述过程包括为所述组件的每个连接器分配时间框和执行调度组件的步骤。在201中,把当前时间框分配给所述组件。这通过定义将要由所述组件处理的下一数据元的时间间隔的开始时间和结束时间来完成。所述调度器例如可以执行分配当前时间框。当在具体连接器上的数据元就绪时,意味着已经由源组件处理了所述数据元,那么在当前时间框内的所述数据就是已就绪的。对于组件的每个输入连接器,所述当前时间框必须是满的,以便使组件是可调度的。在203中,已经调度所述组件并且由所述组件消耗并处理在所有连接器的数据元,所述数据元位于当前时间框的边界内。所处理的数据元现在在所述组件的输出已就绪,并且更新每个输出连接器的生成前的时间spc。在201中,把新的当前时间框分配给所述组件。这通过为所述组件定义新的开始时间来完成,所述新的开始时间等于前一时间框的结束时间。
图3是举例说明怎样决定是否可以为具体组件分配当前时间框的流程图。根据组件类型依照两种方案来作出上述决定。第一类型是Δs组件,而第二类型是#n组件。如果所述组件是Δs组件301,那么检查303当前算法时间CS是否大于加上预定义时间间隔Δs-即时间框长度的当前时间框的开始时间BS。当前时间框的开始时间等于前一时间框的结束时间。如果这为真,那么可以定义所述时间框并且将其分配给所述组件305,如果为假,那么就不能够定义任何时间框!TB也没有时间框可以分配307,这是因为自从所述组件上一次处理在时间框中的数据元以来还没有经过足够的时间。当所述组件是#n组件309时,那么首先检查311在具体的连接器一#n连接器上是否存在可用的预定义数目的数据元。如果这为真,那么可以定义305时间框TB,在该时间框中,它的开始时间是前一时间框的结束时间,并且它的结束时间是在具体连接器上可用的最新数据元的时间戳。如果不为真,那么检查313当前算法时间是否大于当前时间框加上位移值d的开始时间。如果这为真,那么数据元就绪并且可以定义305时间框,如果为假,那么就不能够定义任何时间框!TB,因为在第n个连接器还不存在???足够的数据元。总体上,Δs组件将能处理在它们当前时间框中变化轻微的数据量,而#n组件将从被指定为#n连接器的输入中获取相同的数据量。
在实施例中,如在图4中举例说明,对于每个连接器而言,分配到组件的当前时间框在时间上是可以发生位移。在401,1中,举例说明了具有若干输入(I1..In)和三个输出(Q1,Q2,Q3)的组件。把时间框TB分配给具有开始时间BS和结束时间ES的组件,如由403所示。在该例子中,输出Q1没有位移;Q2具有正位移而Q3具有负位移。通过增加输出的位移来把某个输出连接器的生成前的时间直接链接到时间框的结束时间:
spCQ=ES(TB)+ΔdQ
其中CQ是附于所述组件输出Q的连接器,spCQ为连接器CQ的生成前的时间,se(TB)为时间框TB的结束时间,用所述时间框TB来调度组件401,而ΔdQ是组件输出Q的位移。
使用图5来描述当确定组件的可调度性时所述调度器怎样使用时间框。通过检查所述组件的每个输入连接器来确定可调度性,并且如果连接器的生成前的时间spc等于或大于所述组件的时间框的结束时间ES,那么该连接器使所述组件适于被调度503。否则,所述组件就还没有就绪以便被调度505。如前所述,组件的每个输入连接器必须符合要求,以便才能够使得该组件符合调度的要求。
已经描述了组件如何依照时间框驱动调度变得可调度,下面将要描述依照本发明实施例怎样选择要调度的组件,以及怎样依照灵活优先级模式来排序可调度的组件。
所有可调度的组件获得基于调度所述组件能够有助于输出的时间点的灵活优先级,向可能最早有助于输出的组件给予最高优先级。在每个步骤之后,更新可调度的组件集并且重新计算可调度的组件的优先级。借此通过图来使得数据出栈(pull),其中首先处理较早有助于最后结果的组件。如果一个以上的组件具有最高优先级,那么对它们应用压栈调度。
一种计算一个确定的组件可能有助于所述输出的最早时刻的方法是:使用从所述组件到输出的路径,继而把最早时刻计算为新的时间框的开始时间减去在从所述组件到所述输出的路径上所有时间框的时间长度。通过执行该计算来计算最早可能的时间。假定当调度一个组件时在一个时间框中正被处理的的第一加时间戳的数据元,等于在所述路径中下一组件的时间框中的遗漏的、加时间戳的数据元。对于在到输出的路径中的每个组件执行所述假设,借此可以得到所述组件可能有助于所述输出的最早时刻。
在若干组件是可调度之时,使用下列公式来找到哪个组件可能在最早时间有助于输出并且借此调度所述组件:
Min{spX-ΔsXp|p是从组件X到输出的路径}
spX是组件X的生成前的时输,其等于组件X的当前时间框的开始时间,而ΔsXp是与在从组件X到输出的路径p上的组件的每个时间框相关联的每个预定义的时间间隔的长度??之和。在具体实施例中,可以有时间延迟并且借此在所述路径中的两个或更多组件之间的连接中可以有时间位移。在这种情况下应该按照如下减去沿着路径p的总位移ΔdXp:
Min{spX-(ΔsXp-ΔdXp)}
如果依照上述应该调度两个组件,意味着调度这两个组件可能在相同的最早时间有助于输出,那么使用出栈调度来确定调度哪个组件。
在图6中举例说明了硬性实时系统的例子,用于解释在依照上述的系统中调度所述可调度的组件。所述系统由均为Δs组件的4个组件A、B、C和D组成,其中组件A是经由连接器601连接到组件B的输入组件,组件B经由连接器603连接到组件C,所述组件C是输出组件,而组件D是经由连接器605连接到输出组件C的输入组件。在每个连接器都举例说明了时间框607、609、611和613,并且连同每个时间框一起还示出了时间间隔ΔsA、ΔsB、ΔsC、ΔsD,其举例说明了与每个时间框相关联的预定义的时间间隔的长度。输入组件A和D接收恒定的数据流,并且因此总是存在有足够的数据元来填充时间框607和时间框611。这还意味着组件A和D总是可调度的。
在下面,使用图7a-7f来解释组件A、B,C和D的调度。在所有的图中,每个组件A、B、C和D连同与组件A、B、C和D相关联的预定义的时间间隔的时间间隔ΔsA、ΔsB、ΔsC、ΔsD一起示出了。此外,时间线700举例说明了算法时间s,而且对于每个组件A、B、C、D,把生成前的时间分别表示为spA、spB、spC和spD,并且依照时间框调度的一般属性,每个组件的生成前的时间等于与所述组件相关联的当前时间框的开始时间。最初,所有时间框的开始时间是相同的并且被标记为点。
在图7a中,最初已经调度组件A,A和D这而这曾经都是可调度的并且通过使用压栈调度选择了A。
已经由组件A处理在时间间隔701中的数据元,并且生成前的时间spA增加。在调度组件A之后,足够的数据可以用来调度组件A、组件B和组件D。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
在这种情况下,B和D这二者都能够在相同的最早时间有助于输出,因此使用压栈调度并且调度组件B。
在调度由在时间轴B的时间间隔702举例说明的组件B之后,生成前的时间spB增加。足够的数据可以用来调度组件A、组件B和组件D。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
组件D可能在最早时间有助于输出,因此如由时间间隔703所举例说明,调度组件D。在时间轴D,生成前的时间spD增加。
在图7b中,仍然足够的数据仅仅可用来调度组件A、B和D。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
这次,组件B可能在最早时间有助于输出,因此如时间间隔704所举例说明来调度组件B。
然后还可以再调度组件A、B和D,并且通过使用上述计算,如由时间间隔705所举例说明,再次调度组件D。
如在图7c中举例说明,现在有足够的数据可以用来调度组件C,因此组件A、B、C和D都是可调度的。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
组件C:spC
组件C可能在最早时间有助于输出,因此如由时间间隔706所举例说明来调度组件C。
如从图7d中所见,现在足够的数据仅仅可以用来调度组件A、B和D,使那些组件是可调度的。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
组件B可能在最早时间有助于输出,因此如时间间隔707所举例说明来调度组件B。
在图7e中,足够的数据可以用来调度组件A、B和D,使那些组件是可调度的。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spC-ΔsC
组件D可能在最早时间有助于输出,因此如由时间间隔708所举例说明,调度组件D。
在图7f中,足够的数据可以用来调度组件A、B和D,使那些组件可调度的。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:spA-(ΔsB+ΔsC)
组件B:spB-ΔsC
组件D:spD-ΔsC
组件B可能在最早时间有助于输出,因此如时间间隔709所举例说明来调度组件B。
如在图7g中举例说明,现在有足够的数据可以用来调度组件C,因此组件A、B、C和D都是可调度的。通过计算产生最小数值或最早时间来确定调度哪个组件:
组件A:SpA-(ΔsB+ΔsC)
组件B:SpB-ΔsC
组件D:SpD-ΔsC
组件C:SpC
组件C可能在最早时间有助于输出,因此如由时间间隔710所举例说明来调度组件C。
调度可以与上述相似继续进行。

Claims (7)

1.一种用于在硬性实时系统中调度可调度的组件的方法,所述硬性实时系统用于处理时间相关的数据元流,其中可调度的组件的数目大于可用的处理器的数目,所述处理器用于处理所述组件,其中每个所述组件具有至少一个输入和一个输出,其特征在于所述方法包括如下连续执行的步骤:
-为每个可调度的组件确定所述组件能够有助于所述硬性实时系统的输出的最早时间,
-调度能够在总的最早时间有助于所述实时系统的输出的所述可调度的组件。
2.如权利要求1所述的方法,其中如果一定数目的可调度的组件在相同的总最早时间有助于所述实时系统的输出,那么使用压栈调度来执行所述数目的组件的调度。
3.如权利要求1或2所述的方法,其中为每个组件指定一个预定义的时间间隔的长度,并且当来自所述时间相关的、加时间戳的数据元流的所述预定义的时间间隔的加时间戳的数据元在一个组件的所有输入端都可用之时,所述组件就是可调度的。
4.如权利要求3所述的方法,其中通过定义所述预定义的时间间隔的开始时间和结束时间,并且检查数据已经被前一组件处理之前的时间在何时比所述预定义的时间间隔的结束时间要新,来确定所述加时间戳的数据元的所述预定义时间间隔的可用性。
5.如权利要求3或4所述的方法,其中通过下列步骤来执行确定所述组件能够有助于所述输出的最早时间的步骤:
-识别所述数据元必须由其处理的随后组件的可能路径,以便从所述组件达到所述系统的输出,
-通过从所述预定义的时间间隔的开始时间中减去为在所述路径中的每个所述随后组件指定的每个预定义时间间隔的长度,来为每个可能的路径确定最早贡献时间;
-把所述组件能够有助于所述输出的最早时间确定为最早的、确定的贡献时间。
6.如权利要求3或4所述的方法,其中通过下列步骤来执行确定所述组件能够有助于输出的最早时间的步骤:
-识别所述数据元必须由其处理的随后组件的路径,以便从所述组件到达所述系统的输出,
-通过从所述预定义时间间隔的开始时间中减去为在所述路径中的每个所述随后组件指定的每个预定义时间间隔的长度来为每个可能的路径确定最早贡献时间,其中至少某些所述预定义的时间间隔已经被减去位移值;
-把所述组件能够有助于所述输出的最早时间确定为最早的、确定的贡献时间。
7.一种用于处理时间相关的数据元流的硬性实时系统,所述系统包括一定数目的组件和一定数目用于处理组件的处理器,所述组件数目大于所述处理器数目,每个所述组件具有至少一个输入和至少一个输出,所述系统包括用于为每个可调度的组件确定所述组件能够有助于所述硬性实时系统的输出的最早时间的装置,和用于调度在总的最早时间能够有助于所述实时系统的输出的可调度组件的装置。
CNB200380104807XA 2002-12-03 2003-10-31 在硬性实时系统中软件组件的出栈调度 Expired - Fee Related CN100449491C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP02080058.7 2002-12-03
EP02080058 2002-12-03

Publications (2)

Publication Number Publication Date
CN1720504A true CN1720504A (zh) 2006-01-11
CN100449491C CN100449491C (zh) 2009-01-07

Family

ID=32405743

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200380104807XA Expired - Fee Related CN100449491C (zh) 2002-12-03 2003-10-31 在硬性实时系统中软件组件的出栈调度

Country Status (10)

Country Link
US (1) US20060059483A1 (zh)
EP (1) EP1573537B1 (zh)
JP (1) JP2006509285A (zh)
KR (1) KR20050084107A (zh)
CN (1) CN100449491C (zh)
AT (1) ATE418101T1 (zh)
AU (1) AU2003274578A1 (zh)
DE (1) DE60325416D1 (zh)
ES (1) ES2319890T3 (zh)
WO (1) WO2004051460A2 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60315264T2 (de) * 2002-03-01 2008-02-14 Koninklijke Philips Electronics N.V. Durch timebox angesteuertes scheduling von softwarekomponenten in hard-echtzeitsystemen
KR100881275B1 (ko) * 2006-12-08 2009-02-05 한국전자통신연구원 Sca 멀티 컴포넌트 및 멀티 포트 환경에서의 우선 순위제어 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5640563A (en) * 1992-01-31 1997-06-17 International Business Machines Corporation Multi-media computer operating system and method
EP0750769B1 (en) * 1994-03-16 1998-05-20 International Business Machines Corporation Method and apparatus for synchronization and scheduling of multiple data streams and real time tasks
EP0817016A3 (en) * 1996-07-03 2003-10-22 Siemens Aktiengesellschaft Software ICS for high level application frameworks
US6178542B1 (en) * 1997-02-24 2001-01-23 Lucent Technologies Inc. Hardware-software co-synthesis of embedded system architectures using quality of architecture metrics
US6374405B1 (en) * 1999-02-17 2002-04-16 Opentv, Corp. Module scheduling with a time interval and ending time
JP3473687B2 (ja) * 2000-03-29 2003-12-08 日本電気株式会社 分散パイプラインスケジューリング方法および方式
US7150017B1 (en) * 2000-08-29 2006-12-12 International Business Machines Corporation System and method for scheduling digital information transmission and retransmission on a network during time slots
US7140016B2 (en) * 2000-11-29 2006-11-21 Texas Instruments Incorporated Media accelerator quality of service

Also Published As

Publication number Publication date
DE60325416D1 (de) 2009-01-29
WO2004051460A3 (en) 2005-05-26
AU2003274578A8 (en) 2004-06-23
EP1573537B1 (en) 2008-12-17
AU2003274578A1 (en) 2004-06-23
EP1573537A2 (en) 2005-09-14
WO2004051460A2 (en) 2004-06-17
ATE418101T1 (de) 2009-01-15
ES2319890T3 (es) 2009-05-14
JP2006509285A (ja) 2006-03-16
CN100449491C (zh) 2009-01-07
KR20050084107A (ko) 2005-08-26
US20060059483A1 (en) 2006-03-16

Similar Documents

Publication Publication Date Title
CN1251078C (zh) 用于确定周期任务的最好情况响应时间的方法和系统
CN1993677A (zh) 任务处理的调度方法及应用该方法的装置
CN1910553A (zh) 基于存储器要求在多处理器系统中进行任务调度的方法和设备
CN1957329A (zh) 信号处理装置
CN1154928C (zh) 用于多任务设施信息处理系统的资源管理方法和设备
CN110769278A (zh) 一种分布式视频转码方法及系统
US9104491B2 (en) Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources
US20140282572A1 (en) Task scheduling with precedence relationships in multicore systems
CN1641614A (zh) 处理器系统,dma控制电路,dma控制方法,dma控制器用控制方法,图形处理方法和图形处理电路
CN1862515A (zh) 数据传送装置、数据传送方法和程序
Ma et al. Critical-path and priority based algorithms for scheduling workflows with parameter sweep tasks on global grids
CN1802635A (zh) 资源管理方法以及设备
CN1828541A (zh) Java操作系统中定时任务的实现方法
CN1615471A (zh) 确定一个进度表的方法、调度器和系统
CN1589433A (zh) 向任务分配预算盈余的方法和系统
JP2005044326A (ja) 改善されたedfスケジューリング方法
CN109491775B (zh) 一种用于边缘计算环境下的任务处理与调度方法
CN1604583A (zh) 根据服务质量支持服务的网络装置、网络系统及其方法
CN113835866B (zh) 多线程任务调度优化方法
CN1879085A (zh) 处理抢占点的改进方法
Yang et al. A pipeline-based approach for scheduling video processing algorithms on now
CN1720504A (zh) 在硬性实时系统中软件组件的出栈调度
CN1773955A (zh) 一种数据网络中的队列调度方法及装置
CN101057220A (zh) 用于管理存储器空间的系统和方法
CN1828543A (zh) Java操作系统中实时任务调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090107

Termination date: 20091130