APP下载

基于花授粉算法的容器云资源低能耗部署方法*

2023-07-11徐胜超毛明扬

计算机与数字工程 2023年3期
关键词:低能耗适应度利用率

徐胜超 毛明扬 陈 刚

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

1 引言

云计算在使用过程中能耗过大是比较棘手的问题[1],近年来国内外专家针对降低云计算能耗的方法开展了深入研究,得出能耗高的原因:其一是数据量的增多,其二是云资源部署不合理[2]。随着云计算的广泛应用,数据中心数量急剧增多,能耗问题愈发严重。为了进一步优化云资源部署能力,有效降低资源能耗,相关的云资源低能耗部署方法引起了学者的关注。

文献[3]比较了不同的容器云调度算法,考虑了容器云任务调度的不同细微差别,包括任务长度、任务完成时间、虚拟机配置和任务截止时间,同时还包括容器,这确保调度器在容器环境中有效工作,以提高容器云部署的效率。但是该方法调度过程中能耗消耗较多。文献[4]提出了带约束修复的树形调度目标模型,采用优先级综合多个子目标并将其归属于不同树形分支下的子空间,构建了容器云资源均衡调度模型。但是该方法极易出现不可用节点或主机被开启的情况,存在平台资源利用率低及负载均衡差的问题。文献[5]提出了基于多维资源空闲率权重的评价函数和调度方法,利用模糊层次分析法自动建模求解容器应用多维资源权重参数,均衡了集群多维资源利用率。但是该方法不能实时监测部署过程中的能耗。

文献[6]提出了一种离散Pareto 花朵授粉算法对问题进行求解,构造了离散异花授粉行为和离散自花授粉行为,并将离散算法与多目标优化策略相结合,提升了算法的适用性。综上所述,一方面容器云急需降低能耗,另一方面花朵授粉算法可以采用多目标优化的方式有效提高容器云平台的物理资源的利用效率与降低能耗,因此,本文提出了基于花授粉算法的多目标优化容器云资源低能耗部署方法,最后利用实验的方式验证了我们的思路与性能。

2 容器云资源能耗分析

2.1 能量消耗的数学模型

在有m个物理主机和n个容器的云平台中,云资源部署的能量消耗主要来自固定和迁移两部分,经实验发现,云资源能耗与物理主机的资源利用率有较大关联[7],因此t时刻物理主机的能耗为E(Ucpu(t))表示物理主机CPU 的能耗,E(Umem(t))物理主机的内存能耗E(Udisk(t))物理主机的磁盘能耗,E(Ubw(t))物理主机的网络带宽能耗。这样第i个物理主机在[ta,tb]时间段的总体能量消耗Ei可以按照式(2)来计算:

考虑到容器云资源调度过程中的能耗除了硬件资源利用率实时变化产生的能耗外,还包括容器迁移能耗,在容器云平台中,由于用户需求的差别,系统的负载均不相同,当云资源利用率较低时,为降低能耗需要迁移容器[8],迁移过程必须实时关注容器的迁移量,若迁移量较大会直接影响容器云平台性能,升高SLA(服务等级协议)违约率。基于系统各部位的资源利用率以及能耗公式得出容器迁移开销,其计算公式为

其中,j代表容器,vj(t)代表t时刻的第j个容器处理器利用率,t1代表容器开始迁移的时间,tkj代表容器完成迁移所需的时间。

式中,Vj代表容器迁移开销。由于容器迁移开销是影响容器云资源调度能耗的重要影响因素,因此容器云资源能耗分析过程中重点计算容器迁移开销。整个容器云平台的能量消耗为

2.2 容器迁移方法与目标函数

在迁移过程中利用三个阈值的容器迁移方案完成迁移,其核心思想是当物理主机负载过轻或过重时即刻迁移容器,负载过轻的主机为之匹配合适的主机,同时关闭无用主机进而降低能耗,过重的主机通过迁移提高CPU利用率,无需迁移处理的仅为负载合理的主机[9]。

迁移容器时,需要根据实时负载情况选择容器迁移方法,迁移容器的选择主要方式有以下四种。

1)最低增长方法

这种容器迁移方法就是当容器云平台主机出现负载过重时,从所有CPU中选取出利用率最大的容器,对该容器实施迁移处理,以此保证主机CPU利用率小于阈值C,则此时的容器选择目标函数为

式中,G代表主机负载集合,β(Uj)代表j个容器集合的幂集,Uj代表j个容器集合,vj(t)代表容器j的CPU利用率,v(u)代表负载u占主机的CPU利用率,a和b均为CPU利用率的位置标识。

2)最高增长方法

此方法的主要实现方式就是若物理主机负载过重,立即在主机中选取CPU 利用率最小的容器,并对其迁移处理,实现物理主机CPU利用率小于阈值C的目的,此方式下的容器选择目标函数为

公式中字母和符号的含义与最低增长方法中的含义一致。

3)混合增长方法

混合增长方法就是在物理主机负载过重时,第一时间选取出CPU利用率最小的容器,并对其完成第一次迁移处理,再提取出CPU 利用率最大的容器,完成第二次迁移,最后不断循环操作上述步骤,直至CPU 利用率小于阈值C,混合增长方法下的容器选择目标函数为

4)随机选择模式

这种容器选择策略的核心思想就是在物理主机发生负载过重时,在主机中随机选取出部分容器,并对其迁移处理,随机选择模式下的容器选择目标函数为

公式中字母和符号的含义与最低增长方法中的含义一致。通过以上计算和约束条件分析,可以得出云资源部署过程中所需要部署的容器,将不必要的容器进行关闭,降低能耗,同时结合能耗模型计算容器云资源调度所需的最低能耗,最大程度降低资源部署的能耗。

3 基于花授粉的云资源低能耗部署方法

通过计算云资源相应能耗对容器进行迁移,并根据实际迁移情况选择容器,以此保证云资源在运行过程中能耗最低,在此基础上利用花授粉算法[10]得出每个被选中容器最合理的位置,花授粉算法(Flower Pollination Algorithm,FPA)是仿生智能算法的一种,即模拟花朵传粉机制在全局中找出每个容器最优的部署位置,这种算法的操作简单,结构新颖,可有效解决混合数据聚类难的问题[11~12]。

在容器云资源能耗分析的基础上,基于花授粉算法的云资源低能耗部署,具体步骤如图1所示。

图1 基于花授粉算法的容器云资源低能耗部署流程

步骤1 初始化花授粉算法相应参数。

步骤2 计算容器云资源种群的半径R,并求解出种群内每个个体的适应度值[13~14],对在R半径内符合欧式距离的个体,同时记载每个种群中的最优和最差个体。

步骤3 求解上述记载容器云资源个体对应的解,同时对其实施越界处理,其计算公式为

步骤4 在花授粉算法中计算出容器云资源个体的适应度值[15],利用适应度评判种群内每个个体的优劣,假设适应度值为F(X′),基于适应度值必须为非负的要求,对其做出以下调整,即:

式中,F′l(X′)代表完成调整后的适应度值,fl(X′)代表未经过调整的适应度值,F(X′)min代表未经过调整的最小适应度值,F(X′)max代表未经过调整的最大适应度值,代表调整系数。

容器云资源种群优劣的衡量方法是对种群中个体适应度平均值与种群适应度最大值进行比较,若两者之差小于设定的最小正数χ,则说明此时部署的容器个体较优,两者之差大于设定的最小正数χ,则说明此时部署的容器个体较差。

步骤5 将每个子容器云资源种群适应度最高的视为精英,并对最差容器个体开展初始化处理。

步骤6 达到迭代次数后更新最差容器云资源个体,反之,返回第3步重新计算。

步骤7 输出容器云资源部署的最优解并计算,得出的最优解就是容器云资源最终的低能耗部署结果,从而实现容器云资源低能耗部署。

4 实验结果与分析

为了验证基于花授粉算法的容器云资源低能耗部署方法的整体有效性,将引言中提到的其他容器云调度方法文献[3]云环境下任务调度算法的统计评估方法和文献[4]基于多目标的容器云任务调度算法作为对比方法,进行平台资源能耗、部署完成时间以及负载均衡对比测试,测试结果如下所示。

4.1 实验设置

本文基于Cloudsim 5.0工具包实现了容器云资源低能耗部署,表1 给出了容器云资源低能耗部署过程中的物理主机和虚拟机的参数配置情况,为了测试的统一性,表1 所示的物理主机都是相同的配置。表2给出了花授粉算法的参数设置。

表1 物理主机和虚拟机的参数配置

表2 花授粉算法参数设置

在表1 物理主机和虚拟机的参数配置的基础上,实验过程中在Cloudsim 5.0 中模拟仿真了50 个虚拟节点和50 个物理节点,每一个物理节点上只有一个虚拟节点,随机设置虚拟节点的性能和已部署的容器个数,以模拟出集群不同负载的情况。

由于本文在容器迁移过程中根据不同的负载情况,选择了最低增长法、最高增长法、混合增长法以及随机选择模式四种方式,因此在实验前,首先确定本文基于花授粉算法的容器云资源低能耗部署方法的容器迁移方式。设置部署过程中的负载均为0.8,随机选取五组需要部署的资源,分别编号为1~5,每组需要部署的资容器云资源任务数分别为300个、400个、500个、600个和700个,利用四种方式对五组容器云资源进行部署,得出每种方式的部署效果,如图2所示。

