0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

保持任务关键的确定性DBMS准时

星星科技指导员 来源:嵌入式计算设计 作者:Andrei Gorine 2022-07-04 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

开源和商业数据库管理系统 (DBMS) 已在嵌入式系统中使用了 20 多年。在大多数情况下,开发人员甚至不会争论是否为嵌入式系统购买或构建自己的 DBMS。该组件几乎总是被购买。

然而,嵌入式系统空间的一个子集仍然禁止商业供应商使用,包括某些医疗系统、辐射监测、飞机导航、航空电子设备、飞行员辅助,以及最近的自动驾驶。总而言之,它们可以被称为具有硬实时约束的任务关键型或安全关键型系统,其中系统故障可能会造成伤害。

许多任务关键型软件团队正在寻找商业现货 (COTS) 软件以加快开发速度。嵌入式 DBMS 可以提供帮助,但前提是它具有确定性、可预测性和可控性。用于关键任务系统的确定性 DBMS 架构应提供具有时间有效性的 ACID(原子性、一致性、隔离性、持久性)合规性。

不是每个 DBMS 都强制执行 ACID 属性吗?符合 ACID 的数据库很常见,但其架构是针对事务吞吐量而非确定性的。一致性是最重要的属性;事务应该只将数据库从一种有效状态更改为另一种有效状态。在实时系统中,事务中的一组原子语句应该成功提交,或者应该全部中止,但不应在截止日期之后进行。“迟到”会带来不一致的状态,带来暂时无效的数据和可能的可怕后果。

一致性的关键时间断言

确保所有条件下的内部数据库一致性对于时间有效性至关重要。嵌入式数据库在执行效率方面提供了一些改进,但确定性 DBMS 需要更多的架构步骤才能保持准时。

首先,应该使用悲观并发控制。它在授予一项任务访问权限之前锁定全部或部分数据库,从而减少了乐观模型中复制的不确定开销。只读 (RO) 事务可以并行发生,而读写 (RW) 事务具有独占访问权限,从而减少了用于锁仲裁和死锁预防的资源。

接下来,一个关键的时间断言说明了工作量和在截止日期前回滚:

无论事务复杂性如何,将任何修改撤销到事务中的任何点的时间都不能超过应用这些修改的时间。

pYYBAGLCR0OAVQSEAAB0Uf8qCsM873.png

RO事务有索引查找和游标移动操作;回滚以相等的间隔撤消内部计数器的任何递增或递减。

更简单的 RW 事务很容易回滚。创建对象会根据对象大小从空闲内存池中分配页面;反转只是将这些页面返回到池中。其他交易根本不需要冲销。删除一个对象会将其标记为在原子操作中将其删除,因此如果事务中止,则不会发生提交时的删除。在索引中添加或删除对象具有树重新平衡或哈希重新分配,它们仅在提交时生效并且不需要反转。

更新对象看起来更复杂,但结果证明是一种有效的操作。事务第一次更新对象时,分配一个临时对象,然后将原始对象复制到临时对象。使用已经创建的副本,后续更新会更快。回滚以相反的顺序从副本中重新创建原始对象,然后释放分配的内存页,对象的回滚时间与对该对象的更新次数无关。

根据实时截止日期验证交易

确保每个事务都安全地提交或中止后,接下来要安排事务流。回忆悲观并发;RW 事务必须按顺序执行,而 RO 事务可以并行执行。例如,McObject 的 eXtremeDB/rt 中的动态、时间感知的最早期限优先 (EDF) 调度根据绝对期限为事务分配优先级。

事务管理器代码中的验证点指示事务语句的进展程度。如果事务在提交之前到达控制点(不再保证数据库回滚的时间),那么“事务中断”错误状态将返回给应用程序。事务管理器将数据库恢复到事务开始之前存在的一致状态。

在 eXtremeDB/rt 中,应用程序可以使用两种验证方法:传递给数据库运行时的应用程序回调,或异步事件处理程序。以下示例将控制点设置为截止时间间隔的一半,可以调整。

回调方法伪代码

如果系统定时器或硬件看门狗定时器等异步原语不可用,则可以使用回调方法。操作系统在获取系统时间方面存在细微差别,但代码流程如以下伪代码。首先注册一个回调函数:

poYBAGLCR0yAHCLMAABWZczgpxA596.png

接下来,创建回调,轮询返回“OK”或“interrupted”状态。

pYYBAGLCR1OAEiS6AAD8eTjjdvM875.png

然后,启动实时事务,数据库运行时在原子操作中定期验证“中断”标志。

poYBAGLCR1qAFUqIAABwFMaHePg652.png

C 中的计时器方法代码片段

大多数关键任务系统都有硬件计时器;使用它们可以提供更高的精度。C 语言中的三个常用代码片段设置了计时器变量、实时事务和初始化例程。一、定时器变量:

poYBAGLCR3eAApYuAADFXWzOFrk533.png

接下来是实时交易:

pYYBAGLCR32AOlT0AAGJy4mmrJg379.png

还有一个简单的初始化程序:

pYYBAGLCR4aAZuQ1AAAwQpfH7yY311.png

硬件计时器设施因操作系统而异。例如,在 VxWorks 中,任何任务都可以创建一个看门狗定时器,并在指定的延迟后使用它在系统时钟 ISR 的上下文中运行指定的例程。

poYBAGLCR4yAIayXAADUJL3hFZI590.png

展望更多可控性

替代传统的并发控制和调度方法有助于 eXtremeDB/rt 实现关键任务系统所需的确定性、可预测的行为。未来的研究旨在提高 EDF 调度程序的可控性。例如,事务上的显式优先级参数将有助于排序和抢占。单个事务也可以带有回滚时间参数,而不是默认的deadline/2。

