CN110362388A - 一种资源调度方法及装置 - Google Patents
一种资源调度方法及装置 Download PDFInfo
- Publication number
- CN110362388A CN110362388A CN201810320165.5A CN201810320165A CN110362388A CN 110362388 A CN110362388 A CN 110362388A CN 201810320165 A CN201810320165 A CN 201810320165A CN 110362388 A CN110362388 A CN 110362388A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- computing resources
- server
- response time
- task
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000001105 regulatory effect Effects 0.000 title abstract 2
- 230000004044 response Effects 0.000 claims abstract description 93
- 238000004422 calculation algorithm Methods 0.000 claims description 42
- 230000002068 genetic effect Effects 0.000 claims description 35
- 210000000349 chromosome Anatomy 0.000 claims description 33
- 238000010845 search algorithm Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 21
- 230000005012 migration Effects 0.000 claims description 15
- 238000013508 migration Methods 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 8
- 238000013507 mapping Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005265 energy consumption Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000035772 mutation Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 108090000623 proteins and genes Proteins 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013468 resource allocation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 238000009396 hybridization Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910052500 inorganic mineral Inorganic materials 0.000 description 1
- 239000011707 mineral Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种资源调度方法及装置,用于解决现有技术中云计算平台功耗高的问题。方法包括:统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种资源调度方法及装置。
背景技术
目前,云计算技术已经被广泛地运用于各个领域。尤其在一些高新科技企业,海量的数据存储在数以千计的云端服务器中,通过集群级服务器进行处理运算,为企业和消费者提供高效的信息服务。
但是,目前的云计算平台为了处理企业用户及消费者产生的海量数据和服务请求,通常需要消耗大量的电能来支撑集群级服务器的高效运作,导致企业成本开销大,同时集群级服务器产生的高功耗对环保也带来了巨大威胁。
发明内容
本发明实施例提供一种资源调度方法及装置,用于解决现有技术中的云计算平台功耗高的问题。
第一方面,本发明实施例提供一种资源调度方法,包括:
统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;
判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;
若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;
若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
上述方案通过比较服务器的计算资源总量是否满足服务器上所有虚拟机需求的计算资源总量确定服务器计算资源的具体分配方式,在服务器的计算资源总量多于或等于服务器上所有虚拟机需求的计算资源总量时,根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,在服务器的计算资源总量少于服务器上所有虚拟机需求的计算资源总量时,以优先满足高优先级虚拟机的计算资源需求为原则进行资源分配,在保证云计算平台应用性能的前提下使得云计算平台的功耗达到最低,达到了节约资源开销、保护环境的技术效果。
可选的,所述统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量,包括:统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间;根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源;对所有虚拟机为执行待执行任务所需求的计算资源进行求和,并将求和的结果作为所述任一服务器上的所有虚拟机需求的计算资源总量。
本方式基于各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源,并通过对所有虚拟机为执行待执行任务所需求的计算资源进行求和获得所有虚拟机需求的计算资源总量,保证了资源调度方法的可靠性。
可选的,所述根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,包括:确定各个虚拟机在上一周期内执行历史任务的平均响应时间;统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重;将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
本方式在服务器的计算资源总量多于或等于服务器上所有虚拟机需求的计算资源总量时,根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,使得各个虚拟机的需求可以得到很好的满足,可在保证云计算平台应用性能的前提下使得云计算平台的功耗达到最低。
可选的,所述根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源,包括:根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机的优先级;其中,所述虚拟机的待执行任务需要的响应时间越少,所述虚拟机的优先级越高;以优先满足优先级高的虚拟机的计算资源需求为原则,为各个虚拟机分配所述任一服务器的计算资源。
本方式在服务器的计算资源总量少于服务器上所有虚拟机需求的计算资源总量时,以优先满足高优先级的虚拟机的计算资源需求为原则进行资源分配,在保证云计算平台应用性能的同时尽可能降低云计算平台功耗,达到了节约资源开销、保护环境的技术效果。
可选的,在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,所述方法还包括:在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率;或者,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
本方式在虚拟机计算资源需求不足的状态持续较长时间后,通过使处理器超频或虚拟机迁移的方式调整虚拟机的计算资源配置,达到了保证性能安全并有效降低功耗的技术效果。
可选的,上述方法还包括:在确定所述云计算平台发生了不可预见的动态异构问题时,采用禁忌搜索算法对所述云计算平台的计算资源进行调度;其中,所述不可预见的动态异构问题包括以下三项中的至少一项:所述云计算平台的至少一个处理器的温度超过第一预定范围、所述云计算平台的至少一个处理器的主频超过第二预定范围、所述云计算平台的至少一个处理器的功耗超过第三预定范围。
本方式在云计算平台发生不可预见的动态异构问题时,通过禁忌搜索算法对计算资源进行调度,可有效降低了该动态异构问题产生的危害,降低云计算平台的功耗。
可选的,在采用禁忌搜索算法对所述云计算平台的计算资源进行调度之前,所述方法还包括:采用遗传算法求解所述云计算平台的计算资源调度策略的最优解,并将所述最优解作为所述禁忌搜索算法的初始解。
本方式在云计算平台发生不可预见的动态异构问题时,通过遗传算法和禁忌搜索算法的结合对计算资源进行调度,保证了系统的性能安全,降低了云计算平台的功耗,降低了该动态异构问题产生的危害。
可选的,所述遗传算法的编码对象为待处理任务与所述待处理任务运行的处理器的映射,所述遗传算法的染色体为所述云计算平台的计算资源调度策略;所述遗传算法使用的适应度函数为:
其中,(S,T)为染色体,A、B为具体调度任务的加权系数,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许染色体的偏差,σi(S,T)为第i个染色体的实际偏差。
第二方面,本发明实施例提供一种资源调度装置,包括:统计单元,用于统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;处理单元,用于判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述统计单元用于:统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间;根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源;对所有虚拟机为执行待执行任务所需求的计算资源进行求和,并将求和的结果作为所述任一服务器上的所有虚拟机需求的计算资源总量。
可选的,所述统计单元还用于:确定各个虚拟机在上一周期内执行历史任务的平均响应时间;统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重;所述处理单元用于:在所述任一服务器的计算资源总量满足所述所有虚拟机需求的计算资源总量时,将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述处理单元用于:在所述任一服务器的计算资源总量不满足所述所有虚拟机需求的计算资源总量时,根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机的优先级;其中,所述虚拟机的待执行任务需要的响应时间越少,所述虚拟机的优先级越高;以优先满足优先级高的虚拟机的计算资源需求为原则,为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述处理单元还用于:在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率;或者,在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
可选的,所述处理单元还用于:在确定所述云计算平台发生了不可预见的动态异构问题时,采用禁忌搜索算法对所述云计算平台的计算资源进行调度;其中,所述不可预见的动态异构问题包括以下三项中的至少一项:所述云计算平台的至少一个处理器的温度超过第一预定范围、所述云计算平台的至少一个处理器的主频超过第二预定范围、所述云计算平台的至少一个处理器的功耗超过第三预定范围。
可选的,所述处理单元还用于:在采用禁忌搜索算法对所述云计算平台的计算资源进行调度之前,采用遗传算法求解所述云计算平台的计算资源调度策略的最优解,并将所述最优解作为所述禁忌搜索算法的初始解。
可选的,所述遗传算法的编码对象为待处理任务与所述待处理任务运行的处理器的映射,所述遗传算法的染色体为所述云计算平台的计算资源调度策略;所述遗传算法使用的适应度函数为:
其中,(S,T)为染色体,A、B为具体调度任务的加权系数,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许的偏差,σi(S,T)为第i个染色体的实际偏差。
第三方面,本发明实施例提供一种资源调度设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。
第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例第一方面或第一方面的任一种可选的实施方式所述的方法。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本发明实施例技术方案通过比较服务器的计算资源总量是否满足服务器上所有虚拟机需求的计算资源总量确定服务器计算资源的具体分配方式,在服务器的计算资源总量多于或等于服务器上所有虚拟机需求的计算资源总量时,根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,在服务器的计算资源总量少于服务器上所有虚拟机需求的计算资源总量时,以优先满足高优先级虚拟机的计算资源需求为原则进行资源分配,在保证云计算平台应用性能的前提下使得云计算平台的功耗达到最低,达到了节约资源开销、保护环境的技术效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中资源调度方法的流程示意图;
图2为本发明实施例中功耗管理时间片的示意图;
图3为本发明实施例中资源调度装置的结构示意图;
图4为本发明实施例中资源调度设备的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。
需要理解的是,在本发明实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。在本发明实施例的描述中“多个”,是指两个或两个以上。
大数据时代的到来,加速了云计算技术的发展,改变了传统互联网技术(InternetTechnology,IT)基础设计的使用方式和部署模式,存储资源、计算资源等渐渐集中到了云计算数据中心,新一代数据中心的建设亦已成为支撑云技术研究与大数据领域发展的关键。
目前云计算技术被广泛地运用于各个领域,尤其在一些高新科技企业,以Google、Amazon等科技巨头为例,海量数据存储在数以千计的云端服务器中,通过集群级服务器的处理运算,为各企业和消费者提供高效的信息服务。
但是,为了处理由消费者和企业用户生成的海量数据和服务请求,云计算平台通常需要消耗大量的电能以支撑服务器集群的高效运作,而这些电能的来源往往是一些矿物质燃料等“肮脏”能源,这意味着云计算环境下带来的能耗开销在造成重大资源开销的同时,对绿色环境也带来了巨大的威胁。另一方面,集群级服务器的高能耗也包含了设备运行时产生的高温能耗,这就需要对数据中心高密度的集群级服务器进行冷却,而这样也带来了大量的能源开销。因此,云计算平台的高功耗问题随之产生。在未来,伴随着云计算服务需求的快速增长及服务质量要求的不断提高,能耗也必将水涨船高。显然,在当前能源消耗方式不可持续的情况下,在保证消费者服务质量的同时,合理分配电力资源,采取切实有效的降耗措施,对云计算技术的发展和能源环境的保护都具有十分重大的意义。
基于现有技术中的云计算平台普遍存在的高功耗问题,本发明实施例提供一种资源调度方法及装置,用以对云计算平台的功耗进行优化,达到节约资源开销、保护环境的效果。其中,本发明所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
本发明实施例提供了一种资源调度方法,应用于云计算平台,该方法可以在云计算平台中周期性地执行,本发明实施例接下来以其中一个周期为例,进行详细说明。
参照图1,该资源调度方法的具体流程包括:
步骤101:统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量。
具体实施方式包括:首先统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间,然后根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源,再对所有虚拟机为执行待执行任务所需求的计算资源进行求和,求和的结果即为所述任一服务器上的所有虚拟机需求的计算资源总量。
步骤102:判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;若为是,则执行步骤103;若为否,则执行步骤104。
步骤103:根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;
具体实施方式包括:首先确定各个虚拟机在上一执行周期内执行历史任务的平均响应时间,然后统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重,然后再将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
例如,运行在该服务器上一共有三个虚拟机A、B、C,A、B、C需求的计算资源总量为M。其中,A在上一周期内执行历史任务的平均响应时间为X1,B在上一周期内执行历史任务的平均响应时间为X2,C在上一周期内执行历史任务的平均响应时间为X3,那么A、B、C可被分配到的计算资源的权重分别为:X1/(X1+X2+X3)、X2/(X1+X2+X3)、X3/(X1+X2+X3)。然后将所述任一服务器的待分配计算资源(分配计算资源的资源量为M),按照A、B、C的权重进行分配。
其中,确定各个虚拟机在上一执行周期内执行历史任务的平均响应时间的具体实施方式包括:统计任一虚拟机在上一执行周期内执行的历史任务数量、所述任一虚拟机在上一执行周期内执行所有历史任务的响应时间的总和,将响应时间的总和除以历史任务数量,获得的比值即为该任一虚拟机在上一执行周期内执行历史任务的平均响应时间。
其中,如果所述任一服务器的计算资源总量多于所述所有虚拟机需求的计算资源总量,那么该任一服务器还可以有剩余的计算资源不被分配给该任一服务器上的任何虚拟机,并且这部分剩余的计算资源在当前执行周期内不可以被该服务器上的虚拟机调用,但可以被其他服务器上的虚拟机使用。
需要说明的是,上述确定各个虚拟机在上一执行周期内执行历史任务的平均响应时间、统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和、计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重,这三个步骤也可以在步骤103之前执行,本发明实施例不做具体限制。
步骤104:根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
具体实施方式包括:首先根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机上运行的应用服务的优先级(或确定各个虚拟机的优先级),如果虚拟机的待执行任务需要的响应时间越少,那么虚拟机上运行的应用服务的优先级越高(或虚拟机的优先级越高);然后以优先满足运行着高优先级应用服务的虚拟机的计算资源需求为原则(或以优先满足运行着高优先级应用的虚拟机的计算资源需求为原则),为各个虚拟机分配所述任一服务器的计算资源。这样最终的分配结果将会有一个或多个虚拟机被分配到计算资源到少于需求,而这些计算资源需求不足的虚拟机往往运行着低优先级的应用服务。
上述方案通过比较服务器的计算资源总量是否满足服务器上所有虚拟机需求的计算资源总量确定服务器计算资源的具体分配方式,在服务器的计算资源总量多于或等于服务器上所有虚拟机需求的计算资源总量时,根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,在服务器的计算资源总量少于服务器上所有虚拟机需求的计算资源总量时,以优先满足运行着高优先级应用服务(即待执行任务需要的响应时间少)的虚拟机的计算资源需求为原则进行资源分配,在保证云计算平台应用性能的前提下使得云计算平台的功耗达到最低,达到了节约资源开销、保护环境的技术效果。
可选的,执行步骤104之后,如果任一虚拟机出现计算资源需求不足的状态超过第二预定时长,还可以进一步执行如下方法:
生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率。
也就是说,在某个虚拟机计算资源需求不足的状态持续较长时间后,可以使得该虚拟机所在处理器超频。比如可通过动态电压频率调整(Dynamic voltage and frequencyscaling,DVFS)来调整服务器的中央处理器(Central Processing Unit,CPU)的频率,从而根据虚拟机的需求动态地控制服务器的计算资源分配,在满足服务器硬件本身的CPU资源量、CPU频率限定的范围内,实现对服务器CPU资源的合理分配,使服务器CPU资源能够被充分有效的利用,实现保证性能安全并有效降低功耗的目的。
可选的,执行步骤104之后,如果任一虚拟机出现计算资源需求不足的状态超过第二预定时长,还可以进一步执行如下方法:
生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
也就是说,在当前服务器资源长时间不能支撑该服务器上的虚拟机需求时,可以为计算资源需求不足的虚拟机配置其他服务器的计算资源,即将计算资源需求不足的虚拟机迁移到其他服务器的处理器上运行,实现保证性能安全并有效降低功耗的目的。
随着半导体产业的发展,微型芯片变得越来越小,但制造过程中的误差和可变性却更为频繁地发生,这种制程可变性(Process Variation)使得芯片在离开生产线时就可能带有各种随机的硬错误,芯片在承受性能、能耗和温度的变化等方面变得更加脆弱,导致芯片在使用时极大可能会产生硬错误。而这些硬错误导致芯片上各个处理器在功效、最大工作频率等关键参数上不同于预先的设计,比如一些元件损坏无法使用、某些关键路径上的晶体管速度变慢,而处理器为了能够继续工作,就不得不进行降级。如果云计算平台中的某个处理器发生这种硬错误,就会导致平台出现不可预见的动态异构问题。所谓动态异构,即指处理器在运行的过程中由于硬件错误导致了处理器降频,性能下降等情况。
由于云计算平台是以弹性计算的方式将集群中的处理器整合成为一个集体,可以分配任意数量的计算资源。这种资源调度模式的基础在于一个应用程序可在多个节点上进行处理,也就是说有多个处理器并行处理该应用程序,如果在应用程序运行过程中云计算平台的某个处理器发生了不可预见的动态异构问题,将会极大地影响该应用程序的运行时间,并导致云计算平台产生大量的功耗浪费。因此,解决云计算平台上不可预见的动态异构问题对于云计算平台的功耗优化管理以及云计算平台的运行性能管理具有非常重大的意义。
基于现有技术中的计算平台存在不可预见的动态异构问题,本发明实施例在执行上述资源调度方法的过程中,还可以包括:在确定所述云计算平台发生了不可预见的动态异构问题时,采用遗传算法和禁忌搜索算法对所述云计算平台的计算资源进行调度,达到处理动态异构问题、降低功耗目的。
其中,遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法的调度策略主要有这几个步骤:编码、交叉算子、变异算子、适应度函数和选择算子。其中,编码是将问题解用方便于机器处理的格式进行描述,算法的执行过程是对问题解编码的操作过程;交叉算子和变异算子模拟了生物进化过程中的杂交和变异过程,用于迭代生成新一代的种群个体;适应度函数是对种群个体优良程度的一种评估,即对问题解优劣的评估;选择算子的目的是选择较为优良的个体进行进一步迭代处理。算法在每一次迭代中通过以上几种算子的操作生成新个体和选择优秀个体,直到满足条件的个体出现。
其中,禁忌搜索(Tabu Search,TS)算法,是一种全局逐步寻优算法,它是局部搜索算法的扩展,是一种对人思维的模拟。它从一个初始解出发,选择合适的方向进行探索,选择让目标函数值变化最大的候选解。为了避免陷入局部最优解,TS搜索中利用禁忌表,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向。禁忌搜索的基本步骤如下:首先给定一个初始值和一个邻域,然后从众多的初始解之中选取一定数量的候选解;若存在候选解所优于当前最优解,那么无论这个解是否被禁忌,都将它设定为当前最优解及历史最优解,并将这个解加入到禁忌表(用于记录候选解禁忌属性的表)中,同时对禁忌表内所有禁忌对象的有效期进行修改;若不满足以上条件,则从候选解中选择未被禁忌的最佳解作为当前解,无论它是否比当前解要好,同时将它加入禁忌表中,并修改禁忌表中各对象任期;如此重复上述搜索过程直至满足停止准则。
在本发明实施例中,确定处理器是发生不可预见的动态异构问题的具体实施方式包括但不限于以下三种:1)确定云计算平台的至少一个处理器的温度超过第一预定范围;2)确定云计算平台的至少一个处理器的主频超过第二预定范围;3)确定云计算平台的至少一个处理器的功耗超过第三预定范围。以上三种实施方式,可以分别单独进行实施,也可以相互结合实施,本发明实施例不做具体限制。
下面介绍使用遗传算法和禁忌搜索算法对所述云计算平台的计算资源进行调度的实现过程:
(一)采用遗传算法求解所述云计算平台的计算资源调度策略的最优解。具体包括:
1)编码:遗传算法是一种通过模拟自然进化过程搜索最优解的方法,问题解用“染色体”表示,染色体是由“基因”编码组成的.编码通常是由字符串或数字组成,本发明实施例中,将待处理任务与所述待处理任务运行的处理器的映射(即待处理任务具体在哪个处理器上运行)作为编码对象,将云计算平台的具体计算资源调度策略作为染色体。
2)初始化种群:种群初始化采用随机生成的方式。
3)构造适应度函数:适应度函数是遗传算法中的重要函数,用于评价染色体所代表问题解的优劣。
本发明实施例采用的适应度函数为:
其中,(S,T)为染色体,A、B为具体调度任务的加权系数,和调度任务需要的响映时间相关,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许染色体的偏差,σi(S,T)为第i个染色体的实际偏差。
4)选择算子:选择算子用于从种群中选择优秀个体.算法首先按照适应度函数对当前种群中的染色体进行适应度从高到低的排序.然后选择当前种群中的前n个染色体,并将其保留到下一代种群中,当前种群中其他染色体则被丢弃。
5)交叉算子:交叉算子用于生成新的染色体,该算子的操作数是一对已存在的染色体.这对父染色体交换各自的基因片段生成子染色体,即将待处理任务重新调度,更换到其他的处理上进行运行,并判断子染色体的调度效果。
6)变异算子:变异算子用于由单个父染色体生成新的染色体。具体包括:随机选择一个基因位点,将其属性值在各自取值范围内进行变异,即随机调整某个待处理任务需要的响应时间。
通过上述遗传算法的调度,可以得到待处理任务需要的响应时间、云计算平台底层处理器的实际计算资源两个限制因素下的近似最优解。
(二)将遗传算法获得的最优解作为禁忌搜索算法的初始解,计算所述云计算平台的计算资源最优调度方案。具体包括:
1)将遗传算法生成调度方案作为禁忌搜索算法的初始解。
2)选择邻域。领域的选择可以以云计算平台的动态异构问题的统计结果为参考。
例如,假设云计算平台中产生动态异构问题的处理器数量为M,然后以M为基准,再随机选择2M数量的处理器,总共3M数量的处理器作为初始邻域,在这个范围中进行禁忌搜索。
当然,在具体实施过程中,领域的选择还可以有其他实现方式,本发明实施例不做具体限制,比如还可以选择2M,或3M,或4M等数量的处理器作为初始邻域。
3)随机生成交换对,交换对的数量为整个云计算平台中待执行任务数量的一半。
其中,交换对的定义为:由两个处理器及两个待执行任务组成的四元组表示。例如待执行任务A、B的进程分别在X、Y处理器上运行。
交换对与交换对之间的关系包括:相等、相反、无关。
交换对取反:将交换对中进程所在的处理器互换。
4)移除禁忌表中已被禁忌的交换对,对于所有交换对中的待执行任务进行交换并进行采样。
5)对采样结果进行分析,如果交换后开销较大,则将该交换对标记并加入禁忌表;否则,将其取反后再加入禁忌表中。
6)统计所有迁移过处理器的待执行任务进程的开销,如果迁移后的开销大于迁移前,则将第5)步中被标记的交换对中的待处理任务进程还原到原有处理器上;
7)特赦准则:在禁忌搜索算法求解过程中,可能会出现所有候选解都被禁忌,或者一个禁忌候选解优于当前最优解的情况。这时需要利用特赦准则将某些禁忌对象解禁,以提高优化性能。本算法采取的特赦准则是如果当前的调度方案优于当前最优解,则可以使禁忌准则无效。
8)终止条件:设定当最优调度方案出现预设次数(例如五次)时,终止算法,将最后一次出现的最优调度方案确定为禁忌搜索算法的结果,即云计算平台的计算资源最优调度方案。
在具体实施过程中,运行在云计算平台的应用程序的一个运行周期可以被分为许多相对小时间片,本发明实施例将这些时间片称为功耗管理时间片,每个功耗管理时间片又被划分为个较短的探索阶段和一个较长的稳定阶段。参照图2,上述基于遗传算法和禁忌搜索算法的调度方案在这些时间片的探索阶段中迭代地运行,并在探索阶段结束时给出计算资源最优调度方案,然后稳定阶段执行从探索阶段中取得的调度方案。
另外,在云计算平台没有动态异构问题的情况下,在上述遗传算法也可以单独被执行,用于对云计算平台的计算资源进行调度,实现性能安全的功能,保证云计算平台的服务质量。一旦平台发生异构问题,可直接获取当前遗传算法的最优解作为禁忌搜索算法的初始解,加快禁忌搜索算法的收敛速度。
上述本方式在云计算平台发生不可预见的动态异构问题时,通过结合遗传算法和禁忌搜索算法对计算资源进行调度,保证了系统的性能安全,降低了云计算平台的功耗,降低了该动态异构问题产生的危害。
基于同一发明构思,本发明实施例还提供了一种资源调度装置,参照图3,该装置包括:
统计单元201,用于统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;
处理单元202,用于判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述统计单元201用于:
统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间;
根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源;
对所有虚拟机为执行待执行任务所需求的计算资源进行求和,并将求和的结果作为所述任一服务器上的所有虚拟机需求的计算资源总量。
可选的,所述统计单元201还用于:
确定各个虚拟机在上一周期内执行历史任务的平均响应时间;统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重;
所述处理单元202用于:在所述任一服务器的计算资源总量满足所述所有虚拟机需求的计算资源总量时,将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述处理单元202用于:
在所述任一服务器的计算资源总量不满足所述所有虚拟机需求的计算资源总量时,根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机的优先级;其中,所述虚拟机的待执行任务需要的响应时间越少,所述虚拟机的优先级越高;
以优先满足优先级高的虚拟机的计算资源需求为原则,为各个虚拟机分配所述任一服务器的计算资源。
可选的,所述处理单元202还用于:
在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率;或者
在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
可选的,所述处理单元202还用于:
在确定所述云计算平台发生了不可预见的动态异构问题时,采用禁忌搜索算法对所述云计算平台的计算资源进行调度;
其中,所述不可预见的动态异构问题包括以下三项中的至少一项:所述云计算平台的至少一个处理器的温度超过第一预定范围、所述云计算平台的至少一个处理器的主频超过第二预定范围、所述云计算平台的至少一个处理器的功耗超过第三预定范围。
可选的,所述处理单元202还用于:
在采用禁忌搜索算法对所述云计算平台的计算资源进行调度之前,采用遗传算法求解所述云计算平台的计算资源调度策略的最优解,并将所述最优解作为所述禁忌搜索算法的初始解。
可选的,所述遗传算法的编码对象为待处理任务与所述待处理任务运行的处理器的映射,所述遗传算法的染色体为所述云计算平台的计算资源调度策略;所述遗传算法使用的适应度函数为:
其中,(S,T)为染色体,A、B为具体调度任务的加权系数,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许的偏差,σi(S,T)为第i个染色体的实际偏差。
以上各单元所执行操作的具体实现方式可以参照本发明实施例上述资源调度方法中对应的步骤,本发明实施例不再赘述。
基于同一发明构思,本发明实施例还提供了一种资源调度设备,参照图4,该设备包括:
至少一个处理器301,以及
与所述至少一个处理器301通信连接的存储器302;
其中,所述存储器302存储有可被所述至少一个处理器301执行的指令,所述至少一个处理器301通过执行所述存储器302存储的指令执行本发明实施例上述资源调度方法。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行本发明实施例上述资源调度方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种资源调度方法,其特征在于,包括:
统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;
判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;
若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;
若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
2.如权利要求1所述的方法,其特征在于,所述统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量,包括:
统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间;
根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源;
对所有虚拟机为执行待执行任务所需求的计算资源进行求和,并将求和的结果作为所述任一服务器上的所有虚拟机需求的计算资源总量。
3.如权利要求1所述的方法,其特征在于,所述根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源,包括:
确定各个虚拟机在上一周期内执行历史任务的平均响应时间;
统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重;
将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
4.如权利要求1所述的方法,其特征在于,所述根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源,包括:
根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机的优先级;其中,所述虚拟机的待执行任务需要的响应时间越少,所述虚拟机的优先级越高;
以优先满足优先级高的虚拟机的计算资源需求为原则,为各个虚拟机分配所述任一服务器的计算资源。
5.如权利要求1-4任一项所述的方法,其特征在于,在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,所述方法还包括:
在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率;或者
在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
6.如权利要求1-4任一项所述的方法,其特征在于,还包括:
在确定所述云计算平台发生了不可预见的动态异构问题时,采用禁忌搜索算法对所述云计算平台的计算资源进行调度;
其中,所述不可预见的动态异构问题包括以下三项中的至少一项:所述云计算平台的至少一个处理器的温度超过第一预定范围、所述云计算平台的至少一个处理器的主频超过第二预定范围、所述云计算平台的至少一个处理器的功耗超过第三预定范围。
7.如权利要求6所述的方法,其特征在于,在采用禁忌搜索算法对所述云计算平台的计算资源进行调度之前,所述方法还包括:
采用遗传算法求解所述云计算平台的计算资源调度策略的最优解,并将所述最优解作为所述禁忌搜索算法的初始解。
8.如权利要求7所述的方法,其特征在于,所述遗传算法的编码对象为待处理任务与所述待处理任务运行的处理器的映射,所述遗传算法的染色体为所述云计算平台的计算资源调度策略;所述遗传算法使用的适应度函数为:
其中,X=σi(S,T)-σ0;(S,T)为染色体,A、B为具体调度任务的加权系数,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许染色体的偏差,σi(S,T)为第i个染色体的实际偏差。
9.一种资源调度装置,其特征在于,包括:
统计单元,用于统计第一预定时长周期内,云计算平台任一服务器上的所有虚拟机需求的计算资源总量;
处理单元,用于判断所述任一服务器的计算资源总量是否满足所述所有虚拟机需求的计算资源总量;若为是,则根据各个虚拟机的历史任务的平均响应时间为各个虚拟机分配所述任一服务器的计算资源;若为否,则根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源。
10.如权利要求9所述的装置,其特征在于,所述统计单元用于:
统计第一预定时长周期内,云计算平台任一服务器上的各个虚拟机的待执行任务需要的响应时间;
根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机为执行待执行任务所需求的计算资源;
对所有虚拟机为执行待执行任务所需求的计算资源进行求和,并将求和的结果作为所述任一服务器上的所有虚拟机需求的计算资源总量。
11.如权利要求9所述的装置,其特征在于,所述统计单元还用于:
确定各个虚拟机在上一周期内执行历史任务的平均响应时间;统计所有虚拟机在上一周期内执行历史任务的平均响应时间的总和,并计算各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重;
所述处理单元用于:在所述任一服务器的计算资源总量满足所述所有虚拟机需求的计算资源总量时,将各个虚拟机在上一周期内执行历史任务的平均响应时间占所述总和的比重作为各个虚拟机可被分配到的计算资源的权重,并根据各个虚拟机可被分配到的计算资源的权重为各个虚拟机分配所述任一服务器的计算资源。
12.如权利要求9所述的装置,其特征在于,所述处理单元用于:
在所述任一服务器的计算资源总量不满足所述所有虚拟机需求的计算资源总量时,根据各个虚拟机的待执行任务需要的响应时间确定各个虚拟机的优先级;其中,所述虚拟机的待执行任务需要的响应时间越少,所述虚拟机的优先级越高;
以优先满足优先级高的虚拟机的计算资源需求为原则,为各个虚拟机分配所述任一服务器的计算资源。
13.如权利要求9-12任一项所述的装置,其特征在于,所述处理单元还用于:
在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成超频指令,并执行所述超频指令,以提高所述任一虚拟机所在处理器的频率;或者
在根据各个虚拟机的待执行任务需要的响应时间为各个虚拟机分配所述任一服务器的计算资源之后,在确定任一虚拟机出现计算资源需求不足的状态超过第二预定时长时,生成虚拟机迁移指令,并执行所述虚拟机迁移指令,以将所述任一虚拟机迁移到其他服务器上运行。
14.如权利要求9-12任一项所述的装置,其特征在于,所述处理单元还用于:
在确定所述云计算平台发生了不可预见的动态异构问题时,采用禁忌搜索算法对所述云计算平台的计算资源进行调度;
其中,所述不可预见的动态异构问题包括以下三项中的至少一项:所述云计算平台的至少一个处理器的温度超过第一预定范围、所述云计算平台的至少一个处理器的主频超过第二预定范围、所述云计算平台的至少一个处理器的功耗超过第三预定范围。
15.如权利要求14所述的装置,其特征在于,所述处理单元还用于:
在采用禁忌搜索算法对所述云计算平台的计算资源进行调度之前,采用遗传算法求解所述云计算平台的计算资源调度策略的最优解,并将所述最优解作为所述禁忌搜索算法的初始解。
16.如权利要求15所述的装置,其特征在于,所述遗传算法的编码对象为待处理任务与所述待处理任务运行的处理器的映射,所述遗传算法的染色体为所述云计算平台的计算资源调度策略;所述遗传算法使用的适应度函数为:
其中,X=σi(S,T)-σ0;(S,T)为染色体,A、B为具体调度任务的加权系数,Φ(X)为惩罚函数,σ0为预定义的云计算平台允许的偏差,σi(S,T)为第i个染色体的实际偏差。
17.一种资源调度设备,其特征在于,包括:
至少一个处理器,以及
与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令执行权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810320165.5A CN110362388B (zh) | 2018-04-11 | 2018-04-11 | 一种资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810320165.5A CN110362388B (zh) | 2018-04-11 | 2018-04-11 | 一种资源调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362388A true CN110362388A (zh) | 2019-10-22 |
CN110362388B CN110362388B (zh) | 2021-08-31 |
Family
ID=68214204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810320165.5A Active CN110362388B (zh) | 2018-04-11 | 2018-04-11 | 一种资源调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362388B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395046A (zh) * | 2020-07-30 | 2021-02-23 | 上海有孚智数云创数字科技有限公司 | 基于温度预测的虚拟机迁移规划调度方法及其系统与介质 |
CN112632508A (zh) * | 2020-12-28 | 2021-04-09 | 中金数据(武汉)超算技术有限公司 | 一种基于云计算的身份识别方法及装置 |
CN113010273A (zh) * | 2021-03-23 | 2021-06-22 | 河北冀联人力资源服务集团有限公司 | 一种人力资源数据分布式任务处理方法及系统 |
CN113821308A (zh) * | 2021-09-29 | 2021-12-21 | 上海阵量智能科技有限公司 | 片上系统、虚拟机任务处理方法及设备、存储介质 |
CN115373826A (zh) * | 2022-10-26 | 2022-11-22 | 北京创新乐知网络技术有限公司 | 一种基于云计算的任务调度方法及装置 |
CN117234742A (zh) * | 2023-11-14 | 2023-12-15 | 苏州元脑智能科技有限公司 | 一种处理器核心分配方法、装置、设备及存储介质 |
CN118349366A (zh) * | 2024-06-18 | 2024-07-16 | 北京象帝先计算技术有限公司 | 资源调度器及方法、图形处理系统、电子组件及设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881283A (en) * | 1995-04-13 | 1999-03-09 | Hitachi, Ltd. | Job scheduling analysis method and system using historical job execution data |
WO2010121017A2 (en) * | 2009-04-17 | 2010-10-21 | Citrix Systems, Inc. | Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine |
WO2013043349A1 (en) * | 2011-09-22 | 2013-03-28 | Qualcomm Incorporated | On-chip thermal management techniques using inter-processor time dependent power density data for identification of thermal aggressors |
US20140032761A1 (en) * | 2012-07-25 | 2014-01-30 | Vmware, Inc. | Dynamic allocation of physical computing resources amongst virtual machines |
CN104283946A (zh) * | 2014-09-26 | 2015-01-14 | 东北大学 | 一种单物理机下多虚拟机的资源自适应调整系统及方法 |
CN104331321A (zh) * | 2014-10-09 | 2015-02-04 | 冷明 | 基于禁忌搜索和负载均衡的云计算任务调度方法 |
CN105302630A (zh) * | 2015-10-26 | 2016-02-03 | 深圳大学 | 一种虚拟机的动态调整方法及其系统 |
CN105700948A (zh) * | 2014-11-24 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种用于在集群中调度计算任务的方法与设备 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
US20170075709A1 (en) * | 2015-09-11 | 2017-03-16 | International Business Machines Corporation | Predictively provisioning cloud computing resources for virtual machines |
CN106528266A (zh) * | 2016-10-28 | 2017-03-22 | 柏域信息科技(上海)有限公司 | 一种云计算系统中的资源动态调整方法及装置 |
-
2018
- 2018-04-11 CN CN201810320165.5A patent/CN110362388B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5881283A (en) * | 1995-04-13 | 1999-03-09 | Hitachi, Ltd. | Job scheduling analysis method and system using historical job execution data |
WO2010121017A2 (en) * | 2009-04-17 | 2010-10-21 | Citrix Systems, Inc. | Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine |
WO2013043349A1 (en) * | 2011-09-22 | 2013-03-28 | Qualcomm Incorporated | On-chip thermal management techniques using inter-processor time dependent power density data for identification of thermal aggressors |
US20140032761A1 (en) * | 2012-07-25 | 2014-01-30 | Vmware, Inc. | Dynamic allocation of physical computing resources amongst virtual machines |
CN104283946A (zh) * | 2014-09-26 | 2015-01-14 | 东北大学 | 一种单物理机下多虚拟机的资源自适应调整系统及方法 |
CN104331321A (zh) * | 2014-10-09 | 2015-02-04 | 冷明 | 基于禁忌搜索和负载均衡的云计算任务调度方法 |
CN105700948A (zh) * | 2014-11-24 | 2016-06-22 | 阿里巴巴集团控股有限公司 | 一种用于在集群中调度计算任务的方法与设备 |
US20170075709A1 (en) * | 2015-09-11 | 2017-03-16 | International Business Machines Corporation | Predictively provisioning cloud computing resources for virtual machines |
CN105302630A (zh) * | 2015-10-26 | 2016-02-03 | 深圳大学 | 一种虚拟机的动态调整方法及其系统 |
CN105740051A (zh) * | 2016-01-27 | 2016-07-06 | 北京工业大学 | 基于改进的遗传算法的云计算资源调度实现方法 |
CN106528266A (zh) * | 2016-10-28 | 2017-03-22 | 柏域信息科技(上海)有限公司 | 一种云计算系统中的资源动态调整方法及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395046B (zh) * | 2020-07-30 | 2021-06-04 | 上海有孚智数云创数字科技有限公司 | 虚拟机迁移规划调度方法及其系统与介质 |
CN112395046A (zh) * | 2020-07-30 | 2021-02-23 | 上海有孚智数云创数字科技有限公司 | 基于温度预测的虚拟机迁移规划调度方法及其系统与介质 |
CN112632508B (zh) * | 2020-12-28 | 2023-10-20 | 中金数据(武汉)超算技术有限公司 | 一种基于云计算的身份识别方法及装置 |
CN112632508A (zh) * | 2020-12-28 | 2021-04-09 | 中金数据(武汉)超算技术有限公司 | 一种基于云计算的身份识别方法及装置 |
CN113010273A (zh) * | 2021-03-23 | 2021-06-22 | 河北冀联人力资源服务集团有限公司 | 一种人力资源数据分布式任务处理方法及系统 |
CN113010273B (zh) * | 2021-03-23 | 2022-07-19 | 河北冀联人力资源服务集团有限公司 | 一种人力资源数据分布式任务处理方法及系统 |
CN113821308B (zh) * | 2021-09-29 | 2023-11-24 | 上海阵量智能科技有限公司 | 片上系统、虚拟机任务处理方法及设备、存储介质 |
CN113821308A (zh) * | 2021-09-29 | 2021-12-21 | 上海阵量智能科技有限公司 | 片上系统、虚拟机任务处理方法及设备、存储介质 |
CN115373826B (zh) * | 2022-10-26 | 2022-12-30 | 北京创新乐知网络技术有限公司 | 一种基于云计算的任务调度方法及装置 |
CN115373826A (zh) * | 2022-10-26 | 2022-11-22 | 北京创新乐知网络技术有限公司 | 一种基于云计算的任务调度方法及装置 |
CN117234742A (zh) * | 2023-11-14 | 2023-12-15 | 苏州元脑智能科技有限公司 | 一种处理器核心分配方法、装置、设备及存储介质 |
CN117234742B (zh) * | 2023-11-14 | 2024-02-09 | 苏州元脑智能科技有限公司 | 一种处理器核心分配方法、装置、设备及存储介质 |
CN118349366A (zh) * | 2024-06-18 | 2024-07-16 | 北京象帝先计算技术有限公司 | 资源调度器及方法、图形处理系统、电子组件及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110362388B (zh) | 2021-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362388B (zh) | 一种资源调度方法及装置 | |
Liu et al. | Deadline‐constrained coevolutionary genetic algorithm for scientific workflow scheduling in cloud computing | |
Zhang et al. | An effective data locality aware task scheduling method for MapReduce framework in heterogeneous environments | |
Kumar et al. | ARPS: An autonomic resource provisioning and scheduling framework for cloud platforms | |
Alsadie | A metaheuristic framework for dynamic virtual machine allocation with optimized task scheduling in cloud data centers | |
Guerrero et al. | Multi-objective optimization for virtual machine allocation and replica placement in virtualized hadoop | |
Żotkiewicz et al. | Minimum dependencies energy-efficient scheduling in data centers | |
Oxley et al. | Makespan and energy robust stochastic static resource allocation of a bag-of-tasks to a heterogeneous computing system | |
Wu et al. | Optimizing the performance of big data workflows in multi-cloud environments under budget constraint | |
Stavrinides et al. | Energy-aware scheduling of real-time workflow applications in clouds utilizing DVFS and approximate computations | |
Li et al. | An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters | |
Choi et al. | Task Classification Based Energy‐Aware Consolidation in Clouds | |
Kumar et al. | QoS‐aware resource scheduling using whale optimization algorithm for microservice applications | |
Wang et al. | Exploiting dark cores for performance optimization via patterning for many-core chips in the dark silicon era | |
Singh et al. | Value and energy optimizing dynamic resource allocation in many-core HPC systems | |
Panneerselvam et al. | An approach to optimise resource provision with energy-awareness in datacentres by combating task heterogeneity | |
CN108958919B (zh) | 一种云计算中有期限约束的多dag任务调度费用公平性评估方法 | |
Singh et al. | Artificial Intelligence Based Virtual Machine Allocation and Migration Policy using Improved MBFD | |
Miao et al. | Efficient flow-based scheduling for geo-distributed simulation tasks in collaborative edge and cloud environments | |
Ohmura et al. | Toward building a digital twin of job scheduling and power management on an HPC system | |
CN111930485A (zh) | 一种基于性能表现的作业调度方法 | |
Kumar et al. | A bio-inspired approach for power and performance aware resource allocation in clouds | |
Stavrinides et al. | Scheduling techniques for complex workloads in distributed systems | |
Zhang et al. | A dynamic placement policy of virtual machine based on MOGA in cloud environment | |
Dhanoa et al. | Power efficient hybrid VM allocation algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |