CN108199985A - GPGPU中基于全局节点信息的NoC仲裁方法 - Google Patents
GPGPU中基于全局节点信息的NoC仲裁方法 Download PDFInfo
- Publication number
- CN108199985A CN108199985A CN201711479871.6A CN201711479871A CN108199985A CN 108199985 A CN108199985 A CN 108199985A CN 201711479871 A CN201711479871 A CN 201711479871A CN 108199985 A CN108199985 A CN 108199985A
- Authority
- CN
- China
- Prior art keywords
- group
- arbitration
- node
- grouping
- information
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/254—Centralised controller, i.e. arbitration or scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种GPGPU中基于全局节点信息的NoC仲裁方法,步骤包括:S1.收集网络中各个计算节点的性能信息,根据性能信息设置各个计算节点的优先级,并广播给所有计算节点进行全局同步更新;S2.当计算节点发出访存请求时,将各计算节点中需要向网络注入的数据包进行分组,得到数据包的分组信息;计算节点进行请求仲裁时,先根据分组信息进行组间仲裁,再根据计算节点的优先级进行组内仲裁,当经过组内仲裁后仍然有多个请求胜出,采用局部仲裁机制进行附加仲裁。本发明具有实现方法简单、仲裁效率高,能够保证仲裁公平性,同时优化资源配置、实现仲裁结果一致性,提高系统性能等优点。
Description
技术领域
本发明涉及GPGPU(General Purpose Graphic Process Unit,通用图形处理器)中片上网络(Network-on-a-chip,NoC)仲裁技术领域,尤其涉及一种GPGPU中基于全局节点信息的NoC仲裁方法。
背景技术
GPGPU上采用大量的简单处理器核,通过并行处理大量的数据获得高吞吐率,在大量任务之间切换来掩藏片下访存带来的访存延迟。由于处理器核结构简单,GPGPU上能够集成大量的晶体管,这使得其在单精度和双精度浮点运算方面独具优势。在浮点计算方面超强的计算能力,使得GPGPU被广泛应用于高性能计算领域,成为解决计算密集型科学和工程问题的重要手段。高密度集成计算单元给GPGPU带来超强计算能力的同时,也对片上通信结构提出了更高的要求。传统的多处理器结构和最初的片上多核系统采用基于总线的通信方式,这种方式将所有核连接到一个中央总线上,总线仲裁采取集中控制的方式。然而,随着片上的计算单元越来越多,基于总线的通信方式不再适用。
为了最大限度的提高计算核心的利用率、高效完成核间通信,片上通信方式必须具备高带宽、扩展性好的特点,而基于总线的通信方式和交叉开关都无法满足这两点,因此片上网络(on-chip networks)这种新型的通信结构应运而生。目前针对GPGPU领域的片上网络技术仍然十分匮乏,GPGPU和通用处理器在通信方式上存在巨大差异,使得通用处理器上的片上网络技术不能直接应用到GPGPU领域。两者的差异主要体现在以下几个方面:
1)GPGPU采用流处理模式,同一时刻有成百上千的线程同步执行,由此产生的访存通信比通用处理器高很多。
2)通用处理器中计算节点之间、计算节点和存储节点之间都需要通信,但GPGPU的计算节点之间不通信,通信只存在于计算节点和存储节点之间。数目较多的计算节点通过请求网络发送读写请求给数量较少的存储节点,经过读写处理后数量较少的存储节点再通过回复网络将回复报文发给计算节点,GPGPU的这种通信方式被称为“many-to-few-to-many”。
3)请求网络中的读请求报文较小,写请求报文较大但是数量很少;而回复网络中存在大量的读请求回复报文,这些报文通常携带读出的数据,因此报文数量多、长度大,上述通信特点使得请求网络负载较低,回复网络负载较高,负载不均衡也是现有片上网络结构不能充分发挥性能优势的原因之一。
4)通用处理器中不同计算节点之间的通信主要是由共享存储编程模型导致的,共享存储模式下,为了提高访存效率和系统性能,不同计算节点都有私有Cache,同一地址的数据在不同Cache中可能有不同的副本,因此产生了Cache一致性问题。因此,通用处理器中的片上网络针对Cache一致性协议进行了大量优化设计,但是GPGPU中,通信只存在于计算节点和存储节点之间,因此没有数据的Cache一致性协议问题,那么针对Cache一致性协议所做的优化设计显然不适合GPGPU结构。
GPGPU片上网络的仲裁器是片上网络路由器中的关键模块,因为它决定了片上网络所支持的QoS等级,并且在关键路径的延迟上影响到网络路由器的性能。目前GPGPU片上网络的NoC仲裁器主要采用以下几种方式:
①固定优先级的仲裁器:该类仲裁器是最简单的一种仲裁设计,通过以线性规则分配优先权,由迭代电路的方式构建仲裁器,但是由于没有考虑到公平性,固定优先级的仲裁器在实际中使用的并不多;
②Round-Robin仲裁器采用轮询仲裁的机制:该类仲裁器是在当前周期发出访存请求的输入端口或者虚通道得到,满足后在下一轮的仲裁中其优先权最低,与上述固定优先级仲裁相比较,该类轮询调度方式增加了公平性,但是整个系统的性能不高;
③Matrix仲裁器以N x N矩阵的形式存储N个请求之间优先权关系的元素,在矩阵中的元素Wij表示发出请求的输入端口i和输入端口j之间的优先权关系裁,该类仲裁方式相比于轮询仲裁具有更高的数据吞吐能力,且运算处理速度更快,但是其高速运算能力是以占用大量的资源和面积开销为代价的,且整个系统的性能仍然不高。
除上述类型仲裁器外,还存在如面向片上多核网络或长路径网络设计等的仲裁器,但如上述的目前NoC仲裁机制都是局部仲裁、随机调度,设计目标都是集中在保证仲裁公平性、提高服务质量上,仲裁机制中未充分考虑和利用计算节点、网络流量等全局信息,忽略了仲裁机制对整体系统性能提升的作用,虽然能在一定程度上保证仲裁的公平性,但是由于局部随机仲裁只根据当前节点处接收到的访存请求信息进行调度,仲裁机制的设计没有充分考虑各个计算节点发出的所有访存请求的特征,仲裁结果和程序需求的匹配度低;同时各个路由器独立进行调度,可能导致调度结果之间不协调,相互干扰甚至出现矛盾,因此目前NoC仲裁机制无法提升整体系统性能,甚至会降低系统的性能。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种实现方法简单、仲裁效率高,能够保证仲裁公平性,同时优化资源配置、实现仲裁结果一致性,提高系统性能的GPGPU中基于全局节点信息的NoC仲裁方法。
为解决上述技术问题,本发明提出的技术方案为:
一种GPGPU中基于全局节点信息的NoC仲裁方法,步骤包括:
S1.收集网络中各个计算节点的性能信息,根据所述性能信息设置各个计算节点的优先级,并广播给所有计算节点进行全局同步更新;
S2.当计算节点发出访存请求时,将各计算节点中需要向网络注入的数据包进行分组,得到数据包的分组信息;计算节点进行请求仲裁时,先根据所述分组信息进行组间仲裁,再根据所述计算节点的优先级对所述组间仲裁中胜出的分组进行组内仲裁,当经过所述组内仲裁后仍然有多个请求胜出,对胜出的分组采用局部仲裁机制进行附加仲裁。
作为本发明的进一步改进:所述步骤S1具体通过配置一个中央决策逻辑CDL(Central Decision Logic)模块,通过所述中央决策逻辑CDL模块定期收集网络中各个计算节点的性能信息,根据所述性能信息设置各个计算节点的优先级,以及广播给所有计算节点进行全局同步更新。
作为本发明的进一步改进:所述中央决策逻辑CDL模块进行全局同步更新具体包括:将所述中央决策逻辑CDL模块和各个计算节点之间配置为采用数据包的方式进行通信,当一个决策周期结束时,各个计算节点将该周期内收集到的计算节点的性能信息以RCSP(Rank Control Send Packet,秩控制发送包)的形式发送给CDL;所述中央决策逻辑CDL模块接收到所有节点的RCSP后,开始计算各个节点的优先级,并将所有节点的最新优先级信息以RCRP(Rank Control Receive Packet,秩控制接收包)的形式广播给所有计算节点以进行全局同步更新。
作为本发明的进一步改进:所述性能信息具体包括缓存未命中率。
作为本发明的进一步改进:所述步骤S2中当计算节点发出访存请求时,具体根据各计算节点需要向网络注入的数据包的产生时间,按照时间间隔Tgroup进行分组,获取各组对应的分组编号GID,将所述分组编号GID、当前计算节点的优先级信息一起作为所述访存请求的附加仲裁信息,并在NoC中进行传输。
作为本发明的进一步改进,所述获取各组对应的分组编号GID具体包括:基于数据包的产生时间和分组的时间间隔Tgroup对数据包进行循环分组编号,使得第(k+1)Tgroup个时间间隔内注入的数据包的所述分组编号GID为m+1,第(k+2)Tgroup个时间间隔内注入的数据包的所述分组编号GID为m+2,其中当前时间间隔为kTgroup,m为所述分组编号GID的值,且当所述分组编号GID达到Gmax-1时,下一个时间间隔Tgroup内到达的数据包的所述分组编号GID重新设为0,依此类推完成循环分组,Gmax为分组编号的上界。
作为本发明的进一步改进,所述获取各组对应的分组编号GID后,还包括根据各个分组的所述分组编号GID以及分组的优先级计算分组的优先级编号PGID步骤,以根据所述优先级编号PGID进行组间仲裁;所述分组的优先级编号PGID具体按式PGID=(CGID-GID)mod Gmax计算得到,其中CGID表为当前时刻的分组编号,GID为待计算优先级的分组实际编号。
作为本发明的进一步改进:所述步骤S2中具体使用Oldest First原则进行组间仲裁,其中产生时间最久的分组胜出。
作为本发明的进一步改进:所述步骤S2中具体使用Ranking Highest First的原则对所述组间仲裁胜出的分组进行组内仲裁,其中优先级最高的请求胜出。
作为本发明的进一步改进:所述步骤S2中具体使用Round-Robin仲裁机制进行附加仲裁。
与现有技术相比,本发明的优点在于:
1)本发明GPGPU中基于全局节点信息的NoC仲裁方法,充分考虑了所有计算节点的性能信息,通过收集各个计算机节点的性能信息进行优先级的设置并进行全局同步更新,能够量化不同计算节点发出的访存请求对系统整体性能的影响,同时将计算节点的全局性信息引入仲裁规则,在保证仲裁公平性的前提下,能够有效提高仲裁效率,减少系统停顿时间,同时由优先级及分组信息作为全局共享信息实现仲裁,能够保证不同节点中各个路由器仲裁结果的一致性,从而有效提高系统的整体性能。
2)本发明GPGPU中基于全局节点信息的NoC仲裁方法,通过采用组间仲裁、组内仲裁的两级仲裁机制,首先使用组间仲裁,能够保证仲裁的公平性,防止在优先级仲裁机制下优先级低的请求长时间得不到响应导致的网络饿死等问题;再使用充分利用节点的全局性信息实现组内仲裁,能够有效加快各计算节点的任务处理进程,提高仲裁效率而减少系统停顿时间,从而实现了请求和资源之间的最佳匹配。
3)本发明GPGPU中基于全局节点信息的NoC仲裁方法,进一步对各节点数据包按照时间间隔Tgroup进行分组,且为分组设置上界参数Gmax,可以根据实际需求及网络运行状态等进行自动分组配置,实现灵活配置且设计和实现复杂性低。
附图说明
图1是本实施例GPGPU中基于全局节点信息的NoC仲裁方法的实现原理示意图。
图2是本实施例所采用的GPGPU架构原理示意图。
图3是本实施例中CDL模块的结构原理示意图。
图4是本实施例实现Packet分组的原理示意图。
图5是本实施例采用的Packet和Flit组成结构示意图。
具体实施方式
以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。
如图1所示,本实施例GPGPU中基于全局节点信息的NoC仲裁方法,步骤包括:
S1.收集网络中各个计算节点的性能信息,根据性能信息设置各个计算节点的优先级,该优先级也即为计算节点发出的数据包(packet)的优先级,并广播给所有计算节点进行全局同步更新;
S2.当计算节点发出访存请求时,将各计算节点中需要向网络注入的数据包进行分组,得到数据包的分组信息;计算节点进行请求仲裁时,先根据分组信息进行组间仲裁,再根据计算节点的优先级对组间仲裁中胜出的分组进行组内仲裁,当经过组内仲裁后仍然有多个请求胜出,对胜出的分组采用局部仲裁机制进行附加仲裁。
本实施例上述方法,充分考虑了所有计算节点的性能信息,通过收集各个计算机节点的性能信息进行优先级的设置并进行全局同步更新,能够量化不同计算节点发出的访存请求对系统整体性能的影响,同时将计算节点的全局性信息引入仲裁规则,在保证仲裁公平性的前提下,与传统的如Round-Robin、Age-based Arbitration等传统的仲裁机制相比,能够有效提高仲裁效率,减少系统停顿时间,同时是基于全局共享信息实现仲裁,能够保证不同节点中各个路由器仲裁结果的一致性,从而有效提高系统的整体性能。
本实施例通过采用组间仲裁、组内仲裁的两级仲裁机制,首先使用组间仲裁,能够保证仲裁的公平性,防止在优先级仲裁机制下优先级低的请求长时间得不到响应导致的网络饿死等问题;再使用充分利用节点的全局性信息实现组内仲裁,能够有效加快各计算节点的任务处理进程,提高仲裁效率而减少系统停顿时间,从而实现了请求和资源之间的最佳匹配。
本实施例中,步骤S1具体通过配置一个中央决策逻辑CDL模块,通过中央决策逻辑CDL模块定期收集网络中各个计算节点的性能信息,根据性能信息设置各个计算节点的优先级,以及广播给所有计算节点进行全局同步更新。
本实施例中,中央决策逻辑CDL模块进行全局同步更新具体包括:将中央决策逻辑CDL模块和各个计算节点之间配置为采用数据包(packet)的方式进行通信,当一个决策周期Tslot结束时,各个计算节点将该周期内收集到的计算节点的性能信息以RCSP的形式发送给CDL;中央决策逻辑CDL模块接收到所有节点的RCSP后,开始计算各个节点的优先级,并将所有节点的最新优先级信息以RCRP的形式广播给所有计算节点以进行全局同步更新。
本实施例采用的GPGPU架构如图2所示,该GPGPU共36个节点,采用6*6的二维Mesh网络,其中有28个计算节点、8个存储节点(填充框所示),使用的路由算法具体为确定性路由机制中的维序路由算法,基准路由器采用虚通道虫孔路由器,每个路由器有五个端口,分别是和东西南北四个方向的相邻节点连接的端口以及本地的Injection/Ejection端口。在GPGPU架构中增设CDL模块,如图中坐标(3,3)处的CDL模块所示,用于收集各个节点的性能信息以及计算节点的优先级,在CDL和相邻的四个节点之间建立通信链路,输出信息传输到相邻节点后,依托原有的片上网络继续传播到其他节点,以实现CDL模块的输出能够广播到所有节点。
如图3所示,本实施例中CDL模块具体包括RCSP接收缓冲、优先级计算逻辑、RCRP发送缓冲和配置复位逻辑四个子模块,从各个节点收集得到的RCSP数据包首先存入RCSP接收缓冲,然后由优先级计算逻辑根据统计信息计算各个节点的优先级,计算结果以RCRP数据包的形式存入RCRP输出缓冲,全部准备就绪后输出结果经由CDL模块和相邻节点之间的通信链路传输到相邻节点,最后经由NoC广播给所有节点。由于RCSP和RCRP数据包长度小且发送频率低,给片上网络增加的额外流量非常小,可以忽略不计,本实施例通过增设CDL模块实现节点性能信息的收集及广播,不会对系统性能造成影响。
本实施例中,性能信息具体包括缓存未命中率(L1Cache Miss Rate),即以L1Cache Miss Rate作为评测指标量化各个计算节点发出的访存请求对系统性能产生的潜在影响,L1Cache Miss Rate指标结果的获取不受NoC状态、其他节点状态以及当前节点的仲裁机制等因素的影响,使得数据的计算和收集简单、精确度高且稳定性好等。若L1CacheMiss Rate很低,表明在当前节点处L1Cache能够满足程序对绝大多数数据的需求,不需要通过NoC向其他节点发出访存请求,本实施例具体通过为L1Cache Miss Rate值低的节点配置高的优先级,提高节点L1Cache Miss Rate值低的节点的优先级,能够加快节点处的任务处理过程,进而提高系统整体性能。
在具体实施例中,各个计算节点将该周期内收集到的L1Cache Miss Rate的统计结果以RCSP的形式发送给CDL模块,一旦CDL模块接收到所有节点的RCSP,CDL模块开始计算各个节点的优先级,并将所有节点的最新优先级信息以RCR的形式广播给所有节点;当进行组内仲裁时,优先调度L1Cache Miss Rate低的节点发出的请求,以加快这些节点的任务处理进程,减少系统停顿时间。
本实施例中,步骤S2中当计算节点发出访存请求时,具体根据各计算节点需要向网络注入的数据包的产生时间,按照时间间隔Tgroup进行分组,获取各组对应的分组编号GID,将分组编号GID、当前计算节点的优先级信息一起作为访存请求的附加仲裁信息,并在NoC中进行传输,即节点优先级和packet分组信息是全局共享的,后续再利用该全局共享信息进行NoC仲裁。
本实施例中,步骤S2中具体使用Oldest First原则进行组间仲裁,其中产生时间最久的分组胜出,使用Ranking Highest First的原则对组间仲裁胜出的分组进行组内仲裁,其中优先级最高的请求胜出,使用Round-Robin仲裁机制进行附加仲裁,能够进一步保证仲裁的公平性。
如图1所示,本实施例具体计算节点发出的访存请求packet根据当前所处的时间间隔进行分组,获取相应的分组编号GID,访存请求的优先级由中央决策逻辑CDL模块计算得到,访存请求的分组编号GID和请求优先级一起作为该访存请求的附加仲裁信息在NoC中进行传输,当该请求到达NoC中某个中间节点而需要相应的网络资源(如虚通道、交叉开关等)时,开始进行两级仲裁过程。各个节点处的路由器进行请求仲裁时,为了防止优先级低的请求长时间不被响应,首先根据packet分组信息按照Oldest First的原则进行组间仲裁,产生时间最久的分组将在第一轮仲裁中胜出;然后胜出的分组根据优先级按照RankingHighest First的原则进行组内仲裁,优先级最高的请求胜出,第二轮仲裁结束,实现资源和请求的最有匹配;经过两轮仲裁后,如果仍然有多个请求胜出,采用局部仲裁机制进行附加仲裁,直至选出符合条件的唯一请求。在此过程中,每经过一个决策时间间隔,各个节点会发送RCSP数据包给CDL模块,CDL计算得出各个节点的最新优先级后以RCRP数据包的形式将结果反馈给各个节点,完成优先级的全局更新。
本实施例中,获取各组对应的分组编号GID具体包括:基于数据包的产生时间和分组的时间间隔Tgroup对数据包进行循环分组编号,使得第(k+1)Tgroup个时间间隔内注入的数据包的分组编号GID为m+1,第(k+2)Tgroup个时间间隔内注入的数据包的分组编号GID为m+2,如在第一个Tgroup时钟周期内注入到网络中的所有packets的分组编号(Group ID,GID)为0,第二个Tgroup时钟周期内注入的packets的GID设为1,依此类推,其中当前时间间隔为kTgroup,m为分组编号GID的值,且为分组设置上界参数Gmax以限制计算复杂度,当分组编号GID达到Gmax-1时,下一个时间间隔Tgroup内到达的数据包的分组编号GID重新设为0,依此类推完成循环分组,Gmax为分组编号的上界。本实施例通过采用上述循环分组编号方式,可以进一步控制仲裁机制的计算和实现复杂性。
本实施例Packet通过基于时间的分组方式,具体将分组编号GID与分组编号上界Gmax一起对所有节点全局共享,每个节点均在本地保存这两个参数的副本,无需借助CDL模块进行同步更新,如其中当前分组编号GID可配置为随着时间增加相应即可。
本实施例上述如Tgroup、Tslot和Gmax等参数可根据实际需求灵活配置,既可以设为经验值,也可以根据网络运行状态自动配置,具有较高的灵活性,且设计和实现复杂性低。
由上述循环编组后,各个Packet的分组优先级和分组实际编号的大小并不一致,本实施例获取各组对应的分组编号GID后,还包括根据各个分组的分组编号GID以及分组的优先级计算分组的优先级编号PGID步骤,以根据优先级编号PGID进行组间仲裁;分组的优先级编号PGID具体按式PGID=(CGID-GID)mod Gmax计算得到,其中CGID为当前时刻的分组编号,GID为待计算优先级的分组实际编号,通过上述计算得到的分组优先级编号,能够和分组的优先级实现了一一对应,即PGID的值越大,组间仲裁时该分组的优先级越高。
本实施例实现Packet分组过程如图4所示,同时刻发出的packet从0到Gmax循环编号,假设当前时刻是(k+1)TGroup,packets的分组实际编号分别是GID 0,GID 1和GID j,按照Oldest First的组间仲裁原则,这三个分组按优先级排序为:GID j,GID 0和GID 1,即循环编组的模式下各个分组的优先级和分组实际编号的大小并不是一一对应的关系,进一步按照PGID=(CGID-GID)mod Gmax计算得到分组的优先级编号后,得到的分组优先级编号和分组的优先级实现了一一对应,若PGID的值越大,该分组在组间仲裁时优先级越高。
GPGPU的各节点之间通过消息传递的方式进行通信,消息传递的通信机制下一个消息(Message)可被分解成多个数据包(Packet),一个数据包可被分解成多个切片(Flit),如头切片、体切片和尾切片等。本实施例上述NoC仲裁机制分为两级仲裁,其中组间仲裁需要各个packet所处的分组编号GID,组内仲裁需要packet的优先级#Rank,本实施例所采用的Packet、Flit组成结构如图5所示,在各个Packet、Flit中增加了GID和#Rank作为两个附加仲裁信息,其中分组编号GID用于组间仲裁的,优先级#Rank用于组内仲裁,分别将该两个信息跟随Packet、Flit在片上网络中进行传输以实现上述两级仲裁。
上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。
Claims (10)
1.一种GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,步骤包括:
S1.收集网络中各个计算节点的性能信息,根据所述性能信息设置各个计算节点的优先级,并广播给所有计算节点进行全局同步更新;
S2.当计算节点发出访存请求时,将各计算节点中需要向网络注入的数据包进行分组,得到数据包的分组信息;计算节点进行请求仲裁时,先根据所述分组信息进行组间仲裁,再根据所述计算节点的优先级对所述组间仲裁中胜出的分组进行组内仲裁,当经过所述组内仲裁后仍然有多个请求胜出,对胜出的分组采用局部仲裁机制进行附加仲裁。
2.根据权利要求1所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,所述步骤S1具体通过配置一个中央决策逻辑CDL模块,通过所述中央决策逻辑CDL模块定期收集网络中各个计算节点的性能信息,根据所述性能信息设置各个计算节点的优先级,以及广播给所有计算节点进行全局同步更新。
3.根据权利要求2所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,所述中央决策逻辑CDL模块进行全局同步更新具体包括:将所述中央决策逻辑CDL模块和各个计算节点之间配置为采用数据包的方式进行通信,当一个决策周期结束时,各个计算节点将该周期内收集到的计算节点的性能信息以RCSP的形式发送给CDL;所述中央决策逻辑CDL模块接收到所有节点的RCSP后,开始计算各个节点的优先级,并将所有节点的最新优先级信息以RCRP的形式广播给所有计算节点以进行全局同步更新。
4.根据权利要求1或2或3所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于:所述性能信息具体包括缓存未命中率。
5.根据权利要求1或2或3所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于:所述步骤S2中当计算节点发出访存请求时,具体根据各计算节点需要向网络注入的数据包的产生时间,按照时间间隔Tgroup进行分组,获取各组对应的分组编号GID,将所述分组编号GID、当前计算节点的优先级信息一起作为所述访存请求的附加仲裁信息,并在NoC中进行传输。
6.根据权利要求5所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,所述获取各组对应的分组编号GID具体包括:基于数据包的产生时间和分组的时间间隔Tgroup对数据包进行循环分组编号,使得第(k+1)Tgroup个时间间隔内注入的数据包的所述分组编号GID为m+1,第(k+2)Tgroup个时间间隔内注入的数据包的所述分组编号GID为m+2,其中当前时间间隔为kTgroup,m为所述分组编号GID的值,且当所述分组编号GID达到Gmax-1时,下一个时间间隔Tgroup内到达的数据包的所述分组编号GID重新设为0,依此类推完成循环分组,Gmax为分组编号的上界。
7.根据权利要求6所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,所述获取各组对应的分组编号GID后,还包括根据各个分组的所述分组编号GID以及分组的优先级计算分组的优先级编号PGID步骤,以根据所述优先级编号PGID进行组间仲裁;所述分组的优先级编号PGID具体按式PGID=(CGID-GID)mod Gmax计算得到,其中CGID为当前时刻的分组编号,GID为待计算优先级的分组实际编号。
8.根据权利要求1或2或3所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于,所述步骤S2中具体使用Oldest First原则进行组间仲裁,其中产生时间最久的分组胜出。
9.根据权利要求1或2或3所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于:所述步骤S2中具体使用Ranking Highest First的原则对所述组间仲裁胜出的分组进行组内仲裁,其中优先级最高的请求胜出。
10.根据权利要求1或2或3所述的GPGPU中基于全局节点信息的NoC仲裁方法,其特征在于:所述步骤S2中具体使用Round-Robin仲裁机制进行附加仲裁。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479871.6A CN108199985B (zh) | 2017-12-29 | 2017-12-29 | GPGPU中基于全局节点信息的NoC仲裁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479871.6A CN108199985B (zh) | 2017-12-29 | 2017-12-29 | GPGPU中基于全局节点信息的NoC仲裁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108199985A true CN108199985A (zh) | 2018-06-22 |
CN108199985B CN108199985B (zh) | 2020-07-24 |
Family
ID=62586668
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711479871.6A Active CN108199985B (zh) | 2017-12-29 | 2017-12-29 | GPGPU中基于全局节点信息的NoC仲裁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108199985B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021115326A1 (zh) * | 2019-12-09 | 2021-06-17 | 北京灵汐科技有限公司 | 数据处理的方法、装置和电子设备、存储介质和程序产品 |
CN113037650A (zh) * | 2019-12-09 | 2021-06-25 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
CN113032109A (zh) * | 2019-12-09 | 2021-06-25 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
CN113162906A (zh) * | 2021-02-26 | 2021-07-23 | 西安微电子技术研究所 | 一种NoC传输方法 |
CN114221871A (zh) * | 2021-04-09 | 2022-03-22 | 无锡江南计算技术研究所 | 一种网格化流水的全收集方法 |
CN114968866A (zh) * | 2022-08-01 | 2022-08-30 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103927277A (zh) * | 2014-04-14 | 2014-07-16 | 中国人民解放军国防科学技术大学 | Cpu和gpu共享片上高速缓存的方法及装置 |
US20140375658A1 (en) * | 2013-06-25 | 2014-12-25 | Ati Technologies Ulc | Processor Core to Graphics Processor Task Scheduling and Execution |
CN105045564A (zh) * | 2015-06-26 | 2015-11-11 | 季锦诚 | 图形处理器中的前端动态共享方法 |
-
2017
- 2017-12-29 CN CN201711479871.6A patent/CN108199985B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140375658A1 (en) * | 2013-06-25 | 2014-12-25 | Ati Technologies Ulc | Processor Core to Graphics Processor Task Scheduling and Execution |
CN103927277A (zh) * | 2014-04-14 | 2014-07-16 | 中国人民解放军国防科学技术大学 | Cpu和gpu共享片上高速缓存的方法及装置 |
CN105045564A (zh) * | 2015-06-26 | 2015-11-11 | 季锦诚 | 图形处理器中的前端动态共享方法 |
Non-Patent Citations (3)
Title |
---|
XIA ZHAO等: "A Heterogeneous Low-Cost and Low-Latency", 《2016 IEEE 34TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD)》 * |
XIA ZHAO等: "A Low-Cost Conflict-Free NoC for GPGPUs", 《2016 53ND ACM/EDAC/IEEE DESIGN AUTOMATION CONFERENCE (DAC》 * |
薛文良等: "面向GPGPU片上网络的高效动态虚通道划分机制研究", 《第二十届计算机工程与工艺年会暨第六届微处理器技术论坛论文集》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021115326A1 (zh) * | 2019-12-09 | 2021-06-17 | 北京灵汐科技有限公司 | 数据处理的方法、装置和电子设备、存储介质和程序产品 |
CN113037650A (zh) * | 2019-12-09 | 2021-06-25 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
CN113032109A (zh) * | 2019-12-09 | 2021-06-25 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
CN113037650B (zh) * | 2019-12-09 | 2022-11-18 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
US11863461B2 (en) | 2019-12-09 | 2024-01-02 | Lynxi Technologies Co., Ltd. | Data processing method, data processing apparatus, electronic device, storage medium, and program product |
CN113032109B (zh) * | 2019-12-09 | 2024-09-03 | 北京灵汐科技有限公司 | 一种数据处理的方法、装置和电子设备 |
CN113162906A (zh) * | 2021-02-26 | 2021-07-23 | 西安微电子技术研究所 | 一种NoC传输方法 |
CN114221871A (zh) * | 2021-04-09 | 2022-03-22 | 无锡江南计算技术研究所 | 一种网格化流水的全收集方法 |
CN114968866A (zh) * | 2022-08-01 | 2022-08-30 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
CN114968866B (zh) * | 2022-08-01 | 2022-11-01 | 中科声龙科技发展(北京)有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
WO2024027133A1 (zh) * | 2022-08-01 | 2024-02-08 | 声龙(新加坡)私人有限公司 | 优先级分组轮询仲裁器及其仲裁方法、交叉开关和芯片 |
Also Published As
Publication number | Publication date |
---|---|
CN108199985B (zh) | 2020-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108199985A (zh) | GPGPU中基于全局节点信息的NoC仲裁方法 | |
CN101841420B (zh) | 面向片上网络的低延迟路由器结构 | |
CN104794100B (zh) | 基于片上网络的异构多核处理系统 | |
CN110995598B (zh) | 一种变长报文数据处理方法和调度装置 | |
Hu et al. | DMesh: a diagonally-linked mesh network-on-chip architecture | |
Dai et al. | A cost-efficient router architecture for HPC inter-connection networks: design and implementation | |
Effiong et al. | Distributed and dynamic shared-buffer router for high-performance interconnect | |
Liu et al. | A dynamic adaptive arbiter for Network-on-Chip | |
CN104333516A (zh) | 用于组合输入交叉点缓存交换结构的旋转轮训调度方法 | |
Xiang et al. | Carpool: A bufferless on-chip network supporting adaptive multicast and hotspot alleviation | |
Zhou et al. | TSEngine: Enable efficient communication overlay in distributed machine learning in WANs | |
Zhang et al. | XAgg: Accelerating Heterogeneous Distributed Training Through XDP-Based Gradient Aggregation | |
CN103116527B (zh) | 一种基于网络控制器的超大规模栅栏同步方法 | |
CN103166863B (zh) | 集总式8x8低延迟高带宽交叉点缓存队列片上路由器 | |
Yang et al. | SwitchAgg: A further step towards in-network computing | |
Wei et al. | TAB barrier: Hybrid barrier synchronization for NoC-based processors | |
CN111711574A (zh) | 一种超高阶单周期报文调度方法及装置 | |
Li et al. | AdaptWID: An adaptive, memory-efficient window aggregation implementation | |
Zheng et al. | Design and analysis of a parallel hybrid memory architecture for per-flow buffering in high-speed switches and routers | |
Nayak et al. | SLIDER: smart late injection deflection router for mesh NoCs | |
Dai et al. | A scalable and resilient microarchitecture based on multiport binding for high-radix router design | |
Chen et al. | Express virtual channels with taps (EVC-T): A flow control technique for network-on-chip (NoC) in manycore systems | |
CN109450809B (zh) | 一种数据中心调度系统及方法 | |
US20140269765A1 (en) | Broadcast Network | |
Li et al. | Efficient communication scheduling for parameter synchronization of dml in data center networks |
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 |