体系结构论文导读(四十五):Design and Dynamic Update of Real-Time Systems 19‘RTSS

news2024/11/24 8:05:58

挑战部分

  1. 背景问题

    • 现代工业系统和产品(如汽车、智能手机、医疗设备)越来越依赖于软件,尤其是嵌入式实时系统。这些系统的可靠性对于社会至关重要,比如特斯拉自动驾驶系统的软件问题曾引发一些事故。
    • 目前,许多嵌入式系统是封闭和单一功能的,但未来它们将演变为开放的平台,能够根据用户需求进行功能更新和扩展。为确保安全性,系统需要支持动态更新,且在更新过程中保证系统安全。重要的是,更新必须以组件化的方式进行,不需要重新设计或全面验证整个系统。
  2. 更新的现实应用

    • 汽车是一个典型的例子,汽车的计算平台可以让多个智能传感器和电子控制单元运行新的应用程序,如更高效的发动机控制、车道跟随、行人检测等。根据不同的地理位置和需求,还可以安装专门的应用,如在北欧可以检测黑冰和麋鹿,而在南欧则可以优化电池再生制动。
    • 另一个例子是心脏起搏器。患者随着年龄增长,可能会出现新的心脏问题,医生可以通过安装新应用来治疗,而不是更换设备,从而避免手术。
  3. 目前设计方法的局限性

    • 当前的实时系统设计方法在系统运行时对软件更新支持有限。例如,汽车这样的系统在更新后无法确保系统的安全性。这意味着系统在更新时,必须确保新组件不会干扰已有系统的运行,且新旧组件的输入输出应该兼容,避免资源冲突。
    • 系统的非功能性正确性也必须保证,即计算平台需要有足够的资源来执行新的组件,避免资源超载或违反时序要求。
  4. 阻碍

    • 目前很多嵌入式系统架构并没有为更新做好准备,因此在部署后很难修改或扩展。例如,智能手机可以简单卸载新组件,但对于汽车这样的安全关键系统,即便是一次安全时序要求的违规也可能导致严重事故或人员伤亡。
  5. 现有测试方法的不足

    • 对于现代复杂的嵌入式系统,重新设计整个系统并不可行,而现有方法通过在实验室中对整个系统进行广泛的重新测试并不能满足未来系统的需求,因为系统状态和配置的数量太多,无法全面测试。
  6. 未来愿景和挑战

    • 文章的愿景是改变现有的实时系统开发方式,通过新的设计范式和技术来构建基于可组合架构的实时系统,使这些系统在未来可以进行组件化的增量更新,动态、安全且可靠地运行。
    • 实现这一愿景需要解决三个关键挑战:
      • 设计挑战:开发一种新的可组合架构和执行模型,能够支持未来的增量更新,确保新旧组件之间的输入输出和时序行为是确定的,尤其是对于安全关键系统。
      • 验证挑战:开发可扩展的自动化验证方法,确保更新后的系统在功能和非功能要求上是正确的,并构建一代新的软件工具,能够在现场快速验证更新。
      • 运行时挑战:开发高效的调度算法和可调度性分析技术,既能保证时序和资源要求,又能优化运行时资源的利用,特别是在异构多处理器和分布式平台上。

方法和视角

  1. 实时系统设计的技术挑战

    • 设计实时系统时,确保系统具有确定性输入输出和时序行为(通常是确定性的输入到输出延迟)是一个关键挑战,特别是当多个系统功能被集成并在资源有限的平台上同时执行时。确定性的语义允许使用像Simulink/Stateflow这样的工具进行模型在环仿真,以模拟和验证整个系统行为。
  2. 过去的解决方案

    • 过去几十年,硬件、软件、控制和通信领域的研究人员开发了许多应对这一挑战的解决方案。例如,同步编程语言(如Esterel、Lustre和Signal)和由Kopetz推广的时间触发(time-triggered)范式,通过在预定的时间点调度组件的计算和通信,确保了系统的确定性行为。这些系统具有高度可靠性和可预测性,但这种方法严格限制了系统在部署后进行修改或更新的可能性。
    • 另一些方法则通过调度一组具有已知资源需求的任务来直接管理系统功能。这种方法适用于简单的周期性任务,但当任务之间存在数据依赖或平台异构时,调度问题会变得极为复杂,尤其是系统更新时。
  3. 提出的新方法

    • 作者提出了一种新方法,通过引入一个软件层来将系统功能的实现问题分解到平台上。这个软件层通过多任务运行时系统来实现,其中系统功能通过实时任务执行。这些任务是独立执行且异步通信的,从而避免了现有功能与新功能之间的干扰。
    • 这种任务解耦解决了之前方法的两个主要缺陷:
      1. 避免了静态或过度确定的时间调度,因为组件间的交互是异步的。
      2. 任务组的调度变得更加可控,因为任务是独立的,不需要考虑复杂的资源和数据依赖。
  4. 设计架构概述

    • 文章中的设计架构如图1所示,分为三个层次:功能层软件层硬件层
      1. 功能层:系统功能被指定为基础组件的数据流链,这些组件的资源需求映射到软件层的任务中,确保平台具有足够的资源满足非功能性要求。
      2. 软件层:由独立的实时任务组成,任务通过非阻塞的数据缓冲区异步通信。软件层是对计算和通信资源的抽象,提供了硬件层的统一需求形式。
      3. 硬件层:实际平台上的计算和通信资源,包括CPU、网络带宽、GPU、FPGA等。通过新技术将软件层映射和调度到硬件层。

  1. 系统支持的更新方式

    • 系统按照这种设计架构构建后,可以通过以下方式支持新组件或更新组件的增量更新:
      1. 在任何更新之前,系统会验证更新后的系统是否满足规定的功能性要求,这仅使用功能层的组件契约。
      2. 确保平台有足够的资源满足系统的非功能性要求。如果软件层不需要更改,则只需调整任务的参数(如周期或资源预算),确保新的软件层可调度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2125426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

