CN108173905B - 一种资源配置方法、装置及电子设备 - Google Patents

一种资源配置方法、装置及电子设备 Download PDF

Info

Publication number
CN108173905B
CN108173905B CN201711285077.8A CN201711285077A CN108173905B CN 108173905 B CN108173905 B CN 108173905B CN 201711285077 A CN201711285077 A CN 201711285077A CN 108173905 B CN108173905 B CN 108173905B
Authority
CN
China
Prior art keywords
task
resource usage
total
amount
usage amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711285077.8A
Other languages
English (en)
Other versions
CN108173905A (zh
Inventor
陈越晨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN201711285077.8A priority Critical patent/CN108173905B/zh
Publication of CN108173905A publication Critical patent/CN108173905A/zh
Application granted granted Critical
Publication of CN108173905B publication Critical patent/CN108173905B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供了一种资源配置方法、装置及电子设备,其中,该方法包括:获取多个任务中每个任务的运行参数,根据每个任务的运行参数,计算该任务的目标函数,获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务。本发明实施例实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。

Description

一种资源配置方法、装置及电子设备
技术领域
本发明涉及资源优化技术领域,特别是涉及一种资源配置方法、装置及电子设备。
背景技术
随着计算机软件技术的快速发展,计算机软件技术已广泛的应用于科学研究、工业生产以及互联网等领域。而随着计算机软件技术的广泛应用,应用计算机软件技术产生的数据也呈现出爆炸式增长。面向大数据处理的计算框架,可以很好的管理应用计算机软件技术时产生的数据。其中,具有代表性的计算框架包括:Spark和Flink等,Spark是专为大规模数据处理而设计的快速通用的计算引擎,Flink是一个针对流数据和批数据的分布式处理引擎,它主要是由Java代码实现。
然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:
业务人员在利用计算框架运行任务时,一些计算框架需要业务人员手动配置资源,然而,当业务人员对该计算框架不够了解,手动配置的资源可能并不合理,如果再按照手动配置的资源进行任务运行,会造成资源的浪费。
发明内容
本发明实施例的目的在于提供一种资源配置方法、装置及电子设备,以实现对业务人员手动配置的资源进行持续优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。具体技术方案如下:
在本发明实施的一个方面,本发明实施例提供了一种资源配置方法,该方法包括:
获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,资源使用量包括:内存使用量和处理器核数使用量;
根据每个任务的运行参数,计算该任务的目标函数,其中,目标函数用于描述运行时间与资源使用量之间的关系;
获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群;其中,预设资源总量包括预设内存总量和预设处理器总核数,最优资源使用量为使得多个任务的总任务运行时间最小时的资源使用量。
可选的,获取多个任务中每个任务的运行参数,包括:
获取用户终端发送的多个任务请求,其中,任务请求中携带有内存申请量、处理器核数申请量和待运行任务;
将多个任务请求发送至服务器集群,以使服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务;
针对每个任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将第一实际资源使用量作为该任务的运行参数中的资源使用量,将第一实际运行时间作为该任务的运行参数中的运行时间。
可选的,每个任务的运行参数至少包括4组,根据每个任务的运行参数,计算该任务的目标函数,包括:
针对每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure BDA0001498266060000021
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,ti(v,m)为第i个任务的运行时间,vi为第i个任务的处理器核数使用量,mi为第i个任务的内存使用量,θ(ai,bi,ci)为第i个任务的损失函数,
Figure BDA0001498266060000022
为第i个任务的第j个运行时间,
Figure BDA0001498266060000023
为第i个任务的第j个处理器核数使用量,
Figure BDA0001498266060000024
为第i个任务的第j个内存使用量,1≤j≤3且为正整数;
计算待定系数的方差,并对比待定系数的方差是否小于预设方差阈值,在待定系数的方差小于预设方差阈值时,将待定系数作为该任务的目标函数的系数,得到该任务的目标函数;
在待定系数的方差不小于预设方差阈值时,重复执行采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
可选的,根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,包括:
针对多个任务的总的资源量,以以下公式为限定条件:
Figure BDA0001498266060000031
通过第二公式:
Figure BDA0001498266060000032
计算不同资源使用量时的总的运行时间Tj,其中,vi为第i个任务的内存使用量,mi为第i个任务的处理器核数使用量,V为预设内存总量,M为预设处理器总核数,Tl为第l步迭代得到的总的任务运行时间,I为多个任务的总数;
对比不同资源使用量时的总的运行时间,得到多个任务的最小总运行时间,并根据最小总运行时间,确定与最小总运行时间对应的每个任务的最优资源使用量。
可选的,在将每个任务的最优资源使用量发送至服务器集群之后,本发明实施例的一种资源配置方法还包括:
获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间;
将第二实际资源使用量及第二实际运行时间添加至与该任务对应的运行参数中。
在本发明实施的又一方面,本发明实施例还提供了一种资源配置装置,该装置包括:
第一获取模块,用于获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,资源使用量包括:内存使用量和处理器核数使用量;
目标函数计算模块,用于根据每个任务的运行参数,计算该任务的目标函数,其中,目标函数用于描述运行时间与资源使用量之间的关系;
最优资源计算模块,用于获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群;其中,预设资源总量包括预设内存总量和预设处理器总核数,最优资源使用量为使得多个任务的总任务运行时间最小时的资源使用量。
可选的,第一获取模块,包括:
任务请求获取子模块,用于获取用户终端发送的多个任务请求,其中,任务请求中携带有内存申请量、处理器核数申请量和待运行任务;
发送子模块,用于将多个任务请求发送至服务器集群,以使服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务;
运行参数获取子模块,用于针对每个任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将第一实际资源使用量作为该任务的运行参数中的资源使用量,将第一实际运行时间作为该任务的运行参数中的运行时间。
可选的,每个任务的运行参数至少包括4组,目标函数计算模块,包括:
目标函数计算子模块,用于针对每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure BDA0001498266060000041
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,ti(v,m)为第i个任务的运行时间,vi为第i个任务的处理器核数使用量,mi为第i个任务的内存使用量,θ(ai,bi,ci)为第i个任务的损失函数,
Figure BDA0001498266060000051
为第i个任务的第j个运行时间,
Figure BDA0001498266060000055
为第i个任务的第j个处理器核数使用量,
Figure BDA0001498266060000052
为第i个任务的第j个内存使用量,1≤j≤3且为正整数;
方差计算子模块,用于计算待定系数的方差,并对比待定系数的方差是否小于预设方差阈值,在待定系数的方差小于预设方差阈值时,将待定系数作为该任务的目标函数的系数,得到该任务的目标函数;
在待定系数的方差不小于预设方差阈值时,触发目标函数计算子模块执行采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
可选的,最优资源计算模块,包括:
总运行时间计算子模块,用于针对多个任务的总的资源量,以以下公式为限定条件:
Figure BDA0001498266060000053
通过第二公式:
Figure BDA0001498266060000054
计算不同资源使用量时的总的运行时间Tj,其中,vi为第i个任务的内存使用量,mi为第i个任务的处理器核数使用量,V为预设内存总量,M为预设处理器总核数,Tl为第l步迭代得到的总的任务运行时间,I为多个任务的总数;
对比子模块,用于对比不同资源使用量时的总的运行时间,得到多个任务的最小总运行时间,并根据最小总运行时间,确定与最小总运行时间对应的每个任务的最优资源使用量。
可选的,本发明实施例的一种资源配置装置还包括:
第二获取模块,用于获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间;
添加模块,用于将第二实际资源使用量及第二实际运行时间添加至与该任务对应的运行参数中。
在本发明实施的又一方面,本发明实施例还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的一种资源配置方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的一种资源配置方法。
在本发明实施的又一方面,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的一种资源配置方法。
本发明实施例提供的一种资源配置方法、装置及电子设备,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例的一种资源配置方法应用于服务器集群的系统结构图;
图2为本发明实施例的一种资源配置方法的第一种实现方式的流程图;
图3为本发明实施例的一种资源配置方法的第二种实现方式的流程图;
图4为本发明实施例的一种资源配置装置的第一种实施方式的结构示意图;
图5为本发明实施例的一种资源配置装置的第二种实施方式的结构示意图;
图6为本发明实施例的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
为了解决现有技术存在的问题,本发明实施例提供了一种资源配置方法、装置及电子设备,以实现对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
首先,本发明实施例的一种资源配置方法,可以应用于单一服务器,也可以应用于服务器集群。例如,如图1所示,为本发明实施例的一种资源配置方法应用于服务器集群的系统结构图,该系统可以包括:第一用户终端101、第二用户终端102、第三用户终端103、第四用户终端104、资源配置装置105、第一服务器106以及第二服务器107。其中,第一服务器106和第二服务器107为服务器集群中的服务器,资源配置装置105为应用本发明实施例的一种资源配置方法的装置。
上述的资源配置装置105可以分别获取服务器集群运行每个任务时的运行参数,然后计算出每个任务的目标函数,再根据该目标函数以及预设资源总量计算出每个任务的最优资源使用量,然后将该每个任务的最优资源使用量发送至与该任务对应的服务器中,以使得该对应的服务器按照该任务的的最优资源使用量运行该任务,从而可以实现有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
下面,首先对本发明实施例的一种资源配置方法进行介绍,如图2所示,为本发明实施例的一种资源配置方法的第一种实现方式的流程图,该方法可以包括:
S201,获取多个任务中每个任务的运行参数。
其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,资源使用量包括:内存使用量和处理器核数使用量。
在一些示例中,上述的运行参数,可以是服务器集群运行每个任务后生成的运行参数,该运行参数可以由服务器集群主动发送至资源配置装置,也可以由资源配置装置主动获取。
具体的,服务器集群在运行任务时,可以定期记录运行任务时的运行参数,并对运行参数进行保存,当应用本发明实施例的一种资源配置方法的装置对该任务的资源进行优化时,可以首先从服务器集群中获取服务器集群运行该任务时的运行参数。
在一些示例中,当用户终端发送给服务器集群的任务为新任务时,服务器集群可以首先获取并运行该新任务,在服务器集群运行该新任务一段时间后,应用本发明实施例的一种资源配置方法的资源配置装置可以从上述的服务器集群中获取每个任务的运行参数。
在一些示例中,用户终端发送该新任务给服务器集群时,可以预先设置运行该新任务的处理器核数申请量和内存申请量,以使得服务器集群在接收到该新任务时,按照上述的处理器核数申请量和内存申请量运行该新任务。
在一些示例中,上述的服务器集群中的每个服务器可以安装一个计算框架,也可以安装多个计算框架。下面,以每个服务器安装两个计算框架为例进行说明,每个计算框架可以运行一个用户终端发送的任务。
例如,假设第一服务器106安装有两个计算框架,可以分别运行第一用户终端101发送的第一任务和第二用户终端102发送的第二任务;第二服务器107也安装有两个计算框架,可以分别运行第三用户终端103发送的第三任务和第四用户终端104发送的第四任务。在第一服务器106和第二服务器107运行一段时间后,上述的资源配置装置可以从该第一服务器106中获取第一任务的运行参数和第二任务的运行参数,从该第二服务器107中获取第三任务的运行参数和第四任务的运行参数。
具体的,上述的资源配置装置在获取多个任务中每个任务的运行参数时,可以分别发送与每个任务对应的运行参数获取请求,至与每个任务对应的服务器中,以使得对应的服务器反馈与该任务对应的运行参数给上述的资源配置装置,每个任务运行参数可以包括多组。
在一些示例中,当服务器集群中存在管理服务器时,上述的资源配置装置可以发送与每个任务对应的运行参数获取请求给该管理服务器,以使得管理服务器反馈与该任务对应的运行参数给上述的资源配置装置。例如,当图1所示的系统中,服务器集群中存在管理服务器时,该管理服务器可以记录第一服务器106和第二服务器107的运行参数,也可以对第一服务器106和第二服务器107的其他业务进行管理。
S202,根据每个任务的运行参数,计算该任务的目标函数。
其中,目标函数用于描述运行时间与资源使用量之间的关系。
具体的,在通过步骤S201获取到每个任务的运行参数后,为了得到每个任务的最优资源使用量,在本步骤中,可以首先计算每个任务的目标函数。
在一些示例中,在计算每个任务的目标函数时,可以根据每个任务的运行参数,通过回归算法,计算该任务的目标函数。其中,该回归算法可以包括线性回归算法和逻辑回归算法。
具体的,该线性回归算法可以在该任务的运行参数能够以线性关系表示时,计算该任务的目标函数,该逻辑回归算法可以在该任务的运行参数不能以线性关系表示时,计算该任务的目标函数。
例如,假设上述资源配置装置从第一服务器106中获取到的是第一任务的运行参数,从第二服务器107中获取到的是第三任务的运行参数,则在本步骤中,上述的资源配置装置,可以根据第一任务的运行参数,通过回归算法,计算第一任务的目标函数;根据第三任务的运行参数,通过回归算法,计算第三任务的目标函数。
在一些示例中,本发明实施例的一种资源配置方法,在通过线性回归算法,计算每个任务的目标函数时,可以通过梯度下降算法计算每个任务的目标函数,其中,该梯度下降算法属于线性回归算法的一种。
在通过梯度下降算法计算每个任务的目标函数时,可以首先设定损失函数,然后运用梯度下降算法计算出损失函数的偏导数为零时的各变量的值,然后将各变量的值作为目标函数的系数,从而可以确定每个任务的目标函数,需要说明的是,梯度下降算法为现有技术中的算法,这里不再赘述。
S203,获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群。
其中,预设资源总量包括预设内存总量和预设处理器总核数,最优资源使用量为使得多个任务的总任务运行时间最小时的资源使用量,该预设资源总量可以预先根据经验设置,也可以预先根据服务器集群的实际使用情况设置。
例如,当用户终端发送的新任务的数量和资源申请量比较大时,可以将预设资源总量设置的较低,如可以设置预设资源总量为服务器集群资源总量的70%。当用户终端发送的新任务的数量和资源申请量比较小时,可以将预设资源总量设置的较高,如可以设置预设资源总量为服务器集群资源总量的85%。
在一些示例中,在根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量时,可以根据预设资源总量和每个任务的目标函数,通过线性规划法计算每个任务的最优资源使用量。
具体的,在获取到服务器集群的预设资源总量后,可以根据预设资源总量以及每个任务的目标函数,通过线性规划法,计算得到运行该多个任务时的最小总运行时间,以及与最小总运行时间对应的每个任务的资源使用、每个任务的运行时间。然后可以将与最小总运行时间对应的每个任务的资源使用量作为该任务的最优资源使用量。在计算得到每个任务的最优资源使用量后,可以将每个任务的最优资源使用量发送至与该任务对应的服务器。
在一些示例中,当服务器集群中存在管理服务器时,可以将每个任务的最优资源使用量发送至该管理服务器,由该管理服务器根据每个任务的最优资源使用量,对每个任务分配最优资源使用量。
例如,假设预设资源总量为:预设内存总量为12G、预设处理器总核数为24核。通过本步骤,计算出图1所示的系统中的第一任务、第二任务、第三任务以及第四任务的最小总运行时间为10s。在该最小总运行时间为10s时,第一任务的资源使用量为:2G、4核,运行时间为2.6s;第二任务的资源使用量为:4G、8核,运行时间为3.5s;第三任务的资源使用量为:4G、8核,运行时间为2.6s;第四任务的资源使用量为:2G、4核,运行时间为1.3s。
则可以将该第一任务的资源使用量2G和4核,作为该第一任务的最优资源使用量,将该第二任务的资源使用量4G和8核,作为该第二任务的最优资源使用量,将该第三任务的资源使用量4G和8核,作为该第三任务的最优资源使用量,将该第四任务的资源使用量2G和4核,作为该第四任务的最优资源使用量。
在得到上述四个任务的最优资源使用量后,可以分别将第一任务和第二任务的最优资源使用量发送至第一服务器106,将第三任务和第四任务的最优资源使用量发送至第二服务器107。以使得第一服务器106按照第一任务的最优资源使用量运行第一任务,按照第二任务的最优资源使用量运行第二任务,第二服务器107按照第三任务的最优资源使用量运行第三任务,按照第四任务的最优资源使用量运行第四任务。
本发明实施例提供的一种资源配置方法,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
在本发明实施例的一种可能的实现方式中,服务器集群可以直接从用户终端获取多个任务,并分别运行该多个任务。然后可以针对该多个任务中的每个任务,生成对应的运行参数。
在本发明实施例的又一种可能的实现方式中,用户终端可以首先将待运行任务发送至,应用本发明实施例的一种资源配置方法的资源配置装置,该资源配置装置在接收到该待运行任务后,将该待运行任务发送至服务器集群,由服务器集群运行该待运行任务。
具体的,本发明实施例的一种资源配置方法还提供了一种可能的实现方式,上述的步骤S201,获取多个任务中每个任务的运行参数,可以包括:
步骤A,获取用户终端发送的多个任务请求。
其中,任务请求中携带有内存申请量、处理器核数申请量和待运行任务。
具体的,上述的多个任务请求可以是由多个用户终端发送的,也可以是由一个用户终端发送的。
在一些示例中,当用户终端存在待运行任务时,可以发送该待运行任务至上述的资源配置装置,则应用本发明实施例的一种资源配置方法的资源配置装置,可以获取到用户终端发送的待运行任务。
在一些示例中,用户终端发送该待运行任务时,可以将该待运行任务添加至任务请求中,然后发送给上述的资源配置装置。该任务请求中还可以包括内存申请量和处理器核数申请量。该内存申请量和处理器核数申请量用于使服务器集群按照该内存申请量和处理器核数申请量运行该待运行任务。
步骤B,将多个任务请求发送至服务器集群,以使服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务。
在一些示例中,上述的资源配置装置在接收到任务请求后,可以对每个任务请求中的待运行任务进行记录。具体的,可以记录每个任务请求中的待运行任务的标识信息。
在对每个任务请求中的待运行任务进行记录后,可以发送该多个任务请求至服务器集群,以使得服务器集群能够及时运行该多个任务请求中对应的待运行任务。
在一些示例中,上述的资源配置装置可以按照该多个任务请求中每个待运行任务的标识信息,将与每个待运行任务对应的任务请求发送至对应的服务器中。
例如,假设,第一用户终端101、第二用户终端102、第三用户终端103、第四用户终端104分别发送了一个任务请求,因此,上述的资源配置装置可以接收到4个任务请求。每个任务请求中可以携带有目的服务器标识信息,该目的服务器标识信息可以包括物理地址信息或者身份标识号。
假设,第一用户终端101发送的第一任务请求中携带的目标服务器标识信息为第一服务器106的标识信息,第二用户终端102发送的第二任务请求中携带的目标服务器标识信息为第二服务器107的标识信息,第三用户终端103发送的第三任务请求中携带的目标服务器标识信息为第二服务器107的标识信息,第四用户终端104发送的第四任务请求中携带的目标服务器标识信息为第一服务器106的标识信息。
则上述资源配置装置105在分别接收到第一任务请求、第二任务请求、第三任务请求、第四任务请求后,可以首先对第一任务请求中的第一待运行任务进行记录,对第二任务请求中的第二待运行任务进行记录,对第三任务请求中的第三待运行任务进行记录,对第四任务请求中的第四待运行任务进行记录。
然后分别将第一任务请求和第四任务请求发送至第一服务器106,将第二任务请求和第三任务请求发送至第二服务器107。
在一些示例中,当服务器集群中存在管理服务器时,上述的资源配置装置可以将该多个任务请求发送至该管理服务器,由该管理服务器分配给对应的服务器。
步骤C,针对每个任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将第一实际资源使用量作为该任务的运行参数中的资源使用量,将第一实际运行时间作为该任务的运行参数中的运行时间。
在一些示例中,上述的资源配置装置在将该多个任务请求发送至服务器集群后,服务器集群可以运行该多个任务请求中的每个待运行任务。
具体的,当上述的资源配置装置将该多个任务请求发送至服务器集群一定时间后,可以获取每个待运行任务的第一实际资源使用量和第一实际运行时间。
具体的,上述的资源配置装置可以针对每个任务请求,发送一个获取指令,获取与每个任务请求对应的待运行任务的第一实际资源使用量和第一实际运行时间。
在获取到与每个任务请求对应的待运行任务的第一实际资源使用量和第一实际运行时间后,可以将与每个任务请求对应的第一实际资源使用量作为该任务的运行参数中的资源使用量,将第一实际运行时间作为该任务的运行参数中的运行时间。
通过本发明实施例的一种资源配置方法,上述的资源配置装置可以主动从服务器集群获取运行参数,从而及时对服务器集群中的每个任务的资源使用量进行优化,及时降低服务器集群中资源的浪费。
在一些示例中,本发明实施例的一种资源配置方法在计算每个任务的目标函数时,可以通过梯度下降算法计算每个任务的目标函数。
此外,本发明实施例还提供了一种可能的实现方式:
具体的,根据每个任务的运行参数,计算该任务的目标函数,包括:
步骤A,针对每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure BDA0001498266060000141
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,ti(v,m)为第i个任务的运行时间,vi为第i个任务的处理器核数使用量,mi为第i个任务的内存使用量,θ(ai,bi,ci)为第i个任务的损失函数,
Figure BDA0001498266060000142
为第i个任务的第j个运行时间,
Figure BDA0001498266060000143
为第i个任务的第j个处理器核数使用量,
Figure BDA0001498266060000144
为第i个任务的第j个内存使用量,1≤j≤3且为正整数。
在一些示例中,每个任务的运行参数可以至少包括4组。
具体的,针对每个任务,可以首先选择该任务的运行参数中的任三组,然后将该三组运行参数代入第一公式中,得到包含上述任三组运行参数的第一公式,然后对该包含上述任三组运行参数的第一公式中的每个未知量求偏导数,得到求偏导数后的偏导数公式,然后,使得该偏导数公式等于零,从而可以计算出每个任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
例如,针对第一用户终端101发送的第一任务,上述的资源配置装置可以获取到服务器集群运行该第一任务的四组运行参数,假设该四组运行参数分别为:(2.3s,2G,4核)、(4s,1G,2核)、(3.1s,3G,2核)、(2.7s,2G,3核);则上述的资源配置装置可以从该四个运行参数中任意选择三组运行参数,然后分别代入上述的第一公式中,可以得到以下公式:
θ(a1,b1,c1)=(2.3-4a1-2b1-c1)2+(4-2a1-1b1-c1)2+(3.1-2a1-3b1-c1)2+(2.7-3a1-2b1-c1)2
然后对该公式求偏导数得到以下公式,并使得以下公式等于零:
Figure BDA0001498266060000151
Figure BDA0001498266060000152
Figure BDA0001498266060000153
然后可以计算出第一任务的待定系数a1,b1,c1的值。
步骤B,计算待定系数的方差,并对比待定系数的方差是否小于预设方差阈值,在待定系数的方差小于预设方差阈值时,将待定系数作为该任务的目标函数的系数,得到该任务的目标函数。
具体的,在计算出第一任务的待定系数后,可以计算该待定系数的方差,然后将计算得到的待定系数的方差与预设方差阈值进行比较,从而可以判断步骤A计算得到的待定系数能否作为目标函数的系数。
在一些示例中,当步骤A计算出的待定系数的方差小于预设方差阈值时,可以将该待定系数作为第一任务的目标函数的系数,从而可以得到第一任务的目标函数。当步骤A计算出的待定系数的方差不小于预设方差阈值时,则重复执行步骤A,重新计算第一任务的待定系数。
步骤C,在待定系数的方差不小于预设方差阈值时,重复执行采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
通过本发明实施例提供的一种资源配置的方法,可以快速计算出目标函数的的待定系数,并且,可以确定出最优的待定系数,从而使得目标函数的系数为最优系数,降低后续计算最优资源时的误差。
具体的,在通过上述步骤计算出每个任务的目标函数后,根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量时,可以包括:
步骤A,针对多个任务的总的资源量,以以下公式为限定条件:
Figure BDA0001498266060000161
Figure BDA0001498266060000162
通过第二公式:
Figure BDA0001498266060000163
计算不同资源使用量时的总的运行时间Tj,其中,vi为第i个任务的内存使用量,mi为第i个任务的处理器核数使用量,V为预设内存总量,M为预设处理器总核数,Tl为第l步迭代得到的总的任务运行时间,I为多个任务的总数。
具体的,在计算得到多个任务中每个任务的目标函数后,可以按照预设资源总量,为每个任务设置不同的资源使用量,然后通过第二公式计算出总的运行时间Tl
例如,假设,第一任务的目标函数为t1=2v1+m1+3,第二任务的目标函数为t2=v2+2m2+2.5,第三任务的目标函数为t3=1.5v3+2m3+2,第四任务的目标函数为t4=2v4+0.5m4+1.5,预设资源总量为中的预设内存总量为12G,预设处理器总核数为24核,然后,可以多次分别为第一任务、第二任务、第三任务、第四任务设置不同的资源使用量,例如,可以第一次分别为第一任务、第二任务、第三任务、第四任务设置不同的资源使用量,然后计算出对应的第一总运行时间T1。第二次分别为第一任务、第二任务、第三任务、第四任务设置不同的资源使用量,然后计算出对应的第二总运行时间T2,以及第三次分别为第一任务、第二任务、第三任务、第四任务设置不同的资源使用量,然后计算出对应的第三总运行时间T3
步骤B,对比不同资源使用量时的总的运行时间,得到多个任务的最小总运行时间,并根据最小总运行时间,确定与最小总运行时间对应的每个任务的最优资源使用量。
具体的,在通过上述步骤A,计算出不同资源使用量时的总的运行时间后,可以对该总的运行时间进行对比,得到该多个任务对应的最小运行时间,然后可以将与该多个任务的最小运行时间对应的每个任务的资源使用量确定为该任务的最优资源使用量。
例如,假设通过步骤A,计算出的第一总运行时间T1=13s,第二总运行时间T2=10s,第三总运行时间T3=15s,则可以将该第二总运行时间确定为该多个任务的最优资源使用量对应的最小运行时间。
假设,在该最小总运行时间为T2=10s时,第一任务的资源使用量为:2G、4核,运行时间为2.6s;第二任务的资源使用量为:4G、8核,运行时间为3.5s;第三任务的资源使用量为:4G、8核,运行时间为2.6s;第四任务的资源使用量为:2G、4核,运行时间为1.3s。
则可以将该第一任务的资源使用量2G和4核,作为该第一任务的最优资源使用量,将该第二任务的资源使用量4G和8核,作为该第二任务的最优资源使用量,将该第三任务的资源使用量4G和8核,作为该第三任务的最优资源使用量,将该第四任务的资源使用量2G和4核,作为该第四任务的最优资源使用量。
通过上述步骤,可以快速计算出最小运行时间时,各任务的最优资源使用量,然后可以将各任务的最优资源使用量发送至与服务器集群,从而可以使得服务器集群能够及时按照各任务对应的最优资源使用量运行对应的任务,及时降低服务器集群资源浪费。
具体的,在本发明实施例的一种可能的实现方式中,为了使应用本发明实施例的一种资源配置方法的资源配置装置能够持续对服务器集群中运行的各任务的资源使用量进行优化,本发明实施例还提供了一种可能的实现方式,如图3所示,为本发明实施例的一种资源配置方法的第二种实现方式的流程图,在将每个任务的最优资源使用量发送至服务器集群之后,本发明实施例的一种资源配置方法,还可以包括:
S204,获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间。
具体的,在应用本发明实施例的一种资源配置方法计算出每个任务的最优资源使用量并发送给服务器集群后,服务器集群可以按照每个任务的最优资源使用量运行对应的任务。当服务器集群按照该每个任务的最优资源使用量运行对应的任务时,针对每个任务,都可以产生对应的第二实际资源使用量及第二实际运行时间。
因此,应用本发明实施例的一种资源配置方法的资源配置装置可以从服务器集群中获取每个任务对应的第二实际资源使用量和第二实际运行时间。
S205,将第二实际资源使用量及第二实际运行时间添加至与该任务对应的运行参数中。
在一些示例中,当上述的资源配置装置获取到每个任务对应的第二实际资源使用量和第二实际运行时间后,可以将该第二实际资源使用量和第二实际运行时间添加至该任务对应的运行参数中,从而使得应用本发明实施例的一种资源配置方法的资源配置装置可以根据该第二实际资源使用量和第二实际运行时间,持续优化该任务的资源使用量,进一步减少服务器集群的资源浪费。
相应于上述方法实施例,本发明实施例还提供了一种资源配置装置,如图4所示,为本发明实施例的一种资源配置装置的第一种实施方式的结构示意图,该装置可以包括:
第一获取模块401,用于获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,资源使用量包括:内存使用量和处理器核数使用量;
目标函数计算模块402,用于根据每个任务的运行参数,计算该任务的目标函数,其中,目标函数用于描述运行时间与资源使用量之间的关系;
最优资源计算模块403,用于获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群;其中,预设资源总量包括预设内存总量和预设处理器总核数,最优资源使用量为使得多个任务的总任务运行时间最小时的资源使用量。
本发明实施例提供的一种资源配置装置,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
具体的,第一获取模块401,可以包括:
任务请求获取子模块,用于获取用户终端发送的多个任务请求,其中,任务请求中携带有内存申请量、处理器核数申请量和待运行任务;
发送子模块,用于将多个任务请求发送至服务器集群,以使服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务;
运行参数获取子模块,用于针对每个任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将第一实际资源使用量作为该任务的运行参数中的资源使用量,将第一实际运行时间作为该任务的运行参数中的运行时间。
具体的,每个任务的运行参数至少包括4组,目标函数计算模块402,可以包括:
目标函数计算子模块,用于针对每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure BDA0001498266060000201
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,ti(v,m)为第i个任务的运行时间,vi为第i个任务的处理器核数使用量,mi为第i个任务的内存使用量,θ(ai,bi,ci)为第i个任务的损失函数,
Figure BDA0001498266060000202
为第i个任务的第j个运行时间,
Figure BDA0001498266060000203
为第i个任务的第j个处理器核数使用量,
Figure BDA0001498266060000204
为第i个任务的第j个内存使用量,1≤j≤3且为正整数;
方差计算子模块,用于计算待定系数的方差,并对比待定系数的方差是否小于预设方差阈值,在待定系数的方差小于预设方差阈值时,将待定系数作为该任务的目标函数的系数,得到该任务的目标函数;
在待定系数的方差不小于预设方差阈值时,触发目标函数计算子模块执行采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
具体的,最优资源计算模块403,可以包括:
总运行时间计算子模块,用于针对多个任务的总的资源量,以以下公式为限定条件:
Figure BDA0001498266060000205
Figure BDA0001498266060000206
通过第二公式:
Figure BDA0001498266060000207
计算不同资源使用量时的总的运行时间Tj,其中,vi为第i个任务的内存使用量,mi为第i个任务的处理器核数使用量,V为预设内存总量,M为预设处理器总核数,Tl为第l步迭代得到的总的任务运行时间,I为多个任务的总数;
对比子模块,用于对比不同资源使用量时的总的运行时间,得到多个任务的最小总运行时间,并根据最小总运行时间,确定与最小总运行时间对应的每个任务的最优资源使用量。
如图5所示,为本发明实施例的一种资源配置装置的第二种实施方式的结构示意图,在图4所示实施例的基础上,该装置还可以包括:
第二获取模块404,用于获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间;
添加模块405,用于将第二实际资源使用量及第二实际运行时间添加至与该任务对应的运行参数中。
本发明实施例还提供了一种电子设备,如图6所示,为本发明实施例的一种电子设备的结构示意图,该电子设备可以包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,资源使用量包括:内存使用量和处理器核数使用量;
根据每个任务的运行参数,计算该任务的目标函数,其中,目标函数用于描述运行时间与资源使用量之间的关系;
获取服务器集群的预设资源总量,并根据预设资源总量和每个任务的目标函数,计算每个任务的最优资源使用量,并将每个任务的最优资源使用量发送至服务器集群;其中,预设资源总量包括预设内存总量和预设处理器总核数,最优资源使用量为使得多个任务的总任务运行时间最小时的资源使用量。
本发明实施例提供的一种电子设备,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种资源配置方法。
本发明实施例提供的一种计算机可读存储介质,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的一种资源配置方法。
本发明实施例提供的一种包含指令的计算机程序产品,可以首先获取多个任务中每个任务的运行参数,然后针对每个任务的运行参数,计算该任务的目标函数,然后运用每个任务的目标函数,以及预设资源总量,计算每个任务的最优资源使用量,最后将每个任务的最优资源使用量发送至服务器集群,以使得服务器集群能够按照每个任务的最优资源使用量运行对应的任务,从而实现了对业务人员手动配置的资源进行智能优化,有效协调不同任务的资源使用,以达到全局最优的效果,有效提高服务器集群资源利用率,降低资源浪费。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (11)

1.一种资源配置方法,其特征在于,所述方法包括:
获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,所述资源使用量包括:内存使用量和处理器核数使用量;
根据所述每个任务的运行参数,通过回归算法,计算该任务的目标函数,其中,所述目标函数用于描述运行时间与资源使用量之间的关系;
获取服务器集群的预设资源总量,并根据所述预设资源总量和所述每个任务的目标函数,计算所述每个任务的最优资源使用量,并将所述每个任务的最优资源使用量发送至所述服务器集群;其中,所述预设资源总量包括预设内存总量和预设处理器总核数,所述最优资源使用量为使得所述多个任务的总任务运行时间最小时的资源使用量。
2.根据权利要求1所述的方法,其特征在于,所述获取多个任务中每个任务的运行参数,包括:
获取用户终端发送的多个任务请求,其中,所述任务请求中携带有内存申请量、处理器核数申请量和待运行任务;
将所述多个任务请求发送至服务器集群,以使所述服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务;
针对每个所述任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将所述第一实际资源使用量作为该任务的运行参数中的资源使用量,将所述第一实际运行时间作为该任务的运行参数中的运行时间。
3.根据权利要求1或2所述的方法,其特征在于,所述每个任务的运行参数至少包括4组,所述根据所述每个任务的运行参数,通过回归算法,计算该任务的目标函数,包括:
针对所述每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure FDA0003030699970000021
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,所述ti(v,m)为第i个任务的运行时间,所述vi为第i个任务的处理器核数使用量,所述mi为第i个任务的内存使用量,所述θ(ai,bi,ci)为第i个任务的损失函数,所述
Figure FDA0003030699970000022
为第i个任务的第j个运行时间,所述
Figure FDA0003030699970000023
为第i个任务的第j个处理器核数使用量,所述
Figure FDA0003030699970000024
为第i个任务的第j个内存使用量,1≤j≤3且为正整数;
计算所述待定系数的方差,并对比所述待定系数的方差是否小于预设方差阈值,在所述待定系数的方差小于所述预设方差阈值时,将所述待定系数作为该任务的目标函数的系数,得到该任务的目标函数;
在所述待定系数的方差不小于所述预设方差阈值时,重复执行所述采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
4.根据权利要求3所述的方法,其特征在于,所述根据所述预设资源总量和所述每个任务的目标函数,计算所述每个任务的最优资源使用量,包括:
针对所述多个任务的总的资源量,以以下公式为限定条件:
Figure FDA0003030699970000025
Figure FDA0003030699970000026
通过第二公式:
Figure FDA0003030699970000027
计算不同资源使用量时的总的运行时间Tj,其中,所述vi为第i个任务的内存使用量,所述mi为第i个任务的处理器核数使用量,所述V为所述预设内存总量,所述M为所述预设处理器总核数,所述Tl为第l步迭代得到的总的任务运行时间,所述I为所述多个任务的总数;
对比所述不同资源使用量时的总的运行时间,得到所述多个任务的最小总运行时间,并根据所述最小总运行时间,确定与所述最小总运行时间对应的每个任务的最优资源使用量。
5.根据权利要求1所述的方法,其特征在于,在所述将所述每个任务的最优资源使用量发送至所述服务器集群之后,所述方法还包括:
获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间;
将所述第二实际资源使用量及所述第二实际运行时间添加至与该任务对应的运行参数中。
6.一种资源配置装置,其特征在于,所述装置包括:
第一获取模块,用于获取多个任务中每个任务的运行参数,其中,任一任务的运行参数包括服务器集群多次运行该任务时的运行时间和资源使用量,所述资源使用量包括:内存使用量和处理器核数使用量;
目标函数计算模块,用于根据所述每个任务的运行参数,通过回归算法,计算该任务的目标函数,其中,所述目标函数用于描述运行时间与资源使用量之间的关系;
最优资源计算模块,用于获取服务器集群的预设资源总量,并根据所述预设资源总量和所述每个任务的目标函数,计算所述每个任务的最优资源使用量,并将所述每个任务的最优资源使用量发送至所述服务器集群;其中,所述预设资源总量包括预设内存总量和预设处理器总核数,所述最优资源使用量为使得所述多个任务的总任务运行时间最小时的资源使用量。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块,包括:
任务请求获取子模块,用于获取用户终端发送的多个任务请求,其中,所述任务请求中携带有内存申请量、处理器核数申请量和待运行任务;
发送子模块,用于将所述多个任务请求发送至服务器集群,以使所述服务器集群按照各任务请求中的内存申请量和处理器核数申请量,运行与各任务请求对应的待运行任务;
运行参数获取子模块,用于针对每个所述任务请求,获取服务器集群运行与该任务请求对应的待运行任务时的第一实际资源使用量和第一实际运行时间,并将所述第一实际资源使用量作为该任务的运行参数中的资源使用量,将所述第一实际运行时间作为该任务的运行参数中的运行时间。
8.根据权利要求6或7所述的装置,其特征在于,所述每个任务的运行参数至少包括4组,所述目标函数计算模块,包括:
目标函数计算子模块,用于针对所述每个任务,采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式:
Figure FDA0003030699970000041
计算该任务的目标函数公式ti(v,m)=aivi+bimi+ci的待定系数ai,bi,ci
其中,所述ti(v,m)为第i个任务的运行时间,所述vi为第i个任务的处理器核数使用量,所述mi为第i个任务的内存使用量,所述θ(ai,bi,ci)为第i个任务的损失函数,所述
Figure FDA0003030699970000042
为第i个任务的第j个运行时间,所述
Figure FDA0003030699970000043
为第i个任务的第j个处理器核数使用量,所述
Figure FDA0003030699970000044
为第i个任务的第j个内存使用量,1≤j≤3且为正整数;
方差计算子模块,用于计算所述待定系数的方差,并对比所述待定系数的方差是否小于预设方差阈值,在所述待定系数的方差小于所述预设方差阈值时,将所述待定系数作为该任务的目标函数的系数,得到该任务的目标函数;
在所述待定系数的方差不小于所述预设方差阈值时,触发目标函数计算子模块执行所述采用最小二乘法,并选择该任务的运行参数中的任三组,通过第一公式计算该任务的目标函数公式的待定系数ai,bi,ci的步骤。
9.根据权利要求8所述的装置,其特征在于,所述最优资源计算模块,包括:
总运行时间计算子模块,用于针对所述多个任务的总的资源量,以以下公式为限定条件:
Figure FDA0003030699970000051
Figure FDA0003030699970000052
通过第二公式:
Figure FDA0003030699970000053
计算不同资源使用量时的总的运行时间Tj,其中,所述vi为第i个任务的内存使用量,所述mi为第i个任务的处理器核数使用量,所述V为所述预设内存总量,所述M为所述预设处理器总核数,所述Tl为第l步迭代得到的总的任务运行时间,所述I为所述多个任务的总数;
对比子模块,用于对比所述不同资源使用量时的总的运行时间,得到所述多个任务的最小总运行时间,并根据所述最小总运行时间,确定与所述最小总运行时间对应的每个任务的最优资源使用量。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取服务器集群按照每个任务的最优资源使用量运行该任务时的第二实际资源使用量及第二实际运行时间;
添加模块,用于将所述第二实际资源使用量及所述第二实际运行时间添加至与该任务对应的运行参数中。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-5任一所述的方法步骤。
CN201711285077.8A 2017-12-07 2017-12-07 一种资源配置方法、装置及电子设备 Active CN108173905B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711285077.8A CN108173905B (zh) 2017-12-07 2017-12-07 一种资源配置方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711285077.8A CN108173905B (zh) 2017-12-07 2017-12-07 一种资源配置方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN108173905A CN108173905A (zh) 2018-06-15
CN108173905B true CN108173905B (zh) 2021-06-18

Family

ID=62524544

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711285077.8A Active CN108173905B (zh) 2017-12-07 2017-12-07 一种资源配置方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN108173905B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110858848B (zh) * 2018-08-23 2022-07-05 杭州海康威视数字技术股份有限公司 一种集群系统的任务资源的纠正方法及装置
CN109857633B (zh) * 2018-12-14 2022-05-17 武汉斗鱼鱼乐网络科技有限公司 一种任务算力估计方法、装置和存储介质
CN110932935A (zh) * 2019-11-26 2020-03-27 深圳前海微众银行股份有限公司 资源控制方法、装置、设备及计算机存储介质
CN111047042B (zh) * 2019-12-06 2024-05-28 北京奇艺世纪科技有限公司 一种推理服务模型的运行方法及装置
CN111078404B (zh) * 2019-12-09 2023-07-11 腾讯科技(深圳)有限公司 一种计算资源确定方法、装置、电子设备及介质
CN110995856B (zh) * 2019-12-16 2022-09-13 上海米哈游天命科技有限公司 一种服务器扩展的方法、装置、设备及存储介质
CN111221629B (zh) * 2020-01-09 2023-09-05 上海沄界信息科技有限公司 计算资源使用量量化方法及装置
CN111338888B (zh) * 2020-02-13 2023-12-15 北京奇艺世纪科技有限公司 一种数据统计方法、装置、电子设备及存储介质
CN116521344B (zh) * 2023-05-12 2023-10-03 广州卓勤信息技术有限公司 一种基于资源总线的ai算法调度方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653357A (zh) * 2014-11-11 2016-06-08 田文洪 一种Hadoop集群的在线最小化总完工时间的调度方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020152305A1 (en) * 2000-03-03 2002-10-17 Jackson Gregory J. Systems and methods for resource utilization analysis in information management environments
US8572620B2 (en) * 2004-08-21 2013-10-29 Telefonaktiebolaget L M Ericsson (Publ) Resource management
US8630958B2 (en) * 2011-06-03 2014-01-14 Cardinal Optimization, Inc. Systems and methods for multi-vehicle resource allocation and routing solutions
CN103729246B (zh) * 2013-12-31 2017-05-03 浪潮(北京)电子信息产业有限公司 一种任务调度方法和装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105653357A (zh) * 2014-11-11 2016-06-08 田文洪 一种Hadoop集群的在线最小化总完工时间的调度方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Spark数据处理平台中资源动态分配技术研究";杨忙忙;《中国优秀硕士学位论文全文数据库信息科技辑》;20170315(第3期);第2.4、3.1、3.3、4.1、4.2节 *
"基于线性回归的网格任务执行时间的预测模型研究";"基于线性回归的网格任务执行时间的预测模型研究";《全国Web信息系统及其应用学术会议》;20090515;摘要、第103页第1-2段、第104页第2-3节 *

Also Published As

Publication number Publication date
CN108173905A (zh) 2018-06-15

Similar Documents

Publication Publication Date Title
CN108173905B (zh) 一种资源配置方法、装置及电子设备
US9652374B2 (en) Sparsity-driven matrix representation to optimize operational and storage efficiency
CN107748696B (zh) 一种任务调度的方法及终端设备
CN110399728B (zh) 一种边缘计算节点信任评估方法、装置、设备及存储介质
CN113055308B (zh) 带宽调度方法、流量传输方法及相关产品
CN110837410A (zh) 任务调度方法、装置、电子设备及计算机可读存储介质
TWI547817B (zh) 叢集運算架構的資源規劃方法、系統及裝置
TW201820165A (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
CN111324427B (zh) 一种基于dsp的任务调度方法及装置
CN108762885B (zh) 一种虚拟机创建方法、装置、管理设备及终端设备
CN109933610B (zh) 数据处理方法、装置、计算机设备及存储介质
US20200358715A1 (en) Resource sharing method, computer device, and storage medium
CN112506619A (zh) 作业处理方法、装置、电子设备、存储介质和程序产品
CN102760073B (zh) 一种任务调度方法、系统及装置
CN111813517A (zh) 任务队列的分配方法、装置、计算机设备及介质
CN112615795A (zh) 流量控制方法、装置、电子设备、存储介质及产品
CN113568733A (zh) 资源分配方法、装置、电子设备及存储介质
US8838414B2 (en) Determining when to create a prediction based on deltas of metric values
CN111274230B (zh) 数据迁移的管理方法、装置、设备及存储介质
CN112395081A (zh) 一种资源在线自动回收方法、系统、服务器以及存储介质
CN112732402B (zh) 一种云计算中心资源调度方法、装置及设备
CN111047042B (zh) 一种推理服务模型的运行方法及装置
CN113238852B (zh) 一种任务分配方法、装置、电子设备及存储介质
CN110677463B (zh) 并行数据传输方法、装置、介质及电子设备
CN108762929B (zh) 在sql数据库下管理处理器核心数的方法和装置

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