CN104156267B - 任务分配方法、任务分配装置及片上网络 - Google Patents
任务分配方法、任务分配装置及片上网络 Download PDFInfo
- Publication number
- CN104156267B CN104156267B CN201310177172.1A CN201310177172A CN104156267B CN 104156267 B CN104156267 B CN 104156267B CN 201310177172 A CN201310177172 A CN 201310177172A CN 104156267 B CN104156267 B CN 104156267B
- Authority
- CN
- China
- Prior art keywords
- processor core
- chip
- rectangular area
- router
- threads
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例提供一种任务分配方法、任务分配装置及片上网络,该方法包括:确定待处理任务所包含的线程数量,在多核处理器构成的片上网络中确定连续的、与线程数量相等数量的多个空闲处理器核对应的片上路由器构成的连续区域。若此区域为非矩形区域,则确定由此区域扩展的矩形区域,若扩展的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将待处理任务的多个线程分配给区域中的空闲处理器核。本发明实施例提供的任务分配方法,借助已分配任务的边界路由器将非矩形区域扩展成规则的矩形区域,由于在任务分配时结合了区域形状的灵活性并采用XY路由,从而避免硬件开销大、网络吞吐量低、系统利用率低等问题。
Description
技术领域
本发明实施例涉及片上多核网络技术,尤其涉及一种任务分配方法、任务分配装置及片上网络。
背景技术
随着超大规模集成电路(Very Large Scale Integrated Circuits,以下简称VLSI)的集成程度越来越高,同一个芯片上集成的片上处理单元,如存储单元、信号处理单元等越来越多,每一片上处理单元相当于一个处理器核,多个处理器核构成多核处理器或众核处理器。片上网络(Network-on-Chip,以下简称NoC)是实现多核处理器中不同处理器核之间数据传输的主要手段。随着处理器核数量的不断增多,一个任务的多个线程、多个任务同时运行在同一个处理器核上的情况越来越普遍,若将不同任务各自的线程随机的分配给某些处理器核,则在NoC中,运行同一个任务的不同线程的处理器核之间的通信会受到其他任务的数据流的影响,无法保证(Quality of Service,以下简称QoS),系统性能降低。为了避免NoC中随机分配任务而引起的的任务之间数据流的相互干扰,通常采用子网划分的方法,即将属于同一个任务的数据流限制在NoC的某一特定区域中。
现有技术中,对NoC中每个片上路由器建立路由表,路由表确定数据包从源片上路由器到目标片上路由器的路由机制。在进行子网划分时,依靠内部的路由算法保证一个任务的数据流下一跳到达的片上路由器是分配给同一任务的片上路由器,路由算法可适用于任意拓扑,相对复杂,硬件开销大,不规则的子网形状容易产生流量拥塞。图1为现有技术中基于路由算法的任务分配方法示意图。如图1所示,若任务五中其他片上路由器都需要和Dest通信,则需要经过同一条链路,可能导致链路拥塞,影响网络吞吐量。
发明内容
本发明实施例提供一种任务分配方法、任务分配装置及片上网络,用于解决现有技术中基于路由算法的任务分配方法硬件开销大、网络吞吐量低等问题。
第一个方面,本发明实施例提供一种任务分配方法,包括:
确定待处理任务所包含的线程数量;
在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核,其中,每一个所述空闲处理器核连接一个片上路由器;
若确定出的与所述空闲处理器核连接的所述片上路由器构成的区域是非矩形区域,则在所述片上网络中搜索并确定由所述非矩形区域扩展的矩形区域;
若所述扩展的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将所述待处理任务的线程分配给所述空闲处理器核,其中,每一个所述空闲处理器核分配一个线程。
在第一个方面的第一种可能的实现方式中,所述由所述非矩形区域扩展而成的矩形区域为所述片上网络中包含所述非矩形区域的最小矩形区域。
结合第一个方面或第一个方面的第一种可能的实现方式,在第一个方面的第二种可能的实现方式中,所述在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核之后,所述方法还包括:
若确定出的所述空闲处理器核的片上路由器构成的区域是矩形区域,则将所述待处理任务的线程分别分配给所述空闲处理器核,其中,每一个处理器核分配一个线程。
结合第一个方面、第一个方面的第一种或第二种可能实现方式中的任一种可能的实现方式,在第三种可能的实现方式中,所述片上网络中包括呈行列排列的多个处理器核;
相应的,所述在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核,包括:
在所述多核处理器构成的片上网络中确定初始空闲处理器核;
以所述初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核。
结合第一个方面的第三种可能的实现方式,在第一个方面的第四种可能的实现方式中,若确定出的所述空闲处理器核的片上路由器构成的区域是非矩形区域,则所述搜索并确定由所述非矩形区域扩展而成的矩形区域,包括:
沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与所述线程数量不匹配,则沿与所述初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使所述第一空闲区域中的处理器核的数量和所述第二空闲区域中的处理器核的数量之和与所述线程数量相等。
结合第一个方面的第三种可能的实现方式,在第一个方面的第五种可能的实现方式中,若确定出的所述空闲处理器核的片上路由器构成的区域是非矩形区域,则所述搜索并确定由所述非矩形区域扩展而成的矩形区域,包括:
沿与所述初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与所述线程数量不匹配,则沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使所述第三空闲区域中的处理器核的数量和所述第四空闲区域中的处理器核的数量之和与所述线程数量相等。
结合第一个方面、第一个方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第一个方面的第六种可能的实现方式中所述若所述矩形区域内与非空闲处理器核连接的每一片上路由器的预测流量未超过预设门限值,则在将所述待处理任务中所包含的线程分别分配给所述空闲处理器核之前,所述方法还包括:
根据所述矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测所述矩形区域内与非空闲处理器核连接的片上路由器的流量得到所述预测流量。
第二个方面,本发明实施例提供一种任务分配装置,包括:
第一确定模块,用于确定待处理任务所包含的线程数量;
第二确定模块,用于在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核,其中,每一个所述空闲处理器核连接一个片上路由器;
第三确定模块,用于若所述第二确定模块确定出与所述空闲处理器核连接的所述片上路由器构成的区域是非矩形区域时,在所述片上网络中搜索并确定由所述非矩形区域扩展的矩形区域;
分配模块,用于若所述第三确定模块确定出的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将所述待处理任务的线程分配给所述空闲处理器核,其中,每一个所述空闲处理器核分配一个线程。
在第二个方面的第一种可能的实现方式中,所述第三确定模块,具体用于:
确定由所述非矩形区域扩展而成的矩形区域为所述片上网络中包含所述非矩形区域的最小矩形区域。
结合第二个方面以及第二个方面的第一种可能的实现方式,在第二个方面的第二种可能的实现方式中,所述分配模块,还用于:
若所述第二确定模块确定出的与所述多个空闲处理器核连接的片上路由器构成矩形区域,则将所述待处理任务的线程分别分配给所述空闲处理器核,其中,每一个处理器核分配一个线程。
结合第二个方面、第二个方面的第一种或第二种可能的实现方式中的任一种可能的实现方式,在第二个方面的第三种可能的实现方式中,所述第二确定模块,具体用于:
在所述多核处理器构成的片上网络中确定初始空闲处理器核,所述片上网络中包括呈行列排列的多个处理器核;
以所述初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核。
结合第二个方面的第三种可能的实现方式,在第二个方面的第四种可能的实现方式中,所述第二确定模块,具体用于沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与所述线程数量不匹配,则沿与所述初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使所述第一空闲区域中的处理器核的数量和所述第二空闲区域中的处理器核的数量之和与所述线程数量相等。
结合第二个方面的第三种可能的实现方式,在第二个方面的第五种可能的实现方式中,所述第二确定模块,具体用于:
沿与所述初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与所述线程数量不匹配,则沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使所述第三空闲区域中的处理器核的数量和所述第四空闲区域中的处理器核的数量之和与所述线程数量相等。
结合第二个方面、第二个方面的第一种至第五种可能的实现方式中的任一种可能的实现方式,在第二个方面的第六种可能的实现方式中,所述任务分配装置还包括:
预测模块,用于根据所述矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测所述矩形区域内与非空闲处理器核连接的片上路由器的流量得到所述预测流量。
第三个方面,本发明实施例还提供一种片上网络,包括多个处理器核、片上路由器和互连线,以及如上任一所述的任务分配装置。
本发明实施例提供的任务分配方法、任务分配装置及片上网络,通过确定待处理任务所包含的线程数量,在片上网络中确定出与所需线程数量匹配的多个空闲处理器核构成的非矩形区域,借助该非矩形区域相邻的边界片上路由器,使其与该非矩形区域内的空闲处理器核连接的片上路由器构成规则的矩形区域,然后判断矩形区域内与非空闲处理器核连接的片上路由器,即边界片上路由器的流量是否超过预设的门限值,若未超过,则将待处理任务分配给空闲区域的处理器核。本发明实施例提供的任务分配方法,在片上网络中闲置的处理器核资源等于或多于待处理任务所需的处理器核的时候,若没有规则的矩形区域分配该待处理的任务,则借助边界路由器将非矩形区域构成规则的矩形区域并分配该待处理的任务,该矩形区域内,不需要采用路由表确定数据包从源片上路由器到目标片上路由器的路由机制,而是采用XY路由的方式传递数据包,避免网络拥塞、提高网络吞吐量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中基于路由子网的任务分配方法示意图;
图2为本发明任务分配方法实施例一的流程图;
图3为本发明任务分配方法实施例二片上网络的示意图;
图4A为本发明任务分配方法实施例三片上网络的示意图;
图4B为图4A中重新搜索矩形区域的示意图;
图5A为采用随机均匀流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图;
图5B为采用位比较流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图;
图5C为采用龙卷风流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图;
图6为本发明任务分配装置实施例一的结构示意图;
图7为本发明任务分配装置实施例二的结构示意图;
图8为本发明任务分配装置实施例三的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图2为本发明任务分配方法实施例一的流程图。本实施例的执行主体为任务分配装置,其可集成在多核处理器构成的片上网络中,该装置可以例如可以是片上网络中任意处理器等。本实施例适用于片上网络中空闲的处理器核资源等于或多于待处理任务所需的处理器核的场景,具体的,本实施例包括如下步骤:
101:确定待处理任务所包含的线程数量。
任务分配装置确定待处理任务所包含的线程数量。一般来说,一个任务所包含的线程数量与处理该任务所需的处理器核的数量是一一对应的。例如,若一个任务包含9个线程,则需要9个处理器核处理该任务。
102:在多核处理器构成的片上网络中确定连续的、与线程数量相等数量的多个空闲处理器核,其中,每一个空闲处理器连接一个片上路由器。
片上网络具有支持同时访问、可靠性高及可重用性高等特点,由多个处理器核、片上路由器和互连线(通道)组成。其中,互连线包括片上路由器和处理器核之间的内部互连线、片上路由器之间的外部互连线,每个处理器核与一个片上路由器相连,各个片上路由器互连成一个网状结构(Mesh Topology,以下简称mesh)。本步骤中,在确定出待处理任务所包含的线程数量后,根据线程数量,任务分配装置在多核处理器构成以及片上网络中确定连续的、与该线程数量相等数量的多个空闲处理器核以及对应的片上路由器。
103:若确定出的与空闲处理器连接的片上路由器构成的区域非矩形区域,则在片上网络中搜索并确定由非矩形区域扩展的矩形区域。
当任务分配装置确定出的连续的、与线程数量相等数量的多个空闲处理器核后,若与该些空闲处理器核连接的片上路由器构成的区域是矩形区域,则直接将待处理任务中所包含的线程分配给空闲处理器核,每个处理器核分配一个线程;否则,若与该些空闲处理器核连接的片上路由器构成的区域是非矩形区域,则搜索并确定由非矩形区域扩展的矩形区域,此区域为片上网络中包含非矩形区域的最小矩形区域。例如,一个NoC为5×5的mesh结构,待处理的任务包含的线程数量为5个,若确定出的连续的空闲处理器核为同一列或同一行的5个处理器核,则将该待处理的任务所包含的5个线程分配给这5个连续的空闲处理器核,每个处理器核分配一个线程;若确定出的连续的空闲处理器核数量为5个,但是与该5个处理器核连接的片上路由器构成的区域为非矩形区域,即构成的区域为不规则形状的区域,则任务分配装置确定包含该非矩形区域的矩形区域,即将已经分配任务的非空闲的处理器核与该非矩形区域内的空闲处理器核组成规则的矩形区域。具体的,以该5个处理器核由第一行的前3个和第二行的前2个组成为例,将第二行的第三个处理器核连接的片上路由器作为边界片上路由器,任务分配装置确定该5个处理器核连接的片上路由器与该边界片上路由器构成的矩形区域。
需要说明的是,上述仅是以该5个处理器核由第一行的前3个和第二行的前2个组成为例对本发明进行详细阐述,然而,本发明并不以此为限制,在其他可能的实施方式中,连续的空闲处理器核可以有不同的组合,与该处理器核连接的片上路由器构成的非矩形区域也有多种可能的形式,如L型、E型、F型、工字型、I型等,对应的,包含该非矩形区域的矩形区域也有多种可能的形式。
104:若扩展的矩形区域内与非空闲处理器连接的每一个片上路由器的流量未超过预设门限值,则将待处理任务的线程分配给空闲处理器,每一空闲处理器核分配一个线程。
该矩形区域内,不需要采用路由表确定数据包从源片上路由器到目标片上路由器的路由机制,而是采用XY路由的方式传递数据包,即在确定出源片上路由器和目的片上路由器后,从源片上路由器开始,数据包先横向的传递至与目的片上路由器所在的列相交的中间片上路由器,再竖向的传递至目的片上路由器;或者,先竖向的传递至与目的片上路由器所在的行相交的中间片上路由器,再横向的传递至目的片上路由器。
在确定出包括非矩形区域的矩形区域后,任务分配装置根据矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测矩形区域内与非空闲处理器核连接的该片上路由器的流量得到预测流量,判断预测流量是否超过预设的门限值,若预测流量未超过预设门限值,则将待处理任务中所包含的线程分别分配给空闲处理器核。
本发明实施例提供的任务分配方法,通过确定待处理任务所包含的线程数量,在片上网络中确定出与所需线程数量相等数量的多个空闲处理器核构成的非矩形区域,借助与该非矩形区域相邻区域的边界路由器,使其与该非矩形区域内的片上路由器构成规则的矩形区域,然后判断矩形区域内与非空闲处理器核连接的片上路由器,即边界片上路由器的流量是否超过预设的门限值,若未超过,则将待处理任务分配给空闲区域的处理器核。本发明实施例提供的任务分配方法,在片上网络中空闲的处理器核资源等于或多于待处理任务所需的处理器核的时候,若没有规则的矩形区域分配该待处理的任务,则借助边界路由器将非矩形区域扩展成规则的矩形区域并分配该待处理的任务线程,该矩形区域内,不需要采用路由表确定数据包从源片上路由器到目标片上路由器的路由机制,而是采用XY路由的方式传递数据包,避免了其它任务分配方法硬件开销大、网络吞吐量低、系统利用率低的问题。
由上述可知,NoC由片上路由器和互连线(通道)组成,每个处理器核与一个片上路由器相连,而一个任务所包含的线程数量与处理该任务所需的处理器核的数量是一一对应的。因此,待处理任务所包含的线程数量、待处理任务所需的处理器核数量以及所需处理器核连接的片上路由器的数量是相等的,处理器核与片上路由器的状态一致:同时处于空闲状态或被分配任务状态,搜索到空闲的片上路由器,即搜索到空闲的处理器核。为使本发明实施例更加清楚,以下各个视图所示的片上网络中仅示出片上路由器。
一般来说,片上网络中包括呈行列排列的多个处理器核,如5×5的片上网络,包括5行5列共25个处理器核与25个片上路由器。此时,确定连续的、与线程数量匹配的多个空闲处理器核时,可以按行搜索空闲的处理器核或按照列搜索的方式搜索空闲的处理器核。以按照行搜索为例,具体的,可以在在多核处理器构成的片上网络中确定初始空闲处理器核,沿与初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与线程数量匹配的多个空闲处理器核;若沿同行的相邻片上路由器依次确定的连续的第一空闲区域中所包含的处理器核的数量与线程数量不匹配,则沿与初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使第一空闲区域所包含的处理器核的数量和第二空闲区域所包含的处理器核的数量之和与线程数量匹配。下面,通过几个具体的在片上网络分配任务的实施例对本发明进行详细阐述。
图3为本发明任务分配方法实施例二片上网络的示意图。如图3所示,本实施例中,NoC为5×5的NoC,多个处理器核呈行列排列,任务队列中有待处理任务一(4),表示任务一包含4个线程,需要分配4个处理器核处理该任务。随机的确定与片上路由器R1.1连接的处理器核为初始空闲处理器核,沿与R1.1连接的片上路由器同行的相邻片上路由器依次确定连续的4个空闲的片上路由器,即确定出R1.1、R1.2、R1.3、R1.4共4个片上路由器,该4个片上路由器构成第一空闲区域,为一个规则的矩形区域,则直接将任务一包含的4个线程分配给R1.1、R1.2、R1.3、R1.4所在的矩形区域内的处理器核。
图4A为本发明任务分配方法实施例三片上网络的示意图。如图4A所示,本实施例中,NoC为5×5的NoC,多个处理器核呈行列排列,表示高负载片上路由器,表示低负载片上路由器,□表示空闲片上路由器,亦即,R1.1~R1.3、R2.1~R2.4以及R3.1~R3.4为高负载片上路由器,Rs0.1~Rs0.6为低负载片上路由器,其余的为空闲路由器。具体的,判断片上路由器负载高低的方式可根据需求设定,例如,某个片上路由器承载的流量大于预设的门限值时,则判断其为高负载片上路由器。
本实施例中,任务队列中有待处理任务二(5),表示任务二包含5个线程,需要分配5个处理器核处理该任务。随机的确定与片上路由器R5.0连接的处理器核为初始空闲处理器核,从R5.0开始搜索连续的、空闲的片上路由器并判断是否可以构成矩形区域,在按照行或按照列遍历各种可能的情况后,还未找到符合条件的规则的矩形区域,则继续按照行或按照列的搜索方式搜索。具体的,若按照行搜索的方式,则从R5.0开始搜索第一空闲区域,即沿着R5.0所在的第一行搜索到包含R5.0、R5.1、R5.2、R5.3共4个空闲的片上路由器的第一空闲区域,与任务的线程数量不匹配,也就是说,第一空闲区域中所包含的处理器核的数量不满足任务所需的处理器核数,此时,从R5.0所在的列继续搜索第二空闲区域,当第二空闲区域内的处理器核的数量和第一空闲区域内所包含的处理器核的数量之和等于5,即第二空闲区域中搜索到R5.4后,空闲片上路由器的个数与线程数量相等,且R5.0~R5.4、Rs0.1、Rs0.2及高负载的片上路由器R1.1构成一个规则的矩形区域。
在上述通过第一空闲区域和第二空闲区域确定出一个规则的矩形区域后,接下来,判断矩形区域内与非空闲处理器核连接的片上路由器的流量是否超过预设门限值。具体的,可以根据矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测矩形区域内与非空闲处理器核连接的片上路由器的流量。本实施例中,需要判断Rs0.1、Rs0.2及高负载的片上路由器R1.1上的流量是否超过预设门限值。以R1.1为例,若将任务二分配给第一空闲区域和第二空闲区域确定出的规则的矩形区域后,R1.1原来承载的流量,如图中粗黑箭头①所示,与被分配任务二后增加的流量,如图中粗黑箭头②所示,若两者之和未超过预设的门限值,则认为R1.1可以共享,进而判断出可以将任务二分配给该矩形区域所包含的处理器核,如图中虚线框所示,此时,数据包在该矩形区域内,采用XY路由的方式传递数据包。例如若R5.2为源片上路由器,目的片上路由器为R5.4,此时,采用XY路由,可以将数据包从R5.2开始,经过R5.2、R5.1、R5.0传递至R5.4,也可以从R5.2开始,经过Rs0.2、Rs0.1传递至R5.4;否则,若将任务二分配给第一空闲区域和第二空闲区域确定出的规则的矩形区域使得R1.1原来承载的流量与被分配任务二后增加的流量超过预设的门限值,则认为R1.1不可以共享,进而判断出不可以将任务二分配给该矩形区域所包含的处理器核。
上述判断片上路由器所承载的流量后,假设该3个片上路由器中至少其中之一所承载的流量超过预设的门限值,假设R1.1所承载的流量超过预设的门限值。此时,从R5.0开始,重新按照行或按照列的搜索方式搜索。具体的,如图4B所示,图4B为图4A中重新搜索矩形区域的示意图。
若按照列搜索的方式,则从R5.0开始搜索第三空闲区域,即沿着R5.0所在的第一列搜索到包含R5.0、R5.4、R5.5共三个空闲的片上路由器的第三空闲区域,与任务的线程数量不匹配,也就是说,第三空闲区域中所包含的处理器核的数量不满足任务所需的处理器核,此时,从R5.0所在的行继续搜索第四空闲区域,当第四空闲区域内的处理器核的数量和第三空闲区域内所包含的处理器核的数量之和等于5,即第四空闲区域中搜索到R5.1、R5.2之后,空闲片上路由器的个数与线程数量相等,且R5.0、R5.4、R5.5、R5.1、R5.2、与第二行、第三行的四个低负载的片上路由器Rs0.1、Rs0.2、Rs0.3、Rs0.4构成一个规则的矩形区域。此时,判断若将任务二分配给第三空闲区域和第四空闲区域确定出的规则的矩形区域后,共享的Rs0.1、Rs0.2、Rs0.3、Rs0.4原来承载的流量与被分配任务二后增加的流量未超过预设的门限值,若该四个共享片上路由器的流量都未超过预设的门限值,则将任务二分配给该矩形区域所包含的处理器核,如图4B中虚线框所示;否则,若其中之一所承载的流量超过预设的门限值,则表示不能将任务二分配给该矩形区域,需要重新搜索处理器核。
上述实施例中,若所有的不规则区域都无法通过流量预测,则将任务二刚在等待队列中等待下一次任务调度。如在其他任务处理完毕后释放出更多的处理器核后重新搜索任务需要的处理器核。
需要说明的是,上述实施例中,第一空闲区域、第二空闲区域、第三空闲区域、第四空闲区域可以为规则的矩形区域,也可以是不规则的矩形区域,例如以图4A为例,若Rs0.1也为空闲的片上路由器时,则从R5.0开始搜索到的连续的、空闲的片上路由器包括R5.0、R5.1、5.2、R5.4及Rs0.1;若Rs0.2为空闲的片上路由器,R5.4、Rs0.1、R1.1为非空闲片上路由器时,则从R5.0开始搜索到的连续的、空闲片上路由器包括R5.0、R5.1、R5.2、Rs0.2、R5.3。
为了清楚对比本发明的任务分配方法与现有技术中基于路由子网的任务分配方法的有益效果,下面,采用不用的流量模型分析本发明的技术方案与现有的技术方案。
图5A为采用随机均匀流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图。如图5A所示,随机均匀流量模型(Uniform)中,横坐标为注入率,可以理解为片上网络的处理器核的利用率;纵坐标为延时时长;代表本发明注入率与延时时长的对应曲线;代表基于路由子网的任务分配方法中注入率与延时时长的对应曲线。
由图5A所示,在注入率为0~6×10-3时,整个片上网络的处理器核的利用率不高,此时,本发明的技术方案与现有的技术方案的的延时时长基本相等。但是,随着处理器核的利用率越来越高,同一个延时时长对应的本发明的技术方案与现有的技术方案的差别就越大,基于路由子网的任务分配方法中,注入率越大,延时时长相应的越大,表示片上网络的性能越差,即延迟明显升高,网络吞吐量低,而本发明任务分配方法中,注入率越大,延时时长相对增加缓慢,表示片上网络的性能高,即延迟升高不明显,网络吞吐量高。
图5B为采用位比较流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图。同理,如图5A,图5B所示位比较流量(Bitcomp)流量模型中,横坐标为注入率,可以理解为片上网络的处理器核的利用率;纵坐标为延时时长;代表本发明注入率与延时时长的对应曲线;代表基于路由子网的任务分配方法中注入率与延时时长的对应曲线。在注入率为大于2×10-3时,即可明显表现出本发明的有益效果。
图5C为采用龙卷风流量模型分析本发明任务分配方法与基于路由子网的任务分配方法的示意图。同理,如图5A,图5C所示龙卷风(Tornado)流量模型中,横坐标为注入率,可以理解为片上网络的处理器核的利用率;纵坐标为延时时长;代表本发明注入率与延时时长的对应曲线;代表基于路由子网的任务分配方法中注入率与延时时长的对应曲线。在注入率大于4×10-3时,即可明显表现出本发明的有益效果。
另外,为了清楚对比本发明的任务分配方法与现有技术中基于矩形子网划分的任务分配方法的有益效果,下面,用系统利用率的表格来对比本发明路由器共享与现有技术中基于子网划分方法的有益效果。
表1
网络负载 | 0.5 | 0.6 | 0.7 | 0.8 | 0.9 | 1 |
矩形子网划分 | 0.478033 | 0.572979 | 0.656676 | 0.693422 | 0.701311 | 0·707254 |
路由器共享 | 0.465374 | 0.542073 | 0.626671 | 0.705102 | 0.76b011 | 0·8i0507 |
表1为网络负载率为0.5~1的情况下,矩形子网划分方法下系统利用率和本发明路由器共享方法下系统利用率的一个对照表。其中,网络负载率0.5~1表示需要的处理器核与系统实际能提供的处理器核的比值,例如,表1中第列表示:当需要的处理器核与系统实际能提供的处理器核的比值为0.5时,系统处于不饱和状态,此时基于矩形子网划分方法的系统利用率为0.478033,而基于本发明路由器共享的方法中,系统利用率为0.465374,两者之间差别较小。然而,随着网络负载的不断增大,当网络负载率为0.9时,系统逐渐饱和,基于矩形子网划分方法的系统利用率为0.701311,而基于本发明路由器共享的方法中,系统利用率为0.766011;最终,当网络负载达到100%,即系统饱和时,基于矩形子网划分方法的系统利用率为0.707254,而基于本发明路由器共享的方法中,系统利用率为0.810507,两者相差将近10%。
需要说明的是,上述各个实施例中,均是随机将片上网络的某一空闲处理器核作为初始空闲处理器核,需要重新搜索处理器核的时候都从该初始空闲处理器核开始搜索,然而,本发明并不以此为限制,在其他可能的实施方式中,也可以根据预设的规则选取初始空闲处理器核,每次搜索时,初始空闲处理器核也可以不同。另外,当片上网络中空闲、连续的处理器核所在的非矩形区域多于一个的时候,可以随机确定某一个区域内的某个处理器核作为初始闲置处理器核。
图6为本发明任务分配装置实施例一的结构示意图。如图6所示,本实施例提供的任务分配装置具体可以实现本发明任意实施例提供的应用于任务分配装置的方法的各个步骤,具体实现过程在此不再赘述。本实施例提供的任务分配装置具体包括:
第一确定模块11,用于确定待处理任务所包含的线程数量;
第二确定模块12,用于在多核处理器构成的片上网络中确定连续的、与线程数量相等数量的多个空闲处理器核,其中,每一个空闲处理器核连接一个片上路由器;
第三确定模块13,用于第二确定模块12确定的出与空闲处理器核连接的片上路由器构成的区域是非矩形区域时,在片上网络中搜索并确定由非矩形区域扩展的矩形区域;
分配模块14,用于若第三确定模块确定出的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将待处理任务的线程分配给空闲处理器核,其中,每一个空闲处理器核分配一个线程。
本发明实施例提供的任务分配装置,通过第一确定模块确定待处理任务所包含的线程数量,第二确定模块在片上网络中确定出与所需线程数量相等数量的多个空闲处理器核构成的非矩形区域,借助该非矩形区域相邻的边界片上路由器,使其与该非矩形区域内的空闲处理器核连接的片上路由器构成规则的矩形区域,然后由第三确定模块判断矩形区域内与非空闲处理器核连接的片上路由器,即边界片上路由器的流量是否超过预设的门限值,若未超过,则由分配模块将待处理任务分配给空闲区域的处理器核。本发明实施例提供的任务分配方法,在片上网络中闲置的处理器核资源等于或多于待处理任务所需的处理器核的时候,若没有规则的矩形区域分配该待处理的任务,则借助边界路由器将非矩形区域构成规则的矩形区域并分配该待处理的任务,该矩形区域内,不需要采用路由表确定数据包从源片上路由器到目标片上路由器的路由机制,而是采用XY路由的方式传递数据包,节省硬件避免了基于路由子网的任务分配方法硬件开销大、网络吞吐量低、系统利用率低的问题。
进一步的,第三确定模块13,具体用于:
确定由非矩形区域扩展而成的矩形区域为片上网络中包含非矩形区域的最小矩形区域。
进一步的,分配模块14,还用于:
若第二确定模块12确定出的与多个空闲处理器核连接的片上路由器构成矩形区域,则将待处理任务的线程分别分配给空闲处理器核,其中,每一个处理器核分配一个线程。
进一步的,第二确定模块12,具体用于:
在多核处理器构成的片上网络中确定初始空闲处理器核,片上网络中包括呈行列排列的多个处理器核;
以初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与线程数量匹配的多个空闲处理器核。
进一步的,第二确定模块12,具体用于:沿与初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与线程数量匹配的多个空闲处理器核;
若沿同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与线程数量不匹配,则沿与初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使第一空闲区域中的处理器核的数量和第二空闲区域中的处理器核的数量之和与线程数量相等。
进一步的,第二确定模块12,具体用于:沿与初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与线程数量匹配的多个空闲处理器核;
若沿同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与线程数量不匹配,则沿与初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使第三空闲区域中的处理器核的数量和第四空闲区域中的处理器核的数量之和与线程数量相等。
图7为本发明任务分配装置实施例二的结构示意图。如图7所示,本实施例提供的任务分配装置在图6所示装置的基础上,进一步的,还可以包括:
预测模块15,用于根据矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测矩形区域内与非空闲处理器核连接的片上路由器的流量得到预测流量。
图8为本发明任务分配装置实施例三的结构示意图。如图8所示,本实施例的任务分配装置800可以包括处理器81和存储器82。任务分配装置800还可以包括发射器83、接收器84。发射器83和接收器84可以和处理器81相连。其中,存储器82存储执行指令,当任务分配装置800运行时,处理器81与存储器82之间通信,处理器81调用存储器82中的执行指令,用于执行以下操作:
任务分配装置800确定待处理任务所包含的线程数量;
在多核处理器构成的片上网络中确定连续的、与线程数量相等数量的多个空闲处理器核,其中,每一个空闲处理器核连接一个片上路由器;
若确定出的与空闲处理器核连接的片上路由器构成的区域是非矩形区域,则在片上网络中搜索并确定由非矩形区域扩展的矩形区域;
若扩展的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将待处理任务的线程分配给空闲处理器核,其中,每一个空闲处理器核分配一个线程。
可选的,由非矩形区域扩展而成的矩形区域为片上网络中包含非矩形区域的最小矩形区域。
可选的,在多核处理器构成的片上网络中确定连续的、与线程数量匹配的多个空闲处理器核之后,方法还包括:
若确定出的空闲处理器核的片上路由器构成的区域是矩形区域,则将待处理任务的线程分别分配给空闲处理器核,其中,每一个处理器核分配一个线程。
可选的,片上网络中包括呈行列排列的多个处理器核;
相应的,在多核处理器构成的片上网络中确定连续的、与线程数量匹配的多个空闲处理器核,包括:
在多核处理器构成的片上网络中确定初始空闲处理器核;
以初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与线程数量匹配的多个空闲处理器核。
可选的,若确定出的空闲处理器核的片上路由器构成的区域是非矩形区域,则搜索并确定由非矩形区域扩展而成的矩形区域,包括:
沿与初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与线程数量匹配的多个空闲处理器核;
若沿同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与线程数量不匹配,则沿与初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使第一空闲区域中的处理器核的数量和第二空闲区域中的处理器核的数量之和与线程数量相等。
可选的,若确定出的空闲处理器核的片上路由器构成的区域是非矩形区域,则搜索并确定由非矩形区域扩展而成的矩形区域,包括:
沿与初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与线程数量匹配的多个空闲处理器核;
若沿同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与线程数量不匹配,则沿与初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使第三空闲区域中的处理器核的数量和第四空闲区域中的处理器核的数量之和与线程数量相等。
可选的,若矩形区域内与非空闲处理器核连接的每一片上路由器的预测流量未超过预设门限值,则在将待处理任务中所包含的线程分别分配给空闲处理器核之前,方法还包括:
根据矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测矩形区域内与非空闲处理器核连接的片上路由器的流量得到预测流量。
基于上述的任务分配方法和任务分配装置,本发明实施例还提供一种片上网络,包括多个处理器核、片上路由器和互连线以及如图6或图7所示的任一任务分配装置,其对应的,可执行图2~图4A中任一方法实施例的技术方案,此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种任务分配方法,其特征在于:
确定待处理任务所包含的线程数量;
在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核,其中,每一个所述空闲处理器核连接一个片上路由器;
若确定出的与所述空闲处理器核连接的所述片上路由器构成的区域是非矩形区域,则在所述片上网络中搜索并确定由所述非矩形区域扩展的矩形区域;
若所述扩展的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将所述待处理任务的线程分配给所述空闲处理器核,其中,每一个所述空闲处理器核分配一个线程。
2.根据权利要求1所述的方法,其特征在于,所述由所述非矩形区域扩展而成的矩形区域为所述片上网络中包含所述非矩形区域的最小矩形区域。
3.根据权利要求1所述的方法,其特征在于,所述在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核之后,所述方法还包括:
若确定出的所述空闲处理器核的片上路由器构成的区域是矩形区域,则将所述待处理任务的线程分别分配给所述空闲处理器核,其中,每一个处理器核分配一个线程。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述片上网络中包括呈行列排列的多个处理器核;
相应的,所述在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核,包括:
在所述多核处理器构成的片上网络中确定初始空闲处理器核;
以所述初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核。
5.根据权利要求4所述的方法,其特征在于,若确定出的所述空闲处理器核的片上路由器构成的区域是非矩形区域,则所述搜索并确定由所述非矩形区域扩展而成的矩形区域,包括:
沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与所述线程数量不匹配,则沿与所述初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使所述第一空闲区域中的处理器核的数量和所述第二空闲区域中的处理器核的数量之和与所述线程数量相等。
6.根据权利要求4所述的方法,其特征在于,若确定出的所述空闲处理器核的片上路由器构成的区域是非矩形区域,则所述搜索并确定由所述非矩形区域扩展而成的矩形区域,包括:
沿与所述初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与所述线程数量不匹配,则沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使所述第三空闲区域中的处理器核的数量和所述第四空闲区域中的处理器核的数量之和与所述线程数量相等。
7.根据权利要求1~3、5~6中任一项所述的方法,其特征在于,所述若所述矩形区域内与非空闲处理器核连接的每一片上路由器的预测流量未超过预设门限值,则在将所述待处理任务中所包含的线程分别分配给所述空闲处理器核之前,所述方法还包括:
根据所述矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测所述矩形区域内与非空闲处理器核连接的片上路由器的流量得到所述预测流量。
8.一种任务分配装置,其特征在于,包括:
第一确定模块,用于确定待处理任务所包含的线程数量;
第二确定模块,用于在多核处理器构成的片上网络中确定连续的、与所述线程数量相等数量的多个空闲处理器核,其中,每一个所述空闲处理器核连接一个片上路由器;
第三确定模块,用于若所述第二确定模块确定出的与所述空闲处理器核连接的所述片上路由器构成的区域是非矩形区域时,在所述片上网络中搜索并确定由所述非矩形区域扩展的矩形区域;
分配模块,用于若所述第三确定模块确定出的矩形区域内与非空闲处理器核连接的每一个片上路由器的预测流量未超过预设门限值,则将所述待处理任务的线程分配给所述空闲处理器核,其中,每一个所述空闲处理器核分配一个线程。
9.根据权利要求8所述的任务分配装置,其特征在于,所述第三确定模块,具体用于:
确定由所述非矩形区域扩展而成的矩形区域为所述片上网络中包含所述非矩形区域的最小矩形区域。
10.根据权利要求8所述的任务分配装置,其特征在于,所述分配模块,还用于:
若所述第二确定模块确定出的与所述多个空闲处理器核连接的片上路由器构成矩形区域,则将所述待处理任务的线程分别分配给所述空闲处理器核,其中,每一个处理器核分配一个线程。
11.根据权利要求8~10任一项所述的任务分配装置,其特征在于,所述第二确定模块,具体用于:
在所述多核处理器构成的片上网络中确定初始空闲处理器核,所述片上网络中包括呈行列排列的多个处理器核;
以所述初始空闲处理器核为起始点,在多核处理器构成的片上网络中确定连续的、与所述线程数量匹配的多个空闲处理器核。
12.根据权利要求11所述的任务分配装置,其特征在于,所述第二确定模块,具体用于沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同行的相邻片上路由器依次确定的连续的第一空闲区域中的处理器核的数量与所述线程数量不匹配,则沿与所述初始空闲处理器连接的片上路由器同列的相邻片上路由器依次确定连续的第二空闲区域,以使所述第一空闲区域中的处理器核的数量和所述第二空闲区域中的处理器核的数量之和与所述线程数量相等。
13.根据权利要求11所述的任务分配装置,其特征在于,所述第二确定模块,具体用于:
沿与所述初始空闲处理器核连接的片上路由器同列的相邻片上路由器依次确定是否存在连续的、与所述线程数量匹配的多个空闲处理器核;
若沿所述同列的相邻片上路由器依次确定的连续的第三空闲区域中的处理器核数量与所述线程数量不匹配,则沿与所述初始空闲处理器核连接的片上路由器同行的相邻片上路由器依次确定连续的第四空闲区域,以使所述第三空闲区域中的处理器核的数量和所述第四空闲区域中的处理器核的数量之和与所述线程数量相等。
14.根据权利要求8-10、12-13中任一项所述的任务分配装置,其特征在于,所述任务分配装置还包括:
预测模块,用于根据所述矩形区域内与非空闲处理器核连接的片上路由器的历史流量信息,预测所述矩形区域内与非空闲处理器核连接的片上路由器的流量得到所述预测流量。
15.一种片上网络,包括多个处理器核、片上路由器和互连线,其特征在于,还包括如权利要求8~14任一所述的任务分配装置。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310177172.1A CN104156267B (zh) | 2013-05-14 | 2013-05-14 | 任务分配方法、任务分配装置及片上网络 |
EP14797851.4A EP2988215B1 (en) | 2013-05-14 | 2014-04-18 | Task assigning method, task assigning apparatus, and network-on-chip |
KR1020157035119A KR101729596B1 (ko) | 2013-05-14 | 2014-04-18 | 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩 |
PCT/CN2014/075655 WO2014183530A1 (zh) | 2013-05-14 | 2014-04-18 | 任务分配方法、任务分配装置及片上网络 |
JP2016513212A JP6094005B2 (ja) | 2013-05-14 | 2014-04-18 | タスク割り当て方法、タスク割り当て装置、およびネットワークオンチップ |
US14/940,577 US9965335B2 (en) | 2013-05-14 | 2015-11-13 | Allocating threads on a non-rectangular area on a NoC based on predicted traffic of a smallest rectangular area |
US15/943,370 US10671447B2 (en) | 2013-05-14 | 2018-04-02 | Method, apparatus, and network-on-chip for task allocation based on predicted traffic in an extended area |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310177172.1A CN104156267B (zh) | 2013-05-14 | 2013-05-14 | 任务分配方法、任务分配装置及片上网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156267A CN104156267A (zh) | 2014-11-19 |
CN104156267B true CN104156267B (zh) | 2017-10-10 |
Family
ID=51881772
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310177172.1A Active CN104156267B (zh) | 2013-05-14 | 2013-05-14 | 任务分配方法、任务分配装置及片上网络 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9965335B2 (zh) |
EP (1) | EP2988215B1 (zh) |
JP (1) | JP6094005B2 (zh) |
KR (1) | KR101729596B1 (zh) |
CN (1) | CN104156267B (zh) |
WO (1) | WO2014183530A1 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763962B (zh) | 2014-12-18 | 2019-05-10 | 华为技术有限公司 | 光片上网络、光路由器和传输信号的方法 |
KR102285481B1 (ko) * | 2015-04-09 | 2021-08-02 | 에스케이하이닉스 주식회사 | NoC 반도체 장치의 태스크 매핑 방법 |
CN106612236B (zh) * | 2015-10-21 | 2020-02-07 | 深圳市中兴微电子技术有限公司 | 众核网络处理器及其微引擎的报文调度方法、系统 |
CN105718318B (zh) * | 2016-01-27 | 2019-12-13 | 戴西(上海)软件有限公司 | 一种基于辅助工程设计软件的集合式调度优化方法 |
CN105721342B (zh) * | 2016-02-24 | 2017-08-25 | 腾讯科技(深圳)有限公司 | 多进程设备的网络连接方法和系统 |
CN107329822B (zh) * | 2017-01-15 | 2022-01-28 | 齐德昱 | 面向多源多核系统的基于超任务网的多核调度方法 |
CN107632594B (zh) * | 2017-11-06 | 2024-02-06 | 苏州科技大学 | 一种基于无线网络的电器集中控制系统和控制方法 |
CN108694156B (zh) * | 2018-04-16 | 2021-12-21 | 东南大学 | 一种基于缓存一致性行为的片上网络流量合成方法 |
KR102026970B1 (ko) * | 2018-10-08 | 2019-09-30 | 성균관대학교산학협력단 | 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치 |
FR3091775A1 (fr) * | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
FR3091773A1 (fr) * | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
EP3671455A1 (fr) * | 2018-12-21 | 2020-06-24 | Bull SAS | Procédé de déploiement d'une tâche dans un supercalculateur, procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur |
FR3091771A1 (fr) * | 2018-12-21 | 2020-07-17 | Bull Sas | Execution/Isolation d’application par allocation de ressources réseau au travers du mécanisme de routage |
EP3671456A1 (fr) * | 2018-12-21 | 2020-06-24 | Bull SAS | Procédé de déploiement d'une tâche dans un supercalculateur, procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur |
EP3671454A1 (fr) * | 2018-12-21 | 2020-06-24 | Bull SAS | Procédé de mise en oeuvre d'une tâche dans un supercalculateur, programme d'ordinateur correspondant et supercalculateur |
CN111382115B (zh) | 2018-12-28 | 2022-04-15 | 北京灵汐科技有限公司 | 一种用于片上网络的路径创建方法、装置及电子设备 |
KR102059548B1 (ko) * | 2019-02-13 | 2019-12-27 | 성균관대학교산학협력단 | Vfi 네트워크 온칩에 대한 구역간 라우팅 방법, vfi 네트워크 온칩에 대한 구역내 라우팅 방법, vfi 네트워크 온칩에 대한 구역내 및 구역간 라우팅 방법 및 이를 실행하기 위한 프로그램이 기록된 기록매체 |
CN109995652B (zh) * | 2019-04-15 | 2021-03-19 | 中北大学 | 一种基于冗余通道构筑的片上网络感知预警路由方法 |
CN110471777B (zh) * | 2019-06-27 | 2022-04-15 | 中国科学院计算机网络信息中心 | 一种Python-Web环境中多用户共享使用Spark集群的实现方法和系统 |
US11134030B2 (en) * | 2019-08-16 | 2021-09-28 | Intel Corporation | Device, system and method for coupling a network-on-chip with PHY circuitry |
CN112612605A (zh) * | 2020-12-16 | 2021-04-06 | 平安消费金融有限公司 | 线程分配方法、装置、计算机设备和可读存储介质 |
CN115686800B (zh) * | 2022-12-30 | 2023-03-21 | 摩尔线程智能科技(北京)有限责任公司 | 用于多核系统的动态核心调度方法和装置 |
CN116405555B (zh) * | 2023-03-08 | 2024-01-09 | 阿里巴巴(中国)有限公司 | 数据传输方法、路由节点、处理单元和片上系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403982A (zh) * | 2008-11-03 | 2009-04-08 | 华为技术有限公司 | 一种多核处理器的任务分配方法、系统及设备 |
CN102193779A (zh) * | 2011-05-16 | 2011-09-21 | 武汉科技大学 | 一种面向MPSoC的多线程调度方法 |
CN102541633A (zh) * | 2011-12-16 | 2012-07-04 | 汉柏科技有限公司 | 基于多核cpu的数据平面和控制平面部署系统及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5007050B2 (ja) * | 2006-02-01 | 2012-08-22 | 株式会社野村総合研究所 | 格子型コンピュータシステム、タスク割り当てプログラム |
JP2008191949A (ja) * | 2007-02-05 | 2008-08-21 | Nec Corp | マルチコアシステムおよびマルチコアシステムの負荷分散方法 |
US8347301B2 (en) * | 2008-06-30 | 2013-01-01 | Intel Corporation | Device, system, and method of scheduling tasks of a multithreaded application |
JP5429382B2 (ja) | 2010-08-10 | 2014-02-26 | 富士通株式会社 | ジョブ管理装置及びジョブ管理方法 |
KR101770587B1 (ko) | 2011-02-21 | 2017-08-24 | 삼성전자주식회사 | 멀티코어 프로세서의 핫 플러깅 방법 및 멀티코어 프로세서 시스템 |
JP5724626B2 (ja) | 2011-05-23 | 2015-05-27 | 富士通株式会社 | プロセス配置装置、プロセス配置方法及びプロセス配置プログラム |
-
2013
- 2013-05-14 CN CN201310177172.1A patent/CN104156267B/zh active Active
-
2014
- 2014-04-18 WO PCT/CN2014/075655 patent/WO2014183530A1/zh active Application Filing
- 2014-04-18 EP EP14797851.4A patent/EP2988215B1/en active Active
- 2014-04-18 KR KR1020157035119A patent/KR101729596B1/ko active IP Right Grant
- 2014-04-18 JP JP2016513212A patent/JP6094005B2/ja active Active
-
2015
- 2015-11-13 US US14/940,577 patent/US9965335B2/en active Active
-
2018
- 2018-04-02 US US15/943,370 patent/US10671447B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101403982A (zh) * | 2008-11-03 | 2009-04-08 | 华为技术有限公司 | 一种多核处理器的任务分配方法、系统及设备 |
CN102193779A (zh) * | 2011-05-16 | 2011-09-21 | 武汉科技大学 | 一种面向MPSoC的多线程调度方法 |
CN102541633A (zh) * | 2011-12-16 | 2012-07-04 | 汉柏科技有限公司 | 基于多核cpu的数据平面和控制平面部署系统及方法 |
Non-Patent Citations (1)
Title |
---|
A Scalable Strategy for Runtime Resource Management on NoC based Manycore Systems;Xiongfei Liao;《IEEXplore》;20111212;297-300 * |
Also Published As
Publication number | Publication date |
---|---|
EP2988215B1 (en) | 2021-09-08 |
US20160070603A1 (en) | 2016-03-10 |
EP2988215A4 (en) | 2016-04-27 |
US20180225156A1 (en) | 2018-08-09 |
KR101729596B1 (ko) | 2017-05-11 |
KR20160007606A (ko) | 2016-01-20 |
US9965335B2 (en) | 2018-05-08 |
EP2988215A1 (en) | 2016-02-24 |
JP6094005B2 (ja) | 2017-03-15 |
JP2016522488A (ja) | 2016-07-28 |
US10671447B2 (en) | 2020-06-02 |
WO2014183530A1 (zh) | 2014-11-20 |
CN104156267A (zh) | 2014-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156267B (zh) | 任务分配方法、任务分配装置及片上网络 | |
Huang et al. | DeePar: A hybrid device-edge-cloud execution framework for mobile deep learning applications | |
CN101689158A (zh) | 用于多核处理器的数据分组处理方法 | |
CN101808254B (zh) | 一种基于分层图的静态选路与波长分配方法 | |
CN109286528A (zh) | 一种基于时延的sdn网络多控制器部署方法 | |
Reza et al. | Energy-efficient and high-performance NoC architecture and mapping solution for deep neural networks | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN108282526A (zh) | 双集群间服务器动态分配方法及系统 | |
CN104823418A (zh) | 用于防止需求死锁并实现均衡链路利用的流量工程系统 | |
CN109242161A (zh) | 基于大数据的配送路线的生成方法及终端设备 | |
CN110958192B (zh) | 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法 | |
CN105138391B (zh) | 面向广域分布云系统公平的多任务虚拟机分配方法 | |
CN103684866B (zh) | 一种以太无源光网络的动态带宽分配方法 | |
CN105577834A (zh) | 具有可预测性能的云数据中心两层带宽分配方法及系统 | |
CN105072049A (zh) | 面向数据中心多层次弹性应用的资源分配方法及装置 | |
CN106844037A (zh) | 一种基于knl的测试方法及系统 | |
Dehghani et al. | Deadline-aware and energy-efficient dynamic task mapping and scheduling for multicore systems based on wireless network-on-chip | |
CN102055651A (zh) | 可扩展路由器分布式控制平面的任务分配方法及装置 | |
CN106933663B (zh) | 一种面向众核系统的多线程调度方法及系统 | |
Kavaldjiev et al. | Routing of guaranteed throughput traffic in a network-on-chip | |
CN104243263A (zh) | 一种在线混合虚拟网络映射方法 | |
CN104202263A (zh) | 一种多租户数据中心带宽资源公平分配方法 | |
Gentile et al. | The hyper run assignment model: simulation on a diachronic graph of congested transit networks with fail-to-board probabilities at stops | |
Ghazisaeedi et al. | EnergyMap: Energy-efficient embedding of MapReduce-based virtual networks and controlling incast queuing delay | |
CN108965012B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |