一种物联网计算任务调度系统及其方法

文档序号:6489037阅读:170来源:国知局
一种物联网计算任务调度系统及其方法
【专利摘要】本发明公开了一种物联网计算任务调度系统及其方法,该系统包括:启动模块,用于启动节点,主处理器模块执行前多个任务并统计所述前多个任务执行一次的执行时间及任务触发情况;任务触发频率预测模块,根据所述任务触发情况预测未来一段时间的任务触发频率;任务参数测量模块,根据所述前多个任务测量得到任务切换算法模块所需要的多个参数;任务切换算法模块,根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式是硬件任务还是软件任务;协处理器模块,执行所述硬件任务;主处理器模块,执行所述软件任务。本发明利用协处理器模块与主处理器模块各自的优点,在保证系统实时性的同时,使节点整体功耗最低。
【专利说明】一种物联网计算任务调度系统及其方法
【技术领域】
[0001]本发明涉及物联网领域,特别涉及一种物联网计算任务调度系统及其方法【背景技术】
[0002]近年来,物联网技术迅速发展,在重大事故监测,环境监测与保护,智能交通,智能电网,智慧医疗等领域得到广泛应用。物联网应用中存在一类计算复杂度高,且要求实时性的应用,例如智能交通领域的车辆识别与流量统计,若采用视频传感器节点,需要在节点中运行计算复杂度很高的图像压缩/解压、模式识别等算法。为了保证系统实时性,这些复杂算法通常需要运行在专用的高速协处理器中。因此,针对这类应用,一般采用双核架构。协处理器模块中主要运行计算复杂度高且有实时性要求的算法,通常采用FPGA或者DSP实现,功耗较高执行速度快;而主处理器模块作为控制器运行一些简单的算法和协议,通常采用低功耗CPU实现,功耗很低但执行速度较慢。协处理器模块与主处理器模块通过高速总线相连,高速总线可以是串行总线(如SPI),也可以是并行总线(如HPI)。
[0003]由于协处理器模块的休眠功耗比较高,当其算法长时间得不到运行时,则会浪费许多能量,降低节点能效比。例如,用于智能交通中车辆识别与流量监控的物联网视频节点,在早晚高峰期间,车流量较大,需要频繁执行模式识别算法来识别与统计车辆,此时采用协处理器模块执行效率较高;而在夜间车流量较少时,效率会大大降低。针对上述协处理器模块长期得不到运行时休眠功耗过高的问题,目前除了选择休眠功耗较低的协处理器模块之外,还没有较好的解决方案。
[0004]协处理器模块具有三种状态:运行态,休眠态和关闭态。当协处理器执行计算任务时,处于运行态;当其无计算任务运行时,处于休眠态,休眠态时协处理器依然会消耗少量能量;当断开其电源时,处于关闭态,处于关闭态的协处理器不消耗能量。协处理器可以以很低的代价从休眠态迅速切换到运行态;而若要从关闭态切换到休眠态或运行态,则协处理器需配置自身程序,将耗费较多时间和能量。主处理器模块启动之后一般只有两种状态:运行态和休眠态;且主处理器的休眠功耗通常非常低,且从休眠态切换到运行态代价很低。
[0005]本发明所提计算任务调度算法是利用协处理器关闭态时不需要消耗能量而主处理器从休眠态切换到运行态代价很低的特点,将触发频率很低的计算任务切换至主处理器中执行,以减少协处理器处于休眠态的时间和从关闭态切换到运行态的次数,继而降低节点的整体功耗。

【发明内容】