图2 四种方式对五组容器云资源的部署效果

根据图2 可知,四种方式对五组容器云资源的部署成功率均高于80%,相比而言,随机选择模式较最低增长法、最高增长法和混合增长法的部署成功率更高,完整度更好。其主要原因是在同样的负载情况下,随机选择模式可以根据运行情况随机部署容器,调整容器选择以适应不同组别实验环境,而不是单一地利用某一个容器完成迁移和部署,加强了部署能力,优化了部署效果。

综上所述,本文实验过程中的容器部署方式选择随机选择模式,并与云环境中任务调度算法、基于多目标的容器云任务调度算法进行对比。

4.2 结果分析

4.2.1 容器云资源能耗分析

容器云计算平台中会部署大量的计算资源,从而满足用户的需求,部署方法会为了加强部署能力利用大量能耗支撑部署效果,但也因此造成了浪费。为了比较三种方法的优劣,在同一环境下保证三种方法的资源部署效果一致,判断每种方法在不同任务下所需的能耗。

为了确保实验准确性,降低实验偶然性,在15组不同大小的云容器中进行资源部署,每种方法下的能耗结果如表3所示。

表3 三种方法的容器云资源能耗(焦耳J)

根据表3 可知,随着容器云大小的增大,三种方法的资源部署能耗随之增高,每组实验下云资源能耗最低的均是花授粉方法,且远低于其余两种部署方法,由此证明花授粉方法能耗最小。其主要原因是花授粉方法采用了随机模式下的容器调度策略与算法调优,减少了错误部署策略的生成率,降低了能耗。

4.2.2 部署完成时间

容器云资源部署方法关键评价标准就是部署完成时间,为了降低容器云计算平台能耗,在部署前均需要计算部署必需的能耗,将无用部分关闭降低能耗,从而加长容器云计算平台资源部署时间。

现随机选取五组需要进行部署的资源,对每组资源进行编号,分别是编号1到编号5,每组需要部署的资源任务数均不相同,实验编号1 到实验编号5与之对应的部署任务数分别为100个、150个、200个、250个和300个,在上述实验环境下利用三种方法对五组资源进行部署,得出每种方法完成部署所需的时间,实验结果如图3所示。

图3 三种方法资源部署所需时间

根据图3 可知,本文方法完成部署所需的时间低于其余两种方法,且每组实验均是本文方法用时最少,其次是基于预测的资源部署方法,这是因为本文方法在对容器云资源进行部署过程中随机选取出部分容器,并对其迁移处理,调整容器选择以适应不同组别实验环境,而不是单一地利用某一个容器完成迁移和部署,加强了部署能力,降低部署所需时间。

4.2.3 部署后容器云负载均衡比较

云计算平台保持负载均衡是保证平台性能的必要手段,只有负载平衡才能最大程度地发挥每个容器的作用,且当云计算平台保持负载平衡时,各个节点均处于平稳状态,更有利于云资源的部署,所以云计算平台的负载均衡程度也是衡量云资源部署好坏的标准指标。

在同一环境下对比五组不同任务数下每种方法的负载均衡方差,如式(11):

式中,S代表负载均衡方差;xa和xȧ分别代表实际和测量缓存丢失率;yb和yḃ分别代表实际和测量缓存命中率;zc和zc分别代表实际和测量后端吞吐率;N代表任务数。负载方差越小说明该方法的负载均衡能力越强,即部署方法越好。

根据图4 可知,每组实验下均是本文方法的负载均衡方差最小,说明本文方法的部署性能最稳定,部署性能最高。其主要原因是,本文方法通过多次迭代更新了最差个体位置,获取了最佳个体,降低了最终部署方案的负载均衡方差。

图4 三种方法的负载均衡方差

5 结语

容器云是比较先进的云计算技术,可不限制用户数量的提供数据资源,同时实现数据的共享,最大程度地提高资源的利用率,也提高云服务的收益,本文提出了基于花授粉算法的容器云资源低能耗部署方法,对相关云资源数据进行预处理,最大程度降低资源部署的能耗,并在花授粉算法的帮助下完成资源部署,实现容器云资源低能耗部署,解决了平台资源利用率低、部署完成时间长以及负载均衡差的问题,下一步研究将针对部署过程中的资源违约率问题进行分析。

猜你喜欢

低能耗适应度利用率
低能耗建筑和绿色,节能建材会再上层楼
改进的自适应复制、交叉和突变遗传算法
低能耗城市污水处理工艺分析
2019年全国煤炭开采和洗选业产能利用率为70.6%
化肥利用率稳步增长
被动式低能耗建造技术探析
浅议如何提高涉烟信息的利用率
基于空调导风板成型工艺的Kriging模型适应度研究
八钢烧结低能耗低排放低成本运营实践
板材利用率提高之研究