二维码生成

1、引入二维码生成库 使用一个支持二维码生成的库&#xff0c;如ZXing&#xff08;Zebra Crossing&#xff09;&#xff0c;它提供了二维码生成的工具和API。 pom.xml文件导入ZXing依赖。 <!-- ZXing 库依赖 --><dependency><groupId>com.google.zxing<…

OpenSNN推文:《从沙粒到超级大脑:一步步揭开芯片的秘密》

你有没有想过&#xff0c;手机、电脑、电视等设备里的“智能大脑”是怎么来的&#xff1f;这个大脑就是芯片&#xff0c;它让这些设备变得聪明&#xff0c;能够快速处理各种信息。今天&#xff0c;我将详细地解释芯片的诞生过程&#xff0c;从最基础的原材料一直到它成为我们日…

【HCIA-Datacom】数据通信网络基础

数据通信网络基础 1. 通信与网络网络通信的基本概念数据通信网络定义网络设备 2. 网络类型与网络拓扑网络类型网络拓扑网络拓扑形态 3.网络工程与网络工程师的定义测一测 1. 通信与网络 这里只用作简单的了解即可&#xff0c;在后续中 网络通信的基本概念 ⭐通信&#xff1…

总结——薄基础_Android开发_简易计算器__非教程

关于初学Android开发一段时间的总结&#xff0c;并非教程。主要是为自己防呆&#xff0c;避免以后学习新知识时走一遍老路。再次强调并非教程&#xff0c;如有不妥之处还望见谅 零基础学习比较庞大的内容是十分吃力不讨好的&#xff0c;建议此前至少学习相关编程知识。此谓“薄…

从0到1教你搭建Android自动化Python+appium环境

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、需要软件 1. JDK:JAVA安装后配置JDK环境 2. SDK:SDK下载后配置adb环境 3. Python:pyhton语言 4. Pycharm:python脚本编译工具 5. Appium-python-clie…

CCF推荐B类会议和期刊总结:(计算机网络领域)

CCF推荐B类会议和期刊总结&#xff08;计算机网络领域&#xff09; 在计算机网络领域&#xff0c;中国计算机学会&#xff08;CCF&#xff09;推荐的B类会议和期刊代表了该领域的较高水平。以下是对所有B类会议和期刊的总结&#xff0c;包括全称、出版社、dblp文献网址以及所属…

QML与widget

杂谈 QML-各类建材&#xff08;水泥、沙石、钢筋等各种材料&#xff09;&#xff0c;可以做出各种炫酷建筑wiget-板房&#xff0c;可靠、功能性强。 QML&#xff08;Qt Meta Language or Qt Modeling Language&#xff09;&#xff1a; QML 是一种基于 JavaScript 的声明式语…

‌汽车一键式启动系统‌包含哪些功能

‌汽车一键式启动系统‌是一种智能化的汽车启动系统&#xff0c;它通过一个按钮来启动和熄灭发动机&#xff0c;取代了传统的钥匙启动方式。这个系统不仅简化了启动和熄火的步骤&#xff0c;还提供了多种智能化的功能&#xff0c;如自动开锁、自动关锁、自动关窗、自动防盗等。…

HarmonyOS开发之(下拉刷新,上拉加载)控件pulltorefresh组件的使用

效果图&#xff1a; 一&#xff1a;下载安装&#xff08;地址&#xff1a;OpenHarmony-SIG/PullToRefresh&#xff09; ohpm install ohos/pulltorefresh 二&#xff1a;使用lazyForEarch的数据作为数据源 export class BasicDataSource implements IDataSource{private l…

