结点能耗计算
网络中的节点执行任务会消耗能量,一个任务分成三部分(计算、缓存、通 信)。给定下列参数,通过公式计算节点执行一个任务的能耗。
计算任务能耗模型:
L为需要计算的数据大小,单位为bit;
X 为计算负载,即计算1bit数据需要几个CPU周期; fm为CPU频率;
给定参数(L,X, fm),可知所需计算时间为tcompute LX ; fm
又因为一个CPU周期的能耗为kfm2,k是一个和硬件架构有关的常数
因此,给定参数(L,X,f ),可知能耗为E m
缓存任务能耗模型:
rr 为读进程速率; rw为写进程速率;
kLXf2。 cos t ,compute m
n为并发进程数目;
m为当前写进程进行的比例;
tr 为读进程时间;
tw 为写进程时间;
则给定参数(rr,rw,n,m,tr,tw),可得缓存时间为tcache tr tw; 则给定参数 (rr,rw,n,m,tr,tw) ,可得缓存能耗为
Ecost,cache rr rw nmtr tw。 通信任务能耗模型:
设区域内总共有m个结点,i表示第几个结点,所以1 i m ,这些结点随机 向基站BS传输信息。
dib :结点i到基站的距离;
ib :结点i到基站的路径损耗;
h :结点i到基站的信道增益,计算为h d ib ; ib ib ib
Pi :结点i的传输功率; Bi:结点i的传输带宽;
2 :环境噪声功率;
v:数据包个数;
l:固定数据包长度,单位为bit;
1
对于结点i,给定下列参数 (v;l;2;dd ; ;hh ;PP;BB;)
i i 1b mb 1b mb 1b mb 1 m 1 m
i ib
可得结点i的信息传输速率为R B log 1 Ph ;
ii22m ph
所以发送这段信息所需的时间为ttransmit,i vili ; Ri
所以发送这段信息的能耗为 E Pt 。 cost,transmit i transmit,i
任务总能耗: 若结点一个时刻只能执行一个任务,则对于这个任务,给定参数
{(L,X,f);(r,r,n,m,t,t);(v;l;2;dd ; ;hh ;PP;BB;)} m r w r w i i 1b mb 1b mb 1b mb 1 m 1 m
可得执行完这个任务需要的能量为Ecost Ecost,compute Ecost,cache Ecost,transmit。 执行完这一整个任务的时间取决于所需计算时间、缓存时间、传输时间 的
最大值,即tcost max{tcompute,tcache,ttransmit,i}。
j ji
j1 ji
2
充电策略
问题&目标:
问题:下图所示的区域内,分布着大量普通结点、少量核心结点 (定义
普通结点优先级为 1,核心结点的优先级为 10,定义优先级是为了反应 结点的重要性) 。结点电池容量为 E max ,且不与电网相连。结点会执行 多种任务 (计算任务、缓存任务、传输任务) ,执行任务会消耗能量 (根 据上述给出的公式计算) 。结点的剩余能量分为两个等级(Ealarm,Efail ), 当结点剩余能量小于 Ealarm 内时,结点发起警报,请求充电;当结点剩余 能量低于 E fail 时,结点宕机,不能执行任何任务。结点宕机会降低整个 区域网络的性能。
目的:使用电量有限的无人机 (电池容量为EUVA ) 给结点充电。目的是 使用 RL 技术为无人机制定充电策略,尽量减少区域内宕机结点的数量, 提升网络性能。
方案思路:
将整个大区域分割成小区,无人机一次给一个小区充电。
3
根据每个小区内,剩余能量小于 Ealarm 的结点个数,设定每个小区的优先 级。比如一段时间后,每个小区内剩余能量小于 Ealarm 的情况如下图所示 (红色为请求充电的结点,紫色为宕机结点) 。
将每个小区内剩余能量小于 Ealarm 的结点的优先级之和作为小区的优先 级,所以可知每个小区的优先级分布如下。
4
一段时间后,无人机以广播方式发送请求要获得优先级分布,此时每个 小区选取本小区内剩余能量最多的结点作为簇头,汇总本小区的信息 (即,本小 区的优先级) 发送给无人机,这样无人机就得到了整个区域的优先级分布 (可忽 略这部分操作能耗,因为这部分操作不频繁且传输数据量小) 。
此时无人机 (能量受限为E ) 开始启动给小区充电,充电功率为P ,使
用 RL 技术为无人机制定充电策略。 无人机的能耗分两个部分:
UAV
UAV
飞行能耗:无人机每跨过一个小区,消耗的能量固定为 E fly 。
充电能耗:无人机用自己的能量给这些小区充电,能耗取决于这个小区 内的所以结点总共需要多少能量。例如下面的小区内,需要充电的结点
为3个,三个结点所需的能量分别为E1 ,E2 ,E3 ,所以在这个小 require require require
区内无人机消耗的能量为 E1 E2 E3 。充电消耗的时间为 require require require
E1 E2 E3 require require require
P UAV
, P 为无人机发射功率。在给这三个结点充电 UAV
的时间内,其余结点继续执行各种任务,消耗能量,所以结点的剩余能
量是不断变化的,因此区域的优先级分布是不断变化的。
无人机的目标是:
无人机用有限的能量,尽可能多的给优先级高的小区充电,且无人机要
能返回到原点(左下角),然后无人机充满电之后继续执行充电动作。运 行情况大概如下:
5
描述为 MDP 为:
状态:区域优先级分布 (实际上是结点剩余能量分布) ,无人机位置,
无人机剩余电量。
动作:无人机飞行方向 (前、后、左、右) 。
奖励:小区的优先级 (是一个正整数,即小区内急需充电的结点数,比
如 3、5) 。如果无人机出界则给一个惩罚 (负值,比如-2) 减小奖励值; 如果无人机最后没有返回原点,给一个更大的惩罚 (负值,比如-100) 减 小奖励值。
然后使用RL算法求解这个MDP,暂定算法为DQN。 需要注意的是:
SWIPT 技术:如果结点剩余能量大于 E fail ,即使这个结点被充电,充电 的同时仍旧执行任务。
无人机充电时间和执行任务时间的关系:假设无人机给一个小区充电的
时间为Tcharge ,其他不被充电的结点在这期间执行完了1,2,,m个任务,
花费的时间和能量分别为T ,T ,,T 和E ,E ,E 。且正在执行 1 2 m cost1 cost2 costm
第m1个任务,执行完第m1个任务的时间为T1,能耗为Ecost(m1)。此 时需要知道结点的能耗从而统计区域的优先级分布。此时计算结点在这 段时间的能耗为:
T (Ecost1 Ecost2 Ecostm)Ecost(m1) charge
(T T T )
对比方案设置:
随机充电:随机选择小区充电,无人机能量即将耗尽后返回原点充电,
然后继续随机充电。
聚类:无人机在原点获取一次所以结点的剩余能量。然后按照剩余能量
多少降序排列,选取剩余能量最少的k个结点作为聚类中心执行聚类 (聚 类的个数和小区个数相同) 。根据充电消耗的能量和飞行消耗的能量制 定充电路径。
1
2 m 。
T
1
6
画图:
充电周期-宕机结点数的关系 小区数-宕机结点数
结点数量-宕机结点数
Ealarm 设置-宕机结点数
7