当前位置:首页 > 嵌入式 > 嵌入式分享
[导读]很容易忘记的是,嵌入式Linux无法为所有嵌入式开发人员做任何事。虽然它适合于内存和强大处理器很多的应用程序,但嵌入式Linux和类似操作系统的开销对决定性和内存消耗造成负面影响的使用案例越来越多。

很容易忘记的是,嵌入式Linux无法为所有嵌入式开发人员做任何事。虽然它适合于内存和强大处理器很多的应用程序,但嵌入式Linux和类似操作系统的开销对决定性和内存消耗造成负面影响的使用案例越来越多。

细胞调制解调器、高性能视频处理和复杂的汽车控制器只是在小型、低功率多核平台上运行的对称多处理(SMP)架构下高度确定性应用的几个例子。这些系统需要从底层操作系统获得核心分配和任务安排支持,以满足严格的实时要求,同时又不影响资源的使用。

嵌入式Linux对于资源受限平台上的SMP来说并不是一个可行的选择,而且很少有实时操作系统支持SMP。因此,开发人员必须创建自己的跨多个核心调度和管理任务的方法。

由于更多的嵌入式设备需要跨多个核心部署确定性工作负载,在RTOS级别上动态负载平衡的需求只会增加。

对称多重处理与不对称多重处理

SMP和不对称多处理(AMP)是两个或多个处理器一起工作以安排和运行工作负载的体系结构模型。尽管SMP系统具有相同的核心,可以运行分配给他们的任何任务,但是AMP系统通常依靠一个主核心来根据可用性和优先级来安排和分配任务。在AMP下,核心本身不需要是相同的类型或体系结构(例如。,一个MPU可以与一个GPU一起工作),任务通常是针对核心类型的。

如果开发人员能够依赖稳定和可预测的环境,这样操作系统就可以有效地分配工作负载,而不需要花费大量的开销,那么AMP模型的工作效果最好。相比之下,对于在事件不断变化且需要动态地将工作负载从核心转移到核心的环境中运行的应用程序,SMP模型通常最有效。例如,许多手机都使用SMP,例如那些在ARM-A53平台上实现细胞调制解调器功能的手机。

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

动态负载平衡背后的原则

动态负载平衡中的"动态"是指在运行时对线程调度的连续评价,这使应用程序能够适应不断变化的任务需求和系统条件。动态负载平衡对于:

· 改进利用:通过在多个核心之间分配任务,开发人员可以充分利用每个核心的计算能力,提高整体系统利用率。

· 减少响应时间:适当的负载平衡确保将关键任务分配给最少争用的核心,减少响应时间并提高任务执行的可预测性。

· 容错:负载平衡可以通过将任务重新分配到非故障核心,确保持续的系统功能,帮助减轻软件故障和硬件故障的影响。

· 可伸缩性:随着系统需求的增加和更多的核心被添加,均匀分配任务对于扩展容量是必不可少的,而不会引入瓶颈。

嵌入式Linux有负载平衡机制,但也有一个缺点:操作系统会带来高昂的管理费用,这可能会对决定论产生显著影响。由于大多数硬实时rtos不支持SMP体系结构上的负载平衡,开发人员经常求助于构建自己的支持。这项努力本身也带来了挑战:

· 资源使用:由于每个核心都有自己的缓存、寄存器和其他独特的特性,开发人员必须投入时间来深入了解平台,以便在没有性能影响或资源争夺的情况下有效地分配任务。

· 内存访问:如果开发人员将具有共同内存池的任务分配给不同的核心,那么如果应用程序的控制和数据流没有得到充分的说明,内存访问可能会出现争用问题。

· 任务优先级:开发人员必须了解所有任务的优先级和最后期限,以确保分配足够的资源和时间来避免延误。

· 动态适应:由于负载平衡是一个适应系统条件变化的过程,开发人员必须实现某种反馈循环或控制机制,以便在运行时持续地重新评估线程分配和调整策略。

· 同步开销:开发人员必须最大限度地减少核心之间任务切换所需的开销,以减少延迟并维护系统的实时响应性。

实时操作系统层面的负载平衡

像 PX5 RTOS 这些设计用于基于多数据映射p的应用程序提供了内置的负载平衡,可以满足硬的实时决定性,与嵌入式Linux和其他操作系统相比,开销要小得多。 本地POSIX线程API 而运行px5rtos所需的时间不到10kb,它是非常可移植和资源高效的,并且使开发人员不必建立自己的负载平衡器。

这种固有的负载平衡器的工作方式与许多流行的负载平衡技术相同:

1. 给定任意数目的核心,rtos跟踪每个核心上运行的线程。当一个核心变得自由,并且一个线程可以用于调度时,RTOS将安排线程在该核心上运行。

2. 如果没有自由的内核,而且一个新线程已经准备好了,那么RTOS将使用该线程的优先级进行调度:如果它的优先级高于当前运行的任何其他线程,那么ros将安排新线程以预先选择一个正在运行的线程。如果它的优先级低于当前运行的任何线程的优先级,那么RTOS将等待下一个可用的核心运行。

这种方法使用与嵌入式Linux相同的处理器亲和力API,使开发人员很容易将线程分配给特定的核心,并依靠rtos来执行这些任务。就像大多数rto一样,开发人员必须确保共享资源的适当管理,以避免争用问题。

不是所有的线索都是平等的

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

结论

实现动态负载平衡是开发人员在小型、低功率多核平台上实现硬实时性能和响应所必需的。就像 PX5 RTOS 负载平衡功能支持随时可用的应用程序线程与可用核心的动态配对,所有这些线程都在超小(小于10kb)、超便携(带有完全兼容的P线程API)和严格测试(100%c语句和每个发布的分支决策覆盖)的包中。

RTO-固有负载平衡使开发人员能够专注于应用程序逻辑和测试,而不是不得不构建自己的方法,在多个处理器之间分配工作负载。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