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

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

3天内不再提示

浅析在资源受限的MPU上使用SMP的新方法

麦克泰技术 来源:麦克泰技术 2023-12-19 11:12 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在很多人看来,似乎嵌入式Linux可以为嵌入式开发人员做所有的事情。虽然嵌入式Linux可以适用于一些具有数兆内存和强大处理器的应用,但越来越多的案例表明,嵌入式Linux和类似操作系统的开销会对确定性和内存消耗产生负面影响。

蜂窝调制解调器、高性能视频处理和复杂的汽车控制器只是在小尺寸、低功耗多核平台的对称多处理(SMP)架构下运行的,高度确定性应用的几个案例。此类系统需要底层操作系统的核心分配和任务调度能力,以满足硬实时要求,同时又不影响资源使用。

在资源受限的平台上,嵌入式Linux不是SMP的可行选择,支持SMP的实时操作系统(RTOS)也寥寥无几。因此,开发人员必须创建自己的方法来跨越多个内核进行调度和管理任务。随着越来越多的嵌入式设备需要跨多个内核部署确定性工作负载,RTOS层的动态负载均衡需求只会不断增长。

对称多处理与非对称多处理

SMP和非对称多处理(AMP)是两种多个处理器协同工作来调度和运行工作负载的架构模式。SMP系统的处理器内核是完全相同,可以运行分配给它们的任何任务,而AMP系统通常依赖于单个主内核,根据可用性和优先级来调度和分配任务。在AMP系统中,核心本身不需要是相同的类型或架构(例如,MPU可以与GPU协同工作),并且任务通常是针对内核类型的。

当开发人员可以依赖于一个稳定且可预测的环境时,AMP模式效果最佳,因为操作系统可以有效地分配工作负载,而不会产生大量开销。相比之下,对于在事件不断变化的环境中运行的应用,需要在不同内核之间动态转移工作负载时,SMP模式通常效果最佳。例如,许多手机都使用SMP,像是在Arm Cortex-A53平台上实现蜂窝调制解调器功能的手机。

为了有效地跨多个内核分配应用线程,嵌入式软件开发人员使用了动态负载均衡技术。其主要目标是确保应用在运行时在内核之间均匀分配计算工作负载,并保证优先级最高的线程不会被优先级较低的线程抢占。

动态负载均衡的原理

动态负载均衡中的“动态”是指运行时对线程调度进行持续评估,使应用能够适应不断变化的任务需求和系统条件。动态负载均衡对于以下方面至关重要:

* 提高利用率:通过将任务分配到多个核心,开发人员可以充分利用每个核心的计算能力,提高系统整体利用率。

* 缩短响应时间:适当的负载均衡可确保将关键任务分配给占用最少的核心,从而缩短响应时间并增强任务执行的可预测性。

* 容错:通过将任务重新分配给未出现故障的核心,负载均衡可以帮助减轻软件故障和硬件故障的影响,从而确保系统功能的持续运行。

* 可扩展性:随着系统需求的增长和更多内核的增加,均匀地分配任务对于在不引入瓶颈的情况下扩展容量至关重要。

嵌入式Linux自带负载均衡机制,但也有缺点:操作系统会产生高昂的开销,这可能会严重影响确定性。由于大多数硬实时RTOS不支持SMP架构上的负载均衡,因此开发人员通常会自行构建支持机制。这项工作本身也存在挑战:

* 资源使用:由于每个核心都有自己的缓存、寄存器和其他功能,开发人员必须花时间了解平台,以便在不影响性能或不造成资源争抢的情况下有效地分配任务。

* 内存访问:如果开发人员将具有公共内存池的任务分配给不同的内核,并且没有充分考虑应用的控制和数据流,则可能会出现内存访问问题。

* 任务优先级:开发人员必须了解所有任务优先级和截止时间,以确保为高优先级任务分配足够的资源和时间,避免延迟。

* 动态适应:由于负载均衡是一个适应不断变化的系统条件的过程,因此开发人员必须实现某种反馈回路或控制机制,以便在运行期间不断重新评估线程分配并调整策略。

* 同步开销:开发人员必须最大限度地减少内核之间任务切换所需的开销,以减少延迟并保持系统的实时响应能力。

RTOS层的负载均衡

像是PX5 RTOS这类专为基于多核MPU的应用而设计的RTOS可以提供内置负载均衡功能,能够满足硬实时确定性的要求,且开销远远低于嵌入式Linux和其他操作系统。PX5 RTOS采用原生POSIX pthreads API,运行所需的内存不到10KB,具有极高的可移植性和资源效率,使开发人员无需构建自己的负载均衡器。

这种RTOS原生负载均衡器的运行方式与许多流行的负载均衡技术相同:

1、给定任意数量的核心,RTOS会跟踪每个核心上运行的线程。当核心空闲并且线程可用于调度时,RTOS会调度该线程在该核心上运行。

2、如果没有空闲核心并且新线程已就绪,则RTOS会使用该线程的优先级进行调度:如果其优先级高于当前运行的任何其他线程的优先级,则RTOS会调度新线程以抢占正在运行的线程。如果其优先级低于当前运行的任何线程的优先级,则RTOS会等待下一个可用核心运行。

这种方法使用与嵌入式Linux相同的处理器关联API,使开发人员可以轻松地将线程分配给特定内核并依赖RTOS来强制执行此类分配。与大多数RTOS一样,开发人员必须确保共享资源的恰当管理,以避免出现争用问题。

并非所有线程都是平等的

在典型的单核、基于优先级的抢占式调度环境中,开发人员一次只能依赖一个运行的线程。在SMP环境中,由于多个线程可以在任意数量的内核上并行运行,因此这一条件无法保证。为了避免这种行为对系统的潜在负面影响,即要求在给定时间内只运行优先级最高的线程,PX5 RTOS让开发人员能够配置调度,仅允许相同优先级的线程在所有内核上并行运行。这种方法强制执行更严格程度的并行,使开发人员对其系统的可预测性更有信心。

结论

开发人员要在小尺寸、低功耗的多核平台上实现极高的实时性能和响应速度,就必须实现动态负载均衡。像是PX5 RTOS负载均衡功能这样的机制支持将就绪的应用线程与可用内核动态配对,所有这些都在一个超小(小于10KB)、超便携(具有完全兼容的pthreads API),并且经过严格测试(每个版本的C语句和分支决策覆盖率都达到100%)的封装内实现的。

RTOS原生负载均衡使开发人员能够专注于应用和测试,而不必自己构建在多个处理器之间分配工作负载的方法。





审核编辑:刘清

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

    关注

    68

    文章

    20392

    浏览量

    255720
  • 调制解调器
    +关注

    关注

    3

    文章

    891

    浏览量

    41200
  • SMP
    SMP
    +关注

    关注

    0

    文章

    82

    浏览量

    20996
  • MPU
    MPU
    +关注

    关注

    0

    文章

    466

    浏览量

    51659
  • 嵌入式开发
    +关注

    关注

    18

    文章

    1189

    浏览量

    50299

原文标题:在资源受限的MPU上使用SMP的新方法

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    资源受限的世界里,如何让安全不再奢侈?

    这样的"紧箍咒"下实现高效的密码保护,就像是针尖跳舞——既要在极其有限的空间里保持优雅,又必须确保每一步都精准无误。资源受限环境实际
    的头像 发表于 01-12 10:29 207次阅读
    <b class='flag-5'>在</b><b class='flag-5'>资源</b><b class='flag-5'>受限</b>的世界里,如何让安全不再奢侈?

    用于窄带匹配高速射频ADC的全新方法

    本期,为大家带来的是《用于窄带匹配高速射频 ADC 的全新方法》,介绍了一种用于窄带匹配高速射频 ADC 的全新方法,以解决高中间频率系统中 ADC 前端窄带匹配的设计难题,可在 ADC 额定带宽内应用,能提升 ADC 性能、减少模拟停机时间。
    的头像 发表于 01-04 15:56 8195次阅读
    用于窄带匹配高速射频ADC的全<b class='flag-5'>新方法</b>

    奥松电子荣获2025年中国创新方法大赛全国总决赛二等奖

    2025年11月18日-21日,2025年中国创新方法大赛总决赛山东省泰安市成功举办。国内MEMS智能传感器与半导体关键零部件领域的国家级专精特新“小巨人”企业——广州奥松电子股份有限公司,凭借
    的头像 发表于 12-05 15:17 814次阅读

    海康威视荣获2025年中国创新方法大赛总决赛金奖

    近日,2025年中国创新方法大赛圆满落幕。海康威视凭借《工业听诊师——超长距离皮带运输机托辊声纹监测系统》项目脱颖而出,斩获全国总决赛唯一金奖。
    的头像 发表于 12-04 10:55 665次阅读

    奥松半导体荣获2025中国创新方法大赛重庆赛区二等奖

    近日,2025年中国创新方法大赛(重庆赛区)暨第八届重庆市创新方法大赛圆满落幕。本届大赛以“培育创新人才,服务产业发展”为主题,旨在激发企业创新活力,推动科技创新与产业创新深度融合。大赛由重庆市科协
    的头像 发表于 11-19 11:34 1075次阅读
    奥松半导体荣获2025中国创<b class='flag-5'>新方法</b>大赛重庆赛区二等奖

    奥松两项创新技术荣获2025中国创新方法大赛广东赛区一等奖

    近日,2025年中国创新方法大赛广东区域赛中,广州奥松电子股份有限公司的《基于TRIZ的新一代气体质量流量控制器》与旗下子公司广州奥坤科技有限公司的《TRIZ驱动的智能终端全生命周期运维创新》两个
    的头像 发表于 10-30 18:58 898次阅读

    如何在资源受限型应用中使用 FPGA

    的性能需求,同时严格的功耗、尺寸和成本限制内运行。现代现场可编程门阵列 (FPGA) 可以满足这些相互竞争的需求。 本文回顾了为资源受限型应用选择 FPGA 时需要考虑的关键设计标准。然后,以 [Altera] 经过[功率和成
    的头像 发表于 10-03 17:31 2312次阅读
    如何在<b class='flag-5'>资源</b><b class='flag-5'>受限</b>型应用中使用 FPGA

    判定高电阻率硅的导电类型:基于氢氟酸HF处理结合扩展电阻SRP分析的高效无损方法

    一个挑战。传统方法如表面光电压(SPV)法受限于表面条件和低载流子浓度。本文提出了一种结合氢氟酸(HF)处理与扩展电阻分布分析(SRP)的新方法,通过借助Xfil
    的头像 发表于 09-29 13:04 1574次阅读
    判定高电阻率硅的导电类型:基于氢氟酸HF处理结合扩展电阻SRP分析的高效无损<b class='flag-5'>方法</b>

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    、Transformer 模型的后继者 二、用创新方法实现深度学习AI芯片 1、基于开源RISC-V的AI加速器 RISC-V是一种开源、模块化的指令集架构(ISA)。优势如下: ①模块化特性②标准接口③开源
    发表于 09-12 17:30

    【「AI芯片:科技探索与AGI愿景」阅读体验】+内容总览

    、集成芯片、分子器件与分子忆阻器,以及打印类脑芯片等。 第五章至第八章分别探讨用化学或生物方法实现AI、AI科学发现中创新应用、实现神经形态计算与类脑芯片的创新方法,以及具身智能芯片。 第九章
    发表于 09-05 15:10

    基于直接反电动势法的无刷直流电机准确换相新方法

    摘要:分析了桥臂 WM 调制、下桥臂恒通调制方式时的端电压波形,讨论相应的反电动势过零点检测方法. NM 调制信号开通状态结束时刻对端电压进行采样,由软件算法确定反电动势过零点.针对电机
    发表于 07-30 16:00

    芯片制造中高精度膜厚测量与校准:基于红外干涉技术的新方法

    、环境光干扰及薄膜倾斜等因素限制,测量精度难以满足高精度工业需求。为此,本研究提出一种融合红外干涉与激光校准的薄膜厚度测量新方法,旨在突破传统技术瓶颈,实现更精准、
    的头像 发表于 07-21 18:17 3279次阅读
    芯片制造中高精度膜厚测量与校准:基于红外干涉技术的<b class='flag-5'>新方法</b>

    熔池监测的创新方法

    先进监控技术,如热成像和机器视觉,提升焊接工艺精度,实现对熔池、焊缝等特征的精准分析与跟踪。
    的头像 发表于 07-18 09:49 743次阅读
    熔池监测的创<b class='flag-5'>新方法</b>

    无刷直流电机转矩脉动抑制新方法

    无功功率。分析了反电势波形及其与霍耳位置传感器间关系的基础,给出了在线计算反电势的方法。通过仿真验证了所述方法的正确性。 纯分享帖,点击下方附件免费获取完整资料~~~ 【免责
    发表于 07-09 14:12

    无刷直流电机反电势过零检测新方法

    的危险。同时,根据控制信号占空比切换低速区与高速区反电势采样方式,能有效改善低速区时反电势过零检测效果。实验结果表明,提出的反电势过零检测新方法能保证电机工作于更宽的转速范围内。 纯分享帖,点击下方
    发表于 06-26 13:50