CN117873702A - 混合云自适应资源管理方法、系统、设备及可读存储介质 - Google Patents
混合云自适应资源管理方法、系统、设备及可读存储介质 Download PDFInfo
- Publication number
- CN117873702A CN117873702A CN202311714421.6A CN202311714421A CN117873702A CN 117873702 A CN117873702 A CN 117873702A CN 202311714421 A CN202311714421 A CN 202311714421A CN 117873702 A CN117873702 A CN 117873702A
- Authority
- CN
- China
- Prior art keywords
- host nodes
- resources
- users
- virtual machine
- total number
- 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
- 230000003044 adaptive effect Effects 0.000 title claims description 42
- 238000007726 management method Methods 0.000 title claims description 35
- 238000000034 method Methods 0.000 claims abstract description 98
- 238000013468 resource allocation Methods 0.000 claims abstract description 74
- 230000015654 memory Effects 0.000 claims description 86
- 230000008569 process Effects 0.000 claims description 50
- 238000005457 optimization Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 29
- 238000012549 training Methods 0.000 claims description 24
- 208000000044 Amnesia Diseases 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000004422 calculation algorithm Methods 0.000 description 30
- 239000013598 vector Substances 0.000 description 12
- 210000004556 brain Anatomy 0.000 description 8
- 210000004027 cell Anatomy 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 210000002569 neuron Anatomy 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 208000026139 Memory disease Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000002490 cerebral effect Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000796 flavoring agent Substances 0.000 description 1
- 235000019634 flavors Nutrition 0.000 description 1
- 230000006984 memory degeneration Effects 0.000 description 1
- 208000023060 memory loss Diseases 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请提供一种混合云自适应资源管理方法、系统、设备及可读存储介质,本申请可以利用资源信息采集模块接收用户的请求,并实时采集并更新云资源信息,并利用资源动态调度模块实现实时动态调整云资源的分配,在获取实时云资源信息和用户请求的基础上,本申请实施例提供的管理系统能够自适应动态优化资源分配,能够迅速实时生成云资源的分配方案,能在高并发场景下减小资源分配延时,进一步地可以使各计算节点负载更加均衡,资源利用更加合理,大幅度提高了云平台稳定性和资源利用率,尤其可以适用在混合云场景下,对混合云的CPU和内存资源的负载均衡调度中,可以有效均衡分配混合云的CPU和内存资源,最高限度提升系统的性能。
Description
技术领域
本申请涉及云资源管理技术领域,尤其涉及一种混合云自适应资源管理方法、系统、设备及可读存储介质。
背景技术
随着科学技术的发展,云计算作为一种新的计算范式不断蓬勃发展,掀起了分布式计算社区新一轮的IT技术变革。如今,云计算俨然已经成为互联网计算中的一项重要服务。基础设施及服务(Infrastructure as a Service,IaaS)是云计算发展最快和最重要的领域之一。针对IaaS的云计算中最紧迫的问题之一是资源管理。在实际应用过程中,常见的云平台调度系统,可以根据用户资源使用请求选择宿主机节点创建虚拟机,然而,在高并发请求场景中,云平台调度系统可能会同时出现部分宿主机资源分配过载,而其他宿主机资源分配过剩的现象。
传统的云调度算法一般是根据负载状态信息和资源状态信息,按照成本最小化的连接调度算法计算工作流资源优先级,从而进行云资源分配;或者通过对负载成本和闲置成本数学建模并博弈,寻求找到二者之间的纳什平衡点,从而更新优化当前的云资源分配策略。但是这些云资源分配算法仍存在资源调度不合理问题。因此,在实际应用过程中,亟需一种可以在高并发场景中合理分配资源,使各宿主机节点负载更加均衡,在减小云平台服务器开销和延迟,提高吞吐量的同时,也能最大限度提高系统服务质量的云资源调度算法。
发明内容
本申请旨在至少能解决上述的技术缺陷之一,有鉴于此,本申请提供了一种混合云自适应资源管理方法、系统、设备及可读存储介质,用于解决现有技术中云资源调度不合理的技术缺陷。
一种混合云自适应资源管理方法,该方法包括:
实时接收所有用户的虚拟机创建请求;
实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组;
依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;
依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
优选地,所述采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,包括:
实时采集当前所有宿主机节点的资源信息,其中,每个宿主机节点的资源信息包括每个宿主机节点的CPU资源信息和内存资源信息;
比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系;
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,得到所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果;
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则以预设的第一长度阈值对所有用户的虚拟机创建请求总数量进行分组,并将长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量继续与所有宿主机节点总数量进行比较;
若长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量小于所有宿主机节点总数量,则执行所述确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组的操作,直至得到所有用户的虚拟机创建请求总数量与所有宿主机节点总数量对应的第二分组结果。
优选地,所述预设的自适应资源动态调度策略,包括:
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果以及所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果,依次将所有用户的虚拟机创建请求分别分配到可用情况最好的宿主机节点;
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则依据所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第二分组结果,分别将每组用户的虚拟机创建请求分配对应的每组宿主机节点。
优选地,所述依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果,包括:
依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案以及最差分配方案;
依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度;
依据所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果;
依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度;
依据所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果;
依据预设的资源损失函数、对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果以及对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果,确定对所有宿主机节点的资源的分配结果。
优选地,所述预设的损失函数,包括:
Lmemory=min{wn(sn-λn)-wp(sp-λp),0}
其中,
wn和wp分别表示平衡权重系数;
λn表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度的阈值;
λp表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度的阈值;
sn表示当前宿主机节点的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度;
sp表示当前的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度。
优选地,所述预设的资源总损失函数的计算公式,包括:
LT=w1Lmemory+w2LCPU
其中,
LT表示对所有的宿主机节点的资源的总损失;
Lmemory表示对所有的宿主机节点的内存资源的总损失;
LCPU表示对所有的宿主机节点的CPU资源的总损失;
w1表示对所有的宿主机节点的内存资源的总损失对应的损失权重系数;
w2表示对所有的宿主机节点的CPU资源的总损失对应的损失权重系数。
优选地,所述预设的优化模型的创建过程,包括:
将训练的四元组数据作为训练样本,以所述训练的四元组数据中包括的所有宿主机节点的资源的最终分配方案作为训练标签,训练得到;
其中,
所述训练的四元组数据包括:训练的所有宿主机节点的资源最优分配方案、训练的所有宿主机节点的资源的最差分配方案、当前进行资源分配后宿主机节点的剩余资源数据、训练的用户的虚拟机创建请求。
一种混合云自适应资源管理系统,应用于前述介绍的任一项所述混合云自适应资源管理方法,该系统包括:资源信息采集模块、资源动态调度模块以及资源分配执行模块;
其中,
所述资源信息采集模块负责实时接收所有用户的虚拟机创建请求,并实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组;
所述资源动态调度模块负责依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;
所述资源分配执行模块负责依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
一种混合云自适应资源管理设备,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如前述介绍中任一项所述混合云自适应资源管理方法的步骤。
一种可读存储介质,所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现如前述介绍中任一项所述混合云自适应资源管理方法的步骤。
从以上介绍的技术方案可以看出,在实际应用过程中,不同场景不同时刻,宿主机节点的资源可用情况不同,因此,当有多个用户进行虚拟机创建请求云资源,需要对宿主机节点的资源进行分配时,本申请实施例提供的方法可以实时接收用户的虚拟机创建请求,并实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,以便可以根据所有的宿主机节点的资源的可用情况,来按照对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量的分组情况进行资源调度,因此,在对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组之后,可以依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;在实际应用过程中,确定对所有宿主机节点的资源的分配结果可能会存在一些误差,因此,为了更好地输出最适合当前所有用户的虚拟机创建请求对应的宿主机节点的资源的分配方案,可以在确定对所有宿主机节点的资源的分配结果之后,进一步依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
由此可见,采用本申请实施例提供的方法来进行云资源调度,可以接收用户的虚拟机创建请求,并实时采集并更新云资源信息,实现实时动态调整云资源的分配,进一步地,在获取实时云资源信息和用户请求的基础上,本申请实施例提供的方法能够自适应动态优化资源分配,能够迅速实时生成云资源的分配方案,能在高并发场景下减小资源分配延时,进一步地可以使各计算节点负载更加均衡,资源利用更加合理,大幅度提高了云平台稳定性和资源利用率,尤其可以适用在混合云场景下,对混合云的CPU和内存资源的负载均衡调度中,可以有效均衡分配混合云的CPU和内存资源,最高限度提升系统的性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种实现混合云自适应资源管理的系统架构示意图;
图2为本申请实施例提供的一种实现混合云自适应资源管理方法的流程图;
图3为本申请实施例公开的一种混合云自适应资源管理设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在实际应用过程中,为了解决云资源调度不合理的问题,有人研究了一种基于蚁群优化的任务负载均衡调度算法,该基于蚁群优化的任务负载均衡调度算法可以根据负载状态信息和资源状态信息,按照成本最小化的连接调度算法计算工作流资源优先级,从而进行资源分配。还有人提出了一种基于博弈论的限制云资源调度方法,该基于博弈论的限制云资源调度方法则是通过对负载成本和闲置成本数学建模并博弈,寻求找到二者之间的纳什平衡点,从而更新优化当前的资源策略。
虽然这些方法都可以优化云资源调度不合理的问题,但是此类方法也存在一些问题:
(1)初始信息条件采用均分概率建模与实际场景存在偏差,多步程更新迭代缓慢,增加了调度时间成本。
(2)使用线性实值函数拟合实际场景业务访问的概率分布过于理想,无法保证与实际场景建立准确对应关系。
(3)满足纳什平衡的情况是实际业务场景的有限子集,无法保证实际业务场景中每一种情况都存在纳什平衡条件;纳什平衡收敛复杂缓慢,可能会出现模式崩塌的情况。
因此,探索一种新的混合云自适应资源管理方法很有必要。
为此,本申请人开展了研究新的混合云自适应资源管理方法的工作。
本申请人经过研究了解到,随着科学技术的发展,GPT模型(Generative Pre-trained Transformer)逐渐进入大众视野之中。GPT模型以深度堆叠Transform模块的方式构建了超大容量规模的模型,同时结合海量规模的训练数据语料和大规模预训练,使得GPT模型拥有极强的生成能力和泛化能力。GPT模型的生成能力已经在自然语言处理领域大展身手。同时,其极强的学习能力和生成能力在云平台资源调度方面也大有可为。
其中,
深度学习算法的主要包含三个模块:模型、大数据和调优算法。
如当前大火的GPT模型实际指的是GPT深度学习算法,是对模型、大数据和调优算法集合的统称。
在实际应用过程中,模型决定了深度学习算法的学习能力。模型大小意味着模型参数的多少,模型越大,参数越多,则表明模型学习的基础能力越具备。同时,模型的结构也是非常关键的,不同的模型结构也决定了模型学习的能力不同。就好比人的大脑,大脑神经元数量就是大脑的参数数量,神经元数量越多,则具备更好的学习物质基础;另一方面,如果大脑结构使得只有很少一部分神经元被激活,很少一部分神经元在参与学习,那么即使大脑整体神经元数量很多,大脑的学习能力也会大打折扣。因此,GPT模型大小和结构都对GPT模型学习能力起决定性作用。
进一步地,在实际应用过程中,大数据决定了模型从哪些数据中学习。例如,在实际应用过程中,如果大脑是从语文教材中学习,那么大脑获取到的知识为中文知识;如果大脑从英语教材中学习,那么大脑获取到的为英文知识。
例如,经研究发现,GPT-3.0模型主要从自然语言中学习,因此,GPT-3.0模型主要获取的是语言对话能力;而GPT-4.0模型在自然语言之外还学习了图像知识,因此,GPT-3.0模型也具备图像修改和生成能力。
在实际应用过程中,调优算法可以给模型提供学习导向,调优算法可以决定模型从数据中学习到哪些知识。
比如,如果GPT模型没有调优算法的话,虽然GPT模型是从语言中学习,但当用户询问GPT模型“你好吗?”的时候,GPT模型可能回答“He楼填”等不着边际的话。
如果GPT模型设计有调优算法,那么GPT模型的调优算法则会告知GPT模型该学习哪些知识,当GPT模型学习偏离预定学习方向时,GPT模型的调优算法会对GPT模型施加一些惩罚使得模型回归到预定学习方向上来。
关注到GPT模型的优势,并且鉴于目前大部分的一种混合云自适应资源管理方案难以适应复杂多变的业务需求,为此,本申请人在结合GPT模型的优势的基础上,研究了一种混合云自适应资源管理方案,经试验发现,采用本申请实施例提供的方法来进行云资源调度,可以实时采集并更新云资源信息,实现实时动态调整云资源的分配,进一步地,在获取实时云资源信息和用户请求的基础上,本申请实施例提供的方法能够自适应动态优化资源分配,能够迅速实时生成云资源的分配方案,能在高并发场景下减小资源分配延时,进一步地可以使各计算节点负载更加均衡,资源利用更加合理,大幅度提高了云平台稳定性和资源利用率,尤其可以适用在混合云场景下,对混合云的CPU和内存资源的负载均衡调度中,可以有效均衡分配混合云的CPU和内存资源,最高限度提升系统的性能。
本申请实施例提供的方法可以用于众多通用或专用的计算装置环境或配置中。
例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本申请实施例提供一种混合云自适应资源管理方法,该方法可以应用于各种混合云资源管理系统中,亦可以应用在各种计算机终端或是智能终端中,其执行主体可以为计算机终端或是智能终端的处理器或服务器。
下面结合图1,介绍本申请实施例给出的可以实现混合云自适应资源管理的一种可选系统架构,如图1所示,该系统架构可以包括:资源信息采集模块、资源动态调度模块以及资源分配执行模块;
其中,
资源信息采集模块可以负责实时接收所有用户的虚拟机创建请求,并可以实时采集所有宿主机节点的资源信息,并可以依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组;
资源动态调度模块可以负责依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;
资源分配执行模块可以负责依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,可以得到所有宿主机节点的资源最终的分配方案,并可以依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
从上述介绍的介绍方案可以看出,当多个用户请求云资源时,本申请实施例提供的混合云自适应资源管理系统可以利用资源信息采集模块接收用户的请求,并实时采集并更新云资源信息,并进一步利用资源动态调度模块实现实时动态调整云资源的分配,进一步地,在获取实时云资源信息和用户请求的基础上,本申请实施例提供的管理系统能够自适应动态优化资源分配,能够迅速实时生成云资源的分配方案,能在高并发场景下减小资源分配延时,进一步地可以使各计算节点负载更加均衡,资源利用更加合理,大幅度提高了云平台稳定性和资源利用率,尤其可以适用在混合云场景下,对混合云的CPU和内存资源的负载均衡调度中,可以有效均衡分配混合云的CPU和内存资源,最高限度提升系统的性能。
下面结合图2,介绍本申请实施例给出的一种混合云自适应资源管理方法的流程,如图1所示,该流程可以包括以下几个步骤:
步骤S101,实时接收所有用户的虚拟机创建请求。
具体地,在实际应用过程中,当用户需要创建虚拟机的时候,用户可能会向宿主机节点发出虚拟机创建请求。
其中,
用户的虚拟机创建请求可以包括用户需要创建虚拟机的信息以及用户创建虚拟机所需要的云资源的信息。
在实际应用过程中,在用户创建虚拟机请求高并发场景下,例如,但多个用户同时发出创建虚拟机请求时,混合云资源调度系统可能出现对一部分宿主机节点超额分配,而对另一部分宿主机资源闲置较多的情况。这样的分配方案可能降低云平台的稳定性和用户使用体验,同时,也减少了云平台资源利用率。
因此,为了更好地实现混合云资源的利用率,可以根据用户的请求来实现更均衡的资源分配,因此,可以实时接收所有用户的虚拟机创建请求,以便可以根据所有用户的虚拟机创建请求来确定云资源的分配方案。
步骤S102,实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组。
具体地,由上述介绍可知,本申请实施例提供的方法可以实时接收所有用户的虚拟机创建请求。
在实际应用过程中,对于云资源的分配方案,需要根据所有用户的虚拟机创建请求来决定。
因此,在实施接收所有用户的虚拟机创建请求之后,可以进一步实时采集所有宿主机节点的资源信息,以便可以根据当前所有宿主机节点的资源信息来确定如何为各个用户的虚拟机创建请求分配对应的云资源。
其中,
宿主机节点的资源信息包括宿主机节点的内存资源信息以及CPU资源信息。
在实际应用过程中,不同的用户创建虚拟机所需要的资源不同。
例如,
有些用户创建虚拟机所需要的内存资源和CPU资源各不相同。
因此,为了更科学地实现均衡分配各个用户所请求的云资源,在实时采集所有宿主机节点的资源信息之后,可以依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组。
例如,可以将对云资源需求相似的用户归为一组,或者可以将资源信息类似的宿主机节点分为一组。
例如,
在高并发场景下,当收到K个用户的虚拟机创建请求时,可以采集当前全部N个宿主机节点的CPU和内存资源情况。在信息采集结束后,再根据用户的虚拟机创建请求数量K和宿主机节点数量N进行分组,以便于后续进行资源分配。
步骤S103,依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果。
具体地,由上述介绍可知,本申请实施例提供的方法可以在实时采集所有宿主机节点的资源信息之后,可以依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组。
通过对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,可以更科学规划资源的分配。
因此,当对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组之后,可以依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果。
其中,
预设的自适应资源动态调度策略,可以包括如下:
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则可以确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,在得道所有宿主机节点的资源的可用情况排序结果之后,可以再依据所有宿主机节点的资源的可以情况的排序结果,以及所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果,依次将所有用户的虚拟机创建请求分别分配到可用情况最好的宿主机节点。
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则可以依据所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第二分组结果,分别将每组用户的虚拟机创建请求分配对应的每组宿主机节点。
例如,
在高并发场景下,当收到K个用户的虚拟机创建请求时,可以先采集当前全部N个宿主机节点的CPU和内存资源情况。在信息采集结束后,则可以根据用户的虚拟机创建请求数量K和宿主机节点数量N进行分组,以便于进行资源分配。
例如,
可以比较所有用户的虚拟机创建请求数量K和所有的宿主机节点数量M之间的大小:
(1)当所有用户的虚拟机创建请求数量K小于所有的宿主机节点数量M时,则可以挑选出当前全部宿主机节点的资源可用情况最好的前K个宿主机节点,并将这K个用户的虚拟机创建请求合理分配到当前全部宿主机节点的资源可用情况最好的前K个宿主机节点中创建虚拟机。
(2)当所有用户的虚拟机创建请求数量K大于所有的宿主机节点数量M时,则可以以长度为M一组对K个用户的虚拟机创建请求数量进行分组,可分为组;当分为/>组之后,可以将剩余的长度等于或小于M的最后一组用户的虚拟机创建请求数量继续与所有的宿主机节点数量M继续进行比较,并根据比较结果继续进行分组,在将所有的用户的虚拟机创建请求数量和所有的宿主机节点数量进行分组完毕之后,可以将所有的宿主机节点的资源分别分配到每组用户的虚拟机创建请求以创建虚拟机。
步骤S104,依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
具体地,由上述介绍可知,本申请实施例提供的方法可以在对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组之后,可以依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果。
在实际应用过程中,通过预设的自适应资源动态调度策略所确定的对所有的宿主机节点的资源的分配结果,可以为最优分配结果也可能为最差分配结果。
例如,如表1所示,以对宿主机节点的内存分配为例。
假设当前可用宿主机节点数为4台,每台宿主机总内存为64G,可用内存情况不一,对于4个flavor不同的用户虚拟机创建请求,资源分配最好情况就是将请求合理分配到对应最优的宿主机节点,使得系统最大限度负载均衡;资源分配最差情况就是将所有请求超载分配到可用资源最少的宿主机节点,这是资源调度过程中间一定要避免的场景。
表1常规资源分配情况说明
因此,为了使得最终的资源分配结果更加均衡,在确定对所有宿主机节点的资源分配结果之后,可以进一步依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
其中,
预设的优化模型的创建过程,可以包括如下:
将训练的四元组数据作为训练样本,以所述训练的四元组数据中包括的所有宿主机节点的资源的最终分配方案作为训练标签,训练得到;
其中,
所述训练的四元组数据可以包括:训练的所有宿主机节点的资源最优分配方案、训练的所有宿主机节点的资源的最差分配方案、当前进行资源分配后宿主机节点的剩余资源数据、训练的用户的虚拟机创建请求。
例如,
对于m个宿主机节点,当接收到用户请求时,基于负载均衡的最优资源分配方案和最差方资源分配案是一定存在的。
如最优资源分配方案就是平均分配使得各宿主机节点的负载尽量均衡,最差资源分配方案就是把用户请求全都分配到剩余资源最少的宿主机节点。在训练优化模型过程中,可以以当前宿主机节点的剩余资源数据、用户的虚拟机创建请求、所有宿主机节点的资源最优分配方案和所有宿主机节点的资源最差分配方案所组成的四元组数据作为模型的输入进行训练。
在实际应用过程中,为了使得优化模型的效果更好,可以采用GPT模型,并基于自适应资源动态调度算法对优化模型性能进行第一轮训练调优:
在实际应用过程中,GPT模型收到用户的虚拟机创建请求时可以根据当前资源剩余情况生成出一套资源分配方案,当然这套资源分配方案可能是不好的甚至是最差的资源分配方案;可以采用本申请实施例提供的调优算法计算一个GPT模型分配方案和最优分配和最差分配的损失成本。如果GPT模型生成的分配方案很差,那么调优算法计算出来的损失成本很大,损失成本大表明GPT模型生成的方案很差,离最优分配方案差的很远。那么GPT模型可以根据损失成本下降的方向进行梯度计算,从而反向传播更新参数,使得下一轮生成方案一定是损失成本更小的,换言之也比上一轮的分配方案更优。
在采用GPT模型,并基于自适应资源动态调度算法对优化模型性能进行第一轮训练调优之后,为了继续提高优化模型的效果,还可以继续进行基于自适应资源动态调度算法对优化模型的性能进行第二轮训练调优:
对于优化模型的性能的第二轮训练调优的过程也是与第一轮训练调优的过程一样:GPT模型在收到用户的虚拟机创建请求时,可以根据当前资源剩余情况生成出一套资源分配方案,这个方案可能不好,但比上一轮的分配方案已经优化了,也离最优分配方案更近了。GPT模型又可以根据第二轮的损失成本进行梯度下降,然后反向传播更新参数。
在实际应用过程中,在对优化模型进行多轮迭代调优收敛之后,优化模型的可以逐渐达到稳定状态。
通过这样一轮一轮的迭代训练,最终训练出来的优化模型可以实现,在给定任意用户的请求之后,本申请实施例提供的优化模型都能根据当前云资源剩余情况生成出云资源的最优分配方案,生成的资源分配方案的损失成本已经收敛到很小甚至为0。
此时,在资源分配数据和调优算法的训练下,最后得道的优化模型已经具备的动态生成云资源最优分配方案的能力。
从上述介绍的技术方案可以看出,在高并发请求的场景下,本申请实施例提供的方法可以利用资源信息采集模块接收用户的请求,并实时采集并更新云资源信息,并进一步利用资源动态调度模块实现实时动态调整云资源的分配,进一步地,在获取实时云资源信息和用户请求的基础上,本申请实施例提供的管理系统能够自适应动态优化资源分配,能够迅速实时生成云资源的分配方案,能在高并发场景下减小资源分配延时,进一步地可以使各计算节点负载更加均衡,资源利用更加合理,大幅度提高了云平台稳定性和资源利用率,尤其可以适用在混合云场景下,对混合云的CPU和内存资源的负载均衡调度中,可以有效均衡分配混合云的CPU和内存资源,最高限度提升系统的性能。
从上述介绍可知,本申请实施例提供的方法可以实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,接下来介绍该过程,该过程可以包括如下几个步骤:
步骤S201,实时采集当前所有宿主机节点的资源信息。
具体地,在实际应用过程中,宿主及节点的资源信息是不断变化的。因此,当用户存在虚拟机创建请求时,可以实时采集当前所有宿主机节点的资源信息,以便可以获得最新的资源信息来确定对用户的请求的分配方案。
其中,每个宿主机节点的资源信息可以包括每个宿主机节点的CPU资源信息和内存资源信息。
步骤S202,比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系。
具体地,由上述介绍可知,本申请实施例提供的方法可以实时接收用户的虚拟机创建请求,并实时采集当前所有宿主机节点的资源信息。
在实际应用过程中,不同的用户创建虚拟机所需要的资源不同。
例如,
有些用户创建虚拟机所需要的内存资源和CPU资源各不相同。
因此,为了更科学地实现均衡分配各个用户所请求的云资源,可以在实时采集所有宿主机节点的资源信息之后,可以比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系,以便可以更好地依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组。
例如,可以将对云资源需求相似的用户归为一组,或者可以将资源信息类似的宿主机节点分为一组。
因此,若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则可以执行步骤203。
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则可以执行步骤S204。
步骤S203,确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,得到所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果。
具体地,由上述介绍可知,本申请实施例提供的方法可以比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系。
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则说明当前的宿主机节点资源丰富,可以充分满足各个用户的需求。
因此,若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则可以确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,得到所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果。
步骤S204,以预设的第一长度阈值对所有用户的虚拟机创建请求总数量进行分组,并将长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量继续与所有宿主机节点总数量进行比较,若长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量小于所有宿主机节点总数量,则执行所述确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组的操作,直至得到所有用户的虚拟机创建请求总数量与所有宿主机节点总数量对应的第二分组结果。
具体地,由上述介绍可知,本申请实施例提供的方法可以比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系。
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则说明当前的宿主机节点资源有限,可能无法充分满足各个用户的需求,因此需要更好地规划各个节点的资源。
因此,若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则可以以预设的第一长度阈值对所有用户的虚拟机创建请求总数量进行分组,并将长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量继续与所有宿主机节点总数量进行比较,若长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量小于所有宿主机节点总数量,则可以返回执行步骤S202,确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组的操作,直至得到所有用户的虚拟机创建请求总数量与所有宿主机节点总数量对应的第二分组结果。
其中,
预设的第一长度阈值可以参考所有的宿主机节点总数量来设置,例如,若所有的宿主机节点的总数量为M,则预设的第一长度阈值则可以设置为M。
从上述介绍的技术方案可以看出,本申请实施例提供的方法可以实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,以便可以更好地根据所有用户的虚拟机创建请求总数量和所有宿主机节点总数量的分组结果来分配各个宿主机节点的资源。
从上述介绍可知,本申请实施例提供的方法可以依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果,接下来介绍该过程,该过程可以包括如下几个步骤:
步骤S301,依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案以及最差分配方案。
具体地,由上述介绍可知,本申请实施例提供的方法可以确定对所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果。
在实际应用过程中,确定所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,可以有助于更好地根据各个宿主机节点的资源情况实现更好的资源分配。
因此,在实际应用过程中,可以进一步依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案以及最差分配方案。
步骤S302,依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度。
具体地,由上述介绍可知,本申请实施例提供的方法虽然可以依据自适应资源动态调度策略来对所有的宿主机节点资源进行分配,但是也可能得到最优的分配方案和最差的分配方案。
在实际应用过程中,损失函数(Loss function)或者成本函数(Cost function)是深度学习中引导模型有目的地学习的重要模块,模型通过在学习过程中不断减小损失或成本进行反向传播,从而可以学习到任务所要求的能力。
在实际应用过程中,余弦度量可以衡量两个向量的距离,即两个向量越靠近,余弦度量越小;两个向量越疏远,余弦度量越大。
因此,本申请实施例提供的方法以余弦相似度衡量最优内存分配方案和最差内存分配方案两个向量的接近程度。
为了使得所得到的内存分配方案尽量是最优内存分配方案,可以依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度,以驱使最后的资源分配方案尽量趋向于最优分配结果。
其中,
预设的损失函数,可以包括如下:
Lmemory=min{wn(sn-λn)-wp(sp-λp),0}
其中,
wn和wp分别可以表示平衡权重系数;
λn可以表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度的阈值;
λp可以表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度的阈值;
sn可以表示当前宿主机节点的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度;
sp可以表示当前的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度。
其中,
预设的自适应权重系数可以设置为wn和wp,其中,wn和wp分别可以设计为:
wp=[bp-sp]+
wn=[sn-bn]+
其中,
[·]+为0处截断操作,bp和bn为sp和sn的最优状态,分别取值为1和0。
通过不断减小损失函数计算的损失,可以推动内存资源分配结果向最优分配结果靠拢,当损失降为0时,内存资源分配结果和最优分配结果可以完全一致。
步骤S303,依据所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果。
具体地,由上述介绍可知,本申请实施例提供的方法可以所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度。
所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度可以反馈最终得到的内存分配方案是否为最理想的内存分配方案,因此,可以进一步依据所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果。
步骤S304,依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度。
具体地,由上述介绍可知,本申请实施例提供的方法虽然可以依据自适应资源动态调度策略来对所有的宿主机节点资源进行分配,但是也可能得到最优的分配方案和最差的分配方案。
在实际应用过程中,余弦度量可以衡量两个向量的距离,即两个向量越靠近,余弦度量越小;两个向量越疏远,余弦度量越大。
因此,本申请实施例提供的方法以余弦相似度衡量最优CPU分配方案和最差CPU分配方案两个向量的接近程度。
为了使得所得到的CPU分配方案尽量是最优CPU分配方案,可以依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度,以驱使最后的资源分配方案尽量趋向于最优分配结果。
步骤S305,依据所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果。
具体地,由上述介绍可知,本申请实施例提供的方法可以所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度。
所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度可以反馈最终得到的内存分配方案是否为最理想的CPU分配方案,因此,可以进一步依据所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果。
步骤S306,依据预设的资源损失函数、对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果以及对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果,确定对所有宿主机节点的资源的分配结果。
具体地,在实际应用过程中,由于实际云计算场景中,当CPU超额分配时,CPU资源过载可以进行串行等待,所以CPU有限制的超额分配是可以接受的。但是内存超额分配可能会导致部分虚拟机进程killed,因此,通常不建议内存做超额分配。因此,在确定对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果以及对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果之后,可以依据预设的资源损失函数、对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果以及对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果,确定对所有宿主机节点的资源的分配结果。
其中,
预设的资源总损失函数的计算公式,可以包括:
LT=w1Lmemory+w2LCPU
其中,
LT可以表示对所有的宿主机节点的资源的总损失;
Lmemory可以表示对所有的宿主机节点的内存资源的总损失;
LCPU可以表示对所有的宿主机节点的CPU资源的总损失;
w1可以表示对所有的宿主机节点的内存资源的总损失对应的损失权重系数;
w2可以表示对所有的宿主机节点的CPU资源的总损失对应的损失权重系数。
特别地,本申请实施例提供的方法设计的总损失函数选择给内存损失添加较大损失权重系数w1=0.7,给CPU损失较小的损失权重系数w2=0.3,其中,在实际应用过程中,内存和CPU各自的损失权重系数可以根据实际场景做动态调整。
例如,
假设当前有全部m台宿主机节点,每台节点的总内存为64G,可用内存情况不一。
当收到用户的虚拟机创建对内存资源的请求时,可以设收到用户的内存资源请求为:A=[a1,a2,...,am],则:
当前场景下的最优内存分配结果可以设置为:
P=[p1,p2,...,pm] (1)
当前场景下的最差内存分配结果可以设置为:
N=[n1,n2,...,nm] (2)
在实际应用过程中,资源调度算法应当推动用户的内存分配请求A不断向当前场景下的最优内存分配结果P靠近,并且尽量远离当前场景下的最差内存分配结果N。余弦度量可以衡量两个向量的距离,即两个向量越靠近,余弦度量越小;两个向量越疏远,余弦度量越大。因此,本方案以余弦相似度衡量两个向量的接近程度,并以余弦相似度为导向推动GPT模型学习训练。用户请求和最优分配与最差分配的余弦相似度计算如下:
sp=1-cos(A,P) (3)
sn=1-cos(A,N) (4)
本方案所设计的损失函数如下:
Lmemory=min{wn(sn-λn)-wP(sp-λp),0} (5)
其中,
wn和wp分别为平衡权重,λn和λp分别为两个相似度的阈值。
对于余弦相似度,希望sp趋近于1,sn趋近于0,即资源分配和最优分配更接近,和最差分别更疏远;但过于严格的阈值可能不利于GPT模型进行学习,因此,在实际应用过程中,将阈值λn和λp分别设置为0.05和0.95,即资源分配和最差分配相似度只有5%,和最好分配相似度有95%就能成为可以接受的分配结果。资源调度期望资源分配和最优分配更接近,离最差分配更疏远。
为了推动这一过程,本申请实施例提供的方法用自适应平衡权重进行驱动,当资源分配离最优分配越疏远,离最差分配越接近,损失函数对其的惩罚程度也越大。因此,自适应权重wn和wp分别设计为:
wp=[bp-sp]+ (6)
wn=[sn-bn]+ (7)
其中,
[·]+为0处截断操作,bp和bn为sp和sn的最优状态,分别取值为1和0。
算法通过不断减小损失函数计算的损失,推动资源分配向最优分配靠拢,当损失降为0时,资源分配和最优分配完全一致,即GPT模型可以生成出最理想资源分配方式。
由于实际云计算场景中,当CPU超额分配时,CPU资源过载可以进行串行等待,所以CPU有限制的超额分配是可以接受的。但是内存超额分配可能会导致部分虚拟机进程killed,因此,通常不建议内存做超额分配。
因此,本申请实施例提供的方法设计的总损失函数选择给内存损失添加较大损失权重系数为w1=0.7,给CPU损失较小设置的损失权重系数为w2=0.3,权重可以根据实际场景做动态调整。所以算法所设计的总损失计算为:
L总=w1Lmemory+w2LCPU (8)
从上述介绍的技术方案可以看出,本申请实施例提供的方法可以依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果,以便可以提高对云资源的利用率。
下面以10台总内存64G,可用内存不一的宿主机节点进行模拟,以展示优化模型在减小损失的过程中,自适应优化生成的资源分配情况。结果如表2所示:
表2算法实验结果
/>
由表2可知,优化模型的输入为环境宿主机可用内存情况和用户请求。从最差分配到最优分配的五个分配阶段,分别表示了优化模型在训练中不断减小损失成本,生成出更均衡的资源分配方案的过程。
可以看出,随着模型分配的资源越来越均衡,资源调度的损失是越来越小的,当资源分配与最优分配完全一致时,算法所计算的损失为0。当优化模型完成训练后,优化模型已经拥有稳定生成出最优分配方案的能力,即可以投入到实际生成过程中进行资源分配。表2中的试验结果充分展示了本申请所提出的资源调度自适应优化算法的有效性和可行性。
本申请实施例提供的一种混合云自适应资源管理装置可应用于一种混合云自适应资源管理设备,如终端:手机、电脑等。可选的,图3示出了一种混合云自适应资源管理设备的硬件结构框图,参照图3,一种混合云自适应资源管理设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4。
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信。
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:实现前述终端一种混合云自适应资源管理方案中的各个处理流程。
本申请实施例还提供一种可读存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:实现前述终端在一种混合云自适应资源管理方案中的各个处理流程。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。各个实施例之间可以相互组合。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种混合云自适应资源管理方法,其特征在于,该方法包括:
实时接收所有用户的虚拟机创建请求;
实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组;
依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;
依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
2.根据权利要求1所述的方法,其特征在于,所述实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,包括:
实时采集当前所有宿主机节点的资源信息,其中,每个宿主机节点的资源信息包括每个宿主机节点的CPU资源信息和内存资源信息;
比较所有用户的虚拟机创建请求总数量与所有宿主机节点总数量之间的关系;
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组,得到所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果;
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则以预设的第一长度阈值对所有用户的虚拟机创建请求总数量进行分组,并将长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量继续与所有宿主机节点总数量进行比较;
若长度等于或小于所有宿主机节点总数量的最后一组用户的虚拟机创建请求数量小于所有宿主机节点总数量,则执行所述确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果及所有用户的虚拟机创建请求,对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组的操作,直至得到所有用户的虚拟机创建请求总数量与所有宿主机节点总数量对应的第二分组结果。
3.根据权利要求2所述的方法,其特征在于,所述预设的自适应资源动态调度策略,包括:
若所有用户的虚拟机创建请求总数量小于所有宿主机节点总数量,则确定当前全部宿主机节点的资源的可用情况,并依据当前全部宿主机节点的资源的可用情况,对所有宿主机节点的资源进行排序,再依据所有宿主机节点的资源的排序结果以及所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第一分组结果,依次将所有用户的虚拟机创建请求分别分配到可用情况最好的宿主机节点;
若所有用户的虚拟机创建请求总数量大于所有宿主机节点总数量,则依据所有用户的虚拟机创建请求数量与所有宿主机节点总数量对应的第二分组结果,分别将每组用户的虚拟机创建请求分配对应的每组宿主机节点。
4.根据权利要求1所述的方法,其特征在于,所述依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果,包括:
依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案以及最差分配方案;
依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度;
依据所有用户的虚拟机创建请求对应的宿主机节点的内存资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果;
依据预设的损失函数以及预设的自适应权重系数,计算所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度;
依据所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的最优分配方案与最差分配方案之间的余弦相似度,确定对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果;
依据预设的资源损失函数、对所有用户的虚拟机创建请求对应的宿主机节点的内存资源的分配结果以及对所有用户的虚拟机创建请求对应的宿主机节点的CPU资源的分配结果,确定对所有宿主机节点的资源的分配结果。
5.根据权利要求4所述的方法,其特征在于,所述预设的损失函数,包括:
Lmemory=min{wn(sn-λn)-wp(sp-λp),0}
其中,
wn和wp分别表示平衡权重系数;
λn表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度的阈值;
λp表示当前的宿主机节点资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度的阈值;
sn表示当前宿主机节点的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最优分配方案的相似度;
sp表示当前的资源分配结果与当前场景下对所有用户的虚拟机创建请求对应的宿主机节点的资源的最差分配方案的相似度。
6.根据权利要求4所述的方法,其特征在于,所述预设的资源总损失函数的计算公式,包括:
LT=w1Lmemory+w2LCPU
其中,
LT表示对所有的宿主机节点的资源的总损失;
Lmemory表示对所有的宿主机节点的内存资源的总损失;
LCPU表示对所有的宿主机节点的CPU资源的总损失;
w1表示对所有的宿主机节点的内存资源的总损失对应的损失权重系数;
w2表示对所有的宿主机节点的CPU资源的总损失对应的损失权重系数。
7.根据权利要求1所述的方法,其特征在于,所述预设的优化模型的创建过程,包括:
将训练的四元组数据作为训练样本,以所述训练的四元组数据中包括的所有宿主机节点的资源的最终分配方案作为训练标签,训练得到;
其中,
所述训练的四元组数据包括:训练的所有宿主机节点的资源最优分配方案、训练的所有宿主机节点的资源的最差分配方案、当前进行资源分配后宿主机节点的剩余资源数据、训练的用户的虚拟机创建请求。
8.一种混合云自适应资源管理系统,其特征在于,应用于权利要求1-7任一项所述混合云自适应资源管理方法,该系统包括:资源信息采集模块、资源动态调度模块以及资源分配执行模块;
其中,
所述资源信息采集模块负责实时接收所有用户的虚拟机创建请求,并实时采集所有宿主机节点的资源信息,并依据所有宿主机节点的资源信息对所有用户的虚拟机创建请求总数量和所有宿主机节点总数量进行分组;
所述资源动态调度模块负责依据所有用户的虚拟机创建请求总数量以及所有宿主机节点总数量的分组结果,采用预设的自适应资源动态调度策略,确定对所有宿主机节点的资源的分配结果;
所述资源分配执行模块负责依据所有宿主机节点的资源的分配结果,采用预设的优化模型优化所有宿主机节点的资源的分配结果,得到所有宿主机节点的资源最终的分配方案,并依据所有宿主机节点的资源最终的分配方案,对所有宿主机节点的资源进行调度分配。
9.一种混合云自适应资源管理设备,其特征在于,包括:一个或多个处理器,以及存储器;
所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,实现如权利要求1至7中任一项所述混合云自适应资源管理方法的步骤。
10.一种可读存储介质,其特征在于:所述可读存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器实现如权利要求1至7中任一项所述混合云自适应资源管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714421.6A CN117873702A (zh) | 2023-12-14 | 2023-12-14 | 混合云自适应资源管理方法、系统、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311714421.6A CN117873702A (zh) | 2023-12-14 | 2023-12-14 | 混合云自适应资源管理方法、系统、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117873702A true CN117873702A (zh) | 2024-04-12 |
Family
ID=90582078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311714421.6A Pending CN117873702A (zh) | 2023-12-14 | 2023-12-14 | 混合云自适应资源管理方法、系统、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873702A (zh) |
-
2023
- 2023-12-14 CN CN202311714421.6A patent/CN117873702A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7389177B2 (ja) | 連合学習方法、装置、機器及び記憶媒体 | |
CN113950066B (zh) | 移动边缘环境下单服务器部分计算卸载方法、系统、设备 | |
CN111242282B (zh) | 基于端边云协同的深度学习模型训练加速方法 | |
WO2022077797A1 (zh) | 量子线路的确定方法、装置、设备及存储介质 | |
CN114338504B (zh) | 一种基于网络边缘系统的微服务部署和路由方法 | |
CN109818786B (zh) | 一种云数据中心应用可感知的分布式多资源组合路径最优选取方法 | |
CN105704255B (zh) | 一种基于遗传算法的服务器负载均衡方法 | |
CN109788046B (zh) | 一种基于改进蜂群算法的多策略边缘计算资源调度方法 | |
CN112118312B (zh) | 一种面向边缘服务器的网络突发负载疏散方法 | |
CN110347515B (zh) | 一种适合边缘计算环境的资源优化分配方法 | |
CN109656713B (zh) | 一种基于边缘计算框架的容器调度方法 | |
CN113485826B (zh) | 一种边缘服务器负载均衡方法、系统 | |
Wei et al. | Multi-resource balance optimization for virtual machine placement in cloud data centers | |
CN109819032B (zh) | 一种联合考虑基站选择与计算迁移的云机器人任务分配方法 | |
CN111988787B (zh) | 一种任务的网络接入和服务放置位置选择方法及系统 | |
CN110650208A (zh) | 分布式集群存储方法、系统、装置及计算机可读存储介质 | |
CN113472597A (zh) | 分布式卷积神经网络细粒度的参数传输调度方法及装置 | |
Wang et al. | An energy saving based on task migration for mobile edge computing | |
CN103281374A (zh) | 一种云存储中数据快速调度的方法 | |
Chen et al. | Deep-broad learning system for traffic flow prediction toward 5G cellular wireless network | |
CN113590279A (zh) | 一种面向多核边缘计算服务器的任务调度和资源分配方法 | |
CN115714820A (zh) | 一种分布式的微服务调度优化方法 | |
CN116991560A (zh) | 针对语言模型的并行调度方法、装置、设备及存储介质 | |
CN114429195A (zh) | 混合专家模型训练的性能优化方法和装置 | |
Huang et al. | Computation offloading for multimedia workflows with deadline constraints in cloudlet-based mobile cloud |
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 |