多租户任务调度方法、系统

未命名 08-02 阅读:155 评论:0


1.本发明涉及gpu技术领域,尤其涉及一种多租户任务调度方法、系统。


背景技术:

2.深度神经网络对硬件计算平台的计算单元和存储单元都有较高的要求,但通常情况下单个深度神经网络无法同时利用gpu的算力资源和内存带宽。部分计算密集型任务能够很好地利用计算单元,但对访存带宽的使用较少;而访存密集型应用在占用访存带宽的同时,闲置了部分计算单元,导致了算力的浪费。此外,模型服务的请求量具有随时间波动的特点,当某一时刻请求量低的时候会造成资源的空闲而某一时刻请求量突增的时候多个请求在相同的加速器上执行会造成资源的竞争从而影响服务的质量(qualityofservice,qos)。
3.为提高对硬件资源的利用效率与推理服务的系统吞吐,典型的方式是将多个深度学习模型服务部署在相同的硬件上。为了使能加速器上能同时执行多个来自不同模型服务的推理任务,常用的加速器复用机制在不同的软硬件层次有着不同的实现。典型的硬件层次的多模型执行机制是单根io虚拟化(single rooti/ovirtualization,sr-iov),其可以将整个加速器的计算与存储资源划分为多个更小的加速器,不同的模型服务可以部署在不同的小加速器中,这种基于虚拟化复用方式的优点是模型间的干扰低,缺点是资源不可弹性变化,难以适应波动的推理请求流,重新分配资源需要重启服务需要耗费较长的时间。在运行时层的复用机制包括nvidia提出的多进程服务机制(multi-process service,mps),其只隔离多个模型间的算力资源而不隔离存储资源。此外,运行时层面还包括基于多流的多作业执行机制,其既不能隔离算力资源也不能隔离存储资源。基于软件层面的加速器复用方式的优点是资源弹性变化较强,但是隔离性弱,服务之间存在资源竞争从而不能保证qos。


技术实现要素:

4.针对现有技术的不足,本发明提出一种多租户任务调度方法、系统,该方法在保证每个作业的qos的同时,提高多租户系统的吞吐量。
5.为了实现上述目的,本发明一方面提供一种多租户任务调度方法,包括:
6.获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;
7.为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;
8.判断gpu中是否正在执行所述深度神经网络模型,
9.在执行所述深度神经网络模型的情况下,
10.计算不同的候选层组合的共置开销,生成共置开销集合,
11.选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;
12.在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现;
13.将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;
14.所述gpu运行时根据所述标识符列表选择对应的候选层实现。
15.可选的,所述为深度神经网络的每个层生成满足qos要求的候选层集合,包括:
16.测试所述深度神经网络中当前层使用全部计算单元时调优得到的最优层实现的线程块数量;
17.调整计算单元数量,使所述最优层实现的线程块平均分配到不同计算单元中,分别测试使用不同数量的计算单元时的性能;
18.通过量化每层的计算时间,计算在深度神经网络执行流中每一层所占的执行时间比例,结合整个模型的qos,得到每一层的qos上界;
19.利用所述qos上界排除不满足qos要求的计算单元数量,获取满足qos要求的计算单元数量设置;
20.在满足qos要求的计算单元数量下重新调优,生成层实现,组成每个层的所述候选层集合。
21.可选的,所述依据所述候选层集合,重构深度神经网络模型,包括:
22.遍历深度神经网络的有向无环图,将所述候选层集合添加到模型对应层中,重构深度神经网络模型。
23.可选的,所述判断gpu中是否正在执行所述深度神经网络模型,包括:
24.通过创建位图类型的内存,对gpu运行时状态进行监控;
25.位图中的每个索引表示当前层在深度神经网络中的拓扑排序索引,每个索引存储当前层的运行进度。
26.可选的,所述计算不同的候选层组合的共置开销,生成共置开销集合,包括:
27.确定所述深度神经网络中前一候选层隔离运行的时延与当前候选层共置运行的时延的时间差值,以及所述前一候选层与当前候选层两层重叠时间;
28.依据所述时间差值与所述重叠之间的比值,得出单位时间内的共置开销,
29.生成不同候选层组合的共置开销集合。
30.可选的,所述选择具有最佳共置性能的一组候选层组合作为最优候选实现,包括:
31.在当前用户任务请求到达时,获取gpu运行时状态信息,包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型;
32.基于所述gpu运行时状态信息,选择当前用户任务请求的共置开销集合;
33.从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现。
34.可选的,从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现,包括:
35.对于每一候选层,计算所有可能共置组合的执行时间;
36.取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间,所述共置执行时间作为预设共置开销。
37.可选的,选择所述候选层集合中的最优候选层作为最优候选实现,包括:
38.遍历所述候选层集合,计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现。
39.本发明另一方面还提供了一种多租户任务调度系统,采用上述的多租户任务调度方法,所述系统至少包括:
40.候选层生成器,用于获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;
41.神经网络模型重构器,用于为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;
42.资源监控器,用于判断gpu中是否正在执行所述深度神经网络模型;
43.作业共置估算器,用于在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合;
44.层调度器,链接所述资源监控器和作业共置估算器,用于:
45.在执行所述深度神经网络模型的情况下,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;
46.在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现;以及
47.将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;
48.所述gpu运行时根据所述标识符列表选择对应的候选层实现。
49.可选的,所述层调度器还用于:
50.在当前用户任务请求到达时,获取gpu运行时状态信息,包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型;
51.基于所述gpu运行时状态信息,选择当前用户任务请求的共置开销集合;
52.遍历所述候选层集合,计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现;
53.对于每一候选层,计算所有可能共置组合的执行时间;
54.取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间,所述共置执行时间作为预设共置开销;
55.选择满足所述预设共置开销对应的至少一组候选层组合作为最优候选实现。
56.由以上方案可知,本发明的优点在于:
57.本发明提供的多租户任务调度方法、系统,通过获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;判断gpu中是否正在执行所述深度神经网络模型,在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现;将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;所述gpu运行时根据所述标识符列表选择对应的候选层实现。该方法针对深度学习共置作业进行分析,测试每个深度神经网络层在不同数量计算单元下的性能,在满足qos的计算单元下编译生成候选实现集合,gpu根据运行时资源占用动态计
算不同层组合的共置开销并选择最优共置实现,由此在保证每个作业的qos的同时提高多租户系统的吞吐量。
附图说明
58.图1为本发明实施例提供的多租户任务调度方法的流程示意图;
59.图2为本发明实施例提供的图1的步骤s1的具体流程示意图;
60.图3为本发明实施例提供的多租户任务调度系统的框架图;
61.其中:
62.200-多租户任务调度系统;
63.201-候选层生成器;
64.202-神经网络模型重构器;
65.203-资源监控器;
66.204-作业共置估算器;
67.205-层调度器;
68.206-gpu。
具体实施方式
69.为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
70.本发明提出了一种基于代码生成与自适应多租户任务调度方法,该方法中针对多租户深度学习服务的低干扰高吞吐加速。
71.具体的,参考图1中所示,图1示出了多租户任务调度方法的流程示意图;
72.一种多租户任务调度方法,包括:
73.s1、获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合。
74.在具体实现中,如图2中所示,所述为深度神经网络的每个层生成满足qos要求的候选层集合,包括:
75.s11、测试所述深度神经网络中当前层使用全部计算单元时调优得到的最优层实现的线程块数量;
76.s12、调整计算单元数量,使所述最优层实现的线程块平均分配到不同计算单元中,分别测试使用不同数量的计算单元时的性能;
77.s13、通过量化每层的计算时间,计算在深度神经网络执行流中每一层所占的执行时间比例,结合整个模型的qos,得到每一层的qos上界;
78.s14、利用所述qos上界排除不满足qos要求的计算单元数量,获取满足qos要求的计算单元数量设置;
79.s15、在满足qos要求的计算单元数量下重新调优,生成层实现,组成每个层的所述候选层集合。
80.s2、为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型。
81.在具体实现中,所述依据所述候选层集合,重构深度神经网络模型,包括:
82.遍历深度神经网络的有向无环图,将所述候选层集合添加到模型对应层中,重构深度神经网络模型。
83.s3、判断gpu中是否正在执行所述深度神经网络模型。
84.在具体实现中,所述判断gpu中是否正在执行所述深度神经网络模型,包括:
85.通过创建位图类型的内存,对gpu运行时状态进行监控;
86.位图中的每个索引表示当前层在深度神经网络中的拓扑排序索引,每个索引存储当前层的运行进度。
87.s41、在执行所述深度神经网络模型的情况下,
88.计算不同的候选层组合的共置开销,生成共置开销集合,包括:
89.确定所述深度神经网络中前一候选层隔离运行的时延与当前候选层共置运行的时延的时间差值,以及所述前一候选层与当前候选层两层重叠时间;
90.依据所述时间差值与所述重叠之间的比值,得出单位时间内的共置开销,
91.生成不同候选层组合的共置开销集合。
92.然后,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现,包括:
93.在当前用户任务请求到达时,获取gpu运行时状态信息,包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型;
94.基于所述gpu运行时状态信息,选择当前用户任务请求的共置开销集合;
95.从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现。
96.在具体实现中,从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现,包括:
97.对于每一候选层,计算所有可能共置组合的执行时间;
98.取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间,所述共置执行时间作为预设共置开销。
99.s42、在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现。
100.在具体实现中,选择所述候选层集合中的最优候选层作为最优候选实现,包括:
101.遍历所述候选层集合,计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现。
102.s5、将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;
103.所述gpu运行时根据所述标识符列表选择对应的候选层实现。
104.综上,本实施例提供的多租户任务调度方法,通过获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;判断gpu中是否正在执行所述深度神经网络模型,在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在不执行所述深度神经网络模型的情况下,选择所述候选层集
合中的最优候选层作为最优候选实现;将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;所述gpu运行时根据所述标识符列表选择对应的候选层实现。该方法针对深度学习共置作业进行分析,测试每个深度神经网络层在不同数量计算单元下的性能,在满足qos的计算单元下编译生成候选实现集合,gpu根据运行时资源占用动态计算不同层组合的共置开销并选择最优共置实现,由此在保证每个作业的qos的同时提高多租户系统的吞吐量。
105.本发明上述实施例可以应用于多租户任务调度方法功能的终端设备中,该终端设备可以包括个人终端、以及上位机终端等,本发明实施例对此不加以限制。该终端可以支持windows、android(安卓)、ios、windowsphone等操作系统。
106.参照图3,图3示出了一种多租户任务调度系统200,应用于多租户任务调度方法可应用于个人终端、以及上位机终端设备中,其可实现通过如图1所示的多租户任务调度方法,本技术实施例提供的多租户任务调度系统能够实现上述多租户任务调度方法实现的各个过程。
107.一种多租户任务调度系统200,至少包括:
108.候选层生成器201,用于获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合。
109.本实施例中,候选层生成器201为深度神经网络的每个层生成符合qos要求的候选层实现集合。不同的层实现的区别在于线程块的数量不同,将神经网络中的层划分为大小相同的线程块,每个线程块在运行时调度中都只在一个计算单元中执行,线程块越少,每个线程块的线程数量越多,即核函数的局部性越强,并行性越弱;线程块越多,每个线程块的线程数量越少,即核函数的并行度较差。根据不同的层的计算和访存性质对并行度和局部性进行衡量,结合能够使用的计算单元的数量,选择适当的线程块数量能够有效地加速神经网络的计算过程。候选层生成器以离线的方式通过tvm的autoscheduler代码生成器对层进行调优,并生成满足qos要求的层实现组成候选层集合。
110.具体的,首先,通过测试所述深度神经网络中当前层使用全部计算单元时调优得到的最优层实现的线程块数量;同时,调整计算单元数量,使所述最优层实现的线程块平均分配到不同计算单元中,分别测试使用不同数量的计算单元时的性能。然后,通过量化每层的计算时间,计算在深度神经网络执行流中每一层所占的执行时间比例,结合整个模型的qos,得到每一层的qos上界;同时,利用所述qos上界排除不满足qos要求的计算单元数量,获取满足qos要求的计算单元数量设置。最后,在满足qos要求的计算单元数量下重新调优,生成层实现,组成每个层的所述候选层集合。
111.神经网络模型重构器202,与候选层生成器201链接,用于为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型。
112.本实施例中,通过重写请求中深度神经网络模型的有向无环图,遍历深度神经网络的有向无环图,将所述候选层集合添加到模型对应层中,重构深度神经网络模型。具体的,神经网络请求需要指定每个层的核函数和对应的线程块数量,形成一个确定的任务执行流。模型重构器通过整合层实现候选集合和标识符到任务请求,将执行流和调度器选择的标识符列表一一对应,允许调度器动态地调整任务执行流,为后续计算任务共置开销,从而优化系统吞吐提供空间。
113.资源监控器203,用于判断gpu中是否正在执行所述深度神经网络模型。
114.在具体实现中,资源监控器203用于监控神经网络每个层的执行进度,以及计算作业共置开销从而选择最优共置组合不仅需要本次请求的模型信息,而且要求得到gpu中共置的任务的信息。资源监控器分别在gpu和cpu内存中创建位图,位图中的每个索引表示一个层在网络中的拓扑排序索引,索引对应的位图值为当前层的运行进度。以代码生成的方式在核函数中插入更新位图的代码,每当层迭代运行若干次,内核中的线程原子地更新对应gpu内存中位图的值,并定期进行gpu到cpu的内存同步。当一个请求的模型执行结束时,位图中所有值无效。
115.作业共置估算器204,用于在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合。
116.在具体实现中,作业共置估算器204用于计算不同层组合的共置开销。量化作业共置开销是衡量提高的系统吞吐和损失的作业时延的性价比的关键,如果无法预测多租户情况下的模型性能开销,就无法满足实际系统中对实时任务的qos要求,提高的系统吞吐也就无从谈起。估算器离线测试所有模型的层组合的共置开销,同时,作业共置估算器通过计算所述深度神经网络中前一候选层隔离运行的时延与当前候选层共置运行的时延的时间差值,以及所述前一候选层与当前候选层两层重叠时间;依据所述时间差值与所述重叠之间的比值,得出单位时间内的共置开销,进而生成不同候选层组合的共置开销集合。
117.层调度器205,链接所述资源监控器、作业共置估算器、神经网络模型重构器202、以及gpu206,分别调用运行时资源监控器和作业共置估算器获取最新层的当前计算进度和共置开销集,并通过自适应层调度算法计算标识符列表。然后层调度器将标识符列表写入用户任务请求的数据字段,使得gpu运行时根据标识符列表选择对应的层实现。即神经网络的执行流与层调度算法确定的标识符列表一一对应,在满足qos的前提下提高系统吞吐。
118.具体的,在执行所述深度神经网络模型的情况下,通过层调度器选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在不执行所述深度神经网络模型的情况下,通过层调度器选择所述候选层集合中的最优候选层作为最优候选实现;然后,利用层调度器将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu,使得所述gpu运行时根据所述标识符列表选择对应的候选层实现。
119.即,在具体实现中,当前用户任务请求到达时,层调度器205链接资源监控器,获取资源监控器监测到的gpu运行时状态信息,其中gpu运行时状态信息具体包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型等信息。同时,层调度器205链接作业共置估算器204,基于获取的gpu运行时状态信息,选择当前用户任务请求的共置开销集合;然后,层调度器通过遍历所述候选层集合,在遍历候选层集合结束的情况下,通过计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现。在遍历候选层集合未结束的情况下,对于每一候选层,计算所有可能共置组合的执行时间;然后,取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间;基于共置执行时间,即将共置执行时间作为预设共置开销,从所述共置开销集合中选择满足该共置执行时间对应的至少一组候选层组合作为最优候选实现。最后,在确定最优候选实现的情况下,利用层调度器将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu,使得所述gpu运行时根据所述标识符
列表选择对应的候选层实现。同时,在共置模型的层执行结束的情况下,进一步更新共置模型的索引,在共置模型的层执行未结束的情况下,通过计算共置模型的层的计算进度,保留该层索引,并重新该层索引。该层调度器在主机cpu端通过模拟算子共置执行的方法完成对层候选实现的选择,并使用多线程并行加速整个计算过程避免调度时间过长。
120.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以施加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
121.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。

技术特征:
1.一种多租户任务调度方法,其特征在于,包括:获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;判断gpu中是否正在执行所述深度神经网络模型,在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现;将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;所述gpu运行时根据所述标识符列表选择对应的候选层实现。2.根据权利要求1所述的方法,其特征在于,所述为深度神经网络的每个层生成满足qos要求的候选层集合,包括:测试所述深度神经网络中当前层使用全部计算单元时调优得到的最优层实现的线程块数量;调整计算单元数量,使所述最优层实现的线程块平均分配到不同计算单元中,分别测试使用不同数量的计算单元时的性能;通过量化每层的计算时间,计算在深度神经网络执行流中每一层所占的执行时间比例,结合整个模型的qos,得到每一层的qos上界;利用所述qos上界排除不满足qos要求的计算单元数量,获取满足qos要求的计算单元数量设置;在满足qos要求的计算单元数量下重新调优,生成层实现,组成每个层的所述候选层集合。3.根据权利要求1所述的方法,其特征在于,所述依据所述候选层集合,重构深度神经网络模型,包括:遍历深度神经网络的有向无环图,将所述候选层集合添加到模型对应层中,重构深度神经网络模型。4.根据权利要求1所述的方法,其特征在于,所述判断gpu中是否正在执行所述深度神经网络模型,包括:通过创建位图类型的内存,对gpu运行时状态进行监控;位图中的每个索引表示当前层在深度神经网络中的拓扑排序索引,每个索引存储当前层的运行进度。5.根据权利要求4所述的方法,其特征在于,所述计算不同的候选层组合的共置开销,生成共置开销集合,包括:确定所述深度神经网络中前一候选层隔离运行的时延与当前候选层共置运行的时延的时间差值,以及所述前一候选层与当前候选层两层重叠时间;依据所述时间差值与所述重叠之间的比值,得出单位时间内的共置开销,生成不同候
选层组合的共置开销集合。6.根据权利要求5所述的方法,其特征在于,所述选择具有最佳共置性能的一组候选层组合作为最优候选实现,包括:在当前用户任务请求到达时,获取gpu运行时状态信息,包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型;基于所述gpu运行时状态信息,选择当前用户任务请求的共置开销集合;从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现。7.根据权利要求6所述的方法,其特征在于,从所述共置开销集合中选择满足预设共置开销对应的至少一组候选层组合作为最优候选实现,包括:对于每一候选层,计算所有可能共置组合的执行时间;取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间,所述共置执行时间作为预设共置开销。8.根据权利要求6所述的方法,其特征在于,选择所述候选层集合中的最优候选层作为最优候选实现,包括:遍历所述候选层集合,计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现。9.一种多租户任务调度系统,其特征在于,采用权利要求1-8任一项所述的多租户任务调度方法,所述系统至少包括:候选层生成器,用于获取用户任务请求,依据所述用户任务请求,为深度神经网络的每个层生成满足qos要求的候选层集合;神经网络模型重构器,用于为所述候选层集合中的每个候选层设置一个标识符,依据所述候选层集合,重构深度神经网络模型;资源监控器,用于判断gpu中是否正在执行所述深度神经网络模型;作业共置估算器,用于在执行所述深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合;层调度器,链接所述资源监控器和作业共置估算器,用于:在执行所述深度神经网络模型的情况下,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在不执行所述深度神经网络模型的情况下,选择所述候选层集合中的最优候选层作为最优候选实现;以及将所述最优候选实现作为标识符列表,写入所述用户任务请求并提交至所述gpu;所述gpu运行时根据所述标识符列表选择对应的候选层实现。10.根据权利要求9所述的系统,其特征在于,所述层调度器还用于:在当前用户任务请求到达时,获取gpu运行时状态信息,包括正在执行的请求流的数量、每个请求流的执行进度、以及每个请求流中剩余执行算子的候选实现类型;基于所述gpu运行时状态信息,选择当前用户任务请求的共置开销集合;遍历所述候选层集合,计算所有候选层组合的总执行时间,选择执行时间最短的候选层作为最优候选实现;
对于每一候选层,计算所有可能共置组合的执行时间;取每一种共置组合对应的执行时间与单位时间内的共置开销乘积的较小值,作为共置执行时间,所述共置执行时间作为预设共置开销;选择满足所述预设共置开销对应的至少一组候选层组合作为最优候选实现。

技术总结
本发明提出一种多租户任务调度方法、系统,所述方法包括:依据用户任务请求,为深度神经网络的每个层生成满足QoS要求的候选层集合;为候选层集合中的每个候选层设置一个标识符,重构深度神经网络模型;在GPU中执行深度神经网络模型的情况下,计算不同的候选层组合的共置开销,生成共置开销集合,选择具有最佳共置性能的至少一组候选层组合作为最优候选实现;在GPU中不执行深度神经网络模型的情况下,选择候选层集合中的最优候选层作为最优候选实现;将最优候选实现作为标识符列表,写入用户任务请求并提交至GPU;GPU运行时根据所述标识符列表选择对应的候选层实现。该方法在保证每个作业的QoS的同时,提高多租户系统的吞吐量。量。量。


技术研发人员:陈皓若 马立贤 邵恩 谭光明 孙凝晖
受保护的技术使用者:中国科学院计算技术研究所
技术研发日:2023.03.22
技术公布日:2023/7/31
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