CN114756352A - 一种调度服务器计算资源的方法、装置及介质 - Google Patents
一种调度服务器计算资源的方法、装置及介质 Download PDFInfo
- Publication number
- CN114756352A CN114756352A CN202210468204.2A CN202210468204A CN114756352A CN 114756352 A CN114756352 A CN 114756352A CN 202210468204 A CN202210468204 A CN 202210468204A CN 114756352 A CN114756352 A CN 114756352A
- Authority
- CN
- China
- Prior art keywords
- server
- amount
- computing
- user service
- computing resources
- 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 72
- 238000004364 calculation method Methods 0.000 claims abstract description 88
- 230000002787 reinforcement Effects 0.000 claims abstract description 86
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 12
- 238000004880 explosion Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 9
- 238000010276 construction Methods 0.000 claims description 4
- 238000013468 resource allocation Methods 0.000 abstract description 7
- 239000013598 vector Substances 0.000 description 18
- 230000009471 action Effects 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001052 transient 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/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种调度服务器计算资源的方法、装置及介质,涉及服务器领域。该方法包括:获取相邻时刻服务器为用户服务分配的计算资源量之间的第一差值;将第一差值、当前时刻服务器为用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;通过强化学习模型输出服务器的计算资源调度量;根据服务器的计算资源调度量调度计算资源。相比于服务器为用户服务分配固定的计算资源,本申请的方法中通过强化学习模型计算出服务器的计算资源调度量,从而根据服务器的计算资源调度量为用户服务分配计算资源,使得服务器分配给用户服务的计算资源尽可能地被最大化利用,一定程度上优化用户服务的计算效率,提高服务器的计算资源利用率。
Description
技术领域
本申请涉及服务器领域,特别是涉及一种调度服务器计算资源的方法、装置及介质。
背景技术
云计算与高性能计算都是互联网领域热门的研究与应用方向,软硬件市场上与之相关的产品可以说是数不胜数,诸如“谷歌云”、“阿里云”以及各类超级计算机等。近几年,云计算与高性能计算的边界逐渐模糊,一种新概念应运而生,“云端高性能计算”将云服务的形式与高性能的特性结合起来的,其势必有着更广的应用前景。而以上提到的这些技术大多基于一种硬件产品的支持,拥有巨量计算资源的高性能服务器,对于“阿里云”这种大规模的云平台更是需要高性能服务器集群的支撑。
在目前的云平台应用场景下,主要分为以下两种模式,一种是用户认证登录平台,申请调用平台已提供的服务接口,这种模式的应用如“OCR识别”、“文本处理”等;另一种是用户向平台申请一定的计算资源,新建节点用于个人的服务,这种模式的应用如“数据分析”、“深度学习”等。这两种模式下,看似不同,但其实无论是提供接口或者节点,平台为用户服务分配的计算资源基本是固定的,这可能会导致服务器计算资源利用上的弊端。当用户当前运行的服务需求的计算力较低时,分配给用户的计算资源出现冗余,降低了服务器计算资源的利用率;而当服务需求的计算力较高时,分配给用户的计算资源出现不足,降低了服务的运行效率导致用户对平台性能的不满。
由此可见,如何较合理地调度服务器计算资源,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种调度服务器计算资源的方法、装置及介质,用于较合理地调度服务器计算资源。
为解决上述技术问题,本申请提供一种调度服务器计算资源的方法,包括:
获取当前时刻服务器为用户服务分配的第一计算资源量、在当前所述时刻的下一时刻所述服务器为所述用户服务分配的第二计算资源量;
获取所述第二计算资源量与所述第一计算资源量之间的第一差值;
将所述第一差值、当前所述时刻所述服务器为所述用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;
通过所述强化学习模型输出所述服务器的计算资源调度量;
根据所述服务器的计算资源调度量调度所述服务器的计算资源。
优选地,建立所述强化学习模型包括:
获取各时刻所述服务器为所述用户服务分配的所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量、所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率;
分别获取相邻两个所述时刻所述用户服务分配的所述第一计算资源量之间的第二差值;
根据各所述时刻所述服务器为所述用户服务分配的所述第一计算资源量与所述用户服务在各所述时刻实际使用的计算资源量获取所述服务器在各所述时刻计算资源的实际利用率;
根据所述服务器在各所述时刻计算资源的实际利用率以及所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率获取实际的计算资源调度量;
将所述第二差值、各所述时刻所述服务器为所述用户服务分配的所述第一计算资源量作为所述强化学习模型的输入并计算理论的计算资源调度量;
获取所述实际的计算资源调度量与所述理论的计算资源调度量之间的第三差值;
根据所述第三差值调整所述强化学习模型的训练梯度,并更新用于表征所述强化学习模型的计算参数,直至所述理论的计算资源调度量与所述实际的资源调度量满足预设要求时,完成构建所述强化学习模型。
优选地,所述强化学习模型为Q-Learning算法模型,所述更新用于表征所述强化学习模型的计算参数包括:
在所述Q-Learning算法模型中加入RNN结构;
通过所述RNN结构记录在更新当前所述计算参数之前的各所述计算参数;
判断当前所述计算参数是否出现梯度爆炸;
若是,则根据所述RNN结构记录的之前的各所述计算参数确定更新后的用于表征所述强化学习模型的计算参数;
若否,则将当前所述计算参数作为更新后的用于表征所述强化学习模型的计算参数。
优选地,所述根据所述RNN结构记录的之前的各所述计算参数确定更新后的用于表征所述强化学习模型的计算参数包括:
获取所述RNN结构记录的之前的各所述计算参数的平均值;
将所述平均值作为更新后的用于表征所述强化学习模型的计算参数。
优选地,在所述获取各时刻所述服务器为所述用户服务分配的所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量、所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率之后,还包括:
按照预设规则将所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量转化为统一格式的数据。
优选地,所述预设规则为根据所述用户服务、所述用户服务包含的信息类型确定的规则。
优选地,在所述通过所述强化学习模型输出所述服务器的计算资源调度量之后,还包括:
记录当前所述时刻所述用户服务、当前所述时刻所述服务器的计算资源调度量。
为了解决上述技术问题,本申请还提供一种调度服务器计算资源的装置,包括:
第一获取模块,用于获取当前时刻服务器为用户服务分配的第一计算资源量、在当前所述时刻的下一时刻所述服务器为所述用户服务分配的第二计算资源量;
第二获取模块,用于获取所述第二计算资源量与所述第一计算资源量之间的第一差值;
输入模块,用于将所述第一差值、当前所述时刻所述服务器为所述用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;
输出模块,用于通过所述强化学习模型输出所述服务器的计算资源调度量;
调度模块,用于根据所述服务器的计算资源调度量调度所述服务器的计算资源。
为了解决上述技术问题,本申请还提供一种调度服务器计算资源的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的调度服务器计算资源的方法的步骤。
为了解决上述技术问题,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的调度服务器计算资源的方法的步骤。
本申请所提供的调度服务器计算资源的方法,包括:获取当前时刻服务器为用户服务分配的第一计算资源量、在当前时刻的下一时刻服务器为用户服务分配的第二计算资源量;获取第二计算资源量与第一计算资源量之间的第一差值;将第一差值、当前时刻服务器为用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;通过强化学习模型输出服务器的计算资源调度量;根据服务器的计算资源调度量调度计算资源。相比于服务器为用户服务分配固定的计算资源,本申请的方法中通过强化学习模型计算出服务器的计算资源调度量,从而根据服务器的计算资源调度量为用户服务分配计算资源,使得服务器分配给用户服务的计算资源尽可能地被最大化利用,一定程度上优化用户服务的计算效率,提高服务器的计算资源利用率。
此外,本申请还提供一种调度服务器计算资源的装置、计算机可读存储介质,与上述提到的调度服务器计算资源的方法具有相同或相对应的技术特征,效果同上。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种调度服务器计算资源的方法的流程图;
图2为本申请实施例提供的一种Q-Learning算法第n次迭代的流程图;
图3为本申请的一实施例提供的调度服务器计算资源的装置的结构图;
图4为本申请另一实施例提供的调度服务器计算资源的装置的结构图;
图5为本申请实施例提供的一种调度服务器计算资源的整体流程图;
图6为训练Q-Learning算法模型,进行N次迭代的具体的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本申请保护范围。
本申请的核心是提供一种调度服务器计算资源的方法、装置及介质,用于较合理地调度服务器计算资源。
为了便于理解,下面对本申请的技术方案所使用的硬件结构进行介绍。本申请提供的资源调度的方法的硬件架构主要包括服务器。资源调度的效率大部分取决于服务器的数量以及服务器的性能。当存在大量的高性能服务器时,资源调度的效率高,当服务器的数量较少且性能较低时,则资源调度的效率低。
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。图1为本申请提供的一种调度服务器计算资源的方法的流程图,如图1所示,该方法包括:
S10:获取当前时刻服务器为用户服务分配的第一计算资源量、在当前时刻的下一时刻服务器为用户服务分配的第二计算资源量。
用户服务如OCR识别等。对各时刻服务器为用户服务分配的计算资源量进行监控,将当前时刻服务器为用户服务分配的计算资源量称为第一计算资源量,将当前时刻的下一刻服务器为用户服务分配的计算资源量称为第二计算资源量。分配的第一计算资源量以及第二计算资源量可以是中央处理器(Central Processing Unit,CPU)占用率、内存容量、网络宽带等数据。
S11:获取第二计算资源量与第一计算资源量之间的第一差值。
上述步骤中获得了第一计算资源量以及第二计算资源量,由于第一计算资源量、第二计算资源量的数据类型、单位、值的区间不同,因此在获取第一计算资源量以及第二计算资源量之后,需要先对各计算资源量进行预处理。如将计算资源量转置为相同区间的对应数值。获取第一计算资源量与第二计算资源量之间的差值,两者之间的差值即第一差值,可以得到服务器分配的计算资源的持续变化情况。
S12:将第一差值、当前时刻服务器为用户服务分配的第一计算资源量输入至预先建立的强化学习模型中。
由于强化学习模型能够预测获得最大收益的动作,因此本实施例利用预先建立的强化学习模型对服务器计算资源进行预测以及根据预测结果进行调度。在预先建立的强化学习模型中,相邻时刻服务器为用户服务分配的第一计算量之间的差值、各时刻服务器为用户服务分配的第一计算量作为强化学习模型的输入,计算输出理论的计算资源调度量,即能够最大利用计算资源时对应的计算资源的分配量。
S13:通过强化学习模型输出服务器的计算资源调度量;
S14:根据服务器的计算资源调度量调度服务器的计算资源。
通过强化学习模型输出服务器的计算资源调度量,从而根据计算资源调度量来调度服务器的计算资源。
本实施例所提供的调度服务器计算资源的方法,包括:获取当前时刻服务器为用户服务分配的第一计算资源量、在当前时刻的下一时刻服务器为用户服务分配的第二计算资源量;获取第二计算资源量与第一计算资源量之间的第一差值;将第一差值、当前时刻服务器为用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;通过强化学习模型输出服务器的计算资源调度量;根据服务器的计算资源调度量调度计算资源。相比于服务器为用户服务分配固定的计算资源,本实施例的方法中通过强化学习模型计算出服务器的计算资源调度量,从而根据服务器的计算资源调度量为用户服务分配计算资源,使得服务器分配给用户服务的计算资源尽可能地被最大化利用,一定程度上优化用户服务的计算效率,提高服务器的计算资源利用率。
为了能够通过强化学习模型较准确地服务器的计算资源调度量进行预测,在实施中,建立强化学习模型包括:
获取各时刻服务器为用户服务分配的第一计算资源量、用户服务在各时刻实际使用的计算资源量、用户服务在各时刻实际使用的计算资源量对应的计算速率;
分别获取相邻两个时刻用户服务分配的第一计算资源量之间的第二差值;
根据各时刻服务器为用户服务分配的第一计算资源量与用户服务在各时刻实际使用的计算资源量获取服务器在各时刻计算资源的实际利用率;
根据服务器在各时刻计算资源的实际利用率以及用户服务在各时刻实际使用的计算资源量对应的计算速率获取实际的计算资源调度量;
将第二差值、各时刻服务器为用户服务分配的第一计算资源量作为强化学习模型的输入并计算理论的计算资源调度量;
获取实际的计算资源调度量与理论的计算资源调度量之间的第三差值;
根据第三差值调整强化学习模型的训练梯度,并更新用于表征强化学习模型的计算参数,直至理论的计算资源调度量与实际的资源调度量满足预设要求时,完成构建强化学习模型。
当调用用户服务时,服务器开始动态地为其分配计算资源并记录,同时实时监控服务实际使用的计算资源量,类似于windows系统下通过任务管理器查看系统任务的占用情况或者虚拟化下监控容器内各应用的资源占用。同时,服务器还要实时获取该服务在一段时间进行的计算量,获取的时间段越短,越能体现该用户服务在某一时刻的实际计算速率。
将收集到的信息按照时间顺序整理好,并把每条信息中的各类参数进行简单的划分后,将数据集进行预处理转置位数值向量,最终得到计算资源数据转置而成的两个二维向量。将当前时刻服务器为用户服务分配的第一计算资源量转置形成的二维向量用S表示,将用户服务在当前时刻实际使用的计算资源量转置形成的二维向量用S’表示。假设当前时刻为n时刻,则下一时刻为n+1时刻,Sn、Sn+1分别代表n时刻服务器为用户服务分配的第一计算资源量以及n+1时刻服务器为用户服务分配的第一计算资源量。通过Sn+1-Sn得到服务器分配的计算资源的持续变化,也就是强化学习模型中所需要的动作A。通过S’/S可以得出服务器各时刻分配的计算资源的实际利用率,再结合各个时刻的瞬时计算速率得出强化学习模型的收益Q(S,A),即代表服务器在在各时刻实际的计算资源调度量。
将二维向量导入强化学习模型,会先建立一个并初始化一个Q’二维向量,初始值全为0,将状态S和动作A作为输入计算出理论的计算资源调度量Q’(S,A)的值,根据其与实际的计算资源调度量Q(S,A)的差值即误差,调整训练梯度并更新用于表征强化学习模型的计算参数。重复上述的过程不断地进行迭代,直至理论的计算资源调度量与实际的资源调度量满足预设要求时,完成构建强化学习模型。优选地预设要求是,计算出的理论的计算资源调度量Q’向实际的计算资源调度量Q收敛直至近似相等为止。此时通过强化学习模型计算出的Q’值就可以视作实际的Q值。
本实施例所提供的建立强化学习模型的方法,通过多次迭代,使得建立的强化学习模型能够较准确地预测出服务器的计算资源调度量。
在上述实施例的基础上,强化学习模型为Q-Learning算法模型,为了尽可能地减少在迭代的过程中出现的梯度爆炸的情况,优选地实施方式是,更新用于表征强化学习模型的计算参数包括:
在Q-Learning算法模型中加入循环神经网络(Recurrent Neural Network,RNN)结构;
通过RNN结构记录在更新当前计算参数之前的各计算参数;
判断当前计算参数是否出现梯度爆炸;
若是,则根据RNN结构记录的之前的各计算参数确定更新后的用于表征强化学习模型的计算参数;
若否,则将当前计算参数作为更新后的用于表征强化学习模型的计算参数。
采用Q-Learning算法去构建强化学习模型,Q-Learning四个组成部分,状态表s,动作表a,收益表Q(s,a)以及自更新模块,模型学习的过程可以理解为在状态sn时做出动作am,得到当前状态的下一个状态sn+1和Q(sn,am),并进行第n次参数更新。该算法公式如公式(1)所示:
Q(s,a)←Q(s,a)+α[r+ymaxa′Q(s′,a′)-Q(s,a)] (I)
上述公式中,α表示学习率,γ表示奖励性衰变系数,Q(s',a')表示的是未来收益。由于Q-Learning算法的n次迭代是相对独立,也就是说第n次迭代参数更新的梯度仅仅由本次迭代中的数值决定,这样在经过很多轮迭代之后可能会出现梯度爆炸的风险。本实施例中强化学习模型在Q-Learning算法中嵌套一层RNN结构,通过RNN结构将Q-Learning之前n-1次迭代的数据记录下来,进行处理后作为参考值与第n次迭代数据进行比较,当第n次迭代中某个参数出现梯度爆炸的可能时,则用RNN中记录的值覆盖掉对应的参数。图2为本申请实施例提供的一种Q-Learning算法第n次迭代的流程图。该流程包括:获取上一次的收益Q(sn-1,am-1),当前状态sn;将Q(sn-1,am-1),sn输入至RNN结构中,其中,RNN结构包括输入层、隐藏层、输出层,在RNN结构中记录前n-1次迭代;将RNN结构的输出结果经过RELU激活函数、价值函数和优势函数进行自更新,最终输出当前的收益Q(sn,am),当前状态的下一个状态sn+1,获得当前的收益对应的动作am。
本实施例所提供的通过在在Q-Learning算法模型中加入RNN结构来减少梯度爆炸情况的发生,使得整个强化学习模型更加稳定。
在上述实施例的基础上,在更新用于表征强化学习模型的计算参数时,优选地实施方式是,根据RNN结构记录的之前的各计算参数确定更新后的用于表征强化学习模型的计算参数包括:
获取RNN结构记录的之前的各计算参数的平均值;
将平均值作为更新后的用于表征强化学习模型的计算参数。
当第n次迭代中某个计算参数有出现梯度爆炸的可能,使用RNN结构中记录的前n-1次迭代过程的参数的平均值作为更新后的用于表征强化学习模型的计算参数。
本实施例所提供的获取更新后的计算参数的方法,一方面,可以尽可能减少梯度爆炸的发生,使得整个强化学习模型更加稳定;其次,由于更新后的计算参数是根据之前记录的计算参数的平均值得到,因此使用平均值更能代表该计算参数的情况。
在实施中,为了能够使采集的数据尽可能地被输入至强化学习模型中,优选地实施方式是,在获取各时刻服务器为用户服务分配的第一计算资源量、用户服务在各时刻实际使用的计算资源量、用户服务在各时刻实际使用的计算资源量对应的计算速率之后,还包括:
按照预设规则将第一计算资源量、用户服务在各时刻实际使用的计算资源量转化为统一格式的数据。
本实施例中对于预设规则不作限定,根据实际情况选择合适的预设规则。如对于OCR识别这种用户服务,监控的信息为图像的类型(不同类型的图像有文本量有差异)、图像的像素比和大小等,根据这些信息能得出该服务大致的计算量。对于服务器的计算资源,该模块监控的信息则较为固定,可以是服务器分配的CPU算力(由CPU线程数、占用率体现)、内存容量、磁盘空间的大小、GPU算力(由GPU核心数、显存占用体现)、网络带宽等资源以及服务实际使用的资源量。因为数据收集模块监控的信息大多是比较抽象的,它们可能并不是数值,或者即使是数值其数据类型、单位以及值的区间都是不同的。这些数据是强化学习模型无法处理的,所以需要将抽象的信息数值化,将不同的数值区间统一化,比如对于计算资源,CPU占用率、内存容量、网络带宽这三类数据,它们的单位分别是%、GB和Mbps,取值区间大致为[0%,100%]、[2GB,128GB]、[100Mbps,10000Mbps],可以将其转置为区间为[0,1]比如网络带宽的值如果为1000Mbps,其值区间为[100Mbps,10000Mbps],对其开平方根再除以100,则可以得到网络带宽的参数值≈0.316。对于用户服务,比如上文提到的“OCR识别”,图像的像素比和大小等数值亦可正常进行转置,而图像的类型这一信息可以进行一定的估值,比如新闻类图像的文本量较大就可以估计为>0.8的数值,广告类图像的文本量较小就可以估计为<0.2的数值,由此就可以估算出对应用户服务大致的计算量。
对于统一格式的数据不作限定,本实施例中统一转换为二维向量。将得到的数据集处理后,将其转置为多组二维数值向量提供给强化学习模型。每一个时刻分配的计算资源信息转置为一个一维向量,那么对整个数据集中的分配的计算资源信息则被转置为m*n的二维向量,对于服务实际占用的资源也同理被转置为二维向量。
此外,对于用户服务在各时刻实际使用的计算资源量对应的计算速率,以“OCR识别”举例,上文提到对于一张新闻图像,估计它的文本量为0.8,如果其分辨率为4K,那么其像素点数大约为830万个,如果其格式为.jpg的话图像的大小大约为10MB,那么我们估计对于这一张图像则大约有6640的计算量。如果处理完成这一图像的时间为Δt,那么之前在Δt这一时间段中各个时刻服务器分配的计算资源得到对应的计算速率为6640/Δt。实际上,处理一张图像所需要的Δt是极小的,所以几乎可以得到某一时刻的瞬时计算速率。
本实施例所提供的按照预设规则将第一计算资源量、用户服务在各时刻实际使用的计算资源量转化为统一格式的数据,使得获取的数据尽可能地被输入至强化学习模型中,样本尽可能地多,从而提高通过强化学习模型计算出的服务器的计算资源调度量的准确性。
为了能将采集的数据集转换为统一的格式,优选地实施方式是,预设规则为根据用户服务、用户服务包含的信息类型确定的规则。
不同的用户服务包含的信息类型不同,如上文中的OCR识别这个用户服务,通过监控该用户服务得到的信息可能为图像的类型、图像的像素比、大小等,图像的像素比和大小等数值亦可正常进行转置,而图像的类型这一信息可以进行一定的估值,比如新闻类图像的文本量较大就可以估计为>0.8的数值,广告类图像的文本量较小就可以估计为<0.2的数值。
本实施例所提供的预设规则为根据用户服务、用户服务包含的信息类型确定的规则,使得能够合理地对获得的数据进行处理。
为了方便用户随时查看以及了解服务器为不同用户服务调度的计算资源量,在实施中,作为优选地实施方式是,在通过强化学习模型输出服务器的计算资源调度量之后,还包括:
记录当前时刻用户服务、当前时刻服务器的计算资源调度量。
对于记录的方式、记录的位置、记录的频率等不作限定,根据实际情况进行选择。
本实施例所提供的在在通过强化学习模型输出服务器的计算资源调度量之后,记录当前时刻用户服务、当前时刻服务器的计算资源调度量,使得用户能够根据记录的内容随时查看以及了解到服务器为不同用户服务调度的计算资源量。
在上述实施例中,对于调度服务器计算资源的方法进行了详细描述,本申请还提供调度服务器计算资源的装置对应的实施例。需要说明的是,本申请从两个角度对装置部分的实施例进行描述,一种是基于功能模块的角度,另一种是基于硬件的角度。
图3为本申请的一实施例提供的调度服务器计算资源的装置的结构图。本实施例基于功能模块的角度,包括:
第一获取模块10,用于获取当前时刻服务器为用户服务分配的第一计算资源量、在当前时刻的下一时刻服务器为用户服务分配的第二计算资源量;
第二获取模块11,用于获取第二计算资源量与第一计算资源量之间的第一差值;
输入模块12,用于将第一差值、当前时刻服务器为用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;
输出模块13,用于通过强化学习模型输出服务器的计算资源调度量;
调度模块14,用于根据服务器的计算资源调度量调度服务器的计算资源。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本实施例所提供的调度服务器计算资源的装置,通过第一获取模块、第二获取模块、输入模块、输出模块以及调度模块对服务器的计算计算进行合理地调度。相比于服务器为用户服务分配固定的计算资源,本实施例的装置中通过强化学习模型计算出服务器的计算资源调度量,从而根据服务器的计算资源调度量为用户服务分配计算资源,使得服务器分配给用户服务的计算资源尽可能地被最大化利用,一定程度上优化用户服务的计算效率,提高服务器的计算资源利用率。
图4为本申请另一实施例提供的调度服务器计算资源的装置的结构图。本实施例基于硬件角度,如图4所示,调度服务器计算资源的装置包括:
存储器20,用于存储计算机程序;
处理器21,用于执行计算机程序时实现如上述实施例中所提到的调度服务器计算资源的方法的步骤。
本实施例提供的调度服务器计算资源的装置可以包括但不限于智能手机、平板电脑、笔记本电脑或台式电脑等。
其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用数字信号处理器(Digital Signal Processor,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU;协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以集成有图形处理器(Graphics Processing Unit,GPU),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括人工智能(Artificial Intelligence,AI)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器20可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器20还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。本实施例中,存储器20至少用于存储以下计算机程序201,其中,该计算机程序被处理器21加载并执行之后,能够实现前述任一实施例公开的调度服务器计算资源的方法的相关步骤。另外,存储器20所存储的资源还可以包括操作系统202和数据203等,存储方式可以是短暂存储或者永久存储。其中,操作系统202可以包括Windows、Unix、Linux等。数据203可以包括但不限于上述所提到的调度服务器计算资源的方法所涉及到的数据等。
在一些实施例中,调度服务器计算资源的装置还可包括有显示屏22、输入输出接口23、通信接口24、电源25以及通信总线26。
本领域技术人员可以理解,图4中示出的结构并不构成对调度服务器计算资源的装置的限定,可以包括比图示更多或更少的组件。
本申请实施例提供的调度服务器计算资源的装置,包括存储器和处理器,处理器在执行存储器存储的程序时,能够实现如下方法:调度服务器计算资源的方法,效果同上。
最后,本申请还提供一种计算机可读存储介质对应的实施例。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述方法实施例中记载的步骤。
可以理解的是,如果上述实施例中的方法以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请提供的计算机可读存储介质包括上述提到的调度服务器计算资源的方法,效果同上。
为了使本领域的技术人员更好的理解本申请的技术方案,下面结合附图5以及附图6对上述本申请作进一步的详细说明,图5为本申请实施例提供的一种调度服务器计算资源的整体流程图。该过程包括:
S15:收集用户服务信息以及服务器计算资源信息;
S16:将获取到的信息转置位二维数值向量,其中向量包括状态向量S、动作向量A以及收益向量Q;
S17:构建强化学习模型;
S18:训练Q-Learning算法模型,进行N次迭代;
S19:预测获得最大收益的动作;
S20:根据预测的动作进行服务器的计算资源调度。
图6为训练Q-Learning算法模型,进行N次迭代的具体的流程图,步骤S18具体包括:
S181:通过RNN结构记录计算参数;
S182:根据状态向量S与动作向量A计算Q’;
S183:计算Q与Q’之间的误差;
S184:根据误差调整训练梯度,更新参数,并返回步骤S181。
本实施例所提供的调度服务器计算资源的整体方法,通过对云平台的用户服务和服务器的计算资源调度情况进行监控,收集数据集并按照一定的规则将其转置为可运算的数值,基于Q-Learning算法结合RNN构建强化学习模型,导入数据进行分析训练,最终得到一个“计算资源调度—资源利用率和计算性能收益”的关系模型。根据强化学习模型推断能获得最大收益的调度动作,并基于此来动态地进行服务器的计算资源调度,使得服务器分配给服务的计算资源被最大化的利用,一定程度上优化用户服务的计算效率,提高服务器的计算资源利用率。
以上对本申请所提供的调度服务器计算资源的方法、装置及介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种调度服务器计算资源的方法,其特征在于,包括:
获取当前时刻服务器为用户服务分配的第一计算资源量、在当前所述时刻的下一时刻所述服务器为所述用户服务分配的第二计算资源量;
获取所述第二计算资源量与所述第一计算资源量之间的第一差值;
将所述第一差值、当前所述时刻所述服务器为所述用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;
通过所述强化学习模型输出所述服务器的计算资源调度量;
根据所述服务器的计算资源调度量调度所述服务器的计算资源。
2.根据权利要求1所述的调度服务器计算资源的方法,其特征在于,建立所述强化学习模型包括:
获取各时刻所述服务器为所述用户服务分配的所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量、所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率;
分别获取相邻两个所述时刻所述用户服务分配的所述第一计算资源量之间的第二差值;
根据各所述时刻所述服务器为所述用户服务分配的所述第一计算资源量与所述用户服务在各所述时刻实际使用的计算资源量获取所述服务器在各所述时刻计算资源的实际利用率;
根据所述服务器在各所述时刻计算资源的实际利用率以及所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率获取实际的计算资源调度量;
将所述第二差值、各所述时刻所述服务器为所述用户服务分配的所述第一计算资源量作为所述强化学习模型的输入并计算理论的计算资源调度量;
获取所述实际的计算资源调度量与所述理论的计算资源调度量之间的第三差值;
根据所述第三差值调整所述强化学习模型的训练梯度,并更新用于表征所述强化学习模型的计算参数,直至所述理论的计算资源调度量与所述实际的资源调度量满足预设要求时,完成构建所述强化学习模型。
3.根据权利要求2所述的调度服务器计算资源的方法,其特征在于,所述强化学习模型为Q-Learning算法模型,所述更新用于表征所述强化学习模型的计算参数包括:
在所述Q-Learning算法模型中加入RNN结构;
通过所述RNN结构记录在更新当前所述计算参数之前的各所述计算参数;
判断当前所述计算参数是否出现梯度爆炸;
若是,则根据所述RNN结构记录的之前的各所述计算参数确定更新后的用于表征所述强化学习模型的计算参数;
若否,则将当前所述计算参数作为更新后的用于表征所述强化学习模型的计算参数。
4.根据权利要求3所述的调度服务器计算资源的方法,其特征在于,所述根据所述RNN结构记录的之前的各所述计算参数确定更新后的用于表征所述强化学习模型的计算参数包括:
获取所述RNN结构记录的之前的各所述计算参数的平均值;
将所述平均值作为更新后的用于表征所述强化学习模型的计算参数。
5.根据权利要求2所述的调度服务器计算资源的方法,其特征在于,在所述获取各时刻所述服务器为所述用户服务分配的所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量、所述用户服务在各所述时刻实际使用的所述计算资源量对应的计算速率之后,还包括:
按照预设规则将所述第一计算资源量、所述用户服务在各所述时刻实际使用的计算资源量转化为统一格式的数据。
6.根据权利要求5所述的调度服务器计算资源的方法,其特征在于,所述预设规则为根据所述用户服务、所述用户服务包含的信息类型确定的规则。
7.根据权利要求1至6任意一项所述的调度服务器计算资源的方法,其特征在于,在所述通过所述强化学习模型输出所述服务器的计算资源调度量之后,还包括:
记录当前所述时刻所述用户服务、当前所述时刻所述服务器的计算资源调度量。
8.一种调度服务器计算资源的装置,其特征在于,包括:
第一获取模块,用于获取当前时刻服务器为用户服务分配的第一计算资源量、在当前所述时刻的下一时刻所述服务器为所述用户服务分配的第二计算资源量;
第二获取模块,用于获取所述第二计算资源量与所述第一计算资源量之间的第一差值;
输入模块,用于将所述第一差值、当前所述时刻所述服务器为所述用户服务分配的第一计算资源量输入至预先建立的强化学习模型中;
输出模块,用于通过所述强化学习模型输出所述服务器的计算资源调度量;
调度模块,用于根据所述服务器的计算资源调度量调度所述服务器的计算资源。
9.一种调度服务器计算资源的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的调度服务器计算资源的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的调度服务器计算资源的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210468204.2A CN114756352B (zh) | 2022-04-29 | 一种调度服务器计算资源的方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210468204.2A CN114756352B (zh) | 2022-04-29 | 一种调度服务器计算资源的方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114756352A true CN114756352A (zh) | 2022-07-15 |
CN114756352B CN114756352B (zh) | 2024-10-22 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116414556A (zh) * | 2022-12-05 | 2023-07-11 | 上海交通大学 | 基于冗余算力的异构嵌入式设备电力分配系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743778A (zh) * | 2019-01-14 | 2019-05-10 | 长沙学院 | 一种基于强化学习的资源分配优化方法和系统 |
CN110418416A (zh) * | 2019-07-26 | 2019-11-05 | 东南大学 | 移动边缘计算系统中基于多智能体强化学习的资源分配方法 |
WO2020143164A1 (zh) * | 2019-01-08 | 2020-07-16 | 平安科技(深圳)有限公司 | 一种网络资源的分配方法及设备 |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
CN112612610A (zh) * | 2020-12-18 | 2021-04-06 | 广州竞远安全技术股份有限公司 | 一种基于Actor-Critic深度强化学习的SOC服务质量保障系统及方法 |
US20220012089A1 (en) * | 2020-07-13 | 2022-01-13 | Accenture Global Solutions Limited | System for computational resource prediction and subsequent workload provisioning |
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020143164A1 (zh) * | 2019-01-08 | 2020-07-16 | 平安科技(深圳)有限公司 | 一种网络资源的分配方法及设备 |
CN109743778A (zh) * | 2019-01-14 | 2019-05-10 | 长沙学院 | 一种基于强化学习的资源分配优化方法和系统 |
CN110418416A (zh) * | 2019-07-26 | 2019-11-05 | 东南大学 | 移动边缘计算系统中基于多智能体强化学习的资源分配方法 |
CN111444009A (zh) * | 2019-11-15 | 2020-07-24 | 北京邮电大学 | 一种基于深度强化学习的资源分配方法及装置 |
US20220012089A1 (en) * | 2020-07-13 | 2022-01-13 | Accenture Global Solutions Limited | System for computational resource prediction and subsequent workload provisioning |
CN112612610A (zh) * | 2020-12-18 | 2021-04-06 | 广州竞远安全技术股份有限公司 | 一种基于Actor-Critic深度强化学习的SOC服务质量保障系统及方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116414556A (zh) * | 2022-12-05 | 2023-07-11 | 上海交通大学 | 基于冗余算力的异构嵌入式设备电力分配系统及方法 |
CN116414556B (zh) * | 2022-12-05 | 2024-01-30 | 上海交通大学 | 基于冗余算力的异构嵌入式设备电力分配系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111709533B (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
CN112000459B (zh) | 一种用于服务的扩缩容的方法及相关设备 | |
Das et al. | Performance optimization for edge-cloud serverless platforms via dynamic task placement | |
CN111898578B (zh) | 人群密度的获取方法、装置、电子设备 | |
US8756209B2 (en) | Computing resource allocation based on query response analysis in a networked computing environment | |
US20140372609A1 (en) | Dynamically expanding computing resources in a networked computing environment | |
Fox et al. | Energy efficient scheduling of parallelizable jobs | |
US11651271B1 (en) | Artificial intelligence system incorporating automatic model updates based on change point detection using likelihood ratios | |
US20220138537A1 (en) | Probabilistic nonlinear relationships cross-multi time series and external factors for improved multivariate time series modeling and forecasting | |
CN116680060B (zh) | 面向异构计算系统的任务分配方法、装置、设备和介质 | |
CN117435306A (zh) | 集群容器扩缩容方法、装置、设备及存储介质 | |
CN115016735A (zh) | 一种分布式缓存系统的控制方法、装置及介质 | |
CN110347477B (zh) | 一种云环境下服务自适应部署方法和装置 | |
CN114756352A (zh) | 一种调度服务器计算资源的方法、装置及介质 | |
CN114756352B (zh) | 一种调度服务器计算资源的方法、装置及介质 | |
CN116089367A (zh) | 动态分桶方法、装置、电子设备和介质 | |
CN115114005A (zh) | 业务调度控制方法、装置、设备及计算机可读存储介质 | |
Li et al. | The extreme counts: modeling the performance uncertainty of cloud resources with extreme value theory | |
CN110688735A (zh) | 一种时序信号趋势预测方法、装置、设备及存储介质 | |
AU2015101031A4 (en) | System and a method for modelling the performance of information systems | |
US20210357781A1 (en) | Efficient techniques for determining the best data imputation algorithms | |
US11481679B2 (en) | Adaptive data ingestion rates | |
CN114520773A (zh) | 一种服务请求的响应方法、装置、服务器及存储介质 | |
Alyatama et al. | Continuous memory allocation model for cloud services | |
Chahal et al. | iSeSA: Towards Migrating HPC and AI Workloads to Serverless Platform |
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 |