一种集群调度仿真方法、装置及设备与流程

本技术涉及计算机仿真,具体涉及一种集群调度仿真方法、装置及设备。
背景技术:
1、科学计算、人工智能训练、网站应用服务等工作负载由于其对性能和稳定性的要求,常常需要运行在由多台计算机构成的计算机集群上。作为基础设施的计算机集群也常常需要同时部署多个不同的工作负载,这就使得在计算机集群上高效而可靠地调度工作负载成为了一种普遍的需求。
2、由于传统的超算集群、云厂商等计算服务提供商一般采用集中化的机房,因此现有计算机工作负载调度技术也大多针对此类机房内的应用场景。但是,对于由大量分布在地理上不同位置,通过互联网进行连接的计算机构成的计算机集群,尚缺乏与之对应的调度算法。为了支撑实际调度算法的开发、调试和测试工作,需要对调度算法进行仿真,目前也缺乏一种针对分布式计算机集群调度的仿真技术和框架。
技术实现思路
1、有鉴于此,本技术实施例提供一种集群调度仿真方法、装置及设备,以实现针对分布式计算机集群的调度进行仿真。
2、为解决上述问题,本技术实施例提供的技术方案如下:
3、一种集群调度仿真方法,所述方法包括:
4、生成随机时间序列,并根据任务属性,生成任务对象;
5、在所述随机时间序列包括的时间点上添加所述任务对象,生成任务序列;
6、根据针对所述任务序列的调度指令和/或算力提供者对象的模型参数,对算力提供者对象的使用状态进行转移;
7、根据所述算力提供者对象的使用状态和/或所述算力提供者对象执行所述任务序列的参数值,计算调度评价参数。
8、在一种可能的实现方式中,所述根据所述算力提供者对象的使用状态和/或所述算力提供者对象执行所述任务序列的参数值,计算调度评价参数,包括:
9、根据第k个算力提供者对象的使用状态计算第k个算力提供者对象的总开机时长,根据所述算力提供者对象执行所述任务序列的参数值计算第k个算力提供者对象的总计算时长;其中,k为正整数;
10、将各个算力提供者对象的总计算时长之和除以各个算力提供者对象的总开机时长之和,得到计算机负载率。
11、在一种可能的实现方式中,所述根据第k个算力提供者对象的使用状态计算第k个算力提供者对象的总开机时长,包括:
12、将第k个算力提供者对象的使用状态为开机中、空闲和繁忙的时长进行累加,得到第k个算力提供者对象的总开机时长;
13、所述根据所述算力提供者对象执行所述任务序列的参数值计算第k个算力提供者对象的总计算时长,包括:
14、将第k个算力提供者对象执行所述任务序列中目标任务的时长进行累加,得到第k个算力提供者对象的总计算时长;所述第k个算力提供者对象执行所述任务序列中目标任务的时长为所述目标任务的规模除以所述第k个算力提供者对象完成所述目标任务的效率,所述第k个算力提供者对象完成所述目标任务的效率为所述第k个算力提供者对象完成单位规模的目标任务所用时长。
15、在一种可能的实现方式中,所述根据所述算力提供者对象的使用状态和/或所述算力提供者对象执行所述任务序列的参数值,计算调度评价参数,包括:
16、根据所述任务序列中各个任务的产生时刻、执行开始时刻、执行结束时刻,计算相对响应速度。
17、在一种可能的实现方式中,所述根据所述任务序列中各个任务的产生时刻、执行开始时刻、执行结束时刻,计算相对响应速度,包括:
18、将所述任务序列中第i个任务的执行结束时刻与执行开始时刻相减,得到所述任务序列中第i个任务的执行时长;其中,i为正整数;
19、将所述任务序列中第i个任务的执行结束时刻与产生时刻相减,得到所述任务序列中第i个任务的总响应时长;
20、将所述任务序列中各个任务的执行时长之和除以所述任务序列中各个任务的总响应时长之和,得到相对响应速度。
21、在一种可能的实现方式中,所述任务序列中第i个任务的执行结束时刻为所述任务序列中第i个任务的执行开始时刻加上所述任务序列中第i个任务的执行时长,所述任务序列中第i个任务的执行时长为任务序列中第i个任务的规模除以目标算力提供者对象完成所述任务序列中第i个任务的效率,所述目标算力提供者对象完成所述任务序列中第i个任务的效率为所述目标算力提供者对象完成单位规模的任务序列中第i个任务所用时长。
22、在一种可能的实现方式中,所述根据针对所述任务序列的调度指令和/或算力提供者对象的模型参数,对算力提供者对象的使用状态进行转移,包括以下一项或多项:
23、根据算力提供者对象的模型参数,在达到第一目标条件时,将算力提供者对象的使用状态由空闲、繁忙或者关机转移到不可用;
24、根据算力提供者对象的模型参数,在达到第二目标条件时,将算力提供者对象的使用状态由不可用转移到关机;
25、根据开机的调度指令,将算力提供者对象的使用状态由关机转移到开机中;
26、在经过预设开机时间后,将算力提供者对象的使用状态由开机中转移到空闲;
27、根据关机的调度指令,将算力提供者对象的使用状态由空闲转移到关机;
28、根据分配任务的调度指令,将算力提供者对象的使用状态由空闲转移到繁忙;
29、在任务执行结束后,将算力提供者对象的使用状态由繁忙转移到空闲。
30、一种集群调度仿真装置,所述装置包括:
31、第一生成单元,用于生成随机时间序列,并根据任务属性,生成任务对象;
32、第二生成单元,用于在所述随机时间序列包括的时间点上添加所述任务对象,生成任务序列;
33、状态转移单元,用于根据针对所述任务序列的调度指令和/或算力提供者对象的模型参数,对算力提供者对象的使用状态进行转移;
34、计算单元,用于根据所述算力提供者对象的使用状态和/或所述算力提供者对象执行所述任务序列的参数值,计算调度评价参数。
35、一种集群调度仿真设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述的集群调度仿真方法。
36、一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如上述的集群调度仿真方法。
37、由此可见,本技术实施例具有如下有益效果:
38、本技术实施例生成随机时间序列以及任务对象,在随机时间序列包括的时间点上添加任务对象获得任务序列。将任务序列中的任务进行调度分配给算力提供者对象,算力提供者对象根据调度指令和/或自身的模型参数进行使用状态的转移,通过算力提供者对象模拟计算机的运行。还可以由算力提供者对象的使用状态和/或算力提供者对象执行任务序列产生的参数值,计算调度评价参数,以评价调度过程。从而建立了针对分布式计算机集群的仿真技术和框架,可以支撑在分布式计算机集群上实际调度算法的开发、调试和测试工作。
技术研发人员:冯巍议,陈龙辉,廖洁,林珈民
技术所有人:北京共绩科技有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除