CN116360998A - 片上网络的处理方法、装置及片上网络 - Google Patents
片上网络的处理方法、装置及片上网络 Download PDFInfo
- Publication number
- CN116360998A CN116360998A CN202310343364.9A CN202310343364A CN116360998A CN 116360998 A CN116360998 A CN 116360998A CN 202310343364 A CN202310343364 A CN 202310343364A CN 116360998 A CN116360998 A CN 116360998A
- Authority
- CN
- China
- Prior art keywords
- network
- chip
- bit width
- virtual channel
- link
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 12
- 238000005070 sampling Methods 0.000 claims abstract description 91
- 238000004088 simulation Methods 0.000 claims abstract description 82
- 238000005457 optimization Methods 0.000 claims abstract description 67
- 230000005540 biological transmission Effects 0.000 claims description 30
- 238000005265 energy consumption Methods 0.000 claims description 22
- 238000000034 method Methods 0.000 claims description 21
- 239000000203 mixture Substances 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 13
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 claims description 8
- 238000002347 injection Methods 0.000 claims description 7
- 239000007924 injection Substances 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 239000000243 solution Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation 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/505—Allocation 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
-
- 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
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种片上网络的处理方法、装置及片上网络,可以应用于片上网络技术领域。该片上网络的处理方法包括:根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息;根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值;以及根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。
Description
技术领域
本公开涉及片上网络技术领域,尤其涉及一种片上网络的处理方法、装置及片上网络。
背景技术
随着数字电路规模的不断增大,传统的总线型数据交换方式的数据传输速率低下,越来越成为限制性能提升的瓶颈。因此,通过互联的片上网络(Network on Chip,NoC)进行各部件的数据交流开始普遍。NOC是一种多核处理器的芯片互联方式,由路由器、知识产权核(Intellectual Property core,IP核)和网络接口等元件组成,通过路由器实现芯片处理器之间的通信。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:相关技术中对片上网络的负载不均衡,导致片上网络的延时较高并且网络吞吐量较低。
发明内容
鉴于上述问题,本公开提供了一种片上网络的处理方法、装置及片上网络。
根据本公开的第一方面,提供了一种片上网络的处理方法,包括:
根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息;
根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值;
根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。
根据本公开的实施例,根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值,包括:
重复执行下述操作,直至满足预设条件;
根据目标优化指标和高斯混合模型,从多个配置方案中采样得到第i采样配置方案,其中,i为大于1的整数;
根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i链路配置方案对应的目标优化指标的第i仿真指标值;
基于第i指标评估值,对高斯混合模型中的模型参数进行优化;
在确定i小于或等于预设阈值的情况下,令i=i+1;
在确定i大于预设阈值的情况下,确定为满足预设条件。
根据本公开的实施例,根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i采样配置方案相匹配的第i仿真指标值,包括:
根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息,利用仿真器仿真预定周期数量,得到多个仿真指标子值;
根据多个仿真指标子值,确定与第i采样配置方案相匹配的第i仿真指标值。
根据本公开的实施例,根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,包括:
根据每个链路的初始位宽和位宽取值范围,确定每个链路的位宽配置子方案;
根据每个链路的初始虚拟通道和虚拟通道取值范围,确定每个链路的虚拟通道配置子方案;
根据每个链路的位宽配置子方案和虚拟通道配置子方案,确定片上网络的多个配置方案。
根据本公开的实施例,根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,还包括:
根据每条链路在预设传输环境下的负载特性,对链路进行分组,得到多个链路组合,其中,预设传输环境包括片上网络的拓扑结构、注入率、流量模式和路由算法;
对每个链路组合中的链路配置相同的位宽和相同的虚拟通道;
根据配置后的链路组合,确定片上网络的多个配置方案。
根据本公开的实施例,目标优化指标包括以下至少一种:网络平均延时指标、链路延时指标、网络吞吐量指标和网络能耗指标。
根据本公开的第二方面,提供了一种利用上述片上网络的处理方法的片上网络,包括:
多个路由器,用于根据目标配置方案传输数据微片,其中,每个路由器包括输入端口、输入缓存单元、交叉开关阵列、仲裁器、输出端口和控制单元;
其中,输入端口,用于根据目标配置方案配置输入端口位宽以及根据输入端口位宽接收数据微片;
输入缓存单元,用于根据目标配置方案配置虚拟通道以及根据虚拟通道存储数据微片;
交叉开关阵列,用于根据输入缓存单元的传输请求将数据微片传输至输出端口;
仲裁器,用于对传输请求进行仲裁;
输出端口,用于根据目标配置方案配置输出端口位宽以及根据输出端口位宽输出数据微片;
控制单元,用于根据目标配置方案控制输入端口、输入缓存单元、交叉开关阵列、仲裁器和输出端口对数据微片进行传输。
根据本公开的实施例,虚拟通道基于先进先出缓存传输数据微片;
输入缓存单元,还用于在数据微片为多个的情况下,通过虚拟通道并行存储多个数据微片;
交叉开关阵列,还用于在数据微片为多个的情况下,根据输入缓存单元的传输请求将多个数据微片并行传输至输出端口。
根据本公开的实施例,片上网络包括初始总位宽、初始总虚拟通道数量、冗余位宽和冗余虚拟通道数量,其中,片上网络的总位宽小于或等于初始总位宽与冗余位宽之和,片上网络的总虚拟通道数量小于或等于初始总虚拟通道数量和冗余虚拟通道数量之和。
根据本公开的第三方面,提供了一种片上网络的处理装置,包括:
第一确定模块,用于根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息;
第二确定模块,用于根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值;
第三确定模块,用于根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。
根据本公开提供的片上网络的处理方法、装置及片上网络。由于预先设置片上网络每条链路的配置方案,从配置方案中确定采样配置方案,并得到采样配置方案的目标优化指标的仿真指标值,由仿真指标值确定目标配置方案,以便片上网络根据目标配置方案传输数据微片,由于已经确定了目标配置方案的仿真指标值,因此可以根据目标配置方案对片上网络的位宽和虚拟通道进行配置,将更大的位宽和更多的虚拟通道分配给经常使用的链路,提升片上网络性能。因此,至少部分的解决了相关技术中对片上网络的负载不均衡,导致片上网络的延时较高并且网络吞吐量较低的技术问题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的片上网络的结构框图;
图2示意性示出了根据本公开实施例的路由器的链路结构示意图;
图3示意性示出了根据本公开实施例的输入端口与虚拟通道的结构示意图;
图4示意性示出了根据本公开实施例的路由器的交叉开关阵列和输入缓存单元的结构示意图;
图5示意性示出了根据本公开实施例的片上网络的处理方法的流程图;
图6示意性示出了根据本公开又一实施例的片上网络的处理方法的流程图;
图7示意性示出了根据本公开实施例的片上网络的拓扑结构示意图;
图8示意性示出了根据本公开实施例的片上网络的处理装置的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
相关技术中,对目前通用的片上网络架构的资源一般是均匀分配的,所有链路的位宽和路由器的架构都是一致的。但是实际的片上网络在运行时,流量未必是均匀的分布,部分关键的路由器和链路可能被经常使用,而部分链路使用频率可能非常低,网络整体呈现出一种不均匀的资源使用率。因此,将更大的位宽和更多的虚拟通道(Virtual Channel,VC)分配给经常使用的或者竞争较多的链路,可以更有效的利用片上网络资源。相关技术中,对片上网络链路的一种位宽分配是在小规模的片上网络上、使用穷举法,但是穷举法并不能应用在大规模的片上网络中。
有鉴于此,本公开的实施例提供了一种片上网络的处理方法,包括根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息;根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值;以及根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。由于预先设置片上网络每条链路的配置方案,从配置方案中确定采样配置方案,并得到采样配置方案的目标优化指标的仿真指标值,由仿真指标值确定目标配置方案,以便片上网络根据目标配置方案传输数据微片,由于已经确定了目标配置方案的仿真指标值,因此可以根据目标配置方案对片上网络的位宽和虚拟通道进行配置,将更大的位宽和更多的虚拟通道分配给经常使用的链路,提升片上网络性能。
为了能够更好的理解本公开实施例的片上网络的处理方法,下面首先介绍本公开实施例的片上网络。
图1示意性示出了根据本公开实施例的片上网络的结构框图。
如图1所示,该片上网络100包括多个路由器110(图中仅用一个示意),每个路由器110包括输入端口111、输入缓存单元112、交叉开关阵列113、仲裁器114、输出端口115和控制单元116。
根据本公开的实施例,多个路由器110用于根据目标配置方案传输数据微片。
输入端口111用于根据目标配置方案配置输入端口位宽以及根据输入端口位宽接收数据微片。
输入缓存单元112用于根据目标配置方案配置虚拟通道以及根据虚拟通道存储数据微片。
交叉开关阵列113用于根据输入缓存单元的传输请求将数据微片传输至输出端口。
仲裁器114,用于对传输请求进行仲裁。
输出端口115用于根据目标配置方案配置输出端口位宽以及根据输出端口位宽输出数据微片。
控制单元116,用于根据目标配置方案控制输入端口、输入缓存单元、交叉开关阵列、仲裁器和输出端口对数据微片进行传输。
根据本公开的实施例,片上网络110中还包括IP核和网络接口等元件(图中未示出)。片上网络110可以使用虫孔流控(Wormhole Flow Control)的片上网络。
根据本公开实施例,输入缓存单元的传输请求发出的时间可以根据实际需要进行设置。
根据本公开的实施例,仲裁器可以用于对传输请求进行仲裁即确定申请传输请求的数据微片是否在当前路由周期被传输。
根据本公开的实施例,对于使用虫孔流控的片上网络,当两个IP核之间需要通信时,可以将需要发送的数据分成固定大小的数据段,即数据微片(flit),一组这样的数据微片构成了一个数据包(packet)。
根据本公开实施例,对一个链路,与链路的位宽相对应传输的数据微片组成一个phit。链路的带宽定义如下公式(1):
B=f1*w (1)
其中,B表示链路带宽,f1表示链路的频率,w表示链路的位宽,链路带宽的单位可以是bit/s。
由上述公式(1)可以看出,在保持频率不变的前提下,链路的带宽同链路的位宽大小成正比。为了减少链路延迟,提高链路的带宽,可以增大链路的位宽。增大链路位宽后,该链路可以一次性传输多个数据微片,即一个phit的位宽大于一个数据微片的位宽。
根据本公开实施例的片上网络,可以根据目标配置方案对路由器的输入端口位宽、输出端口位宽以及虚拟通道进行配置,使得片上网络可以利用更多的位宽和虚拟通道,降低了片上网络的延时并且提高网络吞吐量。
图2示意性示出了根据本公开实施例的路由器的链路结构示意图。
如图2所示,以路由器R1和路由器R2为例具体说明数据微片在链路中的传输过程。
根据本公开实施例,设一个数据微片的位宽的大小为32bit,一个数据包中可以包括8个数据微片,路由器R1包括输入端口IN_1、输入端口IN_2、输出端口OU_1、交叉开关阵列C_1和控制单元A_1,路由器R1的每个输入端口均包括输入缓存单元。
根据本公开实施例,输入端口IN_1的位宽是32bit,输入端口IN_2的位宽是32bit,输出端口OU_1的位宽是128bit,交叉开关阵列C_1的输入端口和输出端口均为128bit,控制单元A_1用于计算路由器R1中的数据微片的路由计算、虚拟通道分配以及交叉开关阵列分配。可以理解的是,图2中的输出端口OU_1仅作为输出端口来描述,其对应的输入端口IN_3在图中省略。
根据本公开实施例,路由器R2包括输入端口IN_4、输入端口IN_5、交叉开关阵列C_2和控制单元A_2,路由器R2的每个输入端口均包括输入缓存单元。
根据本公开实施例,输入端口IN_4的位宽是128bit,输入端口IN_5的位宽是32bit,控制单元A_2用于计算路由器R2中的数据微片的路由计算、虚拟通道分配以及交叉开关阵列分配。
路由器R1到路由器R2之间的链路位宽为128bit,该链路通过路由器R1的输出端口OU_1和路由器R2的输入端口IN_4。路由器R1和路由器R2每个输入端口都可以有两个虚拟通道,每个虚拟通道对应的输入缓存单元都可以存储8个数据微片。
假设数据包1已经完成了路由计算(Routing Calculating,RC)、虚拟通道分配和交叉开关阵列分配,即将从路由器R1的输入端口IN_1的虚拟通道0发往路由器2的输入端口IN_4的虚拟通道0。数据包2已经完成了路由计算、虚拟通道分配,等待从路由器1的输入端口IN_2的虚拟通道0发往路由器2输入端口IN_4的虚拟通道1。
由于输入端口IN_1的位宽为32bit,等于数据微片的大小,而输出端口OU_1的位宽为128bit,所以计算得到一个phit的宽度应是128bit,包含4个数据微片,因此通过输入端口IN_1的虚拟通道0从输入端口IN_1的输入缓存单元并行取出4个数据微片,合并成一个phit。通过交叉开关阵列C_1的输入端口和输出端口传输到路由器R1的输出端口OU_1,再通过链路传递到路由器R2。
路由器R2在接收到128bit的phit后,通过输入端口IN_4的虚拟通道0,将phit中包括的4个数据微片并行的存储到路由器R2的输入端口IN_4的输入缓存单元中。
假设仲裁机制为轮询仲裁(Round-Robin,RR),则下一个周期,数据包2取得交叉开关阵列使用权。由于每个虚拟通道的缓存是按照数据微片为单位进行存储的,虽然输入端口IN_2的位宽和输出端口OU_1的位宽均为128bit,但仍需要读出4个数据微片,将4个微片合并成一个phit,通过交叉开关阵列C_1传递到输出端口OU_1。
假设路由器R1的端口OU_1不是128bit,而是64bit,即最终输出的phit的大小是两个数据微片。由于输入端口IN_2的位宽仍为128bit,交叉开关阵列C_1的输入端口位宽仍是输出端口的最大位宽128bit,则数据包1、数据包2在传输时,只占用交叉开关阵列C_1的低数据位进行数据微片传输,高数据位为无效数据,不会输出。
根据本公开的实施例,路由器的数据传输方式可以包括“攒满再发”和“无需攒满就可发送”。
“攒满再发”是指假设输出端口可以容纳4个数据微片,而输入缓存单元中只有一个数据微片,那么必须等待至少三个路由周期,发生拥堵的状态下需要更长时间,直到输入缓存中存储着4个数据微片的情况下,才能向开关阵列仲裁器申请输出端口来传递数据,这样,虽然整个输出端口位宽占满了,但是数据包实际的延时不一定减小。
“无需攒满就可发送”是指假设输出端口可以容纳4个数据微片,但每个路由周期,输入缓存单元都会向交叉开关阵列发出传输申请,这样一个phit中可能只有两个或三个数据微片,不能完全占满整个链路的位宽,但不需要等待更多周期来满足位宽要求。
考虑到在低注入率下,“攒满再发”的数据传输方式会等待更多的周期,一般路由器使用“无需攒满就可发送”的数据传输方式进行片上网络的数据传输。
图3示意性示出了根据本公开实施例的输入端口与虚拟通道的结构示意图。
如图3所示,虚拟通道包括VC0,……,VCn。虚拟通道基于先进先出缓存(First InFirst Out,FIFO缓存)传输数据微片。
根据本公开的实施例,在数据微片为多个的情况下,可以通过虚拟通道(VC0,……,VCn)并行将多个数据微片存储在输入缓存单元。交叉开关阵列113根据输入缓存单元的传输请求以及输出端口的位宽,从输入缓存单元中取出对应数量的数据微片组合成一个phit并行传输至路由器的输出端口。
根据本公开实施例,为了实现同时存储和读取多个数据微片,可以采用不同构的交叉开关阵列。
图4示意性示出了根据本公开实施例的路由器的交叉开关阵列和输入缓存单元的结构示意图。
如图4所示,交叉开关阵列的输入端口的位宽为128bit,交叉开关阵列的输出端口的位宽有32bit、64bit和128bit。因此交叉开关阵列的输入端口和输出端口的位宽不同。假设该路由器连接的链路有多种位宽,其中最大位宽为B,为了使不同位宽大小的phit能通过该路由器的交叉开关阵列,并且传输至交叉开关阵列的任一输出端口,交叉开关阵列的所有输入端口的位宽都为路由器的输出端口的最大位宽B,交叉开关阵列的输出端口的位宽则等于连接的路由器的输出端口的链路位宽,如果路由器的输出端口的位宽小于交叉开关阵列的输出端口的最大位宽B,逻辑控制单元会控制phit在交叉开关阵列中,只占用低数据位进行数据传输。
根据本公开的实施例,可以对片上网络的位宽和虚拟通道进行约束。片上网络包括初始总位宽、初始总虚拟通道数量、冗余位宽和冗余虚拟通道数量,其中,片上网络的总位宽小于或等于初始总位宽与冗余位宽之和,片上网络的总虚拟通道数量小于或等于初始总虚拟通道数量和冗余虚拟通道数量之和。
例如,片上网络包括L个链路0、1、2……L-1,对于链路l,初始位宽为bl,之后可在{b1,b2,,,bn}之间取值,链路l的虚拟通道数量最初为vl(vl>0),之后可在{v1,v2,,,vm}之间取值,则初始总位宽为初始总虚拟通道数量为/>片上网络的冗余位宽大小可以为Br,冗余虚拟通道数量为Lr。
则在配置位宽和虚拟通道的过程中,某个时刻t,对链路l,它的位宽为blt,它的虚拟通道数量为vlt,此时片上网络的总位宽为片上网络的总虚拟通道数量为则片上网络满足以下两个约束,约束一:Bt≤B0+Br,即片上网络的总位宽小于或等于初始总位宽与冗余位宽之和。约束二:Lt≤L0+Lr,即片上网络的总虚拟通道数量小于或等于初始总虚拟通道数量和冗余虚拟通道数量之和。
图5示意性示出了根据本公开实施例的片上网络的处理方法的流程图。
如图5所示,该实施例的片上网络的处理方法包括操作S510~操作S530。
在操作S510,根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息。
根据本公开的实施例,片上网络中可以包括多个路由器,一个链路是指片上网络中一个路由器和片上网络中的另外一个路由器之间的物理链路。
根据本公开的实施例,片上网络中可以包括多个链路。位宽信息可以是每个链路能够传输的数据的位宽,虚拟通道信息可以是链路能够传输数据的通道数量。
根据本公开实施例,在确定配置方案之前,可以根据片上网络的拓扑结构确定片上网络中的链路数量。
根据本公开的实施例,配置方案可以是片上网络中每个链路的位宽和虚拟通道的配置。
在操作S520,根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值。
根据本公开的实施例,目标优化指标可以是对片上网络进行评价的指标,例如可以是网络平均延时指标、链路延时指标、网络吞吐量指标或者网络能耗指标。
根据本公开的实施例,根据目标优化指标,可以通过贝叶斯算法确定采样配置方案,采样配置方案可以是使目标优化指标更优的方案。目标优化指标可以是单个,也可以是多个,在目标优化指标为单个的情况下,例如,选取网络平均延时指标为目标优化指标,优化方向为越小越好。在目标优化指标为多个的情况下,例如,选取网络平均延时指标和网络吞吐量指标作为目标优化指标,优化方向分别为越小越好、越大越好。
根据本公开的实施例,可以根据采样配置方案中的位宽分配信息和虚拟通道信息对片上网络进行模拟,得到目标优化指标的仿真指标值。
在操作S530,根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。
根据本公开的实施例,可以根据仿真指标值对采样配置方案从优到差排列,将最优的确定为片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。
根据本公开的实施例,还可以设置最优仿真指标值,根据每个采样配置方案的仿真指标值与最优仿真指标值进行比对,如果采样配置方案的仿真指标值优于最优仿真指标值,将采样配置方案的仿真指标值更新为最优仿真指标值,最终根据最优仿真指标值对应的采样配置方案确定目标配置方案。可以理解的是,这里的最优可以是使片上网络有最小的网络平均延时指标或最大的网络吞吐量指标的仿真指标值,但是不限于此。
根据本公开实施例,由于预先设置片上网络每条链路的配置方案,从配置方案中确定采样配置方案,并得到采样配置方案的目标优化指标的仿真指标值,由仿真指标值确定目标配置方案,以便片上网络根据目标配置方案传输数据微片,由于已经确定了目标配置方案的仿真指标值,因此可以根据目标配置方案对片上网络的位宽和虚拟通道进行配置,将更大的位宽和更多的虚拟通道分配给经常使用的链路,提升片上网络性能。因此,至少部分的解决了相关技术中对片上网络的负载不均衡,导致片上网络的延时较高并且网络吞吐量较低的技术问题。
根据本公开的实施例,目标优化指标可以包括以下至少一种:网络平均延时指标、链路延时指标、网络吞吐量指标和网络能耗指标。
根据本公开的实施例,网络平均延时指标可以反映片上网络的整体性能,优化方向为越小越好。网络平均延时指标可以用以下公式(2)表示:
其中,T表示片上网络的网络平均延时指标,f表示注入片上网络的数据流,F表示数据流的数量,tf表示数据微片从注入片上网络到目标IP核所花费的时间。
根据本公开的实施例,每个链路都有一个链路延时,链路延时指标可以是片上网络中所有链路延时的平均值加上所有链路延时中的最大值和最小值之间的差值,链路延时指标可以反映片上网络的网络局部性能,即每条链路的性能。所有链路延时中的最大值和最小值之间的差值越小,说明网络越均衡。
链路延时指标可以用以下公式(3)表示:
其中,p表示数据包,P表示片上网络中链路l传输的数据包的数量,tp表示数据包p通过链路l从路由器i到路由器j的时间。
根据本公开的实施例,网络吞吐量指标可以反映片上网络的整体性能。优化方向为越大越好。网络吞吐量指标可以通过片上网络中每个输入端口在每个周期接收到的数据量,可以通过片上网络的总数据量/(片上网络总仿真周期数*片上网络的输入端口数目)计算得到。
根据本公开的实施例,网络能耗指标可以包括静态能耗和动态能耗,细分为链路的能耗和路由器的能耗,其中路由器的能耗又主要分为交叉开关阵列能耗和输入缓存能耗。实际网络中,交叉开关阵列消耗的总能量不超过路由器总能耗的2%,评估的时候可以忽略,只考虑链路和路由器其他部分的动静态能耗。
根据本公开的实施例,本公开所使用的路由器使用的是异构的交叉开关阵列,输入缓存单元的静态能耗评估应与对应虚拟通道数目成正比,动态能耗应与写入、读出的数据量大小相关;交叉开关阵列的动静态能耗中的位宽大小应按照路由器输出端口的最大位宽来计算。网络能耗指标的优化方向为越小越好。
图6示意性示出了根据本公开又一实施例的片上网络的处理方法的流程图。
如图6所示,该方法包括操作S610~S650。
在操作S610,根据目标优化指标和高斯混合模型,从多个配置方案中采样得到第i采样配置方案,其中,i为大于1的整数。
在操作S620,根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i链路配置方案对应的目标优化指标的第i仿真指标值。
在操作S630,基于第i指标评估值,对高斯混合模型中的模型参数进行优化。
在操作S640,判断i是否大于预设阈值,在确定i小于或等于预设阈值的情况下,令i=i+1,执行操作S610,在确定i大于预设阈值的情况下,执行操作S650。
在操作S650,输出目标配置方案。
根据本公开的实施例,第1采样配置方案可以在允许范围内进行随机采样。还可以在采样开始前,预先设置初始配置方案和初始仿真指标值,从而为采样提供依据。
根据本公开的实施例,可以通过获取函数从多个配置方案中采样得到第2采样配置方案,获取函数是提升的期望(Expected Improvement,EI),指在当前代理模型和已知多个配置方案的情况下,获取函数采样到的下一个采样配置方案好过当前最好结果的期望,表达式是
其中,EI表示目标优化指标的期望,y表示下一个采样配置方案的目标优化指标预计的仿真指标值,y*表示目标优化指标当前最好的仿真指标值,H表示多个配置方案的集合。
例如,设目标优化指标为网络平均延时指标,在本次采样中,最大化该获取函数,可以取得采样配置方案,这个采样配置方案在理论上比之前所有的采样配置方案中取得最低的网络平均延时指标的方案更好的概率最大。由第i采样配置方案中的位宽分配信息和虚拟通道分配信息,输入至仿真器,仿真得到第i仿真指标值,
使用上述可配置虚拟通道和位宽的路由器结构进行行为级仿真,每一次仿真过程中,根据采样配置方案中的位宽配置信息和虚拟通道配置信息,配置片上网络中的路由器各个输入端口的位宽和虚拟通道数量,并将相应的数值存储,用于能耗评估模块进行能耗评估。例如,将8*8Mesh的拓扑结构输入至输入仿真器,它的224条链路的位宽和虚拟通道配置以及注入率,得到网络平均延时指标的仿真指标值。
根据本公开实施例,高斯混合模型(Gaussian Mixture Model,GMM)可以是本公开实施例中贝叶斯优化算法的代理模型,可以使用其中的树结构Parzen估计器(Tree-structured Parzen Estimator,TPE)算法对高斯混合模型进行模拟。
例如,根据目前已知的采样配置方案和仿真指标值,拟合片上网络的位宽和虚拟通道与片上网络性能之间的关系,得到两个高斯混合模型,一个是目标优化指标较大的模型,一个是目标优化指标较小的模型。每一个采样配置方案对应的仿真指标值都会用于更新这两个高斯混合模型和相应的获取函数。
贝叶斯算法的迭代停止条件可以是算法的迭代次数,如果未达到最大迭代次数,即执行操作S610,继续进行高斯混合模型的参数调整。如果达到最大迭代次数,则输出目标配置方案。
对于单个目标优化指标的优化,输出在片上网络当前拓扑结构、当前注入率、当前流量模式、当前路由算法下,将目标优化指标最优的采样配置方案作为目标配置方案输出;对于多个目标优化指标的优化,输出帕累托最优解集,即一组使其中一个目标优化指标最优而其他目标优化指标不会恶化的采样配置方案作为目标配置方案输出。
根据本公开的实施例,根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i采样配置方案相匹配的第i仿真指标值,包括:
根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息,利用仿真器仿真预定周期数量,得到多个仿真指标子值。
根据多个仿真指标子值,确定与第i采样配置方案相匹配的第i仿真指标值。
根据本公开的实施例,为了防止仿真器不稳定,仿真器可以预热一万个周期,接着在稳定状态下运行五万个周期。
根据本公开实施例,每次仿真过程可以多次调用仿真器,得到多个仿真指标子值,最后对多个仿真指标子值取平均值,作为本次贝叶斯优化采样得到的仿真指标值。
根据本公开的实施例,通过多次在仿真器中仿真得到多个仿真指标子值,根据多个仿真指标子值计算得到第i仿真指标值,可以使第i仿真指标值的结果更加接近真实,提高仿真的准确度。
根据本公开的实施例,在根据位宽配置信息和虚拟通道配置信息配置仿真器的过程中,如果某个采样配置方案不满足前述实施例中提出的两个约束,则该采样配置方案不进行仿真,而是直接将对应的目标函数值赋予其不可能取到的极限值,或者说,与优化方向相反的极限值,例如无穷大、无穷小,来说明该采样配置方案是不满足约束的。
根据本公开的实施例,根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,包括:
根据每个链路的初始位宽和位宽取值范围,确定每个链路的位宽配置子方案。
根据每个链路的初始虚拟通道和虚拟通道取值范围,确定每个链路的虚拟通道配置子方案。
根据每个链路的位宽配置子方案和虚拟通道配置子方案,确定片上网络的多个配置方案。
根据本公开实施例,对于每一条链路,每条链路的位宽取值范围可以是{b1,b2,,,bn},因此,每个链路的位宽配置子方案有n个,所有链路的位宽配置子方案有nL个。
根据本公开实施例,对于每一条链路,每条链路的虚拟通道取值范围可以是{v1,v2,,,vm},因此,每个链路的虚拟通道配置子方案有m个,所有链路的虚拟通道配置子方案有mL个。
在链路的位宽和虚拟通道数量之间不存在联系的情况下,由nL个位宽配置子方案和mL个虚拟通道配置子方案,可以确定nLmL个配置方案。
根据本公开的实施例,考虑到对某条位宽大的链路,流经该链路的数据包数量增加,不同的数据包之间的竞争激烈,高位宽链路应该倾向于分配高虚拟通道数量。因此,若某条链路位宽为bl,数据微片的位宽为bf,则该链路的虚拟通道数量vl≥ceiling(bl/bf),其中,ceiling()函数指向上取整。
根据本公开的实施例,根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,还包括:
根据每条链路在预设传输环境下的负载特性,对链路进行分组,得到多个链路组合,其中,预设传输环境包括片上网络的拓扑结构、注入率、流量模式和路由算法;
对每个链路组合中的链路配置相同的位宽和相同的虚拟通道;
根据配置后的链路组合,确定片上网络的多个配置方案。
根据本公开实施例,为了增大满足前述实施例中两个约束的可行解空间占全部解空间的比例,可根据片上网络的拓扑结构在预设传输环境下的负载特点,将需要配置的链路进行分组。例如:网络中的链路a和链路b在预设传输环境下的负载特性相近,则可以把链路a和链路b分到同一组,在进行位宽和虚拟通道的分配时,给链路a和链路b分配相同的位宽和相同的虚拟通道数量。
图7示意性示出了根据本公开实施例的片上网络的拓扑结构示意图。
如图7所示,一个8*8Mesh网络在均匀流量模式下使用XY路由,图中所示链路为双向链路,黑色圆圈代表一个路由器、网络接口及IP核组成的整体结构,根据每条链路在预设传输环境下的负载特性对Mesh网络的224个链路分为4个链路分组。可以理解的是,图中的链路线段的样式仅为链路分组示意。
根据本公开实施例,对片上网络的链路进行分组,使得相同的分组的链路可以配置相同的位宽和虚拟通道数量,从而提高配置方案生成的效率。
基于上述片上网络的处理方法,本公开还提供了一种片上网络的处理装置。以下将结合图8对该装置进行详细描述。
图8示意性示出了根据本公开实施例的片上网络的处理装置的结构框图。
如图8所示,该实施例的片上网络的处理装置800包括第一确定模块810、第二确定模块820和第三确定模块830。
第一确定模块810,用于根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案,其中,配置方案包括每条链路的位宽分配信息和虚拟通道分配信息。在一实施例中,第一确定模块810可以用于执行前文描述的操作S510,在此不再赘述。
第二确定模块820,用于根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值。在一实施例中,第二确定模块820可以用于执行前文描述的操作S520,在此不再赘述。
第三确定模块830,用于根据与采样配置方案对应的仿真指标值,确定片上网络的目标配置方案,以便片上网络根据目标配置方案传输数据微片。在一实施例中,第三确定模块830可以用于执行前文描述的操作S530,在此不再赘述。
根据本公开的实施例,用于根据目标优化指标、位宽分配信息和虚拟通道分配信息,从多个配置方案中确定至少一个采样配置方案以及与采样配置方案对应的目标优化指标的仿真指标值的第二确定模块820包括:
第一确定子模块,用于重复执行下述操作,直至满足预设条件;
根据目标优化指标和高斯混合模型,从多个配置方案中采样得到第i采样配置方案,其中,i为大于1的整数;
根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i链路配置方案对应的目标优化指标的第i仿真指标值;
基于第i指标评估值,对高斯混合模型中的模型参数进行优化;
在确定i小于或等于预设阈值的情况下,令i=i+1;
在确定i大于预设阈值的情况下,确定为满足预设条件。
根据本公开的实施例,用于根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息进行仿真,确定与第i采样配置方案相匹配的第i仿真指标值的第一确定子模块包括:
第一确定单元,用于根据第i采样配置方案中的位宽分配信息和虚拟通道分配信息,利用仿真器仿真预定周期数量,得到多个仿真指标子值;
第二确定单元,用于根据多个仿真指标子值,确定与第i采样配置方案相匹配的第i仿真指标值。
根据本公开的实施例,用于根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案的第一确定模块810包括:
第二确定子模块,用于根据每个链路的初始位宽和位宽取值范围,确定每个链路的位宽配置子方案;
第三确定子模块,用于根据每个链路的初始虚拟通道和虚拟通道取值范围,确定每个链路的虚拟通道配置子方案;
第四确定子模块,用于根据每个链路的位宽配置子方案和虚拟通道配置子方案,确定片上网络的多个配置方案。
根据本公开的实施例,用于根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定片上网络的多个配置方案的第一确定模块810还包括:
第五确定子模块,用于根据每条链路在预设传输环境下的负载特性,对链路进行分组,得到多个链路组合,其中,预设传输环境包括片上网络的拓扑结构、注入率、流量模式和路由算法;
第六确定子模块,用于对每个链路组合中的链路配置相同的位宽和相同的虚拟通道;
第七确定子模块,用于根据配置后的链路组合,确定片上网络的多个配置方案。
根据本公开的实施例,目标优化指标包括以下至少一种:网络平均延时指标、链路延时指标、网络吞吐量指标和网络能耗指标。
根据本公开的实施例,第一确定模块810、第二确定模块820和第三确定模块830中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一确定模块810、第二确定模块820和第三确定模块830中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上网络、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一确定模块810、第二确定模块820和第三确定模块830中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种片上网络的处理方法,包括:
根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定所述片上网络的多个配置方案,其中,所述配置方案包括每条所述链路的位宽分配信息和虚拟通道分配信息;
根据目标优化指标、所述位宽分配信息和所述虚拟通道分配信息,从多个所述配置方案中确定至少一个采样配置方案以及与所述采样配置方案对应的所述目标优化指标的仿真指标值;
根据与所述采样配置方案对应的仿真指标值,确定所述片上网络的目标配置方案,以便所述片上网络根据所述目标配置方案传输数据微片。
2.根据权利1所述方法,其中,所述根据目标优化指标、所述位宽分配信息和所述虚拟通道分配信息,从多个所述配置方案中确定至少一个采样配置方案以及与所述采样配置方案对应的所述目标优化指标的仿真指标值,包括:
重复执行下述操作,直至满足预设条件;
根据所述目标优化指标和高斯混合模型,从多个所述配置方案中采样得到第i采样配置方案,其中,i为大于1的整数;
根据所述第i采样配置方案中的所述位宽分配信息和所述虚拟通道分配信息进行仿真,确定与所述第i链路配置方案对应的所述目标优化指标的第i仿真指标值;
基于所述第i指标评估值,对所述高斯混合模型中的模型参数进行优化;
在确定i小于或等于预设阈值的情况下,令i=i+1;
在确定i大于预设阈值的情况下,确定为满足预设条件。
3.根据权利要求2所述的方法,其中,所述根据所述第i采样配置方案中的所述位宽分配信息和所述虚拟通道分配信息进行仿真,确定与所述第i采样配置方案相匹配的第i仿真指标值,包括:
根据所述第i采样配置方案中的所述位宽分配信息和所述虚拟通道分配信息,利用仿真器仿真预定周期数量,得到多个仿真指标子值;
根据多个仿真指标子值,确定与所述第i采样配置方案相匹配的第i仿真指标值。
4.根据权利要求1至3中任一项所述的方法,其中,所述根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定所述片上网络的多个配置方案,包括:
根据每个所述链路的初始位宽和位宽取值范围,确定每个所述链路的位宽配置子方案;
根据每个所述链路的初始虚拟通道和虚拟通道取值范围,确定每个所述链路的虚拟通道配置子方案;
根据每个链路的所述位宽配置子方案和所述虚拟通道配置子方案,确定所述片上网络的多个所述配置方案。
5.根据权利要求1至3中任一项所述的方法,所述根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定所述片上网络的多个配置方案,还包括:
根据每条所述链路在预设传输环境下的负载特性,对所述链路进行分组,得到多个链路组合,其中,所述预设传输环境包括所述片上网络的拓扑结构、注入率、流量模式和路由算法;
对每个所述链路组合中的所述链路配置相同的位宽和相同的虚拟通道;
根据配置后的链路组合,确定所述片上网络的多个配置方案。
6.根据权利要求1至3中任一项所述的方法,其中,所述目标优化指标包括以下至少一种:网络平均延时指标、链路延时指标、网络吞吐量指标和网络能耗指标。
7.一种利用权利要求1至6中任一项所述片上网络的处理方法的所述片上网络,包括:
多个路由器,用于根据目标配置方案传输数据微片,其中,每个所述路由器包括输入端口、输入缓存单元、交叉开关阵列、仲裁器、输出端口和控制单元;
其中,所述输入端口,用于根据所述目标配置方案配置输入端口位宽以及根据所述输入端口位宽接收所述数据微片;
所述输入缓存单元,用于根据所述目标配置方案配置虚拟通道以及根据所述虚拟通道存储所述数据微片;
所述交叉开关阵列,用于根据所述输入缓存单元的传输请求将所述数据微片传输至所述输出端口;
所述仲裁器,用于对所述传输请求进行仲裁;所述输出端口,用于根据所述目标配置方案配置输出端口位宽以及根据所述输出端口位宽输出所述数据微片;
所述控制单元,用于根据所述目标配置方案控制所述输入端口、所述输入缓存单元、所述交叉开关阵列、所述仲裁器和所述输出端口对所述数据微片进行传输。
8.根据权利要求7所述的片上网络,所述虚拟通道基于先进先出缓存传输所述数据微片;
所述输入缓存单元,还用于在所述数据微片为多个的情况下,通过所述虚拟通道并行存储多个所述数据微片;
所述交叉开关阵列,还用于在所述数据微片为多个的情况下,根据所述输入缓存单元的传输请求将多个所述数据微片并行传输至所述输出端口。
9.根据权利要求7所述的片上网络,其中,所述片上网络包括初始总位宽、初始总虚拟通道数量、冗余位宽和冗余虚拟通道数量,其中,所述片上网络的总位宽小于或等于所述初始总位宽与所述冗余位宽之和,所述片上网络的总虚拟通道数量小于或等于所述初始总虚拟通道数量和所述冗余虚拟通道数量之和。
10.一种片上网络的处理装置,包括:
第一确定模块,用于根据片上网络中的多个链路各自的位宽信息和虚拟通道信息,确定所述片上网络的多个配置方案,其中,所述配置方案包括每条所述链路的位宽分配信息和虚拟通道分配信息;
第二确定模块,用于根据目标优化指标、所述位宽分配信息和所述虚拟通道分配信息,从多个所述配置方案中确定至少一个采样配置方案以及与所述采样配置方案对应的所述目标优化指标的仿真指标IB231462
值;
第三确定模块,用于根据与所述采样配置方案对应的仿真指标值,确定所述片上网络的目标配置方案,以便所述片上网络根据所述目标配置方案传输数据微片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310343364.9A CN116360998A (zh) | 2023-03-31 | 2023-03-31 | 片上网络的处理方法、装置及片上网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310343364.9A CN116360998A (zh) | 2023-03-31 | 2023-03-31 | 片上网络的处理方法、装置及片上网络 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116360998A true CN116360998A (zh) | 2023-06-30 |
Family
ID=86941634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310343364.9A Pending CN116360998A (zh) | 2023-03-31 | 2023-03-31 | 片上网络的处理方法、装置及片上网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116360998A (zh) |
-
2023
- 2023-03-31 CN CN202310343364.9A patent/CN116360998A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7940788B2 (en) | System for transmitting data within a network between nodes of the network and flow control process for transmitting the data | |
Leroy et al. | Spatial division multiplexing: a novel approach for guaranteed throughput on NoCs | |
Abdallah et al. | Basic network-on-chip interconnection for future gigascale MCSoCs applications: Communication and computation orthogonalization | |
Leroy et al. | Concepts and implementation of spatial division multiplexing for guaranteed throughput in networks-on-chip | |
Shi et al. | Real-time communication analysis with a priority share policy in on-chip networks | |
Correa et al. | Ultra-low latency communication channels for FPGA-based HPC cluster | |
Daneshtalab et al. | CARS: Congestion-aware request scheduler for network interfaces in NoC-based manycore systems | |
Wissem et al. | A quality of service network on chip based on a new priority arbitration mechanism | |
CN116360998A (zh) | 片上网络的处理方法、装置及片上网络 | |
EP4109854A1 (en) | Telemetry-based load-balanced fine-grained adaptive routing in high-performance system interconnect | |
Mubeen | Evaluation of source routing for mesh topology network on chip platforms | |
US20180198682A1 (en) | Strategies for NoC Construction Using Machine Learning | |
Seifi et al. | A clustered NoC in group communication | |
Lee et al. | Design of a feasible on-chip interconnection network for a chip multiprocessor (cmp) | |
Daneshtalab et al. | Distributing congestions in nocs through a dynamic routing algorithm based on input and output selections | |
Berejuck et al. | Evaluation of silicon consumption for a connectionless network-on-chip | |
KR100617386B1 (ko) | 네트웍 온 칩 어플리케이션을 위한 버터플라이 팻-트리를사용한 비동기 스위치 회로 | |
Somisetty et al. | Congestion aware negative first routing with fair arbitration for network on chip | |
Mondinelli et al. | A 0.13/spl mu/m 1Gb/s/channel store-and-forward network on-chip | |
Modarressi et al. | Performance and power efficient on-chip communication using adaptive virtual point-to-point connections | |
CN113852574B (zh) | 一种片上网络路由器 | |
CN111628936B (zh) | 基于宽端口异构瓦片的端口可配置路由器设计方法及路由器 | |
EP4109853A1 (en) | Filter with engineered damping for load-balanced fine-grained adaptive routing in high-performance system interconnect | |
Escobar et al. | Performance evaluation of a Network on a Chip router using SystemC and TLM 2.0 | |
Elmiligi et al. | A power-optimized, area-efficient implementation of Connection-Then-Credit NoC physical layer |
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 |