针对操作应用的竞争缓解方法、相关压力性应用的确定方法和计算机程序产品
【技术领域】
1.本发明涉及针对操作应用(application op
é
rationnelle)的竞争缓解方法。
2.本发明还涉及与这样的缓解方法相关联的压力性应用(application stressante)的确定方法以及计算机程序产品。
3.本发明尤其适用于机载多主机平台的领域,例如可在航空电子领域中使用的机载平台。
背景技术:4.以本身已知的方式,这样的多主机平台包括多个核和多个共享资源,每个核能够使用一个或多个共享资源来执行至少一个应用。
5.在此类平台中,使用共享资源可能导致与各个核进行的并发访问相关的冲突。这些冲突通常表现为不受控制的进程运行持续时间。这于是无法以确定的方式预测平台的运行,这使得不能在运行可靠性高的领域中使用平台。
6.在单主机平台中,此问题很容易解决,因为所有访问都是按顺序的,因此可以实施临时调度解决方案,从而大幅减少或消除冲突。
7.与之相反,在多主机环境中,面对可能导致冲突的并行性,没有出现任何简单的解决方案。现有技术中已经存在许多方法来克服该问题,但是未能在任何情况下减少或消除冲突。
8.于是,例如,存在使得能够提高包括总线和外围设备的多核平台的一个或多个核的性能的加速机制。然而,在虑及这些组件的物理限制(尺寸、性能等)的情况下,这些机制只能掩盖竞争问题。实际上,取决于应用并且在发生溢出的情况下,问题会再次出现。
9.核的特定架构还使得能够限制竞争,然而,就像前面的情况一样,其也有其物理限制。
10.因此,在确定性必不可少的高临界环境中,使用多主机架构在其使用中会先验地带来较大问题。
11.本发明的目的在于解决这些问题,也就是说,提出多核平台中的竞争解决机制,其使得能够使这样的平台的运行具有确定性,并且这不会使该平台的各物理组件的尺寸过大。
技术实现要素:12.为此,本发明的主题是针对由机载平台实施的操作应用的竞争缓解方法。所述机载平台包括多个核和多个共享资源,每个核能够经由访问通道使用一个或多个共享资源来执行至少一个应用,所述访问通道建立在该核与相应的共享资源之间并且使得能够使用该共享资源。
13.所述缓解方法包括以下步骤:
14.‑
由所述机载平台的核之一执行所述操作应用;
15.‑
在所述机载平台的至少一些其他核上与所述操作应用并行地执行压力性应用,所述压力性应用由一组竞争任务组成,每个竞争任务在干扰通道上产生最大竞争,该干扰通道或者每个干扰通道具有在对同一共享资源的多个访问通道之间共享的部分;
16.‑
确定所述压力性应用对所述操作应用产生的竞争。
17.根据本发明的其他有利方面,所述缓解方法包括单独考虑或根据任何技术上可能的组合来考虑的以下特征中的一个或多个:
18.‑
所述压力性应用在每个可用核上执行;
19.‑
所述压力性应用在定义与执行所述操作应用的核干扰的干扰通道的每个核上执行;
20.‑
所述操作应用根据其最终部署环境来执行;
21.‑
所述方法包括度量所确定的竞争的步骤。
22.本发明的主题还有一种计算机程序产品,其包括软件指令,所述软件指令当由计算机执行时实施如上限定的缓解方法。
23.本发明的主题还有一种压力性应用的确定方法,以便缓解机载平台中的竞争,所述机载平台包括多个核和多个共享资源,每个核能够经由访问通道使用一个或多个共享资源来执行至少一个应用,所述访问通道建立在该核与相应的共享资源之间并且使得能够使用该共享资源。
24.所述确定方法包括以下步骤:
25.‑
确定所述机载平台中的干扰通道,每个干扰通道具有在对同一共享资源的多个访问通道之间共享的部分;
26.‑
对于每个干扰通道,确定在该干扰通道上产生最大竞争的竞争任务;
27.‑
通过所产生的所有竞争任务来确定所述压力性应用。
28.根据本发明的其他有利方面,所述确定方法包括单独考虑或根据任何技术上可能的组合来考虑的以下特征中的一个或多个:
29.‑
与所述机载平台的使用领域相一致地确定每个竞争任务;
30.‑
根据所述机载平台的架构来确定每个干扰通道;
31.‑
根据相应干扰通道的特性来确定每个竞争任务。
【附图说明】
32.通过阅读接下来的描述,本发明的这些特征和优点将逐渐显现,所述描述是仅以非限制性示例的名义给出的,并且是参考附图进行的,在附图中:
33.‑
图1是根据本发明的竞争缓解方法应用于其的机载平台的示意性视图;
34.‑
图2是根据本发明的缓解方法和压力性应用确定方法的流程图。
【具体实施方式】
35.实际上在图1中示出了机载平台10的示例。
36.这样的机载平台10具有例如关键系统,尤其是关键航空电子系统。因此,在该后一种情况下,机载平台10被配置为执行一个或多个航空电子任务。
37.在所有情况下,机载平台10被设计为在特定的使用领域中运行。因此,该领域定义了该平台的架构以及该平台的组件的至少一些运行特性。在这种情况下,平台10的运行对应于其标称运行。
38.参考图1,机载平台包括n个核12
‑
1、
…
、12
‑
n,m个共享资源14
‑
1、
…
、14
‑
m,以及核与资源之间的一个或多个仲裁级15,数字m和n严格大于1。
39.每个核12
‑
1、
…
、12
‑
n也可以称为处理器或主机,其本身是已知的。特别地,每个核12
‑
1、
…
、12
‑
n能够使用一个或多个共享资源14
‑
1、
…
、14
‑
m来执行应用。
40.为此,每个核12
‑
1、
…
、12
‑
n能够例如将请求发送到共享资源14
‑
1、
…
、14
‑
m中的至少一些并接收对这些请求的响应。
41.在下文中,在平台的标称运行的情况下由核12
‑
1、
…
、12
‑
n执行的应用将称为操作应用。例如,当平台10呈现航空电子系统时,操作应用呈现被配置为实施由这样的系统保障的各种航空电子任务的应用。
42.每个共享资源14
‑
1、
…
、14
‑
m呈现使得核12
‑
1、
…
、12
‑
n能够执行应用的硬件和/或可能的软件组件。
43.举例来说,这些共享资源14
‑
1、
…
、14
‑
m包括本身已知的存储空间、随机存取存储器和/或任何其他外围设备。
44.另外,每个共享资源14
‑
1、
…
、14
‑
m由其运行的至少一个特性来定义。这样的特性可以例如涉及到相应资源所给予的数据处理能力,例如写入速度、读取速度、保障流率、其缓冲存储器的大小等。
45.每个核12
‑
1、
…
、12
‑
n能够经由本身已知的一个或多个仲裁级15来使用一个或多个共享资源14
‑
1、
…
、14
‑
m。
46.特别地,每个仲裁级15例如采用一个或多个访问总线的形式,其使得能够控制每个核12
‑
1、
…
、12
‑
n对每个资源14
‑
1、
…
、14
‑
m的访问权限。
47.在图1中,示出了两个仲裁级。
48.就像资源一样,每个仲裁级15也由一个或多个特性(如传输速度、流率等)来定义。
49.于是,仲裁级15使得能够定义核12
‑
1、
…
、12
‑
n对资源14
‑
1、
…
、14
‑
m的访问通道。
50.特别地,“访问通道”意指使得该核能使用该资源的核12
‑
1、
…
、12
‑
n与共享资源14
‑
1、
…
、14
‑
m的关联。
51.于是,访问通道可以例如呈现在相应的核与资源之间的数据通信通道,这些数据可由核用于执行应用。
52.在平台10的设计阶段,由平台10的架构来定义访问通道。
53.接下来将参考图2来解释压力性应用的确定方法100,其可用于缓解平台10中的竞争,图2在其左侧部分呈现了该方法的流程图。
54.该确定方法100例如在平台10的标称使用之前但在其设计之后实施。换言之,在实施确定方法100时,已经知晓了平台10的架构以及其所有组件的特性。
55.根据另一实施例,在选定平台10的最终架构之前实施该方法100。在这样的情况下,可以多次实施此方法,以便最佳地确定这样的最终架构。于是,例如,对于该方法的各次迭代,可以使用不同的架构以及其组件的可能的不同特性。在这些迭代之后保留的架构例如将是在最坏的情况下或在干扰通道的最佳控制下具有最佳性能的架构。
56.在该方法100的初始步骤110中,确定所有的干扰通道。
57.特别地,术语“干扰通道(canal d'interf
é
rence)”意指对一个共享资源的多个访问通道所共有的部分,其使得在操作应用的执行中一个核可能会影响另一个核。
58.于是,例如,从两个不同的核12
‑
1、
…
、12
‑
n经过同一个仲裁级15对同一资源14
‑
1、
…
、14
‑
m的两个访问通道形成了这样的干扰通道。
59.根据另一示例,从两个不同的核经过同一个仲裁级通过一个通道对一个资源14
‑
1、
…
、14
‑
m的两次访问也形成干扰通道。
60.例如,通过分析再现机载平台10的架构的模型来实施该步骤110。通过为此设计的分析软件来增强此分析。
61.在下一步骤120中,对于每个干扰通道,产生针对该干扰通道产生最大竞争的竞争任务。
62.为此,例如为此设计的软件分析形成相应干扰通道的所有组件的特性。
63.于是,每个竞争任务被设计为在平台10的使用领域中产生最大竞争。
64.例如,当干扰通道呈现到共享存储器的数据通信通道时,针对该通道产生的竞争任务可能包括使用该通道的整个带宽进行确定性的数据传输。
65.在下一步骤130中,通过在步骤120中产生的所有竞争任务确定压力性应用。
66.作为变型,可以通过不同组的竞争任务在此步骤中确定多个压力性应用。例如,根据预定标准来确定这些组。于是,例如,一个组可以由针对与同一个核或同一资源有关的干扰通道而产生的所有竞争任务组成。
67.然后,在可选步骤140中,例如通过为此设计的测试软件来验证和测试所获得的压力性应用。例如,这些测试可以包括该应用在其执行过程中针对核12
‑
1、
…
、12
‑
n中的至少一些产生的有效竞争的度量。
68.另外,对于每个资源14
‑
1、
…
、14
‑
m,可以产生示出竞争率根据资源使用率的计算图表。
69.接下来将参考图2来解释使用如确定方法100确定的一个或多个压力性应用的缓解方法200,图2在其右侧部分呈现了该方法的流程图。
70.关于应在平台10上部署的每个操作应用来实施该缓解方法200。换言之,当要在平台上部署多个操作应用时,针对它们中的每一个应用连续地实施缓解方法200。
71.另外,该方法例如由为此设计的竞争缓解软件或平台10外部的竞争缓解系统来实施。
72.在该方法200的初始步骤210中,核12
‑
1、
…
、12
‑
n之一执行相应的操作应用。
73.有利地,该执行是在操作应用的时间和空间上的最终部署背景下进行的。换言之,使用与平台10的标称运行的情况中相同的执行参数来执行该操作应用。
74.在与步骤210并行实施的步骤220中,在机载平台10的至少一些其他核12
‑
1、
…
、12
‑
n上执行该压力性应用。
75.例如,在平台10的每个可用核上执行该压力性应用。
76.有利地,在该步骤中,压力性应用在定义与执行该操作应用的核干扰的干扰通道的每个核12
‑
1、
…
、12
‑
n上执行。
77.当通过确定方法100确定了多个压力性应用时,例如仅执行与操作应用共享相同
的干扰通道的应用。作为变型,执行所有的压力性应用。
78.在下一步骤230中,确定该压力性应用对操作应用产生的竞争。
79.在下一步骤240中,度量在步骤230中确定的竞争。
80.这些度量例如可以包括每个竞争的持续时间的度量。
81.因此,通过构造压力性应用,这些度量对应于操作应用的最坏情况运行模式。这些度量于是可用于确定操作应用的尺寸,并用于预测例如平台10的标称运行中的最大执行时间。
82.因此,通过针对应在平台10上部署的每个操作软件实施竞争缓解方法200,使平台10的运行完全确定。
83.根据本发明,这是通过实施压力性应用而实现的,所述压力性应用将每个操作应用与其他应用相独立地置于最坏情况运行模式中。
84.于是,当在平台10的标称运行中在平台上同时部署操作应用时,所产生的相互竞争不能超过在方法200的实施中度量的竞争。于是,每个操作应用的执行时间保持可完美预测。
85.本发明带来了显著优势,以按照要产生最坏情况的一个或多个压力性应用的容量来集成应用。这于是使得能够避免任何应用所共有的集成阶段,所述集成阶段曾经是必需的,以便在实际环境中且在没有该容量的最坏情况下验证应用。
86.这还使得能够避免平台10的组件尺寸过大、或修改核的架构以虑及比每个操作应用的验证条件更加苛刻的现实,因为这些应用中的每一个都已在如最坏情况那样的演示环境中进行了验证。