CN117203614A - 一种处理装置、处理方法及相关设备 - Google Patents

一种处理装置、处理方法及相关设备 Download PDF

Info

Publication number
CN117203614A
CN117203614A CN202180096883.9A CN202180096883A CN117203614A CN 117203614 A CN117203614 A CN 117203614A CN 202180096883 A CN202180096883 A CN 202180096883A CN 117203614 A CN117203614 A CN 117203614A
Authority
CN
China
Prior art keywords
processing units
processing
chip
target
mapping
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
CN202180096883.9A
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN117203614A publication Critical patent/CN117203614A/zh
Pending legal-status Critical Current

Links

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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5012Processor sets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/503Resource availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Advance Control (AREA)

Abstract

一种处理装置以及处理方法,其中的处理装置包括调度器(201)、映射器(202)和M个第一处理单元(203);映射器对应N个第二处理单元(204);处理装置集成在第一芯片(200)上,N个第二处理单元(204)集成在第二芯片上;调度器(201)用于接收目标任务,目标任务携带有芯片标识,芯片标识为标识执行目标任务的芯片;映射器(202)用于将N个第二处理单元(204)的计算资源状态信息映射到本地;调度器(201)还用于:根据芯片标识、M个第一处理单元(203)反馈的计算资源状态信息以及映射器中的N个第二处理单元(204)的计算资源状态信息,从M个第一处理单元(203)或N个第二处理单元(204)中确定一个或多个目标处理单元;将目标任务发送至一个或多个目标处理单元中执行。通过该处理装置,可以实现芯片之间的自适应的跨片任务调度。

Description

一种处理装置、处理方法及相关设备 技术领域
本申请涉及处理器技术领域,尤其涉及一种处理装置、处理方法及相关设备。
背景技术
目前人工智能(artificial intelligence,AI)芯片可以分为两种。一种是根据人工智能的网络分解任务,称之为主片。另一种是根据任务进行人工智能网络的计算工作,称之为从片。工作时的模式为:主片将任务下发到从片,从片上的任务调度器可以根据任务类型和本片上的计算资源的忙闲情况,将任务调度给不同的计算资源执行任务。
随着人工智能的发展,任务所需的算力在不断上升。主片或从片只能局限于本片内的计算资源的调度,在一些情况下由于本片计算资源的有限,以致任务无法被分配到有效的计算资源中,因而无法及时的执行。例如,当主片把任务下发至从片后,从片由于仅能调度本片上的计算资源,因此当从片当前处于较忙状态时,则该任务不能立即在从片上有效的执行。因此如何实现任务高效、灵活的调度是亟需解决的技术问题。
发明内容
本申请提供了一种处理装置、处理方法及相关设备,可以实现芯片之间的高效、自适应的跨片任务调度,以弥补单片芯片算力不足的问题。
第一方面,本申请实施例提供了一种处理装置,可包括调度器、映射器和M个第一处理单元;所述映射器对应N个第二处理单元;所述处理装置集成在第一芯片上,所述N个第二处理单元集成在第二芯片上;M、N为大于0的整数;其中,所述调度器,用于接收目标任务,所述目标任务携带有芯片标识,所述芯片标识为标识执行所述目标任务的芯片;所述映射器,用于将所述第二芯片上的所述N个第二处理单元的计算资源状态信息映射到本地;所述调度器,还用于:根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元;将所述目标任务发送至所述一个或多个目标处理单元中执行。
在本申请提供的方案中,通过在不同芯片中的某一个芯片(如第一芯片)上增加了用于映射另一个芯片(如第二芯片)的工作状态信息的映射器,使得该第一芯片可以基于映射器上映射的第二芯片上的相关计算资源的状态信息,合理调度第二芯片上的计算资源,从而有效提升本片的计算能力。具体的,第一芯片上设置了包括调度器、映射器和一个或多个第一处理单元,其中,调度器接收任务,该任务携带有用于表示不限制执行该目标任务的芯片的芯片标识,调度器根据芯片标识调度任务时,可以在本片上查询到两个芯片(包括第一芯片和第二芯片)的计算资源,从而,可以减少确定目标处理单元的时间,将任务快速调度到第一芯片或者第二芯片上有空闲计算资源的处理单元中执行。其中,根据芯片标识,由于不限制执行目标任务的芯片,调度器在确定目标处理单元时,可以优先从第一芯片中确定目标处理单元,当第一芯片中没有空闲计算资源的处理单元时,再从第二芯片 中确定目标处理单元;或者调度器在确定目标处理单元时,可以优先从第二芯片中确定目标处理单元,当第二芯片中没有空闲计算资源的处理单元时,再从第一芯片中确定目标处理单元,这样可以实现自适应的跨片任务调度。不同于现有技术中芯片的调度器只能查询本片上第一处理单元的计算资源状态信息,在本片内调度任务,最终可能会由于本片的算力不足而造成的任务无法及时的执行。本申请实施例中,可以通过第一芯片上设置的映射器,实现对第二芯片上的一个或多个第二处理单元高效、自适应的跨片调度任务,以弥补第一芯片单片芯片的算力不足的问题。
映射器将N个第二处理单元的计算资源状态信息映射到本地,可以理解为,映射器可以对应N个第二处理单元的关系,映射(存储)N个第二处理单元的计算资源状态信息。可选的,映射器还可以判定N个第二处理单元的计算资源状态。
在一种可能的实现方式中,所述调度器,具体用于:所述芯片标识为第一芯片标识,从所述M个第一处理单元中确定一个或多个目标处理单元,当所述M个第一处理单元中没有空闲计算资源的处理单元时,从所述N个第二处理单元中确定一个或多个目标处理单元,所述第一芯片标识用于标识所述目标任务优先在所述第一芯片中执行。
在本申请提供的方案中,第一芯片标识用于表示不限制执行目标任务的芯片,但第一芯片优先执行目标任务。当调度器接收的目标任务携带的芯片为第一芯片标识时,可以优先从M个第一处理单元中确定一个或多个目标处理单元,如果M个第一处理单元中没有空闲计算资源的处理单元,则再从N个第二处理单元中确定一个或多个目标处理单元。这样,可以实现自适应的跨片任务调度。
在一种可能的实现方式中,所述调度器,具体用于:所述芯片标识为第二芯片标识,从所述N个第二处理单元中确定一个或多个目标处理单元,当所述N个第二处理单元中没有空闲计算资源的处理单元时,从所述M个第一处理单元中确定一个或多个目标处理单元,所述第二芯片标识用于标识所述目标任务优先在所述第二芯片中执行。
在本申请提供的方案中,第二芯片标识用于表示不限制执行目标任务的芯片,但第二芯片优先执行目标任务。当调度器接收的目标任务携带的芯片为第二芯片标识时,可以优先从N个第二处理单元中确定一个或多个目标处理单元,如果N个第二处理单元中没有空闲计算资源的处理单元,则再从M个第一处理单元中确定一个或多个目标处理单元。这样,可以实现自适应的跨片任务调度。
在一种可能的实现方式中,所述映射器包括K个映射模块,K为大于0的整数;所述K个映射模块对应所述N个第二处理单元;其中,当N=K时,一个映射模块对应一个第二处理单元;当N>K时,一个映射模块对应多个第二处理单元;当N<K时,多个映射模块对应一个第二处理单元。
在本申请提供的方案中,映射器可以包括一个或多个映射模块。映射器对应一个或多个第二处理单元,具体的实现方式可以是一个映射模块对应一个第二处理单元,或者一个映射模块对应多个第二处理单元,或者多个映射模块对应一个第二处理单元,或者多个映射模块对应多个第二处理单元。通过多种对应方式,可以使得映射器更加灵活地实现与一个或多个第二处理单元的对应。
在一种可能的实现方式中,当一个映射模块对应一个第二处理单元时,一个映射模块, 用于映射一个第二处理单元的计算资源状态信息;或者当一个映射模块对应多个第二处理单元时,一个映射模块,用于映射多个第二处理单元的计算资源状态信息;或者当多个映射模块对应一个第二处理单元时,多个映射模块,用于映射一个第二处理单元的计算资源状态信息。
在本申请提供的方案中,当映射模块对应第二处理单元时,具体的,可以是映射模块存储第二处理单元的计算资源状态信息。计算资源状态信息可以指处理单元处理任务的忙闲情况。通过映射模块存储一个或多个第二处理单元的计算资源状态信息,调度器可以在本片查询到第二处理单元的计算资源状态信息,从而可以更快地调度目标任务至有空闲计算资源的第二处理单元,从而可以实现跨片调度。
在一种可能的实现方式中,当多个映射模块对应一个第二处理单元时,所述多个映射模块,具体用于映射一个第二处理单元中的多个处理子单元的计算资源状态信息,其中,一个映射模块对应一个处理子单元。
在本申请提供的方案中,当多个映射模块存储一个第二处理单元的计算资源状态信息时,多个映射模块存储的可以是第二处理单元中的处理子单元的计算资源状态信息。例如,第二处理单元是CPU时,那么多个映射模块存储的可以是CPU核的计算资源状态信息。这样,映射模块存储的第二处理单元的计算资源状态信息更为细化,可以提高调度器查询第二处理单元的计算资源状态信息的准确度。
在一种可能的实现方式中,当多个映射模块对应一个第二处理单元时,所述多个映射模块,具体用于映射一个第二处理单元中的多个队列的计算资源状态信息,其中,一个映射模块对应一个队列。
在本申请提供的方案中,当多个映射模块存储一个第二处理单元的计算资源状态信息时,多个映射模块存储的可以是第二处理单元中的处理子单元中的线程/队列的计算资源状态信息。例如,第二处理单元是CPU时,处理子单元是CPU核,那么多个映射模块存储的可以是CUP核中的多个线程/队列的计算资源状态信息。这样,映射模块存储的第二处理单元的计算资源状态信息更进一步的细化,可以提高调度器查询第二处理单元的计算资源状态信息的准确度。
在一种可能的实现方式中,所述一个或多个目标处理单元为所述N个第二处理单元中的处理单元,所述映射器,具体用于:接收所述调度器发送的所述目标任务;将所述目标任务发送至所述一个或多个目标处理单元中执行;根据发送至所述N个第二处理单元的任务的数量和所述N个第二处理单元已完成任务的数量,判定所述N个第二处理单元的计算资源状态信息;映射所述N个第二处理单元的计算资源状态信息。
在本申请提供的方案中,映射器映射一个或多个第二处理单元的计算资源状态信息。一种具体的实现方式是,如果一个或多个目标处理单元是所述N个第二处理单元中的处理单元,则调度器可以先将目标任务发送至映射器,映射器再将目标任务转发至一个或多个目标处理单元中执行。一个或多个目标处理单元执行完目标任务后,可以将目标任务的执行结果反馈至映射器,映射器再将目标任务的执行结果转发至调度器。这样,映射器可以根据发送至每个第二处理单元的任务的数量和每个第二处理单元反馈的已完成任务的数量,判定每个第二处理单元的计算资源状态,再映射每个第二处理单元的计算资源状态信息。 这样,调度器就可以从映射器中查询到一个或多个第二处理单元的计算资源状态信息,实现跨片调度。
在一种可能的实现方式中,所述映射器,还用于:存储发送至所述一个或多个目标处理单元的目标任务的信息,所述目标任务的信息用于所述目标任务的维护或异常查询。
在本申请提供的方案中,映射器在转发目标任务至一个或多个目标处理单元时,和在转发目标任务的执行结果至调度器时,可以存储目标任务的信息,目标任务的信息可以包括任务标识以及部分或全部信息,还可以包括目标任务的执行结果。这样,在维护或者异常处理时,可以提高查询的速率。
在一种可能的实现方式中,所述映射器,具体用于:接收所述N个第二处理单元中的每个第二处理单元发送的计算资源状态信息;映射所述N个第二处理单元的计算资源状态信息。
在本申请提供的方案中,映射器映射一个或多个第二处理单元的计算资源状态信息。另一种具体的实现方式是,每个第二处理单元可以直接向映射器上报自身的计算资源状态信息。例如,第二处理单元可以通过接口向映射器上报计算资源状态信息。上报可以是实时的,尽量减少时延。这样,映射器也可以获取到每个第二处理单元的计算资源状态信息,从而调度器可以从映射器中查询到一个或多个第二处理单元的计算资源状态信息,实现跨片调度。
在一种可能的实现方式中,所述目标任务还携带有任务属性,所述目标处理单元为与所述任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。
在本申请提供的方案中,目标任务除了携带芯片标识外,还可以携带有任务属性。调度器调度目标任务时,不仅可以根据芯片标识,还可以根据任务属性,从M个第一处理单元或N个第二处理单元中确定目标处理单元。通过任务属性,可以将目标任务调度至最佳的(与任务属性匹配的)有空闲计算资源的处理单元中执行,从而可以提高目标任务执行的效率。
在一种可能的实现方式中,所述M个第一处理单元中的任意一个第一处理单元为中央处理器CPU、图像处理加速器、图像编解码加速器、人工智能AI计算单元中的任一处理单元;或者,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
第二方面,本申请实施例提供了一种处理方法,该处理方法可应用于处理装置,该处理装置包括调度器、映射器和M个第一处理单元;所述映射器对应N个第二处理单元;所述处理装置集成在第一芯片上,所述N个第二处理单元集成在第二芯片上;M、N为大于0的整数;该处理方法包括:通过所述调度器接收目标任务,所述目标任务携带有芯片标识,所述芯片标识为标识执行所述目标任务的芯片;通过所述映射器将所述第二芯片上的所述N个第二处理单元的计算资源状态信息映射到本地;通过所述调度器根据根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元;将所述目标任务发送至所述一个或多个目标处理单元中执行。
在一种可能的实现方式中,通过所述调度器根据根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元包括:
所述芯片标识为第一芯片标识,通过所述调度器从所述M个第一处理单元中确定一个或多个目标处理单元,当所述M个第一处理单元中没有空闲计算资源的处理单元时,从所述N个第二处理单元中确定一个或多个目标处理单元,所述第一芯片标识用于标识所述目标任务优先在所述第一芯片中执行。
在一种可能的实现方式中,通过所述调度器根据根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元包括:
所述芯片标识为第二芯片标识,通过所述调度器从所述N个第二处理单元中确定一个或多个目标处理单元,当所述N个第二处理单元中没有空闲计算资源的处理单元时,从所述M个第一处理单元中确定一个或多个目标处理单元,所述第二芯片标识用于标识所述目标任务优先在所述第二芯片中执行。
在一种可能的实现方式中,所述映射器包括K个映射模块,K为大于0的整数;所述K个映射模块对应所述N个第二处理单元;其中,当N=K时,通过一个映射模块对应一个第二处理单元;当N>K时,通过一个映射模块对应多个第二处理单元;当N<K时,通过多个映射模块对应一个第二处理单元。
在一种可能的实现方式中,当一个映射模块对应一个第二处理单元时,通过一个映射模块映射一个第二处理单元的计算资源状态信息;或者当一个映射模块对应多个第二处理单元时,通过一个映射模块映射多个第二处理单元的计算资源状态信息;或者当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元中处理子单元的计算资源状态信息。
在一种可能的实现方式中,当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:通过多个映射模块映射一个第二处理单元中的多个处理子单元的计算资源状态信息,其中,一个映射模块对应一个处理子单元。
在一种可能的实现方式中,当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:通过多个映射模块映射一个第二处理单元中的多个队列的计算资源状态信息,其中,一个映射模块对应一个队列。
在一种可能的实现方式中,所述一个或多个目标处理单元为所述N个第二处理单元中的处理单元,所述通过所述映射器将所述第二芯片中的所述N个第二处理单元的计算资源状态信息映射到本地,包括:通过所述映射器:接收所述调度器发送的所述目标任务;将所述目标任务发送至所述一个或多个目标处理单元中执行;根据发送至所述N个第二处理单元的任务的数量和所述N个第二处理单元已完成任务的数量,判定所述N个第二处理单元的计算资源状态;映射所述N个第二处理单元的计算资源状态信息。
在一种可能的实现方式中,该处理方法还包括:通过所述映射器存储发送至所述一个或多个目标处理单元的目标任务的信息,所述目标任务的信息用于所述目标任务的维护或异常查询。
在一种可能的实现方式中,所述通过所述映射器将所述第二芯片中的所述N个第二处理单元的计算资源状态信息映射到本地,包括:通过所述映射器:接收所述N个第二处理单元中的每个第二处理单元发送的计算资源状态信息;映射所述N个第二处理单元的计算资源状态信息。
在一种可能的实现方式中,所述目标任务还携带有任务属性,所述目标处理单元为与所述任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。
在一种可能的实现方式中,所述M个第一处理单元中的任意一个第一处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元;或者,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
第三方面,本申请实施例提供了一种芯片系统,可包括:
上述第一方面、以及结合上述第一方面中的任意一种实现方式所提供的处理装置、以及至少一个第二芯片,所述至少一个第二芯片上包括N个第二处理单元,N为大于0的整数;其中,所述N个第二处理单元,用于:接收所述调度器发送的目标任务;执行所述目标任务。
在一种可能的实现方式中,所述N个第二处理单元,还用于:向所述映射器发送所述目标任务的执行结果。
在一种可能的实现方式中,所述N个第二处理单元,还用于:向所述映射器发送计算资源状态信息。
在一种可能的实现方式中,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
第四方面,本申请实施例提供了一种芯片系统的处理方法,该处理方法可应用于芯片系统,所述芯片系统可包括:上述第一方面、以及结合上述第一方面中的任意一种实现方式所提供的处理装置、以及至少一个第二芯片,所述至少一个第二芯片上包括N个第二处理单元,N为大于0的整数;该处理方法可包括:上述第二方面、以及结合上述第二方面中的任意一种实现方式所提供的处理方法,以及通过所述N个第二处理单元:接收所述调度器发送的目标任务;执行所述目标任务。
在一种可能的实现方式中,该处理方法还包括:通过所述N个第二处理单元,向所述映射器发送所述目标任务的执行结果。
在一种可能的实现方式中,该处理方法还包括:通过所述N个第二处理单元,向所述映射器发送计算资源状态信息。
在一种可能的实现方式中,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
第五方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当该计算机程序被处理装置中的调度器和映射器执行时,可以实现上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的处理方法中的处理装置所执行的流程。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,当该计算机程序被芯片系统执行时,可以实现上述第三方面以及结合上述第三方面中的任意一种实现方式所提供的处理方法中的芯片系统所执行的流程。
第七方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被处理装置中的调度器和映射器执行时,使得处理装置可以执行上述第一方面以及结合上述第一方面中的任意一种实现方式所提供的处理方法。
第八方面,本申请实施例提供了一种计算机程序,该计算机程序包括指令,当该计算机程序被处理装置中的调度器和映射器执行时,使得处理装置可以执行上述第三方面以及结合上述第三方面中的任意一种实现方式所提供的处理方法。
附图说明
图1是现有技术中的一种芯片的结构示意图;
图2是本申请实施例提供的一种处理装置的结构示意图;
图3是本申请实施例提供的又一种处理装置的结构示意图;
图4是本申请实施例提供的一种对应方式的示意图;
图5是本申请实施例提供的另一种对应方式的示意图;
图6是本申请实施例提供的又一种对应方式的示意图;
图7是本申请实施例提供的又一种对应方式的示意图;
图8是本申请实施例提供的又一种对应方式的示意图;
图9是本申请实施例提供的又一种对应方式的示意图;
图10是本申请实施例提供的又一种对应方式的示意图;
图11是本申请实施例提供的一种芯片的交互示意图;
图12是本申请实施例提供的一种处理方法的流程示意图;
图13是本申请实施例提供的一种芯片系统的结构示意图;
图14是本申请实施例提供的另一种处理方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例进行描述。本申请的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。在本文中提及“实施例”意味着,结合 实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。
首先,为了便于理解本申请实施例,进一步分析并提出本申请所具体要解决的技术问题。目前,关于芯片的任务调度的技术方案如以下示例性的列举。
请参阅图1,图1是现有技术中的一种芯片的结构示意图。如图1所示,该芯片包括中央调度单元(central scheduling unit,CSU)、分配单元根(distribution unit root,DUR)、分配单元(distribution unit,DU)1、DU0和中央处理器(Central Processing Unit,CPU)、共享内存(shared memory)、直接存储器访问(direct memory access,DMA)、中断控制器(interrupt controller)和输入/输出接口(input/output,I/O)。其中,共享内存包括CPU核和DMA与网络的接口(cores and DMA interface to networks)、读写网络(read and write networks)以及4M字节大小的内存条(memory banks 4 Mbyte)。DUR可以对应多个DU0,DU0可以对应多个DU1,DU1可以对应多个CPU,该芯片中的所有CPU可以通过共享内存进行数据的读写等操作。
其中,CSU用于任务的调度。具体的:CPU可以向上一级DU上报自己是否还可以接收任务,也可以在任务完成时向上一级DU上报完成结果。DU会汇总自己所对应的所有的CPU的状态,并向上一层DU上报,直到上报给DUR,DUR将汇总情况上报给CSU,以供CSU将汇总情况作为任务调度的条件来对任务进行调度。CSU内维护一些查找表(look-up table,LUT),根据任务调度的条件查询LUT,确定当前任务是否可以下发执行,如果条件满足,CSU会将任务调度到一个空闲CPU。CSU将任务调度出后,可以将任务发送给DUR,DUR可以将任务再分发到下一级的DU0,DU0将任务再分发到下一级的DU1,由DU1将任务分发给对应的CPU。
该方案的技术缺陷,主要包括以下几个方面:
1、芯片只能调用本片内部的计算资源,无法调用除本片以外的计算资源,若本片处理装置的计算资源不足,则会影响任务的执行。
2、芯片中的计算资源的闲忙状态需要分级汇总上报至CSU,存在延迟,导致计算资源的忙闲状态反映不够及时。
3、将任务下发至处理器时未考虑任务的属性,将所有处理器视作一样,以致无法将任 务调度至最佳的处理器上。
因此,本申请实施例所要解决的技术问题可以包括如下:
1、处理装置可以在本芯片的计算资源不足的情况下,调用其它芯片的计算资源来进行任务的执行,从而可以弥补单片算力不足的问题;2、将其它芯片的计算资源映射到本芯片上,可以实现在本片内查询其它芯片的计算资源的忙闲状态,降低了查询计算资源忙闲状态的时延;3、任务下发至调度器时携带有任务属性,调度器可以根据任务的属性将任务调度至最佳的处理器上,可以提高任务处理的效率。
基于上述,下面对本申请实施例提供的处理装置进行描述。请参阅图2,图2是本申请实施例提供的一种处理装置的结构示意图。如图2所示,该处理装置200可以包括调度器201、映射器202和M个第一处理单元203。其中,该处理装置200可以集成在第一芯片上,映射器202可以对应N个第二处理单元204,N个第二处理单元204集成在第二芯片上,M、N为大于0的整数。目标任务由任务发布源发布至调度器201中,目标任务携带有用于表示不限制执行该目标任务的芯片的芯片标识,调度器201根据芯片标识调度任务时,可以在本片上查询M个第一处理单元203和N个第二处理单元204的计算资源状态信息,其中,N个第二处理单元204的计算资源状态信息是由映射器202从第二芯片中映射过来的,调度器201可以根据M个第一处理单元203和N个第二处理单元204的计算资源状态信息,从M个第一处理单元203或N个第二处理单元204中确定目标处理单元,将目标任务发送至目标处理单元中执行。根据芯片标识,由于不限制执行目标任务的芯片,调度器201在确定一个或多个目标处理单元时,可以优先从M个第一处理单元203中确定一个或多个目标处理单元,当M个第一处理单元203中没有空闲计算资源的处理单元时,再从N个第二处理单元204中确定一个或多个目标处理单元;或者调度器在确定一个或多个目标处理单元时,可以优先从N个第二处理单元204中确定一个或多个目标处理单元,当N个第二处理单元204中没有空闲计算资源的处理单元时,再从M个第一处理单元203中确定一个或多个目标处理单元,这样可以实现自适应的跨片任务调度。因此,不同于现有技术中的调度器只能查询本片上第一处理单元的计算资源状态信息,在本片内调度任务,有可能会由于本片的算力不足而造成的任务无法及时的执行。本申请实施例中,可以通过第二芯片上的一个或多个第二处理单元实现自适应的跨片任务调度,以弥补第一芯片单片芯片的算力不足的问题。
请参阅图3,图3是本申请实施例提供的又一种处理装置的结构示意图。如图3所示,任务发布源可以将任务同时下发至一个或多个第一芯片的处理装置中的调度器中(图3中以3个为例)。
可选的,本申请实施例可以适用于芯片之间的跨片任务调度,也可以适用于CPU之间的跨CPU任务调度,还可以适用于裸片(die)之间的跨片任务调度等。
下面对图2所示的处理装置进行详细描述:
调度器201,用于接收目标任务,目标任务携带有芯片标识,还可以携带有任务属性。芯片标识为标识执行目标任务的芯片,可以理解为,芯片标识可以表示目标任务对跨片执行不敏感,即不限制目标任务的执行芯片。若芯片标识为第一芯片和第二芯片,可以表示 该目标任务可以在第一芯片上执行,也可以在第二芯片上执行。任务属性可以是任务的类型、任务所需计算频率或者任务所需空间等属性。例如,该任务是属于什么样类型的任务,或者该任务是属于哪种计算频率的任务,或者该任务是属于所需空间大的任务。任务属性还可以是一些具有特殊计算类型的任务的属性。
若目标任务对跨片执行不敏感,则芯片标识可以包括第一芯片标识和第二芯片标识。第一芯片标识用于表示不限制执行目标任务的芯片,但第一芯片优先执行目标任务。第二芯片标识用于表示不限制执行目标任务的芯片,但第二芯片优先执行目标任务。
例如,芯片标识可以是“0”,表示不限制目标任务的执行芯片;第一芯片标识可以是“01”,表示不限制执行目标任务的芯片,但第一芯片优先执行目标任务;第二芯片标识可以是“02”,表示不限制执行目标任务的芯片,但第二芯片优先执行目标任务;又例如,芯片标识可以是“012”,表示芯片0、芯片1和芯片2可以执行该目标任务;第一芯片标识可以是“0120”,表示芯片0、芯片1和芯片2可以执行该目标任务,芯片0优先执行目标任务;第二芯片标识可以是“0121”,表示芯片0、芯片1和芯片2可以执行该目标任务,芯片1优先执行目标任务。
又例如,芯片标识也可以是“1”,表示目标任务尽可能快地完成,调度器201确定该目标任务只能在本片调度;芯片标识又可以是“2”,表示目标任务尽可能多地占用计算资源,调度器201确定该目标任务可以优先在第二芯片执行。
其中,目标任务可以是由任务发布源下发至调度器201中的,任务发布源下发目标任务时可以不区分目标任务是应该发送到第一芯片还是第二芯片,先统一将目标任务下发到调度器201中,再由调度器201进行调度。任务发布源可以是单独于第一芯片和第二芯片之外的编译器,编译器用于编译任务,并将编译好的任务下发至调度器201中。任务发布源也可以是在第一芯片或者第二芯片内的用于下发任务给调度器201的部分器件,本申请对此不作限定。
调度器201接收到任务发布源下发的目标任务时,可以根据芯片标识、M个第一处理单元203反馈的计算资源状态信息以及映射器202中的N个第二处理单元204的计算资源状态信息,从M个第一处理单元203或N个第二处理单元204中确定一个或多个目标处理单元,具体的实现方式可以如下:
在一种实现方式中,若目标任务携带芯片标识,调度器201可以根据该芯片标识确定不限制执行目标任务的芯片,先查询M个第一处理单元203和N个第二处理单元204的计算资源状态信息,从M个第一处理单元203或N个第二处理单元204确定有空闲计算资源的处理单元。或者,调度器201可以先从M个第一处理单元203和N个第二处理单元204中确定有空闲计算资源的处理单元,再根据芯片标识从这些有空闲计算资源的处理单元中确定一个或多个目标处理单元。若只有第一处理单元中有空闲计算资源的处理单元,可以从第一处理单元中确定一个或多个目标处理单元;若只有第二处理单元中有空闲计算资源的处理单元,可以从第二处理单元中确定一个或多个目标处理单元;若第一处理单元和第二处理单元中都有空闲计算资源的处理单元,则可以根据这些有空闲计算资源的处理单元对应的序号大小来确定一个或多个目标处理单元,例如,选择有空闲计算资源的处理单元的序号大的处理单元为目标处理单元,或者选择有空闲计算资源的处理单元的序号小的处 理单元为目标处理单元。同理,从第一处理单元中确定一个或多个目标处理单元或者从第二处理单元中确定一个或多个目标处理单元时,若第一处理单元或第二处理单元的有空闲计算资源的处理单元的数量大于目标处理单元的数量时,也可以根据这些有空闲计算资源的处理单元对应的序号大小来确定目标处理单元。其中,M个第一处理单元203和N个第二处理单元204中的每个处理单元对应的序号可以是预先设置好的,每个处理单元对应的序号均不相同。计算资源状态信息可以指处理单元处理任务的忙闲情况,可以包括处理单元可以接收任务的数量和处理单元的工作状态等信息。
在另一种实现方式中,若目标任务携带第一芯片标识,调度器201可以根据该第一芯片标识确定不限制执行目标任务的芯片,但第一芯片优先执行该目标任务。调度器201可以先查询M个第一处理单元203的计算资源状态信息,从M个第一处理单元203中确定一个或多个目标处理单元,如果M个第一处理单元203中没有空闲计算资源的处理单元,则再查询N个第二处理单元204的计算资源状态信息,从N个第二处理单元204中确定一个或多个目标处理单元。同上述实现方式中的,从第一处理单元中确定目标处理单元或者从第二处理单元中确定一个或多个目标处理单元时,若第一处理单元或第二处理单元的有空闲计算资源的处理单元的数量大于目标处理单元的数量时,可以根据这些有空闲计算资源的处理单元对应的序号大小来确定目标处理单元。
在又一种实现方式中,若目标任务携带第二芯片标识,调度器201可以根据该第二芯片标识确定不限制执行目标任务的芯片,但第二芯片优先执行该目标任务。调度器201可以先查询N个第二处理单元204的计算资源状态信息,从N个第二处理单元204中确定一个或多个目标处理单元,如果N个第二处理单元204中没有空闲计算资源的处理单元,则再查询M个第一处理单元203的计算资源状态信息,从M个第一处理单元203中确定一个或多个目标处理单元。同上述实现方式中的,从第一处理单元中确定目标处理单元或者从第二处理单元中确定一个或多个目标处理单元时,若第一处理单元或第二处理单元的有空闲计算资源的处理单元的数量大于目标处理单元的数量时,可以根据这些有空闲计算资源的处理单元对应的序号大小来确定目标处理单元。
可选的,当目标任务还携带有任务属性时,目标处理单元为与任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。调度器201通过任务属性,可以将目标任务调度至最佳的目标处理单元中执行,即调度至与任务属性匹配的有空闲计算资源的处理单元中执行,从而可以提高目标任务执行的效率。具体的,若任务属性指的是任务的类型,某些任务的类型比较特殊,只能在一类处理单元上去执行。一些任务是控制类型的任务(控制任务的开始和结束),一些任务是处理异常的任务。例如,一个芯片上有10个CPU,9个CPU是用于做计算的,一个CPU(CPU1)是用于控制其它9个CPU的(给其它9个CPU发控制命令,控制其它9个CPU的开始执行任务和结束执行任务)。那么,发送控制命令这个任务的任务属性就可以是控制类,CPU1是用于执行控制类任务的CPU,那么调度器就可以把该发送控制命令的任务调度给CPU1执行。
调度器201确定一个或多个目标处理单元之后,可以将目标任务发送至一个或多个目标处理单元中执行。
映射器202,将所述第二芯片上的所述N个第二处理单元的计算资源状态信息映射到本地。可以理解为,映射器202可以对应N个第二处理单元204与本地的关系,映射(存储)N个第二处理单元204的计算资源状态信息。可选的,映射器202还可以判定N个第二处理单元的计算资源状态。
其中,映射器202对应N个第二处理单元204与本地的关系,具体实现可以如下:
映射器202可以包括K个映射模块,K为大于0的整数,该K个映射模块对应N个第二处理单元204。K个映射模块对应N个第二处理单元204,可以是一对一对应,也可以是一对多对应,还可以多对一对应,还可以是多对多对应。K个映射模块中,可以有一部分的映射模块是一对一对应第二处理单元,也可以有一部分的映射模块是一对多对应第二处理单元,还可以有一部分的映射模块是多对一对应第二处理单元,还可以有一部分的映射模块是多对多对应第二处理单元,本申请对应的方式不作限定。
在一种实现方式中,当N=K时,一个映射模块可以对应一个第二处理单元。在一个实施例中,请参阅图4,图4是本申请实施例提供的一种对应方式的示意图。如图4所示,K=3,N=3,即可以包括3个映射模块和3个第二处理单元,第二处理单元可以是CPU。其中,映射模块0对应CPU0,映射模块1对应CPU1,映射模块2对应CPU2。
在另一种实现方式中,当N>K时,一个映射模块可以对应多个第二处理单元。在一个实施例中,请参阅图5,图5是本申请实施例提供的另一种对应方式的示意图。如图5所示,K=1,N=3,即可以包括1个映射模块和3个第二处理单元,第二处理单元可以是CPU。其中,映射模块1对应CPU0、CPU1以及CPU2。
在又一种实现方式中,当N<K时,多个映射模块可以对应一个第二处理单元。在一个实施例中,请参阅图6,图6是本申请实施例提供的又一种对应方式的示意图。如图6所示,K=3,N=1,即可以包括3个映射模块和1个第二处理单元,第二处理单元可以是CPU。其中,映射模块0、映射模块1和映射模块2对应CPU1。
具体的,多个映射模块对应一个第二处理单元可以分两种情况:
第一种情况:多个映射模块可以具体对应一个第二处理单元中的多个处理子单元。其中,一个映射模块对应一个处理子单元。例如,第二处理单元是CPU,多个处理子单元是CPU中的多个CPU核,则多个映射模块对应多个CPU核。
第二种情况:多个映射模块可以具体对应一个第二处理单元中的多个队列。其中,一个映射模块对应一个队列。多个队列可以是一个第二处理单元中的多个队列(如除CPU核其他的队列),也可以是第二处理单元的处理子单元中的多个队列(如CPU核上的队列)。多个映射模块对应多个队列时,可以参考上述K个映射模块对应N个第二处理单元204的对应方式。例如,第二处理单元是CPU,则多个处理子单元是CPU中的多个CPU核,多个队列是CPU核的多个线程或队列。在一个实施例中,请参阅图7,图7是本申请实施例提供的又一种对应方式的示意图。如图7所示,K=3,N=1,即可以包括3个映射模块和1个第二处理单元,第二处理单元可以是CPU,CPU1包括3个线程/队列。其中,映射模块0对应线程/队列0,映射模块1对应线程/队列1,映射模块2对应线程/队列2。
在又一种实现方式中,当N=K或N>K或N<K时,多个映射模块可以对应多个第二处理单元。在一个实施例中,请参阅图8,图8是本申请实施例提供的又一种对应方式的示意 图。如图8所示,K=3,N=3,即可以包括3个映射模块和3个第二处理单元,第二处理单元可以是CPU。其中,映射模块0对应CPU0、CPU1以及CPU2,映射模块1对应CPU0、CPU1以及CPU2,映射模块2对应CPU0、CPU1以及CPU2。
具体的,多个映射模块对应多个第二处理单元可以分为两种情况:
第一种情况:多个映射模块可以具体对应多个第二处理单元中的多个处理子单元。例如,第二处理单元是CPU,多个处理子单元是CPU中的多个CPU核,则多个映射模块对应多个CPU核。可以理解,多个映射模块可以对应一个第二处理单元中的多个处理子单元,也可以对应多个第二处理单元中的一个或多个处理子单元。
第二种情况:多个映射模块可以具体对应一个第二处理单元中的多个队列。在一个实施例中,请参阅图9,图9是本申请实施例提供的又一种对应方式的示意图。如图9所示,K=3,N=3,即可以包括3个映射模块和3个第二处理单元,第二处理单元可以是CPU。每个CPU中包括3个线程/队列(也可以是3个CPU核,这里以3个线程/队列为例)。其中,映射模块0对应CPU0中的线程/队列0,映射模块1对应CPU1中的线程/队列1,映射模块2对应CPU2中的线程/队列2。可以理解,映射模块0也可以对应CPU0中的其他线程/队列,映射模块1也可以对应CPU1中的其他线程/队列,映射模块2也可以对应CPU2中的其他线程/队列。在另一个实施例中,请参阅图10,图10是本申请实施例提供的又一种对应方式的示意图。如图10所示,K=3,N=3,即可以包括3个映射模块和3个第二处理单元,第二处理单元可以是CPU。每个CPU中包括3个线程/队列。其中,映射模块0可以对应CPU0、CPU1和CPU2中的线程/队列0、线程/队列1以及线程/队列2,映射模块1可以对应CPU0、CPU1和CPU2中的线程/队列0、线程/队列1以及线程/队列2,映射模块2可以对应CPU0、CPU1和CPU2中的线程/队列0、线程/队列1以及线程/队列2。或者,映射模块0可以对应CPU0中的线程/队列0、CPU1中的线程/队列0以及CPU2中的线程/队列0,映射模块1可以对应CPU0中的线程/队列1、CPU1中的线程/队列1以及CPU2中的线程/队列1,映射模块2可以对应CPU0中的线程/队列2、CPU1中的线程/队列2以及CPU2中的线程/队列2。本实施例还可以有其它的对应方式,不作限定。
可以理解,以上是部分示例性的实施方式,本申请实施例中的对应方式包括但不仅限于以上的对应方式。通过多种对应方式,可以使得映射器更加灵活地实现与一个或多个第二处理单元的对应。
映射器202映射N个第二处理单元204的计算资源状态信息,具体的,当一个映射模块对应一个第二处理单元时,一个映射模块,用于映射一个第二处理单元的计算资源状态信息;或者当一个映射模块对应多个第二处理单元时,一个映射模块,用于映射多个第二处理单元的计算资源状态信息;或者当多个映射模块对应一个第二处理单元时,多个映射模块,用于映射一个第二处理单元的计算资源状态信息;或者当多个映射模块对应多个第二处理单元时,多个映射模块,用于映射多个第二处理单元的计算资源状态信息。这样,映射模块映射的第二处理单元的计算资源状态信息更进一步的细化,可以提高调度器201查询N个第二处理单元204的计算资源状态信息的准确度。
映射器202映射N个第二处理单元204的计算资源状态信息,具体实现方式可以如下:
在一种可能的实现方式中,若一个或多个目标处理单元是所述N个第二处理单元中的 处理单元,则调度器201可以先将目标任务发送至映射器202,映射器202接收调度器201发送的目标任务,再将目标任务转发至目标处理单元中执行。目标处理单元执行完目标任务后,可以将目标任务的执行结果反馈至映射器202,映射器202再将目标任务的执行结果转发至调度器201。这样,映射器202可以根据发送至N个第二处理单元204中每个第二处理单元的任务的数量和N个第二处理单元204中每个第二处理单元已完成任务的数量,判定N个第二处理单元204中每个第二处理单元的计算资源状态,再映射N个第二处理单元204的计算资源状态信息。例如,若N个第二处理单元204中的某个第二处理单元未完成的任务数量超出设定的阈值之后,则映射器202可以确定这个第二处理单元处于忙碌的状态,上报给调度器201,调度器201不再给该第二处理单元下发任务。
可选的,映射器202还可以存储发送至N个第二处理单元204中目标处理单元的目标任务的信息,该目标任务的信息用于目标任务的维护或异常查询。目标任务的信息可以包括任务标识以及部分或全部信息,还可以包括目标任务的执行结果。这样,在维护或者异常处理时,可以提高查询的速率。
在另一种可能的实现方式中,映射器202可以包括对应模块、映射模块和判定模块。若一个或多个目标处理单元是所述N个第二处理单元中的处理单元,则调度器201可以先将目标任务发送至映射器202,映射器202接收调度器201发送的目标任务,再将目标任务转发至一个或多个目标处理单元中执行。一个或多个目标处理单元执行完目标任务后,可以将目标任务的执行结果反馈至映射器202,映射器202再将目标任务的执行结果转发至调度器201。其中,对应模块可以对应N个第二处理单元204与本地的关系,映射模块可以映射N个第二处理单元204的计算资源状态信息,判定模块可以根据发送至N个第二处理单元204中每个第二处理单元的任务的数量和N个第二处理单元204中每个第二处理单元已完成任务的数量,判定N个第二处理单元204中每个第二处理单元的计算资源状态。例如,若N个第二处理单元204中的某个第二处理单元未完成的任务数量超出设定的阈值之后,则判定模块可以判定这个第二处理单元处于忙碌的状态,上报给调度器201,调度器201不再给该第二处理单元下发任务。
可选的,映射模块还可以存储发送至N个第二处理单元204中一个或多个目标处理单元的目标任务的信息,该目标任务的信息用于目标任务的维护或异常查询。目标任务的信息可以包括任务标识以及部分或全部信息,还可以包括目标任务的执行结果。这样,在维护或者异常处理时,可以提高查询的速率。可选的,如果映射模块只用于映射N个第二处理单元204的计算资源状态信息,那么,存储目标任务的任务信息,可以由调度器202中的其他模块来完成。
在又一种可能的实现方式中,N个第二处理单元204中的每个第二处理单元可以向映射器202发送自己的计算资源状态信息,映射器202接收N个第二处理单元204中的每个第二处理单元发送的计算资源状态信息之后,再映射N个第二处理单元204的计算资源状态信息。例如,N个第二处理单元204可以通过接口向映射器202上报计算资源状态信息。即第一芯片可以设置有接口,N个第二处理单元204的计算资源状态信息可以通过接口上报给映射器202。N个第二处理单元204向映射器202上报计算资源状态信息可以是实时的,尽量减少时延。接口可以是硬件,也可以以软件实现N个第二处理单元204的计算资 源状态信息的传输。
可选的,调度器201向N个第二处理单元204中的一个或多个目标处理单元发送目标任务时,还可以经过映射器202的转发。这样,映射器202还可以存储发送至N个第二处理单元204中的目标处理单元的目标任务的信息。这样,在维护或者异常处理时,可以提高查询的速率。
在又一种可能的实现方式中,映射器202可以包括对应模块和映射模块。对应模块可以对应N个第二处理单元204与本地的关系。N个第二处理单元204中的每个第二处理单元可以向映射模块发送自己的计算资源状态信息,映射模块接收N个第二处理单元204中的每个第二处理单元发送的计算资源状态信息之后,再映射N个第二处理单元204的计算资源状态信息。例如,N个第二处理单元204可以通过接口向映射模块上报计算资源状态信息。即第一芯片可以设置有接口,N个第二处理单元204的计算资源状态信息可以通过接口上报给映射模块。N个第二处理单元204向映射模块上报计算资源状态信息可以是实时的,尽量减少时延。接口可以是硬件,也可以以软件实现N个第二处理单元204的计算资源状态信息的传输。
可选的,调度器201向N个第二处理单元204中的一个或多个目标处理单元发送目标任务时,还可以经过映射器202的转发。这样,映射模块还可以存储发送至N个第二处理单元204中的一个或多个目标处理单元的目标任务的信息。这样,在维护或者异常处理时,可以提高查询的速率。可选的,如果映射模块只用于映射N个第二处理单元204的计算资源状态信息,那么,存储目标任务的任务信息,可以由调度器202中的其他模块来完成。
可以理解的,以上各个实现方式的描述中,M个第一处理单元203中的任意一个第一处理单元可以为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。同理,N个第二处理单元204中的任意一个第二处理单元也可以为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
在一个具体的示例中,可以以昇腾AI芯片1981和鲲鹏处理器芯片1630组网工作的场景作为示例。一般情况下,1981和1630的组网工作情况主要分为两种,一种是4片1630+16片1981,另一种是8片1630+8片1981。在进行组网工作时,可以从组网中选择一片1981作为示例。1981上集成有总调度器(STARS),该调度器可以包括其他调度器,例如事件调度器(TOPIC SCH),事件调度器内部存在一个名为ACC_SLOT的调度逻辑模块,调度逻辑模块内部最多可以有64个槽(SLOT),每个槽与1630侧预留的CPU绑定。
请参阅图11,图11是本申请实施例提供的一种芯片的交互示意图。如图11所示,包括芯片1981和芯片1630,芯片1981上集成有调度器(STARS)、事件调度器(TOPIC SCH)、调度逻辑模块、槽(slot)和AICPU0-AICPU5,芯片1630上集成有CPU0-CPU2。
结合上述的处理装置,第一芯片可以是芯片1981,第二芯片可以是芯片1630,M=6,N=3,即第一芯片上集成6个第一处理单元(AICPU0-AICPU5),第二芯片上集成3个第二处理单元(CPU0-CPU2)。处理装置集成在第一芯片上,包括调度器(事件调度器(TOPIC SCH))、映射器(调度逻辑模块)和6个第一处理单元。映射器包括映射模块(槽(SLOT))。处理装置实现自适应的跨片任务调度的具体实现可以具体参考上述图2-图9中处理装置的 实现方式,为避免重复,在此不再赘述。
请参阅图12,图12是本申请实施例提供的一种处理方法的流程示意图。该处理方法,应用于处理装置,该处理装置包括调度器、映射器和M个第一处理单元;映射器对应N个第二处理单元;处理装置集成在第一芯片上,N个第二处理单元集成在第二芯片上;M、N为大于0的整数;且该处理方法适用于上述图2-图10中的任意一种处理装置。如图12所示,该处理方法可以包括以下步骤S1201-步骤S1204。
S1201、通过调度器接收携带有芯片标识的目标任务。
通过调度器接收目标任务,目标任务携带有芯片标识,芯片标识用于标识执行目标任务的芯片。可选的,目标任务还携带有任务属性。
S1202、通过映射器将第二芯片上的N个第二处理单元的计算资源状态信息映射到本地。
通过映射器将第二芯片上的N个第二处理单元的计算资源状态信息映射到本地,具体的实现方式可以为:
通过映射器,接收调度器发送的目标任务;将目标任务发送至一个或多个目标处理单元中执行;根据发送至N个第二处理单元的任务的数量和N个第二处理单元已完成任务的数量,判定N个第二处理单元的计算资源状态;映射N个第二处理单元的计算资源状态信息。可选的,通过映射器存储发送至一个或多个目标处理单元的目标任务的信息,目标任务的信息用于目标任务的维护或异常查询。
或者通过映射器,接收N个第二处理单元中的每个第二处理单元发送的计算资源状态信息;映射N个第二处理单元的计算资源状态信息。
具体的,映射器可以包括K个映射模块,K为大于0的整数。K个映射模块对应N个第二处理单元。其中:当N=K时,通过一个映射模块对应一个第二处理单元;当N>K时,通过一个映射模块对应多个第二处理单元;当N<K时,通过多个映射模块对应一个第二处理单元。
当一个映射模块对应一个第二处理单元时,通过一个映射模块映射一个第二处理单元的计算资源状态信息;或者当一个映射模块对应多个第二处理单元时,通过一个映射模块映射多个第二处理单元的计算资源状态信息;或者当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元中处理子单元的计算资源状态信息。
当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:通过多个映射模块映射一个第二处理单元中的多个处理子单元的计算资源状态信息,其中,一个映射模块对应一个处理子单元。
当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:通过多个映射模块映射一个第二处理单元中的多个队列的计算资源状态信息,其中,一个映射模块对应一个队列。
S1203、通过调度器根据芯片标识、M个第一处理单元反馈的计算资源状态信息以及映射器中的N个第二处理单元的计算资源状态信息,从M个第一处理单元或N个第二处理单元中确定一个或多个目标处理单元。
在一种实现方式中,若目标任务携带芯片标识,通过调度器根据该芯片标识确定不限 制执行目标任务的芯片,从M个第一处理单元或N个第二处理单元确定有空闲计算资源的处理单元。
在另一种实现方式中,若目标任务携带第一芯片标识,通过调度器从M个第一处理单元中确定一个或多个目标处理单元,当M个第一处理单元中没有空闲计算资源的处理单元时,从N个第二处理单元中确定一个或多个目标处理单元,第一芯片标识用于标识目标任务优先在第一芯片中执行。
在又一种实现方式中,若目标任务携带第二芯片标识,通过调度器从N个第二处理单元中确定一个或多个目标处理单元,当N个第二处理单元中没有空闲计算资源的处理单元时,从M个第一处理单元中确定一个或多个目标处理单元,第二芯片标识用于标识目标任务优先在第二芯片中执行。
可选的,当目标任务还携带有任务属性时,目标处理单元为与任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。
可以理解,M个第一处理单元中的任意一个第一处理单元为中央处理器CPU、图像处理加速器、图像编解码加速器、人工智能AI计算单元中的任一处理单元;或者,N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
S1204、通过调度器将目标任务发送至一个或多个目标处理单元中执行。
需要说明的是,本申请实施例中所描述的处理方法中的具体流程,可参见上述图2-图11中的实施例中的相关描述,此处不再赘述。
请参阅图13,图13是本申请实施例提供的一种芯片系统的结构示意图。如图13所示,该芯片系统1300包括处理装置1301、以及至少一个第二芯片(chipB)1302。其中,处理装置1301可以包括调度器、映射器和M个第一处理单元,至少一个第二芯片1302可以包括N个第二单元,M、N为大于0的整数。处理装置1301可以集成在第一芯片(chipA)上,映射器可以对应至少一个第二芯片1302包括的N个第二处理单元。其中,
N个第二处理单元,用于接收调度器发送的目标任务,执行目标任务。N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
可选的,N个第二处理单元,还用于向映射器发送目标任务是执行结果。
可选的,N个第二处理单元,还用于向映射器发送计算资源状态信息。
需要说明的是,本申请实施例中所描述的芯片系统,可参见上述图2-图11中的实施例中的处理装置、以及N个第二处理单元的相关描述,此处不再赘述。
请参阅图14,图14是本申请实施例提供的另一种处理方法的流程示意图。该处理方法,应用于芯片系统,该芯片系统包括处理装置、以及至少一个第二芯片。其中,该处理装置可以包括调度器、映射器和M个第一处理单元,至少一个第二芯片1302可以包括N个第二单元,M、N为大于0的整数。该处理装置可以集成在第一芯片上,映射器可以对应至少一个第二芯片包括的N个第二处理单元。如图14所示,该处理方法可以包括以下步骤S1401-步骤 S1404。
S1401、通过N个第二处理单元接收调度器发送的目标任务。
S1402、通过N个第二处理单元执行目标任务。
S1403、通过N个第二处理单元向映射器发送目标任务的执行结果。
S1404、通过N个第二处理单元向映射器发送计算资源状态信息。
需要说明的是,本申请实施例中所描述的处理方法中的具体流程,可参见上述图2-图11中的实施例中的N个第二处理单元的相关描述,此处不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的任意一种的部分或全部步骤。
本申请实施例还提供一种计算机程序,该计算机程序包括指令,当该计算机程序被计算机执行时,使得计算机可以执行任意一种处理方法的部分或全部步骤。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可能可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以为个人计算机、服务器或者网络设备等,具体可以是计算机设备中的处理器)执行本申请各个实施例上述方法的全部或部分步骤。其中,而前述的存储介质可包括:U盘、移动硬盘、磁碟、光盘、只读存储器(Read-Only Memory,缩写:ROM)或者随机存取存储器 (Random Access Memory,缩写:RAM)等各种可以存储程序代码的介质。

Claims (27)

  1. 一种处理装置,其特征在于,包括调度器、映射器和M个第一处理单元;所述映射器对应N个第二处理单元;所述处理装置集成在第一芯片上,所述N个第二处理单元集成在至少一个第二芯片上;M、N为大于0的整数;其中
    所述调度器,用于接收目标任务,所述目标任务携带有芯片标识,所述芯片标识为标识执行所述目标任务的芯片;
    所述映射器,用于将所述至少一个第二芯片上的所述N个第二处理单元的计算资源状态信息映射到本地;
    所述调度器,还用于:
    根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元;
    将所述目标任务发送至所述一个或多个目标处理单元中执行。
  2. 根据权利要求1所述的装置,其特征在于,所述调度器,具体用于:
    所述芯片标识为第一芯片标识,从所述M个第一处理单元中确定一个或多个目标处理单元,当所述M个第一处理单元中没有空闲计算资源的处理单元时,从所述N个第二处理单元中确定一个或多个目标处理单元,所述第一芯片标识用于标识所述目标任务优先在所述第一芯片中执行。
  3. 根据权利要求1所述的装置,其特征在于,所述调度器,具体用于:
    所述芯片标识为第二芯片标识,从所述N个第二处理单元中确定一个或多个目标处理单元,当所述N个第二处理单元中没有空闲计算资源的处理单元时,从所述M个第一处理单元中确定一个或多个目标处理单元,所述第二芯片标识用于标识所述目标任务优先在所述第二芯片中执行。
  4. 根据权利要求1所述的装置,其特征在于,所述映射器包括K个映射模块,K为大于0的整数;所述K个映射模块对应所述N个第二处理单元;其中
    当N=K时,一个映射模块对应一个第二处理单元;
    当N>K时,一个映射模块对应多个第二处理单元;
    当N<K时,多个映射模块对应一个第二处理单元。
  5. 根据权利要求4所述的装置,其特征在于,
    当一个映射模块对应一个第二处理单元时,一个映射模块,用于映射一个第二处理单元的计算资源状态信息;或者
    当一个映射模块对应多个第二处理单元时,一个映射模块,用于映射多个第二处理单元的计算资源状态信息;或者
    当多个映射模块对应一个第二处理单元时,多个映射模块,用于映射一个第二处理单元的计算资源状态信息。
  6. 根据权利要求5所述的装置,其特征在于,当多个映射模块对应一个第二处理单元时,所述多个映射模块,具体用于映射一个第二处理单元中的多个处理子单元的计算资源状态信息,其中,一个映射模块对应一个处理子单元。
  7. 根据权利要求5所述的装置,其特征在于,当多个映射模块对应一个第二处理单元时,所述多个映射模块,具体用于映射一个第二处理单元中的多个队列的计算资源状态信息,其中,一个映射模块对应一个队列。
  8. 根据权利要求1-7任意一项所述的装置,其特征在于,所述一个或多个目标处理单元为所述N个第二处理单元中的处理单元,所述映射器,具体用于:
    接收所述调度器发送的所述目标任务;
    将所述目标任务发送至所述一个或多个目标处理单元中执行;
    根据发送至所述N个第二处理单元的任务的数量和所述N个第二处理单元已完成任务的数量,判定所述N个第二处理单元的计算资源状态;
    映射所述N个第二处理单元的计算资源状态信息。
  9. 根据权利要求8所述的装置,其特征在于,所述映射器,还用于:
    存储发送至所述目标处理单元的目标任务的信息,所述目标任务的信息用于所述目标任务的维护或异常查询。
  10. 根据权利要求1-7任意一项所述的装置,其特征在于,所述映射器,具体用于:
    接收所述N个第二处理单元中的每个第二处理单元发送的计算资源状态信息;
    映射所述N个第二处理单元的计算资源状态信息。
  11. 根据权利要求1-10任意一项所述的装置,其特征在于,所述目标任务还携带有任务属性,所述目标处理单元为与所述任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。
  12. 根据权利要求1-11任意一项所述的装置,其特征在于,所述M个第一处理单元中的任意一个第一处理单元为中央处理器CPU、图像处理加速器、图像编解码加速器、人工智能AI计算单元中的任一处理单元;或者,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
  13. 一种处理方法,其特征在于,应用于处理装置,所述处理装置包括调度器、映射器和M个第一处理单元;所述映射器对应N个第二处理单元;所述处理装置集成在第一芯片上,所述N个第二处理单元集成在至少一个第二芯片上;M、N为大于0的整数;所述方法包括:
    通过所述调度器接收目标任务,所述目标任务携带有芯片标识,所述芯片标识为标识执行所述目标任务的芯片;
    通过所述映射器将所述至少一个第二芯片上的所述N个第二处理单元的计算资源状态信息映射到本地;
    通过所述调度器根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元;
    将所述目标任务发送至所述一个或多个目标处理单元中执行。
  14. 根据权利要求13所述的方法,其特征在于,通过所述调度器根据根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处 理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元包括:
    所述芯片标识为第一芯片标识,通过所述调度器从所述M个第一处理单元中确定一个或多个目标处理单元,当所述M个第一处理单元中没有空闲计算资源的处理单元时,从所述N个第二处理单元中确定一个或多个目标处理单元,所述第一芯片标识用于标识所述目标任务优先在所述第一芯片中执行。
  15. 根据权利要求13所述的方法,其特征在于,通过所述调度器根据根据所述芯片标识、所述M个第一处理单元反馈的计算资源状态信息以及所述映射器中的所述N个第二处理单元的计算资源状态信息,从所述M个第一处理单元或所述N个第二处理单元中确定一个或多个目标处理单元包括:
    所述芯片标识为第二芯片标识,通过所述调度器从所述N个第二处理单元中确定一个或多个目标处理单元,当所述N个第二处理单元中没有空闲计算资源的处理单元时,从所述M个第一处理单元中确定一个或多个目标处理单元,所述第二芯片标识用于标识所述目标任务优先在所述第二芯片中执行。
  16. 根据权利要求13所述的方法,其特征在于,所述映射器包括K个映射模块,K为大于0的整数;所述K个映射模块对应所述N个第二处理单元;其中
    当N=K时,通过一个映射模块对应一个第二处理单元;
    当N>K时,通过一个映射模块对应多个第二处理单元;
    当N<K时,通过多个映射模块对应一个第二处理单元。
  17. 根据权利要求16所述的方法,其特征在于,
    当一个映射模块对应一个第二处理单元时,通过一个映射模块映射一个第二处理单元的计算资源状态信息;或者
    当一个映射模块对应多个第二处理单元时,通过一个映射模块映射多个第二处理单元的计算资源状态信息;或者
    当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息。
  18. 根据权利要求17所述的方法,其特征在于,当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:
    通过多个映射模块映射一个第二处理单元中的多个处理子单元的计算资源状态信息,其中,一个映射模块对应一个处理子单元。
  19. 根据权利要求17所述的方法,其特征在于,当多个映射模块对应一个第二处理单元时,通过多个映射模块映射一个第二处理单元的计算资源状态信息包括:
    通过多个映射模块映射一个第二处理单元中的多个队列的计算资源状态信息,其中,一个映射模块对应一个队列。
  20. 根据权利要求13-19任意一项所述的方法,其特征在于,所述一个或多个目标处理单元为所述N个第二处理单元中的处理单元,所述通过所述映射器将所述第二芯片中的所述N个第二处理单元的计算资源状态信息映射到本地,包括:
    通过所述映射器:
    接收所述调度器发送的所述目标任务;
    将所述目标任务发送至所述一个或多个目标处理单元中执行;
    根据发送至所述N个第二处理单元的任务的数量和所述N个第二处理单元已完成任务的数量,判定所述N个第二处理单元的计算资源状态;
    映射所述N个第二处理单元的计算资源状态信息。
  21. 根据权利要求20所述的方法,其特征在于,所述方法还包括:
    通过所述映射器存储发送至所述一个或多个目标处理单元的目标任务的信息,所述目标任务的信息用于所述目标任务的维护或异常查询。
  22. 根据权利要求13-19任意一项所述的方法,其特征在于,所述通过所述映射器将所述第二芯片中的所述N个第二处理单元的计算资源状态信息映射到本地,包括:
    通过所述映射器:
    接收所述N个第二处理单元中的每个第二处理单元发送的计算资源状态信息;
    映射所述N个第二处理单元的计算资源状态信息。
  23. 根据权利要求13-22任意一项所述的方法,其特征在于,所述目标任务还携带有任务属性,所述目标处理单元为与所述任务属性匹配的有空闲计算资源的第一处理单元或第二处理单元。
  24. 根据权利要求13-22任意一项所述的方法,其特征在于,所述M个第一处理单元中的任意一个第一处理单元为中央处理器CPU、图像处理加速器、图像编解码加速器、人工智能AI计算单元中的任一处理单元;或者,所述N个第二处理单元中的任意一个第二处理单元为CPU、图像处理加速器、图像编解码加速器、AI计算单元中的任一处理单元。
  25. 一种芯片系统,包括如权利要求1-12任意一项所述的处理装置,以及至少一个第二芯片,所述至少一个第二芯片上包括N个第二处理单元,N为大于0的整数;其中
    所述N个第二处理单元,用于:
    接收所述调度器发送的目标任务;
    执行所述目标任务。
  26. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当该计算机程序被处理装置中的调度器和映射器执行时实现上述权利要求13-24任意一项所述的方法。
  27. 一种计算机程序,其特征在于,所述计算机可读程序包括指令,当所述计算机程序被处理装置执行时,使得所述处理装置中的调度器和映射器执行如上述权利要求13-24任意一项所述的方法。
CN202180096883.9A 2021-04-16 2021-04-16 一种处理装置、处理方法及相关设备 Pending CN117203614A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/087848 WO2022217595A1 (zh) 2021-04-16 2021-04-16 一种处理装置、处理方法及相关设备

Publications (1)

Publication Number Publication Date
CN117203614A true CN117203614A (zh) 2023-12-08

Family

ID=83639432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180096883.9A Pending CN117203614A (zh) 2021-04-16 2021-04-16 一种处理装置、处理方法及相关设备

Country Status (3)

Country Link
EP (1) EP4318233A4 (zh)
CN (1) CN117203614A (zh)
WO (1) WO2022217595A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014525619A (ja) * 2011-09-02 2014-09-29 フリースケール セミコンダクター インコーポレイテッド データ処理システム
US20140012992A1 (en) * 2012-04-17 2014-01-09 Siemens Aktiengesellschaft Computational Resource Allocation System, A Code Analysis Framework, And A Method For Computational Resource Allocation System
CN109697120B (zh) * 2017-10-20 2023-06-27 伊姆西Ip控股有限责任公司 用于应用迁移的方法、电子设备
CN109697114B (zh) * 2017-10-20 2023-07-28 伊姆西Ip控股有限责任公司 用于应用迁移的方法和机器

Also Published As

Publication number Publication date
WO2022217595A1 (zh) 2022-10-20
EP4318233A4 (en) 2024-05-22
EP4318233A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
US7685347B2 (en) Interrupt controller for invoking service routines with associated priorities
US10108458B2 (en) System and method for scheduling jobs in distributed datacenters
US7716336B2 (en) Resource reservation for massively parallel processing systems
US8381230B2 (en) Message passing with queues and channels
WO2016078008A1 (zh) 调度数据流任务的方法和装置
CN101923490B (zh) 作业调度设备和作业调度方法
US10505832B2 (en) Resource coordinate system for data centers
US9430411B2 (en) Method and system for communicating with non-volatile memory
CN108351783A (zh) 多核数字信号处理系统中处理任务的方法和装置
KR20130080722A (ko) 병렬 컴퓨팅 프레임워크 기반의 클러스터 시스템, 호스트 노드, 계산 노드 및 어플리케이션 실행 방법
CN101424941B (zh) 一种控制实现方法和系统
CN117421129B (zh) 一种基于异构存储集群的业务执行方法、装置及电子设备
CA2631255A1 (en) Scalable scheduling of tasks in heterogeneous systems
US11836532B2 (en) OS optimized workflow allocation
CN114816777A (zh) 命令处理装置、方法、电子设备以及计算机可读存储介质
CN117203614A (zh) 一种处理装置、处理方法及相关设备
CN116382844A (zh) 一种分布式存储多异步任务动态控制方法及系统
Hartmann et al. A framework for generic HW/SW communication using remote method invocation
WO2017017774A1 (ja) ストレージ監視システムおよびその監視方法
EP3343370A1 (en) Method of processing opencl kernel and computing device therefor
CN113076189B (zh) 具有多数据通路的数据处理系统及用多数据通路构建虚拟电子设备
CN112597080A (zh) 读请求控制装置及方法以及存储器控制器
CN114116150A (zh) 一种任务调度方法、装置以及相关设备
CN113076180A (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