APP下载

基于人工智能技术的云计算资源分配研究

2020-12-07林晓农

现代电子技术 2020年21期
关键词:资源分配仿真云计算

摘  要: 针对目前大部分数据中心资源分配庞大和动态化的问题,研究基于人工智能技术的云计算资源分配模型。对蝙蝠算法和云计算资源模型进行设计,实现任务的划分,分配云计算资源;另外,创建资源分配调度框架,在用户终端收集任务调度模块,计算资源损耗;实现云任务的调度,接收用户提交的任务,初始化蝙蝠种群的脉冲频率,计算任务的优先权,从而输出全局最优解。利用C++开发仿真平台对不同数量服务器数据中心进行模拟,结果表明,通过此资源分配算法能够解决资源分配的问题,从而提高算法的分配效率。

关键词: 人工智能; 蝙蝠算法; 云计算; 资源分配; 服务器; 仿真

中图分类号: TN911.1?34                        文獻标识码: A                         文章编号: 1004?373X(2020)21?0170?04

Research on cloud computing resource allocation

based on artificial intelligence technology

LIN Xiaonong

(Fuzhou Institute of Technology, Fuzhou 350506, China)

Absrtact: In view of the massive and dynamic resource allocation in most data centers at present, a design of cloud computing resource allocation based on artificial intelligence technology is realized. The bat algorithm and cloud computing resource model are designed to realize the task division and allocate cloud computing resources. In addition, the resource allocation scheduling framework is created, and the task scheduling module is collected at the user terminal to calculate the resource loss. The scheduling of cloud tasks is implemented, the tasks submitted by the user is received, the pulse frequency of the bat population is initialized and the task priority is calculated, so as to output the global optimal solution. Finally, the simulation performance and analysis of the proposed method are realized. The C++ development simulation platform is used to simulate different number of server data centers. This resource allocation algorithm can solve the problem of resource allocation and improve the allocation efficiency of the algorithm.

Keywords: artificial intelligence; bat algorithm; cloud computing; resource allocation; server; simulation

0  引  言

云计算为全新商业计算模式,也是分布式并行处理与网格计算等技术的延伸与拓展,代表了目前并行计算技术发展的全新阶段,属于全新产物。云计算中具有多种问题需要有效解决,比如资源调度。

资源调度为云计算技术的主要构成部分,其效率对云计算环境工作性能具有直接影响。云计算环境任务调度为NP完全问题,启发式智能算法是该领域研究的主要方向[1]。本文以云计算对资源分配的要求,对人工智能技术进行研究,使用蝙蝠算法和云计算任务调度实际特点结合,创建将成本、时间作为双约束条件的资源调度模型,使云计算资源调度问题得到解决。

1  蝙蝠算法与云计算资源模型

1.1  蝙蝠算法

蝙蝠算法(BA)为2010年所提到的全新启发式智能算法,此算法对自然界蝙蝠利用声纳对猎物探测进行研究,从而避免障碍物。BA算法仿生原理是基于种群数量为NP的蝙蝠个体在[D]维空间中映射的NP可行解,以可行解适应度函数值优劣对蝙蝠算法中蝙蝠个体位置的优劣进行衡量,使个体优劣过程模拟成为算法优化与搜索过程中使用优良可行解代替现有可行解的过程。蝙蝠算法中的规则为:

为了能够以小空间、时间的代价寻找食物最优个体,设置目标函数为min [f(x)],目标变量设置为[D]维空间,所以目标变量设置为[X=(x1,x2,…,xD)T]的优化问题[2]。

实施BA算法的过程为:

设置蝙蝠频率为[fi],范围为[[fmin,fmax]],对应的波长为[[λmin,λmax]],蝙蝠响应设置为[A0],脉冲频率设置为[r],第[i]只蝙蝠在[t]时间内位置更新公式为:

[fi=fmin+(fmax-fmin)α] (1)

速度更新公式为:

[vti=vt-1i+(xti-x*)fi] (2)

[lti=lt-1i+vti] (3)

式中:[fi]指蝙蝠频率;[α]是随机服从均匀分布随机变量;[x*]指前[i-1]次迭代之后得到的最优位置。在实现局部搜索时,通过目前局部搜索产生最优解,每只蝙蝠能够随机地产生全新位置。

[lnew=lold+εAt] (4)

式中:[ε]为随机参数,为了避免扩大蝙蝠位置,取值为[-1,1];[At]指[t]时间全部蝙蝠平均响度,在位置、速度迭代过程中不断更新,在发现食物后,降低响度,提高脉冲频率:

[Ai+1i=εAti] (5)

[rt+1i=r0i[1-exp(-kt)]] (6)

因为蝙蝠算法的资源调度效率比其他智能算法更优,所以在云计算资源调度分配中使用蝙蝠算法,使云计算中资源分配不均的问题得到解决,使资源分配效率得到提高。

