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

作者:Francisco J. Cazorla, Enrico Mezzetti, Ian Broster, Juan Valverde, Stefania Botta, Jaume Abella, Christos Evripidou, Javier Mora de Sambricio

要想安全到达某个地方,不仅仅依赖于良好的刹车,良好的尾灯,以及在方向盘后面有出色的反应能力的人。

要想安全到达某个地方,不仅仅依赖于良好的刹车,良好的尾灯,以及在方向盘后面有出色的反应能力的人。越来越多地,让你的汽车在路上行驶,让你的飞机在空中飞行的部件不仅仅是人类的,甚至不仅仅是机械的。它们是运行在复杂的异构多核处理器上的复杂嵌入式软件,控制从飞行管理系统到动力转向的一切,并执行以微秒计的严格时间期限。

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

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

解决多核定时分析(MTA)拼图

尽管多核处理器惊人的计算能力(理论上)应该使嵌入式系统更加强大和高效,但在一个核上执行的软件可能会降低在其他核上运行的软件的执行速度。在这种情况下,由于争用共享资源(如总线、内存、缓存、设备、fpga和gpu,它们与运行在其他核心上的任务共享)而引起的干扰,软件执行时间可能会更长。

你如何量化这种干扰的影响?当运行在多核平台上时,您如何分析、测试并提供具体的证据来证明您的安全关键型软件总是能够在它的时间期限内执行?

专家们巴萨的超级计算中心(BSC),Rapita Systems Ltd.(RPT),雷神公司技术(RTRC),欧洲的公司(MAR)多年来一直在研究这些问题的答案。BSC和Rapita一直在开发一种解决方案,很快将在航空航天和汽车行业推广。专门的工具和自动化,结合基于需求的、关注安全的方法是解决这个难题的关键。

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

艺术工具

用于支持时序分析的市售工具对于简单(单核)电子产品有效,但不扩展以满足新的多核特定的认证要求和建议。

  • 静态时序分析解决方案面临复杂性墙壁,既不有效地模拟越来越复杂的硬件,也无法有效地处理特殊复杂的软件功能的结构和句法特征。
  • 基于测量的解决方案在单核分析市场已经达到了一个很好的渗透水平(Rapita Systems的RVS工具集是最成功的工具之一)。然而,这些工具仍然不能完全承受多核引入带来的挑战。它们通常关注于由综合功能测试策略确定的度量场景,但缺乏基于硬件专业知识的方法,该方法有助于为在多核中运行的任务获得值得信任的时间边界,并提供必要的支持证据和足够的可追溯性水平。

据我们所知,市场上没有现成的商业工具,除了在MASTECS中成熟的工具,它能够分析多核平台上的软件的时间,并强烈关注适用的安全标准和新兴的认证要求。

运行中的干扰分析与控制

理解干扰的关键是一种结构化测试方法,使用硬件和软件专家来提供有关多核定时行为的证据。来自BSC的专业技术(称为多核微型基准技术或MμBT,由Rapita作为Rapidaemons商业化),通过创建额外的干扰场景来调应不同部分来分析和量化干扰对基于多核的应用程序的影响的影响多核处理器。

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

  1. 它们对特定共享资源的可量化压力。
  2. 他们的行为可以通过事件监视器来验证。
  3. 它们捕获特定的时序相关的要求,例如,您是否有助于争论的缓解措施是有效的。


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

已经开发了广泛的微基准来具有特定的角色,包括匹配所需的干扰水平,最大化资源干扰,或者对争用非常敏感('受害者')。

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

设计方法

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

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


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

硬件专业知识和时序分析过程

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

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

设计后期:

  1. 硬件专家对测试结果进行分析,以评估他们是否确认或拒绝假设。
  2. 硬件专家还有助于建立新的假设和相应的测试,以防他们基于前一步中获得的结果。


图3:分析结果(rapid)。(资料来源:作者)

更大的图景

7步测试设计过程仅在图2中显示的更广泛的多核验证方法的一部分。该方法,该方法将继续作为Mastecs项目的一部分成熟,旨在从综合证据和综合证据中实现完全可追溯性结果返回相应的要求和设计。万博投注网址该方法旨在满足CAST-32A中定义的目标,是航空航天证券机构发布的关键指导文件。它还与ISO 26262进行了专门对齐,汽车领域的安全标准,倡导干扰自由。

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

专业知识不能自动化

干扰效应很复杂。要解开他们的谜团,您需要了解多核体系结构的组件以及软件中的调度和资源分配系统的专家。硬件和软件专家之间的协作将是Mastecs项目的核心特征,因为它继续进入未来。但是,虽然合作导致软件工具和自动化中的大踏步发展,但重要的是要记住,您无法自动化验证过程的每一步 - 尤其不是涉及多核时序分析时。

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

- Francisco J. Cazorla博士(BSC)是BSC计算机架构/ CAOS集团的领导者和Mastecs的技术协调员。
- Enrico Mezzetti博士是计算机体系结构/ CAOS组的高级研究员。
- Ianbroster(RPT)博士是Rapita Systems Ltd.的创始人和总经理
Juan Valverde博士(RTRC)是爱尔兰联合技术研究中心有限公司的研究员。
- Stefania Botta (MAR)在Marelli - Powertrain B.U.获得计算机科学学位,她是“软件工具和方法论”团队的一员。
- Jaume Abella博士,BSC高级研究员。
- Christos Evripidou(RPT)博士是Rapita Systems'英国多核时序分析团队的技术领导。
- Dr. Javier Mora de Sambricio (RTRC)是爱尔兰联合技术研究中心有限公司的高级研究科学家。

留下你的评论