首页 > 58必威网

确保基于多核的关键嵌入式系统中的软件时序行为

来源:新能源汽车网
时间:2023-03-01 18:13:42
热度:

确保基于多核的关键嵌入式系统中的软件时序行为安全到达某个地方不仅仅取决于良好的刹车、正常工作的尾灯和方向盘后反应灵敏的人。越来越多地,让你的汽车在路上行驶和让你的飞机在空中飞行的部

安全到达某个地方不仅仅取决于良好的刹车、正常工作的尾灯和方向盘后反应灵敏的人。越来越多地,让你的汽车在路上行驶和让你的飞机在空中飞行的部件不仅是人类,甚至只是机械。它们是在复杂的异构多核处理器上运行的复杂嵌入式软件,控制从飞行管理系统到动力转向的一切,并执行以微秒为单位的严格计时期限。

挑战就在这里。多核系统中软件的时序行为不仅受其上运行的软件及其输入的影响,还受运行在其他内核上的其他软件的影响。

开发关键的嵌入式系统需要付出巨大的努力和投资(数百万欧元/美元和多年的工程努力)。从软件开发过程的初阶段开始,安全就必须成为架构和设计的。特别是,系统设计人员必须了解其软件的时序行为,以确保它可以在安全的时间范围内执行。

解决多核时序分析 (MTA) 难题

尽管多核处理器强大的计算能力应该(理论上)使嵌入式系统更加强大和高效,但在一个内核上执行的软件会减慢在其他内核上运行的软件的执行速度。在这种情况下,由于与在其他内核上运行的任务共享的总线、内存、缓存、设备、FPGA 和 GPU 等共享资源争用造成的干扰,软件可能需要更长时间才能执行。

您如何量化这种干扰的影响?您如何分析、测试并提供具体证据证明您的安全关键软件在多核平台上运行时始终可以在其时限期限内执行?

巴塞罗那超级计算中心(BSC)、Rapita Systems Ltd (RPT)、Raytheon Technologies (RTRC) 和Marelli Europe (MAR)的多年来一直在研究这些问题的答案。BSC 和 Rapita 一直在开发一种解决方案,该解决方案很快将在航空航天和汽车行业推广。的工具和自动化,与基于需求、以安全为中心的方法相结合,是解决难题的关键。

这项工作构成了MASTECS 项目的基础,该项目是一个由欧盟委员会资助并于 2019 年 12 月启动的多学科研发项目。MASTECS 项目将使技术成熟并支持它们用于航空电子设备和汽车系统的。MASTECS 项目的一个关键部分是通过 RTRC 和 MAR 部署的研究在两个行业中展示该方法。

的工具

支持时序分析的商用工具对简单(单核)电子产品有效,但无法扩展以满足新颖的多核特定要求和建议。

静态时序分析解决方案 [1] 面临复杂性壁垒,既不能有效地对日益复杂的硬件进行建模,也不能有效地处理异常复杂的软件功能的结构和句法特征。基于测量的解决方案已经在单核分析市场中达到了很好的渗透水平(Rapita Systems 的 RVS 工具集是成功的工具集之一)。然而,此类工具仍无法完全应对多核引入带来的挑战。他们通常专注于由综合功能测试策略确定的测量场景,但缺乏基于硬件知识的方法,该方法有助于为在多核中运行的任务推导出可信赖的时序界限,并提供必要的支持证据和足够的可追溯性。

据我们所知,市场上没有任何商业工具可用,除了 MASTECS 中成熟的工具,它能够分析多核平台上的软件时序,重点关注适用的安全标准和新兴的要求。

干扰分析与控制在行动

理解干扰的关键是结构化测试方法,使用硬件和软件来提供有关多核时序行为的证据。BSC 的一项专门技术(称为多核微基准技术或 MμBT,由 Rapita 商业化为 RapiDaemons)允许系统设计人员通过创建额外的干扰场景来对多核应用程序的不同部分进行压力测试,从而分析和量化干扰在基于多核应用程序中的影响多核处理器。

微基准测试是 MuBT 的,是精心设计的代码片段,它们在硬件和软件之间的接口上运行,以强调特定的共享资源。微基准测试揭示了干扰通道对软件时序的影响。为此,可以部署微基准测试以对特定应用程序造成可配置和可量化的压力。微基准专门设计用于展示单一、明确定义的行为,对特定硬件资源具有预期影响,同时尽可能防止在其他干扰通道上产生争用。微基准测试主要功能包括以下内容:

他们对特定的共享资源施加了可量化的压力。他们的行为可以通过事件监视器进行验证。它们捕获特定的与时间相关的要求,例如,您为控制争用而采取的缓解措施是否有效。

点击查看大图

图 1:在干扰分析中使用微基准。(:作者)

已经开发出范围广泛的微基准以发挥特定作用,包括匹配所需的干扰水平、化资源干扰,或者只是对争用非常敏感(“受害者”)。

在分析干扰影响时,MμBT 的使用得到了任务竞争模型 (TCM) 的支持,该模型提供了任务可能遭受的竞争延迟的早期估计。Rapita 开发的软件自动化和测试工具 RapiTest 和 RapiTime 用于编写测试并在嵌入式目标上运行它们。

设计方法

通过遵循标准软件“V”开发流程(图 2)的七步测试设计流程,工程师可以更全面地了解干扰的影响。

多核处理器关键配置设置、干扰通道和事件监控分析。硬件帮助确定关键配置设置,以设置框架,在该框架中还可以识别干扰通道以及缓解措施。硬件事件监视器的标识也有助于为所有后续步骤提供验证方法。确定时序要求。帮助终用户确定系统的特定需求、时序要求、风险和安全问题。例如,验证任何硬件隔离方法的性能以限度地减少干扰。测试用例设计。开发特定的测试用例(测试描述)以验证支持用户需求的假设集,包括定义在干扰信道分析中提供证据所需的 MμBT 项目。这涉及隔离执行(无干扰)、针对微基准执行以评估应用程序的执行时间和硬件在不同可量化压力场景下对干扰的敏感度。执行测试程序。目前,手动过程在 MASTECS 中自动化,此步骤构建测试程序,包括测试框架、微基准和测量探针以记录/跟踪结果。证据收集(测试)。测试程序在平台上执行以收集测试证据。目前涉及一些手动工作,这将在 MASTECS 中使用 RapiTest 自动化框架自动执行这些测试并将它们链接回验证要求。结果分析。技术对测试结果的审查,以检查测试结果如何验证(或以其他方式)验证要求。例如,图 3 显示了 RapiTime 在为程序的不同功能的执行时间上的屏幕截图。验证结果并生成文档。终审查要求、生成文档和验证结果以支持系统的安全论证。客户可以直接使用全套和分析工件来对运行在多核上的软件进行。

点击查看大图

图 2:V 模型软件开发过程中的 MTA 步骤。(:作者)

硬件知识和时序分析过程

注入硬件(多核)知识是拟议的 MTA 方法在现代复杂多核上取得成功的关键特征。在早期软件开发阶段:

硬件识别多核配置(航空电子学术语中的关键配置设置),因为它们在确定软件功能和时序行为方面发挥着关键作用,并且在很大程度上影响相互生成的争用任务的数量。作为说明性示例,当前的处理器实现了隔离和隔离机制,如果部署得当,可以大大减少争用。多核在识别可能出现任务争用的资源方面发挥着关键作用(这些资源在航空电子设备中称为干扰通道)。硬件浏览数千页处理器技术参考手册并针对芯片供应商手册中可能缺失的信息提出适当问题的能力是推动适当的 MTA 流程的基础。一旦识别出干扰通道,硬件就会识别出那些可用于跟踪任务在这些干扰通道上生成的活动的事件监视器,作为代理指标来限制任务可能遭受的争用。还必须验证这些事件监视器的正确性 [2],为此设计了一组专门的微基准。,硬件与时序分析携手合作,从用户需求、高层和低层需求以及特定测试中推导出支持用户需求的假设。每个测试实例化一个或多个由硬件设计的微基准程序,以将所需级别的负载放在目标(一组)干扰信道上。

在后期设计阶段:

硬件参与分析测试结果,以评估他们是证实还是拒绝假设。硬件还有助于建立新的假设和相应的测试,以备不时之需,基于上一步获得的结果。

点击查看大图

图 3:分析结果 (RapiTime)。(:作者)

大局观

7 步测试设计过程只是图 2 前面所示的更广泛的多核验证方法的一部分。这种方法将作为 MASTECS 项目的一部分继续成熟,旨在通过全面的证据和结果返回到相应的要求和设计。该方法旨在满足航空航天机构发布的关键指导文件 CAST-32A 中定义的目标。它还特别符合 ISO 26262,这是汽车行业的安全标准,提倡不受干扰。

CAST-32A 由机构软件团队 (CAST) 于 2016 年发布,确定了影响在多核处理器上执行的机载软件系统的安全性、性能和完整性的因素。如果您想在航空电子系统中使用多核硬件,这是文档。它提供了旨在指导安全多核航空电子系统生产的目标,包括与识别和限制干扰信道影响相关的目标。在此处查看 CAST-32A 立场文件。EASA 和 FAA 正在努力将多核通用 CRI 改编成通用的 AMC/AC 材料 (AMC 20-193)。预计将在“今年晚些时候”出版 [3]。

知识无法自动化

干扰效应很复杂。要解开它们的谜团,您需要了解多核架构组件以及软件中的调度和资源分配系统的。硬件和软件之间的协作将成为 MASTECS 项目的特征,因为它会持续到未来。但是,虽然协作导致软件工具和自动化取得长足进步,但请务必记住,您无法自动化验证过程的每一步——尤其是在涉及多核时序分析时。

您需要对系统有详细了解的经验丰富的工程师。例如,在早期阶段,多核可以识别决定软件功能和时序行为的处理器配置(也称为硬件关键配置设置),以及潜在的干扰通道。在分析测试结果时,经验丰富的人类重新审视和评估对平台的原始假设,并利用他们的知识进入新的测试周期,没有什么比这更好的了。

Baidu
map