CN108897623B - 基于克隆选择算法的云计算资源分配方法 - Google Patents
基于克隆选择算法的云计算资源分配方法 Download PDFInfo
- Publication number
- CN108897623B CN108897623B CN201810717376.2A CN201810717376A CN108897623B CN 108897623 B CN108897623 B CN 108897623B CN 201810717376 A CN201810717376 A CN 201810717376A CN 108897623 B CN108897623 B CN 108897623B
- Authority
- CN
- China
- Prior art keywords
- antibodies
- distribution scheme
- antibody
- new
- antibody population
- 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
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (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)
- Peptides Or Proteins (AREA)
Abstract
本发明提供了一种基于克隆选择算法的云计算资源分配方法,包括:随机产生初始抗体种群,每个抗体均对应一种云任务分配方案;计算每种分配方案中每台虚拟机的执行时长,以及每种分配方案的总时长;对初始抗体种群中的每个抗体进行克隆并变异形成新抗体,计算每个新抗体对应的分配方案中每台虚拟机的执行时长以及该分配方案的总时长;将初始抗体种群中的抗体和克隆变异产生的新抗体合并形成一新抗体种群,对新抗体种群中的抗体进行时长升序排列,保留前M个抗体,作为初始抗体种群中的抗体;重复上述操作,从保留的前M个抗体中挑选出分配方案总时长最短的抗体。本方法对分配方案进行了优化,能够在更短的时间内完成所有任务,提高了执行效率。
Description
技术领域
本发明涉及云计算领域。更具体地说,本发明涉及一种基于克隆选择算法的云计算资源分配方法。
背景技术
云计算是一种通过互联网实现随时随地和按需访问的共享资源池的计算模式。云计算资源调度可以定义为在云计算环境下,根据一定的资源使用规则,在不同的用户任务之间进行资源分配的过程。现有技术中,已有学者提出顺序分配策略和贪心策略对资源进行分配,但上述两种方法也有各自的缺点。
顺序分配策略就是按任务的顺序来进行分配的策略,在这个方法中,假设有n个任务,m个虚拟机,那么按照1~n的任务顺序来将其一一分配给虚拟机,虚拟机也是按1~m的顺序来处理这些任务。若n>m,那么会产生所有的虚拟机都已被分配了任务的情况,此时便会重头开始分配,还是1~n的顺序。此方法的缺点也很明显,这种不关注各个虚拟机处理效率区别与每个任务大小程度不同的方法可能会导致效率低的虚拟机处理大型的任务,而效率高的虚拟机却被分配了小的任务,导致时间的浪费与成本的增大。
贪心策略的总体思想就是将最复杂的任务分配给速度最快的虚拟机。不失一般性,假设任务执行的时间主要受任务的指令长度(MI)和虚拟机的执行速度(MIPS)影响,用i表示任务,j表示虚拟机,那么矩阵time[i][j]即为i在j的执行时长,且time[i][j]=MI[i]/MIPS[j],并按照以下顺序进行操作:步骤一:排序:MI降序排列,MIPS升序排列;步骤二:初始化矩阵time[i][j];步骤三:执行贪心策略。具体来讲,将i=0的任务分配给列号最大即为m的虚拟机(m=vmNum-1)。如果此分配是最有的,则完成分配。否则将任务分配给使当前结果为最有的虚拟机。如果有多种分配方法都等得到最优,则将任务分配给运行任务最少的虚拟机,实现一种简单的负载均衡。在贪心策略中,如果当前虚拟机还未分配任务,则比较当前任务分配给该虚拟机是否最优。然而这种贪心策略往往是局部最优,应对需求变化较大的复杂任务经常会陷入局部最优,不能很好的完成资源分配任务。
发明内容
为了克服现有技术的不足,本发明的目的是提供了一种基于克隆选择算法的云计算资源分配方法,该方法利用克隆选择算法的并行性等特点进行优化,在相同任务数量和相同计算资源的情况下,能够在更短的时间内完成所有任务,提高了执行效率。
为了实现本发明的目的和其它优点,本发明提供了一种基于克隆选择算法的云计算资源分配方法,包括以下步骤:
步骤一、随机产生一初始抗体种群A,所述初始抗体种群A中包含M个抗体,每个抗体均对应一种云任务的分配方案;
步骤二、计算每种分配方案中每台虚拟机的执行时长,以及每种分配方案的总时长;
步骤三、依据获取的每种分配方案的总时长对所述初始抗体种群A中的每个抗体进行克隆并变异,形成新抗体,计算每个新抗体对应的分配方案中每台虚拟机的执行时长以及该分配方案的总时长;
步骤四、将所述初始抗体种群A中的抗体和克隆变异产生的新抗体进行合并形成一新抗体种群B,根据获取的分配方案的总时长对所述新抗体种群B中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群A的抗体;
步骤五、重复进行步骤三和步骤四的操作,从保留的前M个抗体中挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
优选的是,所述的基于克隆选择算法的云计算资源分配方法,所述步骤一具体包括:将随机产生的初始抗体种群中的每个抗体对应的分配方案存入一组二维数组Ass[M][cloudletNum]中,其中,cloudletNum表示待处理的云任务数,二维数组元素的取值范围为[1,vmNum],vmNum表示用来处理云任务的虚拟机数量。
优选的是,所述的基于克隆选择算法的云计算资源分配方法,所述步骤二具体包括:
将获取的每种分配方案中每台虚拟机的执行时长存入二维数组vmtime[M][vmNum]中,将获取的每种分配方案的总时长存入数组timeSum[M]中。
优选的是,所述的基于克隆选择算法的云计算资源分配方法,所述步骤三具体包括:
对数组timeSum[M]中的M种分配方案的总时长从小到大进行排序,然后对每种分配方案进行克隆,总时长越短的分配方案克隆的数量越多;
对复制好的克隆抗体进行变异,具体方法为:随机交换两个任务所分配的虚拟机,产生新抗体,并将变异后的新抗体对应的分配方案存入mutarr[sum][cloudletNum],其中,sum为克隆产生的新抗体数量;
计算新抗体对应的分配方案中每台虚拟机的执行时长,并存入muvmtime[sum][vmNum]中,以及计算新抗体对应的每种分配方案的总时长,并存入mutimeSum[sum]。
优选的是,所述的基于克隆选择算法的云计算资源分配方法,所述步骤四具体包括:
将所述初始抗体种群中的抗体和新抗体进行合并形成一新抗体种群,将所述新抗体种群中的抗体对应的分配方案存入temp[M+sum][cloudletNum]中,每种分配方案的总时长存入totaltime[M+sum]中;
根据获取的分配方案的总时长totaltime[M+sum]对所述新抗体种群中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群。
优选的是,所述的基于克隆选择算法的云计算资源分配方法,所述步骤五具体包括:
对保留的前M个抗体继续进行克隆并变异,再次形成新抗体,并将保留的前M个抗体和其克隆变异形成的新抗体合并形成新抗体种群B,并从形成的新抗体种群B中挑选出分配方案总时长短的M个抗体,经过Gmax次克隆和变异后,挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
本发明至少包括以下有益效果:该方法随机产生一初始抗体种群,由于初始抗体种群中的抗体对应的分配方案并不是最合理和最优的,因此,需对初始抗体种群中的每个抗体进行克隆并变异形成新抗体,克隆变异的时候,分配方案总时长越短的抗体即优质抗体,克隆的数量多些,分配方案总时长长的抗体即非优质抗体,克隆的数量少些,这样能够增加获得优质抗体的几率,而不是盲目的进行克隆复制。然后将初始抗体种群中的抗体和克隆变异产生的新抗体进行合并形成一新抗体种群,根据抗体对应的分配方案的总时长对所述新抗体种群中的抗体进行升序排列,保留前M个抗体,即分配方案总时长相对短的抗体,重新作为初始抗体种群,分配方案总时长越短,说明资源分配越合理,执行效率越高,把分配方案总时长长的抗体即非优质抗体淘汰掉;接下来继续对保留的前M个抗体进行克隆变异,进一步挑选出分配方案总时长短的前M抗体,这时的M个抗体对应的分配方案的总时长肯定比前面得到的M个抗体对应的分配方案的总时长短,如果继续重复上面的操作,得到的抗体对应的分配方案的总时长越来越短,最终挑选出分配方案最短的那个抗体,就是云任务的最优分配方案。因此,在相同任务数量和相同计算资源的情况下,本方法能够在更短的时间内完成所有任务,提高执行效率。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为本发明的实施例中云计算资源分配方法的流程示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
图1所示,本发明实施例提供了一种基于克隆选择算法的云计算资源分配方法,包括以下步骤:
步骤一、随机产生一初始抗体种群A,所述初始抗体种群A中包含M个抗体,每个抗体均对应一种云任务的分配方案。
其中,所述步骤一具体包括:将随机产生的初始抗体种群A中的每个抗体对应的分配方案存入一组二维数组Ass[M][cloudletNum]中,其中,cloudletNum表示待处理的云任务数,二维数组元素的取值范围为[1,vmNum],vmNum表示用来处理云任务的虚拟机数量。
需要说明的是,二维数组Ass[M][cloudletNum]中的第i行j列的元素表示,在第i个抗体对应的分配方案的解当中,将j个任务分配给某个虚拟机,虚拟机的序号就是这个数足元素的取值,因此,取值范围为1~vmNum。
步骤二、计算每种分配方案中每台虚拟机的执行时长,以及每种分配方案的总时长。
其中,所述步骤二具体包括:
将获取的每种分配方案中每台虚拟机的执行时长存入二维数组vmtime[M][vmNum]中,将获取的每种分配方案的总时长存入数组timeSum[M]中。
步骤三、依据获取的每种分配方案的总时长对所述初始抗体种群A中的每个抗体进行克隆并变异,形成新抗体,计算每个新抗体对应的分配方案中每台虚拟机的执行时长以及该分配方案的总时长。
其中,所述步骤三具体包括:
对数组timeSum[M]中的M种分配方案的总时长从小到大进行排序,然后对每种分配方案进行克隆,总时长越短的分配方案克隆的数量越多;
对复制好的克隆抗体进行变异,具体方法为:随机交换两个任务所分配的虚拟机,产生新抗体,并将变异后的新抗体对应的分配方案存入mutarr[sum][cloudletNum],其中,sum为克隆产生的新抗体数量;
计算新抗体对应的分配方案中每台虚拟机的执行时长,并存入muvmtime[sum][vmNum]中,以及计算新抗体对应的每种分配方案的总时长,并存入mutimeSum[sum]。
需要说明的是,克隆抗体的数量和两个因素有关,一是克隆复制系数,可以预先进行设定,二是被克隆抗体本身的好坏,以分配方案总时长为依据,时间越短,说明任务执行的越快,这就是优质抗体,优质抗体被克隆的数量尽量多一些。
步骤四、将所述初始抗体种群A中的抗体和克隆变异产生的新抗体进行合并形成一新抗体种群B,根据获取的分配方案的总时长对所述新抗体种群B中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群A的抗体。
其中,所述步骤四具体包括:
将所述初始抗体种群A中的抗体和新抗体进行合并形成一新抗体种群B,将所述新抗体种群中的抗体对应的分配方案存入temp[M+sum][cloudletNum]中,每种分配方案的总时长存入totaltime[M+sum]中;
根据获取的分配方案的总时长totaltime[M+sum]对所述新抗体种群B中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群。
步骤五、重复进行步骤三和步骤四的操作,从保留的前M个抗体中挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
其中,所述步骤五具体包括:
对保留的前M个抗体继续进行克隆并变异,再次形成新抗体,并将保留的前M个抗体和其克隆变异形成的新抗体合并形成新抗体种群B,并从形成的新抗体种群B中挑选出分配方案总时长短的M个抗体,经过Gmax次克隆和变异后,挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
克隆复制的次数Gmax可以预先进行设定,从一定程度上来说,Gmax越大,应该得到的分配方案会最优。但是,这个Gmax要根据实际情况进行设定。
下面表一给出采用本方法与现有技术采用的顺序分配策略和贪心策略对资源进行分配的结果对比。
表1测试不同算法的时间对比(单位:s)
从上表中可以明显地看出,采用本方法使得执行完所有任务的时长变短,能够使云计算资源分配得更合理,能够将各个不同的任务合理地分配到不同的虚拟机上。
综上所述,本发明实施例针对云计算资源分配问题进行了优化,利用克隆选择算法的并行性等特点提升了优化的效果,使得相同任务数量和相同计算资源的情况下,能够在更短的时间内完成所有任务,提高了任务执行效率。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用。它完全可以被适用于各种适合本发明的领域。对于熟悉本领域的人员而言,可容易地实现另外的修改。因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (3)
1.基于克隆选择算法的云计算资源分配方法,其特征在于,包括以下步骤:
步骤一、随机产生一初始抗体种群A,所述初始抗体种群A中包含M个抗体,每个抗体均对应一种云任务的分配方案;其中,所述步骤一具体包括:将随机产生的初始抗体种群A中的每个抗体对应的分配方案存入一组二维数组Ass[M][cloudletNum]中,其中,cloudletNum表示待处理的云任务数,二维数组元素的取值范围为[1,vmNum],vmNum表示用来处理云任务的虚拟机数量;
步骤二、计算每种分配方案中每台虚拟机的执行时长,以及每种分配方案的总时长;其中,所述步骤二具体包括:将获取的每种分配方案中每台虚拟机的执行时长存入二维数组vmtime[M][vmNum]中,将获取的每种分配方案的总时长存入数组timeSum[M]中;
步骤三、依据获取的每种分配方案的总时长对所述初始抗体种群A中的每个抗体进行克隆并变异,形成新抗体,计算每个新抗体对应的分配方案中每台虚拟机的执行时长以及该分配方案的总时长;其中,所述步骤三具体包括:对数组timeSum[M]中的M种分配方案的总时长从小到大进行排序,然后对每种分配方案进行克隆,总时长越短的分配方案克隆的数量越多;对复制好的克隆抗体进行变异,具体方法为:随机交换两个任务所分配的虚拟机,产生新抗体,并将变异后的新抗体对应的分配方案存入mutarr[sum][cloudletNum],其中,sum为克隆产生的新抗体数量;计算新抗体对应的分配方案中每台虚拟机的执行时长,并存入muvmtime[sum][vmNum]中,以及计算新抗体对应的每种分配方案的总时长,并存入mutimeSum[sum];
步骤四、将所述初始抗体种群A中的抗体和克隆变异产生的新抗体进行合并形成一新抗体种群B,根据获取的分配方案的总时长对所述新抗体种群B中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群A中的抗体;
步骤五、重复进行步骤三和步骤四的操作,从保留的前M个抗体中挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
2.如权利要求1所述的基于克隆选择算法的云计算资源分配方法,其特征在于,所述步骤四具体包括:
将所述初始抗体种群中的抗体和新抗体进行合并形成一新抗体种群,将所述新抗体种群中的抗体对应的分配方案存入temp[M+sum][cloudletNum]中,每种分配方案的总时长存入totaltime[M+sum]中;
根据获取的分配方案的总时长totaltime[M+sum]对所述新抗体种群中的抗体进行升序排列,保留前M个抗体,作为初始抗体种群。
3.如权利要求2所述的基于克隆选择算法的云计算资源分配方法,其特征在于,所述步骤五具体包括:
对保留的前M个抗体继续进行克隆并变异,再次形成新抗体,并将保留的前M个抗体和其克隆变异形成的新抗体合并形成新抗体种群B,并从形成的新抗体种群B中挑选出分配方案总时长短的M个抗体,经过Gmax次克隆和变异后,挑选出分配方案总时长最短的抗体,即云任务的最优分配方案。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717376.2A CN108897623B (zh) | 2018-07-03 | 2018-07-03 | 基于克隆选择算法的云计算资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810717376.2A CN108897623B (zh) | 2018-07-03 | 2018-07-03 | 基于克隆选择算法的云计算资源分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108897623A CN108897623A (zh) | 2018-11-27 |
CN108897623B true CN108897623B (zh) | 2022-01-04 |
Family
ID=64348058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810717376.2A Active CN108897623B (zh) | 2018-07-03 | 2018-07-03 | 基于克隆选择算法的云计算资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108897623B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412792A (zh) * | 2013-07-18 | 2013-11-27 | 成都国科海博计算机系统有限公司 | 一种云计算平台环境下的动态任务调度方法及装置 |
CN103442367A (zh) * | 2013-08-30 | 2013-12-11 | 西安电子科技大学 | 基于离散多元编码的ofdm网络上行链路资源分配方法 |
-
2018
- 2018-07-03 CN CN201810717376.2A patent/CN108897623B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103412792A (zh) * | 2013-07-18 | 2013-11-27 | 成都国科海博计算机系统有限公司 | 一种云计算平台环境下的动态任务调度方法及装置 |
CN103442367A (zh) * | 2013-08-30 | 2013-12-11 | 西安电子科技大学 | 基于离散多元编码的ofdm网络上行链路资源分配方法 |
Non-Patent Citations (2)
Title |
---|
云平台下动态任务调度人工免疫算法;杨镜等;《计算机应用》;20140210;第34卷(第2期);第351-356页 * |
基于免疫算法的云计算任务调度策略研究;薛景文;《中国优秀硕士学位论文全文数据库》;20140215(第2期);第37-44页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108897623A (zh) | 2018-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109561148B (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN107329815B (zh) | 一种基于BP-Tabu搜索的云任务负载均衡调度方法 | |
Ucar et al. | Task assignment in heterogeneous computing systems | |
EP2212806B1 (en) | Allocation of resources for concurrent query execution via adaptive segmentation | |
CN111381950A (zh) | 一种面向边缘计算环境基于多副本的任务调度方法和系统 | |
CN110321222B (zh) | 基于决策树预测的数据并行作业资源分配方法 | |
CN108572873B (zh) | 一种解决Spark数据倾斜问题的负载均衡方法及装置 | |
CN107193652B (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
CN110351348B (zh) | 一种基于dqn的云计算资源调度优化方法 | |
CN108427602B (zh) | 一种分布式计算任务的协同调度方法及装置 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN107133091A (zh) | 基于自顶向下任务分级的云工作流任务调度方法 | |
CN103942109B (zh) | 基于多核dsp的自适应任务调度方法 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN109710372B (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN105550825B (zh) | 云计算环境下的基于MapReduce并行化的柔性工厂作业调度方法 | |
CN111309472A (zh) | 一种基于虚拟机预部署的在线虚拟资源分配方法 | |
CN106371924A (zh) | 一种最小化MapReduce集群能耗的任务调度方法 | |
CN110084507B (zh) | 云计算环境下分级感知的科学工作流调度优化方法 | |
CN111027665A (zh) | 一种基于改进混沌蝙蝠群算法的云制造调度方法 | |
CN108897623B (zh) | 基于克隆选择算法的云计算资源分配方法 | |
CN110489214B (zh) | 云环境中数据密集型工作流的动态任务分配 | |
CN109783189B (zh) | 一种静态工作流调度方法与装置 | |
CN115421885B (zh) | 一种分布式多目标云任务的调度方法、装置及云服务系统 | |
CN111026534A (zh) | 云计算环境下基于多种群遗传算法的工作流执行优化方法 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 222023 No. 59, Cangwu Road, Haizhou District, Lianyungang City, Jiangsu Province Applicant after: Jiangsu Ocean University Address before: 222023 No. 59, Cangwu Road, Haizhou District, Lianyungang City, Jiangsu Province Applicant before: HUAIHAI INSTITUTE OF TECHNOLOGY |
|
GR01 | Patent grant | ||
GR01 | Patent grant |