[0006]本发明的目的是:利用协处理器关闭态时不需要消耗能量而主处理器从休眠态切换到运行态代价很低的特点,将触发频率很低的计算任务切换至主处理器中执行,以减少协处理器处于休眠态的时间和从关闭态切换到运行态的次数,继而降低节点的整体功耗。
[0007]为实现上述目的,本发明提出了一种物联网计算任务调度系统,包括:
[0008]启动模块,用于启动节点,主处理器模块执行前多个任务并统计所述前多个任务执行一次的执行时间及任务触发情况;
[0009]任务触发频率预测模块,用于根据所述任务触发情况预测未来一段时间的任务触发频率;
[0010]任务参数测量模块,用于根据所述前多个任务测量得到任务切换算法模块所需要的多个参数;
[0011]任务切换算法模块,用于根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式是硬件任务还是软件任务;
[0012]协处理器模块,用于执行所述硬件任务;
[0013]主处理器模块,用于执行所述软件任务;
[0014]进一步的,所述任务触发频率预测模块包括:
[0015]短时预测模块,用于在所述协处理器模块处于休眠态时,根据当前任务触发时间与前一任务触发时间差计算得到任务调度的任务触发频率;
[0016]长时预测模块,采用在所述协处理器模块处于关闭态时,在实施预测算法前预设一个时间初始值用于估计触发频率的阀值,根据所述阀值和所述短时预测模块的时间差迭代调整时间初始值,然后通过计算得到任务调度的任务触发频率。
[0017]进一步的,所述任务切换算法模块包括:
[0018]硬件任务切换模块,用于当预测的任务触发频率导致所述协处理器模块长期无法通过所述硬件任务实时完成时,将所述计算任务切换成所述软件任务由所述主处理器模块执行,同时关闭所述协处理器模块;
[0019]软件任务切换模块,用于当预测的任务触发频率导致所述主处理器模块无法通过所述软件任务实时完成时,开启所述协处理器模块,将所述计算任务切换成所述硬件任务并由所述协处理器模块执行;
[0020]选择任务切换模块,用于当所述主处理器模块和协处理器模块都可以完成计算任务时,选择执行计算任务功耗低的最佳执行任务方式。
[0021]其中在所述选择任务切换模块中:
[0022]若所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则将所述硬件任务切换所述软件任务由所述主处理器模块执行,所述协处理器模块休眠;如果计算任务在所述主处理器模块中执行,则不切换任务;若预测到所述主处理器模块长期执行计算任务功耗较低,则关闭所述协处理器模块;
[0023]若所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则不切换任务;如果计算任务在所述主处理模块中执行,则将软件任务转换成硬件任务由所述协处理器模块执行。
[0024]在所述任务切换算法模块中:
[0025]需要切换计算任务成硬件任务由所述协处理器模块执行时,若所述协处理器模块处于关闭状态时,需要先完成所述协处理器模块的配置,在所述协处理器模块配置过程中,使所述主处理器模块休眠,配置完成后,唤醒所述主处理器模块,硬件任务根据所述主处理器模块的指令执行相关操作,若任务触发频率一直导致所述主处理器模块无法通过所述软件任务实时完成,则所述协处理器模块休眠,当新的计算任务到来时所述协处理器模块快速进入计算状态,同时所述主处理器模块继续执行预测算法,并根据硬件任务的完成情况实时调整预测算法所需参数。
[0026]在所述选择任务切换模块中:
[0027]通过计算任务调度算法计算触发频率的阀值,当任务触发频率大于所述阀值时,所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低;当任务触发频率小于所述阀值时,所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低。
[0028]所述长时预测模块包括:
[0029]迭代调整模块,用于统计所述短时预测模块的时间差连续大于所述时间初始值的时间,然后用该时间与所述时间初始值求平均值,并根据该平均值计算触发频率阀值,通过该触发频率阀值计算任务触发频率。
[0030]本发明还提供了一种物联网计算任务调度方法,包括:
[0031]步骤1,节点启动后的前多个任务由主处理器执行,并统计所述前多个任务执行一次的执行时间及任务触发情况;
[0032]步骤2,根据所述任务触发情况预测未来一段时间的任务触发频率;
[0033]步骤3,根据所述前多个任务测量得到任务切换算法所需要的多个参数;
[0034]步骤4,根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式;
[0035]步骤5,根据所述最佳执行方式,如果执行硬件任务,则切换到协处理器执行任务,如果执行软件任务,则切换到主处理器执行任务。
[0036]进一步的,所述步骤2包括:
[0037]步骤21,当所述协处理器模块处于休眠态时,进行短时预测,即根据当前任务触发时间与前一任务触发时间差计算得到任务调度的任务触发频率;
[0038]步骤22,所述协处理器模块处于关闭态时,进行长时预测,即在实施预测算法前预设一个时间初始值用于估计触发频率的阀值,根据所述阀值和所述短时预测模块的时间差迭代调整时间初始值,然后通过计算得到任务调度的任务触发频率。
[0039]进一步的,所述步骤5包括:
[0040]步骤51,当预测的任务触发频率导致所述协处理器长期无法通过硬件任务实时完成时,将所述计算任务切换成所述软件任务并由所述主处理器执行,同时关闭所述协处理器;
[0041]步骤52,当预测的任务触发频率导致所述主处理器无法通过软件任务实时完成时,开启所述协处理器,将所述计算任务切换成所述硬件任务并由所述协处理器执行;
[0042]步骤53,所述主处理器和协处理器都可以完成计算任务时,选择执行计算任务功耗低的最佳执行任务方式。
[0043]其中,在所述步骤53中:
[0044]若所述主处理器执行计算任务功耗比所述协处理器执行计算任务功耗低时:如果计算任务在所述协处理器中执行,则将所述硬件任务切换所述软件任务由所述主处理器执行,所述协处理器休眠;如果计算任务在所述主处理器中执行,则不切换任务,若预测到所述主处理器长期执行计算任务功耗较低,则关闭所述协处理器;[0045]若所述协处理器执行计算任务功耗比所述主处理器执行计算任务功耗低时:如果计算任务在所述协处理器中执行,则不切换任务;如果计算任务在所述主处理中执行,则将软件任务转换成硬件任务由所述协处理器执行。
[0046]在所述步骤5中:
[0047]需要切换计算任务成硬件任务并由所述协处理器执行时,若所述协处理器处于关闭状态时,需要先完成所述协处理器的配置,在所述协处理器配置过程中,使所述主处理器休眠,配置完成后,唤醒所述主处理器,硬件任务根据所述主处理器的指令执行相关操作,若任务触发频率一直导致所述主处理器无法通过软件任务实时完成,则所述协处理器休目民,当新的计算任务到来时所述协处理器快速进入计算状态,同时所述主处理器继续执行预测算法,并根据硬件任务的完成情况实时调整预测算法所需参数。
[0048]在所述步骤53中:
[0049]通过计算任务调度算法计算触发频率的阀值,当任务触发频率大于所述阀值时,所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低;当任务触发频率小于所述阀值时,所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低。
[0050]所述步骤22中的迭代调整过程为:
[0051]统计所述短时预测模块的时间差连续大于所述时间初始值的时间,然后用该时间与所述时间初始值求平均值,并根据该平均值计算触发频率阀值,通过该触发频率阀值计算任务触发频率。
[0052]本发明的有益效果在于利用协处理器模块与主处理器模块各自的优点,在保证系统实时性的同时,使节点整体功耗最低。具体而言:
[0053]I,本发明结合协处理器模块运行速度快和主处理器模块休眠功耗低的优点,在协处理器和主处理器中同时保存物联网计算任务代码,根据任务触发频率不同,计算任务可以在协处理器与主处理器之间相互切换;方便采用合适的调度算法以保证节点整体功耗最低。
[0054]关键点2,本发明所提计算任务调度算法是利用协处理器关闭态时不需要消耗能量而主处理器从休眠态切换到运行态代价很低的特点,将触发频率很低的计算任务切换至主处理器中执行,以减少协处理器处于休眠态的时间和从关闭态切换到运行态的次数,继而降低节点的整体功耗。同时任务调度算法可以保证系统实时性要求。
[0055]关键点3,本发明采用短时预测与长时预测相结合的方式实现对任务触发频率的预测,短时预测主要解决协处理器模块处于休眠态时的触发频率预测,而长时预测主要解决协处理器模块处于关闭态时的触发频率预测。通过二者的结合,保证节点切换功耗最低。
[0056]以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
【专利附图】

