CN103870317B - 云计算中的任务调度方法及*** - Google Patents

云计算中的任务调度方法及*** Download PDF

Info

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
Application number
CN201210527819.4A
Other languages
English (en)
Other versions
CN103870317A (zh
Inventor
李明俐
任建丽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201210527819.4A priority Critical patent/CN103870317B/zh
Priority to US14/650,747 priority patent/US10127085B2/en
Priority to PCT/CN2013/085186 priority patent/WO2014090037A1/zh
Priority to KR1020157018393A priority patent/KR101942617B1/ko
Publication of CN103870317A publication Critical patent/CN103870317A/zh
Application granted granted Critical
Publication of CN103870317B publication Critical patent/CN103870317B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (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)+Jcci(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcci(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)+Jcci(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcci(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)+Jcci(j+1,k,l),P(j+1,k,l))
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcci(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)
θ c c i ( j + 1 , k , l ) = θ i ( j + 1 , k , l ) + C c c × ( θ b ( j , k , l ) - θ i ( 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 n e w ( j + 1 , k , l ) = θ i ( d - 1 ) o l d ( j + 1 , k , l ) + V i d n e w
式中,表示当前细菌个体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)+Jcci(j+1,k,l),P(j+1,k,l))
J c c ( θ , P ( j , k , l ) ) = Σ i = 1 N J c c ( θ , θ i ( j , k , l ) ) = Σ i = 1 N [ - d a t t r exp ( - w a t t r Σ m = 1 D ( θ m - θ m i ) 2 ] + Σ i = 1 N [ h r e p exp ( - w r e p Σ m = 1 D ( θ m - θ m i ) 2 ]
P(j,k,l)={θi(j,k,l)|i=1,2,...S}
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcci(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)
θ c c i ( j + 1 , k , l ) = θ i ( j + 1 , k , l ) + C c c × ( θ b ( j , k , l ) - θ i ( 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 n e w ( j + 1 , k , l ) = θ i ( d - 1 ) o l d ( j + 1 , k , l ) + V i d n e w
式中,表示当前细菌个体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)+Jcci(j+1,k,l),P(j+1,k,l))
J c c ( θ , P ( j , k , l ) ) = Σ i = 1 N J c c ( θ , θ i ( j , k , l ) ) = Σ i = 1 N [ - d a t t r exp ( - w a t t r Σ m = 1 D ( θ m - θ m i ) 2 ] + Σ i = 1 N [ h r e p exp ( - w r e p Σ m = 1 D ( θ m - θ m i ) 2 ]
P(j,k,l)={θi(j,k,l)|i=1,2,...S}
式中,Ji(j,k,l)为细菌i在第j次趋向操作,第k次复制操作和第l次迁徙操作之后的适应度值;Jcci(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所述的云计算中的任务调度***,其特征在于,所述任务执行的评判指标为任务完成时间、网络带宽、资源成本或可靠性参数。
CN201210527819.4A 2012-12-10 2012-12-10 云计算中的任务调度方法及*** Expired - Fee Related CN103870317B (zh)

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
PCT/CN2013/085186 WO2014090037A1 (zh) 2012-12-10 2013-10-14 云计算中的任务调度方法及***
KR1020157018393A KR101942617B1 (ko) 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)

* Cited by examiner, † Cited by third party
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 中国人民解放军国防科学技术大学 一种云计算***中任务调度与资源配置的通用方法
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
US10223172B2 (en) * 2016-05-10 2019-03-05 International Business Machines Corporation Object storage workflow optimization leveraging storage area network 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 深圳大学 一种云计算任务分配方法、装置、设备及存储介质
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
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
US10841367B2 (en) * 2018-05-17 2020-11-17 International Business Machines Corporation Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers
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
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
US11132126B1 (en) 2021-03-16 2021-09-28 Qumulo, Inc. Backup services for distributed file systems in cloud computing environments
US11567660B2 (en) 2021-03-16 2023-01-31 Qumulo, Inc. Managing cloud storage for distributed file systems
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 阿里巴巴集团控股有限公司 一种实现资源调度的方法与设备
US10334334B2 (en) * 2016-07-22 2019-06-25 Intel Corporation Storage sled and techniques for a data center

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
US20160292013A1 (en) 2016-10-06
CN103870317A (zh) 2014-06-18
KR20150110511A (ko) 2015-10-02
US10127085B2 (en) 2018-11-13
KR101942617B1 (ko) 2019-04-11
WO2014090037A1 (zh) 2014-06-19

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
CN103631657B (zh) 一种基于MapReduce的任务调度方法
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
Wu Cloud computing task scheduling policy based on improved particle swarm optimization
CN111611062B (zh) 云边协同分层计算方法及云边协同分层计算***
Wang et al. An adaptive multi-population genetic algorithm for job-shop scheduling problem
Sonklin et al. A decrease-and-conquer genetic algorithm for energy efficient virtual machine placement in data centers
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
Singh Cuckoo genetic optimization algorithm for efficient job scheduling with load balance in grid computing
Wang et al. Spark load balancing strategy optimization based on internet of things
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
Ariyaratne et al. A review of recent advancements of firefly algorithm; a modern nature inspired algorithm
Dugonik et al. Multi-population firefly algorithm

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