本发明属于移动云计算领域,具体涉及一种基于多射频通信的多用户计算迁移方法。
背景技术:
随着智能手机的普及,出现了越来越多的手机应用,比如:语音识别,人脸识别,增强现实等。这些应用都需要消耗大量的资源,包括手机计算资源(cpu)以及手机电量,而手机自身体积小的特点决定了手机的计算资源和电池能量都很有限。因此,手机资源紧缺和应用资源需求过大,这两者的关系对未来手机平台的发展提出了巨大的挑战。计算迁移是一种解决上述问题的新兴技术。它通过利用无线网络将移动终端的计算任务迁移到资源充足的云设施上计算,即移动云计算,解决了移动终端资源不足的问题。
计算迁移的主要问题就是如何提高用户的设备性能以及节省用户设备的能量消耗。以前的很多工作研究了计算迁移节省能耗和延时的问题。第一类,主要研究单用户多射频条件下的计算迁移问题。其通过对一个用户使用多个射频上传任务时的通信资源进行优化以最小化任务执行能耗,但没有考虑到多用户同时传输的情况(mahmoodi,s.eman,k.p.subbalakshmi,andvidyasagar."cloudoffloadingformulti-radioenabledmobiledevices."communications(icc),2015ieeeinternationalconferenceon.ieee,2015.)。第二种类型研究了多用户单信道条件下的计算迁移问题。其通过对信道资源及用户的发射功率进行优化以最小化全体用户的发射功率之和。但其只考虑了多个用户共用一个信道进行数据传输的情况,没有考虑到利用多个频段进行数据传输(barbarossa,s.,s.sardellitti,andp.d.lorenzo."jointallocationofcomputationandcommunicationresourcesinmultiusermobilecloudcomputing."395.6(2013):26-30.)。第三类主要研究了多用户多信道条件下的计算迁移问题。其通过对多信道通信资源进行优化使得全体用户任务执行代价之和最小。但其只考虑了将一个频段划分为多个信道供不同用户传输,没有考虑到多射频通信时可以同时利用多个频段资源(d.huang,p.wang,andd.niyato,"adynamicoffloadingalgorithmformobilecomputing."ieeetransactionsonwirelesscommunications,vol.11,no.6,pp.1991–1995,2012.)。此外,经检索,现有关于计算迁移的专利并未涉多用户多射频的场景。
综上所述,现有技术主要存在以下问题:
(1)多射频通信中只考虑了单用户,没有考虑到用户之间的资源竞争问题。
(2)多用户通信中只考虑了单信道通信和多信道通信,而没有考虑到利用多射频进行通信。没有充分利用多个频段的传输资源,且不能同时利用多个信道进行传输。
技术实现要素:
本发明提出一种基于多射频通信的多用户计算迁移方法。其主要思想是通过对多用户多射频计算迁移进行建模;然后利用mccormickenvelope方法对模型进行转化松弛;最后利用分支限界对问题进行求解,得到最优的资源分配方案。
在进行资源优化前,需要先完成如下操作。首先,用户获取设备剩余电量、计算能力、射频数以及每一个射频传输功率等信息;然后,用户获取需要计算的任务属性。包括计算任务的数据量大小,计算所需cpu周期信息;最后,用户设置自己对计算延迟和能量的偏好信息并将上述所有用户相关信息发送至控制器。控制器一般部署在服务器端,用来控制整个流程的运行,主要任务包括对用户数据进行收集、对基于多射频通信的多用户计算迁移问题进行建模、对模型进行松弛与优化、对模型进行求解等。
一种基于多射频通信的多用户计算迁移方法,包括以下步骤:
(1.1)控制器依据收集到的全体用户信息及系统的目标,利用基于参数分析的多射频多用户计算迁移建模方法对多射频多用户计算迁移问题进行建模,得到初始问题模型θ;
(1.2)控制器根据上一步得到的初始问题模型θ的特点,利用基于mccormickenvelope的松弛与线性化方法对模型进行松弛与转化,得到松弛后的问题模型θ*;
(1.3)控制器利用分支限界法对上一步得到的松弛后的问题模型θ*进行求解,使得总体受益用户最多,并且使得用户迁移代价减少。
所述步骤(1.1)包括:
(2.1)分别计算用户i在本地完成任务ji所需的时间ti(m)及消耗的能量ei(m):
其中,任务ji@(gi,di),gi代表完成任务ji所需要的cpu周期数,di代表完成任务ji所需要上传的数据量,fi(m)代表用户i的设备计算能力(cpu周期数),ρi表示用户i的设备每cpu周期消耗的能量,u为用户集合,n为用户个数,
(2.2)计算用户i在本地的计算代价
其中,
(2.3)如果用户i如果选择在云端计算的话,计算用户i在第j个射频上的传输速率
其中,
(2.4)分别计算用户i在射频j上的数据上传时间
其中,di表示用户i完成任务ji需要上传的数据量,pij代表用户i的移动设备上射频j的传输功率;
(2.5)计算任务ji在云端计算所需时间ti,cloud以及设备闲置状态下消耗的能量
其中,fi(c)表示用户i在云端被分配的计算能力,pi(idle)表示用户i的设备在闲置状态下的功率;
(2.6)计算任务传输时间ti(mtc)以及用户在各个射频上消耗的能量总和
其中,
(2.7)计算用户i在云端的计算代价
其中,
(2.8)由于只有当用户在云端计算的代价小于在本地计算的代价时,用户才会受益,才会进行迁移,所以得到如下约束:
(2.9)由于
(2.10)将总受益人数
所述步骤(1.2)包括:
(3.1)将
(3.2)引入变量
①如果
②如果
③如果
④如果
即如下两个约束:
(3.3)将约束
(3.4)引入新变量
①
②
③
④
(3.5)对上述约束进行化简,替换后得到如下约束:
(3.6)由于
所述步骤(1.3)包括:
(4.1)设置上界ub0=+∞,下界lb=-∞,目标函数值obj=0,等待队列wlist=φ,迭代计数变量k=0;
(4.2)设置松弛子问题sp(ωkth,βkth),其中kth代表第k个子问题,并且将约束β={0,1}松弛为0≤β≤1,将松弛子问题添加至队列wlist
(4.3)判断队列是否为空,若否,执行以下步骤;
(4.4)从队列中选取一个子问题,将其移除队列并对该子问题进行求解;
(4.5)如果该子问题无解,剪掉该分支;
(4.6)如果得到该子问题最优解并且全部
(4.7)如果得到该子问题最优解而
(4.8)跳转至步骤(4.3),直到得到最优解。
本发明的有益效果在于:
(1)本发明提出的方法同时考虑到用户的计算时延和计算能量问题,可以满足用户需求的多样性。
(2)本发明提出的方法同时利用多个射频进行数据传输,射频之间互相不干扰,极大提高了用户传输数据的速率。
(3)本发明提出的资源分配方法通过对用户的任务计算地点,用户利用的射频集合以及每个射频传输的数据量进行优化,使得总体受益用户最多,极大提高了多射频的利用效率。
(4)本发明提出的资源分配方法同时考虑用户在本地和云端计算代价,有效减少了总体用户的计算代价。
附图说明
图1是基于多射频通信的多用户计算迁移方法流程图;
图2是基于多射频通信的多用户计算迁移方法中用户问题建模的流程图;
图3是基于多射频通信的多用户计算迁移方法中利用新建变量以及mccormickenvelope松弛对问题转化的流程图;
图4是基于多射频通信的多用户计算迁移方法利用分支限界法的求解流程图;
图5是本发明实例图;
具体实施方式
下面结合附图对本发明做进一步描述。
本发明属于移动云计算领域,尤其是一种基于多射频通信的多用户计算迁移方法,对通信资源分配进行优化,使受益用户数量最多,并降低整个用户群体的计算代价。
随着智能手机的普及,出现了越来越多的手机应用,比如:语音识别,人脸识别,增强现实等。这些应用都需要消耗大量的资源,包括手机计算资源(cpu)以及手机电量,而手机自身体积小的特点决定了手机的计算资源和电池能量都很有限。因此,手机资源紧缺和应用资源需求过大,这两者的关系对未来手机平台的发展提出了巨大的挑战。计算迁移是一种解决上述问题的新兴技术。它通过利用无线网络将移动终端的计算任务迁移到资源充足的云设施上计算,即移动云计算,解决了移动终端资源不足的问题。
计算迁移的主要问题就是如何提高用户的设备性能以及节省用户设备的能量消耗。以前的很多工作研究了计算迁移节省能耗和延时的问题。第一类,主要研究单用户多射频条件下的计算迁移问题。其通过对一个用户使用多个射频上传任务时的通信资源进行优化以最小化任务执行能耗,但没有考虑到多用户同时传输的情况(mahmoodi,s.eman,k.p.subbalakshmi,andvidyasagar."cloudoffloadingformulti-radioenabledmobiledevices."communications(icc),2015ieeeinternationalconferenceon.ieee,2015.)。第二种类型研究了多用户单信道条件下的计算迁移问题。其通过对信道资源及用户的发射功率进行优化以最小化全体用户的发射功率之和。但其只考虑了多个用户共用一个信道进行数据传输的情况,没有考虑到利用多个频段进行数据传输(barbarossa,s.,s.sardellitti,andp.d.lorenzo."jointallocationofcomputationandcommunicationresourcesinmultiusermobilecloudcomputing."395.6(2013):26-30.)。第三类主要研究了多用户多信道条件下的计算迁移问题。其通过对多信道通信资源进行优化使得全体用户任务执行代价之和最小。但其只考虑了将一个频段划分为多个信道供不同用户传输,没有考虑到多射频通信时可以同时利用多个频段资源(d.huang,p.wang,andd.niyato,"adynamicoffloadingalgorithmformobilecomputing."ieeetransactionsonwirelesscommunications,vol.11,no.6,pp.1991–1995,2012.)。此外,经检索,现有关于计算迁移的专利并未涉多用户多射频的场景。
综上所述,目前的研究工作主要存在以下问题:
多射频通信中只考虑了单用户,没有考虑到用户之间的资源竞争问题
多用户通信中只考虑了单信道通信和多信道通信,而没有考虑到利用多射频进行通信。没有充分利用多个频段的传输资源,且不能同时利用多个信道进行传输。
根据以上分析,目前研究工作的不足,主要是在多射频计算迁移时需要额外考虑以下几个关键因素:
(1)用户如何选择合适的射频集合进行通信可以使得对用户最有利。
(2)用户利用不同射频传输任务的比例。
(3)多用户如何进行资源分配。
如果一个用户通过计算迁移产生的开销(计算延迟以及电量消耗)小于在本地执行的开销,那么就称这个用户是受益用户。受益用户的概念在计算迁移中非常重要。首先,从用户角度考虑,它确保了用户是理性的,因为用户只有在迁移代价小于本地执行代价时才会进行迁移;其次,从运营商角度考虑,受益用户越多意味着云端服务器利用率越高以及计算服务的收入更多。
因此,本发明研究了多用户多射频下的计算迁移问题,并且每个用户可以同时利用多个频段进行传输,提出了基于多射频条件的多用户计算迁移问题,对资源分配进行优化,可以使总体受益用户最多,并显著减少全体计算代价。换言之,本发明综合考虑了以下要素对问题进行了优化:(1)每个用户是否进行任务迁移,(2)迁移用户选择合适的射频集合进行迁移,(3)用户使用每个射频迁移数据的比例,(4)如何分配使总体受益用户最多。
本发明提出一种基于多射频通信的多用户计算迁移方法。其主要思想是通过对多用户多射频计算迁移进行建模;然后利用mccormickenvelope方法对模型进行转化松弛;最后利用分支限界对问题进行求解,得到最优的资源分配方案。
在进行资源优化前,需要先完成如下操作。首先,用户获取设备剩余电量、计算能力、射频数以及每一个射频传输功率等信息;然后,用户获取需要计算的任务属性。包括计算任务的数据量大小,计算所需cpu周期信息;最后,用户设置自己对计算延迟和能量的偏好信息并将上述所有用户相关信息发送至控制器。控制器一般部署在服务器端,用来控制整个流程的运行,主要任务包括对用户数据进行收集、对基于多射频通信的多用户计算迁移问题进行建模、对模型进行松弛与优化、对模型进行求解等。
上述基于多射频通信的多用户计算迁移方法,主要包括以下具体步骤:
(1)控制器依据收集到的全体用户信息及系统的目标,利用基于参数分析的多射频多用户计算迁移建模方法对多射频多用户计算迁移问题进行建模,得到初始问题模型θ。
(2)控制器根据上一步得到的初始问题模型θ的特点,利用基于mccormickenvelope的松弛与线性化方法对模型进行松弛与转化,得到松弛后的问题模型θ*。
控制器利用分支限界法对上一步得到的松弛后的问题模型θ*进行求解,使得总体受益用户最多,并且使得用户迁移代价减少。
前述的步骤(1)中基于参数分析的多射频多用户计算迁移建模方法具体还包括以下步骤:
(1.1)分别计算用户i在本地完成任务ji所需的时间
其中任务ji@(gi,di),gi代表完成任务ji所需要的cpu周期数,di代表完成任务ji所需要上传的数据量,fi(m)代表用户i的设备计算能力(cpu周期数),ρi表示用户i的设备每cpu周期消耗的能量。用户集合为u,用户个数为n,射频集合为
(1.2)计算用户i在本地的计算代价
其中
(1.3)如果用户i如果选择在云端计算的话,计算用户i在第j个射频上的传输速率
其中
(1.4)分别计算用户i在射频j上的数据上传时间
其中di表示用户i完成任务ji需要上传的数据量,pij代表用户i的移动设备上射频j的传输功率。
(1.5)计算任务ji在云端计算所需时间ti,cloud以及设备闲置状态下消耗的能量
其中fi(c)表示用户i在云端被分配的计算能力,pi(idle)表示用户i的设备在闲置状态下(即没有传输数据时)的功率。
(1.6)计算任务传输时间ti(mtc)以及用户在各个射频上消耗的能量总和
(1.7)计算用户i在云端的计算代价
(1.8)由于只有当用户在云端计算的代价小于在本地计算的代价时,用户才会受益,才会进行迁移,所以可以得到如下约束:
(1.9)由于
(1.10)将总受益人数
前述的步骤(2)中基于mccormickenvelope的松弛与线性化方法具体还包括以下步骤:
(2.1)将
(2.2)引入变量
①如果
②如果
③如果
④如果
即如下两个约束:
(2.3)将约束
(2.4)引入新变量
①
②
③
④
(2.5)对上述约束进行化简,替换后可以得到如下约束:
(2.6)由于
前述的步骤(3)中分支限界法具体还包括以下步骤:
(3.1)设置上界ub0=+∞,下界lb=-∞,目标函数值obj=0,等待队列wlist=φ,迭代计数变量k=0。
(3.2)设置松弛子问题sp(ωkth,βkth),其中kth代表第k个子问题,并且将约束β={0,1}松弛为0≤β≤1。将松弛子问题添加至队列wlist。
(3.3)当队列不为空时,执行以下步骤:
(3.4)从队列中选取一个子问题,将其移除队列并对改子问题进行求解。
(3.5)如果该子问题无解,剪掉该分支。
(3.6)如果得到该子问题最优解并且全部
(3.7)如果得到该子问题最优解而
(3.8)跳转至步骤(3.3),直到得到最优解。
本专利提出基于多射频通信的多用户计算迁移方法:
(1)本发明提出的方法同时考虑到用户的计算时延和计算能量问题,可以满足用户需求的多样性。
(2)本发明提出的方法同时利用多个射频进行数据传输,射频之间互相不干扰,极大提高了用户传输数据的速率。
(3)本发明提出的资源分配方法通过对用户的任务计算地点,用户利用的射频集合以及每个射频传输的数据量进行优化,使得总体受益用户最多,极大提高了多射频的利用效率。
(4)本发明提出的资源分配方法同时考虑用户在本地和云端计算代价,有效减少了总体用户的计算代价。
图1基于多射频通信的多用户计算迁移方法流程图。
图2基于多射频通信的多用户计算迁移方法中用户问题建模的流程图。
图3基于多射频通信的多用户计算迁移方法中利用新建变量以及mccormickenvelope松弛对问题转化的流程图。
图4基于多射频通信的多用户计算迁移方法利用分支限界法的求解流程图。
如图5,在该实施实例中,一共有两个用户user1和user2,每个用户的移动设备上有两个射频。每个用户都有一个计算任务ji=(gi,di),gi代表完成任务ji所需要的cpu周期数,di代表完成任务ji所需要上传的数据量。从图中可以看出user1的任务j1=(1ghz,5000kb),user2的任务j2=(1.2ghz,5100kb)。user1和user2都可以通过ap1和ap2进行数据上传。在开始计算前,用户先执行如下操作。首先,user1和user2分别获取其设备的计算能力(cpu),射频数(此处都为2),射频的传输功率;其次,user1和user2分别获取其计算任务的属性。其中user1的计算任务需要的计算量为1ghz,需要上传的数据量为5000kb,user2的计算任务需要的计算量为1.2ghz,需要上传的数据量为5100kb;然后,user1和user2分别设置自己的计算延迟和能量偏好的权重
然后,基于多射频通信的多用户计算迁移方法主要包括以下具体步骤:
(1)控制器依据user1和user2上传的信息计算他们在本地计算的代价
(2)控制器添加约束
(3)控制器利用提出的方法引入新变量
(4)控制器添加约束:
其中,前两个约束为
(6)控制器设置上界ub0=+∞,下界lb=-∞,目标函数值obj=0,等待队列wlist=φ,迭代计数变量k=0,利用如下分支限界法对问题进行求解。
(7)设置松弛子问题sp(ωkth,βkth),其中kth代表第1个子问题,并且将约束β={0,1}松弛为0≤β≤1。将松弛子问题添加至队列wlist。
(8)当wlist非空时,执行以下步骤:
(9)从wlist选取一个子问题,将其移除队列并利用常见凸优化求解器(matlab,cvx)对该子问题进行求解。
(10)如果该子问题无解,剪掉该分支。
(11)如果得到该子问题最优解并且全部
(12)如果得到该子问题最优解而
(13)跳转至步骤11,直到得到最优解。
最终,本专利提出基于多射频通信的多用户计算迁移方法能达到如下有益效果:
(1)本发明提出的方法同时考虑到用户的计算时延和计算能量问题,可以满足用户需求的多样性。
(2)本发明提出的方法同时利用多个射频进行数据传输,射频之间互相不干扰,极大提高了用户传输数据的速率。
(3)本发明提出的资源分配方法通过对用户的任务计算地点,用户利用的射频集合以及每个射频传输的数据量进行优化,使得总体受益用户最多,极大提高了多射频的利用效率。
(4)本发明提出的资源分配方法同时考虑用户在本地和云端计算代价,有效减少了总体用户的计算代价。