CN107357641A - 一种云计算中任务调度方法 - Google Patents

一种云计算中任务调度方法 Download PDF

Info

Publication number
CN107357641A
CN107357641A CN201710476832.4A CN201710476832A CN107357641A CN 107357641 A CN107357641 A CN 107357641A CN 201710476832 A CN201710476832 A CN 201710476832A CN 107357641 A CN107357641 A CN 107357641A
Authority
CN
China
Prior art keywords
task
virtual machine
main frame
cloud computing
time
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.)
Pending
Application number
CN201710476832.4A
Other languages
English (en)
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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201710476832.4A priority Critical patent/CN107357641A/zh
Publication of CN107357641A publication Critical patent/CN107357641A/zh
Pending legal-status Critical Current

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/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/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种云计算中任务调度方法,通过在活跃主机上设置应急虚拟机,借助虚拟机CPU资源可以动态伸缩的能力,动态扩大应急虚拟机的CPU来服务这些任务,克服了现有技术存在的没有考虑到虚拟机启动时间对计算密集型独立任务执行时间的影响的不足,使得本发明能够进一步减少任务执行时间。本发明对云计算环境下进行计算密集型任务,采用多虚拟机并行计算的方式来完成任务,克服了现有技术存在的没有考虑到多虚拟机并行上传思想对计算密集型独立任务执行时间的影响的不足,使得本发明能够加快任务的执行速度。

Description

一种云计算中任务调度方法
技术领域
本发明属于计算机领域,具体涉及一种云计算中任务调度方法。
背景技术
云计算是一种新的商业计算模型。将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算资源、数据资源、存储资源和应用服务资源等。大数据时代,云计算的另一个特点是其将处理大规模的任务。如何实现在满足用户QoS的前提条件下,对海量任务进行高效调度并对大量云资源进行合理的分配,云任务占用尽量少的云资源是云计算领域的一个研究热点。一般的云计算过程中会把逻辑上整个的任务进行细分,具体分成若干个任务,各个小任务根据特定的策略分配到不同的环节中。目前被广泛研究和实践的主要策略,如对CPU频率进行动态调整、关闭空闲机器或使其进入睡眠状态、虚拟机的迁移合并等等,这些策略的实质都是通过对数据中心资源的动态调度和整合,来使能源利用率最大化。
中国人民解放军国防科学技术大学申请的专利“一种云计算系统中任务调度与资源配置的通用方法”(申请号:201610293128.0,公开号:CN106020927A)公开一种云计算系统中任务调度与资源配置的通用方法。该专利的具体步骤包括:(1)从任务调度与资源配置通用框架中获取已到达的任务信息,并根据所述任务信息确定应该选中的至少一个调度目标;(2)获取虚拟化云的物理主机信息,根据物理主机信息、任务信息与调度目标调用特定算法,创建虚拟机,并将任务分配到虚拟机上执行;(3)持续监视所有被分配任务的状态信息对虚拟机进行资源动态配置;(4)完成全部任务并返回任务结果。该方法存在的不足是:没有考虑到虚拟机启动时间对计算密集型独立任务执行时间的影响。
开封大学申请的专利“一种云计算调度系统和方法”(申请号:201610784093.0,公开号:CN106371893A)公开一种云计算调度系统和方法。该专利的具体步骤包括:(1)检测到用户任务到达时,将所述用户任务暂存到用户任务集合中;(2)任务调度器为任务集合中的用户任务分配虚拟机或创建新的虚拟机。该方法存在的不足是:没有考虑到多虚拟机并行上传思想对计算密集型独立任务执行时间的影响。
发明内容
本发明的目的在于克服上述不足,提供一种云计算中任务调度方法,采用多虚拟机并行计算的方式对云计算环境下的计算密集型任务进行计算,来完成任务。
为了达到上述目的,本发明包括以下步骤:
步骤一,任务划分:当新任务到达任务窗口时,任务窗口将任务划分为10N-100N份,构成任务集合,放在任务池中,N为总虚拟机数量;
步骤二,监控系统状态:资源监控器监控系统的状态,包括物理主机信息、任务信息、任务状态信息;
步骤三,创建虚拟机:任务调度器采用具有机器启动时间感知的虚拟机扩展方案依次创建新的虚拟机,开始启动并行处理过程;
步骤四,每当有新虚拟机启动或者虚拟机上任务完成时,任务调度器为该虚拟机分配任务,同时任务调度器将任务池中任务的分配情况记录到任务状态表中,任务状态表用以查询各个虚拟机的运行情况及任务执行进度;
步骤五,完成全部任务并返回任务结果。
所述步骤一中,任务是指计算密集型的独立任务。
所述步骤一中,任务集合是指任务集合T={t1,t2,…,tn},其中,对任一任务ti,,能够表示成ti={ai,li,fi},其中ai,li,fi分别为到达时间、任务大小、任务完成时间。
所述步骤三中,具有机器启动时间感知的虚拟机扩展方案指的是为了缓解启动主机和创建虚拟机的时间开销对任务的影响,在每台活跃主机上放置1台应急虚拟机,该虚拟机处于完全空闲时,占用主机少量的内存和可以忽略不计的CPU资源;当需要使用应急主机时,同时活跃主机上剩余CPU资源大于应急主机的CPU资源,那么增大主机的频率,为应急虚拟机配置CPU资源。
所述步骤三中,创建虚拟机的具体步骤如下:
第一步,如果存在某台活跃主机上剩余的CPU资源大于所需虚拟机的资源需求,那么,增大主机的频率,来提高应急虚拟机的频率;
第二步,如果第一步不能使用应急主机,则在某台活跃主机,从它的虚拟机集合中找到能够执行任务的虚拟机,在活跃主机上创建新虚拟机;
第三步,如果第二步不能成功地创建虚拟机,则开启一台关闭的主机,然后在该主机上创建新虚拟机。
所述步骤四中,具体包括如下步骤:
第一步,从任务池中取出一份任务,将任务映射到该虚拟机上,并开始执行任务;
第二步,当虚拟机上任务执行完毕且任务池不为空时,继续第一步的步骤;
第三步,当虚拟机上任务执行完毕且任务池为空时,将该虚拟机恢复为初始状态。
与现有技术相比,本发明通过在活跃主机上设置应急虚拟机,借助虚拟机CPU资源可以动态伸缩的能力,动态扩大应急虚拟机的CPU来服务这些任务,克服了现有技术存在的没有考虑到虚拟机启动时间对计算密集型独立任务执行时间的影响的不足,使得本发明能够进一步减少任务执行时间。本发明对云计算环境下进行计算密集型任务,采用多虚拟机并行计算的方式来完成任务,克服了现有技术存在的没有考虑到多虚拟机并行上传思想对计算密集型独立任务执行时间的影响的不足,使得本发明能够加快任务的执行速度。
附图说明
图1为本发明的使用的云计算系统的调度架构图;
图2为本发明的流程图。
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1,本发明使用的云计算系统为一个物理主机的集合H={h1,h2,…,hm},其中m表示主机数量。任意一台主机hj∈H可描述为 mj,nj分别表示主机的最大CPU频率,内存,带宽和最大功率。每台主机上都可容纳一个虚拟机集合VM,每台主机上都放置1台应急虚拟机。
本发明使用的任务调度层由任务窗口、资源监控器、任务调度器、资源适配器四部分组成,其中任务窗口,用于接纳新到达的任务,划分任务;资源监控器,用于监控系统的状态,为任务调度提供底层资源的信息支持;任务调度器,用于调度任务窗口中任务划分的工单,分配到虚拟机上;资源适配器,用于触发动态伸缩资源,包括虚拟机和主机。
本发明针对计算密集型的独立任务并行调度问题进行研究。问题可以描述如下:有N个任务在时间点0处开始,有M台机器可供这些任务运行,最终的调度目标是使这些任务总的完成时间最小,其中M<N。同时假设,这N个任务中的任意一个任务可以在任意时刻执行,每一个都不能被抢占,即一个任务被分配到一台机器后,只能完整地运行。
任务集合T={t1,t2,…,tn},其中,ti(i=1,2,…,n)表示第i个任务,虚拟机的集合M={m1,m2,…,mm},其中m表示主机数量,其中mj(j=1,2,…,m)表示第j台主机。ti放置在mj虚拟机上的运行时间用pij表示;kij表示任务和虚拟机映射矩阵中的某一元素,若为1则表示第i个任务分配在第j个虚拟机上,否则为0。
根据以上描述,本发明的调度问题的数学模型可以总结如下
参照图2,本发明的具体实施步骤如下:
步骤1、任务划分:
当新任务到达任务窗口时,任务窗口将任务划分为10N-100N份(N为总虚拟机数量),构成任务集合,放在任务池中;本发明中的任务指的是计算密集型的独立任务。
步骤2、监控系统状态:
资源监控器监控系统的状态,包括物理主机信息、任务信息、任务状态信息;
步骤3、创建虚拟机:
任务调度器采用具有机器启动时间感知的虚拟机扩展方案为任务分配虚拟机或创建新的虚拟机;
具有机器启动时间感知的虚拟机扩展方案指的是为了缓解启动主机和创建虚拟机的时间开销对任务的影响,在每台活跃主机上放置1台应急虚拟机,该虚拟机处于完全空闲时,占用主机少量的内存(比如512MB)和可以忽略不计的CPU资源。当需要使用应急主机时,同时活跃主机上剩余CPU资源大于应急主机的CPU资源,那么增大主机的频率,为应急虚拟机配置CPU资源。
创建虚拟机的具体步骤如下:
第1步,如果存在某台活跃主机上剩余的CPU资源大于所需虚拟机的资源需求,那么,增大主机的频率,来提高应急虚拟机的频率;
第2步,如果第1步不能使用应急主机,则在某台活跃主机,从它的虚拟机集合中找到能够执行任务的虚拟机,在活跃主机上创建新虚拟机;
第3步,如果第2步不能成功地创建虚拟机,则开启一台关闭的主机,然后在该主机上创建新虚拟机。
步骤4、任务分配:
每当有新虚拟机启动或者虚拟机上任务完成时,同时任务调度器将任务的分配情况记录到任务状态表中,任务状态表用以查询各个虚拟机的运行情况及任务执行进度。
从任务池中取出1份任务,将任务映射到该虚拟机上,并开始执行任务;
当虚拟机上任务执行完毕且任务池不为空时,继续执行上一步;
当虚拟机上任务执行完毕且任务池为空时,将该虚拟机恢复为初始状态。
步骤5、完成任务:
完成全部任务并返回任务结果。

Claims (6)

1.一种云计算中任务调度方法,其特征在于,包括以下步骤:
步骤一,任务划分:当新任务到达任务窗口时,任务窗口将任务划分为10N-100N份,构成任务集合,放在任务池中,N为总虚拟机数量;
步骤二,监控系统状态:资源监控器监控系统的状态,包括物理主机信息、任务信息、任务状态信息;
步骤三,创建虚拟机:任务调度器采用具有机器启动时间感知的虚拟机扩展方案依次创建新的虚拟机,开始启动并行处理过程;
步骤四,每当有新虚拟机启动或者虚拟机上任务完成时,任务调度器为该虚拟机分配任务,同时任务调度器将任务池中任务的分配情况记录到任务状态表中,任务状态表用以查询各个虚拟机的运行情况及任务执行进度;
步骤五,完成全部任务并返回任务结果。
2.根据权利要求1所述的一种云计算中任务调度方法,其特征在于,所述步骤一中,任务是指计算密集型的独立任务。
3.根据权利要求1所述的一种云计算中任务调度方法,其特征在于,所述步骤一中,任务集合是指任务集合T={t1,t2,…,tn},其中,对任一任务ti,,能够表示成ti={ai,li,fi},其中ai,li,fi分别为到达时间、任务大小、任务完成时间。
4.根据权利要求1所述的一种云计算中任务调度方法,其特征在于,所述步骤三中,具有机器启动时间感知的虚拟机扩展方案指的是为了缓解启动主机和创建虚拟机的时间开销对任务的影响,在每台活跃主机上放置1台应急虚拟机,该虚拟机处于完全空闲时,占用主机少量的内存和可以忽略不计的CPU资源;当需要使用应急主机时,同时活跃主机上剩余CPU资源大于应急主机的CPU资源,那么增大主机的频率,为应急虚拟机配置CPU资源。
5.根据权利要求1所述的一种云计算中任务调度方法,其特征在于,所述步骤三中,创建虚拟机的具体步骤如下:
第一步,如果存在某台活跃主机上剩余的CPU资源大于所需虚拟机的资源需求,那么,增大主机的频率,来提高应急虚拟机的频率;
第二步,如果第一步不能使用应急主机,则在某台活跃主机,从它的虚拟机集合中找到能够执行任务的虚拟机,在活跃主机上创建新虚拟机;
第三步,如果第二步不能成功地创建虚拟机,则开启一台关闭的主机,然后在该主机上创建新虚拟机。
6.根据权利要求1所述的一种云计算中任务调度方法,其特征在于,所述步骤四中,具体包括如下步骤:
第一步,从任务池中取出一份任务,将任务映射到该虚拟机上,并开始执行任务;
第二步,当虚拟机上任务执行完毕且任务池不为空时,继续第一步的步骤;
第三步,当虚拟机上任务执行完毕且任务池为空时,将该虚拟机恢复为初始状态。
CN201710476832.4A 2017-06-21 2017-06-21 一种云计算中任务调度方法 Pending CN107357641A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710476832.4A CN107357641A (zh) 2017-06-21 2017-06-21 一种云计算中任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710476832.4A CN107357641A (zh) 2017-06-21 2017-06-21 一种云计算中任务调度方法

Publications (1)

Publication Number Publication Date
CN107357641A true CN107357641A (zh) 2017-11-17

Family

ID=60273952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710476832.4A Pending CN107357641A (zh) 2017-06-21 2017-06-21 一种云计算中任务调度方法

Country Status (1)

Country Link
CN (1) CN107357641A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334409A (zh) * 2018-01-15 2018-07-27 北京大学 一种细粒度的高性能云资源管理调度方法
CN108446165A (zh) * 2018-03-12 2018-08-24 西安电子科技大学昆山创新研究院 一种云计算中的任务预取方法
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109086120A (zh) * 2018-08-03 2018-12-25 北京奇虎科技有限公司 虚拟机资源的管理方法、装置及计算设备
CN109684070A (zh) * 2018-08-29 2019-04-26 西安电子科技大学 一种云计算并行操作中的调度方法
CN114035910A (zh) * 2020-09-09 2022-02-11 东华大学 一种缩短应急响应时间的双平行机调度方法
CN115328620A (zh) * 2022-10-15 2022-11-11 神州医疗科技股份有限公司 一种基于虚拟技术动态调起tps的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617086A (zh) * 2013-11-20 2014-03-05 东软集团股份有限公司 一种并行计算方法及系统
CN105159752A (zh) * 2015-09-22 2015-12-16 中国人民解放军国防科学技术大学 虚拟化云中机器启动时间感知的实时任务与资源调度方法
CN105279012A (zh) * 2015-11-27 2016-01-27 成都微讯云通科技有限公司 云平台作业调度方法
CN105677470A (zh) * 2016-01-07 2016-06-15 中国联合网络通信集团有限公司 虚拟机任务调度方法、虚拟机系统
CN105955796A (zh) * 2016-04-22 2016-09-21 华中科技大学 一种云平台上高性能并行应用的调度方法及系统
CN106789337A (zh) * 2017-01-18 2017-05-31 郑州云海信息技术有限公司 一种kvm的网络性能优化方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617086A (zh) * 2013-11-20 2014-03-05 东软集团股份有限公司 一种并行计算方法及系统
CN105159752A (zh) * 2015-09-22 2015-12-16 中国人民解放军国防科学技术大学 虚拟化云中机器启动时间感知的实时任务与资源调度方法
CN105279012A (zh) * 2015-11-27 2016-01-27 成都微讯云通科技有限公司 云平台作业调度方法
CN105677470A (zh) * 2016-01-07 2016-06-15 中国联合网络通信集团有限公司 虚拟机任务调度方法、虚拟机系统
CN105955796A (zh) * 2016-04-22 2016-09-21 华中科技大学 一种云平台上高性能并行应用的调度方法及系统
CN106789337A (zh) * 2017-01-18 2017-05-31 郑州云海信息技术有限公司 一种kvm的网络性能优化方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108334409A (zh) * 2018-01-15 2018-07-27 北京大学 一种细粒度的高性能云资源管理调度方法
CN108334409B (zh) * 2018-01-15 2020-10-09 北京大学 一种细粒度的高性能云资源管理调度方法
CN108446165A (zh) * 2018-03-12 2018-08-24 西安电子科技大学昆山创新研究院 一种云计算中的任务预取方法
CN109062664A (zh) * 2018-07-25 2018-12-21 南京邮电大学 基于蚁狮优化算法的云计算任务调度方法
CN109086120A (zh) * 2018-08-03 2018-12-25 北京奇虎科技有限公司 虚拟机资源的管理方法、装置及计算设备
CN109684070A (zh) * 2018-08-29 2019-04-26 西安电子科技大学 一种云计算并行操作中的调度方法
CN114035910A (zh) * 2020-09-09 2022-02-11 东华大学 一种缩短应急响应时间的双平行机调度方法
CN114035910B (zh) * 2020-09-09 2024-05-10 东华大学 一种缩短应急响应时间的双平行机调度方法
CN115328620A (zh) * 2022-10-15 2022-11-11 神州医疗科技股份有限公司 一种基于虚拟技术动态调起tps的方法及系统
CN115328620B (zh) * 2022-10-15 2023-02-03 神州医疗科技股份有限公司 一种基于虚拟技术动态调起tps的方法及系统

