CN112817726A - 一种云环境下基于优先级的虚拟机分组资源调度方法 - Google Patents
一种云环境下基于优先级的虚拟机分组资源调度方法 Download PDFInfo
- Publication number
- CN112817726A CN112817726A CN202110174147.2A CN202110174147A CN112817726A CN 112817726 A CN112817726 A CN 112817726A CN 202110174147 A CN202110174147 A CN 202110174147A CN 112817726 A CN112817726 A CN 112817726A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- tasks
- group
- value
- 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 30
- 238000013507 mapping Methods 0.000 claims description 11
- 238000011160 research Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
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
-
- 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/505—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 load
-
- 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)
- Multi Processors (AREA)
Abstract
本发明公开了一种云环境下基于优先级的虚拟机分组资源调度方法,包括:建立任务列表和虚拟机列表;根据虚拟机执行速度将虚拟机列表中的虚拟机资源分为若干组;根据任务长度将任务列表中的任务分为若干组,将任务组分别对应到虚拟机组,根据任务的初始长度和初始价值计算任务的价值密度;判断每组任务的价值密度分布是否集中;若集中,使用优先级调度算法,直到该任务组中的任务列表为空;若不集中,使用Max‑Min算法,直到该任务组中的任务列表为空。本发明的有益效果在于不仅保证了特殊任务优先执行,而且能够在原有普通分组的算法基础上大幅度提升任务完成成功率,提高资源利用率,实现负载均衡。
Description
技术领域
本发明涉及计算机通信技术领域,尤其涉及一种云环境下基于优先级的虚拟机分组资源调度方法。
背景技术
云计算被称为动态服务的提供者,它具有非常大的可伸缩性和虚拟化资源。云计算可以定义为位于分布式数据中心上的计算和通信资源的集合,由许多不同的用户共享。目前的云计算相关研究中,广大研究者大多专注于大数据方面、虚拟机资源,包括本发明研究的资源调度与分配方面,还有云环境中的安全问题,其中云环境中任务调度是提高云计算效率的重要研究方法。
任务调度过程是将一个或多个时间间隔分配给一个或多个资源。在云计算中,调度是在一组计算资源上调度来自不同用户的一组已提交任务的问题,以最大程度地减少特定任务的完成时间或系统的完成时间。调度时需要考虑因素有很多,例如负载平衡,系统吞吐量,服务可靠性,服务成本,系统利用率等。通过对调度的全面研究,任务调度算法是一个关于分配和查找任务与资源之间最佳匹配的决策过程。所以资源调度问题其实是一个NP完全问题。
调度算法的作用是负责将输入负载映射到可用的云资源中,算法用于优化映射方案,目的是尽量能在云环境下用最少的时间处理更多的用户需求。目前的研究成果已经有很多,但是已经提出的调度算法各有侧重,多少都存在一定的局限性。比如Max-Min算法虽然提高了效率,但是容易导致负载均衡问题,蚁群算法虽然利用率高,但是时间复杂度大,已有调度算法大多着眼于资源利用率和减少成本,没有考虑到部分任务需要优先调度的情况,只有考虑优先级参数,才能进一步提高资源利用率和任务完成成功率。
发明内容
本发明的目的是提供一种云环境下基于优先级的虚拟机分组资源调度方法,解决了现有方法没有考虑到部分任务需要优先调度的问题,能够在原有普通分组的基础上大幅度提升任务完成成功率,提高资源利用率,实现负载均衡。
本发明为实现上述发明目的采用如下技术方案:
本发明提供了一种云环境下基于优先级的虚拟机分组资源调度方法,包括:
建立任务列表和虚拟机列表;
根据虚拟机执行速度将虚拟机列表中的虚拟机资源分为若干组;
根据任务长度将任务列表中的任务分为若干组,任务组与虚拟机组个数相同,将任务组分别对应到虚拟机组,根据任务的初始长度和初始价值计算任务的价值密度;
判断每组任务的价值密度分布是否集中:
若集中,使用优先级调度算法,直到该任务组中的任务列表为空;
若不集中,使用Max-Min算法,直到该任务组中的任务列表为空。
进一步地,所述述任务列表为T={T1,T2,T3,...,Tm},任务参数为Ti={Tid,Tlength,Tvalue,Tvd,Tdeadline};
其中,Tid表示任务的编号;Tlength表示任务的长度;Tvalue表示任务的价值;Tvd代表的是任务的价值密度;Tdeadline代表任务的最大完成时限;m为任务总数;i的范围为1~m。
进一步地,根据任务的初始长度和初始价值计算任务的价值密度的公式如下:
Tvd=Tvalue/Tlength
其中,Tvd代表的是任务的价值密度;Tvalue表示任务的价值;Tlength表示任务的长度。
进一步地,所述虚拟机列表为VM={VM1,VM2,...,VMn},第j个虚拟机参数为VMj={VMid,VMmips,VMram,VMpe};
其中,VMid表示该虚拟机资源在数据中心的编号;VMmips表示该虚拟机的执行速度;VMram表示内存大小;VMpe表示该虚拟机的内核数;n为虚拟机总数;j的范围为1~n。
进一步地,根据价值密度的分布判断每组任务是符合场景一或场景二的方法为:
若满足max(Tvd)-min(Tvd)≥avg(Tvd),则集中;
否则,则不集中;
其中,max(Tvd)表示所有任务中任务的价值密度Tvd的最大值;min(Tvd)表示所有任务中任务的价值密度Tvd的最小值;avg(Tvd)表示所有任务中任务的价值密度Tvd的平均值;
进一步地,根据虚拟机执行速度将虚拟机资源分为三组包括高速组、中速组和低速组。
进一步地,若每组任务的价值密度分布集中,则使用优先级调度算法,直到该任务组中的任务列表为空,方法包括:
使用优先级调度算法,为任务分配不同的优先级,在映射任务的过程中,优先安排优先级较高的任务,具有相同优先级的任务将被随机分配给虚拟机,在每次映射之后,更新未执行任务的优先级,直到该任务组中的任务列表为空。
进一步地,若每组任务的价值密度分布不集中,使用Max-Min算法,直到该任务组中的任务列表为空,方法包括:
使用Max-Min算法,计算任务组中的每一任务在对应的虚拟机组中任一可用虚拟机上的最早完成时间,最早完成时间由任务长度和虚拟机执行速率得出,选择最早完成时间最大的任务映射到执行速度最快的虚拟机上,直到该任务组的任务列表为空。
本发明的有益效果如下:
在原有分组算法的基础上结合优先级算法,并在分组后划分场景一和场景二,不仅保证了特殊任务优先执行,而且能够在原有普通分组的算法基础上大幅度提升任务完成成功率,提高资源利用率,实现负载均衡。
附图说明
图1为根据本发明实施例提供的一种云环境下基于优先级的VM分组资源调度方法的流程图。
具体实施方式
下面结合具体实施例对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,本发明的目的是提供一种云环境下基于优先级的VM分组资源调度方法,包括如下步骤:
步骤1,建立任务列表和虚拟机列表,给任务列表中的每个任务设定属性参数,,即任务完成的最大时限,设定任务长度和任务价值,设定虚拟机执行速率;
所述步骤1中,所述任务列表为T={T1,T2,T3,...,Tm},第i个任务参数为Ti={Tid,Tlength,Tvalue,Tvd,Tdeadline},其中,Tid表示任务的编号;Tlength表示任务的长度;Tvalue表示任务的价值;Tvd代表的是任务的价值密度;Tdeadline代表任务的最大完成时限;m为任务总数;i的范围为1~m;
所述虚拟机列表为VM={VM1,VM2,...,VMn},第j个虚拟机参数为VMj={VMid,VMmips,VMram,VMpe};其中,VMid表示该虚拟机资源在数据中心的编号;VMmips表示该虚拟机的执行速度;VMram表示内存大小;VMpe表示该虚拟机的内核数;n为虚拟机总数;j的范围为1~n。
步骤2,根据虚拟机的执行速度将虚拟机资源分为三组,分别是低速组、中速组和高速组;
步骤3,根据任务的长度将任务列表分为三组,分别为短任务组,中任务组,长任务组,将分组后的任务分别对应到三组虚拟机资源,分别是短任务组对应低速组,中任务组对应中速组,长任务组对应高速组;
步骤4,基于三组任务,根据任务的初始长度和初始价值计算任务的价值密度;
所述步骤4中,根据任务初始长度和初始任务价值计算任务价值密度,计算价值密度的公式:
Tvd=Tvalue/Tlength
步骤5,分别判断每一任务组中的任务价值密度的分布是否集中;若集中,为场景一,对应组的任务转入步骤6,否则为场景二,转步骤7;
判断每一任务组中的任务价值密度的分布是否集中的方法为:若任务组符合:max(Tvd)-min(Tvd)≥avg(Tvd)
则判断该任务组的任务价值密度分布集中,否则分布不集中;
其中,max(Tvd)表示任务组中所有任务中Tvd的最大值;min(Tvd)表示任务组中所有任务中Tvd的最小值;avg(Tvd)表示任务组中所有任务中Tvd的平均值。
步骤6,在场景一中,使用优先级调度算法,为任务分配不同的优先级,将优先级高的任务映射给对应组的虚拟机执行。
在映射任务的过程中,将优先安排优先级较高的任务。由于同一组中虚拟机的执行速度几乎相同,因此在映射时随机选择虚拟机将是一个很好的解决方案。具有相同优先级的任务将被随机分配给虚拟机。在每次任务调度后,更新未执行任务的优先级,这可以有效地防止任务被延迟执行。直到该任务列表为空,退出循环。
步骤7,在场景二中,使用Max-Min算法将任务映射给对应的虚拟机执行。
Max-Min算法为:
计算任务组中的每一任务在对应的虚拟机组中任一可用虚拟机上的最早完成时间,最早完成时间由任务长度和虚拟机执行速率得出,选择最早完成时间最大的任务映射到执行速度最快的虚拟机上,直到该任务组的任务列表为空。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (8)
1.一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,包括:
建立任务列表和虚拟机列表;
根据虚拟机执行速度将虚拟机列表中的虚拟机资源分为若干组;
根据任务长度将任务列表中的任务分为若干组,将任务组分别对应到虚拟机组,根据任务的初始长度和初始价值计算任务的价值密度;
判断每组任务的价值密度分布是否集中:
若集中,使用优先级调度算法,直到该任务组中的任务列表为空;
若不集中,使用Max-Min算法,直到该任务组中的任务列表为空。
2.根据权利要求1所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,所述任务列表为T={T1,T2,T3,...,Tm},第i个任务参数为Ti={Tid,Tlength,Tvalue,Tvd,Tdeadline};
其中,Tid表示任务的编号;Tlength表示任务的长度;Tvalue表示任务的价值;Tvd代表的是任务的价值密度;Tdeadline代表任务的最大完成时限;m为任务总数;i的范围为1~m。
3.根据权利要求2所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,根据任务的初始长度和初始价值计算任务的价值密度的公式如下:
Tvd=Tvalue/Tlength
其中,Tvd代表的是任务的价值密度;Tvalue表示任务的价值;Tlength表示任务的长度。
4.根据权利要求1所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,所述虚拟机列表为VM={VM1,VM2,...,VMn},第j个虚拟机参数为VMj={VMid,VMmips,VMram,VMpe};
其中,VMid表示该虚拟机资源在数据中心的编号;VMmips表示该虚拟机的执行速度;VMram表示内存大小;VMpe表示该虚拟机的内核数;n为虚拟机总数;j的范围为1~n。
5.根据权利要求3所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,判断每组任务的价值密度分布是否集中的方法为:
若满足max(Tvd)-min(Tvd)≥avg(Tvd),则集中;
否则,则不集中;
其中,max(Tvd)表示所有任务中任务的价值密度Tvd的最大值;min(Tvd)表示所有任务中任务的价值密度Tvd的最小值;avg(Tvd)表示所有任务中任务的价值密度Tvd的平均值。
6.根据权利要求1所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,根据虚拟机执行速度将虚拟机资源分为三组,包括高速组、中速组和低速组。
7.根据权利要求1所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,若每组任务的价值密度分布集中,则使用优先级调度算法,直到该任务组中的任务列表为空,方法包括:使用优先级调度算法,为任务分配不同的优先级,在映射任务的过程中,优先安排优先级较高的任务,具有相同优先级的任务将被随机分配给虚拟机,在每次映射之后,更新未执行任务的优先级,直到该任务组中的任务列表为空。
8.根据权利要求1所述的一种云环境下基于优先级的虚拟机分组资源调度方法,其特征在于,若每组任务的价值密度分布不集中,使用Max-Min算法,直到该任务组中的任务列表为空,方法包括:使用Max-Min算法,计算任务组中的每一任务在对应的虚拟机组中任一可用虚拟机上的最早完成时间,最早完成时间由任务长度和虚拟机执行速率得出,选择最早完成时间最大的任务映射到执行速度最快的虚拟机上,直到该任务组的任务列表为空。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174147.2A CN112817726B (zh) | 2021-02-09 | 2021-02-09 | 一种云环境下基于优先级的虚拟机分组资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110174147.2A CN112817726B (zh) | 2021-02-09 | 2021-02-09 | 一种云环境下基于优先级的虚拟机分组资源调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817726A true CN112817726A (zh) | 2021-05-18 |
CN112817726B CN112817726B (zh) | 2024-02-20 |
Family
ID=75864246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110174147.2A Active CN112817726B (zh) | 2021-02-09 | 2021-02-09 | 一种云环境下基于优先级的虚拟机分组资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817726B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546617A (zh) * | 2022-02-23 | 2022-05-27 | 南京航空航天大学 | 一种车载云环境下低服务成本的任务调度方法 |
CN114936081A (zh) * | 2022-05-30 | 2022-08-23 | 南京信息工程大学 | 一种基于woa算法的雾计算应用程序任务调度方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373432A (zh) * | 2015-11-06 | 2016-03-02 | 北京系统工程研究所 | 一种基于虚拟资源状态预测的云计算资源调度方法 |
CN110311965A (zh) * | 2019-06-21 | 2019-10-08 | 长沙学院 | 一种云计算环境下的任务调度方法及系统 |
-
2021
- 2021-02-09 CN CN202110174147.2A patent/CN112817726B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105373432A (zh) * | 2015-11-06 | 2016-03-02 | 北京系统工程研究所 | 一种基于虚拟资源状态预测的云计算资源调度方法 |
CN110311965A (zh) * | 2019-06-21 | 2019-10-08 | 长沙学院 | 一种云计算环境下的任务调度方法及系统 |
Non-Patent Citations (4)
Title |
---|
刘亚秋;赵青华;景维鹏;: "基于动态优先级和萤火虫行为的云任务调度算法", 计算机应用研究, no. 04 * |
张霞;杜丽敏;: "仿真网格中一种基于匹配度的改进Min-Min调度算法", 山西大学学报(自然科学版), no. 02 * |
陆文星;李光智;: "云计算下基于优先级和带宽约束的任务调度策略", 中国管理科学, no. 1 * |
魏妮妮;宋翌;艾学轶;: "网格计算中基于任务优先级的负载均衡算法", 华中师范大学学报(自然科学版), no. 02 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114546617A (zh) * | 2022-02-23 | 2022-05-27 | 南京航空航天大学 | 一种车载云环境下低服务成本的任务调度方法 |
CN114936081A (zh) * | 2022-05-30 | 2022-08-23 | 南京信息工程大学 | 一种基于woa算法的雾计算应用程序任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112817726B (zh) | 2024-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107222531B (zh) | 一种容器云资源调度方法 | |
CN106445675B (zh) | 一种b2b平台分布式应用调度与资源分配方法 | |
CN107370799B (zh) | 一种混合移动云环境中高能效的多用户在线计算迁移方法 | |
CN109542608B (zh) | 一种基于混合排队网络的云仿真任务调度方法 | |
CN112817726B (zh) | 一种云环境下基于优先级的虚拟机分组资源调度方法 | |
CN105389206A (zh) | 一种云计算数据中心虚拟机资源快速配置方法 | |
Derakhshan et al. | Optimization of tasks in cloud computing based on MAX-MIN, MIN-MIN and priority | |
CN115408100A (zh) | 容器集群调度的方法、装置、设备及存储介质 | |
CN115103450B (zh) | 一种多业务时隙分配方法和设备 | |
Komarasamy et al. | A novel approach for Dynamic Load Balancing with effective Bin Packing and VM Reconfiguration in cloud | |
Jaykrushna et al. | Linear regression assisted prediction based load balancer for cloud computing | |
CN114327811A (zh) | 一种任务调度方法、装置、设备及可读存储介质 | |
Pereira et al. | Increasing the efficiency of fog nodes through of priority-based load balancing | |
Fu et al. | Kalmia: A heterogeneous QoS-aware scheduling framework for DNN tasks on edge servers | |
Stavrinides et al. | Orchestrating bag-of-tasks applications with dynamically spawned tasks in a distributed environment | |
CN111199316A (zh) | 一种基于执行时间评估的云雾协同计算电网调度方法 | |
Patel et al. | A survey on load balancing in cloud computing | |
Shu-Jun et al. | Optimization and research of hadoop platform based on fifo scheduler | |
CN113672391A (zh) | 一种基于Kubernetes的并行计算任务调度方法与系统 | |
CN112437449A (zh) | 联合资源分配方法及区域编排器 | |
Yadav et al. | Priority based task scheduling by mapping conflict-free resources and Optimized workload utilization in cloud computing | |
CN111813558A (zh) | 一种面向混合云的资源调度方法 | |
CN109144664B (zh) | 一种基于用户服务质量需求差异的虚拟机动态迁移方法 | |
Carmona-Cejudo et al. | Optimal offloading of Kubernetes pods in three-tier networks | |
Kheirollahpour et al. | A heuristic-based task scheduling method for reducing waiting time in cloud environment |
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 |