背景介绍

目前嵌入式开发为了追求稳定性、可靠性,多核处理器多使用静态任务调度架构,静态分配CPU、进程(APP)、线程(Task)、任务(runnable)的多层调用关系树。系统在低负载场景十分稳定,但高负载场景无法实时优化多核负载,造成任务延迟。

本文介绍了一种多核实时负载均衡的调度架构,均衡多核CPU资源,提高任务处理效率和系统实时响应能力。

架构

 

 

  • 任务激励可配:中断、定时器(周期和功能分类);
  • CPU通过激励源上下文和任务Manager,在任务队列中获取和占据合适任务,完成后释放;
  • CPUs清空激励源相关任务集,并等待下一个激励源;
  • CPU在任务执行过程中发布新的任务和产生中断;
  • 任务锁保护任务不被重入执行;
  • 任务队列初始化时需要配置启动任务集;

 

优点

 

  • CPU只需要配置中断和定时器即可,任务调度解耦处理器架构;
  • 激励的处理由CPUs共同完成,完全的负载均衡,单一CPU负载降低,延时减少;
  • 单一CPU失效,其余CPUs不受影响,可继续完成任务,乃至分析失效CPU原因,系统不会失效。
Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