CN102317915B - 分析系统的实时能力的方法 - Google Patents
分析系统的实时能力的方法 Download PDFInfo
- Publication number
- CN102317915B CN102317915B CN201080008079.2A CN201080008079A CN102317915B CN 102317915 B CN102317915 B CN 102317915B CN 201080008079 A CN201080008079 A CN 201080008079A CN 102317915 B CN102317915 B CN 102317915B
- Authority
- CN
- China
- Prior art keywords
- event
- task
- restriction
- assigned
- stream
- 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.)
- Active
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
-
- 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/44—Arrangements for executing specific programs
-
- 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
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种用于分析系统的实时能力的方法,所述系统具体而言是计算机系统,在所述系统上提供各种任务,其中所述任务被重复执行,以及其中任务的执行是由该任务的启动触发的,这表示所述任务的事件,其中提供多个描述性要素以将事件的时间关联描述为事件流,其中所述事件流可以检测事件的最大时间密度和/或事件的最小时间密度,且其中有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联。
Description
技术领域
本发明涉及一种用于分析包括程序模块(任务)和/或电子电路模块的复杂分布式系统的时间响应的计算机实现方法。
背景技术
这样的系统包括以程序模块(任务)和/或电子电路模块形式的多个组件。所述组件互相通信并处理或转换数据。而且,这样的系统可以包括用于检测数据的传感器、用于与用户交互的模块、用于物理地影响环境或其他系统的致动器以及用于将信息发送给用户或环境的输出媒介。
接着,某些组件(执行资源)可以部分地执行一个或多个程序模块。如果执行较多模块,则可以利用序列规划方法或排程方法为单个模块指定执行时间的顺序或分配。
执行的排程方法可能是静态排程方法以及动态排程方法,在静态排程方法中,静态地确定待执行的模块的执行顺序和执行时间的分配,在动态排程方法中,根据与以下有关的预定策略来确定顺序和执行时间分配:取决于待处理的数据的运行时间、其他模块的执行、环境和/或用户交互。
这样的系统和组件可能对时间要求严格,因为它们不仅对正确地确定结果和控制决策有要求,还对检测时间段以及提供结果的时间点有要求。这样的要求的示例为确定结果的最大延迟时段或者对值、传感器或输入数据的变化保证的响应时间。然而,这样的要求还可能在定期的时间延迟中或固定的时间范围内提供新的计算结果。
模块可以通过通信线路互相激活和/或同时交换数据。为了模拟所述通信线路或激活线路,已开发出大量事件模型。这样的关系可以通过例如仅单一周期、一个周期和抖动、事件流[Gresser:Echtzeitnachweis EreignisgesteueterRealzeitsysteme,M üchen 1993,(通过引用方式并入本文)]或者分层事件流(参见WO2008/003427)来模拟。很多其他的事件模型也是可能的。
就实时系统的分析而论,重要的是尽可能地接近真实系统中的变化过程。在实际嵌入系统中,各种组件和任务在很大程度上是隐含地互相联系的,其并不包括执行场景,但在实时分析中,执行场景不能被排除在外,而不必考虑这些相关性。因此,实时分析可能产生更保守的结果,比如最大反应时间(响应时间)比真实系统所需的最大反应时间长。
在目前的实时分析中,考虑一系列的相关性。然而,这总是需要具体地扩展用于精确考虑所需的相关性的类型的分析算法。因此,在分析中考虑新类型的相关性是复杂的。而且,目前的实时分析方法仅涵盖部分相关性。
因此,有利的是将相关性的确定和模拟与实际的实时分析分开的机制。因此,在实时分析中,仅需要考虑此抽象相关性模型以考虑可以确定所述抽象模型的所有相依关系。
发明内容
根据本发明,建议了限制串件流这样的机制。
根据第一方面,本发明提供了一种用于分析系统的实时能力的计算机实现方法,所述系统具体而言是计算机系统,在该系统上提供各种任务,
其中所述任务被重复执行,以及
其中任务的执行是由该任务的启动触发的,这表示所述任务的事件,
其中提供多个描述性要素以将事件的时间关联描述为事件流,
其中所述事件流可以检测事件的最大时间密度和/或事件的最小时间密度,
且其中有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且该至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联。
所述至少另一描述性要素描述限制事件流。
优选的是,所述至少另一描述性要素或限制事件流中的至少一个描述由至少两个事件流获取的全部事件的最大时间关联,其中对于至少一时间区间(dt),所述限制事件流在dt中所允许的事件的数量小于非限制事件流在dt中所允许的事件的和。
所述至少另一描述性要素或限制事件流的至少一个优选地描述由至少两个事件流获取的全部事件的最小时间关联,其中对于至少一时间区间(dt),所述限制事件流在dt中所允许的事件的数量大于所述非限制事件流在dt中所允许的事件之和。
所述系统优选地被分配有至少一个组件或资源,所述组件中的至少一个被分配有至少两个任务。
优选地,至少两个任务组成一个组,一组中的任务分配给一资源,所述任务为所述资源竞争或者此组的任务仅可以在不同的时间处理所述资源,所述系统包括用以确定所述资源被分配给所述组中的某一任务的时间点的方法。
根据优选实施方式,所述限制事件流中的至少一个被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,其中这些任务被分配给至少一个联合组,其中费用(cost)分别分配给所述任务,所述费用分别针对一个事件获取所述任务对所述资源的暂时使用,
所述方法还包括以下步骤:
确定所述任务共同需要的费用,
这包括以下步骤:
将限制事件流的事件分配给具有最高费用的任务,其中被分配的串件的量是受启动所述任务的事件流限制的,
考虑被分配的事件的量,确定限制事件流的其余结果,
将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流限制的,
重复所述步骤,直到限制事件流的所有事件被分配,以及自各个任务的费用以及分别分配的事件的量检测全部费用。
根据第二方面,本发明提供了一种用于分析系统的实时能力的计算机实现方法,所述系统具体而言是计算机系统,在该系统上提供多个不同的任务,
其中所述任务被重复执行,以及
其中任务的执行由所述任务的启动触发,这表示所述任务的事件,
其中提供一个或多个描述性要素以将事件的时间关联描述为事件流,
其中所述事件流可以获取事件的最大时间密度和/或事件的最小时间密度,
有至少另一描述性要素,许多事件流分配给所述至少另一描述性要素,且所述至少另一描述性要素描述由至少两个事件流获取的全部事件的时间关联,
其中所述限制事件流中的至少一个被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,其中所述任务被分配给至少一个联合组,其中费用分别分配给所述任务,所述费用分别针对各自的一个事件检测所述任务对所述资源的暂时使用,
所述方法还包括以下步骤:
确定所述任务共同需要的费用,
这包括以下步骤:
将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流限制的,
考虑被分配的事件的量,确定限制事件流的其余结果,
将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流限制的,
重复所述步骤,直到限制事件流的所有事件被分配,以及
自各个任务的费用以及分别分配的事件的量检测全部费用。
根据本发明的两个方面,至少两个事件流被分配两个不同的限制事件流,所述方法还包括以下步骤:
确定所述任务共同需要的费用,
这包括以下步骤:
将限制事件流的事件分配给具有最高费用的任务,其中被分配的事件的量是受启动所述任务的事件流以及限制事件流所分别允许的事件的量的最小值限制的,
确定限制事件流的其余事件,其中考虑实际分配的事件的量,
将所述限制事件流的其余事件分配给具有次最高费用的任务,其中,所述被分配事件的量是受启动所述任务的事件流以及分配给所述任务的其他限制事件流限制的,
重复所述步骤,直到限制事件流的所有事件被分配或者事件量被分配给所述组的所有任务,
自各个任务的费用以及分别分配给各个任务的事件的量检测全部费用。
优选地,所述限制事件流被分配给许多点以描述所述事件在时间区间中的密度,所述限制事件流被分配至少两个受限事件流,所述受限事件流对事件要求不同量的点。
第一任务的启动可以由第二任务执行,其中这些启动的时间关联还可以由事件流获取(第一任务的输出事件流、第二任务的输入事件流)。
优选地,至少两个资源分配给所述系统,其中第一组任务被分配给第一资源,第二组任务被分配给第二资源,
其中所述第一组的至少两个任务分别直接或通过多个任务来启动所述第二组的任务,这包括以下步骤:
为所述第一任务的输出事件流确定至少一限制事件流,
除非至少一第二任务的启动是由第一任务直接执行之外,否则为所述第二任务的输入事件流确定至少一限制事件流,
考虑所述第二任务的输入事件流的限制事件流,检测所述第二任务共同需要的费用。
为了确定所述第二任务的限制事件流中的至少一个,使用所述第一任务的限制事件流。
所述任务优选是可以由CPU或电子电路模块执行的单元。
通常,系统中的许多事件流可以分配给另一描述性要素,该描述性要素优选地为限制事件流。利用此限制事件流,分配给限制事件流的所有受限事件流的关联要求得到描述。例如,针对区间10ms,如果最大量为5个的事件分配给受限制事件流ES_AB,该ES_AB被分配事件流ES_A和ES_B且描述事件的最大量,这意味着在实时系统中,ES_A和ES_B下的启动在10ms区间中一共产生的事件不能超过5个。具体而言,这在发生以下情况时也是正确的:例如,ES_A在任一10ms区间中可以被分配6个事件,ES_B在任一(其他)10ms区间中可以被分配7个事件,即ES_A和ES_B在一区间中的和超出了限制事件流ES_AB的值。限制事件流仅在至少一个这样的区间存在时才有帮助。如果分配给限制事件流的和在任一区间都不超过同一区间的限制事件流的值,所述限制事件流与分析无关。
与用于最大事件流的限制事件流相对应,还可以设定用于最小事件流的限制事件流。如果最小限制事件流就至少一个区间而言超出了分配给该最小限制事件流的事件流的和,则该最小限制事件流有意义。
可以由限制事件流描述的相关性的示例起因于两个或更多任务之间为了例如共同执行资源的竞争。对于每一单独的任务,对该区间而言(在该区间中,任务被分配排程方法的最高可能比例的共同执行资源),产生从所述任务输出的事件的最大可能密度,即从所述任务输出的事件流的最大值。然而,通常情况是:第二任务无法被分配这样高比例的共同执行资源,这意味着就这些区间而言,第二任务的输出事件流的最大值不发生。因此,通常,第一任务的输出事件流的最大值和第二任务的输出事件流的最大值不能同时发生。此关系可以由限制事件流描述,限制事件流根据竞争情况描述各个输出事件流的最大可能同时性。
还可以针对事件的量或能量而非时间区间来设定限制事件流。在这一点上是重要的:限制事件流和分配给所述限制事件流的多个限制事件流基于同种类型的值。
在限制事件流中,大量点(即权重系数)也可以分配给时间区间,其中根据受限事件流确定限制事件流的一个或多个事件需要使用多少点。要使用的点的所述量可以针对分配给限制事件流的不同受限事件流变化。因此,例如,不同地排列所述不同受限事件流或按事件模拟可变复杂性是可能的。
在有利的实施方式中,所述机制应用于具体的相关性类型。在此,第一组任务分配给第一资源,第二组任务分配给第二资源。
其中,第一组的至少两个任务分别直接或通过多个任务来启动第二组的第一任务。需要以下步骤:
为第一任务的输出事件流确定至少一限制事件流,
如果至少一第二任务的启动不由第一任务直接执行,为所述第二任务的输入事件流确定至少一限制事件流,
考虑所述第二任务的输入事件流的限制事件流,检测所述第二任务共同需要的费用。
限制事件流可以由考虑相关性的分析方法自动检测或者还可以由实时分析的使用者设定。
如果任务仅可以被选择性地启动,则可以由限制事件流描述另一种相关性。这可以例如取决于某数据或处理结果发生,所述处理结果需要在与数据处理或各种致动器的控制有关的选择之间作决定。
这样的选择的另一示例是引擎控制单元,其中在各种范围的速度中,各个其他任务被启动,例如以计算最佳的下一点火点。
利用这些供选择的任务的限制事件流可以确保在实时分析的每一步骤中,每一情况下将仅考虑一个供选择的任务,即最复杂的任务。
附图说明
下文给出了详细描述:
图1示出了具有几个不同的相关性的分布式系统的示例;
图2示出了描述竞争相关性的限制事件流的示例;
图3示出了用于竞争任务的限制事件流的区间的计算;
图4示出了利用限制事件流计算最坏情况响应时间的较高优先级任务的功劳的计算;以及
图5以百分比示出了事件流ΘF、ΘH以及ΘJ的区间的提高。
具体实施方式
嵌入式系统的要求逐代提高。例如,每一代的汽车实现更多的软件功能,这引起嵌入式系统更复杂。新型汽车具有多达70个通过若干总线连接的ECU。大多数功能具有实时限制,比如引擎管理系统以及ABS系统。
为了使工业软件开发商普遍认同实时分析,任务的实际最坏情况响应时间的紧密边界是重要的。成功的方法是考虑成链的任务集的相关性。本发明提供了结合实时分析中的不同类型的相关性的新型整体性模型。根据本发明的此大体模型可以集成到优先级固定的系统的可调度分析中。
图1示出了典型的分布式系统。该系统包括两个CPU和一个总线。针对此示例,假定每一资源上的调度优先级是固定的。该系统具有在处理器和总线上执行的八个任务。如图中所示指定优先级。任务的启动由事件流Θ表示。
为了分析图1的系统,需要计算每一任务的最坏情况响应时间。常见的方式是假定系统的所有任务和描述启动的事件流是独立的。这意味着在最坏情况响应时间分析中,事件可以以其最大密度发生,因为并未考虑系统的背景。实时分析的结果是:任务之间的干扰总是最大且导致非常悲观的结果。
为了获得更紧密的响应时间边界,本发明引入了两种相关性:第一相关性是基于竞争的相关性,其描述由同一组件执行的任务为此组件竞争的情况。这样的竞争具有以下效果:当假定任务不独立时某些事件不会以同样的密度发生。例如,图1中的ΘG和ΘH。
第二种相关性是基于偏移的相关性,其描述来自不同事件流的事件必须互相以时间顺序发生。例如,如果考虑图1中的事件流ΘB和ΘC,则认为所述事件流之间存在相关性。这对连续的任务和事件流有直接影响。引入此相关性的目的是示出根据本发明的方法的普遍性。
这两个引入的相关性引起了实时系统的边界更紧密。期望将两种相关性都计入实时分析中。在之前的研究中,不存在作为用以描述任务之间的相关性的普遍方法的整体模型。
下文中,描述以下讨论的实时分析所需的模型。
任务模型:Γ是一个资源Γ={τ1,...,τn}上的任务a。任务是4元组,τ=(c+,c-,Φ,Θ)。c+是最坏情况执行时间,c-是最佳情况执行时间,Φ是用于调度的优先级(数越小,优先级越高)以及Θ定义事件流对任务的启动。使τij为任务τi的第j次工作/执行。
假定任务的每一次工作在其执行结束时产生一事件以通知其他任务。
事件流模型:事件流模型为事件界函数给出了有效的通用符号。
就本发明而言,定义了关于每一区间Δt,事件界函数η(Δt,Θ)给出了在长度为Δt的任一区间中自事件流Θ发生的事件的数目的上界。因此,事件界函数是次加性函数,意味着对于每一区间Δt、Δt′,以下条件(1)适合:
η(Δt+Δt′,Θ)≤η(Δt,Θ)+η(Δt′,Θ) (1)
η(Δt,Θ)、η(Δt′,Θ)返回在任一Δt或Δt′内可能发生的事件的最大数目。在Δt+Δt′中的事件必须在Δt或Δt′中发生。因此该条件成立。
就本发明而言,还定义了:事件流Θ是事件元素Θ的集合。每一事件元素由时间段p和偏移a(Θ=(p,a))给出。
在不了解具体系统的事件的最坏情况密度的情况下,可以用密度的上限来描述事件流。模拟任一事件序列是可能的。只有次加性的条件成立的那些时间序列是有效的事件流。
关于事件序列Θ和区间Δt的事件约束函数由以下给出:
作为逆函数,定义了以下区间函数,其为多个事件和事件流提供了这些事件可以发生的最小区间。
用于多个事件和Θ的区间函数由以下给出:
Δt+(n,Θ)=min{Δt|η(Δt,Θ)=n} (3)
事件流的一些示例可以在以下找到:Karsten Albers、Frank Bodmann以及Frank Slomka:Hierarchical event streams and event dependency graphs:A newcomputational model for embedded real-time systems;ECRTS’06:Proceedings of the18th Euromicro Conference on Real-time Systems,第97-106页,华盛顿哥伦比亚特区,美国,2006,IEEE Computer Society(以引用方式并入本文)。
为了扩展先前讨论的嵌入式实时系统的模型,下面描述限制事件流。
示例2:图1给出了关于限制事件流的示例。假定ΘB=ΘC={(20,0)}且在这两个事件流之间偏移10个传输单位。事件的累计发生可以由限制事件流描述:如果认为事件流是独立的,则我们在区间Δt=5中得到两个事件。而限制事件流描述在区间Δt中可以发生多少个累计事件。利用此相关性,我们在区间Δt=5中仅得到一个事件。
接下来描述可以如何计算限制事件流。
下文中,描述根据本发明的基于竞争的相关性。在图1中,示例性地示出了任务之间的此类型的相关性。任务τ4和τ5由相同的资源执行。这意味着它们为此资源作竞争。在相关文献中,在分析任务τ4或τ5期间,独立的考虑输出事件流ΘG和ΘH。
图2示出了描述竞争相关性的限制事件流的实例。时间线上的箭头表示入事件。时间线下的箭头表示由任务产生的事件。甘特图的第一部分中,情况是认为没有竞争任务。以这样的方式调度任务的第一工作:使两个输出事件可以几乎同时发生。在第一工作的第一事件之后,尽快产生接下的事件。在独立的情况下,接下来的两个事件也可以同时发生。但这是不可能的,因为τ4和τ5由同一处理器执行,所述工作必须一个任务接一个任务地执行。这在下方的甘特图中示出,该甘特图描述了正确发生的事件。因为任务干扰性,彼此独立地考虑输出事件流是不够的。此干扰可以通过限制事件流模拟。
如图2所示,两个累计输出事件可以同时产生。这基于以下事实:具有较高优先级的任务在第二任务快要完成之前中断所述第二任务。结果是:两个事件几乎同时发生。这还可以应用在n个任务上,结果是n个事件可以同时发生。
对于一个任务而言,可以得出必须至少执行(n-1)·c-个执行要求以产生n个事件。
为了计算限制事件流,通过使基于竞争的相关性的限制区间函数公式化来确定n个事件之间的最小距离。
这是可以证明的,因为认为n个事件可以以比假设的距离小的距离发生。这将意味着,最小值的组合之一导致较短的距离。因此,区间函数或和提供较短的距离。假定区间函数提供较短的距离,且因此事件以比事件流定义中的距离短的距离发生。但是根据事件流定义,这是矛盾的。因此,最佳情况执行时间之和必须以较短距离发生。这只有当所考虑的执行时间之一比假定的执行时间小时才发生,这是矛盾的,因为我们已为所有任务假定了最佳状态执行时间。
本发明引入了一程序,该程序为n个事件提供了所述n个事件在其中发生的最小区间。图3中示出了此程序。在本发明中,引入了对事件流的标准化以有效地计算Δt+(n,Θ)。
在图3中,外循环迭代在上述最小运算所考虑到的所有组合(第4行到第10行)。第5行考虑每一事件流的所有区间,这是通过进行的。内循环(第7行到第9行)计算最佳情况执行时间产生的最小距离,比如最后,所有区间的最小区间被确定,且返回其中n个累计事件可发生的最小区间(第10行)。
为了示出根据本发明的方法的普遍性,调整了Rodolfo Pellizzoni和GiuseppeLipari(Improved schedulability analysis of real-time transactions with earliestdeadline scheduling,RTAS’05:Proceeding of the 11th IEEE Real Time on EmbeddedTechnology and Applications Symposium,第66-75页,华盛顿哥伦比亚特区,美国,2005,IEEE Computer Society(以引用方式并入本文))的交易型模型中引入的关于偏移的问题。作为示例,仅考虑了任务启动之间的静态偏移,但此方法还涵盖动态偏移。
本发明假定,针对具有偏移a的两个严格周期性任务τ1和τ2,我们仅需要计算τ1和τ2的事件之间的最小距离a’。最小距离是通过a′=min(mod(a,x),mod(-a,x))、利用任务的周期的最大公约数x=gcd(pτ1,pτ2)计算的。产生以下限制区间函数:
Δβ(n)=min(Δt+(n,{(pτ1,0),(pτ2,a′)}),Δt+(n,{(pτ1,a′),(pτ2,0)})) (5)
现在我们可以通过直接建立事件流:在mod(a,x)≤mod(-a,x)的情况下,限制事件流为 在mod(-a,x)<mod(a,x)的情况下,限制事件流为 对于多于两个的任务而言,该方法可适于计算限制区间函数。
为了使用限制事件流,需要使新的概念适用于实时分析,尤其适用于最坏情况响应时间分析。当考虑限制事件流时,我们需要确定在区间Δt中任务的最坏情况功劳多大。
现在认为,当具有最大最坏情况执行时间的任务尽可能多地发生,接着具有第二最大执行时间的任务尽可能多地发生,直到具有最小最坏情况执行时间的任务尽可能多地发生,一直到限制事件流禁止其他事件发生为止,区间Δt中的任务的最大功劳发生。
这可以通过假定有与该假设给出的分布不同的另一分布来证明。因此,必须存在至少一个不遵循假设中的样式的事件。为了提高任务的功劳,事件必须触发其最坏情况执行事件比假定的最坏情况执行时间长的任务。但这是矛盾的,因为我们已经为具有较大最坏情况执行时间的所有任务假定了最大调用次数。
按照以下描述定义响应时间分析:如果条件成立,则任务集是可行的且实时分析是成功的。可以通过以下方程式计算考虑事件流的任务的最坏情况响应时间:
由较高优先级任务产生的执行量可以通过将事件约束函数乘以最坏情况执行时间计算。通过不动点迭代,可以针对每一工作k计算最坏情况响应时间。
算法具有以下参数:所考虑的区间Δt、被分析的任务的工作数目k、研究的任务τ、需要的限制事件流的集以及包括具有比τ的优先级高的优先级的所有任务的ΓHP。算法根据任务的最坏情况执行时间将任务分类(第8行)并针对每一限制事件流存储此流在Δt内所允许的事件的最大量(第9行)。被分析的任务τ的调用次数必须从相应的限制事件流中减去(第10行)。在循环(第11行到第16行)中,考虑所有较高优先级的任务。首先考虑具有最大最坏情况执行时间的任务。该算法为任务确定被任务的事件流所调用的最大次数(第12行)以及事件流的边界(如果该边界存在的话)(第13行)。它们中的最小者用来计算Δt内的任务的最大功劳(第14行)。第二循环(第15行到第16行)通过所使用的事件来减小相应的限制事件流(第16行)。因此,所述循环将限制事件流的事件量的时间分配在所述任务上。这产生Δt内的较高优先级任务的最坏情况功劳。
注意到,响应时间分析的复杂性仍是伪多项式。计算限制事件流的复杂性取决于所考虑的相关性的类型。计算基于竞争的相关性的问题会因其组合复杂性而变得具有挑战性。然而,分析不受此问题影响。因此,建议找到限制事件流的上限以提高运行性能。
通过以下个案研究示出了此新方法的意义。待研究的系统在图1中示出并且在上文予以描述。表1给出了该系统的参数,表2给出了事件流。我们选择此系统是因为其易于执行且其示出了整个新方法。
表1.图1中示出的分布式系统的参数
为了计算系统的事件流,本发明可以应用以下给出的方法:SteffenKollmann、Karsten Albers以及Frank Slomka的Effects of simultaneous stimulationon the event stream densities of fixed-priority systems;Spects’08:Proceedings of theInternational Simulation Multi-Conference,IEEE,2008年6月(以引用方式并入本文)。该系统中产生的事件流在表2中示出。由此,我们将利用相关性和不利用相关性计算出的事件流作比较。假定事件流ΘB和ΘC之间的静态偏移为100个传输单位。
Θ | 利用相关性 | 不利用相关性 |
ΘA | {(00,0)} | {(100,0)} |
ΘB | {(200,0)} | {(200,0)} |
ΘC | {(200,0)} | {(200,0)} |
ΘD | {(∞,0),(100,90)} | {(∞,0),(100,90)} |
ΘE | {(∞,0),(200,150)} | {(∞,0),(200,150)} |
ΘF | {(∞,0),(200,140)} | {(∞,0),(200,70)} |
ΘG | {(∞,0),(200,100)} | {(∞,0),(200,100)} |
ΘH | {(∞,0),(∞,80),(∞,160),(200,310)} | {(∞,0),(∞,80),(∞,160),(∞,240),(200,370)} |
ΘI | {(∞,0),(∞,30),(∞,60),(100,130)} | {(∞,0),(∞,30),(∞,60),(∞,90),(100,165)} |
ΘJ | {(∞,0),(200,55)} | {(∞,0),(200,55)} |
ΘK | {(∞,0),(∞,70),(∞,150),(200,300)} | {(∞,0),(∞,70),(∞,150),(∞,130),(200,360)} |
表2.分布式系统的所有事件流。利用与不利用该方法计算出的结果。
表3.计算出的限制事件流的结果
在计算出事件流之后,我们仔细查看系统在分析方面的改进。首先,考虑该系统中的一些事件流以及密度的改进。这在表4和图5中示出。
n | ΘF | Θ′F | imp. | ΘH | Θ′H | Imp. | ΘI | ′Θ′I | imp. |
1 | 0 | 0 | 0% | 0 | 0 | 0% | 0 | 0 | 0% |
2 | 140 | 70 | 50% | 80 | 80 | 0% | 30 | 30 | 0% |
3 | 340 | 270 | 20.58% | 160 | 160 | 0% | 60 | 60 | 0% |
4 | 540 | 470 | 12.96% | 310 | 240 | 22.5% | 130 | 90 | 30.7% |
5 | 740 | 670 | 9.45% | 510 | 370 | 27.45% | 230 | 165 | 28.26% |
6 | 940 | 870 | 7.44% | 710 | 570 | 19.71% | 330 | 265 | 19.69% |
7 | 1140 | 1070 | 6.14% | 910 | 770 | 15.38% | 430 | 365 | 15.11% |
8 | 1340 | 1270 | 5.22% | 1110 | 970 | 12.61% | 530 | 465 | 12.26% |
9 | 1540 | 1470 | 4.54% | 1310 | 1170 | 10.68% | 630 | 565 | 10.31% |
10 | 1740 | 1670 | 4.02% | 1510 | 1370 | 9.27% | 730 | 665 | 8.9% |
表4.这示出了该方法对事件流ΘF、ΘH以及ΘJ的改进。Θ示出了具有相关性的区间,Θ′示出了不具有相关性的区间,以%给出改进。
相关性不仅对事件流的密度有影响,还对最坏情况响应时间有直接影响。任务τ3的最坏情况响应时间已从150个传输单位降低到80个传输单位。这意味着在此情况下,利用相关性得到的分析结果比不利用相关性得到的分析紧密46.66%。任务τ6在不利用相关性时最坏情况响应时间为255个传输单位,利用相关性时最坏情况响应时间为205个传输单位,最坏情况响应时间降低了19.6%。
此示例示出了相关性可以改善实时分析。由此我们已示出了不同的相关性以常见方法组合在一起是多么简单。
本发明提供了以下可能性:获得分布式实时系统中的任务相关性的整体模型。该新方法已应用于固定优先级系统。描述了两种相关性以及这些相关性可以如何由新定义的限制事件流描述。由此,引入了另一种新的相关性。得到此效果:本发明减小了实时系统的相关性的复杂性。
尽管本发明已在附图和以上描述中予以说明和描述,但这样的说明和描述应当看作是说明性的或示例性的而不是限制性的。将理解,可以由普通技术人员在以下权利要求的范围内作修改和改动。具体地,本发明涵盖具有来自上文和下文描述的不同实施方式的特征的任何组合的其他实施方式。
而且,在权利要求中,词“包括”不排除其他组件或步骤,且不定冠词“一”不排除多个。单个单元可以实现权利要求中叙述的具有多个特征的功能。与属性或值关联的术语“基本”、“大约”、“近似”等还分别具体地明确定义属性或值。权利要求中的任何标号不应当看作限制范围。
Claims (10)
1.一种用于分析计算机系统的实时能力的计算机实现的方法,所述计算机系统重复地执行该计算机系统上提供的任务,其中,任务的执行是由该任务的启动触发的,所述任务的启动表示与所述任务相关的事件,所述方法包括:
提供多个描述性要素,所述描述性要素将事件的时间关联描述为事件流,
使用所述事件流检测事件的最大时间密度和事件的最小时间密度中的至少一个,以及
提供至少另一限制事件流的描述性要素,至少两个受限事件流被分配给该限制事件流,其中,所述另一限制事件流的描述性要素为:
(i)第一描述性要素,所述第一描述性要素进一步描述由至少两个分配的受限事件流获取的全部事件的最大时间关联,其中对于至少一时间区间dt,所述限制事件流在dt中所允许的事件的量小于所述分配的受限事件流在dt中所允许的事件的量之和;或
(ii)第二描述性要素,所述第二描述性要素进一步描述由至少两个分配的受限事件流获取的全部事件的最小时间关联,其中对于至少一时间区间dt,所述限制事件流在dt中所允许的事件的量大于所述分配的受限事件流在dt中所允许的事件的量之和。
2.如权利要求1所述的方法,其中所述计算机系统包括至少一个组件或资源,其中所述方法还包括分配至少两个任务给所述至少一个组件或资源。
3.如权利要求1所述的方法,其中至少两个任务包含在一组中,该组中的任务分配给一资源,其中所述任务为所述资源竞争或者所述任务在不同的时间处理所述资源,其中所述方法还包括确定所述组中的某一任务被分配给所述资源的时间点。
4.如权利要求1所述的方法,其中所述限制事件流被分配至少两个受限事件流,所述受限事件流分别启动不同的任务,各个任务被分配给至少一个联合组,其中费用分别分配给所述各个任务,所述费用分别针对一个事件获取任务对资源的暂时使用,其中所述方法包括:
将所述限制事件流的事件分配给具有最高费用的第一任务,其中被分配给第一任务的事件的量是受启动所述第一任务的事件流限制的,
基于被分配的事件的量,确定所述限制事件流的其余事件,
将所述限制事件流的其余事件分配给具有次最高费用的第二任务,被分配给第二任务的事件的量是受启动所述第二任务的事件流限制的,
重复确定和分配,直到所述限制事件流的所有其余事件被分配,以及
自分配给所述各个任务的费用以及被分配的事件的量确定联合费用。
5.如权利要求1所述的方法,其中至少两个事件流被分配两个不同的限制事件流,所述至少两个事件流分别启动不同的任务,各个任务被分配给至少一联合组,其中费用分别分配给所述各个任务,所述费用分别针对一个事件检测任务对资源的暂时使用,其中所述方法还包括:
将所述限制事件流的事件分配给具有最高费用的第一任务,其中被分配给第一任务的事件的量是受启动所述第一任务的事件流以及所述限制事件流所分别允许的事件的量的最小值限制的,
基于被分配的事件的量,确定所述限制事件流的其余事件,
将所述限制事件流的其余事件分配给具有次最高费用的第二任务,被分配给第二任务的事件的量是受启动所述第二任务的事件流以及分配给所述第二任务的其他限制事件流限制的,
重复确定和分配,直到所述限制事件流的所有其余事件被分配或者事件的量被分配给所述至少一联合组的所有任务,
自分配给各个任务的费用以及分配的事件的量确定联合费用。
6.如权利要求1所述的方法,其中所述限制事件流被分配给许多点以描述事件在至少一个时间区间中的密度,所述限制事件流被分配至少两个受限事件流,所述受限事件流对事件要求不同量的点。
7.如权利要求1所述的方法,其中第一任务的启动由第二任务执行,且其中与所述第一任务和所述第二任务相关的启动的时间关联还由所述第一任务的输出事件流和所述第二任务的输入事件流获取。
8.如权利要求1所述的方法,其中至少两个资源分配给所述计算机系统, 其中第一组任务被分配给第一资源,第二组任务被分配给第二资源,其中所述第一组的至少两个任务分别直接或通过多个任务来启动所述第二组的任务,其中所述方法还包括:
为所述第一组中的第一任务的输出事件流确定至少一限制事件流,
除非所述第二组中的第二任务的启动是由所述第一组中的第一任务直接执行,否则为所述第二组中的第二任务的输入事件流确定至少一限制事件流,
基于针对第二任务的输入事件流的限制事件流,确定所述第二组中的第二任务的联合费用。
9.如权利要求8所述的方法,其中所述方法还包括:使用与所述第一任务相关的限制事件流,确定与所述第二任务相关的至少一个限制事件流。
10.如权利要求1所述的方法,其中所述任务是能够由处理器或电子电路模块执行的单元。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15282809P | 2009-02-16 | 2009-02-16 | |
US61/152,828 | 2009-02-16 | ||
PCT/EP2010/051783 WO2010092146A1 (en) | 2009-02-16 | 2010-02-12 | Method for analysing the real-time capability of a system |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102317915A CN102317915A (zh) | 2012-01-11 |
CN102317915B true CN102317915B (zh) | 2014-03-26 |
Family
ID=42201299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201080008079.2A Active CN102317915B (zh) | 2009-02-16 | 2010-02-12 | 分析系统的实时能力的方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8533727B2 (zh) |
EP (1) | EP2396725A1 (zh) |
JP (1) | JP2012518215A (zh) |
KR (1) | KR20110124309A (zh) |
CN (1) | CN102317915B (zh) |
CA (1) | CA2752806C (zh) |
IL (1) | IL214694A0 (zh) |
WO (1) | WO2010092146A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9477537B2 (en) * | 2010-12-13 | 2016-10-25 | Microsoft Technology Licensing, Llc | Reactive coincidence |
KR101383225B1 (ko) * | 2012-09-03 | 2014-04-09 | 서울대학교산학협력단 | 하나 이상의 실행 유닛에 대한 성능 분석 방법, 성능 분석 장치 및 성능 분석 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 |
US10311384B2 (en) | 2015-07-29 | 2019-06-04 | Microsoft Technology Licensing, Llc | Automatic creation and maintenance of a taskline |
GB2545507B (en) * | 2015-12-18 | 2019-07-17 | Imagination Tech Ltd | Controlling scheduling of a GPU |
US10552205B2 (en) * | 2016-04-02 | 2020-02-04 | Intel Corporation | Work conserving, load balancing, and scheduling |
CN109828838A (zh) * | 2018-12-18 | 2019-05-31 | 深圳先进技术研究院 | 一种资源分配和任务调度多目标协同处理方法 |
FR3093579B1 (fr) * | 2019-03-07 | 2021-07-30 | Thales Sa | Ordonnanceur d'evenements pour microprocesseur |
CN112787970B (zh) * | 2019-11-01 | 2024-04-16 | 华为技术有限公司 | 用于订阅事件流的方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3376906B2 (ja) * | 1998-02-18 | 2003-02-17 | トヨタ自動車株式会社 | 計算機の負荷率計測システム |
DE102005010580A1 (de) * | 2005-03-04 | 2006-09-07 | Inchron Gmbh | Verfahren zur Echtzeitanalyse eines Systems |
EP2044541A2 (de) | 2006-07-03 | 2009-04-08 | Inchron GmbH | Verfahren zur prüfung der echtzeitfähigkeit eines systems |
GB2443277B (en) * | 2006-10-24 | 2011-05-18 | Advanced Risc Mach Ltd | Performing diagnostics operations upon an asymmetric multiprocessor apparatus |
US7770183B2 (en) * | 2007-01-30 | 2010-08-03 | Microsoft Corporation | Indirect event stream correlation |
-
2010
- 2010-02-12 EP EP10712022A patent/EP2396725A1/en not_active Withdrawn
- 2010-02-12 JP JP2011549577A patent/JP2012518215A/ja active Pending
- 2010-02-12 KR KR1020117021553A patent/KR20110124309A/ko not_active IP Right Cessation
- 2010-02-12 US US13/201,301 patent/US8533727B2/en active Active
- 2010-02-12 WO PCT/EP2010/051783 patent/WO2010092146A1/en active Application Filing
- 2010-02-12 CA CA2752806A patent/CA2752806C/en active Active
- 2010-02-12 CN CN201080008079.2A patent/CN102317915B/zh active Active
-
2011
- 2011-08-16 IL IL214694A patent/IL214694A0/en active IP Right Grant
Non-Patent Citations (3)
Title |
---|
《Analyzing the Timing Characteristics of Task Activations》;Frank Bodmann et al;《Industrial Embedded Systems》;20061001 * |
《Analyzing the Timing Characteristics of Task Activations》;Frank Bodmann et al;《Industrial Embedded Systems》;20061001;第1页左栏至第3页左栏,图1-5 * |
Frank Bodmann et al.《Analyzing the Timing Characteristics of Task Activations》.《Industrial Embedded Systems》.2006, |
Also Published As
Publication number | Publication date |
---|---|
JP2012518215A (ja) | 2012-08-09 |
CA2752806A1 (en) | 2010-08-19 |
IL214694A0 (en) | 2011-11-30 |
US20120036510A1 (en) | 2012-02-09 |
KR20110124309A (ko) | 2011-11-16 |
EP2396725A1 (en) | 2011-12-21 |
WO2010092146A1 (en) | 2010-08-19 |
CA2752806C (en) | 2018-07-17 |
CN102317915A (zh) | 2012-01-11 |
US8533727B2 (en) | 2013-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102317915B (zh) | 分析系统的实时能力的方法 | |
Davis et al. | Priority assignment for global fixed priority pre-emptive scheduling in multiprocessor real-time systems | |
Metzner et al. | Rtsat--an optimal and efficient approach to the task allocation problem in distributed architectures | |
Herpel et al. | Stochastic and deterministic performance evaluation of automotive CAN communication | |
Luo et al. | Power-efficient scheduling for heterogeneous distributed real-time embedded systems | |
US8473563B2 (en) | Extensible scheduling of messages on time-triggered busses | |
Oh et al. | A hardware-software cosynthesis technique based on heterogeneous multiprocessor scheduling | |
Kodase et al. | Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers | |
Santinelli et al. | A probabilistic calculus for probabilistic real-time systems | |
Mohalik et al. | Model checking based analysis of end-to-end latency in embedded, real-time systems with clock drifts | |
Bi et al. | Efficient maximum data age analysis for cause-effect chains in automotive systems | |
Toporkov et al. | Resource co-allocation algorithms for job batch scheduling in dependable distributed computing | |
Gu et al. | Optimization of static task and bus access schedules for time-triggered distributed embedded systems with model-checking | |
Hsiung et al. | Synthesis of real-time embedded software with local and global deadlines | |
Ren et al. | Efficient latency bound analysis for data chains of real-time tasks in multiprocessor systems | |
Fourneau et al. | A precedence PEPA model for performance and reliability analysis | |
Kollmann et al. | A scalable approach for the description of dependencies in hard real-time systems | |
Gioulekas et al. | A Process Network Model for Reactive Streaming Software with Deterministic Task Parallelism. | |
Memik et al. | Algorithmic aspects of uncertainty driven scheduling | |
Kim | Efficient Optimal Priority Assignment for Fixed Priority Preemption Threshold Scheduling. | |
Lin et al. | P-FRP task scheduling with preemption threshold | |
Ghribi et al. | An Energy Aware Scheduling for Reconfigurable Heterogeneous Systems. | |
Wen et al. | Towards optimal priority assignments for the transactional event handlers of p-frp | |
Metzner et al. | RTSAT—Scheduling Tasks in Distributed Real-Time Systems by Enhanced Satisfiability Checking | |
Philippe et al. | Analyzing Throughput for Cyber-Physical Systems modeled with Synchronous Dataflow |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |