CN105051689A - 一种多核***中资源池的调度方法、装置和*** - Google Patents

一种多核***中资源池的调度方法、装置和*** Download PDF

Info

Publication number
CN105051689A
CN105051689A CN201380003199.7A CN201380003199A CN105051689A CN 105051689 A CN105051689 A CN 105051689A CN 201380003199 A CN201380003199 A CN 201380003199A CN 105051689 A CN105051689 A CN 105051689A
Authority
CN
China
Prior art keywords
task
subtask
shared queue
antenna level
user
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
CN201380003199.7A
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 CN105051689A publication Critical patent/CN105051689A/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

一种多核***中资源池的调度方法,包括:将资源池中的任务按照预置的粒度划分成多个子任务;将所述多个子任务加入共享队列中;触发多个核依次从共享队列中获取子任务并进行处理,直至共享队列中的子任务处理完毕;此外,还提供相应的装置和***。

Description

一种多核***中资源池的调度方法、 装置和*** 技术领域
本发明涉及通信技术领域, 具体涉及一种多核***中资源池的调度方法、 装置和***。 背景技术
在多核***中, 由于每个核处理能力的限制, 一个功能模块的任务难以在 一个核中完全处理, 需要多核作为一个资源池进行任务的协同处理。 因此需要 对多核进行任务分配, 以保证任务能够及时完成, 同时使各核负载较为均衡。 其中, 对多核进行任务分配的过程就称为资源池的调度。
在现有方案中, 一般具有一个集中调度模块, 也称为集中调度核, 该集中 调度模块可以将功能模块中的任务按照一定的粒度, 分配给不同的核进行处 理, 每个核可以处理功能模块的一部分粒度的功能所对应的任务。 例如, 当核 A和核 B处理完成一些功能所对应的任务后, 触发集中调度模块, 集中调度模 块按照核 C和核 D需要处理的功能的情况, 同时考虑天线的情况、 以及针对不 同用户进行处理时所占用的负载的情况等信息, 进行负载预计算, 然后根据该 负载预计算所得到的计算结果对核 C和核 D进行任务分配,比如分配给核 C的任 务为: 处理天线级任务的天线 0-3和用户级任务的用户 0-9, 分配给核 D的任务 为: 处理天线级任务的天线 4-7和用户级任务的用户 10-15, 等等, 此后, 核 C 和核 D便可以分别按照分配给自己的任务进行处理。
在对现有技术的研究和实践过程中, 本发明的发明人发现, 由于集中调度 模块在进行任务分配时, 需要预估各个业务处理所需要的负载, 而业务负载与 业务的多个维度相关, 难以估计准确, 这可能会引起各个核的任务分配不均, 最终导致各核的负载差距过大, 比如, 会导致某些核过载, 而某些核还有负载 余量, 等等。 发明内容
本发明实施例提供一种多核***中资源池的调度方法、装置和***, 可以 更为均衡地对资源池中的任务进行调度。
第一方面, 本发明实施例提供一种多核***中资源池的调度方法, 包括: 将资源池中的任务按照预置的粒度划分成多个子任务;
将所述多个子任务加入共享队列中;
触发多个核依次从共享队列中获取子任务并进行处理,直至共享队列中的 子任务处理完毕。
在第一种可能的实施方式中, 结合第一方面, 所述资源池中的任务包括用 户级任务和天线级任务,则所述将资源池中的任务按照预置的粒度划分成多个 子任务包括:
将用户级任务按照预置的粒度划分成多个用户级子任务,将天线级任务按 照预置的粒度划分成多个天线级子任务;
所述将所述多个子任务加入共享队列中具体为:将所述用户级子任务加入 用户级共享队列, 将所述天线级子任务加入天线级共享队列。
在第二种可能的实施方式中, 结合第一方面的第一种可能的实施方式中, 所述触发多个核依次从共享队列中获取子任务并进行处理,直至共享队列中的 子任务全部处理完毕, 包括:
触发多个核依次从天线级共享队列获取天线级子任务并进行处理,直至天 线级共享队列中的天线级子任务全部处理完毕后,所述多个核依次从用户级共 享队列获取用户级子任务并进行处理,直至用户级共享队列中的用户级子任务 全部处理完毕。
在第三种可能的实施方式中, 结合第一方面, 所述资源池中的任务包括用 户级任务和天线级任务,则所述将资源池中的任务按照预置的粒度划分成多个 子任务之前, 还包括:
确定当前资源池中的任务是天线级任务还是用户级任务;
若为天线级任务, 则对所述当前资源池中的任务进行直接分配; 若为用户级任务,则执行将当前资源池中的任务按照预置的粒度划分成多 个子任务的步骤。
在第四种可能的实施方式中, 结合第一方面的第三种可能的实施方式, 所 述对所述当前资源池中的任务进行直接分配, 包括:
获取各个核的处理能力信息;
对各天线处理所需的负载进行估算, 得到估算负载; 根据各个核的处理能力信息和所述估算负载将所述当前资源池中的任务 分配给各个核。
在第五种可能的实施方式中, 结合第一方面、 第一方面的第一、 二、 三或 四种可能的实施方式, 所述共享队列具体为软件共享队列或硬件共享队列。
第二方面, 本发明实施例还提供一种多核***中资源池的调度装置, 包括 划分单元、 添加单元和触发单元;
划分单元, 用于将资源池中的任务按照预置的粒度划分成多个子任务; 添加单元, 用于将所述划分单元得到的多个子任务加入共享队列中; 触发单元, 用于触发多个核进行任务处理,使得处理任务的多个核依次从 共享队列中获取子任务并进行处理, 直至共享队列中的子任务处理完毕。
在第一种可能的实施方式中, 结合第二方面, 所述资源池中的任务包括用 户级任务和天线级任务, 贝' J :
所述划分单元,具体用于将用户级任务按照预置的粒度划分成多个用户级 子任务, 将天线级任务按照预置的粒度划分成多个天线级子任务;
所述添加单元, 具体用于将所述用户级子任务加入用户级共享队列,将所 述天线级子任务加入天线级共享队列。
在第二种可能的实施方式中, 结合第二方面的第一种可能的实施方式中, 所述触发单元,具体用于触发多个核依次从天线级共享队列获取天线级子任务 并进行处理, 直至天线级共享队列中的天线级子任务全部处理完毕后, 所述多 个核依次从用户级共享队列获取用户级子任务并进行处理,直至用户级共享队 列中的用户级子任务全部处理完毕。
在第三种可能的实施方式中, 结合第二方面, 所述资源池中的任务包括用 户级任务和天线级任务,则所述多核***中资源池的调度装置还包括判断单元 和分配单元;
判断单元, 用于确定当前资源池中的任务是天线级任务还是用户级任务; 分配单元, 用于在判断单元确定当前资源池中的任务是天线级任务时,对 所述当前资源池中的任务进行直接分配;
所述划分单元,具体用于在判断单元确定当前资源池中的任务是用户级任 务时, 将当前资源池中的任务按照预置的粒度划分成多个子任务。 在第四种可能的实施方式中, 结合第二方面的第三种可能的实施方式, 所 述分配单元包括获取子单元、 估算子单元和分配子单元;
获取子单元, 用于获取各个核的处理能力信息;
估算子单元, 用于对各天线处理所需的负载进行估算, 得到估算负载; 分配子单元,用于根据所述获取子单元获取到的各个核的处理能力信息和 所述估算子单元得到的估算负载将所述当前资源池中的任务分配给各个核。
第三方面, 本发明实施例还提供一种通信***, 包括本发明实施例提供的 任一种多核***中资源池的调度装置。
第四方面, 本发明实施例还提供一种多核***的通信设备, 包括处理器、 用于存储数据和程序的存储器和用于收发数据的收发模块;
所述处理器, 用于将资源池中的任务按照预置的粒度划分成多个子任务; 将所述多个子任务加入共享队列中;触发多个核依次从共享队列中获取子任务 并进行处理, 直至共享队列中的子任务处理完毕。
在第一种可能的实施方式中, 结合第四方面, 所述处理器, 所述资源池中 的任务包括用户级任务和天线级任务, 贝' J :
所述处理器,具体用于将用户级任务按照预置的粒度划分成多个用户级子 任务,将天线级任务按照预置的粒度划分成多个天线级子任务; 将所述用户级 子任务加入用户级共享队列,将所述天线级子任务加入天线级共享队列; 触发 多个核依次从天线级共享队列获取天线级子任务并进行处理,直至天线级共享 队列中的天线级子任务全部处理完毕后,再由所述多个核依次从用户级共享队 列获取用户级子任务并进行处理,直至用户级共享队列中的用户级子任务全部 处理完毕。
在第二种可能的实施方式中, 结合第四方面, 所述处理器, 所述处理器, 还用于确定当前资源池中的任务是天线级任务还是用户级任务;若为天线级任 务, 则对所述当前资源池中的任务进行直接分配; 若为用户级任务, 则执行将 当前资源池中的任务按照预置的粒度划分成多个子任务的操作。
本发明实施例采用将资源池中的任务按照预置的粒度划分成多个子任务, 然后将这些子任务加入共享队列中,并触发多个核依次从共享队列中获取子任 务并进行处理。 由于在该方案中, 无需进行负载估算, 而是由处理任务的多个 核根据自身的负载情况, 从共享队列中获取子任务并进行处理, 因此, 可以避 免由于负载估计不够准确所引起的各个核的任务分配不均的问题,可以更为均 衡地对资源池中的任务进行调度, 实时有效地平衡各个核的负载。 附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅是本发明 的一些实施例, 对于本领域技术人员来讲, 在不付出创造性劳动的前提下, 还 可以根据这些附图获得其他的附图。
图 1是本发明实施例提供多核***中资源池的调度方法的流程图; 图 2a是本发明实施例提供的分布式调度方式的场景示意图;
图 2b是本发明实施例提供多核***中资源池的调度方法的另一流程图; 图 3a是本发明实施例提供分布式和集中式相结合的调度方式的场景示意 图;
图 3b是本发明实施例提供多核***中资源池的调度方法的另一流程图; 图 4是本发明实施例提供多核***中资源池的调度装置的结构示意图; 图 5是本发明实施例提供多核***中资源池的调度装置的另一结构示意 图;
图 6是本发明实施例提供的多核***的通信设备的结构示意图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域技术人员在没有作出创造性劳 动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
本发明实施例提供一种多核***中资源池的调度方法、装置和***。 以下 分别进行详细说明。 实施例一、
在本实例中,将从多核***中资源池的调度装置的角度进行描述, 该多核 ***中资源池的调度装置具体可以为多核***中的集中调度模块。 一种多核***中资源池的调度方法, 包括: 将资源池中的任务按照预置的 粒度划分成多个子任务,将该多个子任务加入共享队列中,触发多个核依次从 共享队列中获取子任务并进行处理, 直至共享队列中的子任务处理完毕。
如图 1所示, 具体流程可以如下:
101、 将资源池中的任务按照预置的粒度划分成多个子任务;
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
其中, 资源池中的任务可以有多种类型, 比如, 可以包括用户级任务和天 线级任务, 具体在划分子任务时, 可以根据任务的类型分别进行划分, 比如, 具体可以将用户级任务按照预置的粒度划分成多个用户级子任务,而将天线级 任务按照预置的粒度划分成多个天线级子任务, 等等。
可选的, 为了提高处理效率, 还可以根据任务的优先级进行不同的处理, 例如, 由于天线处理所需要的负载较大, 因此, 对于高优先级的任务如天线级 任务, 可以采用集中式调度方式来进行处理, 而由于用户处理所需要的负载较 小, 因此, 对于低优先级的任务如用户级任务, 则可以采用分布式调度方式来 进行处理,即,在步骤"将资源池中的任务按照预置的粒度划分成多个子任务" (即步骤 101 )之前, 该多核***中资源池的调度方法还可以包括:
确定当前资源池中的任务是天线级任务还是用户级任务, 若为天线级任 务, 则对所述当前资源池中的任务(即天线级任务)进行直接分配; 若为用户 级任务, 则执行将当前资源池中的任务(即用户级任务)按照预置的粒度划分 成多个子任务的步骤。
其中, 对资源池中的任务进行直接分配的方法具体可以如下:
获取各个核的处理能力信息,根据该各个核的处理能力信息对各天线处理 所需的负载进行估算,得到估算负载,根据得到的估算负载将该当前资源池中 的任务(即天线级任务)分配给各个核。
此外, 在步骤 "将资源池中的任务按照预置的粒度划分成多个子任务"之 前,还可以进行其他的处理,比如,可以由其他前级处理模块对任务进行处理, 然后才触发该调度装置如集中调度模块执行步骤 101 , 即, 在步骤 101 (即将 资源池中的任务按照预置的粒度划分成多个子任务)之前,该方法还可以包括: 在确定前级处理模块处理完任务之后, 接受所述前级处理模块的触发。 其中, 前级处理模块具体可以为其他的核、 硬件加速器或硬件模块(如
Intellectual Property Core, 即 IP模块, 也称为 IP核)等。
需说明的是,在本发明实施例中,仅仅以用户级任务和天线级任务为例进 行说明, 应当理解的是, 资源池中的任务也可以包括其他的类型, 其实现方法 与此相同, 在此不再赘述。
102、 将步骤 101中划分的多个子任务加入共享队列中。
例如,如果在步骤 101中, 已经将用户级任务按照预置的粒度划分成多个 用户级子任务, 以及将天线级任务按照预置的粒度划分成多个天线级子任务, 则此时, 具体可以将用户级子任务加入用户级共享队列,将所述天线级子任务 加入天线级共享队列。
其中, 该共享队列(比如用户级共享队列或天线级共享队列)可以是软件 共享队列, 也可以是硬件共享队列。
103、 触发多个核依次从共享队列中获取子任务并进行处理, 直至共享队 列中的子任务处理完毕。
例如,具体可以触发多个核依次从天线级共享队列获取天线级子任务并进 行处理, 直至天线级共享队列中的天线级子任务全部处理完毕后, 然后再由该 多个核(可以再次触发该多个核, 也可以无需触发, 由这多个核直接执行)依 次从用户级共享队列获取用户级子任务并进行处理,直至用户级共享队列中的 用户级子任务全部处理完毕。 比如, 以多个核包括核 C和核 D为例, 则具体 可以: ¾口下:
核 C和核 D进行处理时, 各自从天线级共享队列中获取天线级子任务, 例如, 核 C获取到第一个天线级子任务, 比如天线 0任务, 核 D获取到第二 个天线级子任务 1 ,比如天线 1任务。由于软件处理负载不同,核 D先处理完, 那么, 核 D会继续从天线级共享队列中获取下一个天线级子任务(即第三个 天线级子任务), 比如天线 2任务, 同理, 如果核 C处理完天线 0任务时, 核 D还在处理天线 2任务, 那么, 核 C将会从天线级共享队列中获取下一个天 线级子任务(即第四个天线级子任务), 即天线 3任务, 而如果核 D处理完天 线 2任务时, 核 C还未完成天线 0任务, 则由核 D从天线级共享队列中获取 下一个天线级子任务(即第四个天线级子任务), 即天线 3任务, 以此类推。 也就是说, 核 C和核 D会依次从天线级共享队列中获取天线级子任务并进行 处理, 其中, 各个核在完成自身所获取的天线级子任务后, 才会获取下一个天 线级子任务。 当共享队列中的任务被处理完成之后, 核 C和核 D便不能从共 享队列中获取到子任务了, 那么, 此时就表明该资源池中的任务被处理完毕, 核 C和核 D则开始从用户级共享队列中获取用户级子任务进行处理, 其获取 用户级子任务的过程与获取天线级子任务的过程类似, 在此不再赘述。
需说明的是,如果共享队列是软件共享队列, 则需要软件保证各核不会取 到同一个子任务, 而如果是硬件共享队列, 则需要硬件保证各核不会取到同一 个子任务。
此外,还需说明的是,如果采用的是采用分布式调度方式结合集中式调度 方式对资源池中的任务进行调度的话, 即在此之前只对用户级任务进行划分, 并将用户级子任务加入到用户级共享队列中,则此时各个核只从用户级共享队 列中获取用户级子任务并进行处理, 而对天线级任务则进行直接分配,在此不 再赘述。
由上可知,本实施例采用将资源池中的任务按照预置的粒度划分成多个子 任务, 然后将这些子任务加入共享队列中, 并触发多个核依次从共享队列中获 取子任务并进行处理。 由于在该方案中, 无需进行负载估算, 而是由处理任务 的多个核根据自身的负载情况, 从共享队列中获取子任务并进行处理, 因此, 可以避免由于负载估计不够准确所引起的各个核的任务分配不均的问题,可以 更为均衡地对资源池中的任务进行调度, 实时有效地平衡各个核的负载。 根据实施例一所描述的方法,以下将在实施二和三种举例作进一步详细说 明。 实施例二、
在本实施例中,将以多核***中资源池的调度装置具体为多核***中的集 中调度模块、 资源池中的任务包括用户级任务和天线级任务,且采用分布式调 参见图 2a, 该图为分布式调度方式的场景示意图, 由图 2a可知, 无论是用 户级任务还是天线级任务, 均需对其进行划分, 分别得到用户级子任务和天线 级子任务, 并分别加入到各自的共享队列中, 即用户级子任务写入(即加入) 用户级共享队列, 天线级子任务写入(即加入)天线级共享队列, 然后触发多 个核依次从天线级共享队列中获取天线级子任务并进行处理,以及触发多个核 依次从用户级共享队列中获取用户级子任务并进行处理。 以下将进行详细说 明。
如图 2b所示, 具体流程可以如下:
201、 前级处理模块处理完任务之后, 触发集中调度模块。
其中,前级处理模块具体可以为其他的核、硬件加速器或硬件 IP等。 比如, 该前级处理模块具体可以是核 A和核 B等, 即核 A和核 B处理完任务之后, 触发 集中调度模块。
202、 集中调度模块将用户级任务按照预置的粒度划分成多个用户级子任 务, 以及将天线级任务按照预置的粒度划分成多个天线级子任务。
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
203、 集中调度模块将用户级子任务加入用户级共享队列, 以及将该天线 级子任务加入天线级共享队列。
其中, 该共享队列, 比如用户级共享队列或天线级共享队列可以是软件共 享队列, 也可以是硬件共享队列。
204、 集中调度模块触发多个核依次从天线级共享队列获取天线级子任务 并进行处理, 直至天线级共享队列中的天线级子任务全部处理完毕后, 然后执 行步骤 205。 比如, 以多个核包括核 C和核 D为例, 则具体可以如下:
核 C和核 D进行处理时, 各自从天线级共享队列中获取天线级子任务, 例 如, 核 C获取到第一个天线级子任务, 比如天线 0任务, 核 D获取到第二个天线 级子任务 1 , 比如天线 1任务。 由于软件处理负载不同, 核 D先处理完, 那么, 核 D会继续从天线级共享队列中获取下一个天线级子任务(即第三个天线级子 任务), 比如天线 2任务, 同理, 如果核 C处理完天线 0任务时, 核 D还在处理天 线 2任务, 那么, 核 C将会从天线级共享队列中获取下一个天线级子任务(即 第四个天线级子任务), 即天线 3任务, 而如果核 D处理完天线 2任务时, 核 C还 未完成天线 0任务,则由核 D从天线级共享队列中获取下一个天线级子任务(即 第四个天线级子任务), 即天线 3任务, 以此类推。 也就是说, 核 C和核 D会依 次从天线级共享队列中获取天线级子任务并进行处理, 其中,各个核在完成自 身所获取的天线级子任务后, 才会获取下一个天线级子任务。
当共享队列中的任务被处理完成之后, 核 C和核 D便不能从共享队列中获 取到子任务了, 那么, 此时就表明该资源池中的任务被处理完毕, 于是, 核 C 和核 D则开始从用户级共享队列中获取用户级子任务进行处理, 即执行步骤 205。
205、 该多个核依次从用户级共享队列获取用户级子任务并进行处理, 直 至用户级共享队列中的用户级子任务全部处理完毕。 比如, 以多个核包括核 C 和核 D为例, 则具体可以如下:
核 C和核 D进行处理时, 各自从用户级共享队列中获取用户级子任务, 例 如, 核 C获取到第一个用户级子任务, 比如用户 0任务, 核 D获取到第二个用户 级子任务 1 , 比如用户 1任务。 由于软件处理负载不同, 核 D先处理完, 那么, 核 D会继续从用户级共享队列中获取下一个用户级子任务(即第三个用户级子 任务), 比如用户 2任务, 同理, 如果核 C处理完用户 0任务时, 核 D还在处理用 户 2任务, 那么, 核 C将会从用户级共享队列中获取下一个用户级子任务(即 第四个用户级子任务), 即用户 3任务, 而如果核 D处理完用户 2任务时, 核 C还 未完成用户 0任务,则由核 D从用户级共享队列中获取下一个用户级子任务(即 第四个用户级子任务), 即用户 3任务, 以此类推。 也就是说, 核 C和核 D会依 次从用户级共享队列中获取用户级子任务并进行处理, 其中,各个核在完成自 身所获取的用户级子任务后, 才会获取下一个用户级子任务。
需说明的是, 在步骤 204和 205中, 如果共享队列(包括天线级共享队列和 用户级共享队列 )是软件共享队列, 则需要软件保证各核不会取到同一个子任 务, 而如果是硬件共享队列, 则需要硬件保证各核不会取到同一个子任务。
此外, 还需说明的是, 以上仅仅以 C核和 D核为例进行说明, 应当理解的 是, 还可以包括更多的核, 比如 E核、 F核和 G核等等, 其具体实现方法与上述 相同, 在此不再赘述。
由上可知,本实施例采用将资源池中的天线级任务和用户级别任务按照预 置的粒度分别划分成多个子任务,然后分别将这些子任务加入天线级共享队列 和用户级共享队列中,并触发多个核依次从这些共享队列中获取子任务并进行 处理。 由于在该方案中, 无需进行负载估算, 而是由处理任务的多个核根据自 身的负载情况, 从共享队列中获取子任务并进行处理, 因此, 可以避免由于负 载估计不够准确所引起的各个核的任务分配不均的问题,可以更为均衡地对资 源池中的任务进行调度, 实时有效地平衡各个核的负载。 实施例三、
与实施二相同的是,在本实施例中,依然以多核***中资源池的调度装置 具体为多核***中的集中调度模块,且资源池中的任务包括用户级任务和天线 级任务为例进行说明, 与实施例二不同的是, 在本实施例中, 将采用分布式调 结合的调度方式) 为例进行说明。
参见图 3a, 该图为分布式和集中式相结合的调度方式的场景示意图, 由图
3a可知,在本实施例中,对于天线级任务,采用的是直接分配的方式进行调度, 而对于用户级任务, 则对其进行划分以得到用户级子任务, 并加入到用户级共 享队列中,然后触发多个核依次从用户级共享队列中获取用户级子任务并进行 处理。 以下将进行详细说明。
如图 3b所示, 具体流程可以如下:
301、 前级处理模块处理完任务之后, 触发集中调度模块。
其中, 前级处理模块具体可以为其他的核、 硬件加速器或硬件 IP设备等。 比如,该前级处理模块具体可以是核 A和核 B等,即核 A和核 B处理完任务之后, 触发集中调度模块。
302、 集中调度模块确定当前资源池中的任务是天线级任务还是用户级任 务, 若为天线级任务, 则执行步骤 303 , 否则, 若为用户级任务, 则执行步骤 304。
303、 集中调度模块对天线级任务进行直接分配, 例如, 具体可以如下: 获取各个核的处理能力信息, 并对各天线处理所需的负载进行估算,得到 估算负载,然后根据该各个核的处理能力信息和得到的估算负载将该当前资源 池中的任务(即天线级任务)分配给各个核。
比如, 以多个核包括核 C和核 D为例, 则集中调度模块可以获取核 C的 处理能力信息和核 D 的处理能力信息, 并对各天线处理所需的负载进行预计 算, 然后按照核 C的处理能力信息、 核 D的处理能力信息和该负载预计算所 得到的计算结果对核 C和核 D进行任务分配, 比如分配给核 C的任务为: 处 理天线级任务的天线 0-3, 分配给核 D的任务为: 处理天线级任务的天线 4-7, 等等, 此后, 核 C和核 D便可以分别按照分配给自己的任务进行处理。
304、 集中调度模块将用户级任务按照预置的粒度划分成多个用户级子任 务。
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
305、 集中调度模块将用户级子任务加入用户级共享队列。
其中, 该用户级共享队列可以是软件共享队列, 也可以是硬件共享队列。
306、 在各个核处理完天线级任务之后, 集中调度模块触发多个核(或者, 也可以无需由集中调度模块对这多个核进行触发, 而是由这多个核自行执行) 依次从用户级共享队列获取用户级子任务并进行处理,直至用户级共享队列中 的用户级子任务全部处理完毕。 比如, 以多个核包括核 C和核 D为例, 则具体 可以如下:
在核 C和核 D进行完天线级任务(比如步骤 303中分配的天线级任务) 之后时, 集中调度模块触发核 C和核 D分别从用户级共享队列中获取用户级 子任务, 例如, 核 C获取到第一个用户级子任务, 比如用户 0任务, 核 D获 取到第二个用户级子任务 1 , 比如用户 1任务。 由于软件处理负载不同, 核 D 先处理完, 那么, 核 D会继续从用户级共享队列中获取下一个用户级子任务 (即第三个用户级子任务), 比如用户 2任务, 同理, 如果核 C处理完用户 0 任务时, 核 D还在处理用户 2任务, 那么, 核 C将会从用户级共享队列中获 取下一个用户级子任务(即第四个用户级子任务), 即用户 3任务, 而如果核 D处理完用户 2任务时, 核 C还未完成用户 0任务, 则由核 D从用户级共享 队列中获取下一个用户级子任务(即第四个用户级子任务), 即用户 3任务, 以此类推。 也就是说, 核 C和核 D会依次从用户级共享队列中获取用户级子 任务并进行处理, 其中, 各个核在完成自身所获取的用户级子任务后, 才会获 取下一个用户级子任务。
需说明的是, 在步骤 306中, 如果用户级共享队列是软件共享队列, 则需 要软件保证各核不会取到同一个子任务, 而如果是硬件共享队列, 则需要硬件 保证各核不会取到同一个子任务。
此外, 还需说明的是, 以上仅仅以 C核和 D核为例进行说明, 应当理解的 是, 还可以包括更多的核, 比如 E核、 F核和 G核等等, 其具体实现方法与上述 相同, 在此不再赘述。
由上可知, 本实施例采用将资源池中的天线级任务直接进行分配, 而对用 户级别任务则按照预置的粒度分别划分成多个子任务,然后分别将这些子任务 加入用户级共享队列中, 并在多个核处理完天线级任务之后,触发多个核依次 从用户级共享队列中获取用户级子任务并进行处理。 由于在该方案中,在对用 户级任务进行处理时, 无需进行负载估算, 而是由处理任务的多个核根据自身 的负载情况, 从用户级共享队列中获取用户级子任务并进行处理, 因此, 可以 弥补在对天线级任务进行处理时由于负载估计不够准确所引起的各个核的任 务分配不均的问题, 可以更为均衡地对资源池中的任务进行调度, 实时有效地 平衡各个核的负载。 实施例四、
为了更好地实施以上方法,本发明实施例还提供一种多核***中资源池的 调度装置, 如图 4所示, 该多核***中资源池的调度装置包括划分单元 401、 添加单元 402和触发单元 403;
划分单元 401 , 用于将资源池中的任务按照预置的粒度划分成多个子任 务;
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
添加单元 402, 用于将划分单元 401得到的多个子任务加入共享队列中; 触发单元 403 , 用于触发多个核依次从共享队列中获取子任务并进行处 理, 直至共享队列中的子任务全部处理完毕。
其中, 资源池中的任务可以有多种类型, 比如, 可以包括用户级任务和天 线级任务, 具体在划分子任务时, 可以根据任务的类型分别进行划分, 比如, 具体可以将用户级任务按照预置的粒度划分成多个用户级子任务,而将天线级 任务按照预置的粒度划分成多个天线级子任务, 等等; 即:
划分单元 401 , 具体可以用于将用户级任务按照预置的粒度划分成多个用 户级子任务, 将天线级任务按照预置的粒度划分成多个天线级子任务;
则此时, 添加单元 402 , 具体可以用于将用户级子任务加入用户级共享队 列, 将天线级子任务加入天线级共享队列。
触发单元 403 , 具体可以用于触发多个核依次从天线级共享队列获取天线 级子任务并进行处理, 直至天线级共享队列中的天线级子任务全部处理完毕 后,再由所述多个核依次从用户级共享队列获取用户级子任务并进行处理, 直 至用户级共享队列中的用户级子任务全部处理完毕。
其中, 该共享队列(比如用户级共享队列或天线级共享队列)可以是软件 共享队列, 也可以是硬件共享队列。
可选的, 为了提高处理效率, 还可以根据任务的优先级进行不同的处理, 例如, 由于天线处理所需要的负载较大, 因此, 对于高优先级的任务如天线级 任务, 可以采用集中式调度方式来进行处理, 而由于用户处理所需要的负载较 小, 因此, 对于低优先级的任务如用户级任务, 则可以采用分布式调度方式来 进行处理, 即如图 5所示, 该多核***中资源池的调度装置还可以包括判断单 元 404和分配单元 405;
判断单元 404 , 可以用于确定当前资源池中的任务是天线级任务还是用户 级任务;
分配单元 405 , 可以用于在判断单元 404确定当前资源池中的任务是天线 级任务时, 对当前资源池中的任务(即天线级任务)进行直接分配;
划分单元 401 , 具体用于在判断单元确定当前资源池中的任务是用户级任 务时, 将当前资源池中的任务(即用户级任务)按照预置的粒度划分成多个子 任务。
例如, 其中, 分配单元 405可以包括获取子单元、 估算子单元和分配子单 元;
获取子单元, 用于获取各个核的处理能力信息;
估算子单元,用于根据对各天线处理所需的负载进行估算,得到估算负载; 分配子单元,用于所述根据获取子单元获取到的各个核的处理能力信息和 所述估算子单元得到的估算负载将当前资源池中的任务分配给各个核。
此外, 在划分单元 401 "将资源池中的任务按照预置的粒度划分成多个子 任务"之前, 还可以进行其他的处理, 比如, 可以由其他前级处理模块对任务 进行处理, 然后才触发划分单元 401执行 "将资源池中的任务按照预置的粒度 划分成多个子任务" 的操作, 即, 该多核***中资源池的调度装置还可以包括 接受单元;
接受单元, 用于在确定前级处理模块处理完任务之后,接受该前级处理模 块的触发。
其中, 前级处理模块具体可以为其他的核、 硬件加速器或硬件 IP等。 具体实现时, 以上各个单元可以作为独立的实体来实现,也可以进行任意 组合, 作为同一或若干个实体来实现, 比如, 该多核***中资源池的调度装置 具体可以为多核***中的集中调度模块, 参见实施例二和三。 以上各个单元的 具体实施可参见前面的方法实施例, 在此不再赘述。
由上可知,本实施例的核***中资源池的调度装置的划分单元 401可以将 资源池中的任务按照预置的粒度划分成多个子任务,然后由添加单元 402将这 些子任务加入共享队列中,并由触发单元 403触发多个核依次从共享队列中获 取子任务并进行处理。 由于在该方案中, 无需进行负载估算, 而是由处理任务 的多个核根据自身的负载情况, 从共享队列中获取子任务并进行处理, 因此, 可以避免由于负载估计不够准确所引起的各个核的任务分配不均的问题,可以 更为均衡地对资源池中的任务进行调度, 实时有效地平衡各个核的负载。 实施例五、
相应的, 本发明实施例还提供一种通信***, 其特征在于, 包括本发明实 施例提供的任一种多核***中资源池的调度装置, 其中, 该多核***中资源池 的调度装置具体可以为多核***中的集中调度模块, 例如, 具体可以如下: 集中调度模块, 用于将资源池中的任务按照预置的粒度划分成多个子任 务,将该多个子任务加入共享队列中, 触发多个核依次从共享队列中获取子任 务并进行处理, 直至共享队列中的子任务处理完毕。
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
其中, 资源池中的任务可以有多种类型, 比如, 可以包括用户级任务和天 线级任务, 具体在划分子任务时, 可以根据任务的类型分别进行划分, 比如, 具体可以将用户级任务按照预置的粒度划分成多个用户级子任务,而将天线级 任务按照预置的粒度划分成多个天线级子任务, 等等。 则此时, 集中调度模块 具体可以将用户级子任务加入用户级共享队列,将所述天线级子任务加入天线 级共享队列, 此后, 可以触发多个核依次从天线级共享队列获取天线级子任务 并进行处理, 直至天线级共享队列中的天线级子任务全部处理完毕后, 然后再 由该多个核依次从用户级共享队列获取用户级子任务并进行处理,直至用户级 共享队列中的用户级子任务全部处理完毕。
可选的, 为了提高处理效率, 还可以根据任务的优先级进行不同的处理, 例如, 由于天线处理所需要的负载较大, 因此, 对于高优先级的任务如天线级 任务, 可以采用集中式调度方式来进行处理, 而由于用户处理所需要的负载较 小, 因此, 对于低优先级的任务如用户级任务, 则可以采用分布式调度方式来 进行处理, 即:
集中调度模块,还用于确定当前资源池中的任务是天线级任务还是用户级 任务, 若为天线级任务, 则对所述当前资源池中的任务(即天线级任务)进行 直接分配; 若为用户级任务, 则执行将当前资源池中的任务(即用户级任务) 按照预置的粒度划分成多个子任务的操作。
其中, 对资源池中的任务进行直接分配的操作具体可以如下:
获取各个核的处理能力信息, 并对各天线处理所需的负载进行估算,得到 估算负载,然后根据该各个核的处理能力信息和得到的估算负载将该当前资源 池中的任务(即天线级任务)分配给各个核。
此外, 该通信***还可以包括多个核, 这些核可以用于在集中调度模块的 触发下,依次从共享队列中获取子任务并进行处理, 直至共享队列中的子任务 处理完毕, 具体可参见前面的实施例, 在此不再赘述。 进一步的, 该通信***还可以包括前级处理模块, 用于处理完任务之后, 触发集中调度模块执行上述调度操作, 在此不再赘述。
以上各个设备的具体实施可参见前面的方法实施例, 在此不再赘述。 由上可知,本实施例的通信***中的集中调度模块采用将资源池中的任务 按照预置的粒度划分成多个子任务, 然后将这些子任务加入共享队列中, 并触 发多个核依次从共享队列中获取子任务并进行处理。 由于在该方案中, 无需进 行负载估算, 而是由处理任务的多个核根据自身的负载情况,从共享队列中获 取子任务并进行处理, 因此, 可以避免由于负载估计不够准确所引起的各个核 的任务分配不均的问题, 可以更为均衡地对资源池中的任务进行调度, 实时有 效地平衡各个核的负载。 实施例六、
一种多核***的通信设备, 如图 6所示, 包括处理器 601、 用于存储数据 和程序的存储器 602和用于收发数据的收发模块 603; 其中:
处理器 601 , 用于将资源池中的任务按照预置的粒度划分成多个子任务, 将该多个子任务加入共享队列中,触发多个核依次从共享队列中获取子任务并 进行处理, 直至共享队列中的子任务处理完毕。
其中, 划分的粒度可以根据实际应用的需求进行设置, 比如, 具体可以根 据任务的功能进行划分, 等等。
其中, 资源池中的任务可以有多种类型, 比如, 可以包括用户级任务和天 线级任务, 具体在划分子任务时, 可以根据任务的类型分别进行划分, 比如, 具体可以将用户级任务按照预置的粒度划分成多个用户级子任务,而将天线级 任务按照预置的粒度划分成多个天线级子任务, 等等, 即:
处理器 601 , 具体可以用于将用户级任务按照预置的粒度划分成多个用户 级子任务,将天线级任务按照预置的粒度划分成多个天线级子任务; 将该用户 级子任务加入用户级共享队列,将该天线级子任务加入天线级共享队列; 触发 多个核依次从天线级共享队列获取天线级子任务并进行处理,直至天线级共享 队列中的天线级子任务全部处理完毕后,再由所述多个核依次从用户级共享队 列获取用户级子任务并进行处理,直至用户级共享队列中的用户级子任务全部 处理完毕。 需说明的是,如果共享队列是软件共享队列, 则需要软件保证各核不会取 到同一个子任务, 而如果是硬件共享队列, 则需要硬件保证各核不会取到同一 个子任务。
可选的, 为了提高处理效率, 还可以根据任务的优先级进行不同的处理, 例如, 由于天线处理所需要的负载较大, 因此, 对于高优先级的任务如天线级 任务, 可以采用集中式调度方式来进行处理, 而由于用户处理所需要的负载较 小, 因此, 对于低优先级的任务如用户级任务, 则可以采用分布式调度方式来 进行处理, 即处理器 601在执行 "将资源池中的任务按照预置的粒度划分成多 个子任务" 的操作之前:
处理器 601 , 还可以用于确定当前资源池中的任务是天线级任务还是用户 级任务; 若为天线级任务, 则对当前资源池中的任务进行直接分配; 若为用户 级任务,则执行将当前资源池中的任务按照预置的粒度划分成多个子任务的操 作。
其中, 对资源池中的任务进行直接分配的操作具体可以如下:
获取各个核的处理能力信息和天线的负载信息,根据该各个核的处理能力 信息和天线的负载信息对各个任务的负载进行估算,得到估算负载,根据得到 的估算负载将该当前资源池中的任务(即天线级任务)分配给各个核。
以上各个部分的具体实施可参见前面的实施例, 在此不再赘述。
由上可知, 本实施例的多核***的通信设备中的处理器 601可以将资源池 中的任务按照预置的粒度划分成多个子任务,然后将这些子任务加入共享队列 中,并触发多个核依次从共享队列中获取子任务并进行处理。由于在该方案中, 无需进行负载估算, 而是由处理任务的多个核根据自身的负载情况,从共享队 列中获取子任务并进行处理, 因此, 可以避免由于负载估计不够准确所引起的 各个核的任务分配不均的问题, 可以更为均衡地对资源池中的任务进行调度, 实时有效地平衡各个核的负载。 本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: 只读存储器(ROM, Read Only Memory ), 随机存取记忆体(RAM, Random Access Memory ) , 磁盘或光盘等。 以上对本发明实施例所提供的一种多核***中资源池的调度方法、装置和 了阐述, 以上实施例的说明只是用于帮助理解本发明的方法及其核心思想; 同 时, 对于本领域的技术人员, 依据本发明的思想, 在具体实施方式及应用范围 上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明的限制。

Claims (15)

  1. 权 利 要 求
    1、 一种多核***中资源池的调度方法, 其特征在于, 包括:
    将资源池中的任务按照预置的粒度划分成多个子任务;
    将所述多个子任务加入共享队列中;
    触发多个核依次从共享队列中获取子任务并进行处理,直至共享队列中的 子任务全部处理完毕。
  2. 2、 根据权利要求 1所述的方法, 其特征在于, 所述资源池中的任务包括 用户级任务和天线级任务,则所述将资源池中的任务按照预置的粒度划分成多 个子任务包括:
    将用户级任务按照预置的粒度划分成多个用户级子任务,将天线级任务按 照预置的粒度划分成多个天线级子任务;
    所述将所述多个子任务加入共享队列中具体为:将所述用户级子任务加入 用户级共享队列, 将所述天线级子任务加入天线级共享队列。
  3. 3、 根据权利要求 2所述的方法, 其特征在于, 所述触发多个核依次从共 享队列中获取子任务并进行处理, 直至共享队列中的子任务全部处理完毕, 包 括:
    触发多个核依次从天线级共享队列获取天线级子任务并进行处理,直至天 线级共享队列中的天线级子任务全部处理完毕后,再由所述多个核依次从用户 级共享队列获取用户级子任务并进行处理,直至用户级共享队列中的用户级子 任务全部处理完毕。
  4. 4、 根据权利要求 1所述的方法, 其特征在于, 所述资源池中的任务包括 用户级任务和天线级任务,则所述将资源池中的任务按照预置的粒度划分成多 个子任务之前, 还包括:
    确定当前资源池中的任务是天线级任务还是用户级任务;
    若为天线级任务, 则对所述当前资源池中的任务进行直接分配; 若为用户级任务,则执行将当前资源池中的任务按照预置的粒度划分成多 个子任务的步骤。
  5. 5、 根据权利要求 4所述的方法, 其特征在于, 所述对所述当前资源池中 的任务进行直接分配, 包括: 获取各个核的处理能力信息;
    对各天线处理所需的负载进行估算, 得到估算负载;
    根据所述各个核的处理能力信息和所述估算负载将所述当前资源池中的 任务分配给各个核。
  6. 6、 根据权利要求 1至 5任一项所述的方法, 其特征在于,
    所述共享队列具体为软件共享队列或硬件共享队列。
  7. 7、 一种多核***中资源池的调度装置, 其特征在于, 包括:
    划分单元, 用于将资源池中的任务按照预置的粒度划分成多个子任务; 添加单元, 用于将所述划分单元得到的多个子任务加入共享队列中; 触发单元, 用于触发多个核依次从共享队列中获取子任务并进行处理, 直 至共享队列中的子任务全部处理完毕。
  8. 8、 根据权利要求 7所述的多核***中资源池的调度装置, 其特征在于, 所述资源池中的任务包括用户级任务和天线级任务, 则:
    所述划分单元,具体用于将用户级任务按照预置的粒度划分成多个用户级 子任务, 将天线级任务按照预置的粒度划分成多个天线级子任务;
    所述添加单元, 具体用于将所述用户级子任务加入用户级共享队列,将所 述天线级子任务加入天线级共享队列。
  9. 9、 根据权利要求 8所述的多核***中资源池的调度装置, 其特征在于, 所述触发单元,具体用于触发多个核依次从天线级共享队列获取天线级子 任务并进行处理, 直至天线级共享队列中的天线级子任务全部处理完毕后,再 由所述多个核依次从用户级共享队列获取用户级子任务并进行处理,直至用户 级共享队列中的用户级子任务全部处理完毕。
  10. 10、 根据权利要求 7所述的多核***中资源池的调度装置, 其特征在于, 所述资源池中的任务包括用户级任务和天线级任务,则所述多核***中资源池 的调度装置还包括判断单元和分配单元;
    判断单元, 用于确定当前资源池中的任务是天线级任务还是用户级任务; 分配单元, 用于在判断单元确定当前资源池中的任务是天线级任务时,对 所述当前资源池中的任务进行直接分配;
    所述划分单元,具体用于在判断单元确定当前资源池中的任务是用户级任 务时, 将当前资源池中的任务按照预置的粒度划分成多个子任务。
  11. 11、根据权利要求 10所述的多核***中资源池的调度装置, 其特征在于, 所述分配单元包括获取子单元、 估算子单元和分配子单元;
    获取子单元, 用于获取各个核的处理能力信息;
    估算子单元, 用于对各天线处理所需的负载进行估算, 得到估算负载; 分配子单元,用于根据所述获取子单元获取到的各个核的处理能力信息和 所述估算子单元得到的估算负载将所述当前资源池中的任务分配给各个核。
  12. 12、 一种通信***, 其特征在于, 包括权利要求 7至 11任一项所述的多 核***中资源池的调度装置。
  13. 13、 一种多核***的通信设备, 其特征在于, 包括处理器、 用于存储数据 和程序的存储器和用于收发数据的收发模块;
    所述处理器, 用于将资源池中的任务按照预置的粒度划分成多个子任务; 将所述多个子任务加入共享队列中;触发多个核依次从共享队列中获取子任务 并进行处理, 直至共享队列中的子任务处理完毕。
  14. 14、 根据权利要求 13所述的多核***的通信设备, 其特征在于, 所述资 源池中的任务包括用户级任务和天线级任务, 则:
    所述处理器,具体用于将用户级任务按照预置的粒度划分成多个用户级子 任务,将天线级任务按照预置的粒度划分成多个天线级子任务; 将所述用户级 子任务加入用户级共享队列,将所述天线级子任务加入天线级共享队列; 触发 多个核依次从天线级共享队列获取天线级子任务并进行处理,直至天线级共享 队列中的天线级子任务全部处理完毕后,再由所述多个核依次从用户级共享队 列获取用户级子任务并进行处理,直至用户级共享队列中的用户级子任务全部 处理完毕。
  15. 15、 根据权利要求 13所述的多核***的通信设备, 其特征在于, 所述处理器,还用于确定当前资源池中的任务是天线级任务还是用户级任 务; 若为天线级任务, 则对所述当前资源池中的任务进行直接分配; 若为用户 级任务,则执行将当前资源池中的任务按照预置的粒度划分成多个子任务的操 作。
CN201380003199.7A 2013-09-29 2013-09-29 一种多核***中资源池的调度方法、装置和*** Pending CN105051689A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/084575 WO2015042904A1 (zh) 2013-09-29 2013-09-29 一种多核***中资源池的调度方法、装置和***

Publications (1)

Publication Number Publication Date
CN105051689A true CN105051689A (zh) 2015-11-11

Family

ID=52741842

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380003199.7A Pending CN105051689A (zh) 2013-09-29 2013-09-29 一种多核***中资源池的调度方法、装置和***

Country Status (2)

Country Link
CN (1) CN105051689A (zh)
WO (1) WO2015042904A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981819A (zh) * 2022-12-30 2023-04-18 摩尔线程智能科技(北京)有限责任公司 用于多核***的核心调度方法和装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019001418A1 (zh) 2017-06-26 2019-01-03 上海寒武纪信息科技有限公司 数据共享***及其数据共享方法
CN110413551B (zh) 2018-04-28 2021-12-10 上海寒武纪信息科技有限公司 信息处理装置、方法及设备
CN110502330A (zh) * 2018-05-16 2019-11-26 上海寒武纪信息科技有限公司 处理器及处理方法
CN109214616B (zh) 2017-06-29 2023-04-07 上海寒武纪信息科技有限公司 一种信息处理装置、***和方法
CN109426553A (zh) 2017-08-21 2019-03-05 上海寒武纪信息科技有限公司 任务切分装置及方法、任务处理装置及方法、多核处理器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165655A (zh) * 2006-10-20 2008-04-23 国际商业机器公司 多处理器计算***及其任务分配方法
CN101169743A (zh) * 2007-11-27 2008-04-30 南京大学 电力网格中基于多核计算机实现并行潮流计算的方法
CN101261591A (zh) * 2008-04-28 2008-09-10 艾诺通信***(苏州)有限责任公司 多核dsp***中自适应的任务调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101387952B (zh) * 2008-09-24 2011-12-21 上海大学 单芯片多处理器任务调度管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101165655A (zh) * 2006-10-20 2008-04-23 国际商业机器公司 多处理器计算***及其任务分配方法
CN101169743A (zh) * 2007-11-27 2008-04-30 南京大学 电力网格中基于多核计算机实现并行潮流计算的方法
CN101261591A (zh) * 2008-04-28 2008-09-10 艾诺通信***(苏州)有限责任公司 多核dsp***中自适应的任务调度方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981819A (zh) * 2022-12-30 2023-04-18 摩尔线程智能科技(北京)有限责任公司 用于多核***的核心调度方法和装置
CN115981819B (zh) * 2022-12-30 2023-10-24 摩尔线程智能科技(北京)有限责任公司 用于多核***的核心调度方法和装置

Also Published As

Publication number Publication date
WO2015042904A1 (zh) 2015-04-02

Similar Documents

Publication Publication Date Title
CN105051689A (zh) 一种多核***中资源池的调度方法、装置和***
CN104699542B (zh) 任务处理方法及***
CN109919315A (zh) 一种神经网络的前向推理方法、装置、设备及存储介质
Azar et al. Tight bounds for online vector bin packing
WO2011123153A1 (en) Methods and apparatus for resource capacity evaluation in a system of virtual containers
EP3253027A1 (en) Resource allocation method and apparatus for virtual machines
CN105979007A (zh) 加速资源处理方法、装置及网络功能虚拟化***
US20210026696A1 (en) Scheduling of a plurality of graphic processing units
CN105677441A (zh) 虚拟机迁移方法、虚拟设施管理器及协调器
CN109564528A (zh) 分布式计算中计算资源分配的***和方法
CN103514046A (zh) 一种虚拟机放置方法及集群管理服务器
JP2014191594A (ja) 分散処理システム
CN108427602B (zh) 一种分布式计算任务的协同调度方法及装置
CN105138408A (zh) 一种基于OpenStack的虚拟机迁移方法和装置
CN107704310A (zh) 一种实现容器集群管理的方法、装置和设备
CN112114942A (zh) 一种基于众核处理器的流式数据处理方法及计算设备
CN109634720A (zh) 一种多虚拟机共享fpga板卡的方法、***及装置
CN113590307A (zh) 边缘计算节点优化配置方法、装置及云计算中心
Zhang et al. Data-aware task scheduling for all-to-all comparison problems in heterogeneous distributed systems
CN111813541B (zh) 一种任务调度方法、装置、介质和设备
CN106325981A (zh) 一种任务调度方法及装置
CN106062814A (zh) 由图形处理器改进的成组存储器存取效率
CN107797870A (zh) 一种云计算数据资源调度方法
CN109426561A (zh) 一种任务处理方法、装置及设备
CN115775199A (zh) 数据处理方法和装置、电子设备和计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20151111

RJ01 Rejection of invention patent application after publication