本发明属于嵌入式操作系统异构调度领域,具体涉及一种异构多核处理器计算资源协同管理的任务调度方法。
背景技术:
1、异构多核处理器(heterogeneous multi-core processor,hmp)通过集成多种类型、各具特色的处理器核心,这些核心在计算能力、控制功能等方面各具千秋,通过协同工作,不仅能够有效应对应用程序日益复杂多变的性能需求,还在能源效率上展现出显著优势。然而,hmp架构的复杂性与多样性也给其软件任务调度策略带来了前所未有的挑战。硬件设计作为基石,需精心规划以支持多样化的应用场景;而软件层面的任务调度技术则成为关键,它要求能够高效、智能地将任务分配给最适合的处理器核心,以充分发挥hmp的异构资源优势,最大化利用每一份计算资源,实现性能与效率的双重飞跃。因此,在hmp的发展进程中,不断优化软件调度策略,将是推动其性能极限、拓宽应用边界的重要驱动力。
2、早期的软件采用裸机的形式,hmp不运行操作系统,应用程序被人为拆分成多个模块,采用静态绑定的模式分配到hmp的不同核心上,各个核心独立执行。
3、随着嵌入式操作系统应用的推广,hmp更多的运行操作系统,调度算法成为研究的重点,把应用程序拆分成多个任务,通过调度算法实现多个任务在hmp上调度。现有调度算法被细分为独立任务调度算法与非独立任务调度算法两大类。
4、对于独立任务调度算法,主要分为在线模式和批处理模式两种策略。在线模式下的调度算法侧重于实时响应与资源优化;而批处理模式下的调度算法则更侧重于全局优化与资源均衡,通过批量处理与智能分配,实现了任务集的整体性能提升。
5、非独立任务调度算法同样分为确定性与非确定性两大类别。确定性调度算法以其可预测性和高效性著称,通过精确的任务划分与调度策略,确保了任务执行的时序性和资源利用率的最大化;而非确定性调度算法,通过模拟自然界或物理过程的优化机制,以概率性的方式探索更优的调度方案,在处理复杂调度问题时展现出强大的灵活性和寻优能力。
6、在不使用嵌入式操作系统的情形下,hmp架构面临显著挑战:各核心虽能独立执行,但任务分配却局限于静态绑定模式,难以实现动态负载均衡。这种刚性分配不仅要求开发者深入介入,手动将任务精细绑定至特定核心,增加了开发复杂度与出错风险,同时也因无法灵活响应系统需求变化而造成了计算资源的显著浪费
7、在使用嵌入式操作系统环境下,尽管hmp技术展现出巨大的潜力,但需要借助异构调度算法。异构多核上的独立任务调度算法虽具备灵活性,能够依据系统资源状况和任务特性进行动态调整,但这些算法往往面临资源利用率不尽人意的问题,尤其在紧急任务处理上可能显得力不从心,导致宝贵计算资源的闲置与浪费;相比之下,非独立任务调度算法通过更为精细的资源管理和任务执行顺序优化,显著提升了资源利用率。然而,这类算法也伴随着计算复杂度的显著增加和参数配置难度的提升,这在一定程度上限制了它们在需要高度实时性环境中的应用。
技术实现思路
1、(一)要解决的技术问题
2、本发明要解决的技术问题是如何提供一种异构多核处理器计算资源协同管理的任务调度方法,以解决当前调度策略都有一定局限性,对于hmp导致了编程复杂性高、处理器资源利用不充分,制约了hmp技术在更广泛场景下的应用与推广,限制了其效能的充分发挥的问题。
3、(二)技术方案
4、为了解决上述技术问题,本发明提出一种异构多核处理器计算资源协同管理的任务调度方法,设计并实现一种高效的cmcr构件,包括:主控核组件、计算核组件和多核通信组件,主控核组件为主控核cmcr组件,计算核组件为计算核cmcr组件,多核通信组件为cmcr多核通信组件;
5、在arm核上部署嵌入式实时操作系统,同时保持dsp核处于裸机运行模式,主控核组件运行于arm核上、计算核组件运行于dsp核上,多核通信组件运行于arm核和dsp核上;
6、dsp核与arm核并行启动,dsp核率先完成计算核组件初始化,进入待命状态,等待arm核的任务调度指令;与此同时,arm核启动并加载嵌入式实时操作系统,执行主控核组件的初始化流程;一旦主控核组件准备就绪,整个cmcr构件开始工作;
7、在应用层触发计算任务请求时,嵌入式实时操作系统智能地从dsp空闲资源池中检索可用dsp,通过多核通信组件将任务数据安全写入共享内存区域,随后触发核间中断,唤醒待命中的dsp以处理任务;
8、dsp在接收到中断信号后,随即从共享内存区域准确提取任务数据,同步更新自身状态;计算核组件高效执行完毕后,通过多核通信组件将处理结果回存至共享内存,并触发核间中断,通知嵌入式实时操作系统任务执行完毕,实现无缝的任务执行与状态反馈循环;
9、若dsp空闲资源不足,嵌入式实时操作系统则会将待处理任务暂存至dsp任务队列中,持续监控资源状态,一旦检测到dsp资源释放,即刻从队列中调度任务执行。
10、(三)有益效果
11、本发明提出一种异构多核处理器计算资源协同管理的任务调度方法,本发明提出一种cmcr机制,具有以下优点:
12、1、arm核部署实时操作系统,设计主控核组件管理dsp计算核,确保任务处理的即时性与稳定性,充分利用hmp的异构资源优势,最大化利用计算资源;
13、2、arm核对用户提供计算任务亲和服务接口,提升了编程效率,降低了应用在hmp下开发的复杂性与难度;
14、3、多核通信组件的设计,利用核间中断、共享内存机制实现数据快速传输,不同处理器核间数据映射至专属地址空间避免了资源访问冲突。
15、本发明提出一种基于hmp cmcr的任务调度方法。在arm核上部署嵌入式实时操作系统,并精心设计了cmcr构件,运行过程中,arm核凭借其对系统资源的全面掌控,能够智能地分析任务特性与资源状态,从而精确地将任务分配到最合适的dsp核上。这一过程不仅优化了任务的执行路径,确保了资源的最大化利用,还通过管理策略,实现了任务调度的最优化。更重要的是,该机制有效保障了系统的实时性,确保任务及时响应。
1.一种异构多核处理器计算资源协同管理的任务调度方法,其特征在于,设计并实现一种高效的cmcr构件,包括:主控核组件、计算核组件和多核通信组件,主控核组件为主控核cmcr组件,计算核组件为计算核cmcr组件,多核通信组件为cmcr多核通信组件;
2.如权利要求1所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,所述异构多核处理器为精导芯二号处理器,是一种arm+dsp异构处理器。
3.如权利要求1所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,arm核作为系统主控端,主导dsp端计算任务调度,dsp核则专注于高效执行分配的计算任务。
4.如权利要求1所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,arm0核设计为主控核,启动时先进行系统复位,确保dsp核与arm核同步复位并启动,非主控处理器核在完成程序引导后,将启动完成标志写入sys_reg,随后转入静默等待状态,等待主控核的进一步指令。
5.如权利要求1-4任一项所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,主控核组件包括:主控核初始化子模块、计算任务亲和服务接口、命令运算映射子模块、空闲dsp资源栈管理子模块、计算任务队列、主控核中断处理子模块、计算资源调度器、主控核输入子模块和主控核输出子模块;
6.如权利要求5所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,运算操作包括:fft、fir、均值计算和求模运算。
7.如权利要求5所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,计算核组件包括:计算核初始化子模块、计算核中断处理子模块、算子处理任务及计算核输入子模块与计算核输出子模块;
8.如权利要求7所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,arm与dsp数据交互的多核通信组件由arm和dsp核间中断、共享内存构成;共享内存则涵盖任务信息存储区及输入与输出数据区。
9.如权利要求8所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,任务信息存储区存储任务的指令和状态信息,实时更新dsp工作状态。
10.如权利要求8所述的异构多核处理器计算资源协同管理的任务调度方法,其特征在于,通过arm与dsp共享的二维内存数组仅传输数据地址,此数组为各dsp资源分配独立输入与输出数据区,包括输入数据、输入数据长度、输入数据类型和输出数据,确保不同处理器核间数据映射至专属地址空间。
