CN113835850A - 任务处理方法、系统及存储介质 - Google Patents

任务处理方法、系统及存储介质 Download PDF

Info

Publication number
CN113835850A
CN113835850A CN202010586848.2A CN202010586848A CN113835850A CN 113835850 A CN113835850 A CN 113835850A CN 202010586848 A CN202010586848 A CN 202010586848A CN 113835850 A CN113835850 A CN 113835850A
Authority
CN
China
Prior art keywords
task
data block
data
communication
received
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.)
Pending
Application number
CN202010586848.2A
Other languages
English (en)
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 CN202010586848.2A priority Critical patent/CN113835850A/zh
Publication of CN113835850A publication Critical patent/CN113835850A/zh
Pending legal-status Critical Current

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
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种任务处理方法,所述方法应用于包含N个设备的系统中,其中,N大于或等于2;所述方法包括:在满足预设条件时,根据所述预设存储空间中存储的数据块进行运算,获得运算结果。

Description

任务处理方法、系统及存储介质
技术领域
本申请涉及芯片技术领域,特别是涉及一种任务处理方法、系统和存储介质。
背景技术
随着高性能计算机和数据中心的发展,越来越多的计算资源被集中起来,多设备协同处理已是常态。而在当多个设备协同运行时,常常需要多个设备之间进行交互,如进行数据传输交互等等。而如何实现多个设备协同运行的执行效率值得关注。
发明内容
基于此,有必要针对上述技术问题,提供一种任务处理方法、系统及存储介质,其能够实现多设备间小数据的高效处理,降低处理延迟,提高处理效率。
一种任务处理方法,所述方法应用于包含N个设备的系统中,其中,N大于或等于2;所述方法包括:
接收上游设备传输的数据块,并在预设存储空间中存储所述数据块;
将从所述上游设备接收的数据块传输至所述当前设备的下游设备;
重复执行上述操作直至满足预设条件,并在满足预设条件时,根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
在其中一个实施例中,所述方法还包括:
当重复执行预设数量的上述操作时,则确定满足预设条件。
在其中一个实施例中,在接收上游设备传输的数据块之前,所述方法还包括:
根据接收到的数据传输触发信号,向所述当前设备的下游设备发送数据块;
其中,所述数据传输触发信号由驱动程序发送至所述N个设备。
在其中一个实施例中,所述数据块中携带通信数据;将从所述上游设备接收的数据块传输至所述当前设备的下游设备,包括:
根据接收的所述上游设备传输的数据块中的通信数据,将从所述上游设备接收的数据块传输至所述下游设备。
在其中一个实施例中,所述通信数据包括第一通信描述符;将从所述上游设备接收的数据块传输至所述当前设备的下游设备,包括:
根据接收的所述上游设备传输的数据块中的第一通信描述符,将从所述上游设备接收的数据块传输至所述下游设备。
在其中一个实施例中,根据接收的所述上游设备传输的数据块中的第一通信描述符,将从所述上游设备接收的数据块传输至所述下游设备,包括:
根据接收的所述上游设备传输的第一通信描述符,获得第一任务模板;
根据所述第一任务模板,获得所述当前设备的任务转发信息;
根据所述任务转发信息,将从所述上游设备接收的数据块传输至所述下游设备。
在其中一个实施例中,所述通信数据还包括第二通信描述符;所述方法还包括:
根据接收的所述上游设备传输的数据块中的第二通信描述符,停止向所述当前设备的下游设备发送数据块。
在其中一个实施例中,所述方法还包括:
根据接收的所述上游设备传输的第二通信描述符,获得第二任务模板;
根据所述第二任务模板,获得所述当前设备的任务执行信息;
根据所述当前设备的任务执行信息和预设存储空间中存储的数据块进行运算,获得运算结果。
在其中一个实施例中,所述第一任务模板和所述第二任务模板由驱动程序配置给各个所述设备。
在其中一个实施例中,所述当前设备包括任务调度装置和人工智能处理装置;所述当前设备根据所述当前设备的任务处理信息和预设存储空间中存储的数据块进行运算,获得运算结果,包括:
所述当前设备的任务调度装置根据所述当前设备的任务执行信息,触发所述当前设备的人工智能处理装置启动;
所述当前设备的人工智能处理装置根据预设存储空间中存储的数据块进行运算,获得运算结果。
在其中一个实施例中,所述方法还包括:
将所述运算结果从所述预设存储空间存储至缓存空间。
在其中一个实施例中,所述第一通信描述符和第二通信描述符由驱动程序配置。
在其中一个实施例中,所述当前设备的预设存储空间由驱动程序分配。
在其中一个实施例中,所述数据块的大小小于或等于预设阈值。
本申请还提供了一种系统,包括相互连接的N个设备,其中,N大于或等于2;
所述N个设备分别向与其连接的下游设备发送数据块;
所述N个设备分别在预设存储空间中存储从所述上游设备接收的数据块;
重复执行上述操作直至满足预设条件;
在满足预设条件时,所述N个设备分别根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
在其中一个实施例中,每个所述设备均包括通信模块,所述通信模块包括:
接收装置,用于接收上游设备传输的数据块;以及
发送装置,用于将从所述上游设备接收的数据块传输至所述设备的下游设备。
在其中一个实施例中,每个数据块中包括通信数据;每个所述设备还包括:
任务调度装置,用于根据所述接收装置传输的通信数据,确定任务处理信息。
在其中一个实施例中,所述通信数据包括第一通信描述符;
所述任务调度装置还用于根据接收的第一通信描述符,获得第一任务模板,并根据所述第一任务模板确定任务转发信息,以触发所述发送装置将从所述上游设备接收的数据块传输至各个所述设备的下游设备。
在其中一个实施例中,所述通信数据包括第二通信描述符;每个所述设备还包括人工智能处理装置;
所述任务调度装置还用于根据接收的第二通信描述符,获得第二任务模板,并根据所述第二任务模板确定任务处理信息,以触发所述人工智能处理装置根据所述当前设备的任务处理信息和预设存储空间中存储的数据块进行运算,获得运算结果。
本申请还提供了一种计算机存储介质,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,能够实现如上述任一项所述的方法。
本申请的任务处理方法、系统及存储介质,首先在N个设备之间进行数据传输,并在每个设备本地的预设存储空间中保存其接收到的数据块,并在满足预设条件时,各个设备再根据预设存储空间中存储的数据块进行运算,从而通过数据传输和运算分离的方式,降低了各个设备中运算部件的频繁启动,进而实现了任务处理的延迟,提高了多设备系统的任务处理效率。同时,该任务处理方法、系统及存储介质,还能够充分地发挥各个设备中的运算资源,避免运算资源的闲置或浪费。
附图说明
图1为本申请一实施例的多设备互联的系统的结构图;
图2为本申请一实施例的多设备互联的系统的结构图;
图3为本申请一实施例的多设备互联的系统中设备间数据传输的示意图;
图4为本申请一实施例中多设备互联的系统中各个设备的存储层次结构图;
图5为本申请一实施例的任务处理方法的流程图;
图6为本申请一实施例的任务处理方法的流程图;
图7为本申请一实施例的任务处理方法中数据转发的流程图;
图8为本申请一实施例的任务处理方法中任务执行的流程图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图1和图2所示,本申请一实施例提供了一种多设备互联的系统。如图1(A)所示,多个设备首尾连接形成环形结构(Ring互联结构)。如图1(B)所示,每个设备均可以连接至系统中的其他设备。应当清楚的是,此处的设备之间的“连接”可以是通信连接。本申请仅以图1的两种设备互联系统进行举例说明,其并不用于限定本申请的保护范围。以下主要结合图1(A)所示的系统,示例性地说明多设备互联的系统的工作原理。
其中,该多设备互联的系统可以包括N个设备,N大于或等于2。设备可以包括芯片、板卡、处理器和处理器核,设备间通信的设备包含但不限于实现芯片之间、板卡之间、处理器或处理器核之间的数据交换。可选地,每个设备可以包含人工智能处理装置,其中的人工智能处理装置包括但不限于图形处理器GPU(Graphics Processing Unit)、神经网络处理器NPU(neural-network processing units)等加速装置。该设备还可以包含中央处理器CPU及存储等其他结构,此处不做具体限定。
如图2所示,该系统中的N个设备均可以连接至一主机,该主机可以是通用处理器。每个设备上均具有一通信任务处理系统200。可选地,图2中的各个设备(设备1、设备2、设备3以及设备N)可以通过两种方式进行通信:
方式一:通过主机实现设备间通信(普通发送模式)。在通过该方式一实现设备1和设备2之间的数据传输时,首先通过主机控制设备1的发送装置220将相关数据发送至设备2,设备2的接收装置240在接收到相关数据之后,返回状态信息给主机。即在方式一的情况下,不同设备之间的数据传送需要主机频繁的介入。
方式二:通过各个设备上的通信任务处理系统实现设备间通信(硬件加速发送模式)。具体地,在通过方式二实现设备之间的数据传输时,只需要在开始阶段通过主机介入,之后不同设备之间可以直接进行数据通信,无需主机介入,从而可以加快数据的传输效率。例如,在通过该方式二实现设备1和设备2之间的数据传输时,首先通过主机控制设备1的发送装置220将相关数据发送至设备2,设备2的接收装置240在接收到相关数据之后,可以直接触发设备2的发送装置220将相关数据传送至设备3。本申请实施例主要结合上述的硬件加速模式进行说明。
如图2所示,每个设备上的任务处理系统200可以包括存储器210、任务处理装置230和通信模块。其中,存储器210可以用于存储用于任务涉及的数据块、各个设备的设备状态数据、通信数据及通信任务模板等等。通信模块用于设备之间的数据通信,通信模块可以包括发送装置220和接收装置240。各个设备的发送装置220用于向该设备的下游设备发送数据,各个设备的接收装置240用于接收该设备的上游设备发送的数据。各个设备的任务处理装置用于对该设备的接收装置接收到的数据进行处理。
进一步地,各个设备的任务处理装置230可以包括任务调度装置和人工智能处理装置。其中,该任务调度装置可以根据从发送装置220接收到的数据块,确定任务处理信息,并根据该任务处理信息触发设备上的发送装置220和/或人工智能处理装置。其中,该数据块中可以包括通信数据,任务调度装置可以根据通信数据确定任务处理信息,该任务处理信息可以包括任务转发信息和任务执行信息。
具体地,各个设备的任务调度装置可以根据任务转发信息触发当前设备的发送装置220动作,以使得当前设备的发送装置220将数据传输至其下游设备,实现设备间数据的广播或分发操作。各个设备的任务调度装置还可以根据任务执行信息触发人工智能处理装置动作,人工智能处理装置可以用于根据任务执行信息执行相关运算。其中,该相关运算可以包括归并运算(Reduce)、全归并运算(Allreduce)以及分散归并运算(Reduce-scatter)等等,此处不做具体限定。进一步地,各个设备的任务调度装置还可以根据任务执行信息在人工智能处理装置完成相关运算之后,触发设备的发送装置220动作,以将人工智能处理装置的运算结果发送给其他设备。
可选地,在设备之间进行数据传输之前,主机可以向各个设备配置相应的数据块,每个设备上的数据块的大小可以相同,也可以不同,此处不做具体限定。具体地,主机上运行的驱动程序可以首先在各个设备上申请一预设存储空间用于存储数据传输过程中的数据块,并分别将各个设备对应的数据块从主机内存搬运至各个设备上的设备内存(存储器210)的预设存储空间中,实现各个设备上数据块的分配。进一步可选地,各个设备上预设存储空间的大小可以大于或等于N个设备的N个数据块的大小,即该预设存储空间能够容纳N个数据块。在其他实施例中,该预设存储空间的大小还可以根据实际情况进行确定,此处不做具体限定。
可选地,该系统中的多个设备之间的数据传输可以是同时进行的,当前设备可以是指该系统中的各个设备。例如,如图2所示,设备1的发送装置220可以将其上的数据块发送至设备2,设备2的发送装置220可以同时将其上的数据块发送至设备3,…设备N-1的发送装置220可以同时将其上的数据块发送至设备N,设备N的发送装置220可以同时将其上的数据块发送至设备1。每个设备在接收到上游设备传输的数据块之后,可以根据该数据块中携带的通信数据,自动将该数据块再转发至其下游设备。如此循环过n轮数据传输直至满足预设条件,在满足预设条件时,系统可以停止设备间的数据传输。可选地,n可以等于N-1,在其他可能的实施例中,n还可以取其他可能的数值,此处不做具体限定。可选地,在经过N-1次数据传输之后,可以确定满足预设条件。
进一步地,在满足预设条件时,则各个设备可以根据其预设存储空间中存储的N个数据块进行运算,获得运算结果。具体地,在满足预设条件时,各个设备上的任务调度装置可以触发其上的人工智能处理装置启动,该人工智能处理装置可以根据其预设存储空间中存储的N个数据块进行运算,获得运算结果。本申请实施例中,每个数据块的数据量大小可以小于或等于预设阈值,该预设阈值可以是根据数据块从一个设备传输至另一个设备所耗费的时间确定的。例如,每个数据块从一个设备传输至另一设备所耗费的时间小于各个设备根据其接收的数据进行运算所耗费的时间时,可以任务数据块的数据量大小小于或等于预设阈值。
由运算过程往往需要等待数据传输结束之后才能进行,这样就容易造成设备上的运算资源的闲置,从而延长整个任务的执行时间。本申请实施例中,根据任务中涉及的数据的特点,在运算执行之前,集中完成一定数量的数据传输,之后再对一定数量的数据块进行整体运算,从而缩短了任务执行过程中的时延情况,从而可以提高任务的执行效率。同时,本申请实施例中的任务处理方式,还可以降低设备中人工智能处理器等运算部件的启动开销,进一步提高了任务的执行效率。可选地,该一定数量的数据传输所耗费的时间基本等于运算所耗费的时间。如该一定数量的数据传输所耗费的时间可以小于或等于运算所耗费的时间。
如图3所示,在多个设备进行数据传输之前,各个设备上的数据情况如图3(A)所示,在经过第一次数据传输之后,各个设备上的数据情况如图3(B)所示,在经过第二次数据传输之后,各个设备上的数据情况如图3(C)所示,在经过第N-1次数据传输之后,各个设备上的数据情况如图3(D)所示。之后,各个设备可以根据其预设存储空间中存储的数据块进行运算,获得运算结果。
可选地,各个设备在进行运算之前,各个设备还可以确定参与运算所需的数据是否完备。在确定参与运算所需的数据完备时,各个设备可以执行运算操作,获得运算结果。可选地,各个设备可以向主机发送一中断信号,主机可以向当前设备返回数据是否完备的反馈信号,当前设备可以根据该反馈信号确定是否执行运算操作。进一步地可选地,在各个设备完成运算操作获得运算结果之后,还可以向主机设备发送运算完成的信号。
可选地,各个设备还可以将其上运算结果存储至缓存空间。本申请实施例中,通过将运算结果存储至缓存空间,而无需将运算结果直接存储至外部存储器中,减少了IO访存的开销。这样,当需要复用该运算结果时,则可以直接从缓存空间中读取该运算结果,从而可以提高运算效率。
如图4所示,各个设备上的存储器可以分为三个层次:第一存储空间、缓存空间和第二存储空间,其中,第一存储的存储空间的大小可以小于缓存空间的大小,缓存空间的大小可以小于第二存储的存储空间。第一存储空间可以是片上存储空间,缓存空间可以是LLC(Last Level Cache),第二存储空间可以是DDR(Double Data Rate,双倍速率存储器)。上述预设存储空间可以是第一存储上的空间。在完成运算之后,各个设备可以将其上运算结果暂存至缓存空间,而无需将运算结果存储至第二存储空间,减少了IO访存的开销。
可选地,由于缓存空间的存储空间相对较小,在利用缓存空间存储运算结果时,可以通过软件或硬件方式锁定该缓存空间,一旦该缓存空间被锁定,其他数据访存无法占用该缓存空间。
进一步地,上述运算结果可以作为下一轮运算所需的输入数据。在一个实施例中,驱动程序可以将各个设备存储在缓存空间的运算结果作为初始数据块下发给各个设备。此时,各个设备可以直接从缓存空间中获得相应的数据块,而无需从第二存储空间中或主机内存中获取相应的数据块,从而提高了数据访存效率,进而可以提高任务处理的效率。在另一个实施例中,上述运算结果可以通过设备上的发送装置直接转发至该设备的下游设备。
可选地,当数据块的大小大于预设阈值,此时各个设备在接收到上游设备传输的数据块时,各个设备上的任务调度装置可触发其人工智能处理装置启动,该人工智能装置可以根据其接收的数据块执行上述的相关运算,并将运算结果存储至第二存储空间中。本申请实施例中,由于数据块相对较大,数据块从一个设备传输至另一设备的所耗费的时间与人工智能处理装置进行运算所耗费的时间相当,此时,各个设备在接收到数据块即可启动人工智能装置进行运算,一方面可以减少处理的延迟,也避免了将N个数据块存储在设备上,从而降低了设备上存储空间的占用。
可选地,为进一步提高处理效率,当每个设备的人工智能处理装置在进行运算的过程中,各个设备上的发送装置或接收装置可以同时进行数据传输。当每个设备的人工智能处理装置在进行运算的过程中,还可以同时实现数据块的搬运。通过设备上不同装置的并行工作,可以实现各种处理操作的流水线作业方式,从而可以降低处理延迟,提高处理效率。
可选地,各个数据块中的通信数据可以是一通信描述符,该通信描述符用于记录数据块相关的信息。可选地,该通信描述符可以包括:任务类型(task_class)、任务标识、通信任务模板地址、通信任务模板标识、数据的源地址和目的地址等等。通信描述符可以是在多设备进行数据交互之前,由主机上运行的驱动程序向各个设备配置的,该通信描述符可以与其他数据绑定形成数据传输过程中的数据块。可选地,各个设备上的数据块可以被拆分为至少一个子数据块,各个设备之间按照一个子数据块的大小进行传输,每个子数据块包括上述的通信描述符,每个子数据块可以称为一个通信切片。
此时,在设备之间进行数据传输之前,驱动程序可以在各个设备上申请一能够容纳N个通信切片的预设存储空间,并分别向各个设备的预设存储空间中存储一通信切片。之后,主机可以向各个设备发送数据传输启动信号,各个设备根据其接收到的数据传输信号,开始向其下游设备发送通信切片。完成一次数据传输之后,各个设备可以根据其接收到的通信切片自动触发下一次的数据传输,具体地,各个设备可以根据其接收到的通信切片中的通信描述符,自动触发下一次的数据传输,直至满足预设条件时停止设备间的数据传输。各个设备根据其预设存储空间中的通信切片包含的数据块进行运算。
具体地,多个设备之间的首次数据传输由驱动程序触发,驱动程序可以向各个设备的接收装置240发送数据传输触发信号。各个设备在接收到驱动程序发送的数据传输触发信号之后,各个设备的发送装置220启动并向其下游设备发送通信切片。各个设备的接收装置240可以接收其上游设备的发送装置220传输的通信切片,并将该上游设备传输的通信切片保存至预设存储空间中。
进一步地,首次传输之后的其他n-1次数据传输,可以是由设备上的任务调度装置根据数据块中的通信数据(如通信描述符)自动触发的。各个设备的接收装置240还可以将该通信切片中的通信描述符传送至该设备的任务调度装置,该设备的任务调度装置可以根据通信描述符触发其发送装置220将其接收到的通信切片发送至下游设备。本申请实施例中,多设备之间的首次传输之外的其他数据传输,可以由任务调度装置直接触发,从而减少了设备与主机之间的交互,提高了任务处理效率。
具体地,任务调度装置可以根据其接收到的通信描述符,确定任务处理信息,该任务处理信息可以包括任务转发信息和任务执行信息。上述通信描述符可以包括第一通信描述符和第二通信描述符,其中第一通信描述符用于表示前n-1次数据传输时对应的通信描述符,第二通信描述符用于表示第n次数据传输时对应的通信描述符。n表示在进行各个设备在执行数据运算之前,执行的数据传输的总次数,n大于或等于2,n为正整数。可选地,n等于N-1。
任务调度装置可以根据其接收到的第一通信描述符,确定任务处理信息为任务转发信息,从而任务调度装置可以自动触发设备的发送装置220将其接收到的通信切片发送至下游设备。任务调度装置还可以根据其接收的第二通信描述符,确定任务处理信息为任务执行信息,从而任务调度装置可以自动触发设备的人工智能处理装置启动,以使得该人工智能处理装置开始执行运算。
进一步地,任务调度装置可以根据其接收到的通信描述符,获得任务模板,根据该任务模板确定任务处理信息,该任务处理信息可以包括任务转发信息和任务执行信息。相应地,任务模板也可以包括第一任务模板和第二任务模板,其中,第一任务模板用于配置将该设备的接收装置240接收的数据转发至下游设备的控制信息,该第一任务模板中可以包括由软件配置好的转发标志位和转发路径(转发路径可以包括下游设备的标识等等)。可选地,各个设备的下游设备可以是一个以上,该设备可以通过其第一任务模板中的下游设备标识确定各个设备需要向哪些下游设备发送数据。任务调度装置可以根据其接收到的第一通信描述符,获得第一任务模板,并根据该第一任务模板确定任务转发信息,从而任务调度装置可以自动触发设备的发送装置220将其接收到的通信切片发送至下游设备。其中,第一通信描述符可以包括第一任务模板的模板标识,任务调度装置可以根据该第一任务模板的模板标识,获得第一任务模板。可选地,任务调度装置还可以根据第一任务模板中的转发标志位确定是否执行转发任务,以及该转发任务的转发路径等,获得任务转发信息。
第二任务模板用于配置该设备的人工智能处理装置进行运算的配置信息。任务调度装置还可以根据其接收的第二通信描述符,获得第二任务模板,并根据第二任务模板确定任务执行信息,从而任务调度装置可以自动触发设备的人工智能处理装置启动,以使得该人工智能处理装置开始执行运算。其中,第二通信描述符中包含第二任务模板的模板标识,任务调度装置可以根据第二任务模板的模板标识获得第二任务模板。
可选地,任务模板(包括第一任务模板和第二任务模板)可以是由驱动程序在设备间进行数据传输之前配置给各个设备的,进一步地,任务模板可以配置给各个设备的任务调度装置。具体地,驱动程序可以分别向各个设备发送任务模板,各个设备可以向驱动程序回传各个任务模板的模板标识,驱动程序可以将各个任务模板的模板标识写入相应的通信描述符中。
可选地,该通信描述符可以是由驱动程序在设备间进行数据传输之前配置的。具体地,驱动程序可以向各个设备分别发送Rx任务,各个设备可以在接收到Rx任务后,下游设备可以将其对应的任务模板标识以及该下游设备对应的预设存储空间的地址,传送至其上游设备。之后,驱动程序还可以向各个设备分别发送Tx任务,根据该当前设备的下游设备传送的任务模板标识以及该下游设备对应的预设存储空间的地址,向当前设备配置通信描述符。
如图5所示,本申请一实施例还提供了一种任务处理方法,所述方法应用于上述的包含N个设备的系统中,其中,N大于或等于2;所述方法包括:
S510、接收上游设备传输的数据块,并在预设存储空间中存储数据块。
可选地,在设备之间进行数据传输之前,驱动程序可以在当前设备的存储器上申请一预设存储空间,该预设存储空间可以用于存储主机下发至该当前设备的数据块,以及设备间数据传输过程中其他设备传输的数据块。可选地,该预设存储空间的空间大小能够存储预设数量的数据块,该预设数量可以等于设备的数量N,即该预设存储空间的空间大小能够存储N个设备上N个数据块。
可选地,在设备之间进行数据传输之前,驱动程序还可以向当前设备下发一数据块。具体地,驱动程序可以将主机内存中存储的数据块搬运至该当前设备的预设存储空间中。这样,在设备之间的数据传输过程中,该当前设备可以将其预设存储空间中存储的数据块传输至其下游设备。
其中,当前设备是指正在进行数据传输的设备,可选地,系统中的N个设备可以同时进行数据传输,系统中的每个设备均可以作为当前设备。当前设备可以接收其上游设备传输的数据块,并在当前设备的预设存储空间中存储其从上游设备接收的数据块。
可选地,该数据块的大小可以小于或等于预设阈值。该预设阈值可以根据该数据块的从一设备传输至另一设备所耗费的时间确定。例如,当该数据块从一设备传输至另一设备所耗费的时间小于或等于运算所耗费的时间时,则可以认为该数据块的数据大小小于或等于预设阈值。在其他实施例中,该预设阈值还可以是预先设定的固定值,如1KB等等,此处不做具体限定。
S520、将从上游设备接收的数据块传输至当前设备的下游设备。
可选地,该数据块中可以包括通信数据,该通信数据可以用于触发设备之间的数据传输。当前设备在接收到其上游设备传输的数据块之后,可以根据该数据块中携带的通信数据,自动将从上游设备接收的数据块传输至当前设备的下游设备。本申请实施例中,当前设备可以在接收到一数据块之后,根据数据块中携带的通信数据自动触发数据转发任务,而无需主机的介入,从而减少了主机与当前设备之间的频繁交互,从而可以提高任务执行效率。
S540、当前设备确定是否满足预设条件。
可选地,当重复执行操作S520和S530预设次数之后,则确定满足预设条件。该预设次数n可以等于N-1,此时,每个设备的预设存储空间中可以存储有N个数据块。在其他实施例中,该预设条件还可以根据实际情况进行确定,此处不做具体限定。
在未满足预设条件时,重复执行操作S520和S530,直至满足预设条件。在满足预设条件时,则执行操作S550,根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
由于当前设备在接收到一数据块,可以自动将数据块转发至其设备,在如图1所示的环形系统结构中,当前设备可以重复执行上述的操作S520和S530,直至满足预设条件。在满足预设条件时,当前设备可以根据预设存储空间存储的数据块进行运算,获得运算结果。
进一步地,在满足预设条件时,当前设备的任务调度装置可以触发该当前设备上的人工智能处理装置启动,该当前设备的人工智能处理装置可以根据预设存储空间中存储的数据块进行运算,获得运算结果。其中,运算可以包括归并运算(Reduce)、全归并运算(Allreduce)以及分散归并运算(Reduce-scatter)等等,此处不做具体限定。
由于运算过程往往需要等待数据传输结束之后才能进行,这样就容易造成设备上的运算资源的闲置,从而延长整个任务的执行时间。本申请实施例中,根据任务中涉及的数据的特点,在运算执行之前,集中完成一定数量的数据传输,之后再对一定数量的数据块进行整体运算,从而缩短了任务执行过程中的时延情况,从而可以提高任务的执行效率。同时,本申请实施例中的任务处理方式,还可以降低设备中人工智能处理器等运算部件的启动开销,进一步提高了任务的执行效率。可选地,该一定数量的数据传输所耗费的时间基本等于运算所耗费的时间。如该一定数量的数据传输所耗费的时间可以小于或等于运算所耗费的时间。
如图3所示,在多个设备进行数据传输之前,各个设备上的数据情况如图3(A)所示,在经过第一次数据传输之后,各个设备上的数据情况如图3(B)所示,在经过第二次数据传输之后,各个设备上的数据情况如图3(C)所示,在经过第N-1次数据传输之后,各个设备上的数据情况如图3(D)所示。之后,各个设备可以根据其预设存储空间中存储的数据块进行运算,获得运算结果,如图3(E)所示。
可选地,如图6所示,所述方法还包括:
S560、当前设备将运算结果从预设存储空间存储至缓存空间。本申请实施例中,通过将运算结果存储至缓存空间,而无需将运算结果直接存储至外部存储器中,减少了IO访存的开销。这样,当需要复用该运算结果时,则可以直接从缓存空间中读取该运算结果,从而可以提高运算效率。
如图4所示,各个设备上的存储器可以分为三个层次:第一存储空间、缓存空间和第二存储空间,其中,第一存储的存储空间的大小可以小于缓存空间的大小,缓存空间的大小可以小于第二存储的存储空间,第二存储空间可以是DDR(Double Data Rate,双倍速率存储器)。上述预设存储空间可以是第一存储上的空间。在完成运算之后,各个设备可以将其上运算结果暂存至缓存空间,而无需将运算结果存储至第二存储空间,减少了IO访存的开销。可选地,由于缓存空间的存储空间相对较小,在利用缓存空间存储运算结果时,可以通过软件或硬件方式锁定该缓存空间,一旦该缓存空间被锁定,其他数据访存无法占用该缓存空间。
进一步地,上述运算结果可以作为下一轮运算所需的输入数据。在一个实施例中,驱动程序可以将各个设备存储在缓存空间的运算结果作为初始数据块下发给各个设备。此时,各个设备可以直接从缓存空间中获得相应的数据块,而无需从第二存储空间中或主机内存中获取相应的数据块,从而提高了数据访存效率,进而可以提高任务处理的效率。在另一个可行的实施例中,该运算结果也可以通过当前设备的发送装置转发至其下游设备。
可选地,设备之间的首次数据传输可以是由主机触发的,之后,设备之间的n-1数据传输可以是由设备中的任务调度装置自动触发的,从而可以减少主机与设备之间的交互。因此,如图5和图6所示,当前设备在接收上游设备传输的数据块之前,上述方法还可以包括:
S510、当前设备根据接收到的数据传输触发信号,向当前设备的下游设备发送数据块;其中,所述数据传输触发信号由驱动程序发送至所述N个设备。
可选地,各个数据块中的通信数据可以是一通信描述符,该通信描述符用于记录数据块相关的信息。可选地,该通信描述符可以包括:任务类型(task_class)、任务标识、通信任务模板地址、通信任务模板标识、数据的源地址和目的地址等等。通信描述符可以是在多设备进行数据交互之前,由主机上运行的驱动程序向各个设备配置的,该通信描述符可以与其他数据绑定形成数据传输过程中的数据块。可选地,各个设备上的数据块可以被拆分为至少一个子数据块,各个设备之间按照一个子数据块的大小进行传输,每个子数据块包括上述的通信描述符,每个子数据块可以称为一个通信切片。在设备之间进行数据交互时,设备之间按照通信切片进行传输,每个通信切片可以包括通信描述符。
可选地,当前设备可以根据其接收的数据块,将该数据块转发至当前设备的下游设备。当前设备将该数据块自动转发至当前设备的下游设备的操作可以包括:
当前设备根据接收的上游设备传输的数据块中的通信数据,将从上游设备接收的数据块传输至所述下游设备。具体地,当前设备根据数据块中的通信描述符,将从上游设备接收的数据块传输至下游设备。进一步地,当前设备可以根据数据块中的通信描述符,获得相应的任务模板,并根据任务模板确定任务处理信息为任务转发信息,该任务转发信息用于表示需要将上游设备传输的数据传输至其下游设备。其中,任务模板用于配置当前设备对其接收的通信切片的处理信息。
可选地,上述通信描述符可以包括第一通信描述符和第二通信描述符,其中第一通信描述符用于表示前n-1次数据传输时对应的通信描述符,第二通信描述符用于表示第n次数据传输时对应的通信描述符。n表示在进行各个设备在执行数据运算之前,执行的数据传输的总次数,n大于或等于2,n为正整数。可选地,n等于N-1。相应地,任务模板也可以包括第一任务模板和第二任务模板,其中,第一任务模板用于配置将该设备的接收装置接收的数据转发至下游设备的控制信息,该第一任务模板中可以包括由软件配置好的转发标志位和转发路径(转发路径可以包括下游设备的标识等等)。可选地,各个设备的下游设备可以是一个以上,该设备可以通过其第一任务模板中的下游设备标识确定各个设备需要向哪些下游设备发送数据。第二任务模板用于配置该设备的人工智能处理装置进行运算的配置信息。
可选地,当前设备将该数据块自动转发至当前设备的下游设备的操作可以包括:
当前设备根据接收的上游设备传输的数据块中的第一通信描述符,将从上游设备接收的数据块传输至下游设备。
具体地,任务调度装置可以根据其接收到的第一通信描述符,确定任务处理信息为任务转发信息,从而任务调度装置可以根据该任务转发信息,自动触发设备的发送装置将其接收到的通信切片发送至下游设备。
如图7所示,当前设备将该数据块自动转发至当前设备的下游设备的操作可以包括:
S710、当前设备根据接收的上游设备传输的第一通信描述符,获得第一任务模板;
其中,第一通信描述符中包含第一任务模板的模板标识,当前设备的任务调度装置可以根据该第一通信描述符中的第一任务模板的模板标识,获得第一任务模板,该第一任务模板中可以包括由软件配置好的转发标志位和转发路径(转发路径可以包括下游设备的标识等等)等信息。
S720、当前设备根据第一任务模板,获得当前设备的任务转发信息。
可选地,当前设备的任务转发信息可以包括是否进行转发以及转发路径等等,此处不做具体限定。当前设备可以根据第一任务模板中的转发标志位确定是否进行转发,根据第一任务模板中的转发路径确定将数据块传送至哪些下游设备。
S730、当前设备根据任务转发信息,将从上游设备接收的数据块传输至下游设备。
可选地,任务调度装置还可以根据其接收的第二通信描述符,停止设备间的数据传输。上述方法还可以包括:
当前设备根据接收的上游设备传输的数据块中的第二通信描述符,停止向当前设备的下游设备发送数据块。
其中,当前设备可以根据其接收的第二通信描述符,确定此次接收到的数据块为第n次数据传输的数据块(即最后一次数据传输的数据块),当前设备可以根据该第二通信描述符停止进行设备之间的数据传输,即上述的操作S520和S530已经重复执行预设次数,满足预设条件,停止向当前设备的下游设备发送数据块。
进一步地,当前设备还可以根据其接收的第二通信描述符,确定任务执行信息,以根据该任务执行信息进行运算,获得运算结果。具体地,如图8所示,上述方法还可以包括:
S810、当前设备根据接收的上游设备传输的第二通信描述符,获得第二任务模板。
其中,第二通信描述符中包含第二任务模板的模板标识,当前设备可以根据第二通信描述符中的第二任务模板标识,获得第二任务模板。第二任务模板中可以配置有执行运算所需的信息,包括但不限于核函数(kernel)的存储地址及大小,以及运算所需的相关参数信息等等。
S820、当前设备根据第二任务模板,获得当前设备的任务执行信息。
S830、当前设备根据当前设备的任务执行信息和预设存储空间中存储的数据块进行运算,获得运算结果。
可选地,当前设备的任务调度装置根据当前设备的任务执行信息,触发当前设备的人工智能处理装置启动;当前设备的人工智能处理装置根据预设存储空间中存储的N个通信切片进行运算,获得运算结果。
可选地,在当前设备根据任务执行信息进行运算之前,当前设备还可以确定参与运算所需的数据是否完备。在确定参与运算所需的数据完备时,当前设备可以根据当前设备的任务执行信息和预设存储空间中存储的数据块进行运算,获得运算结果。可选地,当前设备可以向主机发送一中断信号,主机可以向当前设备返回数据是否完备的反馈信号,当前设备可以根据该反馈信号确定是否执行运算操作。进一步地可选地,在当前设备完成运算操作获得运算结果之后,还可以向主机设备发送运算完成的信号。
可选地,任务模板(包括第一任务模板和第二任务模板)可以是由驱动程序在设备间进行数据传输之前配置给各个设备的,进一步地,任务模板可以配置给各个设备的任务调度装置。具体地,驱动程序可以分别向各个设备发送任务模板,各个设备可以向驱动程序回传各个任务模板的模板标识,驱动程序可以将各个任务模板的模板标识写入相应的通信描述符中。
可选地,该通信描述符可以是由驱动程序在设备间进行数据传输之前配置的。具体地,驱动程序可以向各个设备分别发送Rx任务,各个设备可以在接收到Rx任务后,下游设备可以将其对应的任务模板标识以及该下游设备对应的预设存储空间的地址,传送至其上游设备。之后,驱动程序还可以向各个设备分别发送Tx任务,根据该当前设备的下游设备传送的任务模板标识以及该下游设备对应的预设存储空间的地址,向当前设备配置通信描述符。
可选地,当数据块的大小大于预设阈值,此时各个设备在接收到上游设备传输的数据块时,各个设备上的任务调度装置可触发其人工智能处理装置启动,该人工智能装置可以根据其接收的数据块执行上述的相关运算,并将运算结果存储至第二存储空间中。本申请实施例中,由于数据块相对较大,数据块从一个设备传输至另一设备的所耗费的时间与人工智能处理装置进行运算所耗费的时间相当,此时,各个设备在接收到数据块即可启动人工智能装置进行运算,一方面可以减少处理的延迟,也避免了将N个数据块存储在设备上,从而降低了设备上存储空间的占用。
可选地,为进一步提高处理效率,当每个设备的人工智能处理装置在进行运算的过程中,各个设备上的发送装置或接收装置可以同时进行数据传输。当每个设备的人工智能处理装置在进行运算的过程中,还可以同时实现数据块的搬运。通过设备上不同装置的并行工作,可以实现各种处理操作的流水线作业方式,从而可以降低处理延迟,提高处理效率。
本申请实施例还提供了一种计算机存储介质,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,能够实现上述任一实施例所述的方法。其中,处理器在执行存储器中的计算机程序时,可以实现如下步骤:
接收上游设备传输的数据块,并在预设存储空间中存储所述数据块;
将从所述上游设备接收的数据块传输至所述当前设备的下游设备;
重复执行上述操作直至满足预设条件,并在满足预设条件时,根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
应当清楚的是,本申请实施例中处理器执行计算机程序的过程,与上述实施例中方法的各个执行步骤基本一致,具体可参见上文中的描述,此处不再赘述。
其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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 (18)

1.一种任务处理方法,其特征在于,所述方法应用于包含N个设备的系统中,其中,N大于或等于2;所述方法包括:
接收上游设备传输的数据块,并在预设存储空间中存储所述数据块;
将从所述上游设备接收的数据块传输至所述当前设备的下游设备;
重复执行上述操作直至满足预设条件,并在满足预设条件时,根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当重复执行预设数量的上述操作时,则确定满足预设条件。
3.根据权利要求1所述的方法,其特征在于,在接收上游设备传输的数据块之前,所述方法还包括:
根据接收到的数据传输触发信号,向所述当前设备的下游设备发送数据块;
其中,所述数据传输触发信号由驱动程序发送至所述N个设备。
4.根据权利要求1所述的方法,其特征在于,所述数据块中携带通信数据;将从所述上游设备接收的数据块传输至所述当前设备的下游设备,包括:
根据接收的所述上游设备传输的数据块中的通信数据,将从所述上游设备接收的数据块传输至所述下游设备。
5.根据权利要求3所述的方法,其特征在于,所述通信数据包括第一通信描述符;将从所述上游设备接收的数据块传输至所述当前设备的下游设备,包括:
根据接收的所述上游设备传输的数据块中的第一通信描述符,将从所述上游设备接收的数据块传输至所述下游设备。
6.根据权利要求5所述的方法,其特征在于,根据接收的所述上游设备传输的数据块中的第一通信描述符,将从所述上游设备接收的数据块传输至所述下游设备,包括:
根据接收的所述上游设备传输的第一通信描述符,获得第一任务模板;
根据所述第一任务模板,获得所述当前设备的任务转发信息;
根据所述任务转发信息,将从所述上游设备接收的数据块传输至所述下游设备。
7.根据权利要求5或6所述的方法,其特征在于,所述通信数据还包括第二通信描述符;所述方法还包括:
根据接收的所述上游设备传输的数据块中的第二通信描述符,停止向所述当前设备的下游设备发送数据块。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据接收的所述上游设备传输的第二通信描述符,获得第二任务模板;
根据所述第二任务模板,获得所述当前设备的任务执行信息;
根据所述当前设备的任务执行信息和预设存储空间中存储的数据块进行运算,获得运算结果。
9.根据权利要求8所述的方法,其特征在于,所述第一任务模板和所述第二任务模板由驱动程序配置给各个所述设备。
10.根据权利要求1或8所述的方法,其特征在于,所述当前设备包括任务调度装置和人工智能处理装置;所述当前设备根据所述当前设备的任务处理信息和预设存储空间中存储的数据块进行运算,获得运算结果,包括:
所述当前设备的任务调度装置根据所述当前设备的任务执行信息,触发所述当前设备的人工智能处理装置启动;
所述当前设备的人工智能处理装置根据预设存储空间中存储的数据块进行运算,获得运算结果。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述运算结果从所述预设存储空间存储至缓存空间。
12.根据权利要求7所述的方法,其特征在于,所述第一通信描述符和第二通信描述符由驱动程序配置;
所述当前设备的预设存储空间由驱动程序分配。
13.根据权利要求1-12任一项所述的方法,其特征在于,所述数据块的大小小于或等于预设阈值。
14.一种系统,其特征在于,包括相互连接的N个设备,其中,N大于或等于2;
所述N个设备分别向与其连接的下游设备发送数据块;
所述N个设备分别在预设存储空间中存储从所述上游设备接收的数据块;
重复执行上述操作直至满足预设条件;
在满足预设条件时,所述N个设备分别根据所述预设存储空间中存储的数据块进行运算,获得运算结果。
15.根据权利要求14系统,其特征在于,每个所述设备均包括通信模块和任务调度装置,所述通信模块包括:
接收装置,用于接收上游设备传输的数据块,其中,每个数据块中包括通信数据;以及
发送装置,用于将从所述上游设备接收的数据块传输至所述设备的下游设备;
所述任务调度装置,用于根据所述接收装置传输的通信数据,确定任务处理信息。
16.根据权利要求15所述的系统,其特征在于,所述通信数据包括第一通信描述符;
所述任务调度装置还用于根据接收的第一通信描述符,获得第一任务模板,并根据所述第一任务模板确定任务转发信息,以触发所述发送装置将从所述上游设备接收的数据块传输至各个所述设备的下游设备。
17.根据权利要求15或16所述的系统,其特征在于,所述通信数据包括第二通信描述符;每个所述设备还包括人工智能处理装置;
所述任务调度装置还用于根据接收的第二通信描述符,获得第二任务模板,并根据所述第二任务模板确定任务处理信息,以触发所述人工智能处理装置根据所述当前设备的任务处理信息和预设存储空间中存储的数据块进行运算,获得运算结果。
18.一种计算机存储介质,其特征在于,包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序被处理器执行时,能够实现如权利要求1-13任一项所述的方法。
CN202010586848.2A 2020-06-24 2020-06-24 任务处理方法、系统及存储介质 Pending CN113835850A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010586848.2A CN113835850A (zh) 2020-06-24 2020-06-24 任务处理方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010586848.2A CN113835850A (zh) 2020-06-24 2020-06-24 任务处理方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN113835850A true CN113835850A (zh) 2021-12-24

Family

ID=78963606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010586848.2A Pending CN113835850A (zh) 2020-06-24 2020-06-24 任务处理方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN113835850A (zh)

Similar Documents

Publication Publication Date Title
US7689694B2 (en) Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device
CN108319496B (zh) 资源访问方法、业务服务器、分布式系统及存储介质
CN112784989B (zh) 推理系统、推理方法、电子设备及计算机存储介质
CN115237582B (zh) 处理多个任务的方法、处理设备以及异构计算系统
CN116243995B (zh) 通信方法、装置、计算机可读存储介质以及电子设备
CN116302617B (zh) 共享内存的方法、通信方法、嵌入式系统以及电子设备
US8195737B2 (en) Process management apparatus, computer systems, distributed processing method, and computer program
CN111679900B (zh) 任务处理方法和装置
CN111309488B (zh) 无人机集群的计算资源共享方法与系统及计算机存储介质
CN114595186A (zh) 一种多核处理器的核间通信方法、通信装置
CN103823712A (zh) 一种多cpu虚拟机系统的数据流处理方法和装置
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
CN112667373A (zh) 基于异构cpu架构的任务调度方法、装置、系统及存储介质
CN113835850A (zh) 任务处理方法、系统及存储介质
CN115878333A (zh) 进程组间的一致性判断方法、装置及设备
CN115618966A (zh) 用于训练机器学习模型的方法、装置、设备和介质
CN116048756A (zh) 一种队列调度方法、装置及相关设备
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
CN112311695B (zh) 一种片上带宽动态分配方法及系统
CN114510325A (zh) 任务调度方法、装置及系统
CN112114971A (zh) 一种任务分配方法、装置及设备
JP2008276322A (ja) 情報処理装置、情報処理システムおよび情報処理方法
CN117149471B (zh) 通信方法、装置、嵌入式系统、存储介质以及电子设备
CN117149472B (zh) 通信方法、装置、计算机可读存储介质以及电子设备
US11915041B1 (en) Method and system for sequencing artificial intelligence (AI) jobs for execution at AI accelerators

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