Similar Documents

Publication Publication Date Title
CN107357641A (zh) 一种云计算中任务调度方法
CN104123182B (zh) 基于主从架构的MapReduce任务跨数据中心调度系统及方法
CN107087019A (zh) 一种端云协同计算架构及任务调度装置及方法
CN104021040B (zh) 基于时间约束条件下的云计算关联任务调度方法和装置
CN104239123B (zh) 面向校园云平台的虚拟机管理调度方法和系统
CN107659433A (zh) 一种云资源调度方法及设备
CN105893158A (zh) 私有云条件下的大数据混合调度模型
CN104657220A (zh) 混合云中基于截止时间和费用约束的调度模型及方法
CN105446816B (zh) 一种面向异构平台的能耗优化调度方法
CN101938416A (zh) 一种基于动态重配置虚拟资源的云计算资源调度方法
CN102073546A (zh) 一种云计算环境中分布式计算模式下的任务动态调度方法
CN102611723A (zh) 一种基于虚拟化技术构建高性能计算应用服务的方法
CN114996018A (zh) 面向异构计算的资源调度方法、节点、系统、设备及介质
CN104023042B (zh) 云平台资源调度方法
CN104112049B (zh) 基于P2P构架的MapReduce任务跨数据中心调度系统及方法
CN112559122B (zh) 一种基于电力专用安防设备的虚拟化实例管控方法及系统
Abd et al. An effective approach for managing power consumption in cloud computing infrastructure
CN101582043A (zh) 一种异构计算系统动态任务分配方法
CN106126344A (zh) 一种任务分配方法及装置
CN107292419A (zh) 一种混合云环境中动态多工作流调度执行的费用优化策略
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
US10235341B2 (en) Method for solving the decomposition-coordination calculation based on block bordered diagonal form (BBDF) model using data center
CN108429784B (zh) 一种能效优先的云资源分配与调度方法
CN114490049A (zh) 在容器化边缘计算中自动分配资源的方法及系统
CN104008001B (zh) 用于大数据支撑的虚拟机动态迁移方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20171117

RJ01 Rejection of invention patent application after publication