CN113504998A - 一种任务调度方案的确定方法、装置和设备 - Google Patents
一种任务调度方案的确定方法、装置和设备 Download PDFInfo
- Publication number
- CN113504998A CN113504998A CN202110881881.2A CN202110881881A CN113504998A CN 113504998 A CN113504998 A CN 113504998A CN 202110881881 A CN202110881881 A CN 202110881881A CN 113504998 A CN113504998 A CN 113504998A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- information set
- target
- scheduling scheme
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000005457 optimization Methods 0.000 claims abstract description 42
- 230000006870 function Effects 0.000 claims description 59
- 238000012545 processing Methods 0.000 claims description 21
- 239000000427 antigen Substances 0.000 description 6
- 102000036639 antigens Human genes 0.000 description 6
- 108091007433 antigens Proteins 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 238000010367 cloning Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000008094 contradictory effect Effects 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000005215 recombination Methods 0.000 description 4
- 230000006798 recombination Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000003053 immunization Effects 0.000 description 3
- 238000002649 immunization Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 2
- 210000000987 immune system Anatomy 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 239000007795 chemical reaction product Substances 0.000 description 1
- 238000013377 clone selection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 210000002865 immune cell Anatomy 0.000 description 1
- 230000001900 immune effect Effects 0.000 description 1
- 230000036737 immune function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003313 weakening effect Effects 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/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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本说明书实施例提供了一种任务调度方案的确定方法、装置和设备,涉及大数据技术领域,其中,该方法包括:获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;获取虚拟机特征信息集;基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;目标函数中包含多个优化目标;根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。在本说明书实施例中,可以综合考虑多个因素,并利用非支配邻域免疫算法较好地平衡多个优化目标准确地确定出目标任务调度方案,使得确定的目标任务调度方案可以更加贴合用户的实际需求。
Description
技术领域
本说明书实施例涉及大数据技术领域,特别涉及一种任务调度方案的确定方法、装置和设备。
背景技术
随着云计算的快速发展,云用户对计算资源的需求逐日递增,随之增加的必然是虚拟机数量。当云环境中存在多个虚拟机的情况下,云平台任务调度就是寻找云计算下任务与虚拟机映射关系的过程,一个任务只能绑定在一个虚拟机,而一个虚拟机上可运行多个任务。
现有技术中,当虚拟机数量远大于云环境中的物理资源时,虚拟机通常是按照一定的调度顺序逐个进行处理。其中,云用户的任务可以拆分成若干子任务分配给合适的虚拟机,再由虚拟机匹配物理资源,完成虚拟机到云计算资源的映射,以完成任务调度。然而采用现有技术中的任务调度方式仅能从任务的完成时间的角度确定任务分配方案,然而用户的需求各不相同,多种需求间可能是相互矛盾的,优化一种需求时往往损耗其它方面的性能,因此,采用现有技术中的技术方案无法基于用户的多种需求准确地确定任务分配方案。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书实施例提供了一种任务调度方案的确定方法、装置和设备,以解决现有技术中无法基于用户的多种需求准确地确定任务分配方案的问题。
本说明书实施例提供了一种任务调度方案的确定方法,包括:获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;获取虚拟机特征信息集;基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
本说明书实施例还提供了一种任务调度方案的确定装置,包括:第一获取模块,用于获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;第二获取模块,用于获取虚拟机特征信息集;生成模块,用于基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;确定模块,用于根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
本说明书实施例还提供了一种任务调度方案的确定设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现本说明书实施例中任意一个方法实施例的步骤。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现本说明书实施例中任意一个方法实施例的步骤。
本说明书实施例提供了一种任务调度方案的确定方法,获取目标时间段内的任务信息集,以确定目标时间段内待调度的任务。为了确定在目标时间段内云环境中的虚拟机情况,可以获取虚拟机特征信息集。由于云计算环境中的任务调度可以定义为多目标优化问题,因此,可以基于所述任务信息集和所述虚拟机特征信息集,生成目标函数,其中上述目标函数中可以包含多个优化目标,每个优化目标可以表示一种用户需求。进一步的,可以根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案,其中,上述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。从而可以综合考虑多个因素,并利用非支配邻域免疫算法较好地平衡多个优化目标准确地确定出目标任务调度方案,使得确定的目标任务调度方案可以更加贴合用户的实际需求,进而有效提高任务调度的性能。
附图说明
此处所说明的附图用来提供对本说明书实施例的进一步理解,构成本说明书实施例的一部分,并不构成对本说明书实施例的限定。在附图中:
图1是根据本说明书实施例提供的任务调度方案的确定方法的步骤示意图;
图2是根据本说明书实施例提供的利用非支配邻域免疫算法在不同迭代次数下分别运行10次的结果的示意图;
图3是根据本说明书实施例提供的任务调度方案的确定装置的结构示意图;
图4是根据本说明书实施例提供的任务调度方案的确定设备的结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本说明书实施例的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本说明书实施例,而并非以任何方式限制本说明书实施例的范围。相反,提供这些实施方式是为了使本说明书实施例公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本说明书实施例的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本说明书实施例公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
虽然下文描述流程包括以特定顺序出现的多个操作,但是应该清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
请参阅图1,本实施方式可以提供一种任务调度方案的确定方法。该任务调度方案的确定方法可以用于可以综合考虑多个因素,并利用非支配邻域免疫算法较好地平衡多个优化目标准确地确定出目标任务调度方案。上述任务调度方案的确定方法可以包括以下步骤。
S101:获取目标时间段内的任务信息集;其中,任务信息集用于表示待调度的任务。
在本实施方式中,由于在云环境下会实时产生大量任务,因此,可以获取目标时间段内的任务信息集,其中,上述任务信息集可以用于表示待调度的任务,任务信息集可以用于确定待调度任务的个数和待调度任务的属性信息。
在本实施方式中,上述目标时间段的长度可以是预先设置的,例如:2秒、1分钟、8分钟、半小时等,在一些实施例中,可以是每间隔预设时间获取一次任务信息集,上述目标时间段也可以是用户指定的时间段。具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述任务信息集中可以包含在目标时间段内待调度的多个任务的相关信息,例如:任务的唯一标识信息、任务的长度、任务的提交时间等。当然可以理解的是上述任务信息集中还可以包含其它可能的信息,例如:任务的执行截止时间等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S102:获取虚拟机特征信息集。
在本实施方式中,由于云环境中会存在多个虚拟机,因此,为了确定在目标时间段内云环境中的虚拟机情况,可以获取虚拟机特征信息集。其中,上述虚拟机特征信息集中可以包含在目标时间段内可运行的各个虚拟机的特征信息,上述虚拟机特征信息集可以用于确定当前虚拟机的个数以及虚拟机的属性信息。
在本实施方式中,上述虚拟机的特征信息可以为用于表征虚拟机特性的信息,例如:虚拟机的处理性能、单位时间的执行成本、虚拟机的标识信息等,一般来说虚拟机的处理性能越强相应的单位时间执行成本也越高。当然可以理解的是,上述特征信息中还可以包含其它信息,例如:虚拟机的位置等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
S103:基于任务信息集和虚拟机特征信息集,生成目标函数;其中,目标函数中包含多个优化目标。
在本实施方式中,由于云平台任务调度就是寻找云计算下任务与虚拟机映射关系的过程,一个任务只能绑定在一个虚拟机,而一个虚拟机上可运行多个任务。将m个任务请求分配至n个虚拟机上,则会有nm种可能的分配方案,但是并非所有的分配方案都是用户期望的。因此,可以基于任务信息集和虚拟机特征信息集,生成目标函数。
在本实施方式中,云计算环境中的任务调度可以定义为多目标优化问题,上述目标函数中可以包含多个优化目标,每个优化目标可以表示一种用户需求,上述优化目标之间可以是相互矛盾的,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,上述目标函数可以用于表示任务调度方案优化的方向,可以包含多个目标方程式,每个方程式对应一个优化目标。
S104:根据目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
在本实施方式中,可以根据目标函数,利用非支配邻域免疫算法确定目标任务调度方案。其中,上述目标任务调度方案可以用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
在本实施方式中,在免疫系统中,抗体是免疫细胞识别抗原后所分泌的具有免疫功能、并能与抗原发生特异性结合的细胞,直接决定了人体对抗原的免疫能力。免疫算法是受生物免疫系统的应对外来入侵的处理机制而发展起来的一种启发式算法。该算法通过模拟生物系统免疫原理,将求解问题的目标函数与约束条件对应入侵生物体的抗原,优化问题的可行解对应与生物体应对抗原所产生的抗体,通过抗体和抗原亲和力描述可行解和最优解的距离。在本实施例中,抗体会对云计算任务调度最后的运行结果产生影响,直接决定了目标函数所求目标的优劣。
在本实施方式中,根据目标函数,利用非支配邻域免疫算法确定目标任务调度方案,可以包括:根据目标函数,利用非支配邻域免疫算法得到目标解集;其中,目标解集中可以包含多个在Pareto(非支配抗体)前沿上分布尽量均匀的Pareto最优解。进一步的,可以获取用户需求,并根据用户需求从目标解集中确定出目标任务调度方案。
在本实施方式中,由于单目标优化问题只有一个优化目标,通常能够找到全局最优解。而多目标优化问题的目标函数之间通常是相互矛盾的,很难找到一个解使得所有的目标函数同时最优。也就是说,一个解可能对于某个目标函数是最好的,但对于其他的目标函数却不是最好的,甚至是最差的。因此,对于多目标优化问题,通常存在一个解集,这些解之间就目标函数整体而言是无法比较优劣的,其特点是无法在改进任何目标函数的同时不削弱至少一个其他优化目标,这种解称作非支配解(Non-dominated Soluitons)或Pareto最优解。
在本实施方式中,由于云计算任务调度问题是一个多目标优化问题,优化目标之间存在着互相约束的关系,无法直接根据数值大小比较解之间的优劣,因此,可以引入Pareto最优概念来对求得的解进行比较,Pareto最优概念通过Pareto支配关系来比较多个相悖的目标解。
在本实施方式中,优化问题属于最小化多目标问题,两个优化目标分量fi(i=1,2)组成的向量f(X)=(f1(x),f2(x)),任意给定两个分配方案Xu,Xv∈U,U为任务信息集:
在本实施方式中,上述两个优化目标fi(i=1,2)组成向量f(X)=(f1(x),f2(x)),Xu∈U为某一分配方案,若Xu为Pareto最优解,则需满足:
当且仅当,不存在分配方案Xv∈U,使得Xv支配Xu,即当前种群中不存在任何分配方案能够支配Xu。由此可见,利用非支配邻域免疫算法经过多次迭代后获得的Pareto最优解其实是一个解集,该解集中的解是互不支配的关系。
在本实施方式中,可以根据用户需求从目标解集中选择出目标任务调度方案,例如:用户需求为时间少,成本在20元以内,则可以从目标解集中确定出对应的任务调度方案。当然可以理解的是,还可以采用其它可能的方式确定目标任务调度方案,例如:将目标解集中的任意一个任务调度方案作为目标任务调度方案执行等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
从以上的描述中,可以看出,本说明书实施例实现了如下技术效果:获取目标时间段内的任务信息集,以确定目标时间段内待调度的任务。为了确定在目标时间段内云环境中的虚拟机情况,可以获取虚拟机特征信息集。由于云计算环境中的任务调度可以定义为多目标优化问题,因此,可以基于所述任务信息集和所述虚拟机特征信息集,生成目标函数,其中上述目标函数中可以包含多个优化目标,每个优化目标可以表示一种用户需求。进一步的,可以根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案,其中,上述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。从而可以综合考虑多个因素,并利用非支配邻域免疫算法较好地平衡多个优化目标准确地确定出目标任务调度方案,使得确定的目标任务调度方案可以更加贴合用户的实际需求,进而有效提高任务调度的性能。
在一个实施方式中,所述虚拟机特征信息集中包含多组数据,每组数据中包含一个虚拟机的标识信息和对应的处理性能信息、单位时间的执行成本信息。
在本实施方式中,上述虚拟机的特征信息可以为用于表征虚拟机特性的信息,例如:虚拟机的处理性能、单位时间的执行成本、虚拟机的标识信息等,一般来说虚拟机的处理性能越强相应的单位时间执行成本也越高。当然可以理解的是,上述特征信息中还可以包含其它信息,例如:虚拟机的位置等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个实施方式中,基于所述任务信息集和所述虚拟机特征信息集,生成目标函数,可以包括:基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的任务总执行时间。基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的执行费用。进一步的,可以根据所述各个虚拟机对应的任务总执行时间和各个虚拟机对应的执行费用,生成所述目标函数。
在本实施方式中,为了建设合理数量的虚拟机,将多个虚拟机分配到物理资源节点上,使得云用户任务的完成时间和成本耗费最低,并兼顾被分配物理资源的服务能力,达到最大的资源利用率,可以将平衡任务执行时间和执行费用作为优化目标,从而使系统达到最大的资源利用率。当然可以理解的是,上述目标函数中还可以包含更多的优化目标,例如:调度距离等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在本实施方式中,由于有些用户可能偏向于执行时间最短的调度方案,有些用户则更希望在花费最少的情况下完成各个任务,因此,在一些实施例中也可以结合用户需求生成目标函数,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个实施方式中,由于一个任务只能值一个虚拟机上执行,但是一个虚拟机上可以按顺序执行多个任务,因此,可以按照以下公式,基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的任务总执行时间:
其中,Tvmj为第j个虚拟机对应的任务总执行时间;Σlen(u)j为第j个虚拟机需要执行的任务的长度总和;hj为第j个虚拟机的处理性能。
在本实施方式中,可以定义有m个任务U={u1,u2…um},以任务的长度len(ui)表示第i个任务ui的大小;可以定义有n个虚拟机VM={vm1,vm2…vmn}。在本实施例中,云数据中心由大量的异构虚拟机组成,这些虚拟机有不同的性能和价格,可以采用hj和cj来表示虚拟机vmj的处理性能和单位时间的执行成本,一般来说虚拟机的计算能力越强相应的单位时间执行费用也越高。
在本实施方式中,假设vmij表示用户提交的任务与虚拟机之间的映射关系,为任务i在虚拟机j上执行。可以按照以下公式计算单个任务在虚拟机上的执行时间:
其中,len(ui)表示第i个任务的长度,任务长度表示任务大小;hj表示第j个虚拟机的处理性能,可以利用MIPS(Million Instruction Per Second)表示性能指标,MIPS表示每秒多少百万条指令。
在本实施方式中,由于任务多个虚拟机是并行运行的,所有任务的总执行时间应该取各个虚拟机的任务总执行时间中最大的总执行时间,因此,可以按照以下公式计算任务的总执行时间:
其中,Ttotal为任务的总执行时间;∑len(u)j为第j个虚拟机需要执行的任务的长度总和;hj为第j个虚拟机的处理性能。
在一个实施方式中,可以按照以下公式,基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的执行费用:
其中,Cjtotal为第j个虚拟机对应的执行费用;∑len(u)j为第j个虚拟机需要执行的任务的长度总和;hj为第j个虚拟机的处理性能;cj为第j个虚拟机单位时间的执行成本。
在本实施方式中,可以按照以下公式计算执行m个任务对应的虚拟机的总执行费用:
其中,Ctotal为虚拟机的总执行费用;n为虚拟机的总个数;∑len(u)j为第j个虚拟机需要执行的任务的长度总和;hj为第j个虚拟机的处理性能;cj为第j个虚拟机单位时间的执行成本。
在一个实施方式中,可以按照以下公式,根据所述各个虚拟机对应的任务总执行时间和各个虚拟机对应的执行费用,生成所述目标函数:
其中,min(Ttotal)为任务执行时间的优化目标;∑len(u)j为第j个虚拟机需要执行的任务的长度总和;hj为第j个虚拟机的处理性能;n为虚拟机的总数量;j为变量;cj为第j个虚拟机单位时间的执行成本;min(Ctotal)为执行成本的优化目标。
在本实施方式中,可以假设任务的抢占是不允许的,也就是说任务一旦开始执行,该任务就必须不间断的执行完成,同时还假设每台虚拟机在每个时刻只能执行一个任务。这些假设条件对处理云任务所需的执行时间会产生影响,而执行费用是由执行时间和单位时间的执行成本共同决定的,因此也会对执行费用产生影响。在本实施方式中,由于云计算中的各个虚拟机的计算资源是并行处理任务序列的,所以完成所有任务所需的执行时间是各个虚拟机执行完各自任务所需时间的最大值,总执行费用是各虚拟机执行完各自任务所需费用的总和。对于云计算用户来说,必然追求更短的运行时间和最低的执行费用,因此对于Ttotal和Ctotal都应该以求最小值为最优。而执行时间和执行费用两个优化目标之间是相互矛盾的,一般来说,为了将任务执行时间降为最低,就需要把任务调度到性能较好的资源上执行,而性能较好的虚拟机资源一般来说价格又比较高。因此,在云计算环境中任务调度可以定义为多目标优化问题。
在本实施方式中,利用上述目标函数和非支配邻域免疫算法的目标是找到用时最短、费用最低的最优解。可以包括:1、随机初始化N种解决方案;2、在N种方案中根据拥挤距离找出非支配抗体DTt+1;3、达到迭代次数输出最优解,未达到迭代次数,未达到迭代次数可计算出拥挤距离并选择出优秀个体,通过比例克隆、重组操作获得新个体,扩大搜索域,从而保证迭代后得到最优解。
在本实施方式中,Pareto前沿面中的解之间是互不支配的关系,无法比较之间的优劣,决策者可以根据当前系统的需求选择合适的分配方案。为了给决策者提供更多适用于各种需求的解,算法需要搜索到更多解,同时这些解需要均匀分布在Pareto前沿面上。为了解决此问题,首先需要得到种群中特定解周围的解的密度估计。可以根据每一目标函数计算这点两侧的两个点的平均距离,这个数值作为以最近邻居作为顶点的长方体周长的估计,称为拥挤系数,也叫拥挤距离(Crowding Distance)。
在本实施方式中,非支配邻域免疫算法根据拥挤距离大小来对非支配种群进行个体选择。在选择时倾向于选择拥挤距离较大的个体,以此加强对当前Pareto前沿面中较稀疏区域的搜索,使下一次迭代获得的解能够均匀扩散到整个Pareto前沿面中。
在本实施方式中,为了保证优秀的个体在迭代中继续保留其优势,可以采用比例克隆的方式对个体进行选择。在克隆阶段,算法将会根据个体的拥挤距离来决定其被克隆的次数,拥挤距离越大,被克隆的次数就越多。由于边界解的拥挤距离无法通过公式直接计算,通常设为无穷大,但是在计算时可以将边界解的拥挤距离设定为所有非边界解中最大拥挤距离的两倍。
在本实施方式中,为了扩大搜索域,非支配邻域免疫算法可以对克隆后获得的种群通过重组操作来更新个体。重组操作仅仅将各自已有的部分信息进行交换,虽然能够获得新的个体,但是个体的原有信息并没有获得更新,因此,还可以通过变异操作来保持种群的多样性,避免陷入局部最优。
在一个实施方式中,上述任务信息集中可以包含在目标时间段内待调度的多个任务的标识信息,利用标识信息可以唯一确定一个任务,上述标识信息可以为名称、编号等。当然可以理解的是,上述任务信息集中还可以包含任务的其它信息,例如:任务的长度、任务的提交时间、任务的执行截止时间等,具体的可以根据实际情况确定,本说明书实施例对此不作限定。
在一个实施例中,可以利用非支配邻域免疫算法进行仿真实验。在开始仿真实验前,可以确定云任务模型中任务的个数及其属性,任务的属性主要包括单个子任务的长度,然后需要确定虚拟机的个数及其属性,虚拟机的属性包括虚拟机的编号、虚拟机的处理性能以及各个虚拟机的单位时间的执行成本。
在本实施例中,假设所有任务都是独立任务,即任务之间是相互独立的,因此,首先确定任务的个数taskNum=200,然后通过随机数生成器生成任务长度taskLength,其取值为[50,300](MIPS)。假设虚拟机的个数vmNum=10,则其编号取[1,10]的整数。虚拟机的处理性能vmCP通过随机数生成器生成,其取值范围为[3000,6000](MIPS),同时单位时间的执行成本vmUP也通过随机数生成器获得,取值范围为[0.5,2.5](元/秒)。
在本实施例中,利用非支配邻域免疫算法在不同迭代次数Gen(50次、100次、150次和200次)下分别运行10次的结果可以如图2中所示。其中,图2中的Exp1-Exp10分别表示10个虚拟机,四个子图从左到右从上到下的迭代次数Gen分别为0次、100次、150次和200次。从图2中可以看出,任务执行总时间和任务执行总费用确实是两个相互制约的目标,执行时间的减少通常伴随着执行费用的增加。为了更好地权衡两个目标,算法获取了该模型的Pareto前沿面,以供决策者根据具体的需求选择合适的任务分配方案。通过观察图中每次实验获得的Pareto前沿面的分布可以清楚地看到,随着迭代次数的增加,多次实验的Pareto前沿面逐渐聚敛,更加接近于真实的Pareto前沿面。此外,所提算法能获得均匀的Pareto前沿面还得益于算法的克隆选择策略,拥挤距离越大的个体被克隆的次数越多。这样的个体选择策略使得当前Pareto前沿面中较稀疏部分的解被选中,然后通过重组与变异操作使得算法能够搜索到其周围的解,最终保证获得的解能够均匀地扩展到整个Pareto前沿面中。
基于同一发明构思,本说明书实施例中还提供了一种任务调度方案的确定装置,如下面的实施例所述。由于任务调度方案的确定装置解决问题的原理与任务调度方案的确定方法相似,因此任务调度方案的确定装置的实施可以参见任务调度方案的确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本说明书实施例的任务调度方案的确定装置的一种结构框图,如图3所示,可以包括:第一获取模块301、第二获取模块302、生成模块303、确定模块304,下面对该结构进行说明。
第一获取模块301,可以用于获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;
第二获取模块302,可以用于获取虚拟机特征信息集;
生成模块303,可以用于基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;
确定模块304,可以用于根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
本说明书实施例实施方式还提供了一种电子设备,具体可以参阅图4所示的基于本说明书实施例提供的任务调度方案的确定方法的电子设备组成结构示意图,所述电子设备具体可以包括输入设备41、处理器42、存储器43。其中,所述输入设备41具体可以用于输入任务信息集。所述处理器42具体可以用于获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;获取虚拟机特征信息集;基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。所述存储器43具体可以用于存储目标函数、目标任务调度方案等参数。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说明书实施例实施方式中还提供了一种基于任务调度方案的确定方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时可以实现:获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;获取虚拟机特征信息集;基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本说明书实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本说明书实施例不限制于任何特定的硬件和软件结合。
虽然本说明书实施例提供了如上述实施例或流程图所述的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑性上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本说明书实施例提供的执行顺序。所述的方法的在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本说明书实施例的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本说明书实施例的优选实施例而已,并不用于限制本说明书实施例,对于本领域的技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的保护范围之内。
Claims (10)
1.一种任务调度方案的确定方法,其特征在于,包括:
获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;
获取虚拟机特征信息集;
基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;
根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机特征信息集中包含多组数据,每组数据中包含一个虚拟机的标识信息和对应的处理性能信息、单位时间的执行成本信息。
3.根据权利要求2所述的方法,其特征在于,基于所述任务信息集和所述虚拟机特征信息集,生成目标函数,包括:
基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的任务总执行时间;
基于所述任务信息集和所述虚拟机特征信息集,确定各个虚拟机对应的执行费用;
根据所述各个虚拟机对应的任务总执行时间和各个虚拟机对应的执行费用,生成所述目标函数。
7.根据权利要求1所述的方法,其特征在于,所述任务信息集中包含多个待调度任务的标识信息。
8.一种任务调度方案的确定装置,其特征在于,包括:
第一获取模块,用于获取目标时间段内的任务信息集;其中,所述任务信息集用于表示待调度的任务;
第二获取模块,用于获取虚拟机特征信息集;
生成模块,用于基于所述任务信息集和所述虚拟机特征信息集,生成目标函数;其中,所述目标函数中包含多个优化目标;
确定模块,用于根据所述目标函数,利用非支配邻域免疫算法确定目标任务调度方案;其中,所述目标任务调度方案用于表示各个虚拟机与任务信息集中各个待调度任务之间的调度关系。
9.一种任务调度方案的确定设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110881881.2A CN113504998A (zh) | 2021-08-02 | 2021-08-02 | 一种任务调度方案的确定方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110881881.2A CN113504998A (zh) | 2021-08-02 | 2021-08-02 | 一种任务调度方案的确定方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113504998A true CN113504998A (zh) | 2021-10-15 |
Family
ID=78014781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110881881.2A Pending CN113504998A (zh) | 2021-08-02 | 2021-08-02 | 一种任务调度方案的确定方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113504998A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064281A (zh) * | 2021-11-22 | 2022-02-18 | 重庆邮电大学 | 一种基于BFD-VNS算法的低成本Spark执行器放置方法 |
CN114943391A (zh) * | 2022-07-27 | 2022-08-26 | 青岛民航凯亚系统集成有限公司 | 基于nsgaⅱ的机场资源调度方法 |
-
2021
- 2021-08-02 CN CN202110881881.2A patent/CN113504998A/zh active Pending
Non-Patent Citations (2)
Title |
---|
MAOGUO GONG 等: "Multiobjective Immune Algorithm with Nondominated Neighbor-based Selection", EVOLUTIONARY COMPUTATION, vol. 16, no. 2, 30 June 2008 (2008-06-30), pages 1 - 31, XP058395265, DOI: 10.1162/evco.2008.16.2.225 * |
段凯蓉 等: "基于多目标免疫系统算法的云任务调度策略", 计算机应用, vol. 36, no. 2, 10 February 2016 (2016-02-10), pages 324 - 328 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114064281A (zh) * | 2021-11-22 | 2022-02-18 | 重庆邮电大学 | 一种基于BFD-VNS算法的低成本Spark执行器放置方法 |
CN114943391A (zh) * | 2022-07-27 | 2022-08-26 | 青岛民航凯亚系统集成有限公司 | 基于nsgaⅱ的机场资源调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Alkayal et al. | Efficient task scheduling multi-objective particle swarm optimization in cloud computing | |
CN112286677B (zh) | 一种面向资源受限边缘云的物联网应用优化部署方法 | |
CN110489229B (zh) | 一种多目标任务调度方法及系统 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
Kaur et al. | Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud | |
CN111124689A (zh) | 一种集群中容器资源动态分配方法 | |
CN110321217B (zh) | 一种多目标的云资源调度方法、装置、设备及存储介质 | |
CN113504998A (zh) | 一种任务调度方案的确定方法、装置和设备 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
Xiao et al. | A cooperative coevolution hyper-heuristic framework for workflow scheduling problem | |
CN113627871A (zh) | 一种基于多目标粒子群算法的工作流调度方法、系统及存储介质 | |
Kalra et al. | Multi‐criteria workflow scheduling on clouds under deadline and budget constraints | |
CN109710372B (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
Subramoney et al. | Multi-swarm PSO algorithm for static workflow scheduling in cloud-fog environments | |
CN115330189A (zh) | 一种基于改进飞蛾火焰算法的工作流优化调度方法 | |
Kaur et al. | Deadline constrained scheduling of scientific workflows on cloud using hybrid genetic algorithm | |
CN117032902A (zh) | 一种基于负载的改进离散粒子群算法的云任务调度方法 | |
Garg et al. | Enhancing the discrete particle swarm optimization based workflow grid scheduling using hierarchical structure | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN117687759A (zh) | 一种任务调度方法、装置、处理设备及可读存储介质 | |
Yang et al. | Budget and SLA aware dynamic workflow scheduling in cloud computing with heterogeneous resources | |
CN110362378A (zh) | 一种任务调度方法及设备 | |
Ebadifard et al. | A modified black hole-based multi-objective workflow scheduling improved using the priority queues for cloud computing environment | |
Al Shamaa et al. | Probability-Based Crossover Genetic Algorithm for Task Scheduling in Cloud Computing | |
CN113220437A (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 |