1.2  云计算资源模型

在解决云计算关键问题中,实现云计算资源调度为重点,云计算资源调度要考虑虚拟节点完成时间、虚拟节点网络费用等,在多重解中寻找最小值。本文为了使问题研究更加方便,将上述要求表达为:

[minF=1≤i≤n1≤j≤m(xijtij+xijcij+xijsij)] (7)

式中:[min F]指云计算环境中实现完成资源分配时的最小函数值;[i]表示虚拟节点数目;[j]表示资源数目;[xij]表示[i]在使用[j]资源;[tij]指[xij]的使用时间;[cij]表示[xij]使用的网络费用;[sij]指[xij]占据的网络带宽资源[3]。

2  云计算资源的分配

2.1  任务划分与蝙蝠个体编码

在现代云计算环境中,谷歌公司提出的MapReduce调度机制在各平台中广泛使用,对大规模并行任务进行处理,Map过程为使大任务分解为多个子任务实现处理,任务划分的主要的目的就是将处理机通信开销进行消除,一般要求最大并行化,任務关联比较小。

在使用蝙蝠算法实现任务调度算法处理过程中,要实现任务划分和蝙蝠个体的编码[4]。使用直接编码实现蝙蝠个体编码,也就是解决问题要对蝙蝠个体位置与速度直接编码;另外,还能够通过间接编码的方式实现。通过资源?任务间接编码等方式与所有子任务的占据资源、子任务数量和编码长度相关。以此表示,每个编码后蝙蝠个体和任务分配策略相互对应。

假如任务数目设置为[n],资源数量为[m],每个任务根据相应的规则划分成为多个子任务,任务被划分成为子任务总数比计算资源总数要大[5],编码子任务的公式为:

[s[i,j]=k=0isn(k)+j] (8)

式中[sn(k),  k=0,1,2,…,n]指第[k]个任务被划分为子任务的数目,并且规定[sn(0)=0]。本文使用顺序编码的方式,也就是编码根据任务顺序开展,第[i]个任务中第[j]个子任务号为[s[i,j]]。

2.2  资源分配调度框架

资源调度框架如图1所示,其中,用户终端agent的主要目的就是对本地用户行为信息进行收集,之后上传各种服务提供商SaaS中用户行为数据分析模块。用户行为数据分析模块利用用户提交任务与对人物结果查看的行为,实现历史数据的统计和分析,使用相应分布模型针对用户时间片断[Ts]中工作状态与心理预期任务定性刻画时间。

用户行为规律数据根据服务类型Cluster化,使用唯一服务类别编码,在云计算综合控制中心策略管理模块中综合控制。任务调度模块接收任务管理模块请求之后,以服务编码对目前时间片断[Ti]资源分配查找,实现资源的动态分配。本文用户行为信息收集和分析在用户终端与SaaS服务端实现,计算振荡在各SaaS区域中限制,计算资源损耗与网络带宽可控[6]。

2.3  云任务的调度步骤

在云任务调度环境中,使用蝙蝠算法实现调度的步骤为:

1) 对用户所提交任务进行接收,并且使任务划分成为[sn(k)]个子任务,所有子任务的规模相同,实现子任务蝙蝠种群的生成。

2) 蝙蝠种群初始化过程中的蝙蝠脉冲频率[fi]与位置[xi],对脉冲频率范围、频度增加系数、最大迭代数与音强衰减系数[α]进行搜索。

3) 对目前任务优先权进行计算,并且使任务根据优先权的降序进行排序,对任务进行编码,实现蝙蝠飞行速度的计算和空间位置的更新。

4) 产生随机数[β]。假如[β>R(i)],那么通过目前最佳解集中对解选择,在最佳解选择附近构成局部解,利用随机飞行产生全新解;假如[β

5) 判断是否满足终止条件,如果满足,进入到下一步,否则转入步骤3),进入到下一次的搜索。

6) 实现全局最优解的输出。

其中:[R(i)],[f(xi)],[A(i)]指第[i]只蝙蝠发射速度、目前位置目标函数解、脉冲响度。

3  仿真性能和分析

3.1  仿真环境

采用C++开发仿真平台,平台要模拟不同数量的服务器数据中心,而且对不同特征虚拟主机进行随机模拟,在服务器中调度。服务器数量一般设置为20~100,对大量服务器数据中心管理比较复杂,以此能够使可行解决方案分簇为小规模集群,使管理更加方便,并且使可扩展性得到提高。

为全部服务器赋予不同的CPU频率,其中,虚拟主机频率能够在需要的频率资源上下限变化。仿真平台能够改建NSGA?Ⅱ,并且实现上述模型的目标函数。决策变量[fij]指实数编码,二进制编码[7]表示为[xij]。为了对仿真实验结果进行分析,进行以下假设:

1) 全部服务器都能够以连续、平稳的频率运行DVFS技术。

2) 在服务器全负载状态中,静态固有能量消耗占据总能耗60%。

3) 电路中单位势差能够产生一个单位CPU频率,对此假设数据改变,不会影响到仿真实验结果[8]。

NSGA?Ⅱ最大进化代数设置为250代,针对每组参数,在仿真运行后使仿真结果为平均值。NSGA?Ⅱ的参数和设置见表1。

3.2  仿真性能和分析

图2为不同规模数据中心,应用运行虚拟主机,能够满足服务器数量变化需求。图2表示在虚拟主机数量不断增加的过程中,曲面平缓上升[9]。

图3为全部服务器中虚拟主机的动态总能耗。通过图3可知,在虚拟主机数量不断增加的过程中,动态能耗曲面平稳上升,表示在服务器数量与虚拟主机不断增加的过程中,也就是在解决复杂问题的过程中能够控制动态能量。

图4为服务器总利用率,曲面为上下交替情况[10]。

图5为基于开关机代价的目标函数,即生成虚拟资源分配方案过程中的开关服务器代价[11]。在调度执行虚拟机主机数据不断增加与数据中心规模不断增大的过程中,问题复杂度也在不断增加,其所产生的开关机代价也在不断增大[12]。而本文设计的策略能够使服务器开关机代价得到降低。在虚拟机执行与调度的过程中,能够开关少量服务器。由于此策略并没有改变数据中心动态,所以将降低服务器开关代价作为优化目标[13?14]。表2~表4展现了本文方法在种群数目不同,收敛稳定性与精度均有所提高,由于云计算资源量比较大,所以模拟种群的数量就是云计算资源的数量,能够为云计算资源调度算法提供參考[15]。

4  结  语

本文基于蝙蝠算法,改善局部、全局的搜索能力,能够在云环境中快速定位可提供的有效资源,在保证性能的基础上,提出了高能耗虚拟机资源的分配策略,使运行数据中心能耗降低。通过仿真实验结果显示,本文算法能够使资源分配问题得到解决,使算法分配效率得到提高。

参考文献

[1] 温有奎,温浩,乔晓东.让知识产生智慧:基于人工智能的文本挖掘与问答技术研究[J].情报学报,2019(7):722?730.

[2] 孙毅.基于云计算平台的神经网络研究[J].科学与信息化,2017,21(9):28?30.

[3] 李茂毅.基于云计算的人工智能探讨[J].当代教育实践与教学研究,2018(1):9.

[4] 沈向洋.微软人工智能:增强人类智慧[J].软件和集成电路,2017,26(6):19?21.

[5] 志刚.人工智能即服务:当人工智能遇到云计算[J].大众科学,2018,15(7):44?45.

[6] 刘航波,詹磊.大数据、云计算、人工智能在公共资源交易领域的应用[J].中国招标,2017,16(48):20?21.

[7] 侯枫,郑媛媛.基于3G无线通信网络与云计算平台的软件下载系统研究[J].现代电子技术,2017,40(3):27?29.

[8] 刘少楠.基于Hadoop云存储架构的教育资源管理优化技术研究[J].现代电子技术,2019,42(16):136?139.

[9] 赵卫中,马慧芳,傅燕翔,等.基于云计算平台Hadoop的并行k?means聚类算法设计研究[J].计算机科学,2011,38(10):166?168.

[10] ANIL R, DUNNING T, FRIEDMAN E. Mahout in action [M]. USA: Manning Publications Co., 2011.

[11] 邵泽云,刘正岐.云计算关键技术研究[J].信息安全与技术,2014,5(4):24?25.

[12] 汪京坪.基于大数据结合云计算的人工智能创新发展[J].电子技术与软件工程,2018(20):242.

[13] 张婧宇.大数据时代人工智能的创新与发展研究[J].数码设计,2018(8):4.

[14] 谢晓广.浅析大数据时代背景下人工智能在计算机网络技术中的应用[J].科学技术创新,2019(5):96?97.

[15] 涂俊英,李志敏.云计算下非结构化大数据存储系统设计[J].现代电子技术,2018,41(1):173?177.

作者简介:林晓农(1970—),男,福建惠安人,硕士研究生,高级工程师,研究方向为物联网、人工智能、机器学习。

猜你喜欢

资源分配仿真云计算
新研究揭示新冠疫情对资源分配的影响 精读
一种基于价格竞争的D2D通信资源分配算法
云环境下公平性优化的资源分配方法
Buck开关变换器的基本参数设计及仿真分析
试析PLC控制下的自动化立体仓库仿真情况分析
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析
基于云计算的移动学习平台的设计
实验云:理论教学与实验教学深度融合的助推器
云计算中的存储虚拟化技术应用