一种基于改进模拟退火算法的混合云任务调度方法与流程

文档序号:37652472发布日期:2024-04-18 20:26阅读:59来源:国知局
一种基于改进模拟退火算法的混合云任务调度方法与流程

本发明涉及云计算,尤其涉及为一种基于改进模拟退火算法的混合云任务调度方法。


背景技术:

1、在大数据、人工智能、物联网的时代背景下,云计算成为企业、政府部门和个人不可获取的一项技术,也逐渐发展成为一门科学。在传统云计算领域中,可分为公有云和私有云,公有云在弹性伸缩、资源扩展和资源利用率方面有着突出的优势,而私有云的优势在于安全、稳定、可靠,混合云结合了二者的优势,已经成为各企业级平台和应用主流的部署方式。在公有云和私有云资源池的虚拟机中,如何设计一种方法,从而进行云任务的调用并实现虚拟机资源的负载均衡是一项十分关键的问题。

2、本方法提出了一种混合云场景下基于改进模拟退火算法的云任务调度和负载均衡方法,利用该方法可以对混合云资源池中各虚拟机的资源进行合理配置,使cpu、gpu和内存的资源利用率最大化,提升虚拟机的资源利用率。

3、专利cn109542619a提出了一种蚁群算法、轮盘赌算法和模拟退火算法相结合的云计算负载均衡和任务调度方法,该专利运用贪心算法将蚁群分配到各个虚拟机中并计算云平台中虚拟机资源和任务的匹配程度,再利用轮盘赌算法,依据计算出的概率统计选择下一个虚拟机,从而进一步计算局部优解。最后使用传统模拟退火算法进行迭代,逐步更新最优解直到最后的整体最优解。专利cn112954012b提出了一种基于改进模拟退火算法的任务调度方法,对模拟退火算法的接受概率进行改进,并通过改进后的模拟退火算法不断降温来得到任务调度函数的最优解。此类方法的主要问题有:

4、(1)统一对所有虚拟机进行处理,没有对混合云场景中的私有云和公有云资源池进行区分,也没有进行资源池任务的权重处理,导致最后资源调度的结构可能不准确。

5、(2)此类方法的运算手段涉及虚拟机的多种资源信息,并且内部包含许多需要人为调节的参数,时间复杂度较高,运算效率较低。


技术实现思路

1、针对现有技术存在的不足,本发明目的是提供一种基于改进模拟退火算法的混合云任务调度方法,以期实现在混合云中公有云和私有云资源池的虚拟机整体资源合理配置并使利用率最大化。

2、为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于改进模拟退火算法的混合云任务调度方法,包括以下步骤:

3、步骤1、将混合云中公有云和私有云资源池的虚拟机和虚拟机中运行的任务进行单独划分并记录;

4、步骤2、分别跟进虚拟机的cpu、gpu、内容和网络信息,计算单台虚拟机中的任务预期执行时间;

5、步骤3、依靠虚拟机的总任务预期执行时间构建模拟退火算法的主目标函数;

6、步骤4、计算混合云资源池的平均资源负载情况,并加入随机森林算法得出公有云和私有云各自的权重系数;

7、步骤5、根据随机森林计算出的混合云场景下虚拟机的平均负载情况,对传统模拟退火算法的接受概率公式进行改进,实现资源池中虚拟机资源的负载均衡;

8、步骤6、设置初始温度,运行改进后的模拟退火算法,不断迭代寻找出负载均衡和任务调度的最佳方案。

9、进一步地,所述步骤1中还包括:公有云虚拟机列表、公有云任务列表、私有云虚拟机列表和私有云任务列表,所述公有云虚拟机列表为v=[v1,v2,v3...,vm],所述公有云任务列表为t=[t1,t2,t3...,tn];

10、其中,m为公有云虚拟机数量,n为公有云任务数量;

11、所述私有云虚拟机列表为v′=[v1′,v′2,v′3...,v′m′],所述私有云任务列表为t′=[t1′,t′2,t′3...,t′n′];

12、其中m′为私有云虚拟机数量,n′为私有云任务数量。

13、进一步地,所述步骤2中包括:分别设定公有云和私有云在单台虚拟机中任务的预期执行总时间,任务的运行时间主要由虚拟机中cpu、gpu和内存的硬件水平决定以及任务的总体复杂度决定,而任务的传输主要由资源池的网络质量决定和任务包的大小决定。

14、进一步地,所述步骤2中还包括:任务的总体复杂度公式和虚拟机硬件水平公式,所述任务的总体复杂度公式为:comi=oi*mi;

15、其中,oi表示任务中算法的时间复杂度,mi表示任务包所占用的空间;

16、所述虚拟机硬件水平公式为:p=a*core*cpu+b*ram+c*core′*gpu;

