Application of Improved Bird Swarm Algorithm Based on Nonlinear Factor in Dynamic Energy Management
-
摘要:
针对实时系统能耗管理中动态电压调节(DVS)技术的应用会导致系统可靠性下降的问题,该文提出一种基于改进鸟群(IoBSA)算法的动态能耗管理法。首先,采用佳点集原理均匀地初始化种群,从而提高初始解的质量,有效增强种群多样性;其次,为了更好地平衡BSA算法的全局和局部搜索能力,提出非线性动态调整因子;接着,针对嵌入式实时系统中处理器频率可以动态调整的特点,建立具有时间和可靠性约束的功耗模型;最后,在保证实时性和稳定性的前提下,利用提出的IoBSA算法,寻求最小能耗的解决方案。通过实验结果表明,与传统BSA等常见算法相比,改进鸟群算法在求解最小能耗上有着很强的优势及较快的处理速度。
Abstract:The application of Dynamic Voltage Scaling (DVS) technique in real-time system energy management will result in the decrease of system reliability. A dynamic energy management method based on Improved Bird Swarm Algorithm (IoBSA) is proposed in this paper. Firstly, the population is initialized uniformly with the principle of good point set, so as to improve the quality of initial solution and increase the diversity of population effectively. Secondly, in order to balance better the global and local search ability of BSA algorithm, the nonlinear dynamic adjustment factor is proposed. Then, a power consumption model with time and reliability constraints is established for the dynamic adjustment of processor frequency in embedded real-time systems. On the premise of ensuring real-time performance and stability, the proposed IoBSA algorithm is used to find the solution with minimum energy consumption. The experimental results show that compared with the traditional BSA algorithm and other common algorithms, the improved bird swarm algorithm has a strong advantage in solving the minimum energy consumption and a fast processing speed energy management.
-
1. 引言
伴随着电池驱动实时嵌入式系统的广泛应用,现代处理器性能所带来的能耗需求与有限电池容量之间的矛盾越发明显。处理器的能耗过高,可能会导致任务持续时间缩短、散热增加、可靠性降低。动态电压调节(Dynamic Voltage Scaling, DVS)是一种有效的低功耗管理技术[1,2],它通过降低电源电压和处理器频率来实现低功耗指标。目前,该技术已广泛运用到能耗管理中。然而,处理器频率的降低会增加任务执行时间,并存在超出任务截止日期的风险。同时,最近的研究表明,处理器频率的降低也会导致系统可靠性下降,使系统不稳定[3]。因此,对于基于DVS的能耗管理,系统的实时性和可靠性需要一并考虑。文献[4]提出了一种3阶段启发式解决方案,该方案用于解决具有优先约束的周期性硬实时任务的计算机系统的能耗最小化问题。文献[5]旨在延长无线传感器网络(Wireless Sensor Network, WSN)的使用寿命。针对计算复杂度较高的WSN应用背景及其普遍存在的任务模式,提出一种基于混合任务模型的动态电压调度算法(Hybrid-task-model-based Dynamic Voltage Scaling, H-DVS)。文献[6]考虑了在给定时间和能量约束条件下,为了最大化整体可靠性,将处理频率分配给一组实时任务的问题。然而,具有可靠性和实时性约束的电源能耗管理却很少被考虑,而这两者对系统的性能都非常重要。最近,随着仿生算法的不断涌现,群智能算法作为一类新型的优化算法被应用到各个工业领域内[7-9]。因此利用群智能优化算法在复杂约束优化问题上具有良好性能的特点,实现在兼顾实时性和稳定性的前提下对能耗管理方案进行优化。文献[10]提出了基于人工蜂群算法(Artificial Bee Colony, ABC)的能耗管理法。不过通过数据分析,该算法对能耗问题的优化未能达到较好结果。为此,基于新型或改进智能算法用于解决能耗管理已成为一个亟待解决的问题。
2015年,文献[11]受到鸟类群体智能的启发,提出一种全新的群智能优化算法—鸟群算法(Bird Swarm Algorithm,BSA)。该算法的主要思想来源于对鸟群觅食、警惕和飞行行为的模拟以及对鸟群觅食过程中共享信息的研究。相比与差分进化算法(Differential Evolution, DE)、粒子群算法(Particle Swarm Optimization, PSO)等常见传统优化算法,该算法不仅收敛精度高、鲁棒性好,而且独有的多路径搜索机制使其更好的平衡了高效性与准确性。目前该算法研究文献较少,研究方向大致分为两个方面:算法的改进和应用。在算法改进方面,杨文荣等人[12]提出了Levy自适应改进鸟群算法(Levy Self Adaption BSA, LSABSA)。该算法主要采用Levy飞行策略的随机游走模式来增加种群多样性和跳出局部最优值,并通过(0,1)随机均匀分布自适应改进惯性权重以及线性调整认知和社会系数来平衡BSA算法的全局和局部搜索能力;李延延等人[13]为了增加鸟群警戒行为的靶向性,在选取目标个体时,采用了当前最优个体替代原算法中随机选取的方法,并通过运行步长加权平均思想克服了飞行行为中生产者迭代步长过大而容易导致过度跳跃的不足。在算法应用方面,吴军等人[14]提出了双鸟群混沌优化,并成功运用于otus图像分割;王进成等人[15]将改进的鸟群优化算法(Weight BSA, WBSA)成功运用到求解农产品冷链物流配送路径优化问题上。目前,由于该算法提出的时间较短,故存在较大的研究潜力。如何有效地提高鸟群算法的优化性能,使其更好地平衡搜索和开发过程将会是以后研究的重点。
本文提出了一种基于非线性因子的改进鸟群算法的动态能耗管理法。首先,采用佳点集原理初始化种群个体,使初始种群均匀分布于解空间中,增强种群的多样性;其次,为了更好地平衡BSA算法全局和局部搜索能力,提升寻优精度,加快收敛速度,引入了非线性因子动态调整种群个体的学习系数;最后将改进的鸟群算法应用到动态能耗管理中。实验结果表明,改进算法在可靠性和实时性约束下,能高效、快速地降低系统功耗。
2. 基于改进鸟群算法(IoBSA)的能耗管理模型
2.1 鸟群算法(BSA)
鸟群算法是通过观察自然界鸟群的生活习性后,根据其社会行为提出的一种新型群智能算法。其中,鸟类的社会行为可以通过一些规则来简化。
规则1 每只鸟采用随机决策方式在警觉行为和觅食行为之间切换。
规则2 每只鸟在觅食过程中记录并更新自身最佳经验和整个种群的最佳经验,以此来寻找食物。觅食行为的数学模型表示为
xt+1i,j=xti,j+(pi,j−xti,j)×C×rand(0,1)+(gj−xti,j)×S×rand(0,1) (1) 其中,
j∈[1,2,···,D] ;rand(0,1) 代表(0,1) 之间的独立均匀分布数;C 和S 分别称为认知学习系数和社会学习系数;p 表示第i 只鸟的先前最优位置;g 代表种群的先前最优位置。规则3 每只鸟在保持警觉时,都试图往种群中心移动。这时彼此之间会发生相互竞争,因而不会直接向中心移动。警觉行为的数学模型表示为
xt+1i,j=xti,j+A1(meanj−xti,j)×rand(0,1)+A2(pk,j−xti,j)×rand(−1,1) (2) A1=a1×exp(−pFitisumFit+ε×N) (3) A2=a2×exp((pFiti−pFitk|pFitk−pFiti|+ε)N×pFitksumFit+ε) (4) 其中,
k∈{1,2,···,N} 且k≠i ;a1 和a2 为正数,且a1∈[0,2] ,a2∈[0,2] ;pFit 表示该时刻第i 只鸟的最佳适应度值;sumFit 表示当前种群的最佳适应度值之和;ε 用于避免零除法误差,一般取值为计算机产生的最小常量;meanj 表示整个群体处于第j 维上的平均位置。规则4 每只鸟会定期飞到另一个地方。此时,它们的角色会在生产者和乞食者之间切换。储量最低的鸟将成为乞食者,最高的则为生产者。其余鸟类将随机选择生产者和乞食者。生产者主要负责寻找食物,而乞食者则选择跟随生产者寻找食物。其中,生产者和乞食者的位置更新公式分别为
xt+1i,j=xti,j+randn(0,1)×xti,j (5) xt+1i,j=xti,j+(xtk,j−xti,j)×FL×rand(0,1) (6) 其中,
k∈[1,2,···,N],k≠i ;randn(0,1) 为均值为0,标准差为1的高斯分布随机数;FL∈[0,2] ,它表示乞食者会跟着生产者去寻找食物的概率。在此,假设每隔一个FQ 单位间隔,每只鸟都会飞到另一个地方。其中,FQ 是一个正整数。2.2 基于佳点集及非线性因子的BSA算法
BSA算法由于其本身独特的多路搜寻机制,故在搜索精度、稳定性上有着较强的优势。尽管如此,该算法仍然存在一些问题。在迭代后期,由于种群的多样性会下降,导致算法收敛速度减缓。因此,为了解决算法中出现的早熟现象,本文提出了一种基于佳点集及非线性因子的BSA算法(IoBSA)。IoBSA主要针对初始化种群的质量以及学习系数的适应性这两方面对BSA进行改进。
2.2.1 佳点集的引入
在标准BSA算法中,由于种群个体采用随机初始化方式,故每个个体位置未能均匀分布于解空间。为此,采用华罗庚提出的佳点集原理[16]来构造初始化种群空间。佳点集的基本定义和构造为:设
Gs 是s 维欧式空间中的单位立方体,如果r∈Gs ,形为Pn(k)={({r(n)1×k},···,{r(n)i×k},···,{r(n)s×k}),1≤ k≤n} ,其偏差满足φ(n)=C(r,ε)n−1+ε ,其中C(r,ε) 是只与r 和ε (ε 是任意的正数)有关的常数,则称pn(k) 为佳点集,r 为佳点。取{rk={2cos(2πk/p)}, 1≤k≤s} ,p 是满足(p−3)/2≥s 的最小素数。其中,{k×r(n)i} 表示k×r(n)i 的小数部分。采用佳点集和随机抽样法生成2维初始化种群进行对比,如图1所示。其中种群个数
N=60 ,取值范围为[0, 1]。从图1中可知,在种群数一定的前提下,佳点集构造比随机抽样方法更为均匀,初始种群有更好的遍历性,进一步丰富了种群的多样性。2.2.2 非线性因子的提出
从BSA算法规则2中的觅食行为更新公式可以看出,认知学习系数
C 和社会学习系数S 在平衡全局和局部搜索能力上起着关键的作用。文献[12]提出以线性调整因子替常量参数值,其参数表达式为C′=Cs+(Ce−Cs)×L(t) (7) S′=Ss+(Se−Ss)×L(t) (8) L(t)=ttmax (9) 其中,
t 为当前迭代次数;tmax 为最大迭代次数;Cs,Ce 分别表示认知学习系数的上下限;Se,Ss 分别表示社会学习系数的上下限;令Ce=Ss=0.5 ,Cs=Se=2 。由式(7)—式(9)可知,以
12tmax 为迭代前后期的分界点,线性调整因子的引入使得鸟群在搜索觅食前期,C 取较大值,S 取较小值,进而增强了前期的全局搜索能力;在搜索觅食后期,C 取较小值,S 取较大值,使得局部搜索能力得到提高。不过通过研究分析,随着迭代的不断进行,同一时刻t 下,学习参数C 与S 的取值差异仍比较大,特别是在迭代初期和末期。较大的差异使得算法在整个过程中很难达到全局和局部的实时动态平衡,进而使算法的收敛性受限。因此,在保证前后期C 与S 的变化下,尽量较小参数之间的取值差异,即L(t) 要满足:L(t) 单调递增,且∀t∈[0,12tmax],L(t)>ttmax ,∀t∈[12tmax],L(t)<ttmax 。因此,本文提出了非线性自适应学习因子L(t) ,其表达式及个体位置更新公式为L(t)=12((2×ttmax−1)3+1) (10) xt+1i,j=xti,j+(pi,j−xti,j)×C′×rand(0,1)+(gj−xti,j)×S′×rand(0,1) (11) 综上所述,本文提出的IoBSA算法的实现过程如下:
步骤 1 算法参数初始化:鸟群种群规模
N ;最大的迭代次数tmax ;觅食频率P ;飞行间隔FQ ;以及Cs,Ss,Ce,Se,a1,a2,FL ;步骤 2 种群初始化:采用佳点集的方法构造初始种群;计算
N 个个体的适应度值并记录最优值;步骤 3 设置
t=1 (当前迭代次数);步骤 4 如果
t<tmax ;步骤 5 当
t%FQ≠0 时,对于每只鸟群个体,如果随机数小与觅食概率P ,采用式(11)觅食。否则,采用式(2)警觉;步骤 6 当
t%FQ=0 时,将鸟群按规则分为生产者和觅食者。对于每只鸟,如果为生产者,采用式(5)觅食。否则,采用式(6)跟随;步骤 7 计算当前迭代的每一个个体的适应度值,并更新最优值;
步骤 8
t=t+1 。2.3 能耗管理模型及问题描述
2.3.1 任务模型
在本文中,考虑了一组独立的、周期性的实时任务
Γ={T1,T2,···,Tn} 。每个任务Ti 用4元组表示为Ti=(Si,Hi,Di,Pi) 。其中,Si 表示任务就绪时间,Hi 表示其最坏情况执行时间(Worst Case Execution Time, WCET),Di 代表它的截止时间,Pi 表示它的周期。在DVS设置中,假设任务的WCET是在最大处理频率fmax 给出的。为简单起见,假设任务的执行时间与处理速度成线性关系[2]。也就是说,在按比例缩放的fi (fi<fmax )下,任务的执行时间为Hi⋅(fmax/fi) 。每个任务彼此独立,在0时刻准备就绪,且都来自于任务集Γ 。为保证任务在Di 内完成,可建立实时任务数学模型为(其中fmax 归一化为1)Di−Hi1fi≥0 (12) 2.3.2 功率模型
对于基于CMOS技术的处理器,功耗主要由动态功耗
Pi 决定,其数学表达式为Pi=CefVdd2fi (13) 其中,
Cef 为有效开关电容,它是一个与系统相关的常数。Vdd 是供电电压,fi 为处理器时钟频率[6]。处理器动态能量消耗Ei 的数学模型为Ei=Pi.T ,T 表示在频率fi 下的执行时间。因此,E 可以表示为Ei=CefVdd2Hi (14) 其中,
Hi 为在WCET下执行任务的周期数。处理器频率几乎与电源电压成线性关系,即可表示为fi=k⋅(Vdd−Vt)2/Vdd ,k 是一个大于0的常数,Vt 是阈值电压。故Vdd 的表达式可转换为Vdd=Vt+fi2k+√Vtkfi+fi24k2 (15) 因此,处理器的动态能耗
Ei 可由频率fi 给出Ei(fi)=CefHi(fi22k2+2Vtfik+Vt2+(Vt+fi2k)√4Vtfik+fi2k2) (16) 为简便起见,令
Cef=1 ,k=1 ,Vt=1 ,则功率模型可表示为Ei(fi)=Hi(fi22+2fi+1+(1+fi2)√4fi+fi2) (17) 2.3.3 故障模型
在执行应用程序过程中,难免因各种原因会发生故障,如硬件故障、软件错误和电磁干扰。故障产生就可能导致任务失败,使得系统的可靠性下降。
传统上,暂态故障是通过泊松分布来建模的,其平均故障率
λ 与处理器时钟频率[17]有关。本文假设在执行不同任务时发生的暂态故障是独立的,则故障到达率模型为λ(fi)=λ0.g(fi)=λ010d(1−fi)1−fmin (18) 其中,
λ0 为最大频率fmax=1 时对应的平均故障率,也就是g(fmax)=1 。d(d>0) 代表了故障率对电压和频率标度的灵敏度。fi 为处理器时钟频率且fi∈(fmin,fmax) ,fmax 归一化为1。当fi<fmax ,g(fi)>1 。因此,从上式可以看出,为了节能而降低频率会导致成倍增长的故障率,且最大故障率λ010d 发生在最小频率fmin 处。2.3.4 问题描述
本文的主要目标是开发一种能量管理方案,以减少在特定处理器系统上执行周期性实时任务时的最大动态功耗,同时保持系统的可靠性。
假设处理器时钟频率
f∈(fmin,fmax) ,并将其标准化为1。对于一组独立的周期实时任务Γ={T1,T2,···,Tn} ,在给定的周期内完成所有任务所需的能量E 可表示表示为E=n∑i=1Ei(fi) (19) 本文的目的是使系统功耗最小化,所有任务同时满足可靠性和实时性的约束,因此将问题定义为
minn∑i=1Ei(fi) (20) 且满足
Di−Hi1fi≥0 (21) λ(fi)<λk (22) fmin≤fi≤fmax(1≤i≤n) (23) 其中,
Hi 表示最坏情况下的执行时间(WCET),Di 为任务Ti 的截止时间。λk 是一个常数,其设置范围为[λ0 ,λ010d ]。式(21)对应于任务截止期限约束,式(22)表示瞬态故障率约束,式(23)给出了可行频率分配的范围。
在工程优化领域中,引入惩罚函数是一种有效的约束处理方法。本文使用静态惩罚来处理约束函数,即根据约束违犯的程度分配一个巨大的惩罚因子。其数学表达式可描述为
F(x)=f(x)+n∑i=1k×[max(gi(x),0)] (24) 其中,
x 为个体变量,f(x) 为目标函数值,k 为一个巨大的正数,gi(x) 是解的第i 个约束。因此,目标函数可表示为
g1=Di−Hifi≥0 (25) g2=λ010d(1−fi)1−fmin−λk≤0 (26) fobj=n∑i=1Ei(fi)+L⋅|min(g1,0)|+L⋅|max(g2,0)| (27) 其中,
L 是一个巨大的正数,称为惩罚因子,g1 和g2 分别代表实时性和稳定性约束。3. 实验结果与分析
为了验证基于IoBSA算法的动态能耗管理的性能,将算法与传统BSA[11], LSABSA[12], CSBA[18],GWO[19], CJADE[20]以及文献[10]提出了基于人工蜂群算法(ABC)的能耗管理法进行对比。实验环境是windows7 64位操作系统,2.93 GHz CPU和4 GB内存的PC机,MATLAB R2014a开发软件。
算法参数的设置,见表1所示。为了公平对比,所有算法的种群数量
N=60 ,迭代次数tmax=1000 。对于系统参数的设置,如2.3小节所述,可以连续改变处理器频率(fmax 归一化为1)。其中,假设fmax 能满足实时性和可靠性约束,并简化计算过程,令Cef=1 ,k=1 ,Vt=1 。惩罚因子L 决定算法对违反约束解的惩罚力度。在最小值求解中,越大的L 使得不可用解越大程度远离最优解,进而被算法自动剔除。但是过大的L 也会使得一定程度上增加算法计算量。综合考虑上述因素,本文中L=5000 。表 1 部分算法参数列表算法 参数设置 BSA C=S=1.5,a1=a2=1,FQ=5,P∈[0.8,1] FL∈[0.5,0.9] LSABSA a1=a2=1,FQ=5,P∈[0.8,1],FL∈[0.5,0.9] Ce=Ss=0,5,Cs=Se=2.5 本文 a1=a2=1,FQ=5,P∈[0.8,1],FL∈[0.5,0.9] IoBSA Ce=Ss=0,5,Cs=Se=2 CBSA Qmin=0,Qmax=2,A=0.7,r=0.4,Pα=0.25 CJADE F=0.8,Cr=0.5,c=0.1,p=0.05 文献[10] limit=50 此外,本文假设故障率服从泊松分布。其中当频率为
fmax 时,平均故障率λ0=10−6 [6],系统故障率λ(fi)=10−6×10d(1−fi)/1−fmin 。由于该常数d(d>0) 表示故障率对DVS的敏感性,因此本实验对不同的故障率变化值取值范围从1到6进行评估。受频率和电压缩放影响,假定最大故障率为λmax=λ010d 。图2为不同频率f 、不同常数d 下的故障率。显然,随着频率的增加,错误率呈线性下降,而d 越小,最大错误率越小。当d=1 时,对应最大的错误率为10−5 ,故式(22)中λk=10−5 为故障率约束。为了模拟实际的多任务处理并检查通用性,设置3个不同的任务量(分别为10, 30和50),任务的
Hi 均匀分布在20和50之间。Di∈(20,220) 为每个任务随机生成任务截止日期。表2为本文设置的实验参数。为了避免偶然性,每个实验执行20次,实验结果用最佳值、最差值、平均值和标准差表征。表3—表5分别显示了任务量为10, 30和50的优化结果。其中,表内NPM-Val表示无电源管理(No Power Manegement, NPM)的理想结果,它主要用来判断解决的方案是否可行。不同任务规模下的NPM-Val由式(28),式(29)得到
表 2 实验参数列表参数名 值 参数名 值 种群数 60 任务量 10 30 50 归一化频率 0.1~1.0 截止时间 20~220 WCET 20~50 迭代次数 1000 运行次数 20 惩罚因子 5000 表 3 任务量为10的优化结果NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 375.57 Best 853.45 821.52 896.57 1040.55 830.83 904.09 1187.05 (min) Worst 1110.96 1040.01 1090.47 1178.55 1053.47 1123.84 1061.25 3427.05 Mean 967.95 913.04 1005.06 1105.57 964.94 1035.83 1147.21 (max) Std.Dev 58.18 57.66 60.36 34.85 50.46 53.92 55.25 表 4 任务量为30的优化结果NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 1126.70 Best 4355.13 3642.20 4197.41 4048.74 4353.49 4382.29 4881.90 (min) Worst 5158.38 4936.64 5175.33 5033.73 5234.853 5021.29 5470.92 10281.15 Mean 4771.52 4368.30 4739.58 4519.13 4681.22 4677.56 4928.57 (max) Std.Dev 215.87 345.31 269.02 238.77 223.95 150.11 304.62 表 5 任务量为50的优化结果NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 1877.83 Best 8572.38 8281.54 8610.62 无效 8384.88 8416.94 无效 (min) Worst 10442.74 10023.18 10149.21 无效 无效 无效 无效 17135.25 Mean 9557.82 9319.57 9513.31 无效 无效 无效 无效 (max) Std.Dev 587.00 535.50 520.50 643448.64 529852.01 75029.97 1147609.95 NPM-Valmin=dim×37.5566 (28) NPM-Valmax=dim×342.7051 (29) 其中,
dim 表示任务量(10, 30和50), NPM-Valmin和NPM-Valmax分别表示在任务量为dim时所对应的总理想最小和最大能量耗散,常数37.5566 和342.7051 分别表示当式(17)中fi=fmin=0.1,Ci= Cmin=20 与fi=fmax=1,Ci=Cmax=50 时,单个任务的理想最小和最大能量耗散。实际上,由于错误率模型的约束,NPM-Valmin在理论上是不可达到的,其中fmin 对应于最大错误率。从表3到表5可以看出,相比与待比较的算法,IoBSA得到的解明显更接近于具有实时性和稳定性约束的NPM-Valmin。特别是随着任务规模的增加,IoBSA的优势更加明显。表5中无效表示了优化结果超过NPM-Valmax或频率越限。不难发现,随着任务量的增加,部分算法的优化结果已处于无效状态。然而,无论任务量如何,IoBSA算法仍然保持着强大的优化能力。值得注意的是,表5中后4个算法的Std.Dev值明显偏大,其意义就在于说明了这4种算法在解决高任务量能耗管理优化上存在较大的不稳性,不适合用于处理该类问题。
为了更好地反映IoBSA算法与传统BSA, LSABSA算法在解决能耗管理问题上收敛速度的差异,在最大迭代次数为100时,分别绘制出任务量分别10,30和50的收敛曲线图,如图3所示。从图中可以看出,IoBSA算法的目标函数值最低,即在实时性和稳定性约束下功耗最低,且收敛到最优目标函数值的迭代次数普遍小于其他2种算法。
当然,算法本身的能耗对于任务规模小的任务集可能有一定的影响。不过,算法能耗管理方案针对任务集制定,所有具有相同参数的任务序列只需要进行1次优化,然后方案共享,无需每个任务单独优化,这就大大减少算法能耗。而且,随着技术的发展,任务规模的不断增加,智能优化算法功耗代价相对于任务功耗就可忽略不计了。
4. 结束语
针对实时系统能耗管理中动态电压调节的引入会导致系统可靠性下降的问题,本文提出了一种基于改进鸟群算法(IoBSA)的动态能耗管理法。首先,分析BSA算法的基本原理,为了增强初始化种群质量,丰富种群多样性,将佳点集方法融入到BSA算法中;其次,为了更好地平衡算法全局与局部搜索能力,进一步提升算法的精度,加快其收敛速度,将非线性思想融合到算法的学习参数中;然后,建立具有时间和可靠性约束的功耗模型,进而通过IoBSA算法求解决动态功耗问题;最终,使用该方法对功率能耗模型进行求解,并将最终结果与BSA, LSABSA, CBSA, GWO, CJADE以及基于蜂群算法的动态能耗管理法的优化结果进行对比。通过实验数据结果以及进化曲线可以得出,本文所提算法在降低能耗方面有较强的优越性,且收敛速度较快。因此,将IoBSA算法用在处理动态能耗管理问题上更有优势。
-
表 1 部分算法参数列表
算法 参数设置 BSA C=S=1.5,a1=a2=1,FQ=5,P∈[0.8,1] FL∈[0.5,0.9] LSABSA a1=a2=1,FQ=5,P∈[0.8,1],FL∈[0.5,0.9] Ce=Ss=0,5,Cs=Se=2.5 本文 a1=a2=1,FQ=5,P∈[0.8,1],FL∈[0.5,0.9] IoBSA Ce=Ss=0,5,Cs=Se=2 CBSA Qmin=0,Qmax=2,A=0.7,r=0.4,Pα=0.25 CJADE F=0.8,Cr=0.5,c=0.1,p=0.05 文献[10] limit=50 表 2 实验参数列表
参数名 值 参数名 值 种群数 60 任务量 10 30 50 归一化频率 0.1~1.0 截止时间 20~220 WCET 20~50 迭代次数 1000 运行次数 20 惩罚因子 5000 表 3 任务量为10的优化结果
NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 375.57 Best 853.45 821.52 896.57 1040.55 830.83 904.09 1187.05 (min) Worst 1110.96 1040.01 1090.47 1178.55 1053.47 1123.84 1061.25 3427.05 Mean 967.95 913.04 1005.06 1105.57 964.94 1035.83 1147.21 (max) Std.Dev 58.18 57.66 60.36 34.85 50.46 53.92 55.25 表 4 任务量为30的优化结果
NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 1126.70 Best 4355.13 3642.20 4197.41 4048.74 4353.49 4382.29 4881.90 (min) Worst 5158.38 4936.64 5175.33 5033.73 5234.853 5021.29 5470.92 10281.15 Mean 4771.52 4368.30 4739.58 4519.13 4681.22 4677.56 4928.57 (max) Std.Dev 215.87 345.31 269.02 238.77 223.95 150.11 304.62 表 5 任务量为50的优化结果
NPM-Val St. BSA 本文IoBSA LSABSA CSBA GWO CJADE 文献[10] 1877.83 Best 8572.38 8281.54 8610.62 无效 8384.88 8416.94 无效 (min) Worst 10442.74 10023.18 10149.21 无效 无效 无效 无效 17135.25 Mean 9557.82 9319.57 9513.31 无效 无效 无效 无效 (max) Std.Dev 587.00 535.50 520.50 643448.64 529852.01 75029.97 1147609.95 -
SALEHI M E, SAMADI M, NAJIBI M, et al. Dynamic voltage and frequency scheduling for embedded processors considering power/performance tradeoffs[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2011, 19(10): 1931–1935. doi: 10.1109/tvlsi.2010.2057520 TERZOPOULOS G and KARATZA H. Performance evaluation and energy consumption of a real-time heterogeneous grid system using DVS and DPM[J]. Simulation Modelling Practice and Theory, 2013, 36: 33–43. doi: 10.1016/j.simpat.2013.04.006 ERNST D, DAS S, LEE S, et al. Razor: Circuit-level correction of timing errors for low-power operation[J]. IEEE Micro, 2004, 24(6): 10–20. doi: 10.1109/MM.2004.85 RONG Peng, PEDRAM M. Energy-aware task scheduling and dynamic voltage scaling in a real-time system[J]. Journal of Low Power Electronics, 2008, 4(1): 1–10. doi: 10.1166/jolpe.2008.154 韩文雅, 王雷. 基于混合任务模型的动态电压调度在无线传感器网络中的应用[J]. 计算机应用, 2010, 30(9): 2522–2525. doi: 10.3724/SP.J.1087.2010.02522HAN Wenya and WANG Lei. Application of dynamic voltage scaling based on hybrid-task model in wireless sensor network[J]. Journal of Computer Applications, 2010, 30(9): 2522–2525. doi: 10.3724/SP.J.1087.2010.02522 ZHAO Baoxian, AYDIN H, and ZHU Dakai. On maximizing reliability of real-time embedded applications under hard energy constraint[J]. IEEE Transactions on Industrial Informatics, 2010, 6(3): 316–328. doi: 10.1109/tii.2010.2051970 晏福, 徐建中, 李奉书. 混沌灰狼优化算法训练多层感知器[J]. 电子与信息学报, 2019, 41(4): 872–879. doi: 10.11999/JEIT180519YAN Fu, XU Jianzhong, and LI Fengshu. Training multi-layer perceptrons using chaos grey wolf optimizer[J]. Journal of Electronics &Information Technology, 2019, 41(4): 872–879. doi: 10.11999/JEIT180519 张兴明, 殷从月, 魏帅, 等. 基于双仲裁机制和田口正交法的猫群优化任务调度算法[J]. 电子与信息学报, 2018, 40(10): 2521–2528. doi: 10.11999/JEIT180215ZHANG Xingming, YIN Congyue, WEI Shuai, et al. Cat swarm optimization task scheduling algorithm based on double arbitration mechanism and Taguchi orthogonal method[J]. Journal of Electronics &Information Technology, 2018, 40(10): 2521–2528. doi: 10.11999/JEIT180215 肖乐意, 欧阳红林, 范朝冬. 基于记忆分子动理论优化算法的多目标截面投影Otsu图像分割[J]. 电子与信息学报, 2018, 40(1): 189–199. doi: 10.11999/JEIT170301XIAO Leyi, OUYANG Honglin, and FAN Chaodong. Multi-objective cross section projection Otsu's method based on memory knetic-molecular theory optimization algorithm[J]. Journal of Electronics &Information Technology, 2018, 40(1): 189–199. doi: 10.11999/JEIT170301 罗钧, 刘永锋, 付丽. 能耗限制的实时周期任务可靠性感知调度[J]. 重庆大学学报, 2011, 34(8): 86–89. doi: 10.11835/j.issn.1000-582x.2011.08.015LUO Jun, LIU Yongfeng, and FU Li. Reliability-aware schedule of periodic tasks in energy-constrained real-time systems[J]. Journal of Chongqing University, 2011, 34(8): 86–89. doi: 10.11835/j.issn.1000-582x.2011.08.015 MENG Xianbing, GAO X Z, LU Lihua, et al. A new bio-inspired optimisation algorithm: bird swarm algorithm[J]. Journal of Experimental & Theoretical Artificial Intelligence, 2016, 28(4): 673–687. doi: 10.1080/0952813X.2015.1042530 杨文荣, 马晓燕, 边鑫磊. 基于Levy飞行策略的自适应改进鸟群算法[J]. 河北工业大学学报, 2017, 46(5): 10–16. doi: 10.14081/j.cnki.hgdxb.2017.05.002YANG Wenrong, MA Xiaoyan, and BIAN Xinlei. Adaptive improved bird swarm algorithm based on Levy flight strategy[J]. Journal of Hebei University of Technology, 2017, 46(5): 10–16. doi: 10.14081/j.cnki.hgdxb.2017.05.002 李延延, 万仁霞. 一种改进算的鸟群算法[J]. 微电子学与计算机, 2018, 35(9): 79–84.LI Yanyan and WAN Renxia. An improved algorithm for bird swarm optimization[J]. Microelectronics &Computer, 2018, 35(9): 79–84. 吴军, 王龙龙. 基于双鸟群混沌优化的Otsu图像分割算法[J]. 微电子学与计算机, 2018, 35(12): 119–124. doi: 10.19304/j.cnki.issn1000-7180.2018.12.024WU Jun and WANG Longlong. An Otsu image segmentation algorithm based on chaos optimization of two BSA[J]. Microelectronics &Computer, 2018, 35(12): 119–124. doi: 10.19304/j.cnki.issn1000-7180.2018.12.024 王进成, 高岳林. 基于改进的鸟群算法求解农产品冷链物流配送路径优化问题[J]. 安徽农业科学, 2018, 46(25): 1–4. doi: 10.13989/j.cnki.0517-6611.2018.25.001WANG Jincheng and GAO Yuelin. Optimization problem of cold chain logistics distribution path of agricultural products based on improved algorithm of bird swarm optimization[J]. Journal of Anhui Agricultural Sciences, 2018, 46(25): 1–4. doi: 10.13989/j.cnki.0517-6611.2018.25.001 谢国民, 干毅军, 丁会巧. 基于佳点集的蝙蝠定位算法在WSN中应用[J]. 传感技术学报, 2017, 30(8): 1252–1257. doi: 10.3969/j.issn.1004-1699.2017.08.021XIE Guomin, GAN Yijun, and DING Huiqiao. A positioning algorithm based on bat algorithm and good-point setsin the application of WSN[J]. Chinese Journal of Sensors and Actuators, 2017, 30(8): 1252–1257. doi: 10.3969/j.issn.1004-1699.2017.08.021 ZHU D, MELHEM R, and CHILDERS B. Scheduling with dynamic voltage/speed adjustment using slack reclamation in multi-processor real-time systems[C]. Proceedings of the 22nd IEEE Real-time Systems Symposium, London, UK, 2001: 84–94. SHEHAB M, KHADER A T, LAOUCHEDI M, et al. Hybridizing cuckoo search algorithm with bat algorithm for global numerical optimization[J]. The Journal of Supercomputing, 2019, 75(5): 2395–2422. doi: 10.1007/s11227-018-2625-x MIRJALILI S, MIRJALILI S M, and LEWIS A. Grey wolf optimizer[J]. Advances in Engineering Software, 2014, 69: 46–61. doi: 10.1016/j.advengsoft.2013.12.007 罗钧, 杨永松, 侍宝玉. 基于改进的自适应差分演化算法的二维Otsu多阈值图像分割[J]. 电子与信息学报, 2019, 41(8): 2017–2024. doi: 10.11999/JEIT180949LUO Jun, YANG Yongsong, and SHI Baoyu. multi-threshold image segmentation of 2D Otsu based on improved adaptive differential evolution algorithm[J]. Journal of Electronics &Information Technology, 2019, 41(8): 2017–2024. doi: 10.11999/JEIT180949 -