基于萤火虫群算法的边缘云资源分配方法*

2023-05-12 02:26
计算机与数字工程 2023年1期
关键词:资源分配萤火虫边缘

陈 刚

(广州华商学院数据科学学院 广州 511300)

1 引言

近年来,云计算技术发展迅速,云计算作为一种新型的分布式计算模型,其主要作用是进行海量数据的储存和计算,并能够对海量数据进行大规模的分析处理。云计算以其高精确性、高延展性、高扩展性和低成本的特点,可以有效满足海量数据的计算需求。在Web计算环境的开发中,云计算技术能够适应Web计算具有的高开放性、高动态性以及高多变性的开发环境,以此保障云计算技术中云资源的有效分配,因此边缘云资源的分配便成为了云计算领域的研究方向之一。

对此,一些学者进行了相关研究,文献[1]提出一种基于博弈论的数据中心私有云的云资源分配方法,采用博弈论的数学算法,分析云资源用户占有的驱动动机,得到用户的资源使用特点,根据使用特点来进行云资源的分配,但此分配方法存在资源浪费和低效的问题。文献[2]提出一种基于人工智能的云计算资源分配方法,建立云资源计算模型,在人工智能中加入蝙蝠算法,求解模型获得全局最优解,完成对云资源的分配,但此方法过度依赖于人工智能且成本较高,因此实际应用价值不足。针对传统方法存在的问题,提出了一种基于萤火虫算法的边缘云资源分配方法。

2 边缘云资源调度

引入目标函数适用度的概念完成边缘云资源调度,目标函数适用度公式如式(1)所示:

其中,f(m)表示得到的目标函数适应度;z表示检测目标集合数量;a表示数据阈值;p表示被检测目标集合。

通过比对目标函数适应度数值大小对云计算资源进行加权处理,设定初始的调度资源数目,并规定最大迭代次数,在迭代过程中对资源的个体完成编码处理,通过编码来判断云资源数据所处的位置,并对其进行数据值的计算,根据数据值计算结果输出加权结果[3~4]。在实现加权处理后,可得到最优适应度数值,根据最优适应度数值建立调度模型。建立的边缘云资源调度模型如图1所示。

图1 边缘云资源调度模型

在云计算环境下,需要将任务映射到资源中,再由资源映射到相应设备中,通过图1 所示的调度模型进行边缘云资源的调度。边缘云资源的调度模型采用五元组进行描述:

其中,S为五元集合;T为边缘云资源调度任务集合;V为得到的边缘数据云资源集合;D为需要使用的物理设备集合;M为已经确定资源与设备的对应关系集合;C为映射方式集合。

关系集合M由云计算中心根据任务需求进行分配,资源与任务之间的映射方式C则由云计算服务调度器决定,调度任务集合T内部的边缘云资源传递到物理设备集合D所花费的时间为固定值。根据时间固定值建立矩阵,通过物理设备来完成时间矩阵的执行,利用执行矩阵确定任务集合,根据集合数据得到边缘云资源的映射结果[5~6]。根据映射结果确定调度信息,结合时间矩阵分析云资源所处状态,在确定信息状态满足分配条件后,在调度模型上完成资源调度工作。

3 基于萤火虫群算法的边缘云资源分配

完成边缘云资源的调度后,便可进行边缘云资源的分配。在云计算环境下,采用萤火虫算法进行位置寻优,从而完成边缘云资源的分配。具体的工作原理为萤火虫在聚集过程中,会主动向最优解的方向聚集,由此可知,一个区域越亮,这个区域的优先度越高,即可求得边缘云资源分配的最优值[7~8]。基于萤火虫算法的边缘云资源分配流程如图2 所示。

观察图2 可知,在边缘云资源分配过程中,萤火虫在完成初始化之后更新荧光值,根据荧光值可以判断萤火虫的移动位置,从而确定局部最优范围,在局部最优范围内实现边缘云资源分配,输出分配结果。

图2 边缘云资源分配流程

3.1 萤火虫初始化阶段

在初始化阶段,采用首次适应算法将虚拟机中的边缘云资源分配到物理设备中,通过顺序法查找物理设备,将虚拟机依次安置到物理设备中,根据包簇划分结果对物理设备进行编码,编码结果如式(3)所示:

其中,M表示编码结果;a表示被编码的萤火虫数值;F表示编码规则。当a=0 时,包簇的静态能耗就是该包簇荧光值的初始值,因此在初始化阶段可以得出萤火虫包簇的感知范围[9~10]。

3.2 荧光素更新

荧光素的更新就是荧光值改变的过程,采用萤火虫算法寻找最优解,根据萤火虫算法的寻优策略,建立目标函数来确定最优解的范围。目标函数可以显示荧光虫的动态漂移过程,因此通过包簇分化得到边缘云资源分配的目标函数,以目标函数为荧光素的浓度因子实现荧光素更新。

建立的目标函数如式(4)所示:

其中,f表示目标函数;U表示边缘云资源利用域;p表示萤火虫集合簇;k表示边缘云资源数量。

目标函数与边缘云资源利用域存在直接关系,根据式(4)可知,边缘云资源利用域越大,该包簇的荧光值就越高[11~12]。

3.3 萤火虫移动

在萤火虫移动阶段,萤火虫簇会成为萤火虫包的邻居,二者之间的映射关系可以描述为

其中,l为映射层数;X为映射数据。

萤火虫群体可划分成n个子群体,在萤火虫子群的荧光值更新后可以得到萤火虫的最佳位置和最高荧光值,确定更新的位置后,计算萤火虫值,分析是否满足预定结果,若不满足设定结果,则继续进行迭代更新,直至满足预定结果为止。

3.4 边缘云资源分配

根据待漂移包簇来确定萤火虫的移动方向,分析移动概率,实现位置更新。萤火虫的位置更新计算公式如式(6)所示:

其中,N表示建立的萤火虫群体;i表示萤火虫群体中的个体,其位置为(xi,yi);X(t)表示第t代的萤火虫的位置;L表示该萤火虫的值,萤火虫值更新的计算公式为

采用萤火虫算法中含有的混沌变量来对萤火虫运动的随机性进行计算,并对其随机性计算结果进行优化搜索,增强萤火虫算法的群体多样性[13~15]。萤火虫算法的全局搜索能力取决于迭代次数,迭代次数越多,萤火虫个体与其所在位置越接近,就会使萤火虫个体之间的差异性降低。为了解决该问题,引入混沌映射概念,从而更好地实现混沌搅动,使分配效果更加均匀。采用萤火虫算法进行边缘云资源分配,确定部分数据包的最优位置后,进行最优区域半径的动态更新,根据萤火虫算法计算出萤火虫携带的荧光值,通过筛选不断减小最优区域半径,最终得到最优区域,该区域便是边缘云资源分配的最佳方案。

4 实验与性能分析

4.1 实验环境

为了验证基于萤火虫算法的边缘云资源分配方法的实际应用效果,进行对比实验。采用的实验操作系统为Windows 10 系统,在实验过程中设定模拟数据中心,通过模拟数据中心确定用户的动态变化状态。

为确保实验结果的准确性,同时选用基于博弈论的云资源分配管理分析方法和基于人工智能技术的云计算资源分配方法进行实验对比。在实验过程中保证任务数值为一致数值,同时设定资源阈值,防止由于数据不统一而出现的信息缺失。

4.2 性能分析

设定云资源的数量为80,分析不同方法的收敛效果:观察上图可知,随着迭代次数的增加,收敛值也在不断减小,当迭代次数为800 次时,本文的分配方法的收敛值仅为0.7,而传统人工智能分配方法的收敛值为1.0,博弈论分配方法的收敛值为1.3。由此可见,三种分配方法中,本文的方法的收敛效果最好,能够在短时间内完成收敛和寻优。这是由于萤火虫算法能够在短时间内分析个体的状态,在收敛过程中不会陷入局部最优的问题,而传统的分配方法在分配过程中由于难以对信息进行调节,因此会出现收敛速度过慢的问题,资源调度难以满足用户要求。

图3 收敛效果实验结果

资源在分配过程中会同时产生静态能耗和动态能耗,分析三种方法的能耗,得到的实验结果如图4所示。

观察图4 可知,本文提出方法消耗的能耗始终低于传统分配方法消耗的能耗。基于博弈论的分配方法在分配过程中需要引入大量信息参数,这些信息参数导致随机性过大,很难在短时间内确定最优解。基于人工智能技术的分配方法在分配过程中并未考虑能耗问题,设定约束条件确定最优解,因此导致分配资源消耗过多。而基于萤火虫算法的分配方法通过建立模型确定信息,寻找最优目标,从而减少资源利用率。

图4 耗能实验结果

资源分配效率实验结果如表1所示。

表1 资源分配效率实验结果

根据表1 可知,萤火虫群优化的分配方法的资源分配效率高于传统分配方法,分配效率提高了20%以上,分配能力更强,能够在短时间内完成信息资源分配,从而更好地满足用户需求。

5 结语

对于云计算领域的边缘云资源分配,传统方式采用的方式仍有缺陷,因此提出基于萤火虫算法的边缘云资源分配方法,弥补了传统方式中的不足之处,并可应用到实际操作中。为后续研究此方面的学者提供有关参考。

猜你喜欢
资源分配萤火虫边缘
新研究揭示新冠疫情对资源分配的影响 精读
一种基于价格竞争的D2D通信资源分配算法
萤火虫
萤火虫
云环境下公平性优化的资源分配方法
一张图看懂边缘计算
抱抱就不哭了
夏天的萤火虫
OFDMA系统中容量最大化的资源分配算法
在边缘寻找自我