一种简易CAN数据分析器的实现(一)【工程创建+CAN波特率计算工具】

程序实现详见《一种简易CAN数据分析器的实现&#xff08;二&#xff09;【程序实现】》 微信公众号关注&#xff1a;掌芯元器&#xff0c;免费为大家提供嵌入式相关的技术咨询&#xff01;&#xff01;&#xff01; 目录 一、功能需求及实现 1、功能设计及实现 2、软硬件需求…

视频怎么转换成mp3格式?分享5种便捷的转换方法

在日常生活中&#xff0c;我们经常会遇到需要将视频文件中的音频提取出来&#xff0c;转换成MP3格式的情况&#xff0c;以便在手机、MP3播放器或其他设备上播放。今天&#xff0c;我将为大家介绍5种视频转MP3的方法&#xff0c;非常简单便捷&#xff0c;一起来学习下吧。 方法一…

oelove奥壹婚恋征婚相亲交友系统v10.0原生小程序源码(无编译加密)上架经验让你少走弯路

首先大家要明白什么是原生小程序&#xff01;以微信小程序为例&#xff0c;原生小程序就是指在微信指定的平台“开发者工具”按照平台规则开发出来的小程序才是原生小程序&#xff0c;像uniapp它就不属于原生小程序是第三方&#xff0c;原生小程序的好处那一万字也说不完&#…

JavaScript第五天(函数,this,严格模式,高阶函数,闭包,递归,正则,ES6)高级

这里写目录标题 JavaScript高级第03天1.函数的定义和调用1.1函数的定义方式1.2函数的调用 2.this2.1函数内部的this指向2.2改变函数内部 this 指向2.2.1 call方法2.2.2 apply方法2.2.3 bind方法2.2.4 call、apply、bind三者的异同 3.严格模式3.1什么是严格模式3.2开启严格模式3…

21. Revit API: 几何对象(二)- Curve

上篇讲了Revit几何对象的类层次结构&#xff0c;讲了几何元素和几何实例&#xff0c;简单提到了Solid。 这一篇呢&#xff0c;就从构成Solid的边讲起。 一、Edge&#xff08;边&#xff09; Edge在Revit中就是用来表示边的&#xff0c;并且在各种表示几何结构的类中串门。 前…

使用 Elementary 实现开源数据可观测性 — 从零到精通(第一部分)

欢迎来到雲闪世界。我希望在我还是初学者时能有一份循序渐进的实践指南 数据可观测性及其重要性经常被讨论和撰写为现代数据和分析工程的一个重要方面。市场上有许多工具&#xff0c;具有各种功能和价格。在这篇由两部分组成的文章中&#xff0c;我们将重点介绍 Elementary 的…

(k8s)kubernetes 挂载 minio csi 的方式

一、安装Minio&#xff08;Minio分布式集群搭建部署_minio集群最少几台-CSDN博客&#xff09; 生成accessKeyID和secretAccessKey&#xff1a; 二、安装csi-s3插件(在k8s集群上) 首先我们把插件的yaml文件都下载下来&#xff0c;为了保证版本测试的一致性&#xff0c;我们下载…

论文阅读:RGBD GS-ICP SLAM

目录 概要 Motivation 整体框架流程 技术细节 小结 论文地址&#xff1a;[2403.12550] RGBD GS-ICP SLAM (arxiv.org) 代码地址&#xff1a;https://github.com/Lab-of-AI-and-Robotics/GS-ICP-SLAM 概要 RGBD GS-ICP SLAM 是一种结合通用迭代最近点算法&#xff08;Ge…

【基础算法总结】前缀和

目录 一&#xff0c;前缀和算法介绍二&#xff0c;算法原理和代码实现【模板】前缀和【模板】二维前缀和724.寻找数组的中心下标238.除自身以外数组的乘积560.和为k的子数组974.和可被k整除的子数组525.连续数组1314.矩阵区域和 三&#xff0c;算法总结 一&#xff0c;前缀和算…

可能一拆为二,英特尔为何走到今天这一步?

【科技明说 &#xff5c; 科技热点关注】 近来看到外媒消息说&#xff0c;英特尔迫于经营压力&#xff0c;也不得不铤而走险&#xff0c;欲将英特尔一分为二&#xff0c;即芯片制造与芯片设计分离开&#xff0c;互相剥离&#xff0c;独立发展。 于是乎&#xff0c;英特尔将分拆…

图卷积神经网络GNN(一)

图卷积神经网络GNN 研究学习的背景 对于图神经网络&#xff08;GNN&#xff09;来输入的数据是图。&#xff08;解决输入数据不规则情况&#xff09;输入的格式不是固定的 研究涵盖&#xff1a;节点分类&#xff08;nodeclassification&#xff09;、边预测&#xff08;link…