CN110096364B - 一种云服务器计算集合控制方法及系统 - Google Patents
一种云服务器计算集合控制方法及系统 Download PDFInfo
- Publication number
- CN110096364B CN110096364B CN201910358156.XA CN201910358156A CN110096364B CN 110096364 B CN110096364 B CN 110096364B CN 201910358156 A CN201910358156 A CN 201910358156A CN 110096364 B CN110096364 B CN 110096364B
- Authority
- CN
- China
- Prior art keywords
- task
- computing
- tasks
- cluster
- cloud server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- 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)
- Complex Calculations (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种云服务器计算集合控制方法及系统,所述方法包括如下步骤:步骤S1,将所有任务定义属性后放入处理队列;步骤S2,根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;步骤S3,根据任务统计的结果,控制计算集群的规模;步骤S4,统计计算集群的空闲资源;步骤S5,将任务发布至计算集群进行计算,本发明通过判断任务队列的时效要求,动态调整计算集的规模,在满足所有任务时效要求的同时尽可能控制计算集规模,保证所有服务器的资源都被充分利用。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种基于非实时任务队列进度估计的云服务器计算集合控制方法及系统。
背景技术
在目前云计算的大环境下,人们可以方便的根据自己的需求购买自己所需要的云资源,可以方便的使用云服务的api,根据需求申请或关闭需要的云计算服务器。目前云平台均提供负载均衡和自动伸缩功能,但这些功能都是根据实时负载来自动调整运算规模的,由于通常运算集的大小是有上限的,而且频繁申请和取消资源是云平台所不允许的。因此对于某些应用,特别是计算密集的,时效要求不高但任务发布不可预测的任务类型,采用固定计算集就可能造成资源浪费。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种云服务器计算集合控制方法及系统,以通过判断任务队列的时效要求,动态调整计算集的规模,在满足所有任务时效要求的同时尽可能控制计算集规模,保证所有服务器的资源都被充分利用。
为达上述及其它目的,本发明提出一种云服务器计算集合控制方法,包括如下步骤:
步骤S1,将所有任务定义属性后放入处理队列;
步骤S2,根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;
步骤S3,根据任务统计的结果,控制计算集群的规模;
步骤S4,统计计算集群的空闲资源;
步骤S5,将任务发布至计算集群进行计算。
优选地,于步骤S1中,任务的属性包括任务类型、处理器占用、任务时效、优先级以及序号中部分或全部属性。
优选地,步骤S2进一步包括:
步骤S201,对任务队列进行按处理优先次序进行排序;
步骤S202、对所有任务的累计计算量进行计算。
优选地,于步骤S201中,所述任务队列排序的依据为优先级和序号。
优选地,于步骤S202中,对于任务队列P中第j个任务的累计计算量为,Cj=[SUM(ci*ti)i=0~j],其中ci代表该任务的处理器占用,ti代表该任务类型的历史平均处理时间。
优选地,步骤S3进一步包括
步骤S301,计算所有任务的预计完成时间Tj=Cj/C,其中C为当前计算集的总处理器个数;
步骤S302,计算所有任务的时效差ΔTi=Ti'-Tj,其中Ti'为该任务的时效要求;
步骤S303,计算新增计算集需求ΔC=(ΔTi/Ti')*C,根据新增计算集需求控制计算集群的规模。
优选地,于步骤S303中,当ΔC>0的时候控制计算集,新增能力为ΔC的服务器,当ΔC<0的时候,若有ΔTi>a*Ti',关闭计算能力为abs(ΔC)的服务器,其中a为预设阈值。
优选地,于步骤S5后还包括如下步骤:
步骤S6,于任务计算结束后,记录该类型任务的处理时间。
为达到上述目的,本发明还提供一种云服务器计算集合控制系统,包括:
任务定义模块,用于对所有任务进行定义,将所有任务定义属性后放入处理队列;
处理队列,用于存放定义后的任务;
集群管理器,包括任务统计模块和集群控制模块,所述任务统计模块用于根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;集群控制模块用于根据任务统计的结果,控制计算集群的规模;
任务管理器,包括空闲资源统计模块和任务发布模块,所述空闲资源统计模块用于统计计算集群的空闲资源,任务发布模块用于将任务发布至计算集群进行计算;
计算集群,用于对所发布的任务进行计算。
优选地,所述计算集群于任务计算结束后,记录该类型任务的处理时间。
与现有技术相比,本发明一种云服务器计算集合控制方法及系统,通过估计非实时任务的队列进度和各个任务的时效要求,自动调整计算集合的大小,在满足所有任务的时效要求的前提下尽可能的提高计算集合的使用率,对于搭建在云端并按使用时长收费的服务器计算集合能达到最大效益。
附图说明
图1为本发明一种云服务器计算集合控制方法的步骤流程图;
图2为本发明一种云服务器计算集合控制系统的系统架构图。
具体实施方式
以下通过特定的具体实例并结合附图说明本发明的实施方式,本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其它优点与功效。本发明亦可通过其它不同的具体实例加以施行或应用,本说明书中的各项细节亦可基于不同观点与应用,在不背离本发明的精神下进行各种修饰与变更。
图1为本发明一种云服务器计算集合控制方法的步骤流程图。如图1所示,本发明一种云服务器计算集合控制方法,包括如下步骤:
步骤S1,将所有任务定义属性后放入处理队列。
在本发明具体实施例中,任务的属性包括任务类型,其表示所处理任务的类型标识,包括任务本身的处理脚本以及需要的数据接口等;处理器占用,表示该任务在处理的时候,需要同时占用的处理器比例或处理器数量;任务时效,代表任务必须要在该时间前处理完成;优先级,任务处理的优先次序,可以用0-1000代表,优先级越小,越被先处理,优先级为0的时候,代表需要马上处理,当然本发明不以此为限,也可以优先级越大越先被处理;序号,代表任务进入队列的序号,该序号可以单调递增或递减,一般不可重复。
步骤S2,进行任务统计,根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量。
具体地,步骤S2进一步包括:
步骤S201、对任务队列进行按处理优先次序进行排序,在本发明具体实施例中,排序的依据为优先级和序号,具体地,先排优先级,再排序号,得到任务队列P={p0,p1,p2,p3.....pN};
步骤S202、对所有任务的累计计算量进行计算,对于任务队列P中第j个任务的累计计算量为,Cj=[SUM(ci*ti)i=0~j],其中ci代表该任务的处理器占用,ti代表该任务类型的历史平均处理时间。
步骤S3,根据任务统计的结果,控制计算集群的规模。
具体地,步骤S3进一步包括:
步骤S301,计算所有任务的预计完成时间Tj=Cj/C,其中C为当前计算集的总处理器个数;
步骤S302,计算所有任务的时效差ΔTi=Ti'-Tj,其中Ti'为该任务的时效要求;
步骤S303,计算新增计算集需求ΔC=(ΔTi/Ti')*C,根据新增计算集需求控制计算集群的规模。当ΔC>0的时候控制计算集,新增能力为ΔC的服务器,当ΔC<0的时候,若有ΔTi>a*Ti',关闭计算能力为abs〔ΔC〕的服务器,其中a为预设阈值。在本发明具体实施例中,使用阈值a是为了避免频繁的开关机,一般地,预设阈值a为0.2。
步骤S4,统计计算集群的空闲资源。
步骤S5,将任务发布至计算集群进行计算,即将任务发布至任务池,利用计算集群的各服务器对任务进行计算。
步骤S6,任务计算结束后,记录该类型任务的处理时间。
图2为本发明一种云服务器计算集合控制系统的系统架构图。如图2所示,本发明一种云服务器计算集合控制系统,包括:
任务定义模块201,用于对所有任务进行定义,将所有任务定义属性后放入处理队列。在本发明具体实施例中,任务的属性包括任务类型,其表示所处理任务的类型标识,包括任务本身的处理脚本以及需要的数据接口等;处理器占用,表示该任务在处理的时候,需要同时占用的处理器比例或处理器数量;任务时效,代表任务必须要在该时间前处理完成;优先级,任务处理的优先次序,可以用0-1000代表,优先级越小,越被先处理,优先级为0的时候,代表需要马上处理,当然本发明不以此为限,也可以优先级越大越先被处理;序号,代表任务进入队列的序号,该序号可以单调递增或递减,一般不可重复。
处理队列202,用于存放定义后的任务,也就是说所有任务都需先通过任务定义,然后再放入处理队列,该处理队列即为等待处理队列。
集群管理器203,包括任务统计模块和集群控制模块,其中任务统计模块用于根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;集群控制模块用于根据任务统计的结果,控制计算集群的规模。
其中,任务统计模块具体用于:
对任务队列进行按处理优先次序进行排序,在本发明具体实施例中,排序的依据为优先级和序号,具体地,先排优先级,再排序号,得到任务队列P={p0,p1,p2,p3.....pN};
对所有任务的累计计算量进行计算,对于任务队列P中第j个任务的累计计算量为,Cj=[SUM(ci*ti)i=0~j],其中ci代表该任务的处理器占用,ti代表该任务类型的历史平均处理时间。
集群控制模块具体用于:
计算所有任务的预计完成时间Tj=Cj/C,其中C为当前计算集的总处理器个数;
计算所有任务的时效差ΔTi=T′i-Tj,其中T′i为该任务的时效要求;
计算新增计算集需求ΔC=(ΔTi/Ti')*C,根据新增计算集需求控制计算集群的规模。当ΔC>0的时候控制计算集,新增能力为ΔC的服务器,当ΔC<0的时候,若有ΔTi>a*Ti',关闭计算能力为abs(ΔC)的服务器,其中a为预设阈值。在本发明具体实施例中,使用阈值a是为了避免频繁的开关机,一般地,预设阈值a为0.2。
任务管理器204,包括空闲资源统计模块和任务发布模块,其中,空闲资源统计模块用于统计计算集群的空闲资源,任务发布模块用于将任务发布至计算集群进行计算。
计算集群205,用于对所发布的任务进行计算,并于任务计算结束后,对任务计算进行记录,例如记录该类型任务的处理时间。
综上所述,本发明一种云服务器计算集合控制方法及系统,通过估计非实时任务的队列进度和各个任务的时效要求,自动调整计算集合的大小,在满足所有任务的时效要求的前提下尽可能的提高计算集合的使用率,对于搭建在云端并按使用时长收费的服务器计算集合能达到最大效益。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何本领域技术人员均可在不违背本发明的精神及范畴下,对上述实施例进行修饰与改变。因此,本发明的权利保护范围,应如权利要求书所列。
Claims (6)
1.一种云服务器计算集合控制方法,包括如下步骤:
步骤S1,将所有任务定义属性后放入处理队列;
步骤S2,根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;
步骤S3,根据任务统计的结果,控制计算集群的规模;
步骤S4,统计计算集群的空闲资源;
步骤S5,将任务发布至计算集群进行计算;
于步骤S1中,任务的属性包括任务类型、处理器占用、任务时效、优先级以及序号中部分或全部属性;所述处理器占用表示任务处理时需要同时占用的处理器比例或处理器数量;
步骤S2进一步包括:
步骤S201,对任务队列进行按处理优先次序进行排序;
步骤S202、对所有任务的累计计算量进行计算;
于步骤S202中,对于任务队列P中第j个任务的累计计算量为,
Cj=[SUM(ci*ti)i=0~j],其中ci代表前j个任务中的第i个任务的处理器占用,ti代表前j个任务中的第i个任务的任务类型的历史平均处理时间;
步骤S3进一步包括:
步骤S301,计算前j个任务的预计完成时间Tj=Cj/C,其中C为当前计算集的总处理器个数;
步骤S302,计算前j个任务的时效差ΔTj=Tj'-Tj,其中Tj'为前j个任务的时效要求;
步骤S303,计算新增计算集需求ΔC=(ΔTj/Tj')*C,根据新增计算集需求控制计算集群的规模。
2.如权利要求1所述的一种云服务器计算集合控制方法,其特征在于:于步骤S201中,所述任务队列排序的依据为优先级和序号。
3.如权利要求1所述的一种云服务器计算集合控制方法,其特征在于:于步骤S303中,当ΔC>0的时候控制计算集,新增能力为ΔC的服务器,当ΔC<0的时候,若有ΔTj>a*T′j,关闭计算能力为abs(ΔC)的服务器,其中a为预设阈值。
4.如权利要求1所述的一种云服务器计算集合控制方法,其特征在于,于步骤S5后还包括如下步骤:
步骤S6,于各个任务计算结束后,记录对应任务类型的处理时间。
5.一种云服务器计算集合控制系统,能够执行如权利要求1所述的云服务器计算集合控制方法,包括:
任务定义模块,用于对所有任务进行定义,将所有任务定义属性后放入处理队列;
处理队列,用于存放定义后的任务;
集群管理器,包括任务统计模块和集群控制模块,所述任务统计模块用于根据任务队列的内容,估计满足所有任务时效的情况下需要的服务器数量;集群控制模块用于根据任务统计的结果,控制计算集群的规模;
任务管理器,包括空闲资源统计模块和任务发布模块,所述空闲资源统计模块用于统计计算集群的空闲资源,任务发布模块用于将任务发布至计算集群进行计算;
计算集群,用于对所发布的任务进行计算。
6.如权利要求5所述的一种云服务器计算集合控制系统,其特征在于,所述计算集群于各个任务计算结束后,记录对应任务类型的处理时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358156.XA CN110096364B (zh) | 2019-04-30 | 2019-04-30 | 一种云服务器计算集合控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910358156.XA CN110096364B (zh) | 2019-04-30 | 2019-04-30 | 一种云服务器计算集合控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096364A CN110096364A (zh) | 2019-08-06 |
CN110096364B true CN110096364B (zh) | 2023-07-07 |
Family
ID=67446470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910358156.XA Active CN110096364B (zh) | 2019-04-30 | 2019-04-30 | 一种云服务器计算集合控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096364B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117041356B (zh) * | 2023-10-09 | 2023-12-05 | 成都新希望金融信息有限公司 | 指标分发方法、指标计算方法、装置、电子设备及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004348192A (ja) * | 2003-05-20 | 2004-12-09 | Hitachi Ltd | Job分配制御方法 |
US8645454B2 (en) * | 2010-12-28 | 2014-02-04 | Canon Kabushiki Kaisha | Task allocation multiple nodes in a distributed computing system |
US20140047095A1 (en) * | 2012-08-07 | 2014-02-13 | Advanced Micro Devices, Inc. | System and method for tuning a cloud computing system |
US9195506B2 (en) * | 2012-12-21 | 2015-11-24 | International Business Machines Corporation | Processor provisioning by a middleware processing system for a plurality of logical processor partitions |
CN103617062B (zh) * | 2013-12-05 | 2016-09-07 | 山东大学 | 一种柔性的渲染集群动态部署系统与方法 |
KR20150083713A (ko) * | 2014-01-10 | 2015-07-20 | 삼성전자주식회사 | 자원 관리를 위한 전자 장치 및 방법 |
US9354937B2 (en) * | 2014-07-18 | 2016-05-31 | Thomson Reuters Global Resources | System and method for electronic work prediction and dynamically adjusting server resources |
JP6415405B2 (ja) * | 2015-07-31 | 2018-10-31 | 本田技研工業株式会社 | タスク制御システム |
-
2019
- 2019-04-30 CN CN201910358156.XA patent/CN110096364B/zh active Active
Non-Patent Citations (1)
Title |
---|
面向云环境的自适应集群调整方法;周欢云;王伟;张文博;;计算机科学与探索(04);第348-355页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110096364A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287003B (zh) | 资源的管理方法和管理系统 | |
US8812639B2 (en) | Job managing device, job managing method and job managing program | |
CN102667724A (zh) | 利用加速器的、目标指向的工作负载性能管理 | |
CN112114960B (zh) | 一种适应互联网场景的遥感影像并行集群处理的调度策略 | |
CN110119876B (zh) | 工单处理方法及装置 | |
CN106919449A (zh) | 一种计算任务的调度控制方法及电子设备 | |
CN103927225A (zh) | 一种多核心架构的互联网信息处理优化方法 | |
CN111506434B (zh) | 一种任务处理方法、装置及计算机可读存储介质 | |
CN110096364B (zh) | 一种云服务器计算集合控制方法及系统 | |
CN110442428B (zh) | Docker容器的协调方法 | |
CN108170522B (zh) | 一种基于动态阈值的云计算虚拟机迁移控制方法 | |
CN110069319B (zh) | 一种面向朵云资源管理的多目标虚拟机调度方法及系统 | |
CN117135131A (zh) | 一种面向云边协同场景的任务资源需求感知方法 | |
CN112099932A (zh) | 边缘计算中软-硬截止期任务卸载的最佳定价方法及系统 | |
CN115858048A (zh) | 一种面向混合关键级任务动态到达边缘卸载方法 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN110308991A (zh) | 一种基于随机任务的数据中心节能优化方法及系统 | |
CN112156453B (zh) | 实例自适应调整方法、装置、计算机可读存储介质及设备 | |
CN112559183B (zh) | 计算资源管理方法、装置、电子设备及存储介质 | |
CN116204282A (zh) | 一种深度学习算法模型推理调度引擎架构及方法 | |
CN114741160A (zh) | 一种基于平衡能耗与服务质量的动态虚拟机整合方法和系统 | |
CN114741200A (zh) | 面向数据中台的计算资源分配方法、装置及电子设备 | |
CN110580192B (zh) | 一种基于服务特征的混部场景中容器i/o隔离性优化方法 | |
CN113656150A (zh) | 深度学习算力虚拟化系统 | |
CN108268310B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |