技术领域
[0001] 本
发明涉及
嵌入式系统技术领域,尤其涉及一种优化嵌入式软件服务质量的调度方法。
背景技术
[0002] 嵌入式系统(Embedded system),是一种“完全嵌入受控器件内部,为特定应用而设计的专用
计算机系统”。嵌入式系统一般定义为:以应用为中心,以计算机技术为
基础,软
硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。
[0003] 从智能手机,到智能手环、智能
手表等可穿戴设备,再到电
冰箱、机顶盒、
微波炉等家具电器,嵌入式
电子系统已经悄然占据人们日常生活的各个
角落。随着电子芯片制造工艺的日趋成熟,一部嵌入式系统承载的功能,即运行的软件数量,也随着功能需求增加而不断增长。即使底层硬件(如CPU处理器)运行速度越来越快,也难以避免对系统的服务质量和功耗造成压
力。针对这种情况,现有主流解决方案为提高底层硬件性能、简化软件复杂度、或减少运行软件的数量。这样就不可避免带来系统在功耗和金钱开销上的浪费,或者系统服务质量的下降。
发明内容
[0004] 本发明的目的在于提供一种优化嵌入式软件服务质量的调度方法,用于在不增加系统硬件开销和不减少系统基本功能的基础上,保障众多软件运行时达到最优的综合服务质量。
[0005] 为实现上述目的,本发明提供一种优化嵌入式软件服务质量的调度方法,包括:
[0006] 步骤10、根据非精确计算模型定义软件i的服务质量Qi为单调递增函数Qi=Fi(oi),其中oi为软件i选执行部分占用CPU周期数;
[0007] 步骤20、为最大化系统中各运行软件i的服务质量总和,数学建模为优化问题进行求解:
[0008] 目标为求解oi,最大化ΣFi(oi);
[0009] 约束条件为
[0010] 以及
[0011]其中K为常数,Ti为软件i的执行时间,Ebudget为嵌入式系统给定能耗,fmin为CPU最低
频率,fmax为CPU最高频率;
[0012] 步骤30、按照求解结果设置各软件i选执行部分占用CPU周期数oi。
[0013] 其中,根据非精确计算模型定义软件i的服务质量Qi为线性单调递增函数Qi=Fi(oi)=bi×oi+mi,其中bi和mi为常数。
[0014] 其中,假设CPU
频率范围无限,使得服务质量最优化的各oi值为:
[0015] 其中 此时软件i的执行时间Ti=Timax,Timax为软件i的执行时间限制。
[0016] 其中,若oi的最优取值使得CPU频率低于最小值fmin,为保持oi取值不变,减小软件执行时间Ti至
[0017] 其中,若oi的最优取值使得CPU频率高于最大值,需减少oi至oi=Ti×fmax。
[0018] 其中,根据非精确计算模型定义软件i的服务质量Qi为非线性单调递增函数。
[0019] 其中,采用满足非线性规划最优解的
算法求解oi。
[0020] 综上所述,本发明优化嵌入式软件服务质量的调度方法提供一种计算机
操作系统层面的统筹调度策略来控制系统中的软件运行,以达到在不增加系统硬件开销和不减少系统基本功能的基础上,保障众多软件运行时达到最优的综合服务质量的效果。
附图说明
[0021] 图1为本发明优化嵌入式软件服务质量的调度方法的原理示意图;
[0022] 图2为本发明优化嵌入式软件服务质量的调度方法中软件服务质量随选执行部分时长变化的关系示意图。
具体实施方式
[0023] 下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其有益效果显而易见。
[0024] 本发明方案的成功实施必须基于两个重要的技术前提:(1)可变频的CPU处理器;(2)运行的软件任务有明确的服务质量量化定义。
[0025] 变频处理器指嵌入式系统的控制中枢,即CPU,可按需改变自身时钟频率,改变自身运行速度,也因此改变软件运行速度。变频功能在主流处理器中广泛存在,如智能手机常用的ARM Cortex-A8处理器,速度可在600MHz-1GHz之间调节。英特尔处理器自i3系列开始,已经应用SpeedStep技术调解处理器频率,现今该系列处理器已升级至i9。
[0026] 参见图1及图2,图1为本发明优化嵌入式软件服务质量的调度方法的原理示意图;图2为软件服务质量随选执行部分时长变化的关系示意图。本发明定义软件的服务质量取决于软件执行的CPU时钟周期数,也就是说CPU执行该软件越多越久,软件所产生的服务质量越好。本发明用非精确计算(Imprecise-Computation)模型来定义服务质量与CPU执行时长的关系。其中“必执行部分”规定了软件执行的基本质量需求,如无法达到则软件执行不成功,成功完成必执行部分则完成软件基本服务质量。“选执行部分”占用CPU越多,则软件服务质量越高。随着软件设计日趋复杂,加上
软件代码的
迭代特征,这种定义方法越来越符合现代软件形态。比如,作为当今主流视频编解码标准ISO的H.264视频编解码标准对视频编解码质量渐变性有类似规定。
[0027] 一个嵌入式系统在某一运行时刻,操作系统中有多个软件任务等待执行。每个任务不可能无限执行下去,因而每个任务有时限要求。本方法解决的技术问题是,如何最优的安排(调度)系统中每个软件——Imprecise-Computation任务的开始、结束时间,使得任务完成时不违反时限要求,同时最大化所有任务的综合服务质量。
[0028] 软件任务调度需决定三个参数,分别为软件i执行时间Ti、软件执行时CPU频率fi、软件选执行部分占用CPU周期数oi。软件选执行部分执行的越多,则软件服务质量越优。
[0029] 在嵌入式系统中进行任务调度,需局限于嵌入式系统的现实因素。其中三个关键因素为时间、能耗、处理器可调频范围。
[0030] 时间
[0031] 嵌入式系统的任务通常是周期性的,这也就要求一个任务必须在一个时限内完成,以保证执行效果和后续任务顺利进行。在这里假设任一软件i都有一个执行时间限制,设为Timax。一般来说,希望软件尽量完全占用这段执行时间,以最大化此软件的服务质量。因而软件执行时间Ti一般就设定为最大时间限制,即Timax。
[0032] 能耗
[0033] 嵌入式系统的处理器能耗由CPU任务运行周期数和CPU运行频率决定。这里假设有充足
能量来源保证任务的必执行部分完成,因而只考虑可执行部分的能耗Ebudget。可执行部分能耗用公示表示为Ei=C×Vi2×oi,其中C为已知常量,Vi为与处理器频率相关的操作
电压,与软件执行时间和oi关系约为 其中k为处理器物理特性相关常量。由此可进一步导出能耗定义: 其中K由k和C表示。能耗局限指各软件的可执
行部分能耗总和不可超过系统给定能耗,即
[0034] 处理器可调频范围
[0035] 要求处理器频率必须在最低频率fmin和最高频率fmax区间内变化,即[0036] 基于上述准备,本发明的关键点在于如何在嵌入式系统中在能耗、时间等局限下,最优化软件可执行部分的服务质量。本发明的技术方案包括将各种局限条件和服务质量建模,并统一在一个数学优化问题
框架下得解。本方案的目的是最大化系统中各运行软件的服务质量总和,也即最大化ΣFi(oi)。基于上述限制条件,oi无法无限增加,因此本调度问题可以建模为一个标准的数学优化问题得解。
[0037] 本发明优化嵌入式软件服务质量的调度方法主要包括:
[0038] 步骤10、根据非精确计算模型定义软件i的服务质量Qi为单调递增函数Qi=Fi(oi),其中oi为软件i选执行部分占用CPU周期数;
[0039] 步骤20、为最大化系统中各运行软件i的服务质量总和,数学建模为优化问题进行求解:
[0040] 目标为求解oi,最大化ΣFi(oi);
[0041] 约束条件为
[0042] 以及
[0043]其中K为常数,Ti为软件i的执行时间,Ebudget为嵌入式系统给定能耗,fmin为CPU最低频率,fmax为CPU最高频率;
[0044] 步骤30、按照求解结果设置各软件i选执行部分占用CPU周期数oi。
[0045] 在本发明的一较佳
实施例中,为简化求解过程,可以定义软件的服务质量为一个线性单调递增函数Qi=Fi(oi)=bi×oi+mi,其中bi和mi为常数。
[0046] 此时,步骤20中求解的问题变换为:
[0047] 最大化:
[0048] (1)Σbi×oi
[0049] 约束条件:
[0050]
[0051]
[0052] 下面选用拉格朗日乘数法来举例说明步骤20的求解过程,具体步骤如下:
[0053] 解法步骤一:拉格朗日乘数法
[0054] 首先假设处理器可调频率无限宽,即局限条件(3)满足。这样可使用拉格朗日乘数解决优化问题(1)-(2)。首先表示拉格朗日算子:
[0055]
[0056] 对其向oi求导,应用库恩-塔克条件,且设Λ=3λK,得到
[0057] 即
[0058] 将其带入能耗等式(2),并设 可得
[0059]
[0060] 由上述两个Λ的表达式可得,
[0061]
[0062] 此即为在假设频率无限范围中,使得服务质量最优化的各oi值,此时软件i的执行时间Ti=Timax。
[0063] 解法步骤二:考虑频率范围
[0064] 1.若oi的最优取值使得CPU频率低于最小值,即 则为保证oi取值不变,需要减小软件执行时间Ti至 增加oi值虽能增加软件i的服务质量但将会使得整体服务质量之和减小。
[0065] 2.若oi的最优取值使得CPU频率高于最大值,即 则为保证不影响其他软件服务质量,需减少oi至oi=Ti×fmax。因Ti=Timax,此情况下无法增加Ti,否则软件执行将超时。
[0066] 在本发明的另一较佳实施例中,为提高求解
精度,可以根据非精确计算模型定义软件i的服务质量Qi为非线性单调递增函数,并采用满足非线性规划最优解的算法求解最优oi。在处理器可调频率无限宽的假设下,求解oi所使用的算法因满足非线性规划的最优性条件,即库恩-塔克(Kuhn-Tucker)条件,因此求解出的oi为最优解。
[0067] 综上所述,本发明优化嵌入式软件服务质量的调度方法提供一种计算机操作系统层面的统筹调度策略来控制系统中的软件运行,以达到在不增加系统硬件开销和不减少系统基本功能的基础上,保障众多软件运行时达到最优的综合服务质量的效果。
[0068] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何
修改、等同替换和改进等,均应包含在本发明的保护范围之内。