CN111026520B - 任务处理方法、处理器的控制装置及处理器 - Google Patents

任务处理方法、处理器的控制装置及处理器 Download PDF

Info

Publication number
CN111026520B
CN111026520B CN201811180038.6A CN201811180038A CN111026520B CN 111026520 B CN111026520 B CN 111026520B CN 201811180038 A CN201811180038 A CN 201811180038A CN 111026520 B CN111026520 B CN 111026520B
Authority
CN
China
Prior art keywords
task
job
information
target
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811180038.6A
Other languages
English (en)
Other versions
CN111026520A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Cambricon Information Technology Co Ltd
Original Assignee
Shanghai Cambricon Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Cambricon Information Technology Co Ltd filed Critical Shanghai Cambricon Information Technology Co Ltd
Priority to CN201811180038.6A priority Critical patent/CN111026520B/zh
Priority to PCT/CN2019/110273 priority patent/WO2020073938A1/zh
Publication of CN111026520A publication Critical patent/CN111026520A/zh
Application granted granted Critical
Publication of CN111026520B publication Critical patent/CN111026520B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

本申请的任务处理方法、处理器的控制装置及处理器,将第二处理器本体的启动信息及目标作业的作业信息传送至相应的第二处理器本体,相应的第二处理器本体能够执行该目标作业;本申请的任务处理方法,可以实现多个作业的并行处理,提高任务的执行效率。

Description

