CN113986813B - 片上网络结构构建及使用的方法、系统、设备和存储介质 - Google Patents
片上网络结构构建及使用的方法、系统、设备和存储介质 Download PDFInfo
- Publication number
- CN113986813B CN113986813B CN202111097532.8A CN202111097532A CN113986813B CN 113986813 B CN113986813 B CN 113986813B CN 202111097532 A CN202111097532 A CN 202111097532A CN 113986813 B CN113986813 B CN 113986813B
- Authority
- CN
- China
- Prior art keywords
- subgroup
- group
- computing
- computing task
- chip
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000010276 construction Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000003993 interaction Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 11
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 27
- 238000010586 diagram Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008094 contradictory effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multi Processors (AREA)
Abstract
本发明提供一种片上网络结构构建及使用的方法、系统、设备和存储介质,方法包括:将系统级芯片中多个处理单元按照预设数目进行分组;将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。本发明将众核按照特定数目进行分组,保证组内的严格同步,在跨组之间,插入专门的组间数据交互阶段,保证了跨组之间的数据一致性。
Description
技术领域
本发明涉及计算机体系结构领域,更具体地,特别是指一种片上网络结构构建及使用的方法、系统、设备和存储介质。
背景技术
随着半导体工艺技术步入纳米阶段,在单一芯片中集成上亿晶体管已经成为现实,如何有效地利用数目众多的晶体管是芯片体系结构必须回答的新问题。倘若按照单核的发展思路,芯片设计将面临互连延迟、存储带宽、功耗极限等性能提升的瓶颈问题。因此,业内普遍认识到,有必要研究新型的芯片体系架构以同时解决性能增长和功耗下降这样看似矛盾的需求。多核技术是一条可行之路。多核能够用多个低频率核单元产生超过高频率单核的处理效能,获得较佳的性价比。围绕着多核的一系列技术问题也已成为近期芯片业研究的重点和未来的主要发展方向。目前,二维或者三维网格式多核并行计算架构存在诸多不足,最主要的就是无法实现数据的共享和缓存数据一致性。
发明内容
有鉴于此,本发明实施例的目的在于提出一种片上网络结构构建及使用的方法、系统、计算机设备及计算机可读存储介质,本发明通过将众核按照特定数目进行分组,在组内设置快速通信通道,保证组内的严格同步,从而解决了组内的数据一致性问题;在跨组之间,插入专门的组间数据交互阶段,保证了跨组之间的数据一致性。
基于上述目的,本发明实施例的一方面提供了一种片上网络结构构建及使用的方法,包括如下步骤:将系统级芯片中多个处理单元按照预设数目进行分组;将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
在一些实施方式中,方法还包括:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
在一些实施方式中,方法还包括:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
在一些实施方式中,所述将所述计算任务按照计算量和数据规模均衡分配到每个小组包括:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
本发明实施例的另一方面,提供了一种片上网络结构构建及使用的系统,包括:分组模块,配置用于将系统级芯片中多个处理单元按照预设数目进行分组;设置模块,配置用于将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;第一分配模块,配置用于响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及第二分配模块,配置用于在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
在一些实施方式中,系统还包括第一同步模块,配置用于:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
在一些实施方式中,系统还包括第二同步模块,配置用于:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
在一些实施方式中,所述第一分配模块配置用于:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
本发明实施例的又一方面,还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现如上方法的步骤。
本发明实施例的再一方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时实现如上方法步骤的计算机程序。
本发明具有以下有益技术效果:通过将众核按照特定数目进行分组,在组内设置快速通信通道,保证组内的严格同步,从而解决了组内的数据一致性问题;在跨组之间,插入专门的组间数据交互阶段,保证了跨组之间的数据一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明提供的片上网络结构构建及使用的方法的实施例的示意图;
图2为本发明提供的片上网络结构的计算核分组结构示意图;
图3为本发明提供的片上网络结构的多级结构分层示意图;
图4为本发明提供的片上网络结构的多级结构叠加示意图;
图5为本发明提供的片上网络结构构建及使用的系统的实施例的示意图;
图6为本发明提供的片上网络结构构建及使用的计算机设备的实施例的硬件结构示意图;
图7为本发明提供的片上网络结构构建及使用的计算机存储介质的实施例的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
本发明实施例的第一个方面,提出了一种片上网络结构构建及使用的方法的实施例。图1示出的是本发明提供的片上网络结构构建及使用的方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
S1、将系统级芯片中多个处理单元按照预设数目进行分组;
S2、将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;
S3、响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及
S4、在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
按照不同的片上互连方式,多核soc(System on a Chip,系统级芯片)可分为两大类:传统的基于总线的互连和基于网络的互连。前者是现有soc的扩展,通过多总线及层次化总线等技术使得片上集成更多的处理器核,从而实现高复杂度和高性能;而后者是近些年提出的崭新的概念,即多处理器核之间采用分组路由的方式进行片内通信,从而克服了由总线互连所带来的各种瓶颈问题,这种片内通信方式称为片上网络noc。
noc是指在单芯片上集成大量的计算资源以及连接这些资源的片上通信网络。noc包括计算和通信两个子系统,计算子系统(由pe,processing element(处理单元)构成的子系统)完成广义的“计算”任务,pe既可以是现有意义上的cpu、soc,也可以是各种专用功能的ip核或存储器阵列、可重构硬件等;通信子系统(由switch(交换机)组成的子系统)负责连接pe,实现计算资源之间的高速通信。通信节点及其间的互连线所构成的网络被称为片上通信网络(on-chip network,ocn),它借鉴了分布式计算系统的通信方式,用路由和分组交换技术替代传统的片上总线来完成通信任务。
基于分组路由方式进行片上通信的noc在片上通信方式、功耗、基于重用的设计方法学、解决单一时钟全局同步等方面都具有优越性。
(1)有利于提高通讯带宽
noc的网络拓扑结构提供了良好的可扩展性;noc连线网络提供了良好的并行通信能力,从而使得通信带宽增加几个数量级;此外,noc将长的互连线变成交换开关之间互相连接的短连线,这对功耗控制变得极为有利;另一方面,noc借鉴了通讯协议中的分层思想,这就为从物理级到应用级的全面功耗控制提供了可能。
(2)有利于提升重用设计
由于noc所使用的通信协议层本身属于独立的资源,因此提供了支持高效率可重用设计方法学的体系结构。现有规模的soc可以基于片上通信协议作为计算节点“即插即用”于noc的网络节点;给定的互连拓扑结构使得芯片集成可以采用基于片上通信的设计方法(communication-based design,cbd)来完成。通信和计算完全分离的技术(也就是通信与计算的正交设计)将重用范围从计算单元可重用扩展到计算与通信单元皆可重用的层次,从而大大提升了重用设计的水平。
(3)有利于解决全局同步的难题
noc的片内网络通信方式,资源之间的短线互连和天然的全局异步局部同步(gals)时钟策略等特性是解决这些问题有效途径。
本发明通过对目前常见的二维、三维网格式多核并行计算架构的分析,提出了一种基于分组级联的片上网络结构。将SOC中众多的处理单元(PE)按一定数目进行分组,在组内设置快速通信通道,而在组间设置多路并行传输通道进行跨组的数据交互。同时对处理数据进行分组缓存以及实现跨组的数据一致性处理。并采用RTL(Resistor TransistorLogic,电阻晶体管逻辑)对计算单元架构进行了描述,在FPGA上进行了验证,实现了预期的功能。
将系统级芯片中多个处理单元按照预设数目进行分组。
图2为本发明提供的片上网络结构的计算核分组结构示意图。本发明实施例立足于众核处理芯片,通过分组的方式对芯片内数目众多的处理核进行整体规划,进行数据处理和数据存储的流水操作。经过测算,分组的颗粒度设为了八个处理核,即一个分组内有8个PE核,每个PE核通过输入输出管理双向端口,与分组内其它PE核进行直连,可以进行数据交互。同时这8个处理核之间共享一块存储空间,其相关的数据均保存在这块存储空间内,具体结构如图2所示。
图3为本发明提供的片上网络结构的多级结构分层示意图。图3给出了输入输出管理双向端口的功能示意图,通过控制信号,某个PE可以与组内的其它PE进行数据交互,也可以跨越分组,与前后相邻分组对应的PE进行数据交互。
将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道。
图4为本发明提供的片上网络结构的多级结构叠加示意图。为了简便起见,图4中只绘制了三层,实际中根据芯片内计算核具体数目进行分组构建。第一分组之间的连接为了清晰起见,没有绘制,其具体结构与其它分组一致。图4中斜线图案的双向箭头代表分组之间的数据交互通路,斜线图案的圆柱部分代表了分组所对应的存储空间读写接口,黑色实心双向箭头代表存储空间之间的数据交互通路。
响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组。在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。编译环节需要根据众核处理器中计算核PE的数目进行分组级别的任务调度,将按照计算量和数据规模进行权衡,以各个分组运行时间尽量相同为原则,然后在各个分组内部将该组所要承担的计算任务平均分配给每个PE核。
在一些实施方式中,所述将所述计算任务按照计算量和数据规模均衡分配到每个小组包括:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
在一些实施方式中,方法还包括:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。本发明实施例要确保8个PE核之间的同步性,因为一组内的8个PE核处理的是同一块存储空间内的数据。8个PE核同步完成计算后,对组内存储数据进行更新,然后进行后续操作,直至完成该组所分配到的全部计算任务。
在一些实施方式中,方法还包括:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。通过专用的各分组存储空间之间的交互通路进行数据一致化操作,再次开始各分组所承担的计算任务,直至全部任务完成。
本发明实施例将众核芯片内部按照特定的数目对计算核进行分组划分,且分组之间存在多条通路,将各级进行了串联,每组计算核共享一块数据存储区域,且各组对应的数据存储区域之间可以进行数据交互以实现数据一致;分组内计算核的计算操作是严格同步的,分组之间的计算操作是近似同步的;不同分组的计算核是并行操作的,并在特定的时间段进行数据交互。
本发明实施例通过将众核按照特定数目进行分组,在组内设置快速通信通道,保证组内的严格同步,从而解决了组内的数据一致性问题;在跨组之间,插入专门的组间数据交互阶段,保证了跨组之间的数据一致性。
需要特别指出的是,上述片上网络结构构建及使用的方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于片上网络结构构建及使用的方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在实施例之上。
基于上述目的,本发明实施例的第二个方面,提出了一种片上网络结构构建及使用的系统。如图5所示,系统200包括如下模块:分组模块,配置用于将系统级芯片中多个处理单元按照预设数目进行分组;设置模块,配置用于将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;第一分配模块,配置用于响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及第二分配模块,配置用于在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
在一些实施方式中,系统还包括第一同步模块,配置用于:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
在一些实施方式中,系统还包括第二同步模块,配置用于:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
在一些实施方式中,所述第一分配模块配置用于:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
基于上述目的,本发明实施例的第三个方面,提出了一种计算机设备,包括:至少一个处理器;以及存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行以实现如下步骤:S1、将系统级芯片中多个处理单元按照预设数目进行分组;S2、将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;S3、响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及S4、在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
在一些实施方式中,步骤还包括:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
在一些实施方式中,步骤还包括:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
在一些实施方式中,所述将所述计算任务按照计算量和数据规模均衡分配到每个小组包括:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
如图6所示,为本发明提供的上述片上网络结构构建及使用的计算机设备的一个实施例的硬件结构示意图。
以如图6所示的装置为例,在该装置中包括一个处理器301以及一个存储器302。
处理器301和存储器302可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器302作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的片上网络结构构建及使用的方法对应的程序指令/模块。处理器301通过运行存储在存储器302中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现片上网络结构构建及使用的方法。
存储器302可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据片上网络结构构建及使用的方法的使用所创建的数据等。此外,存储器302可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器302可选包括相对于处理器301远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个片上网络结构构建及使用的方法对应的计算机指令303存储在存储器302中,当被处理器301执行时,执行片上网络结构构建及使用的方法。
片上网络结构构建及使用的方法包括如下步骤:将系统级芯片中多个处理单元按照预设数目进行分组;将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接,并在每个小组之间设置多路并行传输通道;响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元。
在一些实施方式中,方法还包括:响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
在一些实施方式中,方法还包括:响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
在一些实施方式中,所述将所述计算任务按照计算量和数据规模均衡分配到每个小组包括:将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
执行上述片上网络结构构建及使用的方法的计算机设备的任何一个实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
本发明还提供了一种计算机可读存储介质,计算机可读存储介质存储有被处理器执行时执行片上网络结构构建及使用的方法的计算机程序。
如图7所示,为本发明提供的上述片上网络结构构建及使用的计算机存储介质的一个实施例的示意图。以如图7所示的计算机存储介质为例,计算机可读存储介质401存储有被处理器执行时执行如上方法的计算机程序402。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,片上网络结构构建及使用的方法的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,程序的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。上述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种片上网络结构构建及使用的方法,其特征在于,包括如下步骤:
将系统级芯片中多个处理单元按照预设数目进行分组;
将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接以进行组内数据交互,并在每个小组之间设置多路并行传输通道以进行跨组的数据交互,将各级进行串联以形成多级片上网络结构;
响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及
在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元,
其中,所述将系统级芯片中多个处理单元按照预设数目进行分组包括:每个小组中包括八个PE核,所述八个PE核共享一个存储空间。
2.根据权利要求1所述的方法,其特征在于,方法还包括:
响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
3.根据权利要求2所述的方法,其特征在于,方法还包括:
响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
4.根据权利要求1所述的方法,其特征在于,所述将所述计算任务按照计算量和数据规模均衡分配到每个小组包括:
将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
5.一种片上网络结构构建及使用的系统,其特征在于,包括:
分组模块,配置用于将系统级芯片中多个处理单元按照预设数目进行分组;
设置模块,配置用于将每个小组中的每个处理单元通过输入输出管理双向端口与组内其它处理单元进行直接连接以进行组内数据交互,并在每个小组之间设置多路并行传输通道以进行跨组的数据交互,将各级进行串联以形成多级片上网络结构;
第一分配模块,配置用于响应于接收到计算任务,将所述计算任务按照计算量和数据规模均衡分配到每个小组;以及
第二分配模块,配置用于在每个小组内部将分配给所述小组的计算任务平均分配给每个处理单元,
其中,所述将系统级芯片中多个处理单元按照预设数目进行分组包括:每个小组中包括八个PE核,所述八个PE核共享一个存储空间。
6.根据权利要求5所述的系统,其特征在于,系统还包括第一同步模块,配置用于:
响应于小组内的多个处理单元均完成当前分配的计算任务,通过组内共享存储空间对每个处理单元的数据进行同步更新,并开始执行下一个计算任务直到分配给所述小组的计算任务全部完成。
7.根据权利要求6所述的系统,其特征在于,系统还包括第二同步模块,配置用于:
响应于每个小组均完成当前分配的计算任务,通过各个小组存储空间之间的交互通路对每个小组的数据进行同步更新,并开始执行下一个计算任务直到所述计算任务全部完成。
8.根据权利要求7所述的系统,其特征在于,所述第一分配模块配置用于:
将计算任务按照优先级进行分类,将每一类的计算任务平均分配给每个小组。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机指令,所述指令由所述处理器执行时实现权利要求1-4任意一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111097532.8A CN113986813B (zh) | 2021-09-18 | 2021-09-18 | 片上网络结构构建及使用的方法、系统、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111097532.8A CN113986813B (zh) | 2021-09-18 | 2021-09-18 | 片上网络结构构建及使用的方法、系统、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986813A CN113986813A (zh) | 2022-01-28 |
CN113986813B true CN113986813B (zh) | 2023-08-04 |
Family
ID=79736121
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111097532.8A Active CN113986813B (zh) | 2021-09-18 | 2021-09-18 | 片上网络结构构建及使用的方法、系统、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986813B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024207309A1 (en) | 2023-04-06 | 2024-10-10 | Moffett International Co., Limited | Hierarchical networks on chip (noc) for neural network accelerator |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN105075204A (zh) * | 2013-03-12 | 2015-11-18 | 高通股份有限公司 | 可配置的多核网络处理器 |
CN105279136A (zh) * | 2015-10-29 | 2016-01-27 | 北京华力创通科技股份有限公司 | 基于多核dsp多路信号的实时并行频域分析方法与系统 |
WO2018075811A2 (en) * | 2016-10-19 | 2018-04-26 | Rex Computing, Inc. | Network-on-chip architecture |
-
2021
- 2021-09-18 CN CN202111097532.8A patent/CN113986813B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102289421A (zh) * | 2011-07-26 | 2011-12-21 | 西安电子科技大学 | 一种基于交叉开关结构的片上互联方法 |
CN105075204A (zh) * | 2013-03-12 | 2015-11-18 | 高通股份有限公司 | 可配置的多核网络处理器 |
CN104794100A (zh) * | 2015-05-06 | 2015-07-22 | 西安电子科技大学 | 基于片上网络的异构多核处理系统 |
CN105279136A (zh) * | 2015-10-29 | 2016-01-27 | 北京华力创通科技股份有限公司 | 基于多核dsp多路信号的实时并行频域分析方法与系统 |
WO2018075811A2 (en) * | 2016-10-19 | 2018-04-26 | Rex Computing, Inc. | Network-on-chip architecture |
Also Published As
Publication number | Publication date |
---|---|
CN113986813A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103580890B (zh) | 一种可重配置片上网络结构及其配置方法 | |
US20140331027A1 (en) | Asymmetric mesh noc topologies | |
de Mello et al. | Evaluation of routing algorithms on mesh based nocs | |
Firuzan et al. | Reconfigurable network-on-chip for 3D neural network accelerators | |
Bistouni et al. | Scalable crossbar network: a non-blocking interconnection network for large-scale systems | |
US20160077985A1 (en) | Multi-mode agent | |
Choudhary et al. | Performance evaluation of mesh-based NoCs: Implementation of a new architecture and routing algorithm | |
CN113986813B (zh) | 片上网络结构构建及使用的方法、系统、设备和存储介质 | |
Ye et al. | 3D optical networks-on-chip (NoC) for multiprocessor systems-on-chip (MPSoC) | |
Bistouni et al. | Reliability analysis of multilayer multistage interconnection networks | |
Nasiri et al. | Reconfigurable multicast routing for networks on chip | |
CN104360980B (zh) | 一种多平面分离式多分区计算机体系结构 | |
Seifi et al. | Clustered NOC, a suitable design for group communications in Network on Chip | |
US9081891B2 (en) | Reconfigurable crossbar networks | |
Ji et al. | A high-performance fully adaptive routing based on software defined network-on-chip | |
Rezaei et al. | Fault-tolerant 3-D network-on-chip design using dynamic link sharing | |
Zhang et al. | Comparative analysis of simulators for optical network-on-chip (ONoC) | |
Asad et al. | Godiva: green on-chip interconnection for DNNs | |
Yang et al. | Path-based routing and wavelength assignment for multiple multicasts in optical network-on-chip | |
İmre | Dual-mode routing approach for photonic network on chip platforms | |
Shao et al. | Compiler techniques for efficient communications in circuit switched networks for multiprocessor systems | |
Ouyang et al. | URMP: using reconfigurable multicast path for NoC-based deep neural network accelerators | |
EP3343843B1 (en) | A control plane system and method for managing a data plane amongst a plurality of equipments | |
Zheng et al. | Csquare: a new kilo-core-oriented topology | |
Satish et al. | Comparative performance analysis of routing topology for noc architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |