本说明书一个或多个实施例涉及图形处理器和服务调度领域,尤其涉及一种对于基于图形处理器运行的服务的调度方法和装置。
背景技术:
1、目前,很多计算服务,例如机器学习服务,均依赖图形处理器(gpu,graphicsprocessing unit)进行计算。但是,图形处理器的显存资源通常是有限的,而例如小型的机器学习服务,往往只需要少量的显存。为了更高效地利用图形处理器资源,现有的常规服务调度方法是将多个服务混合部署在一台配置图形处理器的机器上。但是,这种现有服务调度方式,存在浪费显存资源,或机器存在足够显存资源而服务无法部署的问题。
技术实现思路
1、本说明书一个或多个实施例描述了一种对于基于图形处理器运行的服务的调度方法和装置,可以根据多个图形处理器上已运行的服务的显存总消耗量、以及服务种类,确定各种服务的消耗显存的预测量,并根据预测量进行服务的部署。从而,可以显著提高在基于图形处理器运行的服务的部署和运行中,对于显存资源的利用率。以及,降低机器实际存在足够显存而服务部署失败的问题的发生率,解决现有技术的不足。
2、根据第一方面,提供了一种对于基于图形处理器运行的服务的调度方法,所述方法包括:
3、获取多个图形处理器各自已用于运行服务的消耗显存容量、多个图形处理器各自对应的总显存容量;
4、获取多个图形处理器上各自运行的服务实例的种类和数量,其中,每个图形处理器上运行一到多种服务的服务实例,每种服务的服务实例运行于一到多个图形处理器上;
5、根据多个图形处理器的消耗显存容量、多个图形处理器各自的总显存容量,以及多个图形处理器上各自运行的服务实例的种类和数量,确定各种服务的服务实例分别消耗的预测显存容量,所述预测显存容量用于向基于图形处理器运行的服务实例分配显存。
6、在一种可能的实施方式中,根据多个图形处理器的消耗显存容量、多个图形处理器各自的总显存容量,以及多个图形处理器上各自运行的服务实例,确定所述预定种类的服务中各种服务的实例消耗的预测显存容量,包括:
7、将所述多个图形处理器的消耗显存容量、多个图形处理器各自的总显存容量,以及多个图形处理器上各自运行的服务实例的种类和数量,带入多个图形处理器对应的多个预设不等式,所述预设不等式用于表示所述图形处理器上运行的服务实例消耗的预测显存容量之和,大于等于所述图形处理器的消耗显存容量、且小于等于所述图形处理器的总显存容量;
8、求解所述多个预设不等式,得到各种服务的服务实例消耗的预测显存容量。
9、在一种可能的实施方式中,求解所述多个预设不等式,得到各种服务的单一实例消耗的预测显存容量,包括:
10、求解所述多个预设不等式,得到各种服务的服务实例消耗的初步预测容量,以各个图形处理器上运行的服务实例消耗的预测显存容量之和、与图形处理器的消耗显存容量的差,趋向于变小为目的,更新所述初步预测容量,得到所述预测显存容量。
11、在一种可能的实施方式中,各个所述服务实例分别基于虚拟容器运行。
12、在一种可能的实施方式中,还包括,将所述预测显存容量写入服务调度器包括的服务资源账本,用于服务调度器根据所述服务资源账本,向基于图形处理器运行的服务实例分配显存。在一种可能的实施方式中,所述子图匹配任务包括依据批量同步并行bsp计算模式的多个超步,所述第一子步骤对应所述多个超步中的第一超步。
13、在一种可能的实施方式中,所述每个图形处理器上运行一到多种服务的服务实例,包括:
14、每个图形处理器上运行目标服务种类集合中的一到多种服务的服务实例;
15、确定各种服务的服务实例分别消耗的预测显存容量,包括:
16、确定目标服务种类集合中的各种服务的服务实例分别消耗的预测显存容量。
17、在一种可能的实施方式中,获取多个图形处理器各自已用于运行服务的消耗显存容量、多个图形处理器各自对应的总显存容量,包括:
18、响应于目标服务种类集合的变更,获取多个图形处理器各自已用于运行服务的消耗显存容量、多个图形处理器各自对应的总显存容量。
19、在一种可能的实施方式中,所述目标服务种类集合的变更,包括:向目标服务种类集合添加或移除服务种类。
20、根据第二方面,提供了一种对于基于图形处理器运行的服务的调度装置,所述装置包括:
21、第一获取单元,配置为,获取多个图形处理器各自已用于运行服务的消耗显存容量、多个图形处理器各自对应的总显存容量;
22、第二获取单元,配置为,获取多个图形处理器上各自运行的服务实例的种类和数量,其中,每个图形处理器上运行一到多种服务的服务实例,每种服务的服务实例运行于一到多个图形处理器上;
23、预测单元,配置为,根据多个图形处理器的消耗显存容量、多个图形处理器各自的总显存容量,以及多个图形处理器上各自运行的服务实例的种类和数量,确定各种服务的服务实例分别消耗的预测显存容量,所述预测显存容量用于向基于图形处理器运行的服务实例分配显存。
24、根据第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面所述的方法。
25、根据第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面所述的方法。利用以上各个方面中的方法、装置、计算设备、存储介质中的一个或多个,可以显著提高在基于图形处理器运行的服务的部署和运行中,对于显存资源的利用率。以及,降低机器实际存在足够显存而服务部署失败的问题的发生率。
1.一种对于基于图形处理器运行的服务的调度方法,包括:
2.根据权利要求1所述的方法,其中,根据多个图形处理器的消耗显存容量、多个图形处理器各自的总显存容量,以及多个图形处理器上各自运行的服务实例的种类和数量,确定各种服务的实例分别消耗的预测显存容量,包括:
3.根据权利要求2所述的方法,其中,求解所述多个预设不等式,得到各种服务的单一实例消耗的预测显存容量,包括:
4.根据权利要求1所述的方法,其中,各个所述服务实例分别基于虚拟容器运行。
5.根据权利要求1所述的方法,还包括,将所述预测显存容量写入服务调度器包括的服务资源账本,用于服务调度器根据所述服务资源账本,向基于图形处理器运行的服务实例分配显存。
6.根据权利要求1所述的方法,其中, 所述每个图形处理器上运行一到多种服务的服务实例,包括:
7.根据权利要求6所述的方法,其中,获取多个图形处理器各自已用于运行服务的消耗显存容量、多个图形处理器各自对应的总显存容量,包括:
8.根据权利要求7所述的方法,其中,所述目标服务种类集合的变更,包括:向目标服务种类集合添加或移除服务种类。
9.一种对于基于图形处理器运行的服务的调度装置,所述装置包括:
10.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-8中任一项的所述的方法。
11.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-8中任一项所述的方法。