家庭到家庭云中多任务应用的资源编排
Qi李琦,会员,电气与电子工程师协会,王景瑜,会员,电气与电子工程师协会,李琦,李同宏和曹宇飞
摘要
随着消费电子设备能力的不断提升,家庭云计算将家用消费电子设备作为共享资源池已成为一种新趋势,为消费者带来极大的便利。然而,如何在家庭云中找到最合适的资源或服务对消费者而言仍是一项挑战。当将复杂的应用卸载到家庭云时,该应用的每个任务均可根据其自身的计算、存储和带宽需求独立执行。具有不同性能指标的异构消费电子设备会影响目标选择。本文提出了一种分布式家庭到家庭云基础设施,其中志愿用户允许将其消费电子设备的资源与邻近房屋共享。通过扩展家庭网关,实现去中心化控制,负责资源监控、资源编排、任务卸载和迁移。在考虑负载均衡和志愿者意愿的基础上,将资源编排建模为一个具有单一目标和多约束条件的优化问题。最后,采用基于粒子群优化(PSO)的算法求解该问题以获得近似最优解。仿真结果表明,在可接受的时间内,所研究的所有案例的解决方案几乎达到了90%的目标值1。
索引术语
— 家庭消费电子设备,家庭云计算,多任务应用, 资源编排
一. 引言
如今,家用消费电子设备如手机、平板电脑、笔记本电脑、电视、清洁机器人和传感器(例如温度、湿度、亮度)等设备正变得智能化,通常包含自身的计算、存储和网络模块。家庭网关对这些家用消费电子设备进行管理,并提供具有各种应用程序的家庭网络[1]。由于这些消费电子设备在硬件和软件方面都在快速发展,其设备中的资源大多数时间并未被充分利用[2]。
家庭网络、普适计算和云计算等技术相互影响,促成了家庭云计算的出现。家庭云的目标是利用家庭中各类设备的未使用计算资源,为用户提供更强大且新颖的功能。
在房屋内部,家庭网关和家用消费电子设备的虚拟化,以及某些应用程序的开放服务,使得空闲资源能够在家庭云中共享。此外,由志愿者家庭提供的联网消费电子设备可以作为计算能力和存储的来源,用于构建分布式计算范式中的底层资源池。因此,应用程序不再受限于在消费者私有设备内运行,而是能够在邻近家庭之间共享的资源上运行。多个房屋的不同资源可以根据应用程序的需求和当前运行约束条件[3],以最合适的方式相互协作。在图1中,展示了家庭到家庭云,以实现对可配置计算资源池(如网络、服务器、存储和服务)的便捷按需访问。
然而,目前尚无用于控制和管理异构的居家到居家的技术和标准以整合的方式管理云资源。资源共享池无法适应各个房屋的不同需求。此外,消费者的需求变得更为复杂,单一服务难以满足这些需求,多个任务可能组合成一个复杂的应用以执行复杂功能[3]。当将复杂应用卸载到家庭到家庭云时,应考虑每个任务自身的计算、存储和带宽需求。
传统上,高计算量应用通常部署在单个家庭云内。然而,在家庭到家庭云中,复杂应用的某个任务所需的适当资源可能位于另一房屋中。当消费者将任务卸载到家庭到家庭云以提升应用能力时,邻近房屋可为每个任务提供多种选择。因此,家庭到家庭云的资源管理需要综合考虑资源编排的多个方面,如设备能力、资源可用性、成本以及志愿者的选择。对于缺乏集中管理的分布式资源而言,如何通过选择合适的卸载目的地来编排多个资源,是一个具有挑战性的问题。
为了确保邻近家庭资源之间的相互协作,提出了一种位于家庭网关中的双层家庭到家庭云管理架构,用户可通过该架构利用多个志愿家庭提供的消费电子设备的空闲资源。此外,为将任务卸载至合适的消费电子设备,建立了资源编排问题模型,并通过基于粒子群优化(PSO)的算法在可接受的时间内获得近似最优解。
在本文的其余部分,第二节首先介绍了相关工作。第三节介绍了系统架构设计。第四节详细阐述了家庭到家庭云中的资源编排问题及其解决方案。第五节展示了数值评估和真实世界实验。第六节总结了全文并提出了未来工作。
II. 相关工作
A. 家庭云计算
随着云计算技术的发展,研究人员关注家庭网络中消费电子设备之间的资源共享。
Wei 等 [4]研究了通过点对点(P2P)技术将云计算与智能家居相结合,其中每个智能家居与其他家庭共享其设备资源,如内存和计算能力。Son 等 [5]基于个人虚拟化为消费者之间内容共享提供安全的云计算服务。李 S. 等 [2]构建家庭云,以利用家庭中各种设备的未使用计算资源,向用户提供更强大且新颖的功能。高取真一 等 [1]将家庭网关连接到云,以节省房屋购买家庭服务器的成本。他们提出了一种新颖的基于云的架构,即家庭网关即服务,用于实现具有安全隔离、故障隔离和资源隔离的家庭网络。类似地,为解决资源受限的问题,Igarashi et al. [6]提出了一种新型云增强型家庭控制器,通过网络访问外部云资源来扩展本地家庭控制器的资源。随后,该架构被扩展以支持多厂商 [7]。此外,Lee et al. [8]提出在家庭云环境中利用软件定义网络(SDN)控制器实现家庭网络的自动配置。该软件定义网络(SDN)控制器能够自动识别新的家庭设备,并根据连接状态管理家庭设备,而无需安装中间件。同时,Jo et al. [9]提出了一种集成软件定义网络的家用消费电子设备,为家庭内部网络提供了高度灵活性,并为家庭间网络提供了更广泛的连接性。为了实现高性能家庭云环境,Lee et al. [10]提出了一种基于工作负载特性的新型固态硬盘缓存方案和虚拟磁盘镜像格式。
针对家庭服务,Fu et al. [11]研究了面向家庭网络消费者的基于云的语义服务搜索,其中数据经过加密以确保安全性。Jeong et al. [12]提出了一种区域感知的服务系统,该系统利用用户的移动资源(即具有传感或联网能力的手持设备,例如智能手机、智能手表和移动传感器)作为智能家居服务基础设施的一部分。该新系统易于修改、更新,并且能够低成本地实现。Díaz‐Sánchez et al. [13]提出了用于机顶盒的云计算中间件媒体云,以在家庭网络内部及跨云环境中对媒体进行分类、搜索和传输。Guo et al. [14]解决了基于数据块的公共云存储服务中智能家居内容服务的数据中心内部流量问题,采用批量平滑数据中心内部流量方案来降低峰值负载。
B. 云计算中的资源编排
资源编排类似于任务调度。Tao et al. [15]研究了工业网格系统中的资源服务组合,并利用标准粒子群算法来寻找解决方案。Tian et al. [16]开发了一个工具包,使开发者能够针对计算服务器和工作负载比较基础设施即服务 (IaaS)中的不同资源调度算法。Yuan et al. [17]提出了新的模因算法,用于多目标柔性作业车间调度,其目标是最小化完工时间、总工作负载和关键工作负载。对于云计算中的资源编排,Horizon项目 [18]首次指出,应将来自多个提供商的异构云计算资源整合为一项服务,以提高可用性、灵活性、弹性,并满足预期的性能约束条件。
Bittencourt et al. [19]将应用划分为相互依赖的模块并利用有向无环图为每个任务分配云计算资源。作者提出了在混合云中的调度算法,旨在减少执行时间。Zuo et al. [20]提出了一种资源分配框架,在自身资源不足以满足需求时,同时利用私有云和外部公有云。该问题是如何分配用户的任务,在保证服务质量(QoS)的同时最大化IaaS提供商的利润。该问题被建模为一个整数规划模型,并通过自适应学习粒子群优化算法求解。
总之,尽管计算卸载可以通过将繁重的计算任务迁移到云中的强大服务器上来提升消费电子设备的能力[21], ,但为每个任务选择多种资源仍是一个开放性问题。这种多资源选择对应用程序性能至关重要,尤其是在家庭云中,电子设备的计算、存储和带宽资源存在限制。因此,家庭到家庭云中的资源编排应综合考虑资源负载和应用性能。
在本研究中,设计了一种控制异构资源的分布式系统,并提出了一种粒子群算法,以为用户找到合适的解决方案。
III. 家庭到家庭云架构
A. 动机示例
传统的家庭云提供房屋 [1][22] 内的资源共享。然而,随着云计算的发展,家庭用户将空闲资源分享给有需要的邻近房屋变得越来越普遍。家庭用户可能需要将任务卸载到邻近房屋中的外部执行环境,因为与卸载到远程公有云相比,将任务卸载到邻近房屋中的电子设备可以获得更快的传输速度。例如,在图2中,家庭到家庭云为老年人提供了紧急监控服务。首先,家庭摄像头捕捉老人的行为。但原始视频数据不便于进行模式识别。因此,家庭网关将数据卸载到家庭到家庭云中,邻近房屋中的电视可提供强大的视频转换能力。随后,新生成的视频数据以及分析应用被传输至家庭到家庭云内的另一个高性能电子设备,以进一步进行特征提取并识别紧急事件,例如晕厥。同时,家庭网关收集来自家庭传感器的环境信息、气压、温度、湿度和位置。最后,家庭网关向家庭成员发出警报。这种需要异构云资源的复杂服务可通过共享的家庭到家庭云来实现。
B. 家庭到家庭云基础设施
所提出的家庭到家庭网络的云基础设施包含两层,如图3所示。在房屋内部,智能电子设备通过无线局域网 (WLAN)、蓝牙[23],等方式连接到家庭网关。虚拟化容器(如Linux容器(LXC))可安装在每个智能操作系统中,以控制设备并分配虚拟机(VM)资源[24]。然后,卸载任务可以高效地在智能手机、平板电脑、上网本、智能电视和游戏主机等消费设备的虚拟机上运行。因此,这些设备可以在其家庭用户之间共享计算和存储资源。
在各房屋之间,家庭网关通过互联网相互连接。志愿用户在其空闲电子设备上提供多个虚拟机或开放服务,从而使社区内可以共享更多资源。家庭网关是分布式的,内部设有资源控制器,用于管理内部电子设备、监控性能和进行资源编排。如图3所示,家庭网关相互连接,同时提供内部资源控制和外部资源编排功能。基于这种双层架构,房屋“A”中的用户发起一个包含四个任务的应用,这些任务可由房屋“B”、“C”和“D”中的消费电子设备执行。
C. 扩展家庭网关功能
为了实现家庭到家庭云中的资源编排,家庭网关扩展了一个新模块,即资源控制器。资源控制器利用应用提供商、志愿资源提供者和终端用户提供的信息,决定在家庭到家庭云中使用哪个设备来执行应用的卸载任务。系统中的交互与信息共享机制确保各功能模块相互协作。通过这种方式,家庭网关能够根据用户的应用需求,为其自身请求的用户进行资源编排。
资源控制器部署在家庭网关中,包含设备管理器、监控器和编排器三个功能,如图4所示。设备管理器接收房屋内连接的电子设备的注册消息,并记录共享成本和资源参数。它还从分布式家庭到家庭云资源收集感知和监控信息,并将编排器功能生成的资源编排策略传输给选定的家庭网关。
监控器收集并汇总消费电子设备的状态和性能指标。通过此功能,资源控制器获取中央处理器、存储和通信能力等资源参数,或防火墙、详细天气预报等共享服务数量。
编排器是资源控制器中的中央计算模块,利用监控信息并从优化问题中获取资源编排策略。应用划分用于在应用本身不包含多个分离任务时,将复杂的应用程序进行拆分。然后根据资源需求,该功能执行智能算法,为应用程序提供最优资源配置策略。
D. 交互过程
一种适当的激励相容策略,如针对多个云提供商的合作博弈论 [25] ,使得不同房屋之间的资源共享成为可能。基于此,目标是通过将每个任务卸载到合适的资源,为家庭用户提供强大的服务并提升应用性能。
智能操作系统中的家庭到家庭云应用部署在各个电子设备上,这些设备可以与家庭网关中的资源控制器通信,执行任务,并提供某些服务的开放接口。交互过程如图5所示。当房屋内的消费电子设备启动时,它们会向家庭网关注册其共享资源信息,包括资源配置、开放服务以及设备标识。此外,消费电子设备会定期向家庭网关更新其状态,家庭网关则将最新的资源信息通告给家庭到家庭云中的邻近房屋。
当用户请求到达家庭网关后,系统完成资源编排,并将策略传输至控制目标电子设备的家庭网关。该策略由可扩展标记语言(XML)描述,包括资源区域标识、任务以及资源需求描述。目标家庭网关负责通知其电器设备执行任务卸载。当电器设备中的应用接收到消息后,进行服务迁移,执行任务,并将结果返回给其家庭网关。服务部署与迁移过程可参考Lin et al提出的工作。[26]。最后,家庭网关根据编排策略将结果传输至下一个家庭网关。
IV. 资源编排
A. 问题定义
来自志愿者家庭的异构资源被抽象为具有特定功能和参数的服务。应用由多个依赖任务组成,这些任务被建模为特定的数据流图,并用有向无环图(DAG)表示,如图 6所示。由于多个资源可能提供相同的功能,因此
假设该问题中有V条候选的资源编排路径(ROP)。目标是找到一条ROPd,在满足约束条件的同时最小化负载均衡指标。数学表述如下:
$$
d d d d ROP ROP ROP ROP Min Z Cur Sur Bur \alpha \beta \gamma = \cdot + \cdot + \cdot \quad(1)
$$
受限于:
$$
d ROP o C C \leq \& ( ) d start current current ROP end T T T D T \leq + \leq
$$
$$
d ROP o R R \geq
$$
其中d=1,…,V. Co、Tstart、Tend和Ro分别是成本、可用时间(从开始到结束)和可靠性的约束条件值。dROPC、dROPD和dROPR分别是ROPd的成本、使用时间和可靠性。
目标函数由三部分组成,用于评估消费电子设备的负载压力。α、 β和γ是相应的权重因子,用于控制计算、存储和网络能力的相对重要性。Cur和Sur分别为计算负载水平和存储负载水平,反映消费电子设备的工作负载。Bur为带宽,反映消费电子设备链路的负载压力。该目标函数确保应用的资源编排避免在家庭到家庭云中出现高负载点和高负载线路。
计算利用率( i rCur) 是描述将任务 i 卸载到家庭到家庭云中消费电子设备提供的资源 r 时,计算能力所占百分比的参数。i rCur 可通过以下公式计算:
$$
( ) i i r r r required occupied total Cur Cur Cur Cur = + . (2)
$$
此处,i 所需的计算负载水平 是由服务提供商在应用从商店下载时为任务 i 提供的所需计算能力。是从商店下载时提供的。 r 占用的计算负载水平是在r中用于本地和远程应用程序的当前占用计算资源。r totalCur表示r中的总计算资源。在某些情况下,所需的计算能力受相关数据量的影响,即更多的数据需要更多的计算资源。此处仅考虑任务的一般值,而存储资源和带宽资源用于表示此因素。
存储利用率 ( i rSur) 是描述将任务 i 卸载到邻近房屋中消费设备提供的资源 r 时,存储能力所占百分比的参数。i Sur 可通过以下公式计算:
$$
( ) i i r r r required occupied total Sur Sur Sur Sur = + . (3)
$$
式(3)中参数的定义与式(2)类似,用于描述家庭到家庭云中虚拟机的预估存储使用百分比。
带宽利用率( i rBur) 是描述将任务 i 卸载到邻近房屋中消费电子设备提供的资源 r 时,家庭网关带宽能力百分比的参数。它反映了邻近房屋的可用带宽水平。
$$
( ) i i n n r required occupied total Bur Bur Bur Bur = + (4)
$$
其中,i requiredBur 是任务 i 所需的带宽。n occupiedBur 是用于访问家庭网关 n 的互联网所占用的带宽,而 n occupiedBur 是家庭网关 n 的总带宽。
成本 ( i rC) 指的是任务 i 为卸载其请求而向消费电子设备所有者支付的费用。当消费电子设备的资源被注册时,每秒成本 rCs 同时被添加到家庭网关中。如果此成本变化,则必须更新信息。
$$
( ) i i i r r r off C Cs De Dt V = \cdot + \cdot (5)
$$
这里,i De 是任务 i 的预期执行时间,rDt 是每字节数据的资源 r 传输延迟,即传输延迟和传播延迟之和。 i off V 是该任务卸载到相邻消费电子设备的数据量。
共享时间(T) 表示资源从开始 Tstart到结束 Tend的共享时间。由于消费电子设备可能并非始终在线,此参数由所有者提供,以表示资源的可用时段。
可靠性 (R)表示资源可用时间的比例。由于实际智能家居通常为可修复系统,它们在由故障组成的循环中工作以及正常状态。k availableT 表示消费电子设备中资源处于正常工作状态的第 kth 个时间片。observeT 为总观测时间。那么,对于 N 个时间片,可靠性的计算公式为:
$$
1 N k r available observe k R T T = = \sum . (6)
$$
B. 问题中的符号说明
资源编排中的符号表示如图7所示。当一个请求被转发到家庭网关时,可以用任务集TSet={Tk1,…, Tka, TkM}表示。然后资源控制器将该任务集映射到邻近房屋的相应资源,并确定每个任务的资源候选者RSeti={Rs1,…, Rsj, Rsm}。资源控制器为每个任务选择一个资源Rsi ,并形成一个候选编排RSset={Tk1Rs3,…, Tk1Rsm, TkMRsj}。
资源编排旨在综合考虑目标和多重约束(如成本、共享时间和可用性),从所有可能的候选方案中选择最优候选。采用顺序编码离散粒子群算法,每个粒子的位置代表问题的一个候选解。任务数量对应粒子的维度数。粒子的位置值表示任务的资源服务索引。
C. 资源编排算法
假设应用中有 M 个任务。则粒子设置为 M 维。令 $1 2 ( , ,…, ,…, ) t t t t t b b b bi bM x x x x x = $ 表示粒子在第 $t$ 次迭代时的 $b$ 维位置,$1 2( , ,…, ,…, ) t t t t t b b b bi bM v v v v v = $ 表示粒子在第 $t$ 次迭代时的 $b$ 维速度。令 $1 2( , ,…, ,…, ) t t t t t b b b bi bM p p p p p = $ 和 $1 2( , ,…, ,…, ) t t t t t g g g gi gM p p p p p = $ 分别表示局部最优位置和全局最优位置。T max 是最大迭代次数,m 是 PSO 种群大小。该算法如下所示。
启动后,根据目标函数(即公式(1))计算适应度值。如果当前适应度值优于局部最优值,则更新局部最优值。所有粒子中的最佳值被选为全局最优值。在第(t+1)次迭代中,b号粒子的第i维速度根据三个值进行更新:上一次迭代的速度、其局部最优值 $p_{bi}^{t+1}$ 以及全局最优值 $p_{gi}^{t+1}$。然后,利用更新后的速度和上一次迭代的位置更新该粒子的第i维位置。此过程由公式(7)进行更新。
$$
x_{bi}^{t+1} =
\begin{cases}
x_{bi}^t + v_{bi}^{t+1}, & \text{with prob } p_1 \
x_{bi}^t + v_{bi}^{t+1}(p_{bi}^t - x_{bi}^t), & \text{with prob } p_2 \
x_{bi}^t + v_{bi}^{t+1}(p_{gi}^t - x_{bi}^t), &
\end{cases}
$$
$$
v_{bi}^{t+1} = \omega^t v_{bi}^t + c_1^t \xi^t (p_{bi}^t - x_{bi}^t) + c_2^t \eta^t (p_{gi}^t - x_{bi}^t)
\quad (7)
$$
其中,$\omega^t$ 是控制从上一次迭代速度继承的时变惯性权重。$c_1^t$ 和 $c_2^t$ 是时变学习因子,分别使粒子向局部最优和全局最优移动。$\xi^t$ 和 $\eta^t$ 是均匀分布在0和1之间的随机数,用于帮助粒子逃离次优解。如果 $x_{bi}^{t+1}$ 的值不是整数,则随机舍入到最近的较小整数或最近的较大整数,以确保平均误差为零。(7)中的参数按(8)计算。
$$
\begin{cases}
\omega^t = \omega_{max} - (\omega_{max} - \omega_{min}) \times \frac{t}{T_{max}} \
c_1^t = (c_{1i} - c_{1f}) \times \frac{t}{T_{max}} + c_{1f} \
c_2^t = (c_{2i} - c_{2f}) \times \frac{t}{T_{max}} + c_{2f}
\end{cases}
\quad (8)
$$
其中 $\omega_{max}$ 和 $\omega_{min}$ 是惯性权重[27]的最大值和最小值。$T_{max}$ 为最大迭代次数。(13)式中,$c_{1i}$, $c_{1f}$ 分别是 $c_1^t$ 的初始值和最终值。$c_{2i}$ 和 $c_{2f}$ 分别是 $c_2^t$[28]的初始值和最终值。
- 对群体中的每个粒子b:
- t=1;
- 随机初始化 $x_b^1$, $v_b^1$;
- 令 $p_b^1 = x_b^1$;
- 将 $p_g^1$ 初始化为 $p_b^1$, b=1,…,m中具有最佳适应度的个体;
- 根据(1)计算fitness($x_b^t$);
- 如果 fitness($x_b^t$)优于fitness($p_b^t$);
- $p_b^t = x_b^t$;
- 结束如果;
- 令 $p_g^t$ 为 $p_b^t$, b=1,…,m中具有最佳适应度的个体;
- 使用(7)更新粒子的位置和速度。
- 如果 t <= T_max。转到 6;
- 结束如果;
- 结束循环
V. 性能评估
A. 仿真环境
仿真场景由一个包含四台作为分布式家庭网关的台式机虚拟机构成的测试平台组成。智能手机和若干带有 LXC容器的笔记本电脑为家庭到家庭云提供虚拟机资源。家庭网关均配置1 GB内存、1.5 GHz中央处理器、千兆以太网接口和Linux操作系统(当前家庭网关的典型配置),并部署了资源控制器,用于编排消费电子设备的资源。
在仿真场景中,生成了具有不同任务数量并按顺序执行的各种应用程序。其他多任务结构可以通过现有技术[29]转换为顺序工作流。消费电子设备以及任务的资源参数根据表I中列出的均匀分布生成。$i_rCur$ 、 $i_rSur$和 $i_rBur$被直接配置。ωmax和 ωmin根据Zitzler 等人的研究 [27]进行设置,而c1i, c1f, c2i 以及 c2f 则根据Veldhuizen 等人的研究 [28]进行设置。所有实验结果均为五次试验的平均值。可用时间Tstart和Tend分别设置为0和24。
表I 仿真参数的取值
| 符号 | 值 | 符号 | 值 | 符号 | 值 |
|---|---|---|---|---|---|
| ω max | 0.9 | 计算负载水平 $i_rCur$ | [0.05,0.95] | $V_{off}^i$ | [100,1000] |
| ω min | 0.4 | 存储负载水平 $i_rSur$ | [0.05,0.95] | $De^i$ | [0.1,1] 小时 |
| c 1i | 2.5 | $i_rBur$ | [0.05,0.95] | $C_o$ | 8 |
| c 1f | 0.5 | $Cs_r$ | [1,5] | $R_o$ | 0.7 |
| c 2i | 0.5 | $Dt_r$ | [0.01,0.1] 秒 | ||
| c 2f | 2.5 | $R_r$ | [0.5,0.99] |
用户通常关心资源编排是否能在可接受的时间内达到最优结果。目标函数精度(即PSO解的目标函数值与真实最优解的目标函数值之比)以及资源编排的执行时间将在以下小节中进行分析。
B. 应用程序中不同任务数量
测试选取了三种情况,其中每个应用中的任务数量分别为三个、五个和七个。此外,针对这三种情况,资源的数量在家庭到家庭云中,每个任务的候选数量分别为15、5和3。粒子数量从10增长到100。在所有测试中,PSO算法执行100次迭代。
(a):资源编排精度随粒子数量的变化情况。
(b):执行时间随粒子数量的变化情况。
图8描述了家庭到家庭云中资源编排的精度及其相应的执行时间。一般来说,任务数量的变化对精度影响较小,但可能导致执行时间略有增加。随着PSO算法中粒子数量的增加,各房屋之间的资源编排精度提高。然而,执行时间也大幅上升。对于计算能力受限的家庭网关,若获得近似解,则执行时间将显著减少。
当粒子数量超过80时,任务数为三和七的情况下,资源编排的准确率达到100%。然而,在任务数为五的情况下,需要更多的粒子(即100)才能达到100%的准确率。因此,当编排算法投入实际应用时,应根据具体应用选择适当的参数。
C. 不同数量的资源候选者
图9展示了当一个应用包含四个任务,且每个任务的资源候选数分别为3、6和10时,编排的准确率和执行时间。在上述三种情况下,候选编排方案数分别为81、1296和10000。所有测试中的迭代次数均保持为100。
如图9(a)所示,资源候选数量是影响资源编排准确率的关键因素。当粒子数量为10时,具有三个资源候选者的准确率要高得多比具有十个资源候选者的情况要小。当粒子数量增加时,三种情况下的准确率差异会缩小。
另一方面,如图9(b)所示,当群体规模保持不变时,执行时间几乎不受资源候选数量增加的影响。当群体规模增大时,执行时间也随之增加。
(a):资源编排的准确率随粒子数量的变化。
(b):粒子数量与执行时间的关系。
D. 迭代次数增加的不同数量
图10展示了迭代次数从50次增加到500次时的准确率和执行时间。如图10(a)所示,随着迭代次数的增加,资源编排的准确率有所提高,特别是当粒子数量为10时。对于50和100个粒子,最高的准确率为0.9139。因此,200次迭代已足够。在图10(b)中,随着迭代次数的增加,执行时间也随之增加。在10个粒子的情况下,执行时间增长较慢;而在50和100个粒子的情况下,执行时间分别在400次和150次迭代后急剧上升。
根据上述结果,基于PSO的资源编排算法收敛速度快,适用于当前处理能力较低的家庭网关。此外,通过增加粒子数量而非迭代次数,可以在略微增加执行时间的情况下有效提高资源编排的准确率。
(a):随着迭代次数增加,资源编排的准确率。
(b):随着迭代次数增加,执行时间的变化。
VI. 结论
随着消费电子的快速发展,智能家居进入人们的生活,消费电子设备的虚拟化变得切实可行。本文构建了一个双层家庭到家庭云,使得户内资源可以在消费电子设备之间共享,户间资源可以在邻近房屋之间共享。通过扩展家庭网关的功能,多任务应用可以被卸载到家庭到家庭云上。为了有效利用消费电子设备共享的资源,将资源编排定义为一个考虑成本、共享时间和可靠性的优化问题。基于粒子群算法计算最优编排策略,仿真结果表明,所有研究案例均能在可接受的时间内达到接近90%的最优解。
未来工作将研究在家庭到家庭云中为多任务应用利用志愿资源的安全机制。
7万+

被折叠的 条评论
为什么被折叠?



