CN111966447B - 一种基于双排列遗传算法的容器放置方法 - Google Patents
一种基于双排列遗传算法的容器放置方法 Download PDFInfo
- Publication number
- CN111966447B CN111966447B CN202010649709.XA CN202010649709A CN111966447B CN 111966447 B CN111966447 B CN 111966447B CN 202010649709 A CN202010649709 A CN 202010649709A CN 111966447 B CN111966447 B CN 111966447B
- Authority
- CN
- China
- Prior art keywords
- container
- virtual machine
- allocation
- double
- individuals
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 41
- 230000002068 genetic effect Effects 0.000 title claims abstract description 29
- 238000005265 energy consumption Methods 0.000 claims abstract description 30
- 210000000349 chromosome Anatomy 0.000 claims abstract description 23
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 238000013468 resource allocation Methods 0.000 claims abstract description 7
- 230000035772 mutation Effects 0.000 claims description 11
- 238000010187 selection method Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000014759 maintenance of location Effects 0.000 claims 1
- 238000002955 isolation Methods 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000005012 migration Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004134 energy conservation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Physiology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Genetics & Genomics (AREA)
- General Factory Administration (AREA)
Abstract
本发明公开了一种基于双排列遗传算法的容器放置方法,其过程如下:首先定义问题和数据中心的能耗模型,以及容器调度的优化目标;其次根据模型以及调度优化目标进行种群初始化,对表示容器和虚拟机分配的个体进行双排列染色体编码;并通过计算个体的适应度值进行遗传操作,产生新的个体和种群;最后通过不断的更新个体和种群获得最优的后代,并通过解码得出最优的容器放置策略。该发明根据容器云资源分配的需求,将容器合理地分配到虚拟机,虚拟机合理地映射到服务器,并在保持云服务质量的同时,通过容器分配、资源配置等来对云计算中心的能耗进行优化。
Description
技术领域
本发明涉及云服务器能耗优化领域,特别涉及一种基于双排列遗传算法的容器放置方法。
背景技术
近年来,云计算在业界内的应用已经越来越广泛,其运作模式由最开始的基础架构即服务IaaS(Infrastructure as a Service)、平台即服务PaaS(Platform as aService)、软件即服务SaaS(Software as a Service),到现在增加的容器即服务CaaS(Container as a Service)都极大地促进了云计算的发展。容器的出现实现了轻量级的环境和性能的隔离、快速灵活的部署和细粒度的资源共享,使得云计算能够在更多的领域进行应用。同时,由于容器技术无需虚拟化硬件以及完整的操作系统,“敏捷”和“高性能”成为了容器相较于虚拟机最大的优势。特别是在CaaS架构下,容器的使用对云数据中心的资源管理具有很重要的影响。
容器的发展极大地促进了云计算的应用领域的推广,但是由于规模效益带来的能耗问题也不容忽视。据统计,2010年位于全世界各地的数据中心产生的能耗已经占全球总能耗的1.5%;在美国,这个数值达到了2.2%,一个大型的数据中心所产生的电力消耗与一座中等城市的家庭电力消耗相当。实时视频流、在线游戏以及移动设备已经占到所有数据量的60%,而2020年这一数字上升到80%。同时,相关的研究报告指出,预计到2025年,全球的数据中心总共的设备将达到500亿,产生的能耗预计会达到总量的20%。大规模的电力消耗极大地限制了云计算的发展,因此如何通过更有效的资源配置以及调度策略来减少能源的消耗,是一个值得研究的课题。虽然目前国内外已有大量学者开始从服务器节点管理(主要通过监控服务器负载变化来进行动态电压频率调整DVFS或者减少空闲主机方式来降低能耗)、任务调度(主要通过将任务分配到不同计算单元来优化任务完成时间和系统能耗)以及虚拟机调度(主要通过在保证系统可靠性以及服务质量的同时对虚拟机进行部署和迁移来降低系统的能耗)三方面研究关于如何降低数据中心能耗的问题,但是随着容器技术的发展、普及和应用,容器化的云服务也成为了云数据中心内被调度的目标,因此研究如何通过优化容器调度来降低数据中心能耗实现节能的目的也有重要的意义。
容器的发展提升了云计算的弹性和灵活性。但是由于容器在资源隔离、核心技术上的不同,传统的任务或虚拟机调度方法应用到容器上非常局限。相比于服务器整合、虚拟机调度和任务调度,容器虽然可以实现更细粒度的调度,但是由于容器在资源隔离、核心技术上的不同,容器隔离的不完全也给容器的资源调度带来了一系列的问题。如传统的虚拟机调度程序将虚拟机视为有下层虚拟机管理程序维护的标准化和独立单元,然而容器间彼此更近,存在复杂的依赖关系,意味着隔离没有虚拟机强。此外调度程序为了保持负载平衡,也会导致容器内部之间的资源争用,因此如何改进容器化后云服务的调度程序,就成为了一个问题。目前kubernetes、Mesos等容器编排系统被广泛应用,不过它们所用的调度方法还处于初级阶段,对于业务数据量比较庞大的场景时用户需求很难满足。
在容器节能方面的调度,现有的研究主要是基于容器的迁移和放置实现。Shahin等人提出数据中心基于容器的能耗优化的调度,提出的调度方法采用处理整型线性/二次规划优化问题,同时为了减少算法的复杂度和计算时间,提出了基于分割解的算法和回调方法。其提出的方案有效性尚未得到评估。DONG等人提出了基于贪婪算法的容器放置策略,将容器分配到能耗最低且满足资源限制的主机,但是其采用的方法忽略了主机的负载均衡问题。容器调度与其他维度的调度如虚拟机调度、任务调度相比具有更细粒度的调度。不过针对容器的性能研究还比较少,所以对容器云环境实现节能目的是现今云计算领域的重点方向。对于一些容器编排系统本身具有默认的调度策略,如Docker Swarm是当前广泛应用的集群管理工具,Swarm有三种算法来安排集群中的容器:Spread、Binpack和Random。这三种算法在调度容器时存在不同的缺点。例如在Spread算法中可能存在存储空间碎片,无法充分利用集群的空间;Binpack算法进行集中分配,被认为过度处理节点。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种基于双排列遗传算法的容器放置方法,该方法能根据容器云资源分配的需求,将容器合理地分配到虚拟机,虚拟机合理地映射到服务器,并在保持云服务质量的同时,对云计算中心的能耗进行优化。
本发明的目的通过以下的技术方案实现:
一种基于双排列遗传算法的容器放置方法,包括以下步骤:
第一步骤、定义问题以及数据中心能耗模型;
第二步骤、定义容器调度目标;
第三步骤、初始化种群,根据模型以及调度优化目标对容器、虚拟机的分配进行染色体编码;
第四步骤、计算适应度函数,获得个体的适应度值;
第五步骤、进行选择操作:根据每个个体的适应度值,从种群中选择适应度值高的个体,复制到下一代种群,同时在剩余个体中通过选择相应的父代染色体进行遗传操作,以便产生新的个体;
第六步骤、进行交叉操作:根据不同的交叉方法分别对代表容器分配和虚拟机分配的父代染色体进行交叉;
第七步骤、进行变异操作:通过不同的变异方法分别对代表容器分配和虚拟机分配的父代染色体进行变异,产生新的个体,形成新的种群;
第八步骤、从第四步骤开始重复执行,直到满足终止条件输出最优的容器分配策略。
所述第一步骤,具体为:若将问题定义为给定容器集{1,…,N},要求基于容器云的资源分配将容器分配给虚拟机集合{1,…,L},并将虚拟机分配给物理机集合{1,…,M},目标是使所有物理机的聚合功耗Pdc最小;则数据中心的能耗模型被定义为
其中Pk表示物理机k的功耗;
Ucpu(k)表示服务器k的CPU利用率,为服务器k在利用率为U1时的功耗,由于资源的限制,式(1)和(2)还需满足约束条件
其中其分别表示容器和虚拟机只能被分配一次;
此外对于容器,认为应用程序和容器之间是一对一映射,也就是说,这里定义容器资源需求范围介于1到VM类型数量的容量。由于两级分配模型主要反映在资源利用率上,因此虚拟机的CPU利用率和内存利用率通过容器的CPU和内存总量以及虚拟机的资源总量计算,计算方式如下:
由此可得:
所述第二步骤,具体为:由于容器调度的最终目的是减少数据中心的能耗,因此将调度目标定义为:
同时满足约束条件:公式(3)、(4)。
第三步骤中,所述对容器、虚拟机的分配进行染色体编码,具体为:将表示容器分配以及虚拟机分配的个体的表现形式表示为双排列的染色体,其中一个列表表示容器的分配策略,另一个列表表示虚拟机的分配策略;在容器分配列表中,列表的每一个条目表示容器的索引,其值与索引号对应,在种群初始化时可随机排列容器的索引,其列表长度代表容器的数量;在虚拟机分配列表中,列表的每个条目表示一个虚拟机类型,其值取自虚拟机类型,虚拟机分配排列长度等于虚拟机的数量。
所述第五步骤,具体为:首先采用精英选择法,选择适应度值最高的前CN1个个体保留到下一代中,避免最优的个体发生变化;其次使用锦标赛选择法,设置大小为CN2,即随机选择CN2个个体,并对这些个体的适应度值进行排序并选取其中值最高的个体进行遗传操作。
所述第六步骤,具体为:对于容器分配列表,由于表示容器分配列表的每一项即索引值是唯一的,因此对容器分配的父代染色体采用顺序交叉法进行交叉操作;而对于虚拟机分配列表,由于列表的每一项表示的是虚拟机类型,其值有可能存在重复,因此对虚拟机分配的父代染色体采用单点交叉法进行交叉操作。
所述第六步骤,具体为:对于容器分配的父代染色体,采用的是交换变异;对于虚拟机分配的父代染色体,采用的单点变异。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明为了实现容器集群中的性能优化,通过对遗传算法进行改进,结合能耗模型,提出了一种基于双排列遗传算法的容器放置方法;;本发明根据容器云资源分配的需求,将容器合理地分配到虚拟机,虚拟机合理地映射到服务器,并在保持云服务质量的同时,通过容器分配、资源配置等来对云计算中心的能耗进行优化。
2、在本发明所提出的双排列遗传算法中,算法将容器分配和虚拟机分配关系转化为染色体编码,设计了能耗的适应度函数,并在调度算法中考虑了负载的阈值,以避免造成负载失衡。
3、本发明所提的双排列遗传算法有效减少了容器和虚拟机在运行时的数量以及容器和虚拟机因为满足资源需求而进行的迁移,大量节约了算法的执行时间。
附图说明
图1是本发明所述一种基于双排列遗传算法的容器放置方法的流程图;
图2为实施例中四种容器放置方法的能耗对比图。
图3为实施例中四种容器放置方法下运行主机数量与容器数量关系图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
一种基于双排列遗传算法的容器放置方法,包含以下步骤:
(1)定义问题:若将问题定义为给定容器集{1,…,N},要求基于容器云的资源分配将容器分配给虚拟机集合{1,…,L},并将虚拟机分配给物理机集合{1,…,M},目标是使所有物理机的聚合功耗Pdc最小。则数据中心的能耗模型被定义为
其中Pk表示物理机k的功耗;
Ucpu(k)表示服务器k的CPU利用率,为服务器k在利用率为U1时的功耗,由于资源的限制,式(1)和(2)还需满足约束条件
其中其分别表示容器和虚拟机只能被分配一次。
此外对于容器,认为应用程序和容器之间是一对一映射,也就是说,这里定义容器资源需求范围介于1到VM类型数量的容量。由于两级分配模型主要反映在资源利用率上,因此虚拟机的CPU利用率和内存利用率通过容器的CPU和内存总量以及虚拟机的资源总量计算,计算方式如下:
由此可得:
(2)定义调度目标:由于容器调度的最终目的是减少数据中心的能耗,因此可以将调度目标定义为:
同时满足约束条件(3)(4)。
(3)初始化种群:在本发明所提出的方法中,其将个体的表现形式表示为双排列的染色体,其中一个列表表示容器的分配策略,另一个列表表示虚拟机的分配策略。在容器分配列表中,列表的每一个条目表示容器的索引,其值与索引号对应,在种群初始化时可随机排列容器的索引,其列表长度代表容器的数量;在虚拟机分配列表中,列表的每个条目表示一个虚拟机类型,其值取自虚拟机类型,虚拟机分配排列长度等于虚拟机的数量。
(4)选择操作:本方法首先采用精英选择法,选择适应度值最高的前CN1个个体保留到下一代中,避免最优的个体发生变化。其次使用锦标赛选择法,设置大小为CN2,即随机选择6CN2个个体,并对这些个体的适应度值进行排序并选取其中值最高的个体进行遗传操作。
(5)交叉操作:由于表示容器分配列表的每一项即索引值是唯一的,因此在本方法中采用顺序交叉法进行交叉操作;而对于虚拟机分配列表,由于列表的每一项表示的是虚拟机类型,其值有可能存在重复,因此本发明采用的是单点交叉。
(6)变异操作:同样的,由于表示容器分配列表的每一项即索引值是唯一的,而表示虚拟机列表的每一项表示的是虚拟机类型,其值有可能存在重复,本发明对于容器分配列表,采用的是交换变异;对于虚拟机分配列表采用的单点变异。
(7)从第(4)步开始重复执行,直到满足终止条件输出最优的容器分配策略。
为了验证本发明所提出的基于双排列遗传算法的容器放置方法的有效性,我们选用了三种不同的容器放置方法(FirstFit,MostFull与GA算法)与所提方法(DPGA)进行对比分析。
为了模拟异构云数据中心,本实例采用了不同型号的服务器,相关的服务器配置如表-1所示。
表-1服务器配置表
同时,对于虚拟机的类型,本实例设置了以下配置和数量,如表2所示:
表-2虚拟机类型及配置表
对于容器,本实例为了对比在不同规模下算法的性能,将容器的数量设为1000-10000,其余配置如表-3所示:
表-3容器配置
遗传算法相关的参数设置在表-4中,其中精英选择策略的Size为10即选取适应度值为前10的个体保留到下一代中。锦标赛选择策略Size为6。交叉百分比为80%,变异百分比为10%。种群大小为100。
表-4双排列遗传算法相关参数
参数 | 描述 |
交叉概率CP | 80% |
变异概率MP | 10% |
选择策略 | 锦标赛选择size=6 |
精英选择策略 | 排名前10的个体 |
迭代次数 | 200 |
种群数 | 100 |
由于在实验过程中虚拟机的启停时间会影响评定服务质量的指标SLA违反率,因此本实例中设定容器的启停延迟时间为0.4s,虚拟机的启停延迟时间为100s。此外,设置UL(Under-Load,欠载值)为70%,低于这个负载阈值,会对容器进行合并或将此这个主机作为迁移的对象。其次设置OL(Over-Load,过载值)为80%,高于这个阈值,主机过载,需要进行容器迁移。本实例是在CloudSim上进行模拟实验,其中容器负载数据为24小时内获取的数据,实验主要分析了调度算法在云数据中心总能耗、5分钟内平均运行主机数量两方面的结果,其实验结果如图2,图3所示。
如图2所示,其选取了容器数量为1000,2000,5000,10000时的各个调度算法的能耗对比。在容器数量为1000时,DPGA的总体能耗相对FirstFit、MostFull和GA只有小幅度的降低优化,分别为10%、14.8%、2%,由于容器数量较少,容器迁移发生的次数相对较少。在容器数量为2000时,提出的算法相比FirstFit、MostFull和GA算法相比降低了5.5%、9.6%和1.4%。容器数量为5000时,DPGA相比后者降低了10.7%、22.2%和4.3%。在大规模容器集群(容器数量为10000)时相对FirstFit、MostFull和GA算法降低了10.6%、10.5%和4.6%。在上述的实验环境中,通过对比,可以得出在中等规模(容器数量为5000)时,DPGA的优化效果最佳。而DPGA相对GA有较小的改进,是由于采用了不同的遗传操作包括变异和交叉,提出的方法考虑到了虚拟机分配表,相对传统的遗传算法,随着容器数量的增多,虚拟机数量也相应的增多,DPGA算法相对的性能更好。
如图3所示,其对比了运行主机数量随容器数量的变化。结果表明,提出的DPGA算法让服务器运行的数量减少,与FirstFit、MostFull和GA相比在小规模(容器数量1000-2000)条件下减少12.5%、12.5%、5%,在中等规模下(容器数量5000)减少10%、15%、10%,在大规模(容器数量为10000)条件下减少8%、13%和6%。因此可以发现在容器数量为10000时,DPGA主机数量相比其他三个方法有明显的差别,说明其能更有效的减少运行主机的数量,进而减少云数据中心的能耗。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.一种基于双排列遗传算法的容器放置方法,其特征在于,包括以下步骤:
第一步骤、定义问题以及数据中心能耗模型;
第二步骤、定义容器调度目标;
第三步骤、初始化种群,根据模型以及调度优化目标对容器、虚拟机的分配进行染色体编码;
第四步骤、计算适应度函数,获得个体的适应度值;
第五步骤、进行选择操作:根据每个个体的适应度值,从种群中选择适应度值高的个体,复制到下一代种群,同时在剩余个体中通过选择相应的父代染色体进行遗传操作,以便产生新的个体;
第六步骤、进行交叉操作:根据不同的交叉方法分别对代表容器分配和虚拟机分配的父代染色体进行交叉;
第七步骤、进行变异操作:通过不同的变异方法分别对代表容器分配和虚拟机分配的父代染色体进行变异,产生新的个体,形成新的种群;
第八步骤、从第四步骤开始重复执行,直到满足终止条件输出最优的容器分配策略;
所述第一步骤,具体为:若将问题定义为给定容器集{1,…,N},要求基于容器云的资源分配将容器分配给虚拟机集合{1,…,L},并将虚拟机分配给物理机集合{1,…,M},目标是使所有物理机的聚合功耗Pdc最小;则数据中心的能耗模型被定义为
其中Pk表示物理机k的功耗;
Ucpu(k)表示服务器k的CPU利用率,为服务器k在利用率为U1时的功耗,由于资源的限制,式(1)和(2)还需满足约束条件
其中其分别表示容器和虚拟机只能被分配一次;
此外对于容器,认为应用程序和容器之间是一对一映射,也就是说,这里定义容器资源需求范围介于1到VM类型数量的容量;由于两级分配模型主要反映在资源利用率上,因此虚拟机的CPU利用率和内存利用率通过容器的CPU和内存总量以及虚拟机的资源总量计算,计算方式如下:
由此可得:
2.根据权利要求1所述基于双排列遗传算法的容器放置方法,其特征在于,所述第二步骤,具体为:由于容器调度的最终目的是减少数据中心的能耗,因此将调度目标定义为:
同时满足约束条件:公式(3)、(4)。
3.根据权利要求1所述基于双排列遗传算法的容器放置方法,其特征在于,第三步骤中,所述对容器、虚拟机的分配进行染色体编码,具体为:将表示容器分配以及虚拟机分配的个体的表现形式表示为双排列的染色体,其中一个列表表示容器的分配策略,另一个列表表示虚拟机的分配策略;在容器分配列表中,列表的每一个条目表示容器的索引,其值与索引号对应,在种群初始化时可随机排列容器的索引,其列表长度代表容器的数量;在虚拟机分配列表中,列表的每个条目表示一个虚拟机类型,其值取自虚拟机类型,虚拟机分配排列长度等于虚拟机的数量。
4.根据权利要求1所述基于双排列遗传算法的容器放置方法,其特征在于,所述第五步骤,具体为:首先采用精英选择法,选择适应度值最高的前CN1个个体保留到下一代中,避免最优的个体发生变化;其次使用锦标赛选择法,设置大小为CN2,即随机选择CN2个个体,并对这些个体的适应度值进行排序并选取其中值最高的个体进行遗传操作。
5.根据权利要求1所述基于双排列遗传算法的容器放置方法,其特征在于,所述第六步骤,具体为:对于容器分配列表,由于表示容器分配列表的每一项即索引值是唯一的,因此对容器分配的父代染色体采用顺序交叉法进行交叉操作;而对于虚拟机分配列表,由于列表的每一项表示的是虚拟机类型,其值有可能存在重复,因此对虚拟机分配的父代染色体采用单点交叉法进行交叉操作。
6.根据权利要求1所述基于双排列遗传算法的容器放置方法,其特征在于,所述第六步骤,具体为:对于容器分配的父代染色体,采用的是交换变异;对于虚拟机分配的父代染色体,采用的是单点变异。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649709.XA CN111966447B (zh) | 2020-07-08 | 2020-07-08 | 一种基于双排列遗传算法的容器放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010649709.XA CN111966447B (zh) | 2020-07-08 | 2020-07-08 | 一种基于双排列遗传算法的容器放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111966447A CN111966447A (zh) | 2020-11-20 |
CN111966447B true CN111966447B (zh) | 2024-04-09 |
Family
ID=73360602
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010649709.XA Active CN111966447B (zh) | 2020-07-08 | 2020-07-08 | 一种基于双排列遗传算法的容器放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966447B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095356B (zh) * | 2021-11-16 | 2024-04-19 | 北京中科晶上科技股份有限公司 | 一种结点任务策略的实时配置方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242187A (zh) * | 2018-09-11 | 2019-01-18 | 摩佰尔(天津)大数据科技有限公司 | 车辆作业调度方法 |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9984198B2 (en) * | 2011-10-06 | 2018-05-29 | Sequenom, Inc. | Reducing sequence read count error in assessment of complex genetic variations |
US9710451B2 (en) * | 2014-06-30 | 2017-07-18 | International Business Machines Corporation | Natural-language processing based on DNA computing |
-
2020
- 2020-07-08 CN CN202010649709.XA patent/CN111966447B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109242187A (zh) * | 2018-09-11 | 2019-01-18 | 摩佰尔(天津)大数据科技有限公司 | 车辆作业调度方法 |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 |
Non-Patent Citations (2)
Title |
---|
基于遗传算法的Docker集群调度策略;林伟伟,等;华南理工大学学报(自然科学版);第46卷(第3期);127-133 * |
容器云中基于改进遗传算法的资源分配策略;张松霖,等;计算机测量与控制;第29卷(第1期);168-173 * |
Also Published As
Publication number | Publication date |
---|---|
CN111966447A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107491341B (zh) | 一种基于粒子群优化的虚拟机分配方法 | |
CN110096349B (zh) | 一种基于集群节点负载状态预测的作业调度方法 | |
CN110489229B (zh) | 一种多目标任务调度方法及系统 | |
WO2023184939A1 (zh) | 基于深度强化学习的云数据中心自适应高效资源分配方法 | |
CN108182115A (zh) | 一种云环境下的虚拟机负载均衡方法 | |
CN102546700B (zh) | 一种资源调度以及资源迁移的方法及设备 | |
EP2541477A1 (en) | Method and system for reactive scheduling | |
CN106951059A (zh) | 基于dvs与改进蚁群算法的云数据中心节能方法 | |
CN104618269A (zh) | 基于能耗要求的云系统利用率最大化资源分配方法 | |
CN109447264B (zh) | 云计算环境下基于vham-r模型的虚拟机放置遗传优化方法 | |
CN111176784B (zh) | 一种基于极限学习机和蚁群系统的虚拟机整合方法 | |
CN115220900B (zh) | 一种基于作业功耗预测的节能调度方法及系统 | |
CN114356543A (zh) | 一种基于Kubernetes的多租户机器学习任务资源调度方法 | |
CN111966447B (zh) | 一种基于双排列遗传算法的容器放置方法 | |
CN112559122A (zh) | 一种基于电力专用安防设备的虚拟化实例管控方法及系统 | |
Wu et al. | A novel task-scheduling algorithm of cloud computing based on particle swarm optimization | |
Hussin et al. | Efficient energy management using adaptive reinforcement learning-based scheduling in large-scale distributed systems | |
Zhang et al. | An energy-aware host resource management framework for two-tier virtualized cloud data centers | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
Zhang et al. | A dynamic placement policy of virtual machine based on MOGA in cloud environment | |
Tong et al. | Energy and performance-efficient dynamic consolidate vms using deep-q neural network | |
CN113296893B (zh) | 一种基于混合正弦余弦粒子群优化算法的云平台低资源损耗虚拟机放置方法 | |
Wang et al. | Energy-aware task scheduling of mapreduce cluster | |
CN113010319A (zh) | 混合启发式规则和遗传算法的动态工作流调度优化方法 | |
Barzegar et al. | Heuristic algorithms for task scheduling in Cloud Computing using Combined Particle Swarm Optimization and Bat Algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |