本文将对该篇文献进行一个详细的精读,由于算法部分本人还未具有充足的理论知识,所以未能给予复现。而这篇文献的标题为感知速率与传输速率的联合控制在移动群感中节能的探讨
MCS的高效性问题
IOT(物联网)的快速发展,大量不同类型的数据需要被传感器收集并且发送给服务器作进一步处理。虽MCS(移动群感) 可以在单一设备中对多种类型的数据进行可控的感知与传输的处理,但是其效率不高,无法达到数据大小与延迟的容忍度的要求而进行设计
联合优化感知速率与传输速率问题
为了提高MCS的高效性,我们可以采用联合优化感知速率与传输速率,但是其优化问题是非常复杂的这是因为他们之间控制变量的限制*和突发忙碌时间(busy time) 所引起的,在忙碌时间内,没有任何数据可以被感知得到。
1."height"的提出
"height"是基于传统的SP(string-pulling)算法去获取最优的感知与传输速率,因此原始的最优化问题可以转化成寻找一个最优的"height"的问题
2.如何找到该"height"
“height"的上下界都可以通过目标函数的特性而导出,在找到"height"的上下界后,其搜索域的范围就确定了,在’‘height’'的搜索区域里面,通过不同的目标函数形式划分为不同的子区域得到不同的局部最优"height”,最后每个区域的最优"height"有目标函数的凸性所决定,并且通过比较局部最优得到全局最优"height"
3. 算法扩展到有限制的数据缓冲容量的情况下服务器的情况
文章中的WSN问题
文章中提到,传统的WSN网络由于自身受限的感知范围与可扩展性,很难使其去通过传感器去搜集不同种类的数据。
WSN的概述
事实上WSN是一种分布式网络,其末梢是可以感知和检查外部世界的传感器,其传感器采用的是无线方式通信,网络设置灵活,设备位置可以随时更改。还可以跟互联网进行有线或无线方式的连接。通过无线通信方式形成的一个多跳自组织网络。
无线传感器网络当中的节点分为汇聚节点和传感器节点。
传感器节点的单元分别为:数据采集单元、数据传输单元、数据处理单元以及能量供应单元。
汇聚节点主要指的是网关能够在传感器节点当中将错误的报告数据剔除,并与相关的报告相结合将数据加以融合,对发生的事件进行判断。汇聚节点与用户节点连接可借助广域网络或者卫星直接通信,并对收集到的数据进行处理。
WSN的特点
WSN缺点的解决办法
文章中提到,为了解决WSN中的问题,提出了移动群感的方式(MCS),其可以通过配备多个传感器模块,从而利用手持可穿戴IOT设备来收集不同类别的参数。虽然这种方法存在高并发的问题,但是不同数据大小与延迟容限可以用于DRRM中
RRM的概述
文章中提到,DRRM是一种智能通信的方法,事实上DRRM是在有限带宽的条件下,DRRM通过灵活分配和动态调整无线传输部分和网络的可用资源,最大程度地提高无线频谱利用率,防止网络拥塞和保持尽可能小的信令负荷,并且要保障服务质量(QoS)。
所谓的服务质量(QoS),文章中举的例子是:自动驾驶中采用URLLC去保证感知数据的安全性,污染评估中则采用eMBB去携带大量的对延迟低敏感的感知数据。
无线资源管理(RRM)的研究内容主要包括以下几个部分:功率控制、信道分配、调度、切换、接入控制、负载控制、端到端的QoS和自适应编码调制等。
总而言之,DRRM是应用层与物理层的聚合,应用层用于指导物理层进行资源分配,从而提高MCS的效率。
SP结构提出的原因
文章中提到从时间划分的角度上看,DRRM是与早期的长期速率控制有关,即同一服务器上存在多个数据大小和时延容限的要求不同的任务。在给定数据量大小的前提下,不同的包传输时间可以降低传输能量的损耗,所以在满足服务质量的要求下,衍生出了SP结构使总的传输能量最小化。
SP结构的概述
SP结构的优化问题本质上来说是一个根据目标函数的凸优化问题,其算法可以扩展到突发数据到达,有限数据缓冲和时变信道的情况。
在其他情况下,SP结构的速率控制的最优性被进一步扩展到DRRM包括以下Energy-Harvesting (EH) , Channel Estimation (CE) ,Relaying,Caching , Mobile Edge Computing (MEC) 和 Edge Learning (EL)
虽然基于SP结构的DRRM理论十分的多,但是很少有考虑到数据感知的过程的,所以本文会注重这方面的考虑。
考虑数据感知下的SP结构
文章中说到,感知速率应该与传输速率相结合进行优化整体的数据能量损耗。
文章中同样说到这样一个问题:当MCS设备的感知模块被其他模块所占用时,感知模块需要被悬挂起来,这个过程叫做繁忙时间间隔(busy time interval)。在这种情况下,虽然感知速率会变成0,但是传输速率一样会照样工作,互不干扰。但是由于我们知道感知过程要在传输过程之前,所以这样子会导致两者互相干扰,这样两者的耦合问题会导致在繁忙时间的存在下导致了优化变量的耦合和非平凡问题。
文章的概要
在这一部分,文章介绍了一个最基本的模型,告诉了我们最原始的模型是如何建立的。
我们可以看到,这里有N个任务,所以会有N个瞬时时刻 { t 1 , t 2 . . . . t n } \{t_1,t_2....t_n\} {t1,t2....tn},执行第n个任务需要通过设备有n个数据感知和无线传输在瞬时时刻n之前。我们定义每个epoch的长度 T n = t n − t n − 1 T_n=t_{n}-t_{n-1} Tn=tn−tn−1,并且每个时刻的感知速率与传输速率都不尽相同,我们分别将其定义成 s ( t ) , r ( t ) s(t),r(t) s(t),r(t),而C是感知一个比特的数据所需要CPU执行的次数,那么CPU的频率可以定义为
f ( t ) = s ( t ) ∗ C f(t)=s(t)*C f(t)=s(t)∗C
我们知道,为了减少能量消耗,会有CPU在低压情况下工作,当我们设定一个超参数 α \alpha α来表征电路的状态,我们可以得到传感器感知得功率为
P s ( t ) = α f ( t ) 2 = α s ( t ) 2 C 2 P_{s}(t)=\alpha f(t)^2=\alpha s(t)^2C^2 Ps(t)=αf(t)2=αs(t)2C2
而根据香农公式我们同样可以得到信道传输的功率为
P r ( t ) = σ 2 g ( e r ( t ) B − 1 ) P_{r}(t)=\frac{\sigma^2}{g}(e^{\frac{r(t)}{B}}-1) Pr(t)=gσ2(eBr(t)−1)
其中 σ 2 \sigma^2 σ2是噪声功率, g g g是有效信道功率系数,B是信道的频谱带宽,r(t)则是最大的信道容量。
我们的模型就可以建立为
min s ( t ) , r ( t ) ∫ t = 0 t N [ α s ( t ) 2 C 2 + σ 2 g ( e r ( t ) B − 1 ) ] d t \min \limits_{s(t),r(t)}\int_{t=0}^{t_N}[\alpha s(t)^2C^2+\frac{\sigma^2}{g}(e^{\frac{r(t)}{B}}-1)]dt s(t),r(t)min∫t=0tN[αs(t)2C2+gσ2(eBr(t)−1)]dt
由于我们前面讲过我们要满足一些约束条件:在 t n t_n tn前感知和传输的数据量都不应该小于 D n D_n Dn的求和,并且由于感知要在传输之前感知数量要比传输数据量大,所以我们拥有以下约束条件。
∫ t = 0 t j s ( t ) d t ≥ ∑ n = 1 j D n ∫ t = 0 t j r ( t ) d t ≥ ∑ n = 1 j D n ∫ t = 0 τ s ( t ) d t ≥ ∫ t = 0 τ r ( t ) d t \begin{align} \int_{t=0}^{t_j}s(t)dt\geq \sum_{n=1}^jD_n\\ \int_{t=0}^{t_j}r(t)dt\geq \sum_{n=1}^jD_n \\ \int_{t=0}^{τ}s(t)dt\geq\int_{t=0}^{τ}r(t)dt \end{align} ∫t=0tjs(t)dt≥n=1∑jDn∫t=0tjr(t)dt≥n=1∑jDn∫t=0τs(t)dt≥∫t=0τr(t)dt
文章中还提到,当如果被感知的数量大于 D n D_n Dn,那么可以在后续的task中继续感知与传输,这些多余的数据将存储在一个缓冲区里(一般存放在移动设备与服务器中),这种情况下我们可以看作容量是无限大的。
本部分由于本人的数学知识有限,无法复现其中的算法部分,所以算法部分我将会略过,不进行任何的介绍,只引用其结论跟引论。当本人数学知识提升后,将会重新回来分析算法,并进行详细的复现
在这一部分,我们可以在不损失其优化能力的情况下,对模型进行进行简化,将连续型的变量 { s ( t ) , r ( t ) } \{s(t),r(t)\} {s(t),r(t)}转化成离散型的变量 { s n , r n } \{s_n,r_n\} {sn,rn},这个算法是基于SP结构下的"height searching"算法
在给定高度的情况下,如果我们只考虑感知速率与传输速率的话,问题会变的很简单。
当我们只考虑数据感知速率的约束,那么对busy time时期前后都进行优化,就可以通过算法1得到相应的感知速率。
对于传输速率的优化问题,因为传输速率的优化问题成为一个有限数据的问题,所以在busy time的时候感知速率为0。
但是这两种优化问题是独立进行的,但如果把他们结合在一起不能保证他们满足优化的限制.
文章中提到幸运的是,他们两并不违反因果性限制,算法3则总结了整个过程
在搜索域确定后,下一步就是要找到满足最优感知速率与传输速率的"height"了,所以我们要分析不同"height"下的能量消耗
从上面的图我们可以看到,在 ( t 1 , D 1 ) (t_1,D_1) (t1,D1)点前后其原始速度会不再一样如果"height"降低,这些点我们称为关键点,能将其划分更多的子区域,一旦高度从一个区域掉到另外一个子区域,能量损耗的表达式会改变,所以用传统的二分搜寻法是不合适的。
为了解决上述问题,需要把所有关键点所对应的"height"找出来
关键点是一个数据集 { t n , ∑ n = 1 j D n } \{t_n,\sum_{n=1}^jD_n\} {tn,∑n=1jDn},一旦关键点被确定之后,速率将不会被改变
在busy time前,一开始需要找出与 ( t 0 , 0 ) (t_0,0) (t0,0)连线斜率最大的点,从而作为新的一个起止点,然后下次就找出与该起止点连线斜率最大的点,循环重复上述过程,就能得到所有关键点。
在busy time后,一开始需要找出与 ( t 8 , ∑ n = 1 j D 8 ) (t_8,\sum_{n=1}^jD_8) (t8,∑n=1jD8)连线斜率最小的点,从而作为新的一个起止点,然后下次就找出与该起止点连线斜率最小的点,循环重复上述过程,就能得到所有关键点。
通过算法4,所有的关键点与对应的高度可以顺序地被找到。
在找到所有的关键点和对应高度都找到之后,下一步就是去找到使能量消耗最小的局部最优高度,然后得出全局的最优高度。
观点3:每个子区域的局部最优高度位于子区域的边界或者能量消耗关于"height"求导为0的点
这里说明该子区域的能量消耗达到一个极小值,这样就能找到最优的"height",然后再比较所有子区域的局部最优点,得到全局最优点,算法5总结了上述算法
由于遭遇服务器缓冲区容量有限的情况,设其最大容量为 D m a x D_{max} Dmax,就会多出该缓冲限制
min s ( t ) ≥ 0 , r ( t ) ≥ 0 ∫ t = 0 t N [ α s ( t ) 2 C 2 + σ 2 g ( e r ( t ) B − 1 ) ] d t s . t . ∫ t = 0 t j s ( t ) d t ≥ ∑ n = 1 j D n ∫ t = 0 t j r ( t ) d t ≥ ∑ n = 1 j D n ∫ t = 0 t j r ( t ) d t − ∑ n = 1 j − 1 D n ≤ D m a x ∫ t = 0 τ s ( t ) d t ≥ ∫ t = 0 τ r ( t ) d t r ( t ) = r i ∀ t ∈ [ t i − 1 , t i ] s ( t ) = s i ∀ t ∈ [ t i − 1 , t i ] s ( t ) = 0 ∀ t ∈ [ b 1 , b 2 ] D n ≤ D m a x \begin{align} \min \limits_{s(t)\geq 0,r(t)\geq 0}\int_{t=0}^{t_N}[\alpha s(t)^2C^2+\frac{\sigma^2}{g}(e^{\frac{r(t)}{B}}-1)]dt\\ s.t.\int_{t=0}^{t_j}s(t)dt\geq \sum_{n=1}^jD_n\\ \int_{t=0}^{t_j}r(t)dt\geq \sum_{n=1}^jD_n \\ \int_{t=0}^{t_j}r(t)dt- \sum_{n=1}^{j-1}D_n \leq D_{max}\\ \int_{t=0}^{τ}s(t)dt\geq\int_{t=0}^{τ}r(t)dt\\ r(t)=r_i \quad \forall t \in[t_{i-1},t_i]\\ s(t)=s_i \quad \forall t \in[t_{i-1},t_i]\\ s(t)=0 \quad \forall t\in [b1,b2]\\ D_n \leq D_{max} \end{align} s(t)≥0,r(t)≥0min∫t=0tN[αs(t)2C2+gσ2(eBr(t)−1)]dts.t.∫t=0tjs(t)dt≥n=1∑jDn∫t=0tjr(t)dt≥n=1∑jDn∫t=0tjr(t)dt−n=1∑j−1Dn≤Dmax∫t=0τs(t)dt≥∫t=0τr(t)dtr(t)=ri∀t∈[ti−1,ti]s(t)=si∀t∈[ti−1,ti]s(t)=0∀t∈[b1,b2]Dn≤Dmax
该算法中,上界不再决定于SP中的传输曲线,而是决定于该有限的数据缓冲容量。
算法6用递归的方法找出由数据缓冲区容量和相应的常数率确定的可行区域
观点4:如果下界比上界还要高,那么最优高度就是定位在下界上
从图中我们可以看到,下界是有可能比数据缓冲的容量还要高的,这根据前面的算法2可以知道传输速率也有可能比缓冲容量高,但是这样是不满足其约束条件的。如果这时候上界仍然大于下界时,那么我们还可以以正常的情况去看待,最优的"height"仍然存在于上界与下界之间。
由于有数据缓冲区的存在,这个会导致SP结构的改变。但根据我们的引理2,我们可以看到在 ( t 3 , D 3 + D m a x ) (t_3,D_3+D_{max}) (t3,D3+Dmax)点上,从 h 2 h_2 h2降到 h 1 h_1 h1,感知速度是不会变化的,这些点我们称为关键点,而进行分区后有效的关键点所对应的"height"叫做关键高度。如果高度会影响busy time前后的感知速度的点,如 ( t 6 , D 6 ) (t_6,D_6) (t6,D6)所对应的高度是关键高度,这些关键高度划分成不同的子区间
算法7交代了如何找到关键高度
这个算法主要说明了在给定"height"后,基于比较速率曲线来找到下一个有效的关键高度。
我们可以看到两个瞬时时间点 b 1 , b 2 b_1,b_2 b1,b2,先找到最近的速率曲线与 b 1 b_1 b1相连,这个区间是常速率的区间 [ t 3 , b 1 ] [t_3,b_1] [t3,b1],然后第二近的速率曲线是 [ t 0 , t 3 ] [t_0,t_3] [t0,t3],同理在busy time后的"height"也是这样去找到,然后找出这四个"height"里面最高的height作为下一个关键高度,保证其在上下界内
在给定"height"的前提下,算法8是用于决定传输与感知速率。
这是因为busy time前后的感知速率由算法1所决定,因为它们与数据缓冲限制都是不相关的。然而,传输速度受数据缓冲容量与感知速度的限制,因此,采用算法2求解每个epoch中数据量最大的传输速率,取高度和数据缓冲区约束中的较低值。
总的算法归纳在算法9中。
本文是对Joint Sensing and Communication-Rate Control for Energy Efficient Mobile Crowd Sensing的文献解读,希望对大家有帮助,下面附有原文出处,又需要的可以去下载。
https://arxiv.org/abs/2201.12583