17、其中,cpu、gpu表示该虚拟机中单核cpu和gpu的算力,core和core′分别代表cpu和gpu核心数,ram表示内存大小,而a、b、c表示比例系数。

18、进一步地,所述步骤2中还设定公有云虚拟机中的任务预期执行时间公式、私有云虚拟机中的任务预期执行时间公式、单台公有云虚拟机中任务预期执行总时间公式和单台私有云虚拟机中任务预期执行总时间公式,所述公有云虚拟机中的任务预期执行时间公式为:

19、

20、其中,tt表示公有云虚拟机中的任务预期执行总时间,neti表示公有虚拟机vi的带宽;

21、所述私有云虚拟机中的任务预期执行时间公式为:

22、

23、其中,tt′表示私有云虚拟机中的任务预期执行总时间,neti′表示私有虚拟机vi的带宽。

24、进一步地,所述单台公有云虚拟机中任务预期执行总时间公式为:

25、

26、其中n为该公有云虚拟机中的总任务数;

27、所述单台私有云虚拟机中任务预期执行总时间公式为:

28、

29、其中,n′为该私有云虚拟机中的总任务数。

30、进一步地,所述步骤3中还包括:设定目标函数,在步骤2已分别得出私有云资源池和公有云资源池单台虚拟机的任务预期执行时间,进而可以分别计算出私有云资源池和公有云资源池的总执行时间;

31、所述公有云资源池中任务的总执行时间公式为:

32、

33、其中,m为公有云资源池中虚拟机的数量;

34、所述私有云资源池中任务的总执行时间公式为:

35、

36、其中,m′为私有云资源池中虚拟机的数量;

37、当私有云资源池中的任务和公有云资源池中的任务并行运算,总执行时间取公有云和私有云资源池任务执行时间的最大值,总执行时间为:

38、sum(tt)=max(p,p′);

39、在某些对运行时间要求不高或需要利用虚拟机空余时间进行其他额外任务时的特殊需求时,对公有云和私有云资源池任务数做串行运算,总时间为二者之和;

40、总执行时间为:sum(tt)=p+p′;

41、任务调度的目标是保证任务的总执行时间尽可能的小,因此将目标函数设定为:

42、

43、进一步地,所述步骤4中还包括:计算混合云资源池虚拟机的平均资源负载情况,资源池的负载情况主要由各虚拟机中cpu负载情况、gpu负载情况、内存负载情况共同构成,

44、所述公有云中某个虚拟机负载情况可以设定为:

45、l=m1cpu+m2ram+m3gpu;

46、其中,cpu、ram和gpu分别表示该虚拟机执行某项任务时cpu、ram和gpu所占的资源比例,m1、m2、m3分别为比例系数;

47、所述私有云中某个虚拟机的负载情况可以设定为:

48、l′=m1cpu′+m2ram′+m3gpu′;

49、混合云环境的所有资源池执行某项任务的平均负载为:

50、

51、其中,w1和w2为权重系数。

52、所述步骤5中还包括:对模拟退火算法中的接受概率进行改进;

53、公有云资源池中单个虚拟机与混合云资源池平均负载能力的差距为:diffl=|l-lavg|;

54、私有云资源池中单个虚拟机与混合云资源池平均负载能力的差距为:diffl′=|l′-lavg|;

55、平均差距为:

56、

57、可以推断出,ldiff_avg的值越小,混合云资源池中资源的分配越平均,达到负载均衡的概率越大,因此将原接受概率公式改为:

58、

59、以此来达到资源池中虚拟机资源的负载均衡。

60、进一步地,所述步骤6中还包括:设置改进模拟退火算法初始温度t,使用步骤3设定的目标函数f,产生一个初始解f1,接着算法内部会对当前的目标函数随机进行干扰,产生新的函数值f2;

61、接着根据步骤5中的公式p计算是否接受新函数值,若接受则将f2作为新解,并进一步迭代,降低温度,直到目标函数f值达到最小,即混合云资源池的所有虚拟机执行任务的预期时间达到最短,并且在模拟退火算法的中途加入随机森立模型;

62、反复迭代训练求出步骤4中w1和w2的权重比例系数,最终完成混合云环境下资源池虚拟机资源的分配。

63、本发明的有益效果:

64、本方案对模拟退火算法的接受概率公式进行改进,改进后的模拟退火算法能够进行混合云环境中资源池的任务调度和资源的负载均衡,解决了传统模拟退火算法在处理任务调度问题上只能在单一场景应用的问题。

65、本方案在模拟退火算法中引入随机森林模型,解决了公有云和私有云的权重占比需要人为设置的缺陷,整个方案中仅有温度需要人为设置,大大减少了传统方法中参数多、效率低的问题。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1