【技术实现步骤摘要】
【国外来华专利技术】用于机器学习工作负载的任务调度
技术介绍
[0001]本说明书通常涉及调度计算工作负载的任务以及分配用于执行计算工作负载的任务的资源。
[0002]分布式计算系统通常包括各种资源,诸如中央处理单元(CPU)、存储组件以及图像/语音处理加速器、视频转码加速器或神经网络处理器(例如机器学习(ML)加速器)。这些资源能够相互作用以处理示例计算工作负载的任务,诸如用于训练ML系统的工作负载,或用于分类图像或生成用于语音识别的转录的推理工作负载。
[0003]用于处理工作负载的现有方案定期地需要存取存储器以及在分布式系统中的计算资源或资源组之间交换数据通信,该分布式系统相对彼此是非本地的(或远程的)。此类非本地存储器存取操作和数据通信通常为带宽密集型的,其可能在用于交叉端口(cross
‑
socket)(例如远程)操作的主机带宽有限时引起计算群集中的性能瓶颈。
技术实现思路
[0004]本文档描述用于在处理机器学习(ML)工作负载时通过将工作负载的任务分配给跨大型分布式系统中的多个主机的相应资源组的改进调度和资 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】1.一种用于调度任务和分配资源以使用硬件加速器来执行机器学习工作负载的方法,所述硬件加速器中的每一个被配置为实施包括多个神经网络层的神经网络,所述方法包括:接收请求以执行所述机器学习ML工作负载;基于所述请求来确定资源需求以在包括多个主机的分布式处理系统处执行所述ML工作负载,所述多个主机中的每个主机包括相应多个硬件加速器;基于所述资源需求和每个主机的所述相应多个硬件加速器来确定分别被分配来执行形成所述ML工作负载的一组任务中的相应任务的主机的数量;针对所述数量的主机中的每个主机:基于所述主机的存储器存取拓扑来生成相应任务规格,所述任务规格指定被分配以在所述主机处使用所述主机的资源执行的任务,所述主机的资源包括所述相应多个硬件加速器;以及将所述相应任务规格提供给所述数量的主机中的所述主机;以及通过由所述数量的主机中的每个主机执行针对所述主机在所述相应任务规格中指定的所述任务来执行所述ML工作负载。2.根据权利要求1所述的方法,其中:每个主机的所述存储器存取拓扑包括相应的非一致存储器存取NUMA拓扑,所述非一致存储器存取拓扑包括对于所述主机是本地的相应存储器;以及所述相应存储器包括端口接口,所述端口接口将所述相应存储器耦接到所述相应多个硬件加速器中的每个硬件加速器以及所述主机的一个或多个其他资源。3.根据权利要求2所述的方法,其中,执行所述相应任务规格中指定的所述任务包括:执行多个神经网络计算,以响应于将所述多个神经网络计算的相应部分分配给所述相应多个硬件加速器中的每个硬件加速器来生成用于所述多个神经网络层中的每个神经网络层的输出。4.根据权利要求2所述的方法,其中,执行所述ML工作负载包括:使用所述主机的控制组的每个资源并且基于包括在所述主机的所述资源当中的所述相应存储器、所述硬件加速器和相应处理器之间交换的数据来处理用于所述相应任务规格的指令。5.根据权利要求4所述的方法,其中,执行所述ML工作负载包括:响应于基于经由硬件端口交换的所述数据处理所述指令来执行所述相应任务规格中指定的任务,所述硬件端口链接所述主机的所述控制组的每个资源,其中,所述硬件端口定义在由所述主机管理的多个资源当中共享的本地通信总线。6.根据权利要求4所述的方法,其中,用于第一主机的相应NUMA拓扑是部分地基于:i)在资源的相应配置中对于所述第一主机是本地的相应第一存储器;以及ii)在资源的相应配置中对于第二不同主机是本地的,但是对于所述第一主机是远程的相应第二不同存储器。7.根据权利要求2所述的方法,其中,确定所述主机的数量包括:获得描述由所述多个主机中的每个主机管理的资源的配置的系统文件;以及针对所述多个主机中的每个主机基于所述系统文件中描述的所述资源的配置来确定
所述主机数量。8.根据权利要求1所述的方法,包括:基于针对所述多个主机中的每个主机来描述NUMA端口的映射的系统文件来标识耦接所述主机的资源的一个或多个端口;以及基于耦接所述主机的所述资源的所述一个或多个端口来形成所述主机的控制组。9.根据权利要求8所述的方法,包括:基于用于所述控制组中的加速器的一个或多个端口接口来将所述任务规格的ML任务分配给所述主机的所述控制组,其中,所述端口接口被包括在所述系统文件中所描述的NUMA端口的所述映射中;以及使用所述控制组中的所述加速器将所述ML任务作为所述控制组下的过程来执行。10.一种被配置为调度任务和分配资源以用于使用硬件加速器来执行机器学习工作负载的系统,所述硬件加速器中的每一个被配置为实施包括多个神经网络层的神经网络,所述系统包括:一个或多个处理设备;以及存储指令的一个或多个非暂时性机器可读存储设备,所述指令可由所述一个或多个处理设备执行以使得执行以下操作,包括:接收请求以执行所述机器学习ML工作负载;基于所述请求来确定资源需求以在包括多个主机的分布式处理系统处执行所述ML工作负载,所述多个主机中的每个主机包括相应多个硬件加速器;基于所述资源需求和每个主机的所述相应多个硬件加速器来确定分别被分配来执行形成所述ML工作负载的一组任务中的相应任务的主机的数量;针对所述数量的主机中的每个主机:基于所述主机的存储器存取拓扑来生成相应任务规格,所述相应任务规格指定被分...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。