一种移动云计算环境中能耗优化的合作任务迁移方法
【技术领域】
[0001] 本发明属于移动技术应用技术领域,设计移动云计算,特别设及一种移动云计算 环境中能耗优化的合作任务迁移方法。
【背景技术】
[0002] 云计算是一座基于互联网共享计算资源、存储资源、数据资源和应用资源的服务 方式,为其他设备在虚拟计算环境中提供强大的计算服务。有别于传统的计算服务,云计算 可W提供基础设施即服务,平台即服务,软件即服务Ξ种服务模式。通过运Ξ种服务模式, 云计算可为用户提供不同层面的按需服务。
[0003] 随着云计算和移动互联网的快速发展,云计算服务也不在局限于台式机、笔记本 等个人电脑上,越来越多的移动终端设备也在通过移动网络来使用云的按需、易扩展服务, 来获取基础设施、平台和软件的资源。运种移动云计算和传统的云计算有着不同的特点。
[0004] 移动设备一般都是系统资源受限的设备,如计算资源、存储容量、设备电量等有 限。在移动云计算中,移动终端可W通过将本地的任务迁移到其他设备或移动云执行的方 式来突破系统资源受限。运种任务迁移的方式可为移动设备缩减任务执行时间,减少能量 开销,获取更好的用户体验。不过任务迁移本身也需要消耗不少资源,如传输能耗、流量。如 何权衡移动设备上任务是否应该迁移,应该迁移到何处等问题成为移动云计算需要解决难 题。
[0005] 现有任务迁移技术注重如何将任务动态或静态的划分,然后迁移至云端或其他设 备执行,令本地设备获取更强大的计算能力、更高效的执行任务。MAUI和化inkAir提供函数 级任务迁移,不需要操作系统的特殊支持,但要求应用开发人员在开发时对应用的计算任 务进行细致的分类来进行任务迁移。CloneCloud使用虚拟机技术在云端建立任务迁移后执 行所需的环境。COMET允许计算任务离线程级别进行迁移并且不需修改应用源码。运些方案 关注于对计算任务进行静态或动态的划分,实现函数级、线程级、应用级的任务迁移。
[0006] Cloudlet提出一种新型的系统结构来实现任务迁移。在Cloudlet中,移动用户使 用虚拟机技术在就近的微云来部署定制软件服务,移动用户通过无线连接将本地计算任务 迁移到运些虚拟机中。从合作迁移的服务角度来看,移动设备只需要实现一个功能简单的 瘦客户端,通过可靠的无线连接使用网络中靠近用户侧计算、存储资源丰富的计算机集群。 运种在局域网内为移动用户提供计算服务的技术能够为用户带来高传输速率,低服务响应 时间,并且稳定的网络传输服务,并且提升任务迁移的安全性,避免将本地任务大量迁移到 互联网云端而导致的不安全因素。
[0007] 运些微云通过计算迁移技术能够为移动设备带来更强大的计算、存储能力,但移 动设备本身的电量、计算、存储等资源严重受限。当网络分布着各种各样的移动设备时,如 何对计算任务迁移进行调度使得网络中冗余的任务能够高效的进行执行,并且最大化延长 设备使用时间,降低设备流量,成为一个很重要的问题。
【发明内容】
[0008] 为了克服上述现有技术的缺点,本发明的目的在于提供一种移动云计算环境中能 耗优化的合作任务迁移方法,针对移动云计算的微云应用场景,使移动设备间通过计算任 务合作迁移来进行能耗优化,旨在让移动设备在受限的电量和有限的计算能力下,将任务 迁移至网络内的其他设备或云端,减少网络内冗余的计算任务,提升网络中冗余计算任务 的能耗效率,通过其他设备合作执行本地计算任务,让移动设备获取更强的计算能力。
[0009] 为了实现上述目的,本发明采用的技术方案是:
[0010] 一种移动云计算环境中能耗优化的合作任务迁移方法,在微云网络中部署微云控 制器,微云控制器周期性收集网络内部各设备的运行信息,当网络内部的设备发起任务迁 移请求时,控制器将周期性运行离线启发式算法,并根据离线启发式算法输出的任务决策 向量进行任务迁移,所述离线启发式算法的输出结果为整个调度方案的能耗E,每个任务? 调度的决策向量
I其中巧表示设备i上编号为h的任务, 算法包括如下步骤:
[0011] 步骤一,对每个任务按照任务类型进行分类,相同任务类型T的任务属于同一任务 集合Set(T),每个任务集合按照任务的请求时间由远到近进行排列,初始化每个任务的决 策变量;
[0012] 步骤二,对于每种任务的首任务,求出每单位流量节省能耗
陵照每 单位流量节省能耗非减顺序进行排序,生成任务类型序列Seq,其中为任务h在本地 执行时的能耗,巧"+u(G)为任务h迁移到云端执行时的能耗
为网络中的设备个数,
为设备i传递到云端的无线传输功率
为设备i与云 端之间的传输速率,巧"为任务h迁移时传入的数据量,巧"'为任务h迁移时输出的数据量, 公(G)为任务h迁移到云端执行时产生的流量,
为决策变量;
[0013] 步骤Ξ,在满足出口流量约束的条件下,依次将任务序列Seq中各任务类型的首任 务迁移到云端;
[0014] 步骤四,对于每一种任务分类集合中的每一个任务安装时间先后进行检查:
[0015] (1)如果任务类型T的首任务巧未迁移至云端,对于Set(T)中的每一个任务h = l^ Set(T) I,即任务编号h的值为1到任务集中的任务数,选取迁移的服务器节点j满足
[0016] (2)如果该类型T的首任务巧已经迁移至云端:
[0017] a)令决策向量中抹"+ι(?)=1,将能耗E更新为£+巧(?);
[0018] b)对于Set(T)中的其他任务,h = 2 一 |Set(T)|,即编号为1的任务已经迁移至云 端,对其他编号的任务进行后续处理,选取迁移的服务器节点j满足巧K;) = min;'_,(巧(C:)), 令a,(G) = l,将能耗E更新为£ +巧(?)。
[0019] 所述运行信息包括微云网络内部各设备之间的发送功率、接收功率、传输速率W 及各设备需要进行迁移的任务信息。
[0020] 所述步骤一中每个任务的决策变量初始化为;) = (〇,〇,....〇),Ε = 0。
[0021] 与现有技术相比,本发明属于集中式调度,在控制器对任务执行的调度进行决策, 权衡设备剩余电量、任务的计算能耗、任务的传输能耗和任务在执行时位置选择对共享执 行结果所带来的影响。合作任务迁移的最优调度方案是ΝΡ难问题,本发明高效的启发式离 线算法,使得该机制能够离线实时对任务迁移进行调度,并达到近似最优的效果。
【附图说明】
[0022] 图1是本发明微云环境下能量受限任务迁移场景图。
[0023] 图2是本发明随着计算复杂度X变化的能量消耗情况示意图。
[0024] 图3是本发明随着计算复杂度X变化的流量消耗情况示意图。
【具体实施方式】
[0025] 下面结合附图和实施例详细说明本发明的实施方式。
[0026] 如图1所示,本发明在计算时使用的模型如下:
[0027] WLAN中有η个无线设备,每个设备有m个任务,将任务集为表示为C= {Cl, C2,···, Cm},Cm表示第m个任务。在每个任务都对应着一个设备,鸟表示属于设备i的任务h。对于每 个任务设备可W在本地执行、迁移到局域网内其他设备执行和迁移到云上执行。每次迁移 执行,可W消耗的能耗划分成计算能耗和迁移能耗。因此对于一个任务,可W刻画成 q (巧於,巧",〇r)9Type为任务的类型。巧为任务h迁移时传入的数据量,为任务h迁 移时输出的数据量。相同类型任务的计算能耗和输入输出数据量相同。
[0028] 任务的计算能耗:任务计算时的主要能耗为CPU能耗,对于不同任务CPU能耗与设 备的类型、负载和时钟频率有很大关系。在本申请的模型中,假设任务巧需要化个CPU时钟 来完成,一种Nh的计算方式如下:
[0029]
[0030] 函数fx由任务h的类型(type)所决定。对于gzip的应用,X的典型值为330。对于 X.264的视频文件,X的典型值为1900。在本申请中,任务每计算能耗的表达方式为:
[0031]
[0032] 函数門表示设备j的CPU功率系数。如果设备j已经执行过和任务h相同类型的其他 任务并且设备上有运行结果缓存,设备j可W重复使用运行结果,则计算能耗接近0。
[0033] 任务迁移能耗:WLAN的无线网络结构中,设备互相连接的网络可W抽象成图,可W 用图G=(V,L)表示。V是网络节点集,即为设备。L为网络中节点互连的边集,L(i,j)表示设 备i到设备j的无线链路。pf表示从设备i传递到设备j的无线传输功率,姑表示表示设备i 接收设备j的功率,越表示设备i和j之间的当前传输速率。假设在Cloudlet的微云方案中控 制器可W实时的收集和存储任务执行信息,需要收集微云网络内部的迁移信息至少包括:
[0034] (1)微云网络内部各节点设备之间的发送功率:
[0035]
[0036] (2)微云网络内部各节点设备之间的接收功率:
[0037]
[0038] (3)微云网络内部各节点设备之间的传输速率:;
[0039]
[0040] (4)各节点设备需要进行迁移的任务信息:
[004