CN103870317B - 云计算中的任务调度方法及系统 - Google Patents
云计算中的任务调度方法及系统 Download PDFInfo
- Publication number
- CN103870317B CN103870317B CN201210527819.4A CN201210527819A CN103870317B CN 103870317 B CN103870317 B CN 103870317B CN 201210527819 A CN201210527819 A CN 201210527819A CN 103870317 B CN103870317 B CN 103870317B
- Authority
- CN
- China
- Prior art keywords
- organisms
- task
- current
- bacterium
- cloud computing
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000001580 bacterial effect Effects 0.000 claims abstract description 92
- 238000013468 resource allocation Methods 0.000 claims abstract description 29
- 241000894006 Bacteria Species 0.000 claims description 117
- 230000029305 taxis Effects 0.000 claims description 53
- 230000018612 quorum sensing Effects 0.000 claims description 22
- 238000012546 transfer Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 14
- 230000003044 adaptive effect Effects 0.000 claims description 11
- 230000006399 behavior Effects 0.000 claims description 9
- 230000001133 acceleration Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 3
- 230000003362 replicative effect Effects 0.000 claims description 3
- 230000001939 inductive effect Effects 0.000 claims 1
- 230000002431 foraging effect Effects 0.000 abstract description 18
- 230000008901 benefit Effects 0.000 abstract description 4
- 235000013305 food Nutrition 0.000 description 13
- 238000005457 optimization Methods 0.000 description 8
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 241000588724 Escherichia coli Species 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 230000006698 induction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004992 fission Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001473 noxious effect Effects 0.000 description 1
- 235000015097 nutrients Nutrition 0.000 description 1
- 239000002243 precursor Substances 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000010415 tropism Effects 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/11—Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Operations Research (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种本发明提供的云计算中的任务调度方法及系统,通过将任务的特征信息进行参数化;然后对各任务进行分类,根据分类结果,通过细菌觅食算法计算得到最佳工作节点,将该最佳工作节点与该任务进行匹配即可。可见,本发明利用细菌觅食算法来实现云计算中任务调度和资源分配问题,使得云计算对用户任务群的调度具有群体智能并行搜索、易跳出局部极小值等优点,有助于保持云计算中任务群的多样性;更能满足用户的需求,提高用户体验的满意度。
Description
技术领域
本发明涉及云计算领域,具体涉及一种云计算中的任务调度方法及系统。
背景技术
云计算是一种提供了基础设施、平台和软件的商业计算模型。它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。云计算的基本原理是透过网络将庞大的计算处理任务自动分拆成无数个较小的子任务,再交由多部服务器组成的庞大系统,经搜寻、计算分析之后,将处理结果回传给用户,提供这些资源的网络被称为“云”。云计算所提供的服务面向的用户群十分庞大,故“云”中的任务数量也非常巨大。因此,任务调度和资源分配问题是决定云计算效率的重点与难点。但是,目前针对云计算中任务的调度,还没有一种较好的算法能满足用户的需求。
发明内容
本发明要解决的主要技术问题是,提供一种云计算中的任务调度方法及系统,能很好的满足用户的需求。
为了解决上述问题,本发明提供了一种云计算中的任务调度方法,包括:
将任务的特征信息进行参数化;
对所述任务进行分类;
根据分类结果,通过细菌觅食算法计算得到最佳工作节点;
通过所述最佳工作节点执行所述任务。
在本发明的一种实施例中,根据分类结果,通过细菌觅食算法计算得到最佳工作节点包括:
根据所述分类结果,对所述任务经参数化的特征信息进行编码得到编码后的特征信息;
从工作节点中选择N个作为细菌个体i组成初始化细菌群,1≤i≤N;
根据算法解码库,分别对各细菌个体对应所述编码后的特征信息进行解码;
计算各细菌个体的适应度值;
对各细菌个体进行细菌趋向操作;
进行细菌个体复制操作;
进行细菌个体的迁徙操作;
判断当前得到的最优细菌个体是否达到用户的期望值,如是,则选择该细菌个体对应的工作节点作为最佳工作节点;否则,返回所述计算各细菌个体的适应度值步骤。
在本发明的一种实施例中,在对各细菌个体进行细菌趋向操作过程中,还包括:
对各细菌个体执行群体感应操作。
在本发明的一种实施例中,对各细菌个体执行群体感应操作包括:
确定细菌群体中目前位置最优的细菌个体序列Ic_best,存储其位置和适应度值;
确定细菌群中将要进行搜索的细菌个体序列I;
在所述Ic_best中,选定一个编号Jrand;
遍历所述Ic_best,确定所述Jrand在所述Ic_best中的位置PJ;
遍历所述I中的各细菌个体,找到所述I中所述Jrand的起始位置,将其与所述PJ的编号进行置换;
对当前细菌个体的当前位置与所述Ic_best中的细菌个体进行比较,如果当前细菌个体的新位置更优,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新;否则,当前细菌个体下一次趋向性操作时,向最优细菌个体的位置靠拢。
在本发明的一种实施例中,在对各细菌个体执行群体感应操作过程中,如发现当前细菌个体停顿,重新选定一个方向,再次对该细菌个体进行搜索;或停止当前细菌个体的搜索,跳至下一细菌个体进行搜索操作。
在本发明的一种实施例中,在当前细菌个体的新位置更优时,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新具体如下:
If Ji(j+1,k,l)>Jbest(j,k,l)
式中:为当前细菌个体i进行群体感应后的更新位置;Ji(j+1,k,l)为当前细菌个体i的适应度值;θb(j,k,l)和Jbest(j,k,l)分别为当前细菌群位置最优的细菌个体b的位置和适应度值;Ccc为吸引因子,决定细菌个体向群体历史最优位置游动的步幅。
在本发明的一种实施例中,在当前细菌个体下一次趋向性操作向最优细菌个体的位置靠拢具体如下:
式中,表示当前细菌个体i经第d次趋向性操作后的速度;ω为惯性权重,使细菌保持运动惯性和扩展搜索空间的趋势;表示当前细菌个体i经第d-1次趋向性操作后的速度;C1为加速度常数;是[0,1]区间内均匀分布的伪随机数;Vi为细菌个体i的速度;θb(j,k,l)为当前细菌群位置最优的细菌个体b的位置;为当前细菌个体i经第d-1次趋向性操作后的位置;为当前细菌个体i经第d次趋向性操作后的位置。
在本发明的一种实施例中,对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌向前游动的步长;
Δ(i)表示旋转向量,取值范围为[-1,1]。
在本发明的一种实施例中,对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(k,l)Φ(j)
式中:C(k,l)=Linit/nk+l-1,C(k,l)表示细菌第k次复制、第l次迁徙时的趋向操作步长;Linit为初始趋向步长;n为控制步长下降梯度的参数;
Δ(i)表示旋转向量,取值范围为[-1,1]。
在本发明的一种实施例中,对当前细菌个体i进行趋向性操作后,计算其适应度值具体如下:
Ji(j+1,k,l)=Ji(j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcc(θi(j+1,k,l),P(j+1,k,l))为细菌i的个体间感应度值;θi(j+1,k,l)为细菌个体i进行第j+1次趋向操作后的更新位置;P(j+1,k,l)为细菌个体i进行第j+1次趋向操作后在细菌群中的个体位置;P(j,k,l)为细菌个体i进行第j次趋向操作后在细菌群中的个体位置;dattr和wattr分别表示吸引因子的数量和释放速率;hrep和wrep分别表示排斥因子的数量和释放速率;表示第i个细菌所在位置对细菌群的群聚性影响,表示第i个细菌所在位置对细菌群的群聚性影响系数,表示第i个细菌所在位置的方差,θm表示细菌群所在位置的第m维,表示第i个细菌所在位置的第m维,D表示细菌搜索环境的维数,表示第i个细菌所在位置对细菌群的排斥性影响,表示第i个细菌所在位置对细菌群的排斥性影响系数。
在本发明的一种实施例中,所述任务的特征信息包括CPU、内存个数、带宽、资源成本以及故障率的倒数中的至少一种。
在本发明的一种实施例中,对所述任务进行分类包括根据各任务的优先级和/或各任务执行的评判指标对各任务进行分类。
在本发明的一种实施例中,所述任务执行的评判指标为任务完成时间、网络带宽、资源成本或可靠性参数。
为了解决上述问题,本发明还提供了一种云计算中的任务调度系统,包括:
用户任务信息群处理模块,用于将任务的特征信息进行参数化;
任务分类模块,用于对所述任务进行分类;
资源分配与调度模块,用于根据分类结果,通过细菌觅食算法计算得到最佳工作节点;
节点管理模块,用于将所述任务部署到所述最佳工作节点,通过所述最佳工作节点执行所述任务。
在本发明的一种实施例中,所述资源分配与调度模块根据分类结果,通过细菌觅食算法计算得到最佳工作节点包括:
根据所述分类结果,对所述任务经参数化的特征信息进行编码得到编码后的特征信息;
从工作节点中选择N个作为细菌个体i组成初始化细菌群,1≤i≤N;
根据算法解码库,分别对各细菌个体对应所述编码后的特征信息进行解码;
计算各细菌个体的适应度值;
对各细菌个体进行细菌趋向操作;
进行细菌个体复制操作;
进行细菌个体的迁徙操作;
判断当前得到的最优细菌个体是否达到用户的期望值,如是,则选择该细菌个体对应的工作节点作为最佳工作节点;否则,返回所述计算各细菌个体的适应度值步骤。
在本发明的一种实施例中,所述资源分配与调度模块在对各细菌个体进行细菌趋向操作过程中,还包括:
对各细菌个体执行群体感应操作。
在本发明的一种实施例中,所述资源分配与调度模块对各细菌个体执行群体感应操作包括:
确定细菌群体中目前位置最优的细菌个体序列Ic_best,存储其位置和适应度值;
确定细菌群中将要进行搜索的细菌个体序列I;
在所述Ic_best中,选定一个编号Jrand;
遍历所述Ic_best,确定所述Jrand在所述Ic_best中的位置PJ;
遍历所述I中的各细菌个体,找到所述I中所述Jrand的起始位置,将其与所述PJ的编号进行置换;
对当前细菌个体的当前位置与所述Ic_best中的细菌个体进行比较,如果当前细菌个体的新位置更优,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新;否则,当前细菌个体下一次趋向性操作时,向最优细菌个体的位置靠拢。
在本发明的一种实施例中,所述资源分配与调度模块在对各细菌个体执行群体感应操作过程中,如发现当前细菌个体停顿,重新选定一个方向,再次对该细菌个体进行搜索;或停止当前细菌个体的搜索,跳至下一细菌个体进行搜索操作。
在本发明的一种实施例中,所述资源分配与调度模块在判断当前细菌个体的新位置更优时,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新具体如下:
If Ji(j+1,k,l)>Jbest(j,k,l)
式中:为当前细菌个体i进行群体感应后的更新位置;Ji(j+1,k,l)为当前细菌个体i的适应度值;θb(j,k,l)和Jbest(j,k,l)分别为当前细菌群位置最优的细菌个体b的位置和适应度值;Ccc为吸引因子,决定细菌个体向群体历史最优位置游动的步幅。
在本发明的一种实施例中,所述资源分配与调度模块在将当前细菌个体下一次趋向性操作向最优细菌个体的位置靠拢具体如下:
式中,表示当前细菌个体i经第d次趋向性操作后的速度;ω为惯性权重,使细菌保持运动惯性和扩展搜索空间的趋势;表示当前细菌个体i经第d-1次趋向性操作后的速度;C1为加速度常数;是[0,1]区间内均匀分布的伪随机数;Vi为细菌个体i的速度;θb(j,k,l)为当前细菌群位置最优的细菌个体b的位置;为当前细菌个体i经第d-1次趋向性操作后的位置;为当前细菌个体i经第d次趋向性操作后的位置。
在本发明的一种实施例中,所述资源分配与调度模块对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌向前游动的步长;
Δ(i)表示旋转向量,取值范围为[-1,1]。
在本发明的一种实施例中,所述资源分配与调度模块对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(k,l)Φ(j)
式中:C(k,l)=Linit/nk+l-1,C(k,l)表示细菌第k次复制、第l次迁徙时的趋向操作步长;Linit为初始趋向步长;n为控制步长下降梯度的参数;
Δ(i)表示旋转向量,取值范围为[-1,1]。
在本发明的一种实施例中,所述资源分配与调度模块对当前细菌个体i进行趋向性操作后,计算其适应度值具体如下:
Ji(j+1,k,l)=Ji(j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcc(θi(j+1,k,l),P(j+1,k,l))为细菌i的个体间感应度值;θi(j+1,k,l)为细菌个体i进行第j+1次趋向操作后的更新位置;P(j+1,k,l)为细菌个体i进行第j+1次趋向操作后在细菌群中的个体位置;P(j,k,l)为细菌个体i进行第j次趋向操作后在细菌群中的个体位置;dattr和wattr分别表示吸引因子的数量和释放速率;hrep和wrep分别表示排斥因子的数量和释放速率;表示第i个细菌所在位置对细菌群的群聚性影响,表示第i个细菌所在位置对细菌群的群聚性影响系数,表示第i个细菌所在位置的方差,θm表示细菌群所在位置的第m维,表示第i个细菌所在位置的第m维,D表示细菌搜索环境的维数,表示第i个细菌所在位置对细菌群的排斥性影响,表示第i个细菌所在位置对细菌群的排斥性影响系数。
在本发明的一种实施例中,所述任务的特征信息包括CPU、内存个数、带宽、资源成本以及故障率的倒数中的至少一种。
在本发明的一种实施例中,对所述任务进行分类包括根据各任务的优先级和/或各任务执行的评判指标对各任务进行分类。
在本发明的一种实施例中,所述任务执行的评判指标为任务完成时间、网络带宽、资源成本或可靠性参数。
本发明的有益效果是:
本发明提供的云计算中的任务调度方法及系统,通过将任务的特征信息进行参数化;然后对各任务进行分类,根据分类结果,通过细菌觅食算法计算得到最佳工作节点,将该最佳工作节点与该任务进行匹配即可。可见,本发明利用细菌觅食算法来实现云计算中任务调度和资源分配问题,使得云计算对用户任务群的调度具有群体智能并行搜索、易跳出局部极小值等优点,有助于保持云计算中任务群的多样性;更能满足用户的需求,提高用户体验的满意度。
附图说明
图1为本发明一种实施例的云计算中的任务调度系统结构示意图;
图2为本发明一种实施例的云计算中的任务调度方法流程示意图;
图3为本发明一种实施例的细菌觅食算法流程示意图;
图4为本发明一种实施例的细菌觅食算法中趋向性操作流程图;
图5为本发明一种实施例的细菌觅食算法中复制操作流程图;
图6为本发明一种实施例的细菌觅食算法中迁徙操作流程图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。
为了更好的理解本发明,下面的首先对细菌觅食(Bacteria ForagingOptimization,BFO)算法进行一个简单的说明:
细菌觅食算法是一种新型的仿生随机搜索算法,其生物学基础是大肠杆菌在觅食过程中体现出来的智能行为。大肠杆菌自身的一个控制系统指导着其在寻找食物过程中的行为,包括趋向、复制和迁徙(又称消除—驱散)等三个步骤,并对每一次状态的改变进行效果评价,进而为下一步活动提供信息。在这个系统的控制下,大肠杆菌将逐渐朝食物源的方向靠近。在BFO模型中,搜索过程通过营养分布函数来判断搜索算法的优劣,优化问题的解对应搜索空间中的细菌的状态,即优化函数的适应度值。该算法具有群体智能算法并行搜索、易跳出局部极小值等优点。具体如下:
假定细菌种群大小为S,一个细菌个体所处的位置表示问题的一个候选解,细菌个体i的信息用D维向量表示为:
θi(j,k,l)表示细菌i在第j次趋向性操作,第k次复制操作和第l次迁徙操作之后的位置。
(1)趋向性操作
大肠杆菌的整个生命周期都是在游动和旋转两种基本运动之间进行变换以寻找食物并避开有毒物质。在细菌觅食算法中模拟这种现象称为趋向性操作,趋向性操作使得BFOA具有局部开采能力,它决定算法的前进方向以及在某一区域搜索的详细程度等,细菌个体i的每一步趋向性操作表示如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌个体向前游动的步长;
Δ(i)表示旋转向量,其取值范围为[-1,1]。
(2)复制操作
生物进化过程的规律是优胜劣汰。经过一段时间的食物搜索过程后,部分寻找食物能力弱的细菌会被自然淘汰掉,为了维持种群规模,剩余的细菌会进行繁殖。在细菌觅食算法中模拟这种现象称为复制操作。下面就以采用的保留精英的方式复制操作过程为例进行说明:
在原始BFOA中,经过复制操作后算法的种群大小不变。设淘汰掉的细菌个数为Sr=S/2,首先按照细菌位置的优劣排序,然后把排在后面的Sr个细菌淘汰掉,剩余的Sr个细菌进行自我复制,各自生成一个与自己完全相同的新个体,即生成的新个体与原个体有相同的位置,或者说具有相同的经过复制操作后的细菌种群数量S不会发生改变。假定被淘汰的细菌个数为Sr=S/2,首先按照细菌位置的优劣进行排序,把排在后面的Sr个细菌淘汰掉,剩下的细菌进行自我复制。
当然,除了上述保留精英的方式复制方法外,在进行算法设计时还可以参考其他进化算法,考虑其他多种保留方式,及各种保留方式的混合来进行复制以提高算法性能,如:轮盘赌方法,(μ+λ)方法,联赛方法,稳态方法,比例变换与排序方法,共享方法等。
(3)迁徙操作
细菌个体生活的局部区域可能会突然发生变化(如:温度的突然升高)或者逐渐变化(如:食物的消耗),这样可能会导致生活在这个局部区域的细菌种群集体死亡,或者集体迁徙到一个新的局部区域。在细菌觅食优化算法中模拟这种现象称为迁徙操作。迁徙操作以一定概率发生。给定概率ped,如果种群中的某个细菌个体满足迁徙发生的概率,则这个细菌个体灭亡,并随机地在解空间的任意位置生成一个新个体,这个新个体与灭亡的个体可能具有不同的位置,即不同的觅食能力。迁徙操作随机生成的这个新个体可能更靠近全局最优解,这样更有利于趋向性操作跳出局部最优解和寻找全局最优解。即迁徙操作使得BFOA具有随机搜索的能力,有助于BFOA保持种群的多样性,减少早熟收敛的情况。
请参考图1,本例中提供的云计算中的任务调度系统包括:
用户任务信息群处理模块,用于存储任务群的特征信息,将任务的特征信息进行参数化,即将任务的特征信息根据一定编码规则进行编码,记录到任务信息数据库中;本实施例中的任务的特征信息可采用CPU、内存个数、带宽、资源成本以及故障率的倒数等至少一个衡量工作节点资源计算能力和通信能力的属性信息表示。
任务解析模块:用于通过算法解码库,对应各目的细菌个体,解码任务的特征信息;
任务分类模块,用于对任务进行分类,具体可通过各任务的优先级和/或各任务执行的评判指标对各任务进行分类;例如,各任务具有优先级时,则可根据各任务的优先级进行分类;没有时,则可根据各任务执行的评判指标对各任务进行分类;自然,也可根据各任务的优先级和各任务执行的评判指标对各任务进行分类。本实施例中的评判指标可通过将任务优先级以及用户服务质量(Qos)保证所涉及的CPU、内存个数、带宽、资源成本以及故障率的倒数等特性结合,作为评判指标,具体可为任务完成时间、网络带宽、资源成本或可靠性参数等。
资源分配与调度模块,用于根据分类结果,通过细菌觅食算法计算得到最佳工作节点;
云控制模块:云控制模块是整个系统的中枢神经,分别与资源分配与调度模块、资源监测模块、节点管理模块连接,用于整个云计算网络的控制管理。例如:通知各个工作节点将调度的任务向本地部署;将资源监测模块监测的结果反馈至资源分配与调度模块等。如果资源分配与调度模块查找不到足够资源的工作节点进行任务实时迁移,则向云控制模块反馈查找失败信息;如果实时迁移成功,则向云控制模块反馈迁移成功信息。
节点管理模块,用于将相应的任务部署到资源分配与调度模块计算得到的最佳工作节点,通过该最佳工作节点执行所述任务。
资源监测模块,用于监测分配的任务是否成功执行完成,并将监测到的信息实时反馈至云控制模块,以便云控制模块通知资源分配与调度模块回收资源,或者重新进行任务和工作节点资源的匹配。
基于上述系统,下面结合完整的任务调度分配流程对本发明做进一步的说明。假设用户任务群数目为M,请参见图2所示的云计算中的任务调度方法,包括:
步骤201:将任务的特征信息进行参数化;
步骤202:对任务进行分类;
步骤203:根据分类结果,通过细菌觅食算法计算得到最佳工作节点;
通过所述最佳工作节点执行所述任务。
在上述步骤201之前,如判断各任务具有优先级时,还可包括步骤200:对用户的任务按照优先级进行排序。在上述步骤203之后,还可进一步包括:对分配的任务进行监测以及根据监测结果进行资源的回收或者返回步骤203进行重新分配工作节点资源,及图2中的步骤204-步骤206。下面结合具体的流程分别对上述步骤进行详细的说明:
对于步骤201:将任务的特征信息进行参数化,即将任务的特征信息根据一定编码规则进行编码,记录到任务信息数据库中;根据云计算模型的特点,本实施例中的任务的特征信息可采用CPU、内存个数、带宽、资源成本以及故障率的倒数等至少一个衡量工作节点资源计算能力和通信能力的属性信息表示。
对于步骤202:对任务进行分类,具体可通过各任务的优先级和/或各任务执行的评判指标对各任务进行分类;下面则具体以按照任务执行的评判指标进行分类进行进一步的说明,具体考虑以下几种因素:
根据用户对云计算资源需求的多样性与偏好性,来作Qos保证;
云计算平台带宽利用率;
公平性因素等;
本实施例中的评判指标可通过将任务优先级以及用户服务质量(Qos)保证所涉及的CPU、内存个数、带宽、资源成本以及故障率的倒数等特性结合,作为评判指标,具体可为任务完成时间、网络带宽、资源成本或可靠性参数;具体可表示如下:
假设某虚拟机工作节点i资源VMi的特征集合为:
Ri={ri1,ri2,ri3,ri4,rim},m∈[1,5]
其中,rim表示一个K维对角矩阵,分别表示CPU、内存的个数,带宽、资源成本及故障率的倒数等能够衡量节点资源计算能力和通信能力的属性信息。
工作节点资源VMi的性能描述矩阵向量为:
VMi={Qi1,Qi2,Qi3,Qi4,Qim},m∈[1,5]
其中,Qim表示rim对应的特征值。
任务执行的评判指标可采用任务完成时间、网络带宽、资源成本、可靠性参数等,如采用任务完成时间时,评判指标描述包括开始时间、总完成时间、结束时间等,使用时选取任务总完成时间作为评判指标。
通常第n类任务的一般期待向量可以描述为:
En={en1,en2,en3,en4,enm},m∈[1,5] (8)
其中enm分别表示CPU、内存、带宽等的一般期待,且满足
对于任务的分类,具体可使用一些经典的聚类算法,例如C均值,K近邻等聚类方法。
对于步骤203:请参见图3,根据分类结果,通过细菌觅食算法计算得到最佳工作节点包括:
步骤301:根据分类结果,对任务经参数化的特征信息进行编码得到编码后的特征信息;编码方式可以采用二进制编码、实数编码、有序列编码、一般数据结构编码方式等任何方式;
步骤302:从工作节点中选择N个作为细菌个体i组成初始化细菌群,1≤i≤N;细菌种群规模N的大小影响BFOA效能的发挥。种群规模小,BFOA的计算速度快,但种群的多样性降低,影响算法的优化性能;种群规模大,个体初始时分布的区域多,靠近最优解的机会就越高。也可以说是,种群规模越大,种群中个体的多样性就越高,越能避免算法陷入局部极小值。但是种群规模太大时,算法的计算量就会增加,算法的收敛速度会变慢。本实施例中可基于任务的分类结果以及当前各工作节点的实际情况和任务群中当前任务的个数随机选择N个:选择的N的值可以是任务群中当前任务的个数,也可以是针对任务群中的某一个或多个任务进行选择确定的N个工作节点。也即,本实施例中可以同时对任务群中的所有任务进行调度,也可一次对任务群中的其中一个或多个任务进行调度。
步骤303:根据算法解码库,分别对各细菌个体对应所述编码后的特征信息进行解码;
步骤304:计算各细菌个体的适应度值;本实施例中,对当前细菌个体i(1≤i≤N)进行趋向性操作后,计算其适应度值具体如下:
Ji(j+1,k,l)=Ji(j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcc(θi(j+1,k,l),P(j+1,k,l))为细菌i的个体间感应度值;θi(j+1,k,l)为细菌个体i进行第j+1次趋向操作后的更新位置;P(j+1,k,l)为细菌个体i进行第j+1次趋向操作后在细菌群中的个体位置;P(j,k,l)为细菌个体i进行第j次趋向操作后在细菌群中的个体位置;dattr和wattr分别表示吸引因子的数量和释放速率;hrep和wrep分别表示排斥因子的数量和释放速率;表示第i个细菌所在位置对细菌群的群聚性影响,表示第i个细菌所在位置对细菌群的群聚性影响系数,表示第i个细菌所在位置的方差,θm表示细菌群所在位置的第m维,表示第i个细菌所在位置的第m维,D表示细菌搜索环境的维数,表示第i个细菌所在位置对细菌群的排斥性影响,表示第i个细菌所在位置对细菌群的排斥性影响系数。
步骤305:对各细菌个体进行细菌趋向性操作,其具体流程如图4所示:对当前细菌个体i进行趋向性操作具体表示如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌向前游动的步长;
Δ(i)表示旋转向量,取值范围为[-1,1]。
本实施例中,为了进一步提高搜索速度,提高优化前期的全局搜索能力和优化后期的局部搜索能力,还可采用以下方式对当前细菌个体i进行趋向性操作:
θi(j+1,k,l)=θi(j,k,l)+C(k,l)Φ(j)
式中:C(k,l)=Linit/nk+l-1,C(k,l)表示细菌第k次复制、第l次迁徙时的趋向操作步长;Linit为初始趋向步长;n为控制步长下降梯度的参数;
Δ(i)表示旋转向量,取值范围为[-1,1]。
前细菌个体i进行趋向性操作的过程具体如下:
步骤400:开始;
步骤401及步骤402:更新细菌个体i,确定其为细菌群中的个体;
步骤403:计算细菌个体i的适应度值,存储其适应度值为当前最好的值;
步骤404:旋转,细菌个体i旋转后随机产生方向上游动的一个初始步长;
步骤405:初始化计数值Y=0;
步骤406:计算新位置上细菌个体i的适应度值;
步骤407:判断Y是否小于该方向上前进的最大步数X,如是,转至步骤408;否则,转至步骤401;
步骤408:更新Y=Y+1;
步骤409:判断新位置的适应度值是否更好;如是,转至步骤409;否则,转至413;
步骤410:对细菌个体执行群体感应操作;
步骤411:将新位置的适应度值存储为目前最好的适应度值;
步骤412:调整步长,具体可采用动态调整,在该随机方向上继续游动,转至步骤406;
步骤413:将Y更新为X,转至步骤407;
步骤414:结束。
由于原始BFO算法搜索解空间时,采用的是个体间感应机制。这样,任务个体在进行趋向操作时,会将任务的感应值叠加到适应值上,这种基于个体间的感应机制,有助于保持云计算中任务群的多样性,增加了任务群体跳出局部最优的可能性,但也有可能使得接近最优的任务个体遭到驱散,导致优化进程延缓。很多任务个体分配至全局最优资源附近,但因为数量的增多导致该区域产生的排斥因子浓度升高,反而可能会将位置最好的任务个体驱逐出最优区域,造成精度下降。因此,本实施中在每个细菌个体i的趋向操作过程中,在将新位置的适应度值存储为目前最好的适应度值前,还对其进行群体感应操作(CTScell-to-swarm),细菌个体感知周围环境,试探搜索菌群中是否存在位置最好的细菌。即本实施例中群体感应机制允许细菌个体利用同伴的经验来指导自己的游动路线,这种信念吸引机制加快了在解空间中的全局搜索速度,同时有助于细菌个体跳出局部最优,并避免了细菌从全局最优区域逃逸的可能。
在步骤410中,对细菌个体执行群体感应操作的具体过程如下:
步骤4101:确定细菌群体中目前位置最优的细菌个体序列Ic_best,存储其位置和适应度值;
步骤4102:确定细菌群中将要进行搜索的细菌个体序列I;
步骤4103:在所述Ic_best中,选定一个编号Jrand;
步骤4104:遍历所述Ic_best,确定所述Jrand在所述Ic_best中的位置PJ;
步骤4105:遍历所述I中的各细菌个体,找到所述I中所述Jrand的起始位置,将其与所述PJ的编号进行置换;
步骤4106:对当前细菌个体的当前位置进行基于个体的评价,该步骤具体为通过计算个体的适应度值,对当前细菌个体的当前位置进行基于个体的评价,以便调整个体的方向,改变步长,为后续群体感应做前趋运动准备;
步骤4107:对当前细菌个体的当前位置与所述Ic_best中的细菌个体进行比较,如果当前细菌个体的新位置更优,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新;否则,当前细菌个体下一次趋向性操作时,向最优细菌个体的位置靠拢;
步骤4108:在对细菌个体i执行群体感应操作过程中,如发现当前细菌个体停顿,重新选定一个方向,再次对该细菌个体进行搜索;或停止当前细菌个体的搜索,跳至下一细菌个体进行搜索操作。
本实施对每个细菌个体i进行群体感应操作过程中,细菌个体感知周围环境,试探搜索菌群中是否存在位置最好的细菌。如有,记忆其位置;否则,记忆自身当前位置。下一次趋向操作时,细菌每移动到新的位置就向最优细菌个体的位置靠拢。
具体的,在步骤4107中,在当前细菌个体的新位置更优时,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新具体如下:
If Ji(j+1,k,l)>Jbest(j,k,l)
式中:为当前细菌个体i进行群体感应后的更新位置;Ji(j+1,k,l)为当前细菌个体i的适应度值;θb(j,k,l)和Jbest(j,k,l)分别为当前细菌群位置最优的细菌个体b的位置和适应度值;Ccc为吸引因子,决定细菌个体向群体历史最优位置游动的步幅。
在步骤4107中,在当前细菌个体下一次趋向性操作向最优细菌个体的位置靠拢具体如下:
式中,表示当前细菌个体i经第d次趋向性操作后的速度;ω为惯性权重,使细菌保持运动惯性和扩展搜索空间的趋势;表示当前细菌个体i经第d-1次趋向性操作后的速度;C1为加速度常数;是[0,1]区间内均匀分布的伪随机数;Vi为细菌个体i的速度;θb(j,k,l)为当前细菌群位置最优的细菌个体b的位置;为当前细菌个体i经第d-1次趋向性操作后的位置;为当前细菌个体i经第d次趋向性操作后的位置。
步骤306:对各细菌个体进行细菌复制操作,本实施中仍采用保留精英的复制方式进行说明,其具体流程如图5所示:
步骤500:开始;
步骤501:更新当前细菌个体i;
步骤502:判断当前细菌个体i是否属于细菌群,如是,转至步骤503;否则,转至步骤504:
步骤503:计算当前细菌个体i在上次趋向性操作循环中经过的所有位置的适应度值总和;
步骤504:按照适应度值的优劣将细菌排序;
步骤505:淘汰适应度值差的Sr个细菌,剩余的Sr个细菌各自分裂出一个与自己完全相同的新个体;
步骤506:结束。
步骤307:对各细菌个体进行迁徙操作,迁徙操作以一定概率发生。设给定概率ped,如果种群中的某个细菌个体满足迁徙发生的概率,则这个细菌个体灭亡,并随机地在解空间的任意位置生成一个新个体,这个新个体与灭亡的个体可能具有不同的位置,即不同的觅食能力。迁徙操作随机生成的这个新个体可能更靠近全局最优解,更有利于趋向性操作跳出局部最优解和寻找全局最优解。设初始时设i=0,rand()是[0,1]区间上均匀分布的随机数其具体流程如图6所示,包括:
步骤600:开始;
步骤601:更新当前细菌个体i;
步骤602:判断当前细菌个体i是否属于细菌群,如是,转至步骤603;否则,转至步骤605:
步骤603:判断rand()是否小于ped,如是,转至步骤604,否则,转至步骤601;
步骤604:当前细菌个体i灭亡,随机产生新细菌i,转至步骤601;
步骤605:结束。
步骤308:判断当前得到的最优细菌个体是否达到用户的期望值,如是,转至步骤309;否则,转至步骤310:
步骤309:选择该细菌个体对应的工作节点作为最佳工作节点。
步骤310:保留当前最优个体,并更新适应度值,返回步骤304。
可见,本发明利用细菌觅食算法来实现云计算中任务调度和资源分配问题,使得云计算对用户任务群的调度具有群体智能并行搜索、易跳出局部极小值等优点,有助于保持云计算中任务群的多样性;更能满足用户的需求,提高用户体验的满意度。
进一步的,本发明在对细菌个体进行趋向性操作时,将细菌游动的步长调整为动态值,可提高优化前期全局搜索能力和优化后期的局部搜索能力,更利于云计算效率的提升和资源利用率的提升。
另外,本发明在每个细菌个体i的趋向操作过程中,还对其进行群体感应操作,细菌个体感知周围环境,试探搜索菌群中是否存在位置最好的细菌。即本实施例中群体感应机制允许细菌个体利用同伴的经验来指导自己的游动路线,这种信念吸引机制加快了在解空间中的全局搜索速度,同时有助于细菌个体跳出局部最优,并避免细菌从全局最优区域逃逸的可能,保证高优先级的任务分配至效率最高的工作节点执行。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (24)
1.一种云计算中的任务调度方法,其特征在于包括:
将任务的特征信息进行参数化;
对所述任务进行分类;
根据所述分类结果,对所述任务经参数化的特征信息进行编码得到编码后的特征信息;
从工作节点中选择N个作为细菌个体i组成初始化细菌群,1≤i≤N;
根据算法解码库,分别对各细菌个体对应所述编码后的特征信息进行解码;
计算各细菌个体的适应度值;
对各细菌个体进行细菌趋向操作;
进行细菌个体复制操作;
进行细菌个体的迁徙操作;
判断当前得到的最优细菌个体是否达到用户的期望值,如是,则选择该细菌个体对应的工作节点作为最佳工作节点;否则,返回所述计算各细菌个体的适应度值步骤;
通过所述最佳工作节点执行所述任务。
2.如权利要求1所述的云计算中的任务调度方法,其特征在于,在对各细菌个体进行细菌趋向操作过程中,还包括:
对各细菌个体执行群体感应操作。
3.如权利要求2所述的云计算中的任务调度方法,其特征在于,对各细菌个体执行群体感应操作包括:
确定细菌群体中目前位置最优的细菌个体序列Ic_best,存储其位置和适应度值;
确定细菌群中将要进行搜索的细菌个体序列I;
在所述Ic_best中,选定一个编号Jrand;
遍历所述Ic_best,确定所述Jrand在所述Ic_best中的位置PJ;
遍历所述I中的各细菌个体,找到所述I中所述Jrand的起始位置,将其与所述PJ的编号进行置换;
对当前细菌个体的当前位置与所述Ic_best中的细菌个体进行比较,如果当前细菌个体的新位置更优,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新;否则,当前细菌个体下一次趋向性操作时,向最优细菌个体的位置靠拢。
4.如权利要求3所述的云计算中的任务调度方法,其特征在于,在对各细菌个体执行群体感应操作过程中,如发现当前细菌个体停顿,重新选定一个方向,再次对该细菌个体进行搜索;或停止当前细菌个体的搜索,跳至下一细菌个体进行搜索操作。
5.如权利要求3所述的云计算中的任务调度方法,其特征在于,在当前细菌个体的新位置更优时,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新具体如下:
If Ji(j+1,k,l)>Jbest(j,k,l)
式中:为当前细菌个体i进行群体感应后的更新位置,j表征第j次趋向操作,k表征第k次复制操作,l表征第l次迁徙;Ji(j+1,k,l)为当前细菌个体i的适应度值;θb(j,k,l)和Jbest(j,k,l)分别为当前细菌群位置最优的细菌个体b的位置和适应度值;Ccc为吸引因子,决定细菌个体向群体历史最优位置游动的步幅。
6.如权利要求3所述的云计算中的任务调度方法,其特征在于,在当前细菌个体下一次趋向性操作向最优细菌个体的位置靠拢具体如下:
式中,表示当前细菌个体i经第d次趋向性操作后的速度;ω为惯性权重,使细菌保持运动惯性和扩展搜索空间的趋势;表示当前细菌个体i经第d-1次趋向性操作后的速度;C1为加速度常数;是[0,1]区间内均匀分布的伪随机数;Vi为细菌个体i的速度;θb(j,k,l)为当前细菌群位置最优的细菌个体b的位置;为当前细菌个体i经第d-1次趋向性操作后的位置;为当前细菌个体i经第d次趋向性操作后的位置。
7.如权利要求1所述的云计算中的任务调度方法,其特征在于,对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌向前游动的步长,θi(j,k,l)表示细菌个体i经历第j次趋向操作、第k次复制、第l次迁徙之后的位置;
Δ(i)表示旋转向量,取值范围为[-1,1]。
8.如权利要求1所述的云计算中的任务调度方法,其特征在于,对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(k,l)Φ(j)
式中:θi(j,k,l)表示细菌个体i经历第j次趋向操作、第k次复制、第l次迁徙之后的位置,C(k,l)=Linit/nk+l-1,C(k,l)表示细菌第k次复制、第l次迁徙时的趋向操作步长;Linit为初始趋向步长;n为控制步长下降梯度的参数;
Δ(i)表示旋转向量,取值范围为[-1,1]。
9.如权利要求1所述的云计算中的任务调度方法,其特征在于,对当前细菌个体i进行趋向性操作后,计算其适应度值具体如下:
Ji(j+1,k,l)=Ji(j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))
P(j,k,l)={θi(j,k,l)|i=1,2,...S}
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcc(θi(j+1,k,l),P(j+1,k,l))为细菌i的个体间感应度值;θi(j+1,k,l)为细菌个体i进行第j+1次趋向操作后的更新位置;P(j+1,k,l)为细菌个体i进行第j+1次趋向操作后在细菌群中的个体位置;P(j,k,l)为细菌个体i进行第j次趋向操作后在细菌群中的个体位置;dattr和wattr分别表示吸引因子的数量和释放速率;hrep和wrep分别表示排斥因子的数量和释放速率;表示第i个细菌所在位置对细菌群的群聚性影响,表示第i个细菌所在位置对细菌群的群聚性影响系数,表示第i个细菌所在位置的方差,θm表示细菌群所在位置的第m维,表示第i个细菌所在位置的第m维,D表示细菌搜索环境的维数,表示第i个细菌所在位置对细菌群的排斥性影响,表示第i个细菌所在位置对细菌群的排斥性影响系数。
10.如权利要求1-9任一项所述的云计算中的任务调度方法,其特征在于,所述任务的特征信息包括CPU、内存个数、带宽、资源成本以及故障率的倒数中的至少一种。
11.如权利要求1-9任一项所述的云计算中的任务调度方法,其特征在于,对所述任务进行分类包括根据各任务的优先级和/或各任务执行的评判指标对各任务进行分类。
12.如权利要求11所述的云计算中的任务调度方法,其特征在于,所述任务执行的评判指标为任务完成时间、网络带宽、资源成本或可靠性参数。
13.一种云计算中的任务调度系统,其特征在于,包括:
用户任务信息群处理模块,用于将任务的特征信息进行参数化;
任务分类模块,用于对所述任务进行分类;
资源分配与调度模块,用于根据所述分类结果,对所述任务经参数化的特征信息进行编码得到编码后的特征信息;从工作节点中选择N个作为细菌个体i组成初始化细菌群,1≤i≤N;根据算法解码库,分别对各细菌个体对应所述编码后的特征信息进行解码;计算各细菌个体的适应度值;对各细菌个体进行细菌趋向操作;进行细菌个体复制操作;进行细菌个体的迁徙操作;判断当前得到的最优细菌个体是否达到用户的期望值,如是,则选择该细菌个体对应的工作节点作为最佳工作节点;否则,返回所述计算各细菌个体的适应度值步骤;
节点管理模块,用于将所述任务部署到所述最佳工作节点,通过所述最佳工作节点执行所述任务。
14.如权利要求13所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块在对各细菌个体进行细菌趋向操作过程中,还包括:
对各细菌个体执行群体感应操作。
15.如权利要求14所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块对各细菌个体执行群体感应操作包括:
确定细菌群体中目前位置最优的细菌个体序列Ic_best,存储其位置和适应度值;
确定细菌群中将要进行搜索的细菌个体序列I;
在所述Ic_best中,选定一个编号Jrand;
遍历所述Ic_best,确定所述Jrand在所述Ic_best中的位置PJ;
遍历所述I中的各细菌个体,找到所述I中所述Jrand的起始位置,将其与所述PJ的编号进行置换;
对当前细菌个体的当前位置与所述Ic_best中的细菌个体进行比较,如果当前细菌个体的新位置更优,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新;否则,当前细菌个体下一次趋向性操作时,向最优细菌个体的位置靠拢。
16.如权利要求15所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块在对各细菌个体执行群体感应操作过程中,如发现当前细菌个体停顿,重新选定一个方向,再次对该细菌个体进行搜索;或停止当前细菌个体的搜索,跳至下一细菌个体进行搜索操作。
17.如权利要求15所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块在判断当前细菌个体的新位置更优时,将最优细菌个体更新为当前细菌个体,并将细菌群最优适应度值也相应进行更新具体如下:
If Ji(j+1,k,l)>Jbest(j,k,l)
式中:为当前细菌个体i进行群体感应后的更新位置,j表征第j次趋向操作,k表征第k次复制操作,l表征第l次迁徙;Ji(j+1,k,l)为当前细菌个体i的适应度值;θb(j,k,l)和Jbest(j,k,l)分别为当前细菌群位置最优的细菌个体b的位置和适应度值;Ccc为吸引因子,决定细菌个体向群体历史最优位置游动的步幅。
18.如权利要求15所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块在将当前细菌个体下一次趋向性操作向最优细菌个体的位置靠拢具体如下:
式中,表示当前细菌个体i经第d次趋向性操作后的速度;ω为惯性权重,使细菌保持运动惯性和扩展搜索空间的趋势;表示当前细菌个体i经第d-1次趋向性操作后的速度;C1为加速度常数;是[0,1]区间内均匀分布的伪随机数;Vi为细菌个体i的速度;θb(j,k,l)为当前细菌群位置最优的细菌个体b的位置;为当前细菌个体i经第d-1次趋向性操作后的位置;为当前细菌个体i经第d次趋向性操作后的位置。
19.如权利要求13所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(i)Φ(j)
式中:C(i)>0,表示细菌向前游动的步长,θi(j,k,l)表示细菌个体i经历第j次趋向操作、第k次复制、第l次迁徙之后的位置;
Δ(i)表示旋转向量,取值范围为[-1,1]。
20.如权利要求13所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块对当前细菌个体i进行趋向性操作具体如下:
θi(j+1,k,l)=θi(j,k,l)+C(k,l)Φ(j)
式中:C(k,l)=Linit/nk+l-1,C(k,l)表示细菌第k次复制、第l次迁徙时的趋向操作步长;Linit为初始趋向步长;n为控制步长下降梯度的参数;θi(j,k,l)表示细菌个体i经历第j次趋向操作、第k次复制、第l次迁徙之后的位置;
Δ(i)表示旋转向量,取值范围为[-1,1]。
21.如权利要求13所述的云计算中的任务调度系统,其特征在于,所述资源分配与调度模块对当前细菌个体i进行趋向性操作后,计算其适应度值具体如下:
Ji(j+1,k,l)=Ji(j,k,l)+Jcc(θi(j+1,k,l),P(j+1,k,l))
P(j,k,l)={θi(j,k,l)|i=1,2,...S}
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcc(θi(j+1,k,l),P(j+1,k,l))为细菌i的个体间感应度值;θi(j+1,k,l)为细菌个体i进行第j+1次趋向操作后的更新位置;P(j+1,k,l)为细菌个体i进行第j+1次趋向操作后在细菌群中的个体位置;P(j,k,l)为细菌个体i进行第j次趋向操作后在细菌群中的个体位置;dattr和wattr分别表示吸引因子的数量和释放速率;hrep和wrep分别表示排斥因子的数量和释放速率;表示第i个细菌所在位置对细菌群的群聚性影响,表示第i个细菌所在位置对细菌群的群聚性影响系数,表示第i个细菌所在位置的方差,θm表示细菌群所在位置的第m维,表示第i个细菌所在位置的第m维,D表示细菌搜索环境的维数,表示第i个细菌所在位置对细菌群的排斥性影响,表示第i个细菌所在位置对细菌群的排斥性影响系数。
22.如权利要求13-21任一项所述的云计算中的任务调度系统,其特征在于,所述任务的特征信息包括CPU、内存个数、带宽、资源成本以及故障率的倒数中的至少一种。
23.如权利要求13-21任一项所述的云计算中的任务调度系统,其特征在于,对所述任务进行分类包括根据各任务的优先级和/或各任务执行的评判指标对各任务进行分类。
24.如权利要求23所述的云计算中的任务调度系统,其特征在于,所述任务执行的评判指标为任务完成时间、网络带宽、资源成本或可靠性参数。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210527819.4A CN103870317B (zh) | 2012-12-10 | 2012-12-10 | 云计算中的任务调度方法及系统 |
US14/650,747 US10127085B2 (en) | 2012-12-10 | 2013-10-14 | Method and system for scheduling task in cloud computing |
KR1020157018393A KR101942617B1 (ko) | 2012-12-10 | 2013-10-14 | 클라우드 컴퓨팅중의 태스크 스케줄링 방법 및 시스템 |
PCT/CN2013/085186 WO2014090037A1 (zh) | 2012-12-10 | 2013-10-14 | 云计算中的任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210527819.4A CN103870317B (zh) | 2012-12-10 | 2012-12-10 | 云计算中的任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103870317A CN103870317A (zh) | 2014-06-18 |
CN103870317B true CN103870317B (zh) | 2017-07-21 |
Family
ID=50908884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210527819.4A Expired - Fee Related CN103870317B (zh) | 2012-12-10 | 2012-12-10 | 云计算中的任务调度方法及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10127085B2 (zh) |
KR (1) | KR101942617B1 (zh) |
CN (1) | CN103870317B (zh) |
WO (1) | WO2014090037A1 (zh) |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2518894A (en) * | 2013-10-07 | 2015-04-08 | Ibm | A method and a system for operating programs on a computer cluster |
US10459892B2 (en) | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US11132336B2 (en) | 2015-01-12 | 2021-09-28 | Qumulo, Inc. | Filesystem hierarchical capacity quantity and aggregate metrics |
CN104640218B (zh) * | 2015-01-29 | 2018-12-14 | 南京理工大学 | 有比例率约束的异构网络无线资源分配方法 |
CN104917812B (zh) * | 2015-04-16 | 2018-03-02 | 西安交通大学 | 一种应用于群智计算的服务节点选择方法 |
CN105022406B (zh) * | 2015-06-29 | 2017-10-27 | 徐州工程学院 | 基于改进细菌觅食算法的多机器人协作气味源定位方法 |
CN105138404B (zh) * | 2015-10-09 | 2018-04-03 | 电子科技大学 | 面向功耗延时与热均衡的多核阵列任务调度方法 |
CN106020927B (zh) * | 2016-05-05 | 2018-03-16 | 中国人民解放军国防科学技术大学 | 一种云计算系统中任务调度与资源配置的通用方法 |
US10223172B2 (en) * | 2016-05-10 | 2019-03-05 | International Business Machines Corporation | Object storage workflow optimization leveraging storage area network value adds |
US10225343B2 (en) * | 2016-05-10 | 2019-03-05 | International Business Machines Corporation | Object storage workflow optimization leveraging underlying hardware, operating system, and virtualization value adds |
US10628222B2 (en) * | 2016-05-17 | 2020-04-21 | International Business Machines Corporation | Allocating compute offload resources |
CN106296044B (zh) * | 2016-10-08 | 2023-08-25 | 南方电网科学研究院有限责任公司 | 电力系统风险调度方法和系统 |
CN108062243B (zh) * | 2016-11-08 | 2022-01-04 | 杭州海康威视数字技术股份有限公司 | 执行计划的生成方法、任务执行方法及装置 |
US10095729B2 (en) | 2016-12-09 | 2018-10-09 | Qumulo, Inc. | Managing storage quotas in a shared storage system |
CN106685720B (zh) * | 2016-12-30 | 2020-08-25 | 南京理工大学 | 基于层次竞价机制的网络安全资源分配方法 |
CN107172627B (zh) * | 2017-05-31 | 2021-03-12 | 江西理工大学 | 基于混沌优化细菌觅食算法的传感器节点部署方法 |
CN107045455B (zh) * | 2017-06-19 | 2019-06-11 | 华中科技大学 | 一种基于负载预测的Docker Swarm集群资源调度优化方法 |
CN107672586B (zh) * | 2017-09-30 | 2023-05-30 | 中北润良新能源汽车(徐州)股份有限公司 | 一种电动汽车智能倒车辅助系统及方法 |
CN108469988B (zh) * | 2018-02-28 | 2021-12-17 | 西北大学 | 一种基于异构Hadoop集群的任务调度方法 |
CN108596359A (zh) * | 2018-03-16 | 2018-09-28 | 泰康保险集团股份有限公司 | 康复医嘱任务分派优化方法、装置和设备 |
CN108776612A (zh) * | 2018-04-11 | 2018-11-09 | 深圳大学 | 一种云计算任务分配方法、装置、设备及存储介质 |
US10893096B2 (en) | 2018-05-17 | 2021-01-12 | International Business Machines Corporation | Optimizing dynamical resource allocations using a data heat map in disaggregated data centers |
US11221886B2 (en) | 2018-05-17 | 2022-01-11 | International Business Machines Corporation | Optimizing dynamical resource allocations for cache-friendly workloads in disaggregated data centers |
US11330042B2 (en) | 2018-05-17 | 2022-05-10 | International Business Machines Corporation | Optimizing dynamic resource allocations for storage-dependent workloads in disaggregated data centers |
US10977085B2 (en) | 2018-05-17 | 2021-04-13 | International Business Machines Corporation | Optimizing dynamical resource allocations in disaggregated data centers |
US10936374B2 (en) | 2018-05-17 | 2021-03-02 | International Business Machines Corporation | Optimizing dynamic resource allocations for memory-dependent workloads in disaggregated data centers |
US10841367B2 (en) * | 2018-05-17 | 2020-11-17 | International Business Machines Corporation | Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers |
US10601903B2 (en) | 2018-05-17 | 2020-03-24 | International Business Machines Corporation | Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers |
US11360936B2 (en) | 2018-06-08 | 2022-06-14 | Qumulo, Inc. | Managing per object snapshot coverage in filesystems |
CN110750341B (zh) * | 2018-07-24 | 2022-08-02 | 深圳市优必选科技有限公司 | 任务调度方法、装置、系统、终端设备及存储介质 |
CN109495314B (zh) * | 2018-12-07 | 2020-12-18 | 达闼科技(北京)有限公司 | 云端机器人的通信方法、装置、介质及电子设备 |
US10534758B1 (en) | 2018-12-20 | 2020-01-14 | Qumulo, Inc. | File system cache tiers |
US11151092B2 (en) | 2019-01-30 | 2021-10-19 | Qumulo, Inc. | Data replication in distributed file systems |
CN110120888B (zh) * | 2019-04-26 | 2022-03-18 | 井冈山大学 | 一种云众包平台海量服务资源组合优化方法与系统 |
CN110147280B (zh) * | 2019-05-14 | 2023-01-31 | 河南城建学院 | 基于安全与成本感知的大数据应用调度方法 |
CN110297694A (zh) * | 2019-07-05 | 2019-10-01 | 桂林理工大学 | 一种基于资源分类和任务优先级的启发式云计算调度方法 |
CN110750355B (zh) * | 2019-08-26 | 2022-03-25 | 北京丁牛科技有限公司 | 控制系统、控制方法及装置 |
US11182724B2 (en) * | 2019-08-30 | 2021-11-23 | Tata Consultancy Services Limited | Estimation of per-application migration pricing and application move group sequence for cloud migration |
CN111061331A (zh) * | 2019-12-31 | 2020-04-24 | 内蒙古工业大学 | 光伏最大功率控制系统和方法 |
CN113138848A (zh) * | 2020-01-20 | 2021-07-20 | 中移(上海)信息通信科技有限公司 | 获取资源分配策略的方法、装置、设备及存储介质 |
US10860372B1 (en) * | 2020-01-24 | 2020-12-08 | Qumulo, Inc. | Managing throughput fairness and quality of service in file systems |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US11151001B2 (en) | 2020-01-28 | 2021-10-19 | Qumulo, Inc. | Recovery checkpoints for distributed file systems |
CN111314361B (zh) * | 2020-02-24 | 2022-09-23 | 杭州安恒信息技术股份有限公司 | 一种基于细菌觅食算法的攻击威胁感知方法和装置 |
CN111427688B (zh) * | 2020-03-23 | 2023-08-11 | 武汉轻工大学 | 云任务多目标调度方法、装置、电子设备及存储介质 |
CN111818119B (zh) * | 2020-05-04 | 2023-10-24 | 国网浙江省电力有限公司 | 基于改进的蜘蛛集群的数据服务资源优化调度方法 |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
CN112559135B (zh) * | 2020-12-24 | 2023-09-26 | 重庆邮电大学 | 一种基于QoS的容器云资源的调度方法 |
CN112667379B (zh) * | 2020-12-29 | 2024-06-07 | 深圳Tcl新技术有限公司 | 任务调度方法及服务器 |
US11157458B1 (en) | 2021-01-28 | 2021-10-26 | Qumulo, Inc. | Replicating files in distributed file systems using object-based data storage |
US11461241B2 (en) | 2021-03-03 | 2022-10-04 | Qumulo, Inc. | Storage tier management for file systems |
US11567660B2 (en) | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11294604B1 (en) | 2021-10-22 | 2022-04-05 | Qumulo, Inc. | Serverless disk drives based on cloud storage |
US11354273B1 (en) | 2021-11-18 | 2022-06-07 | Qumulo, Inc. | Managing usable storage space in distributed file systems |
CN114326720B (zh) * | 2021-12-20 | 2023-08-22 | 上海大学 | 一种无人艇实时避障方法及系统 |
US11599508B1 (en) | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11966592B1 (en) | 2022-11-29 | 2024-04-23 | Qumulo, Inc. | In-place erasure code transcoding for distributed file systems |
CN116187724B (zh) | 2023-04-27 | 2023-07-14 | 成都秦川物联网科技股份有限公司 | 智慧燃气平台工单联动处理方法、物联网系统及存储介质 |
CN116302451B (zh) * | 2023-05-18 | 2023-08-08 | 广州豪特节能环保科技股份有限公司 | 一种云计算数据中心离线节能调度的方法及系统 |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG119169A1 (en) * | 2003-01-20 | 2006-02-28 | Nanyang Polytechnic | Path searching system using multiple groups of cooperating agents and method thereof |
WO2005073854A2 (en) | 2004-01-27 | 2005-08-11 | Koninklijke Philips Electronics, N.V. | System and method for providing an extended computing capacity |
US7810099B2 (en) * | 2004-06-17 | 2010-10-05 | International Business Machines Corporation | Optimizing workflow execution against a heterogeneous grid computing topology |
JP4781089B2 (ja) * | 2005-11-15 | 2011-09-28 | 株式会社ソニー・コンピュータエンタテインメント | タスク割り当て方法およびタスク割り当て装置 |
US8190543B2 (en) * | 2008-03-08 | 2012-05-29 | Tokyo Electron Limited | Autonomous biologically based learning tool |
KR101350755B1 (ko) * | 2011-01-14 | 2014-01-10 | 대전대학교 산학협력단 | 클라우드 컴퓨팅에서 다중 워크플로우를 위한 비용기반 스케줄링 방법 및 그 시스템 |
US8706869B2 (en) * | 2011-06-14 | 2014-04-22 | International Business Machines Corporation | Distributed cloud placement software |
US8631154B2 (en) * | 2011-06-29 | 2014-01-14 | International Business Machines Corporation | Dynamically modifying quality of service levels for resources in a networked computing environment |
CN106155807A (zh) * | 2015-04-15 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种实现资源调度的方法与设备 |
US10034407B2 (en) * | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
-
2012
- 2012-12-10 CN CN201210527819.4A patent/CN103870317B/zh not_active Expired - Fee Related
-
2013
- 2013-10-14 KR KR1020157018393A patent/KR101942617B1/ko active IP Right Grant
- 2013-10-14 WO PCT/CN2013/085186 patent/WO2014090037A1/zh active Application Filing
- 2013-10-14 US US14/650,747 patent/US10127085B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986272A (zh) * | 2010-11-05 | 2011-03-16 | 北京大学 | 一种云计算环境下的任务调度方法 |
CN102111337A (zh) * | 2011-03-14 | 2011-06-29 | 浪潮(北京)电子信息产业有限公司 | 任务调度方法和系统 |
Non-Patent Citations (2)
Title |
---|
Optimization Algorithms based on a Model of Bacterial Chemotaxis;Sibylle Muller等;《In Proceedings of 6th International Conference on Simulation of Adaptive Behavior:From Animals to Animats》;20001231;375-384 * |
细菌觅食优化算法的改进及应用;刘小龙;《中国博士学位论文全文数据库 信息科技辑》;20120615;I138-3 * |
Also Published As
Publication number | Publication date |
---|---|
WO2014090037A1 (zh) | 2014-06-19 |
KR101942617B1 (ko) | 2019-04-11 |
KR20150110511A (ko) | 2015-10-02 |
CN103870317A (zh) | 2014-06-18 |
US10127085B2 (en) | 2018-11-13 |
US20160292013A1 (en) | 2016-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103870317B (zh) | 云计算中的任务调度方法及系统 | |
Mei et al. | An efficient feature selection algorithm for evolving job shop scheduling rules with genetic programming | |
Gang et al. | A novel particle swarm optimization algorithm based on particle migration | |
Huang et al. | Multi-objective flexible job-shop scheduling problem using modified discrete particle swarm optimization | |
Liu et al. | Particle swarm optimization based on dynamic niche technology with applications to conceptual design | |
CN105550033B (zh) | 私有云环境下基于遗传禁忌混合算法的资源调度策略方法 | |
Wu | Cloud computing task scheduling policy based on improved particle swarm optimization | |
CN111611062B (zh) | 云边协同分层计算方法及云边协同分层计算系统 | |
Sonklin et al. | A decrease-and-conquer genetic algorithm for energy efficient virtual machine placement in data centers | |
Hariharan et al. | Wbat job scheduler: A multi-objective approach for job scheduling problem on cloud computing | |
Reyes et al. | A GRASP-based scheme for the set covering problem | |
Kumari et al. | A hybrid approach of genetic algorithm and multi objective PSO task scheduling in cloud computing | |
Ali et al. | A biogeography-based optimization algorithm for energy efficient virtual machine placement | |
Raghav et al. | A comparative analysis report of nature-inspired algorithms for load balancing in cloud environment | |
CN108376180A (zh) | 影响大数据系统性能的关键参数查找方法及装置 | |
Stahl et al. | PMCRI: A parallel modular classification rule induction framework | |
Abdelhamid et al. | PartLy: learning data partitioning for distributed data stream processing | |
Crawford et al. | Two swarm intelligence algorithms for the set covering problem | |
Jiao et al. | A dynamic global and local combined particle swarm optimization algorithm | |
Jagadish et al. | Task scheduling algorithms in fog computing: A comparison and analysis | |
Wang et al. | Spark load balancing strategy optimization based on internet of things | |
Singh et al. | Numerical simulation design of multiple users offloading using improved optimization approach for edge computing | |
Chen et al. | Naive bayes classifier based partitioner for mapreduce | |
Sajadinia et al. | Virtual Machine Placement Strategy Using Clustering and Genetic Algorithm for increasing cloud performance and power saving | |
Zhou et al. | Combining CA and PSO to solve flexible job shop scheduling problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170721 Termination date: 20211210 |