1.一种任务分配方法,所述方法应用于分布式系统,其特征在于,所述方法包括:当存在多个待执行任务时,获取所述分布式系统中各空闲机器的系统吞吐量和网络吞吐量;
根据所述待执行任务的数量、所述各空闲机器的所述系统吞吐量和所述网络吞吐量,确定目标分配机器数S,其中,所述目标分配机器数S小于或等于所述分布式系统中的空闲机器数;
从所述分布式系统的所有空闲机器中,确定出S台用于执行所述多个待执行任务的目标空闲机器;
将所述多个待执行任务分配给所述S台目标空闲机器执行。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待执行任务的数量、所述各空闲机器的所述系统吞吐量和所述网络吞吐量,确定目标分配机器数S,包括:根据所述待执行任务的数量、所述各空闲机器的所述系统吞吐量和所述网络吞吐量,获得所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系;
根据所述实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述实际执行总时间与所述目标分配机器数S之间的函数关系,确定目标分配机器数S。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待执行任务的数量、所述各空闲机器的所述系统吞吐量和所述网络吞吐量,获得所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系,包括:根据所述各空闲机器的所述系统吞吐量和所述网络吞吐量,确定所述分布式系统中所有空闲机器的平均系统吞吐量和平均网络吞吐量;
针对每个待执行任务,根据所述平均系统吞吐量和所述平均网络吞吐量,预估该待执行任务的运行时间;
根据所述待执行任务的数量、所述平均系统吞吐量、所述平均网络吞吐量以及每个待执行任务的运行时间,获得所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系。
4.根据权利要求3所述的方法,其特征在于,所述根据所述待执行任务的数量、所述平均系统吞吐量、所述平均网络吞吐量以及每个待执行任务的运行时间,获得的所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系如下:其中,JT为所述实际执行总时间;JC为所述实际内存总消耗;VCavg为所述平均系统吞吐量;DCavg为所述平均网络吞吐量;TSi为所述第i个待执行任务的运行时间;M为所述待执行任务的数量;B为总线位宽。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述根据所述实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述实际执行总时间与所述目标分配机器数S之间的函数关系,确定目标分配机器数S,包括:根据所述实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述实际执行总时间与所述目标分配机器数S之间的函数关系,获取使得所述实际内存总消耗和所述实际执行总时间的乘积取得最小值时的参数值;
将所述参数值向上取整,以作为所述目标分配机器数S。
6.一种任务分配装置,所述装置应用于分布式系统,其特征在于,所述装置包括:获取模块,用于当存在多个待执行任务时,获取所述分布式系统中各空闲机器的系统吞吐量和网络吞吐量;
第一确定模块,用于根据所述待执行任务的数量、所述获取模块获取到的所述各空闲机器的所述系统吞吐量和所述网络吞吐量,确定目标分配机器数S,其中,所述目标分配机器数S小于或等于所述分布式系统中的空闲机器数;
第二确定模块,用于从所述分布式系统的所有空闲机器中,确定出S台用于执行所述多个待执行任务的目标空闲机器;
分配模块,用于将所述多个待执行任务分配给所述第二确定模块确定出的所述S台目标空闲机器执行。
7.根据权利要求6所述的装置,其特征在于,所述第一确定模块包括:
第一确定子模块,用于根据所述待执行任务的数量、所述获取模块获取到的所述各空闲机器的所述系统吞吐量和所述网络吞吐量,获得所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系;
第二确定子模块,用于根据所述第一确定子模块确定出的所述实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述实际执行总时间与所述目标分配机器数S之间的函数关系,确定目标分配机器数S。
8.根据权利要求7所述的装置,其特征在于,所述第一确定子模块包括:
吞吐量确定子模块,用于根据所述获取模块获取到的所述各空闲机器的所述系统吞吐量和所述网络吞吐量,确定所述分布式系统中所有空闲机器的平均系统吞吐量和平均网络吞吐量;
运行时间预估子模块,用于针对每个待执行任务,根据所述吞吐量确定子模块确定出的所述平均系统吞吐量和所述平均网络吞吐量,预估该待执行任务的运行时间;
函数关系确定子模块,用于根据所述待执行任务的数量、所述吞吐量确定子模块确定出的所述平均系统吞吐量、所述平均网络吞吐量以及所述运行时间预估子模块估计出的每个待执行任务的运行时间,获得所述多个待执行任务的实际内存总消耗与所述目标分配机器数S之间的函数关系、以及所述多个待执行任务的实际执行总时间与所述目标分配机器数S之间的函数关系。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-5中任一项所述方法的步骤。
10.一种电子设备,其特征在于,包括:
权利要求9中所述的计算机可读存储介质;以及
一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。