实现从嵌入式数据库到确定性 DBMS 的飞跃,确保数据在时间上有效,从而扩展了潜在的用例。掌握这种新的 COTS 确定性 DBMS 技术的任务关键型软件团队可以在开发计划、风险降低和应用程序灵活性方面获得优势。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5213

    文章

    20855

    浏览量

    339527
  • 定时器
    +关注

    关注

    23

    文章

    3382

    浏览量

    125395
  • 计时器
    +关注

    关注

    1

    文章

    435

    浏览量

    35482
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    博思发科技:当系统需要确定性时,我们就是答案

    偏差。在新能源、医疗设备、制冷与工业系统不断走向高风险、高密度、高复杂度的今天,我们始终坚信:感知的确定性,是系统安全的底线。这就是博思发坚守8年的意义——为那些"
    的头像 发表于 06-08 16:32 196次阅读
    博思发科技:当系统需要<b class='flag-5'>确定性</b>时,我们就是答案

    主角: “韬(τ)定律”的争议与确定性

    把裁定权交给历史的确定性
    的头像 发表于 06-04 19:26 2031次阅读
    主角: “韬(τ)定律”的争议与<b class='flag-5'>确定性</b>

    天合光能如何交出确定性答案

    当地缘博弈持续重塑全球供应链,当AI算力狂飙引发电网波动,“内忧外患”的能源行业,正站在命运的十字路口。过去,光伏多被视作实现“双碳”目标的绿色注脚;但今天,它已跃升为关乎生存的能源安全战略底座。在变量交织的周期里,开发商、投资者与终端企业真正渴望的,不再是概念与愿景,而是可穿越周期的确定性答案。
    的头像 发表于 05-06 13:41 471次阅读

    请教:6G 确定性通信原型验证,FPGA+SDR 方案该怎么搭?

    大家好。 目前在做6G 确定性通信的算法验证,需要从仿真走向实物原型,想和各位前辈交流下原型验证平台的选型与实现思路。 当前目标: 验证硬实时、低时延、有界调度机制 支持亚毫秒级切换、零信令、空口
    发表于 04-11 10:24

    智能制造背后的关键技术:TSN与工业以太网的确定性革命

    工业4.0让生产网络日益复杂,传统“尽力而为”的以太网已难以满足实时控制需求。TSN技术通过时间同步与流量调度,实现确定性通信,推动IT与OT深度融合。光路科技(Fiberroad)的TSN交换机为工业网络提供稳定、可预测的传输能力,成为智能制造升级的重要基础设施。
    的头像 发表于 03-04 11:17 753次阅读
    智能制造背后的<b class='flag-5'>关键</b>技术:TSN与工业以太网<b class='flag-5'>的确定性</b>革命

    晶振的随机抖动、确定性抖动与相位噪声详解

    误差”。晶振的抖动并非单一来源,可划分为确定性抖动(DJ)和随机抖动(RJ)两大类;同时工程中常用RMSPhaseJitter、RMSPeriodJitter、CC
    的头像 发表于 02-28 13:40 619次阅读
    晶振的随机抖动、<b class='flag-5'>确定性</b>抖动与相位噪声详解

    DP83826:确定性、低延迟工业以太网PHY的卓越之选

    DP83826:确定性、低延迟工业以太网PHY的卓越之选 引言 在工业自动化、机器人和运动控制、电网基础设施、楼宇自动化等众多领域,实时以太网系统的需求日益增长。这些系统对网络的确定性、低延迟
    的头像 发表于 12-17 16:20 652次阅读

    DP83826:确定性、低延迟、低功耗工业以太网PHY的卓越之选

    )低延迟特性 DP83826具有较低的确定性延迟,TX延时仅为40ns,RX延时为170ns,并且在电源循环上的确定性延迟
    的头像 发表于 12-17 16:15 615次阅读

    DP83826Ax工业以太网PHY:确定性、低延迟与低功耗的完美融合

    方面表现出色,其TX延时仅为40ns,RX延时为170ns,电源循环上的确定性延迟小于±2ns,固定相位XI到TX
    的头像 发表于 12-15 15:20 725次阅读

    DP83826Ax:确定性、低延迟工业以太网PHY的深度解析

    DP83826Ax提供了极低的确定性延迟,TX延时仅40ns,RX延时为170ns,电源循环上的确定性延迟 ±2ns,XI到TX_CLK的固定相位关系
    的头像 发表于 12-15 15:20 693次阅读

    【干货】必看!一文搞懂时间敏感网络(TSN):解决工业网络延迟/抖动痛点的确定性网络技术

    什么是TSN?时钟敏感网络(Time-SensitiveNetworking)是标准以太网的扩展,其主要目标是使标准以太网具有确定性。使技术人员能够精确了解流量在网络中传输所需的确切时间,以及流量将
    的头像 发表于 10-30 19:33 2444次阅读
    【干货】必看!一文搞懂时间敏感网络(TSN):解决工业网络延迟/抖动痛点<b class='flag-5'>的确定性</b>网络技术

    寻迹智行AMR融合RFID识别技术,为柔性搬运注入“确定性&quot;

    在智能物流与制造业不断追求高效与柔性的今天,自主移动机器人(AMR)已成为革新场内物流的核心力量。其“柔性”特质——灵活部署、智能调度、自主避障——完美应对了现代生产中的不确定性
    的头像 发表于 10-27 14:34 532次阅读
    寻迹智行AMR融合RFID识别技术,为柔性搬运注入“<b class='flag-5'>确定性</b>&quot;

    从微秒级响应到确定性延迟:深入解析米尔全志T536核心板的实时性技术突破

    注:标准Linux内核测试时间为5min,标准Linux内核+软隔离测试时间为5h,其他测试均为12h 3.3 关键发现与突破米尔MYD-LT536在OpenAMP模式下展现了惊人的确定性表现
    发表于 10-22 17:25

    虹科干货 | 拆解TSN四大支柱:从「尽力而为」到工业实践的确定性网络

    ,基于CSMA/CD机制的传统以太网暴露出致命缺陷——不确定性的延迟和抖动。正是在这样的背景下,时间敏感网络(TSN)应运而生。*不想逐字读长文?点击收听本文播客TSN并非全
    的头像 发表于 08-27 17:33 2418次阅读
    虹科干货 | 拆解TSN四大支柱:从「尽力而为」到工业实践<b class='flag-5'>的确定性</b>网络

    康谋分享 | 基于多传感器数据的自动驾驶仿真确定性验证

    自动驾驶仿真测试中,游戏引擎的底层架构可能会带来非确定性的问题,侵蚀测试可信度。如何通过专业仿真平台,在多传感器配置与极端天气场景中实现测试数据零差异?确定性验证方案已成为自动驾驶研发的关键突破口!
    的头像 发表于 07-02 13:17 4472次阅读
    康谋分享 | 基于多传感器数据的自动驾驶仿真<b class='flag-5'>确定性</b>验证