【附图说明】
[0057]图1是本发明的物联网计算任务调度系统示意图;
[0058]图2是本发明的物联网计算任务调度方法流程图;
[0059]图3是本发明的软硬件恩物切换示意图;
[0060]图4是本发明的任务调度算法示意图。【具体实施方式】
[0061]为方便论述,在后文中将协处理器简写为RCU,而将主处理器简写为CPU ;将协处理器中的计算任务称为硬件任务,而将主处理器中的计算任务称为软件任务。
[0062]图1为本发明的物联网计算任务调度系统示意图.本发明的物联网计算任务调度系统,包括:
[0063]启动模块200,用于启动节点,主处理器模块执行前多个任务并统计所述前多个任务执行一次的执行时间及任务触发情况;
[0064]任务触发频率预测模块201,用于根据所述任务触发情况预测未来一段时间的任务触发频率;
[0065]任务参数测量模块202,用于根据所述前多个任务测量得到任务切换算法模块所需要的多个参数;
[0066]任务切换算法模块203,用于根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式是硬件任务还是软件任务;
[0067]协处理器模块204,用于执行所述硬件任务;
[0068]主处理器模块205,用于执行所述软件任务。
[0069]所述任务触发频率预测模块201包括:
[0070]短时预测模块,用于在所述协处理器模块处于休眠态时,根据当前任务触发时间与前一任务触发时间差计算得到任务调度的任务触发频率;
[0071]长时预测模块,采用在所述协处理器模块处于关闭态时,在实施预测算法前预设一个时间初始值用于估计触发频率的阀值,根据所述阀值和所述短时预测模块的时间差迭代调整时间初始值,然后通过计算得到任务调度的任务触发频率。
[0072]所述任务切换算法模块203包括:
[0073]硬件任务切换模块,用于当预测的任务触发频率导致所述协处理器模块长期无法通过所述硬件任务实时完成时,将所述计算任务切换成所述软件任务由所述主处理器模块执行,同时关闭所述协处理器模块;
[0074]软件任务切换模块,用于当预测的任务触发频率导致所述主处理器模块无法通过所述软件任务实时完成时,开启所述协处理器模块,将所述计算任务切换成所述硬件任务并由所述协处理器模块执行;
[0075]选择任务切换模块,用于当所述主处理器模块和协处理器模块都可以完成计算任务时,选择执行计算任务功耗低的最佳执行任务方式。
[0076]所述选择任务切换模块中:
[0077]若所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则将所述硬件任务切换所述软件任务由所述主处理器模块执行,所述协处理器模块休眠;如果计算任务在所述主处理器模块中执行,则不切换任务;若预测到所述主处理器模块长期执行计算任务功耗较低,则关闭所述协处理器模块;
[0078]若所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则不切换任务;如果计算任务在所述主处理模块中执行,则将软件任务转换成硬件任务由所述协处理器模块执行。
[0079]所述任务切换算法模块203中:
[0080]需要切换计算任务成硬件任务由所述协处理器模块执行时,若所述协处理器模块处于关闭状态时,需要先完成所述协处理器模块的配置,在所述协处理器模块配置过程中,使所述主处理器模块休眠,配置完成后,唤醒所述主处理器模块,硬件任务根据所述主处理器模块的指令执行相关操作,若任务触发频率一直导致所述主处理器模块无法通过所述软件任务实时完成,则所述协处理器模块休眠,当新的计算任务到来时所述协处理器模块快速进入计算状态,同时所述主处理器模块继续执行预测算法,并根据硬件任务的完成情况实时调整预测算法所需参数。
[0081]所述选择任务切换模块中:
[0082]通过计算任务调度算法计算触发频率的阀值,当任务触发频率大于所述阀值时,所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低;当任务触发频率小于所述阀值时,所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低。
[0083]具体而言,以下几种情况出现时需要执行任务切换:(1)当任务触发频率很低,导致硬件任务长期得不到执行时,而硬件任务的休眠功耗过高,需要将硬件任务切换为软件任务并同时关闭协处理器模块,以降低节点整体功耗。(2)软件任务执行速度无法满足系统实时性要求时,需要切换到硬件任务。(3)软件任务和硬件任务都能满足系统实时性要求时,选择功耗较低的执行方式。软硬件任务切换示意图如附图3所示。整个过程分为6种情况:(a)节点启动后的前若干个任务都由CPU执行,用于统计软件任务执行一次的执行时间及任务触发情况;(b)基于上一阶段统计的软件任务执行情况及任务触发情况,结合提前估计的任务加速比,预测是否需要启动硬件任务;(c)当CPU模块预测到即将需要大量的计算而软件任务无法实时处理时,开启RCU模块,RCU模块启动时需要配置自身。在RCU模块配置过程中,CPU模块可休眠以节约能量,RCU模块配置完成后,唤醒CPU模块;(d)硬件任务根据CPU模块的指令执行相关操作,如复位、休眠、唤醒、开始执行、暂停执行等;由于任务触发频率较高,需要RCU模块一直执行任务,RCU模块不进入关闭状态而只休眠,当有新的计算任务到来时它可以快速进入计算状态;同时CPU模块中继续执行预测算法,并根据硬件任务的执行情况实时动态调整预测算法所需要参数,以提高预测准确率;(e)当软件任务执行功耗比硬件任务执行功耗低时,将计算任务切换到CPU模块中执行,而硬件任务处于休眠态;(f)若预测到在相当长一段时间内,软件任务的执行功耗会一直比较低,则关闭RCU模块,软件任务继续在CPU模块中运行。为了简化示意图,忽略了 一些对节点整体功耗影响不大的过程。
[0084]本发明所述计算任务可以在CPU模块中执行,也可以在RCU模块中执行,要确定是否需要进行任务切换,首先需要找到任务切换临界点。处于任务切换临界点时,任务在CPU模块中执行与在RCU模块中执行功耗相同。由于任务不同,软硬件任务切换临界点一般不相同,需要根据软硬件任务执行功耗,时间,任务触发频率等情况来实时确定。表I中为软硬件任务切换需要考虑的参数,其中Ps、PH、Pss、PHS、PHC> Tt根据终端所选用的器件可以提前测量得到。Ts、Th由具体的计算任务确定,不同的计算任务它们的值往往不同,需要任务运行一段时间后才能测量得到。需要指出的是,硬件任务加速比Sp在节点刚启动时,它的值是不知道的,而在图3第一阶段就需要用它去预测是否需要切换任务到硬件中执行。我们采用的方法是用一个提前估计的硬件加速比值初始化它,而这个估计值是在节点设计好后通过若干个软硬件任务实验取平均值估算得到的。对于特定的任务,该初始值往往不是最佳的,需要在任务执行过程中根据实际的任务执行情况进行调整。
[0085] 表1软硬件切换中需要考虑的性能参数
【权利要求】
1.一种物联网计算任务调度系统,其特征在于,包括: 启动模块,用于启动节点,主处理器模块执行前多个任务并统计所述前多个任务执行一次的执行时间及任务触发情况; 任务触发频率预测模块,用于根据所述任务触发情况预测未来一段时间的任务触发频率; 任务参数测量模块,用于根据所述前多个任务测量得到任务切换算法模块所需要的多个参数; 任务切换算法模块,用于根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式是硬件任务还是软件任务; 协处理器模块,用于执行所述硬件任务; 主处理器模块,用于执行所述软件任务。
2.如权利要求1所述的物联网计算任务调度系统,其特征在于,所述任务触发频率预测模块包括: 短时预测模块,用于在所述协处理器模块处于休眠态时,根据当前任务触发时间与前一任务触发时间差计算得到任务调度的任务触发频率; 长时预测模块,采 用在所述协处理器模块处于关闭态时,在实施预测算法前预设一个时间初始值用于估计触发频率的阀值,根据所述阀值和所述短时预测模块的时间差迭代调整时间初始值,然后通过计算得到任务调度的任务触发频率。
3.根据权利要求1所述的物联网计算任务调度系统,其特征在于,所述任务切换算法模块包括: 硬件任务切换模块,用于当预测的任务触发频率导致所述协处理器模块长期无法通过所述硬件任务实时完成时,将所述计算任务切换成所述软件任务由所述主处理器模块执行,同时关闭所述协处理器模块; 软件任务切换模块,用于当预测的任务触发频率导致所述主处理器模块无法通过所述软件任务实时完成时,开启所述协处理器模块,将所述计算任务切换成所述硬件任务并由所述协处理器模块执行; 选择任务切换模块,用于当所述主处理器模块和协处理器模块都可以完成计算任务时,选择执行计算任务功耗低的最佳执行任务方式。
4.根据权利要求3所述的物联网计算任务调度系统,其特征在于,所述选择任务切换模块中: 若所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则将所述硬件任务切换所述软件任务由所述主处理器模块执行,所述协处理器模块休眠;如果计算任务在所述主处理器模块中执行,则不切换任务;若预测到所述主处理器模块长期执行计算任务功耗较低,则关闭所述协处理器模块; 若所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低时:如果计算任务在所述协处理器模块中执行,则不切换任务;如果计算任务在所述主处理模块中执行,则将软件任务转换成硬件任务由所述协处理器模块执行。
5.根据权利要求1所述的物联网计算任务调度系统,其特征在于,所述任务切换算法模块中: 需要切换计算任务成硬件任务由所述协处理器模块执行时,若所述协处理器模块处于关闭状态时,需要先完成所述协处理器模块的配置,在所述协处理器模块配置过程中,使所述主处理器模块休眠,配置完成后,唤醒所述主处理器模块,硬件任务根据所述主处理器模块的指令执行相关操作,若任务触发频率一直导致所述主处理器模块无法通过所述软件任务实时完成,则所述协处理器模块休眠,当新的计算任务到来时所述协处理器模块快速进入计算状态,同时所述主处理器模块继续执行预测算法,并根据硬件任务的完成情况实时调整预测算法所需参数。
6.根据权利要求3所述的物联网计算任务调度系统,其特征在于,所述选择任务切换模块中: 通过计算任务调度算法计算触发频率的阀值,当任务触发频率大于所述阀值时,所述协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低;当任务触发频率小于所述阀值时,所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低。
7.根据权利要求2所述的物联网计算任务调度系统,其特征在于,所述长时预测模块包括: 迭代调整模块,用于统计所述短时预测模块的时间差连续大于所述时间初始值的时间,然后用该时间与所述时间初始值求平均值,并根据该平均值计算触发频率阀值,通过该触发频率阀值计算任务触发频率。
8.一种物联网计算任务调度方法,其特征在于,包括: 步骤1,节点启动后的前多个任务由主处理器执行,并统计所述前多个任务执行一次的执行时间及任务触发情况; 步骤2,根据所述任务触发情况预测未来一段时间的任务触发频率; 步骤3,根据所述前多个任务测量得到任务切换算法所需要的多个参数; 步骤4,根据所述任务触发频率及所述多个参数,评估下一个计算任务的最佳执行方式; 步骤5,根据所述最佳执行方式,如果执行硬件任务,则切换到协处理器执行任务,如果执行软件任务,则切换到主处理器执行任务。
9.根据权利要求8所述的一种物联网计算任务调度方法,其特征在于,所述步骤2包括: 步骤21,当所述协处理器模块处于休眠态时,进行短时预测,即根据当前任务触发时间与前一任务触发时间差计算得到任务调度的任务触发频率; 步骤22,所述协处理器模块处于关闭态时,进行长时预测,即在实施预测算法前预设一个时间初始值用于估计触发频率的阀值,根据所述阀值和所述短时预测模块的时间差迭代调整时间初始值,然后通过计算得到任务调度的任务触发频率。
10.根据权利要求8所述的一种物联网计算任务调度方法,其特征在于,所述步骤5包括: 步骤51,当预测的任务触发频率导致所述协处理器长期无法通过硬件任务实时完成时,将所述计算任务切换成所述软件任务并由所述主处理器执行,同时关闭所述协处理器; 步骤52,当预测的任务触发频率导致所述主处理器无法通过软件任务实时完成时,开启所述协处理器,将所述计算任务切换成所述硬件任务并由所述协处理器执行; 步骤53,所述主处理器和协处理器都可以完成计算任务时,选择执行计算任务功耗低的最佳执行任务方式。
11.根据权利要求10所述的物联网计算任务调度方法,其特征在于,所述步骤53中: 若所述主处理器执行计算任务功耗比所述协处理器执行计算任务功耗低时:如果计算任务在所述协处理器中执行,则将所述硬件任务切换所述软件任务由所述主处理器执行,所述协处理器休眠;如果计算任务在所述主处理器中执行,则不切换任务,若预测到所述主处理器长期执行计算任务功耗较低,则关闭所述协处理器; 若所述协处理器执行计算任务功耗比所述主处理器执行计算任务功耗低时:如果计算任务在所述协处理器中执行,则不切换任务;如果计算任务在所述主处理中执行,则将软件任务转换成硬件任务由所述协处理器执行。
12.根据权利要求8所述的物联网计算任务调度方法,其特征在于,所述步骤5中: 需要切换计算任务成硬件任务并由所述协处理器执行时,若所述协处理器处于关闭状态时,需要先完成所述协处理器的配置,在所述协处理器配置过程中,使所述主处理器休目民,配置完成后,唤醒所述主处理器,硬件任务根据所述主处理器的指令执行相关操作,若任务触发频率一直导致所述主处理器无法通过软件任务实时完成,则所述协处理器休眠,当新的计算任务到来时所述协处理器快速进入计算状态,同时所述主处理器继续执行预测算法,并根据硬件任务的完成情况实时调整预测算法所需参数。
13.根据权利要求10所述的物联网计算任务调度方法,其特征在于,所述步骤53中: 通过计算任务调度算法计算触发频率的阀值,当任务触发频率大于所述阀值时,所述`协处理器模块执行计算任务功耗比所述主处理器模块执行计算任务功耗低;当任务触发频率小于所述阀值时,所述主处理器模块执行计算任务功耗比所述协处理器模块执行计算任务功耗低。
14.根据权利要求9所述的物联网计算任务调度方法,其特征在于,所述步骤22中的迭代调整过程为: 统计所述短时预测模块的时间差连续大于所述时间初始值的时间,然后用该时间与所述时间初始值求平均值,并根据该平均值计算触发频率阀值,通过该触发频率阀值计算任务触发频率。
【文档编号】G06F9/48GK103677984SQ201210352776
【公开日】2014年3月26日 申请日期:2012年9月20日 优先权日:2012年9月20日
【发明者】石海龙, 李栋, 邱杰凡, 崔莉 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1