调度方法及相关装置制造方法及图纸

技术编号:21547580 阅读:19 留言:0更新日期:2019-07-06 21:16
本申请实施例公开了一种调度方法及相关装置,其中方法基于包含多个计算装置的服务器,包括:接收M个运算请求;根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令;根据所述至少一个目标计算装置中每一目标计算装置对应的运算指令对所述M个运算请求对应的运算数据进行计算得到M个最终运算结果;将所述M个最终运算结果中每一最终运算结果发送至对应的电子设备。本申请实施例,可选取服务器中的计算装置执行运算请求,提高了服务器的运行效率。

Dispatching Method and Related Devices

【技术实现步骤摘要】
调度方法及相关装置
本申请涉及计算机
,具体涉及一种调度方法及相关装置。
技术介绍
神经网络是目前许多人工智能应用的基础,随着神经网络的应用范围的进一步扩大,采用服务器或云计算服务对各种各样的神经网络模型进行存储,并针对用户提交的运算请求进行运算。面对众多的神经网络模型和大批量的请求,如何提高服务器的运算效率是本领域技术人员待解决的技术问题。
技术实现思路
本申请实施例提出了一种调度方法及相关装置,可选取服务器中的计算装置执行运算请求,提高了服务器的运行效率。第一方面,本申请实施例提供了一种调度方法,基于多个计算装置的服务器,所述方法包括:接收M个运算请求;根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令,所述属性信息包括运算任务和目标神经网络模型;根据所述至少一个目标计算装置中每一目标计算装置对应的运算指令对所述M个运算请求对应的运算数据进行计算,得到M个最终运算结果;将所述M个最终运算结果中每一运算结果发送至对应的电子设备。第二方面,本申请实施例提供了一种服务器,所述服务器包括多个计算装置,其中:接收单元,用于接收M个运算请求;调度单元,用于根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令,所述属性信息包括运算任务和目标神经网络模型;运算单元,用于根据所述至少一个目标计算装置中每一目标计算装置对应的运算指令对所述M个运算请求对应的运算数据进行计算,得到M个最终运算结果;发送单元,用于将所述M个最终运算结果中每一最终运算结果发送至对应的电子设备。第三方面,本申请实施例提供了另一种服务器,包括处理器、存储器、通信接口以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于如第一方面中所描述的部分或全部步骤的指令。第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。采用了上述的调度方法及相关装置之后,基于接收到的M个运算请求的属性信息从服务器中包括的多个计算装置中选取执行M个运算请求的目标计算装置,并确定目标计算装置对应的运算指令,目标计算装置根据其对应的运算指令完成运算请求,并将每一运算请求对应的最终运算结果发送至对应的电子设备,即根据运算请求统一分配计算资源,以使服务器中的多个计算装置进行有效地协作,从而提高服务器的运算效率。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:图1是本申请实施例提供的一种服务器的结构示意图;图1a是本申请实施例提供的一种计算单元的结构示意图;图1b是本申请实施例提供的一种主处理电路的结构示意图;图1c是本申请实施例提供的一种计算单元的数据分发示意图;图1d是本申请实施例提供的一种计算单元的数据回传示意图;图1e是本申请实施例提供的一种神经网络结构的运算示意图;图2是本申请实施例提供的一种调度方法的流程示意图;图3是本申请实施例提供的另一种调度方法的流程示意图;图4是本申请实施例提供的另一种调度方法的流程示意图;图5是本申请实施例提供的另一种调度方法的流程示意图;图6是本申请实施例提供的另一种服务器的结构示意图;图7是本申请实施例提供的另一种服务器的结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。本申请实施例提出了一种调度方法及相关装置,可选取服务器中的计算装置执行运算请求,提高了服务器的运行效率。以下结合具体实施例,并参照附图,对本申请进一步详细说明。请参照图1,图1是本申请实施例提供的一种服务器的结构示意图。如图1所示,上述服务器包括多个计算装置,计算装置包括但不限于服务器计算机,还可以是个人计算机(personalcomputer,PC)、网络PC、小型计算机、大型计算机等。在本申请中,服务器中包含的每一计算装置之间通过有线或无线建立连接并传输数据,且每一计算装置包括至少一个计算载体,例如:中央处理器(CentralProcessingUnit,CPU)、图像处理器(graphicsprocessingunit,GPU)、处理器板卡等。且本申请所涉及的服务器还可以是云服务器,为电子设备提供云计算服务。其中,每一计算载体可包括至少一个用于神经网络运算的计算单元,例如:处理芯片等。对于计算单元的具体结构不作限定,请参阅图1a,图1a为一种计算单元的结构示意图。如图1a所示,该计算单元包括:主处理电路、基本处理电路和分支处理电路。具体的,主处理电路与分支处理电路连接,分支处理电路连接至少一个基本处理电路。该分支处理电路,用于收发主处理电路或基本处理电路的数据。参阅图1b,图1b为主处理电路的一种结构示意图,如图1b所示,主处理电路可以包括寄存器和/或片上缓存电路,该主处理电路还可以包括:控制电路、向量运算器电路、ALU(arithmeticandlogicunit,算数逻辑电路)电路、累加器电路、DMA(DirectMemoryAccess,直接内存存取)电路等电路,当然在实际应用中,上述主处理电路还可以添加,转换电路(例如矩阵转置电路)、数据重排电路或激活电路等等其他的电路。主处理电路还包括数据发送电路、数据接收电路或接口,该数据发送电路可以集成数据分发电路以及数据广播电路,当然在实际应用中,数据分发电路以及数据广播电路也可以分别设置本文档来自技高网...

【技术保护点】
1.一种调度方法,其特征在于,所述方法基于包含多个计算装置的服务器,所述方法包括:接收M个运算请求,所述M为正整数;根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令;根据所述至少一个目标计算装置中每一目标计算装置对应的运算指令对所述M个运算请求对应的运算数据进行计算,得到M个最终运算结果;将所述M个最终运算结果中每一最终运算结果发送至对应的电子设备。

【技术特征摘要】
1.一种调度方法,其特征在于,所述方法基于包含多个计算装置的服务器,所述方法包括:接收M个运算请求,所述M为正整数;根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令;根据所述至少一个目标计算装置中每一目标计算装置对应的运算指令对所述M个运算请求对应的运算数据进行计算,得到M个最终运算结果;将所述M个最终运算结果中每一最终运算结果发送至对应的电子设备。2.根据权利要求1所述的方法,其特征在于,所述属性信息包括目标神经网络模型,所述至少一个目标计算装置为多个并行计算装置和至少一个串行计算装置,所述根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令,包括:若所述M为1,获取所述运算请求对应的目标神经网络模型的指令流;将所述指令流拆分为多个并行指令和多个串行指令;从所述多个计算装置中选取与所述多个并行指令对应的所述多个并行计算装置和与所述多个串行指令对应的所述至少一个串行计算装置,并确定所述多个并行计算装置中每一并行计算装置的运算指令为对应的并行指令,确定所述至少一个串行计算装置中每一串行计算装置的运算指令为对应的串行指令。3.根据权利要求2所述的方法,其特征在于,所述获取所述运算请求对应的目标神经网络模型的指令流,包括:根据所述目标神经网络模型对应的基本操作序列获取第一指令描述符流;对所述第一指令描述符流进行简化,得到第二指令描述符流;根据所述第二指令描述符流获取所述指令流。4.根据权利要求2或3所述的方法,其特征在于,所述从所述多个计算装置中选取与所述多个串行指令对应的所述至少一个串行计算装置,包括:对所述多个串行指令进行分组,得到至少一组串行指令序列;从所述多个计算装置中选取与所述至少一组串行指令序列中每组串行指令序列对应的计算装置,得到所述至少一个串行计算装置。5.根据权利要求2-4任一项所述的方法,其特征在于,所述从所述多个计算装置中选取与所述多个并行指令对应的所述多个并行计算装置,包括:若所述运算请求为训练任务,基于所述运算请求对应的训练方法对所述运算请求对应的运算数据进行分组,得到多组运算数据;根据所述多组运算数据和所述多个并行指令从所述多个计算装置中选取所述多个并行计算装置。6.根据权利要求1所述的方法,其特征在于,所述属性信息包括目标神经网络模型,所述至少一个目标计算装置为一个目标并行计算装置,所述根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令,包括:若所述M大于1,且所述M个运算请求对应一个目标神经网络模型,从所述多个计算装置中选取与所述目标神经网络模型对应的所述目标并行计算装置,并确定所述目标并行计算装置的运算指令为并行运算所述M个运算请求。7.根据权利要求1所述的方法,其特征在于,所述属性信息包括目标神经网络模型,所述至少一个目标计算装置为多个目标串行计算装置,所述根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算装置,并确定所述至少一个目标计算装置中每一目标计算装置对应的运算指令,包括:若所述M大于1,且所述M个运算请求对应多个目标神经网络模型,从所述多个计算装置中选取与多个目标神经网络模型中每一目标神经网络模型对应的所述多个目标串行计算装置,并确定所述多个目标串行计算装置中每一目标串行计算装置对应的运算指令为执行该目标串行计算装置对应的目标神经网络模型所对应的运算请求。8.根据权利要求1所述的方法,其特征在于,所述属性信息包括运算任务,所述根据所述M个运算请求中每一运算请求的属性信息从所述多个计算装置中选取至少一个目标计算...

【专利技术属性】
技术研发人员:杜子东金禄旸
申请(专利权)人:北京中科寒武纪科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1