任务处理方法、处理器的控制装置及处理器
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种任务处理方法、处理器的控制装置及处理器。
背景技术
深度神经网络是目前许多人工智能应用的基础,其在语音识别、图像处理、数据分析、广告推荐系统、汽车自动驾驶等多方面得到了突破性的应用,使得深度神经网络被应用在了生活的各个方面。
但是,深度神经网络的运算量巨大,一直制约着其更快速的发展和更广泛的应用。如何提高深度神经网络的任务处理效率便成为亟需解决的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种任务处理效率较高的任务处理方法、处理器的控制装置及处理器。
一种任务处理方法,所述方法还包括如下步骤:
获取调度信息、目标任务的全部任务信息和所述目标任务的分解信息;
根据所述目标任务的全部任务信息和分解信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息;
根据所述调度信息以及目标作业的作业信息,获得所述目标作业对应的第二处理器本体的启动信息,并将所述第二处理器本体的启动信息及所述目标作业的作业信息传送至所述第二处理器本体。
在其中一个实施例中,所述目标任务的分解信息包括作业总数量以及各个作业的作业大小;
所述的根据所述目标任务的全部任务信息和分解信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息的步骤,包括:
根据所述目标任务的作业总数量、各个所述作业的作业大小以及所述目标任务的全部任务信息,将所述目标任务拆分为多个作业,获得各个所述作业的作业信息。
在其中一个实施例中,所述目标作业对应的第二处理器本体的数量为一个以上;所述方法还包括如下步骤:
当接收到所述目标作业对应的所有第二处理器本体传送的反馈信息时,则获得所述目标作业的作业结束信息,并将所述目标作业的作业结束信息传送至所述任务调度器。
在其中一个实施例中,所述方法还包括如下步骤:
当所述目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将所述目标作业的执行状态标记为执行异常,并将所述目标作业的执行状态附加于所述目标作业的作业结束信息中。
在其中一个实施例中,所述方法还包括如下步骤:
在接收所述调度信息时,为所述目标作业分配一个作业标识;
当获得所述目标作业的作业结束信息时,则销毁所述目标作业对应的作业标识。
在其中一个实施例中,所述方法还包括如下步骤:
当接收到所述调度信息且第二处理器锁定信号为低电平,则更新各个所述第二处理器本体的处理器状态信息,获得准备就绪信号,之后根据所述调度信息获取目标任务的全部任务信息和分解信息。
一种处理器的控制装置,包括存储器和第三处理器,所述存储器存储有计算机程序,所述第三处理器在执行所述计算机程序时,实现上述任一项所述的方法。
一种处理器,包含上述的处理器控制装置和与所述处理器控制装置连接的多个第二处理器本体;
其中,每个所述第二处理器本体均包括运算单元和控制器单元,所述运算单元包括主处理电路和多个从处理电路;
所述控制器单元用于获取数据、机器学习模型以及计算指令;
所述控制器单元还用于解析所述计算指令得到多个运算指令,并将所述多个运算指令以及所述数据发送给所述主处理电路;
所述主处理电路用于对所述数据以及所述主处理电路与所述多个从处理电路之间传输的数据和运算指令执行前序处理;
所述多个从处理电路用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路还用于对所述多个中间结果执行后续处理得到所述计算指令的计算结果。
一种任务处理方法,所述方法包括如下步骤:
任务调度器将调度信息、目标任务的全部任务信息和目标任务的分解信息传送至第二处理器本体的控制装置;
所述第二处理器本体的控制装置根据所述目标任务的全部任务信息和分解信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息;
第二处理器本体的控制装置根据所述调度信息以及目标作业的作业信息,获得所述目标作业对应的第二处理器本体的启动信息,并将所述第二处理器本体的启动信息及所述目标作业的作业信息传送至所述第二处理器本体。
在其中一个实施例中,所述任务调度器包括状态监控装置,所述第二处理器本体的数量为一个以上;所述方法还包括如下步骤:
第二处理器本体的控制装置在接收到所述目标作业对应的所有第二处理器本体传送的反馈信息时,则获得所述目标作业的作业结束信息,并将所述目标作业的作业结束信息传送至所述状态监控装置;
所述状态监控装置将所述目标作业的作业结束信息传送至所述第一处理器。
在其中一个实施例中,所述任务调度器还包括任务分解装置;所述方法还包括如下步骤:
第二处理器本体的控制装置在所述目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将所述目标作业的执行状态标记为执行异常,并将所述目标作业的执行状态附加于所述目标作业的作业结束信息中;
所述状态监控装置根据所述作业的作业结束信息,判断所述目标作业存在执行异常时,获得任务销毁指令,并将所述任务销毁指令传送至所述任务分解装置;
所述任务分解装置根据所述任务销毁指令销毁执行销毁操作,所述销毁操作包括销毁所述目标任务以及销毁所述目标任务所属的任务队列中的所有任务。
在其中一个实施例中,所述状态监控装置将所述目标作业的作业结束信息传送至所述第一处理器的步骤,还包括:
所述状态监控装置在接收的作业结束信息的数量达到预设结束信息数量时,按照预设的排列方式对所述接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将所述接收到的作业结束信息传送至第一处理器。
在其中一个实施例中,所述预设结束信息数量为所述作业总数量;所述方法还包括如下步骤:
所述状态监控装置在接收到的作业结束信息的数量达到所述作业总数量时,确定所述目标任务执行结束,获得并记录所述目标任务的执行结束信息。
本申请的任务处理效率较高的任务处理方法、处理器的控制装置及处理器,通过根据目标任务的全部任务信息和分解信息,将目标任务拆分为多个作业,获得各个作业的作业信息,并根据调度信息以及目标作业的作业信息,获得目标作业对应的第二处理器本体的启动信息,并将第二处理器本体的启动信息及目标作业的作业信息传送至相应的第二处理器本体,相应的第二处理器本体能够执行该目标作业;本申请的任务处理方法,通过将目标任务拆解为多个作业,并分别将各个作业传送至相应的第二处理器本体进行处理,可以实现多个作业的并行处理,提高任务的执行效率。
附图说明
图1一个实施例中任务处理系统的结构示意图;
图2为图1中第二处理器本体一实施例的结构示意图;
图3为图1中第二处理器本体一实施例的结构示意图;
图4为图1中第二处理器本体一实施例的结构示意图;
图5一个实施例中任务处理方法的流程示意图;
图6为一个实施例中任务处理方法的流程示意图;
图7为另一个实施例中任务处理方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,本申请实施例提供了一种任务处理系统,包括第一处理器200、全局内存400、任务调度器100、第二处理器300及互联模块500,任务调度器100、第一处理器200、第二处理器300及全局内存400均连接至互联模块500,通过互联模块500实现相互连接。可选地,互联模块500可以是二叉树或2D-mesh等互联模块。
其中,该任务调度器100可以连接在第一处理器200和第二处理器300之间,该任务调度器100用于任务的分解、调度及监控,可以提高任务的处理效率。具体地,该任务调度器100可以包括任务缓存装置110、任务分派装置120及状态监控装置130,任务缓存装置110及任务分派装置120依次连接,状态监控装置130连接任务分派装置120。
可选地,该任务缓存装置110可以连接至全局内存400,全局内存中以任务队列的方式存储有多个任务及各个任务的基本任务信息和全部任务信息等等。任务缓存装置110用于存储多个任务对应的基本任务信息和全部任务信息;其中,该任务的基本任务信息可以包括该任务的配置信息,如配置信息包括任务类别、任务的权重及任务的输入数据等等。其中,多个任务根据其功能的不同可以分为事件任务、通信任务及数据处理任务等,即该任务类别可以包括事件任务、通信任务及数据处理任务,进一步地,该数据处理任务的任务类别还可以包括block(阻塞任务)、cluster(聚类任务)和union(联合任务)。该任务的全部任务信息可以包括该任务的配置信息等基本任务信息,以及该任务对应的指令及数据等信息。可选地,该多个任务以任务队列的形式存储于任务缓存装置110中,多个任务可以形成多个任务队列,如多个任务按照其任务类别形成多个任务队列。每个任务队列中队列头指针指向的任务的基本任务信息可以传送至任务分派装置120中。
任务分派装置120用于从任务缓存装置110中获取任务的基本任务信息,并根据任务的基本任务信息获得任务的任务注册请求;状态监控装置130用于根据接收到的任务注册请求,为任务分配一个任务标识,并将任务的任务标识回传给任务分派装置120,以完成任务的注册过程。本申请实施例中,注册完成的任务(即获得任务标识的任务)能够被任务分派装置120进行分解及调度,并进一步发送至第二处理器300进行处理。
任务分派装置120还用于在接收到任务的任务标识之后,将该任务标记为待调度任务,并根据该待调度任务的基本任务信息对该任务进行预拆分,将该待调度任务分为多个作业,获得待调度任务的分解信息。进一步地,任务分派装置120还用于根据待调度任务的分解信息及第二处理器300的处理器状态信息确定目标作业,获得调度信息。本申请实施例中,通过上述的任务调度器,能够实现神经网络等数据量较大数据的调度及处理,减少第一处理器的运算量,提高任务的调度及处理效率,进而提升计算机系统的处理效率。
在一个实施例中,该任务分派装置120可以包括任务分解装置121和任务调度装置122,该任务分解装置121连接任务缓存装置110和状态监控装置130,该任务调度装置122连接任务缓存装置110和任务分解装置121。其中,该任务分解装置121用于对待调度任务进行预拆分,将待调度任务分解为多个作业,获得待调度任务的分解信息。该任务调度装置122用于根据待调度任务的分解信息等对多个作业进行调度,确定目标作业,获得调度信息。
具体地,任务分解装置121用于从任务缓存装置110中获取一个以上的任务的基本任务信息,分别根据各个任务的基本任务信息获得任务的任务注册请求,并将各个任务注册请求传送至状态监控装置130,状态监控装置130能够为各个任务分配一个任务标识,以完成任务的注册。进一步地,任务分解装置121在接收到状态监控装置130回传的任务标识时,将该具有任务标识的任务标记为待调度任务,并分别根据待调度任务的基本任务信息,对各个待调度任务进行预拆分(将具有任务标识的任务分解为多个作业),获得待调度任务的分解信息。本申请实施例中,各个待调度任务的预拆分可以并行进行,即在获得该任务的任务标识时,则可以任务该任务注册成功,此时任务分解装置121即可将该任务标记为待调度任务,并将该待调度任务分解为多个作业,获得待调度任务的分解信息。这样,可以提高任务的处理效率。
可选地,任务的基本任务信息中包含任务的作业总数量和每个作业的作业大小;其中,任务的作业总数量是指该待调度任务被分解形成的作业的数量,作业的大小是指每个作业的数据容量。任务分解装置121能够获取该待调度任务的基本任务信息,并根据该待调度任务的基本任务信息中的作业总数量和各个作业的作业大小,将待调度任务分解为多个作业,得到待调度任务的分解信息。可选地,该待调度任务的作业总数量可以为2n,n为正整数,例如,该待调度任务的作业总数量可以为128、256、1024或2048等等。更进一步地,每个作业能够被分配至对应的处理器上进行处理,因此每个作业的大小可以为对应的处理器字长的整数倍,其中,处理器字长可以反应处理器单次处理数据的能力。
同时,任务分解装置121还可以获得待调度任务的任务调度请求,并将该任务调度请求传送至任务调度装置122,以启动该任务的调度过程。任务调度装置122用于根据其获得的任务调度请求,获取第二处理器的处理器状态信息,以及待调度任务的分解信息,根据处理器状态信息以及待调度任务的分解信息确定当前能够被调度的作业,并将当前能够被调度的作业添加至待调度作业集中,之后从该待调度作业集中选定目标作业,获得调度信息。其中,该调度信息可以包括目标作业的作业标识,以及该目标作业对应的第二处理器300的处理器标识。在其他实施例中,该调度信息为多个目标作业的调度信息的集合,其还可以包括多个目标作业的发射顺序信息等等。
可选地,第二处理器300的处理器状态信息可以包括处理器的类型信息、处理器的运行状态信息(处理器是否空闲)以及处理器的处理能力等信息。任务调度装置122可以根据待调度任务的全部任务信息及任务分解信息,可以获得该待调度任务包含的多个作业以及各个作业的作业信息,其中,各个作业的作业信息可以包括各个作业所需的处理器类型,各个作业的作业大小等信息。例如,任务调度装置122可以获得该待调度任务的各个作业所需的第二处理器300信息(如处理器类型等信息),根据各个作业的大小获得各个作业所需的处理器的处理能力等信息。任务调度装置122还用于根据各个待调度任务的各个作业的作业信息以及处理器状态信息,分别将待调度任务的各个作业与第二处理器300进行匹配,并将与第二处理器300匹配成功的作业添加至待调度作业集。其中,该待调度作业集可以包括多个待调度任务的作业。
可选地,若任务调度装置122确定同一待调度任务的所有作业与第二处理器均匹配成功时,则将该调度任务的各个作业均作为当前能够被调度的作业,并将该当前能够被调度的作业添加至待调度作业集中。进一步地,若作业与第二处理器300匹配成功时,任务调度装置122还可以进一步获得与该作业匹配的第二处理器300的处理器标识等信息。可选地,若在预设时间(如128节拍或256节拍)内,待调度任务中的一个以上的作业与第二处理器300未匹配成功时,则任务调度装置122获得任务的调度失败信号,并将待调度任务的调度失败信号传送给任务分解装置121,以便任务分解装置121的状态控制电路1213根据该调度失败信号,更新该任务的任务状态,以便在下一次调度中重新对该任务进行调度。
当然,在其他实施例中,任务调度装置可以在确定某个作业与第二处理器匹配成功时,将与第二处理器匹配成功的作业作为当前能够被调度的作业,并将该当前能被调度的作业添加至待调度作业集中。当获得该作业所属的待调度任务的调度失败信号时,则可以从待调度作业集中删除该调度失败的任务的所有作业。
可选地,任务调度装置122能够将该调度信息传送至第二处理器,第二处理器能够根据其获得的调度信息,获取目标任务(本申请实施例中,将该目标作业所属的任务标记为目标任务)的全部任务信息和分解信息。可选地,第二处理器300可以根据调度信息从任务缓存装置110中获取目标任务的全部任务信息,从任务分解装置121中获取目标作业所属的任务的分解信息。在其他实施例中,任务调度装置122能够根据调度信息从任务缓存装置110中获取目标作业所属的任务的全部任务信息,从任务分解装置121中获取目标作业所属的任务的分解信息,并将目标作业所属的任务的分解信息及全部任务信息打包传送至第二处理器300。
进一步地,第二处理器本体的控制装置330可以将该目标任务拆分为多个作业,并根据调度信息将目标作业发送至相应的第二处理器本体340进行处理。其中,该调度信息可以包括目标作业的作业标识,以及该目标作业对应的第二处理器300的处理器标识。
更进一步地,第二处理器本体的控制装置330还用于在接收调度信息时,为目标作业分配一个作业标识;当接收到目标作业对应的所有第二处理器本体340的反馈信息时,则获得目标作业的作业结束信息,并将目标作业的作业结束信息传送至状态监控装置130,之后,销毁目标作业对应的作业标识。
再进一步地,目标作业可以对应一个以上的第二处理器本体340,各个第二处理器本体340的连接关系及结构可参见下文中的描述。第二处理器本体的控制装置330还用于在目标作业对应的一个以上第二处理器本体340的反馈信息存在异常时,则将目标作业的执行状态标记为执行异常,目标作业的执行状态附加在目标作业的作业结束信息中,并将该目标作业的作业结束信息传送至状态监控装置130。状态监控装置130能够根据目标作业的作业结束信息中的目标作业的执行状态,获得任务销毁指令,并将该任务销毁指令传送至任务分解装置121。任务分解装置121能够根据该任务销毁指令执行销毁操作,该销毁操作包括销毁目标任务以及销毁目标任务所在任务队列的所有任务。
可选地,状态监控装置130还可以将该目标作业的作业结束信息传送至第一处理器300。进一步地,状态监控装置130用于当接收到的作业结束信息的数量达到预设结束信息数量时,按照预设的排列方式对接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将接收到的作业结束信息传送至第一处理器200。可选地,该预设的排列方式可以是各个作业的执行顺序,该预设的排列方式也可以根据该任务的基本任务信息中包含的依赖关系信息确定。这样,通过对各个作业的作业结束信息进行重新排序,可以保证当前作业之前的一个或多个作业均已经执行结束,从而可以保证当前任务的执行结果的可靠性。
可选地,该预设结束信息数量可以为该任务的作业总数量。此时,当状态监控装置130接收到的作业结束信息的数量达到任务的作业总数量时,状态监控装置130可以按照预设的排列方式对接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将接收到的作业结束信息传送至第一处理器200。进一步地,当状态监控装置130接收到的作业结束信息的数量达到任务的作业总数量时,状态监控装置130可以确定已经接收到该目标任务的所有作业的作业结束信息,即该目标任务已经执行完毕。更进一步地,该状态监控装置130还用于记录该任务的执行结束信息。
可选地,第一处理器200可以是CPU等通用处理器,第二处理器300可以作为第一处理器200的协处理器。具体地,第二处理器300可以包括第二处理器本体340以及用于控制第二处理器本体340运行的控制装置,第二处理器本体340可以是IPU(IntelligenceProcessing Unit,智能处理器)或NPU(Neural-network Process Unit,神经网络处理器)等人工智能处理器。当然,在其他实施例中,该第二处理器本体340也可以是CPU或GPU等通用处理器。
可选地,第二处理器300包括多个第二处理器本体340以及第二处理器本体的控制装置330,多个第二处理器本体340均连接至第二处理器本体的控制装置330。或者,该第二处理器本体340也可以包括多个核处理器,各个核处理器均连接至所述第二处理器本体的控制装置330。其中,第二处理器本体的控制装置330用于在接收到调度信息时,根据接收到的任务调度器100传送的任务的分解信息及全部任务信息,将任务拆分为多个作业,并将根据调度信息将目标作业发送至相应的第二处理器本体340;第二处理器本体340用于执行接收到的目标作业。
在一个实施例中,如图2所示,该第二处理器本体340可以包括控制器单元310和运算单元320,其中,控制器单元310与运算单元320连接,该运算单元320可以包括一个主处理电路321和多个从处理电路322,该主处理电路321和从处理电路322形成主从结构。可选地,上述的控制器单元310用于获取数据以及计算指令。该数据具体可以包括机器学习数据,可选地,该机器学习数据可以为神经网络数据。控制器单元310还用于解析其获取的计算指令得到运算指令,并将多个运算指令以及数据发送给主处理电路。主处理电路321用于对数据以及该主处理电路321与多个从处理电路322之间传输的数据和运算指令执行前序处理。多个从处理电路322用于依据从主处理电路321传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给主处理电路321;主处理电路321还用于对多个中间结果执行后续处理得到计算指令的计算结果。
可选地,该控制器单元310可以包括指令缓存单元311、指令处理单元312和存储队列单元314;指令缓存单元311用于存储机器学习数据关联的计算指令;指令处理单元312用于对计算指令解析得到多个运算指令;存储队列单元314用于存储指令队列,该指令队列包括:按该队列的前后顺序待执行的多个运算指令或计算指令。可选地,该控制器单元310还可以包括依赖关系处理单元313,用于在具有多个运算指令时,确定第一运算指令与第一运算指令之前的第零运算指令是否存在关联关系,如第一运算指令与第零运算指令存在关联关系,则将第一运算指令缓存在指令存储单元内,在第零运算指令执行完毕后,从指令存储单元提取第一运算指令传输至运算单元。具体地,若依赖关系处理单元313依据第一运算指令提取第一运算指令中所需数据(例如矩阵)的第一存储地址区间,依据第零运算指令提取第零运算指令中所需矩阵的第零存储地址区间,如第一存储地址区间与第零存储地址区间具有重叠的区域,则确定第一运算指令与第零运算指令具有关联关系,如第一存储地址区间与第零存储地址区间不具有重叠的区域,则确定第一运算指令与第零运算指令不具有关联关系。
在一个实施例中,如图3所示,运算单元320还可以包括一个或多个分支处理电路323,其中,一个或多个分支处理电路323连接至主处理电路321,每个分支处理电路323连接一个以上的从处理电路322。分支处理电路323用于执行转发主处理电路321与从处理电路322之间的数据或指令。在此实施例中,主处理电路321具体用于将确定输入神经元为广播数据,权值为分发数据,并将分发数据分配为多个数据块,将多个数据块中的至少一个数据块、广播数据以及多个运算指令中的至少一个运算指令发送给分支处理电路;分支处理电路323用于转发主处理电路321与多个从处理电路322之间的数据块、广播数据以及运算指令;多个从处理电路322用于依据该运算指令对接收到的数据块以及权值执行运算得到中间结果,并将中间结果传输给分支处理电路323;主处理电路321还用于将分支处理电路发送的中间结果进行后续处理得到该计算指令的结果,将该计算指令的结果发送给所述控制器单元。
在另一种可选实施例中,如图4所示,运算单元320可以包括一个主处理电路321和多个从处理电路322。其中,多个从处理电路322呈阵列分布;每个从处理电路322与相邻的其他从处理电路322连接,主处理电路321连接多个从处理电路中的k个从处理电路,k个从处理电路为:第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路,需要说明的是,如图4所示的K个从处理电路仅包括第1行的n个从处理电路、第m行的n个从处理电路以及第1列的m个从处理电路,即该k个从处理电路为多个从处理电路中直接与主处理电路连接的从处理电路。K个从处理电路用于在主处理电路以及多个从处理电路之间的数据以及指令的转发。
可选的,该主处理电路还可以包括转换处理电路、激活处理电路、加法处理电路中的一种或任意组合;其中,转换处理电路用于将主处理电路接收的数据块或中间结果执行第一数据结构与第二数据结构之间的互换(例如连续数据与离散数据的转换);或将主处理电路接收的数据块或中间结果执行第一数据类型与第二数据类型之间的互换(例如定点类型与浮点类型的转换);激活处理电路用于执行主处理电路内数据的激活运算;加法处理电路用于执行加法运算或累加运算。
进一步地,所述从处理电路包括乘法处理电路;所述乘法处理电路用于对接收到的数据块执行乘积运算得到乘积结果。更进一步地,从处理电路还可以包括转发处理电路和累加处理电路,转发处理电路用于将接收到的数据块或乘积结果转发,所述累加处理电路用于对该乘积结果执行累加运算得到该中间结果。
本申请提供的处理器将运算单元320设置成一主多从结构,对于正向运算的计算指令,其可以将依据正向运算的计算指令将数据进行拆分,这样通过多个从处理电路即能够对计算量较大的部分进行并行运算,从而提高运算速度,节省运算时间,进而降低功耗。
可选地,上述机器学习计算具体可以包括:人工神经网络运算,上述输入数据具体可以包括:输入神经元数据和权值数据。上述计算结果具体可以为:人工神经网络运算的结果即输出神经元数据。
对于神经网络中的运算可以为神经网络中的一层的运算,对于多层神经网络,其实现过程是,在正向运算中,当上一层人工神经网络执行完成之后,下一层的运算指令会将运算单元中计算出的输出神经元作为下一层的输入神经元进行运算(或者是对该输出神经元进行某些操作再作为下一层的输入神经元),同时,将权值也替换为下一层的权值;在反向运算中,当上一层人工神经网络的反向运算执行完成后,下一层运算指令会将运算单元中计算出的输入神经元梯度作为下一层的输出神经元梯度进行运算(或者是对该输入神经元梯度进行某些操作再作为下一层的输出神经元梯度),同时将权值替换为下一层的权值。
上述机器学习计算还可以包括支持向量机运算,k-近邻(k-nn)运算,k-均值(k-means)运算,主成分分析运算等等。为了描述的方便,下面以人工神经网络运算为例来说明机器学习计算的具体方案。
对于人工神经网络运算,如果该人工神经网络运算具有多层运算,多层运算的输入神经元和输出神经元并非是指整个神经网络的输入层中神经元和输出层中神经元,而是对于网络中任意相邻的两层,处于网络正向运算下层中的神经元即为输入神经元,处于网络正向运算上层中的神经元即为输出神经元。以卷积神经网络为例,设一个卷积神经网络有L层,K=1,2,...,L-1,对于第K层和第K+1层来说,我们将第K层称为输入层,其中的神经元为所述输入神经元,第K+1层称为输出层,其中的神经元为所述输出神经元。即除最顶层外,每一层都可以作为输入层,其下一层为对应的输出层。
基于上述的任务处理系统,本申请实施例提供了一种任务处理方法,能够用于上述任务处理系统中,以实现任务的处理及执行。如图5所示,该任务处理方法可以包括如下步骤:
S110、获取调度信息、目标任务的全部任务信息和目标任务的分解信息。
S120、根据目标任务的全部任务信息和分解信息,将目标任务拆分为多个作业,获得各个作业的作业信息;
S130、根据调度信息以及目标作业的作业信息,获得目标作业对应的第二处理器本体的启动信息,并将第二处理器本体的启动信息及目标作业的作业信息传送至第二处理器本体。
具体地,任务调度器可以确定目标作业,获得调度信息,并将调度信息传送至第二处理器本体的控制装置,因此,该第二处理器本体的控制装置能够从任务调度器中获取调度信息。进一步地,第二处理器本体的控制装置可以根据该调度信息,从任务缓存装置中获取目标任务的全部任务信息,从任务分解装置中获取目标任务的分解信息,其中,该目标任务是指目标作业所属的任务。当然,在其他实施例中,任务调度装置获得调度信息之后,可以从任务缓存装置中获取目标任务的全部任务信息,从任务分解装置中获取目标任务的分解信息,并将调度信息、目标任务的全部任务信息及分解信息发送至第二处理器本体的控制装置,从而第二处理器本体的控制装置能够获取调度信息、目标任务的全部任务信息及目标任务的分解信息。
之后,第二处理器本体的控制装置可以根据目标任务的全部任务信息和分解信息,将目标任务拆分为多个作业,获得各个作业的作业信息,并根据调度信息以及目标作业的作业信息,获得目标作业对应的第二处理器本体的启动信息,并将第二处理器本体的启动信息及目标作业的作业信息传送至第二处理器本体,第二处理器本体能够执行其接收到的作业。
可选地,目标任务的分解信息可以包括作业总数量以及各个作业的作业大小。如图6所示,上述的步骤S120还可以包括如下步骤:
S121、根据目标任务的作业总数量、各个作业的作业大小以及目标任务的全部任务信息,将目标任务拆分为多个作业,获得各个作业的作业信息。
具体地,第二处理器本体的控制装置可以根据该目标任务的分解信息,对该目标任务进行实际拆分,并获得各个作业的作业信息。例如,任务分解装置通过预拆分,确定该目标任务包含的作业总数量可以为2n,n为正整数,每个作业的大小可以为对应的处理器字长的整数倍,则第二处理器本体的控制装置可以根据该目标任务的分解信息,将该目标任务拆分为多个作业,并获得各个作业的作业信息。其中,各个作业的作业信息可以包括各个作业所需的处理器类型,各个作业的作业大小等信息。例如,作业信息可以包括该作业所需的第二处理器信息(如处理器类型等信息),该作业的作业大小、该作业所需的处理器的处理能力等信息。
可选地,第二处理器本体的数量为一个以上,目标作业对应的第二处理器本体的数量为一个以上,即根据该目标作业的作业信息,该目标作业可以被分为多个子作业,每个子作业可以分配至不同的第二处理器本体上进行执行,从而可以实现同一作业的并行执行,以提高处理效率。进一步地,同一目标作业还可以被分配至第二处理器本体的主处理电路和/或从处理电路上执行。如图6所示,上述方法还包括如下步骤:
S140、当接收到目标作业对应的所有第二处理器本体传送的反馈信息时,则获得目标作业的作业结束信息,并将目标作业的作业结束信息传送至任务调度器。
具体地,每个第二处理器本体可以在其执行的子作业执行完成时,向第二处理器本体的控制装置传送反馈信息,当第二处理器本体的控制装置接收到所有子作业对应的第二处理器本体传送的反馈信息时,则可以确定该目标作业执行结束,获得该目标作业的作业结束信息,并将该目标作业的作业结束信息传送至任务调度器。
进一步地,每个第二处理器本体在其执行的子作业存在执行异常时,也可以向第二处理器本体的控制装置传送反馈信息。上述方法还包括如下步骤:
S150、当目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将目标作业的执行状态标记为执行异常,并将目标作业的执行状态附加于目标作业的作业结束信息中。
可选地,作业结束信息中包含结果标志数据。例如,若该目标作业存在执行异常时,则第二处理器本体的控制装置可以将该目标作业的作业结束信息中的结果标志数据设置为非0(如该结果标志数据为1)。若该作业不存在执行异常,则第二处理器本体的控制装置可以将该作业的作业结束信息中的结果标志数据设置为0。
可选地,上述方法还包括如下步骤:
在接收调度信息时,为目标作业分配一个作业标识;
当获得目标作业的作业结束信息时,则销毁目标作业对应的作业标识。
具体地,当第二处理器本体的控制装置接收到调度信息时,可以为该目标作业分配一个作业标识,该作业标识用于记录该目标作业的作业信息以及该作业对应的各个第二处理器本体的反馈信息等等。当第二处理器本体的控制装置获得该目标作业的作业结束信息时,则可以确定该目标作业执行完成,此时,第二处理器本体的控制装置可以在将该目标作业的作业结束信息传送至任务调度器之后,销毁该目标作业对应的作业标识。
可选地,上述方法还包括如下步骤:
当接收到调度信息且第二处理器锁定信号为低电平,则更新各个第二处理器本体的处理器状态信息,获得准备就绪信号,之后根据调度信息获取目标任务的全部任务信息和分解信息。
具体地,第二处理器本体的控制装置可以在接收到调度信息时,更新各个第二处理器本体的处理器状态信息,并在更新完成后,获得准备就绪信号(ready信号),之后,第二处理器本体的控制装置可以将该目标作业的作业信息广播至对应的第二处理器本体。进一步地,只有在第二处理器锁定信号为低电平时,可以更新各个第二处理器本体的状态信息。更进一步地,当该目标作业执行完毕之后,且第二处理器锁定信号为低电平,第二处理器本体的控制装置也可以更新各个第二处理器本体的处理器状态信息。
同时,本申请实施例还提供了一种处理器的控制装置,包括存储器和第三处理器,存储器存储有计算机程序,第三处理器在执行计算机程序时,实现上述任一实施例的任务处理方法。具体地,上述实施例中的第二处理器本体的控制装置即为本申请实施例的处理器的控制装置。当第三处理器在执行上述计算机程序时,具体执行如下步骤:
获取调度信息、目标任务的全部任务信息和所述目标任务的分解信息;
根据所述目标任务的全部任务信息和分解信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息;
根据所述调度信息以及目标作业的作业信息,获得所述目标作业对应的第二处理器本体的启动信息,并将所述第二处理器本体的启动信息及所述目标作业的作业信息传送至所述第二处理器本体。
可以理解的是,本申请实施例中的处理器的控制装置的工作原理,与上述实施例中第二处理器本体的控制装置的工作原理一致,具体可参见上文中的描述,此处不再赘述。
进一步地,本申请实施例还提供了一种处理器,包含上述的处理器控制装置和与处理器控制装置连接的多个第二处理器本体;其中,每个第二处理器本体均包括运算单元和控制器单元,运算单元包括主处理电路和多个从处理电路;
控制器单元用于获取数据、机器学习模型以及计算指令;
控制器单元还用于解析计算指令得到多个运算指令,并将多个运算指令以及数据发送给主处理电路;
主处理电路用于对数据以及主处理电路与多个从处理电路之间传输的数据和运算指令执行前序处理;
多个从处理电路用于依据从主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给主处理电路;
主处理电路还用于对多个中间结果执行后续处理得到计算指令的计算结果。
可以理解的是,上述任务处理系统中的第二处理器即采用本申请实施例中的处理器,因此,该处理器的结构及工作原理,具体可参见上文中第二处理器的相关描述,此处不再赘述。
此外,如图7所示,本申请实施例还提供了一种任务处理方法,上述方法包括如下步骤:
S210、任务调度器将调度信息、目标任务的全部任务信息和目标任务的分解信息传送至第二处理器本体的控制装置;
S220、第二处理器本体的控制装置根据目标任务的全部任务信息和分解信息,将目标任务拆分为多个作业,获得各个作业的作业信息;
S230、第二处理器本体的控制装置根据调度信息以及目标作业的作业信息,获得目标作业对应的第二处理器本体的启动信息,并将第二处理器本体的启动信息及目标作业的作业信息传送至第二处理器本体。
具体地,任务调度器可以确定目标作业,获得调度信息,并将调度信息传送至第二处理器本体的控制装置,因此,该第二处理器本体的控制装置能够从任务调度器中获取调度信息。进一步地,第二处理器本体的控制装置可以根据该调度信息,从任务缓存装置中获取目标任务的全部任务信息,从任务分解装置中获取目标任务的分解信息,其中,该目标任务是指目标作业所属的任务。当然,在其他实施例中,任务调度装置获得调度信息之后,可以从任务缓存装置中获取目标任务的全部任务信息,从任务分解装置中获取目标任务的分解信息,并将调度信息、目标任务的全部任务信息及分解信息发送至第二处理器本体的控制装置,从而第二处理器本体的控制装置能够获取调度信息、目标任务的全部任务信息及目标任务的分解信息。
之后,第二处理器本体的控制装置可以根据目标任务的全部任务信息和分解信息,将目标任务拆分为多个作业,获得各个作业的作业信息,并根据调度信息以及目标作业的作业信息,获得目标作业对应的第二处理器本体的启动信息,并将第二处理器本体的启动信息及目标作业的作业信息传送至第二处理器本体,第二处理器本体能够执行其接收到的作业。
可选地,任务调度器包括状态监控装置,第二处理器本体的数量为一个以上;上述方法还可以包括如下步骤:
第二处理器本体的控制装置在接收到目标作业对应的所有第二处理器本体传送的反馈信息时,则获得目标作业的作业结束信息,并将目标作业的作业结束信息传送至状态监控装置;
状态监控装置将目标作业的作业结束信息传送至第一处理器。
具体地,该目标作业可以包括多个子作业,每个第二处理器本体可以在其执行的子作业执行完成时,向第二处理器本体的控制装置传送反馈信息,当第二处理器本体的控制装置接收到所有子作业对应的第二处理器本体传送的反馈信息时,则可以确定该目标作业执行结束,获得该目标作业的作业结束信息,并将该目标作业的作业结束信息传送至任务调度器的状态监控装置,状态监控装置可以将该目标作业的作业结束信息传送至第一处理器,以便第一处理器获知该第二处理器的任务执行进度。
进一步地,上述方法还包括如下步骤:
状态监控装置在接收的作业结束信息的数量达到预设结束信息数量时,按照预设的排列方式对接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将接收到的作业结束信息传送至第一处理器。可选地,该预设的排列方式可以是各个作业的执行顺序,该预设的排列方式也可以根据该任务的基本任务信息中包含的依赖关系信息确定。这样,通过对各个作业的作业结束信息进行重新排序,可以保证当前作业之前的一个或多个作业均已经执行结束,从而可以保证当前任务的执行结果的可靠性。
可选地,该预设结束信息数量可以为该任务的作业总数量。此时,当状态监控装置130接收到的作业结束信息的数量达到任务的作业总数量时,状态监控装置130可以按照预设的排列方式对接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将接收到的作业结束信息传送至第一处理器200。进一步地,当状态监控装置130接收到的作业结束信息的数量达到任务的作业总数量时,状态监控装置130可以确定已经接收到该目标任务的所有作业的作业结束信息,即该目标任务已经执行完毕。更进一步地,该状态监控装置130还用于记录该任务的执行结束信息。
可选地,该任务调度器还包括任务分解装置;上述方法还包括如下步骤:
第二处理器本体的控制装置在目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将目标作业的执行状态标记为执行异常,并将目标作业的执行状态附加于目标作业的作业结束信息中;
状态监控装置根据作业的作业结束信息,判断目标作业存在执行异常时,获得任务销毁指令,并将任务销毁指令传送至任务分解装置;
任务分解装置根据任务销毁指令销毁执行销毁操作,销毁操作包括销毁目标任务以及销毁目标任务所属的任务队列中的所有任务。
例如,若该目标作业不存在执行异常,则第二处理器本体的控制装置可以将该目标作业的作业结束信息中的结果标志数据设置为0,此时,状态监控装置可以根据该结果标志数据确定该目标作业不存在执行异常。若该作业存在执行异常时,则第二处理器本体的控制装置可以将目标作业的作业结束信息中的结果标志数据设置为非0(如该结果标志数据为1),此时,状态监控装置可以根据该结果标志数据确定该目标作业存在执行异常。进一步地,状态监控装置可以根据该目标作业的作业结束信息获得任务销毁指令,以通知任务分解装置121的任务销毁电路1215执行销毁操作。
进一步地,作业的执行异常可以包括第一异常情况和第二异常情况,任务销毁指令可以包括与第一异常情况相对应的第一任务销毁指令和与第二异常情况相对应的第二任务销毁指令。可选地,在确定该目标作业存在异常时,状态监控装置还可以根据该目标作业的作业结束信息中包含的异常标志数据,判断当前任务的执行异常是第一异常情况还是第二异常情况。其中,该第一异常情况和第二异常情况可以是第二处理器300资源不足及第二处理器300故障等异常情况等异常中的一个或多个的组合。
可选地,状态监控装置在根据该目标作业的作业结束信息确定该目标作业存在第一异常情况时,则获得第一任务销毁指令,并将第一任务销毁指令传送至任务分解装置,任务分解装置根据第一任务销毁指令销毁该目标任务。具体地,任务分解装置在接收到第一任务销毁指令时,可以用于终止调度存在执行异常的作业,以及该作业之后的所有作业,并获得该作业所属的任务的调度结束信息。进一步地,当任务分解装置完成该该作业所属的任务的销毁操作之后,可以将该作业所属的任务的任务调度结束信息传送至任务分解装置的状态监控装置进行记录。
任务调度器100还包括寄存器堆140,寄存器堆140连接至任务分解装置121。若状态监控装置根据作业的作业结束信息确定该作业存在第二异常情况时,则可以获得第二任务销毁指令,以销毁该目标任务以及所述目标任务之后的所有任务。具体地,若状态监控装置根据目标作业的作业结束信息确定该目标作业存在第二异常情况时,则可以获得第二任务销毁指令,并将该第二任务销毁指令传送至任务分解装置,通知任务分解装置销毁该目标任务及其之后的所有任务。可选地,当任务分解装置接收到第二任务销毁指令之后,任务分解装置可以销毁该目标任务所在的任务队列中的所有任务。具体地,任务分解装置首先根据第二任务销毁指令终止该目标任务及该目标任务之后的其他任务的调度,并通知与该任务分解装置连接的寄存器清除该目标任务。在该作业所属的任务从寄存器中清除之后,可以获得该作业所属的任务的调度结束信息。
同时,在该作业所属的任务从寄存器中清除之后,任务分解装置可以向状态监控装置130发送该作业所属的任务之后的其他任务对应的任务注册请求,以获得该作业所属的任务之后的其他任务对应的任务标识。状态监控装置130可以分别为该作业所属的任务之后的其他任务分配一个任务标识。当任务分解装置接收到状态监控装置130反馈的任务标识时,任务分解装置可以根据其接收到的任务标识,获得该作业所属的任务之后的其他任务对应的调度结束信息,以销毁该作业所属的任务之后的所有任务。
通过设置上述异常处理机制,可以保证任务执行结果的准确性。并且,当存在异常情况时,状态监控装置130可以通知任务销毁电路1215销毁对应的任务和/或其之后的全部任务,避免第二处理器300在存在异常时继续执行其他任务带来的资源浪费。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种任务处理方法,其特征在于,所述方法还包括如下步骤:
获取调度信息、目标任务的全部任务信息和所述目标任务的分解信息;其中,所述目标任务的分解信息包括作业总数量以及各个作业的作业大小;
根据所述目标任务的作业总数量、各个所述作业的作业大小以及所述目标任务的全部任务信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息;
根据所述调度信息以及目标作业的作业信息,获得所述目标作业对应的第二处理器本体的启动信息,并将所述第二处理器本体的启动信息及所述目标作业的作业信息传送至所述第二处理器本体。
2.根据权利要求1所述的方法,其特征在于,所述目标作业对应的第二处理器本体的数量为一个以上;所述方法还包括如下步骤:
当接收到所述目标作业对应的所有第二处理器本体传送的反馈信息时,则获得所述目标作业的作业结束信息,并将所述目标作业的作业结束信息传送至所述任务调度器。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括如下步骤:
当所述目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将所述目标作业的执行状态标记为执行异常,并将所述目标作业的执行状态附加于所述目标作业的作业结束信息中。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括如下步骤:
在接收所述调度信息时,为所述目标作业分配一个作业标识;
当获得所述目标作业的作业结束信息时,则销毁所述目标作业对应的作业标识。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括如下步骤:
当接收到所述调度信息且第二处理器锁定信号为低电平,则更新各个所述第二处理器本体的处理器状态信息,获得准备就绪信号,之后根据所述调度信息获取目标任务的全部任务信息和分解信息。
6.一种处理器的控制装置,其特征在于,包括存储器和第三处理器,所述存储器存储有计算机程序,所述第三处理器在执行所述计算机程序时,实现如权利要求1-5任一项所述的方法。
7.一种处理器,其特征在于,包含权利要求6所述的处理器控制装置和与所述处理器控制装置连接的多个第二处理器本体;
其中,每个所述第二处理器本体均包括运算单元和控制器单元,所述运算单元包括主处理电路和多个从处理电路;
所述控制器单元用于获取数据、机器学习模型以及计算指令;
所述控制器单元还用于解析所述计算指令得到多个运算指令,并将所述多个运算指令以及所述数据发送给所述主处理电路;
所述主处理电路用于对所述数据以及所述主处理电路与所述多个从处理电路之间传输的数据和运算指令执行前序处理;
所述多个从处理电路用于依据从所述主处理电路传输的数据以及运算指令并行执行中间运算得到多个中间结果,并将多个中间结果传输给所述主处理电路;
所述主处理电路还用于对所述多个中间结果执行后续处理得到所述计算指令的计算结果。
8.一种任务处理方法,其特征在于,所述方法包括如下步骤:
任务调度器将调度信息、目标任务的全部任务信息和目标任务的分解信息传送至第二处理器本体的控制装置;其中,所述目标任务的分解信息包括作业总数量以及各个作业的作业大小;
所述第二处理器本体的控制装置根据所述目标任务的作业总数量、各个所述作业的作业大小以及所述目标任务的全部任务信息,将所述目标任务拆分为多个作业,获得各个作业的作业信息;
第二处理器本体的控制装置根据所述调度信息以及目标作业的作业信息,获得所述目标作业对应的第二处理器本体的启动信息,并将所述第二处理器本体的启动信息及所述目标作业的作业信息传送至所述第二处理器本体。
9.根据权利要求8所述的方法,其特征在于,所述任务调度器包括状态监控装置,所述第二处理器本体的数量为一个以上;所述方法还包括如下步骤:
第二处理器本体的控制装置在接收到所述目标作业对应的所有第二处理器本体传送的反馈信息时,则获得所述目标作业的作业结束信息,并将所述目标作业的作业结束信息传送至所述状态监控装置;
所述状态监控装置将所述目标作业的作业结束信息传送至所述第一处理器。
10.根据权利要求9所述的方法,其特征在于,所述任务调度器还包括任务分解装置;所述方法还包括如下步骤:
第二处理器本体的控制装置在所述目标作业对应的一个以上的第二处理器本体传送的反馈信息存在异常时,则将所述目标作业的执行状态标记为执行异常,并将所述目标作业的执行状态附加于所述目标作业的作业结束信息中;
所述状态监控装置根据所述作业的作业结束信息,判断所述目标作业存在执行异常时,获得任务销毁指令,并将所述任务销毁指令传送至所述任务分解装置;
所述任务分解装置根据所述任务销毁指令销毁执行销毁操作,所述销毁操作包括销毁所述目标任务以及销毁所述目标任务所属的任务队列中的所有任务。
11.根据权利要求9所述的方法,其特征在于,所述状态监控装置将所述目标作业的作业结束信息传送至所述第一处理器的步骤,还包括:
所述状态监控装置在接收的作业结束信息的数量达到预设结束信息数量时,按照预设的排列方式对所述接收到的作业结束信息重新进行排序,并按照重新排序后的顺序将所述接收到的作业结束信息传送至第一处理器。
12.根据权利要求11所述的方法,其特征在于,所述预设结束信息数量为所述作业总数量;所述方法还包括如下步骤:
所述状态监控装置在接收到的作业结束信息的数量达到所述作业总数量时,确定所述目标任务执行结束,获得并记录所述目标任务的执行结束信息。
CN201811180038.6A 2018-10-10 2018-10-10 任务处理方法、处理器的控制装置及处理器 Active CN111026520B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811180038.6A CN111026520B (zh) 2018-10-10 2018-10-10 任务处理方法、处理器的控制装置及处理器
PCT/CN2019/110273 WO2020073938A1 (zh) 2018-10-10 2019-10-10 任务调度器、任务处理系统及任务处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811180038.6A CN111026520B (zh) 2018-10-10 2018-10-10 任务处理方法、处理器的控制装置及处理器

