本发明涉及无线通信网络与云计算技术领域,更具体地说,涉及一种移动协同计算的方法及装置。
背景技术:
得益于信息通信技术的持续进步,涌现出了大量新兴的智能应用,例如:增强现实和自动驾驶等,这些应用的成功实现需要大规模无线设备执行计算量大而时延要求高的计算任务。一般来说,无线设备尺寸较小,并且电池电力供应有限,如何增强这些设备的计算能力和降低计算延迟是亟需解决的挑战。目前,虽然云计算(cloudcomputing)可以丰富的计算资源和强大的计算能力,但是云端服务器通常位于核心网,与无线终端设备之间的物理距离较远,并需要由接入网到核心网的多跳路由寻址传输,这就造成了云计算通常无法满足无线设备运行部分新兴应用的超低延时需求。为此,移动边缘计算因运而生:通过在无线网络边缘(如接入点(accesspoint)和基站(basestation)配置服务器,将云计算资源下沉至无线接入网,能够拉近无线设备与计算资源的物理距离,满足超低延时需求。移动边缘计算可有效融合无线通信网络和互联网技术,具有本地化、近距离、低时延等特点。
移动边缘计算可强化了无线接入网络的计算、存储和处理等功能,无线设备可以将密集且时延敏感的计算任务迁移至接入点或基站,通过接入点或基站利用其内部的移动边缘计算服务器上进行远程运算。目前针对移动边缘计算部分迁移的情况,通常都是需要将本地的部分计算任务通过无线信道迁移到与接入点或基站相连的移动边缘计算服务器,移动边缘计算服务器完成计算后,再将计算结果回传给移动用户终端。
作为新兴技术,移动边缘计算处于科学探索阶段,距成功工程应用还有很多亟需解决的技术问题,如通信/计算资源分配和能效优先的架构体系等。通常的,衡量移动边缘计算设计的两大性能指标为时延和能耗。然而,由于无线信道的不确定性和无线设备接入数量的急剧上升,移动边缘计算仍面临着一系列应用方面的挑战。首先,当无线设备远离接入点以及无线信道处于深衰落时,移动边缘计算的计算优势会从根本上受到通信性能或任务迁移性能的限制。其次,随着无线设备数量的急剧增加,对接入点的通信能量和服务器计算的计算能力的需求也将急剧增加,并将在根本上限制移动边缘计算的性能。
因此,如何提高移动边缘计算的性能,是本领域技术人员需要解决的问题。
技术实现要素:
本发明的目的在于提供一种移动协同计算的方法及装置,以实现提高移动边缘计算的性能。
为实现上述目的,本发明实施例提供了如下技术方案:
一种移动协同计算的方法,包括:
搜集满足预定规则的至少一个辅助设备;
获取本地设备与辅助设备的信道状态信息,以及辅助设备的计算状态信息;
根据所述信道状态信息及计算状态信息对任务进行分割,生成至少一个子任务;其中,子任务包括第一类子任务,第二类子任务,以及第三类子任务;
将所述第一类子任务通过本地设备进行计算,将所述第二类子任务发送至对应的辅助设备,通过对应的辅助设备进行计算;将所述第三类子任务发送至移动边缘计算服务器,通过所述移动边缘计算服务器进行计算;
接收辅助设备和移动边缘计算服务器发送的计算结果,通过本地设备输出最终计算结果。
其中,所述第二类子任务中包括至少一个子任务;和/或,所述第三类子任务中包括至少一个子任务;
其中,所述第三类子任务中的每个子任务分为第一子任务和第二子任务;所述第一子任务为通过辅助设备转发至移动边缘计算服务器进行计算的子任务;所述第二子任务为本地设备直接发送至移动边缘计算服务器进行计算的子任务。
其中,将所述第三类子任务发送至移动边缘计算服务器,包括:
确定转发每个第三类子任务中的第一子任务的至少一个辅助设备,并确定转发顺序规则;
利用所述转发顺序规则以及所述至少一个辅助设备,将所述第三类子任务中的第一子任务通过辅助设备转发至移动边缘计算服务器,将第三类子任务中的第二子任务直接发送至移动边缘计算服务器。
其中,根据所述信道状态信息对任务进行分割,生成至少一个子任务之后,还包括:
根据所述信道状态信息确定时隙信息及传输功率信息;
所述时隙信息及传输功率信息包括:
向对应的辅助设备发送每个第二类子任务的第一时隙及第一传输功率;
向对应的辅助设备及移动边缘计算服务器发送每个第三类子任务的第二时隙,以及在第二时隙内,向对应的辅助设备发送第三类子任务中的第一子任务及向移动边缘计算服务器发送第三类子任务中的第二子任务的第二传输功率;
每个辅助设备向移动边缘计算服务器发送第三类子任务中的第一子任务的第三时隙及第三传输功率。
其中,若转发每个第三类子任务的辅助设备为一个,则:将所述第一类子任务通过本地设备进行计算,将所述第二类子任务发送至对应的辅助设备,通过对应的辅助设备进行计算;将所述第三类子任务发送至移动边缘计算服务器,通过所述移动边缘计算服务器进行计算,接收辅助设备和移动边缘计算服务器发送的计算结果,包括:
在第一时隙内,将所述第一类子任务通过本地设备进行计算,将每个第二类子任务以第一传输功率发送至对应的辅助设备,通过对应的辅助设备进行计算;
在第二时隙内,将每个第三类子任务中的第一子任务以第二传输功率发送至对应的辅助设备;将每个第三类子任务中的第二子任务以所述第二传输功率发送至移动边缘计算服务器;
在第三时隙内,通过对应的辅助设备将第三类子任务中的第一子任务以第三传输功率发送至移动边缘计算服务器;
在第四时隙内,接收辅助设备和移动边缘计算服务器发送的计算结果。
其中,所将每个第二类子任务以第一传输功率发送至对应的辅助设备,包括:
将每个第二类子任务以第一传输速率发送至对应的辅助设备;
所述第一传输速率
其中,所述将每个第三类子任务中的第一子任务以第二传输功率发送至对应的辅助设备;将每个第三类子任务中的第二子任务以所述第二传输功率发送至移动边缘计算服务器,包括:
将每个第三类子任务中的第一子任务以第二传输速率发送至对应的辅助设备;将每个第三类子任务中的第二子任务以所述第三传输速率发送至移动边缘计算服务器;
所述第二传输速率为:
所述第三传输速率为:
其中,所述通过对应的辅助设备将第三类子任务中的第二子任务以第三传输功率发送至移动边缘计算服务器,包括:
通过对应的辅助设备将第三类子任务以第四传输速率发送至移动边缘计算服务器;
所述第四传输速率
一种移动协同计算的装置,包括:
辅助设备搜集模块,用于搜集满足预定规则的至少一个辅助设备;
信息获取模块,用于获取本地设备与辅助设备的信道状态信息,以及辅助设备的计算状态信息;
任务分割模块,用于根据所述信道状态信息及计算状态信息对任务进行分割,生成至少一个子任务;其中,子任务包括第一类子任务,第二类子任务,以及第三类子任务;
任务分配模块,用于将所述第一类子任务通过本地设备进行计算,将所述第二类子任务发送至对应的辅助设备,通过对应的辅助设备进行计算;将所述第三类子任务发送至移动边缘计算服务器,通过所述移动边缘计算服务器进行计算;
计算结果接收模块,用于接收辅助设备和移动边缘计算服务器发送的计算结果;
计算结果输出模块,用于通过本地设备输出最终计算结果。
其中,所述任务分配模块具体用于:
确定转发每个第三类子任务中的第一子任务的至少一个辅助设备,并确定转发顺序规则;利用所述转发顺序规则以及所述至少一个辅助设备,将所述第三类子任务中的第一子任务通过辅助设备转发至移动边缘计算服务器,将第三类子任务中的第二子任务直接发送至移动边缘计算服务器。
通过以上方案可知,在本方案中,利用无线网络中存在大量的无线设备且每个设备都有一定的计算资源和通信资源的特性,通过本地设备根据预定规则在周围搜寻一个相同时间段空置的辅助设备,从而利用辅助设备的计算资源帮助本地设备实现协同计算,辅助设备还可利用通信资源帮助传输本地设备至移动边缘通信系统的任务,实现协同通信;并且,通过优化传输时间、计算任务分割和传输功率可实现最小化能量损耗,这种与辅助设备进行的计算和通信的协同,可应对移动边缘计算遇到的深度衰落和计算/通信资源受限难题,从而提高移动边缘计算的性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种移动协同计算的方法流程示意图;
图2为本发明实施例公开的四时隙的移动边缘计算移动协同协议示意图;
图3为本发明实施例公开的移动协同计算系统框图;
图4为本发明实施例公开的一具体的移动协同计算的方法流程示意图;
图5为本发明实施例公开的一仿真结果示意图;
图6为本发明实施例公开的另一仿真结果示意图;
图7为本发明实施例公开的一种移动协同计算的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种移动协同计算的方法及装置,以实现提高移动边缘计算的性能。
参见图1,本发明实施例提供的一种移动协同计算的方法,包括:
s101、搜集满足预定规则的至少一个辅助设备;
具体的,本地设备为需要计算任务的设备,且在本实施例中,满足预定规则的辅助设备为:在本地设备的预定周围内,在相同时间段空置的辅助设备,可通过辅助设备利用其本地的通信资源和计算资源帮助本地设备实现协同计算,以及实现协同通信帮助数据迁移;需要说明的是,本实施例中的辅助设备的数量为至少一个,即本地设备可根据任务的数据量以及周围符合规则的设备的数量,确定辅助设备,可以为一个也可以为多个,相对应的,若辅助设备为多个时,则后续分割的子任务也为多个。
可以理解的是,本方案中的辅助设备可以为移动终端等具有计算资源和通信资源的终端,例如手机、平板电脑等,在此并不具体限定。
s102、获取本地设备与辅助设备的信道状态信息,以及辅助设备的计算状态信息;
s103、根据所述信道状态信息及计算状态信息对任务进行分割,生成至少一个子任务;其中,子任务包括第一类子任务,第二类子任务,以及第三类子任务;
其中,所述第二类子任务中包括至少一个子任务;和/或,所述第三类子任务中包括至少一个子任务。所述第三类子任务中的每个子任务分为第一子任务和第二子任务;所述第一子任务为通过辅助设备转发至移动边缘计算服务器进行计算的子任务;第二子任务为本地设备直接发送至移动边缘计算服务器进行计算的子任务。
具体的,本方案中的第一类子任务为本地设备进行本地计算的子任务;第二类子任务为需要辅助设备进行辅助计算的子任务;第三类子任务为需要移动边缘计算服务器进行远程计算的子任务;并且,由于辅助设备的数量可为多个,同样的,本方案中的第二类子任务的数量也可相对应的为多个,即,每个辅助设备计算一个第二类子任务。
需要说明的是,本方案中的辅助设备也可以利用其通信资源将第三类子任务中的部分任务发送至移动边缘计算服务器进行远程计算,为了提高效率节省能量,在本方案中,同样可将发送至移动边缘计算服务器的任务分割为多个子任务,即:本方案中的第三类子任务同样可以为多个,通过多个辅助设备将多个第三类子任务转发至移动边缘计算服务器进行远程计算。
s104、将所述第一类子任务通过本地设备进行计算,将所述第二类子任务发送至对应的辅助设备,通过对应的辅助设备进行计算;将所述第三类子任务发送至移动边缘计算服务器,通过所述移动边缘计算服务器进行计算;
其中,将所述第三类子任务发送至移动边缘计算服务器,包括:
确定转发每个第三类子任务中的第一子任务的至少一个辅助设备,并确定转发顺序规则;
利用所述转发顺序规则以及所述至少一个辅助设备,将所述第三类子任务中的第一子任务通过辅助设备转发至移动边缘计算服务器,将第三类子任务中的第二子任务直接发送至移动边缘计算服务器。
具体的,在本方案中,若本地设备距离移动边缘计算服务器较远,这时可通过多个辅助设备发送至移动边缘计算服务器,这时需要预先确定每个辅助设备的转发顺序,从而实现第三类子任务的传输。
s105、接收辅助设备和移动边缘计算服务器发送的计算结果;
s106、通过本地设备输出最终计算结果。
综上可见,本方案通过移动边缘计算系统中的多个移动设备的协同计算与通信,在某个用户设备空闲时间段充分利用其计算与通信资源,降低总能耗;在今后的物联网中存在大量的用户终端设备时,可将邻近的多个用户终端组建为用户簇,在一段时间内,用户簇内的所有用户终端设备并非都有计算任务,因此,当某一(或若干)用户设备有计算任务时,可采用本发明的移动协同计算方法,提高了协同计算性能。
基于上述实施例,在本实施例中,根据所述信道状态信息对任务进行分割,生成至少一个子任务之后,还包括:
根据所述信道状态信息确定时隙信息及传输功率信息;
所述时隙信息及传输功率信息包括:
向对应的辅助设备发送每个第二类子任务的第一时隙及第一传输功率;
向对应的辅助设备及移动边缘计算服务器发送每个第三类子任务的第二时隙,以及在第二时隙内,向对应的辅助设备发送第三类子任务中的第一子任务及向移动边缘计算服务器发送第三类子任务中的第二子任务的第二传输功率;
每个辅助设备向移动边缘计算服务器发送第三类子任务中的第一子任务的第三时隙及第三传输功率。
具体的,在本方案通过信道状态信息对任务进行分割后,还需要确定任务的传输时间及传输功率,通过对任务分割,传输时间及传输功率的确定,可最小化能量的损耗。需要说明的是,在本实施例中,以转发每个第三类子任务的辅助设备为一个,进行详细说明,则s104及s105具体包括:
s11、在第一时隙内,将所述第一类子任务通过本地设备进行计算,将每个第二类子任务以第一传输功率发送至对应的辅助设备,通过对应的辅助设备进行计算;
其中,所将每个第二类子任务以第一传输功率发送至对应的辅助设备,包括:
将每个第二类子任务以第一传输速率发送至对应的辅助设备;
所述第一传输速率
s12、在第二时隙内,将每个第三类子任务中的第一子任务以第二传输功率发送至对应的辅助设备;将每个第三类子任务中的第二子任务以所述第二传输功率发送至移动边缘计算服务器;
具体的,在本实施例中s12可以包括:
将每个第三类子任务中的第一子任务以第二传输速率发送至对应的辅助设备;将每个第三类子任务中的第二子任务以所述第三传输速率发送至移动边缘计算服务器;
所述第二传输速率为:
所述第三传输速率为:
s13、在第三时隙内,通过对应的辅助设备将第三类子任务中的第一子任务以第三传输功率发送至移动边缘计算服务器;
具体的,在本实施例中s13可以包括:
通过对应的辅助设备将第三类子任务以第四传输速率发送至移动边缘计算服务器;
所述第四传输速率
s14、在第四时隙内,接收辅助设备和移动边缘计算服务器发送的计算结果。
参见图2,为本发明实施例提供的四时隙的移动边缘计算移动协同协议;图中τ1为第一时隙,τ2为第二时隙,τ3为第三时隙,τ4为第四时隙;参见图3,为本实施例提供的移动协同计算系统框图;参见图4,为本实施例提供的一具体的移动协同计算的方法流程示意图,图中的第一用户设备/用户1即为本方案中的本地设备,第二用户设备/用户2即为本方案中的辅助设备,接入点即为本方案中的移动边缘计算服务器。
在本实施例中,首先,本地设备获取信道状态信息并将计算任务数据量分割为三个部分,分别对应于子任务0、子任务1和子任务2,这里的子任务0为第一类子任务,子任务1为第二类子任务,子任务2为第三类子任务,用于本地计算、辅助计算和远程计算;这里的子任务2在发送给移动边缘计算服务器之前,可以根据预定规则分割为两部分,即第一子任务和第二子任务,第一子任务是通过辅助设备发送给移动边缘计算服务器,第二子任务是通过本地设备直接发送至移动边缘计算服务器。
在第一个长度为τ1的时隙中,比特数目为l0的子任务0进入第一用户设备的本地计算单元,同时第一用户设备用传输功率p1将比特数目为l1的子任务1迁移至第二用户设备,后者可以利用自己的计算资源协助前者在剩下的时间内完成该部分计算任务。此外,子任务0的完成时间是整个时间长度t,而子任务1的完成时间为t-τ1。此时,第一用户设备到第二用户设备的可达速率为:
其中,b为带宽,h01为用户1与用户2之间的信道功率增益,
在第二个长度为τ2的时隙和在第三个长度为τ3的时隙中,用户2仅仅作为一个解码转发的中继去协助用户1将比特数目为l2的计算任务迁移至接入点。
在第二个长度为τ2的时隙,假设p2为用户1此时的传输功率。在这种情况下,用户1传输到用户2的信息可达率为:
假设h0为用户1跟接入点之间的信道功率增益,则用户1传输到接入点的信息可达率为:
其中,
在第三个长度为τ3的时隙,用户2通过传输功率p3将完全解码后的数据转发至接入点。令h1为用户2跟接入点之间的信道功率增益,用户2传输到接入点的信息可达率为:
结合以上两个时隙的情况下,用户1能够通过解码传输中继(即用户2)能传输到接入点的最大传输比特数目为
具体的,在实际应用中,还存在一个时隙提供移动边缘计算服务器计算任务结果和提供第二用户设备跟移动边缘计算服务器将计算结果反馈至第一用户设备,即第四时隙τ4,但由于移动边缘计算服务器拥有足够大的计算容量以及计算结果的比特数目远远小于输入数据,所以在本实施例中,我们假设这一时隙占用非常少的时隙分配,近似于零。
需要说明的是,基于以上设置,考虑了计算延迟首先得用户设备的能耗总量最小化的设计。为此,在本实施例中,在分割任务、确定时隙及确定传输功率时进行了优化,下面是为分配各节点的时间、功率和任务从而得到最小能量损耗的模型:
s.t.l2≤min(τ2r0(p2)+τ3r1(p3),τ2r01(p2))
l1≤τ1r01(p1)
其中,
具体的优化过程:
由于(p1)是一个非凸问题,本实施例引入一个变量ei=τipi,当τi=0时,ei=0,pi=0;则(p1)能转化为以下形式:
为了最优解的推导过程,本实施例定义如下信道功率增益为:
{e}=[τ1p1,τ2p2,τ3p3];
其中,
紧接着,本实施例用椭球法去更新朗格朗日乘子{λ}和{μ},得到(p1.1)的部分最优解{eopt}和
s.t.l1≤τ1r01(p1opt)
l2≤τ2r0(p2opt)+τ3r1(p3opt)
l2≤τ2r01(p2opt)
以上(lp)问题可以通过cvx直接得到(p1)剩下的最优解{τopt}、
针对以上设计模型,本实施例设计了对照实验进行仿真,下面进行详细说明:首先,本实施例在移动边缘计算系统中设计了一种传统的计算迁移方法,即:第一用户设备直接将计算任务完全迁移到移动边缘计算服务器中进行远程计算。然后,本实施例对仿真实验进行参数设置。
令第一用户设备与移动边缘计算服务器之间的距离为d10=250m,第二用户设备位于他们两者之间,两个用户设备之间的距离表示为0≤d≤250m。对于无线传输,路径衰落模型参考
图6描述了在t=0.05s和d=130m的前提下,平均能耗随着任务的数据量l变化的变化趋势。随着计算任务数据量的增加,移动协同计算方法会比传统的计算迁移方法在减少能耗上有更明显的优势。
下面对本发明实施例提供的移动协同计算的装置进行介绍,下文描述的移动协同计算的装置与上文描述的移动协同计算的方法可以相互参照。
参见图7,本发明实施例提供的一种移动协同计算的装置,包括:
辅助设备搜集模块100,用于搜集满足预定规则的至少一个辅助设备;
信息获取模块200,用于获取本地设备与辅助设备的信道状态信息,以及辅助设备的计算状态信息;
任务分割模块300,用于根据所述信道状态信息及计算状态信息对任务进行分割,生成至少一个子任务;其中,子任务包括第一类子任务,第二类子任务,以及第三类子任务;
任务分配模块400,用于将所述第一类子任务通过本地设备进行计算,将所述第二类子任务发送至对应的辅助设备,通过对应的辅助设备进行计算;将所述第三类子任务发送至移动边缘计算服务器,通过所述移动边缘计算服务器进行计算;
计算结果接收模块500,用于接收辅助设备和移动边缘计算服务器发送的计算结果;
计算结果输出模块600,用于通过本地设备输出最终计算结果。
其中,所述任务分配模块具体用于:确定转发每个第三类子任务中的第一子任务的至少一个辅助设备,并确定转发顺序规则;利用所述转发顺序规则以及所述至少一个辅助设备,将所述第三类子任务中的第一子任务通过辅助设备转发至移动边缘计算服务器,将第三类子任务中的第二子任务直接发送至移动边缘计算服务器。
综上可见,关键点在于,本发明为在移动边缘计算系统中的一种移动协同计算方法和装置,利用无线设备相互之间的协同通信和协同协作,利用彼此的通信和计算资源进行协作,在满足设备计算时延需求下,最小化终端能量损耗能量。考虑能量/计算资源有限的协同计算资源可部分迁移至其它用户设备或者接入点的移动边缘计算服务器,从而减少用户设备的计算任务,提高该系统的计算效率,降低系统能耗。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。