1.一种固定优先级IO设备能耗管理方法,其特征在于,步骤如下:
1)利用单调速率双优先级策略调度任务;
2)计算来自任务实例Ti,j预算的空闲时间ST(Ti,j,t);
3)计算来自任务实例Ti,j最近满足条件时间点的空闲时间LT(Ti,j,t);
4)计算设备λk的设备空闲时间DS(λk,t);
5)当设备λk处于活跃状态,且其设备空闲时间DS(λk,t)大于设备临界时间B(λk),将设备λk切换到休眠状态,且设置其激活时间Up(λk);
6)当设备处于休眠状态,且当前时间等于设备的激活时间Up(λk),将设备切换到活跃状态。
2.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤1)具体为:将所有就绪的资源受限周期任务按照其周期进行排序;
任务Ti的初始优先级IPi按照单调速率策略分配,任务Ti的周期越小,其初始优先级IPi就越高;任务Ti的周期越大,其初始优先级IPi就越低;任务Ti的执行优先级EPi开始时设置为其初始优先级IPi;在任务Ti开始执行时修改其执行优先级EPi;
任务Ti始终按照其执行优先级EPi进行调度,在任务执行时,其执行优先级EPi设置为共享同一资源任务的初始优先级中的最大值。
3.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤2)中,计算来自任务实例Ti,j预算的空闲时间ST(Ti,j,t)的公式为:ST(Ti,j,t)=ART(Ti,j,t)-rem(Ti,j,t);
其中,ART(Ti,j,t)表示在当前时间t(t≥0),实时队列中任务实例Ti,j以及初始优先级比其高的任务实例的执行时间之和,rem(Ti,j,t)是任务实例Ti,j在当前时间t最坏情况下剩余执行时间;
ART(Ti,j,t)的计算公式为:
其中,rti表示实时队列中第i的元素的初始执行时间,PR(rti)表示实时队列中第i的元素的初始优先级,rt(Ti,j)表示任务实例Ti,j的初始执行时间,PR(Ti,j)表示任务实例Ti,j的初始优先级。
4.根据权利要求3所述的固定优先级IO设备能耗管理方法,其特征在于,实时队列的更新规则如下:释放任务实例Ti,j,按照执行优先级从高到低的顺序使用初始执行时间将任务实例插入到实时队列中;任务实例Ti,j的初始执行时间只能被初始优先级比其高且在其之前释放的任务实例使用,设置任务实例的最坏情况下剩余执行时间rem(Ti,j,t)等于最坏情况下的执行时间W(Ti);
当任务实例Ti,j无阻塞地执行e个单位时间时,实时队列队头元素的初始执行时间进行相应的减少,当其队头元素的初始执行时间为0时,将其从实时队列中移除;实时队列的下一个元素循环上述过程,直到所执行的e个单位时间得到反映为止;并且,任务最坏情况下的剩余执行时间也做相应的减少rem(Ti,j,t)=rem(Ti,j,t)-e;当rem(Ti,j,t)=0时,表示任务实例Ti,j完成执行;
当任务实例Ti,j执行时阻塞其他初始优先级更高的任务实例Tk,l,提高任务实例Ti,j的执行优先级,此时任务实例Ti,j的初始执行时间被消耗;
当处理器处于空闲状态时,实时队列中队头元素的初始时间被消耗,当队头元素的初始执行时间被消耗殆尽,将其从实时队列移除,下个元素循环上述过程,直到此时的处理器空闲时间得到反映为止。
5.根据权利要求4所述的固定优先级IO设备能耗管理方法,其特征在于,当任务实例Ti,j在执行过程中阻塞初始优先级更高的任务实例的执行,此时的来自任务实例Ti,j预算的空闲时间ST(Ti,j,t)的计算公式为:ST(Ti,j,t)=min(ST(Tx,y,t))(IPi
其中,任务实例Tx,y的初始优先级比任务实例Ti,j的初始优先级高,ST(Tx,y,t)表示来自任务实例Tx,y预算的空闲时间,IPi表示任务Ti的初始优先级,IPx表示任务Tx的初始优先级,EPi表示任务Ti的执行优先级。
6.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤3)中,计算来自任务实例Ti,j最近满足条件时间点的空闲时间LT(Ti,j,t)的公式为:LT(Ti,j,t)=R(Ti,j)+init_rt(Ti,j)-W(Ti,j)-t;
其中,t表示当前时间,R(Ti,j)是任务实例Ti,j的释放时间,init_rt(Ti,j)是分配给任务实例Ti,j的初始执行时间,W(Ti,j)是任务实例Ti,j的最坏情况下执行时间;
任务实例Ti,j的初始执行时间init_rt(Ti,j)的计算公式为:其中,i和n是正整数,init_rt(Ti,j)=init_rt(Ti)、W(Ti,j)=W(Ti)、init_rt(Ti)是任务Ti的初始执行时间,W(Ti)是任务Ti最坏情况下执行时间,init_rt(Tn)是任务Tn的初始执行时间,Pn是任务Tn的周期,Pi是任务Ti的周期,LLB(n)是单调速率策略调度周期任务的利用率上界,其值为
7.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤4)中,计算设备λk的设备空闲时间DS(λk,t)的公式为:DS(λk,t)=min(D(CurIns(Ti),t),t);
其中,D(CurIns(Ti),t)表示设备当前可以利用的空闲时间,CurIns(Ti)表示当前的任务实例,t表示当前时间;
D(CurIns(Ti),t)的计算公式为:
D(CurIns(Ti),t)=max(ST(Ti,j,t),LT(Ti,j,t));
其中,ST(Ti,j,t)是来自任务实例Ti,j预算的空闲时间,LT(Ti,j,t)是来自任务实例Ti,j最近满足条件时间点的空闲时间。
8.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤5)中,设备激活时间的计算公式为:其中,t表示当前时间,DS(λk,t)表示设备λk的设备空闲时间, 表示设备λk从休眠状态切换到活跃状态的时间开销;
设备λk的临界时间B(λk)的计算公式为:
其中, 为设备λk状态转化的时间开销, 为设备λk状态转化的能耗开销, 为设备λk在活跃状态的功耗,为设备λk在休眠状态的功耗,max表示求最大值。
9.根据权利要求1所述的固定优先级IO设备能耗管理方法,其特征在于,步骤6)具体为:查找实时队列,找到处于休眠状态的设备,如果当前时间等于处于休眠状态设备的激活时间Up(λk),则将设备切换到活跃状态。