Publications (2)

Publication Number Publication Date
CN111026520A CN111026520A (zh) 2020-04-17
CN111026520B true CN111026520B (zh) 2022-12-02

Family

ID=70192001

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811180038.6A Active CN111026520B (zh) 2018-10-10 2018-10-10 任务处理方法、处理器的控制装置及处理器

Country Status (1)

Country Link
CN (1) CN111026520B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373429A (zh) * 2014-08-20 2016-03-02 腾讯科技(深圳)有限公司 任务调度方法、装置及系统
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588804B2 (en) * 2014-01-21 2017-03-07 Qualcomm Incorporated System and method for synchronous task dispatch in a portable device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373429A (zh) * 2014-08-20 2016-03-02 腾讯科技(深圳)有限公司 任务调度方法、装置及系统
CN107943577A (zh) * 2016-10-12 2018-04-20 百度在线网络技术(北京)有限公司 用于调度任务的方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式MPSoC系统中的任务调度管理研究;李橙;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110315(第03期);全文 *

Also Published As

Publication number Publication date
CN111026520A (zh) 2020-04-17

Similar Documents

Publication Publication Date Title
CN108122027B (zh) 一种神经网络模型的训练方法、装置及芯片
KR20140080434A (ko) 맵리듀스 프레임워크에서 데이터 프로세싱의 최적화를 위한 디바이스 및 방법
CN110766145A (zh) 一种人工智能处理器的学习任务编译方法及相关产品
CN111026521B (zh) 任务调度器、任务处理系统及任务处理方法
CN111026518B (zh) 任务调度方法
CN111612155B (zh) 一种分布式机器学习系统及适用于其的通信调度方法
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
CN111026540A (zh) 任务处理方法、任务调度器和任务处理装置
CN111026520B (zh) 任务处理方法、处理器的控制装置及处理器
CN114564281A (zh) 容器调度方法、装置、设备及存储介质
CN111026523A (zh) 任务调度控制方法、任务调度器及任务处理装置
CN110275777B (zh) 一种资源调度系统
CN113849295A (zh) 模型训练的方法、装置及计算机可读存储介质
CN110766146A (zh) 一种人工智能处理器的学习任务编译方法及相关产品
CN116302420A (zh) 并发调度方法、装置、计算机设备及计算机可读存储介质
CN111026516B (zh) 异常处理方法、任务分派装置、任务处理系统及存储介质
CN111026515B (zh) 状态监控装置、任务调度器及状态监控方法
CN111026517A (zh) 任务分解装置及任务调度器
CN111026539B (zh) 通信任务处理方法、任务缓存装置及存储介质
CN113282383B (zh) 任务调度方法、任务处理方法及相关产品
CN111026514B (zh) 任务调度方法
CN111026513B (zh) 任务分派装置、任务调度器以及任务处理方法
CN117421109B (zh) 训练任务的调度方法、装置、计算机设备及存储介质
WO2024082692A1 (zh) 执行任务的方法和异构服务器
WO2020073938A1 (zh) 任务调度器、任务处理系统及任务处理方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant