CN108768898A - 一种片上网络传输报文的方法及其装置 - Google Patents
一种片上网络传输报文的方法及其装置 Download PDFInfo
- Publication number
- CN108768898A CN108768898A CN201810288950.7A CN201810288950A CN108768898A CN 108768898 A CN108768898 A CN 108768898A CN 201810288950 A CN201810288950 A CN 201810288950A CN 108768898 A CN108768898 A CN 108768898A
- Authority
- CN
- China
- Prior art keywords
- module
- message
- credit
- virtual channel
- spatial cache
- 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
Classifications
-
- 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/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供了一种片上网络传输报文的方法,包括:第一模块的第一虚信道接收第二模块发送的第一报文;判断所第一模块的共享缓存是否存在空闲;当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。因此,本申请实施例提供的方法能够有效减少传输信道的阻塞。
Description
技术领域
本申请涉及计算机领域,并且更具体地,涉及一种片上网络传输报文的方法及其装置。
背景技术
半个世纪以来,摩尔定律持续影响着半导体行业的发展趋势,随着集成电路工艺的不断发展,单芯片上集成的晶体管数量越来越多,芯片性能越来越高。然后伴随着芯片集成度越来越高,以及功耗的影响,单线程的性能受到一定限制。为了提高系统整体的性能,业界设计出多线程并行处理的可扩展方法,把几百个微处理器集成在单芯片上并行计算,所以片内通信变得非常重要,其中片上网络是一种很有效的片内通信设计方法,它可以解决复杂的多输入和多输出的通信问题,同时具有良好的可扩展性,这种方法被业界广泛认可并实施。
片上网络有多种架构设计,基于输入队列缓存的设计是目前主流的片上网络结构,在这种结构中,片上网络从上游模块接收到报文后不会立即传输给下游模块,而是先缓存到随机存取存储器(Random-Access Memory,RAM)中,直到当前输入端口被输出端口仲裁选中后,报文开始传递给下一跳。报文缓存技术采用先进先出(First Input FirstOutput,FIFO)的缓存技术,报文由微片flits组成,包括头flit、体flit和尾flit,一个完整的报文必须包括头flit和尾flit。缓存空间的宽度等于flit的数据位宽,缓存空间在逻辑上被虚信道平均分成了N部分,N是虚信道个数。在交换通信中采用虚信道技术是为了避免通路死锁的发生,以及减少线头阻塞(Head-of-line blocking)的发生。
要实现最佳的通信网络性能,FIFO缓存空间大小的设计是一个关键点。如果缓存空间设置小了,容易造成网络通路的阻塞现象,影响传输性能,反之,如果缓存空间设置大了,阻塞现象得到了缓解,但增加了芯片的面积和功耗,因此,为了平衡芯片的成本和性能,设计合适的缓存空间大小且有效的管理缓存空间是至关重要的。在现有的技术方案中采用了动态缓存管理的方法,即同一块缓存空间在逻辑上被N个虚信道共享使用。
在现有的技术方案中,片上网络的缓存管理采用的是共享缓存的方式,同一块缓存空间在逻辑上被N个虚信道共享使用。缓存共享使用可以充分利用缓存记录报文,节省缓存空间的大小,但是遇到不同信道同时访问交换网络发生阻塞现象时,某一个或多个信道的报文把共享的缓存空间写满后,其它的虚信道传输就会被阻塞住,严重降低片上网络交换数据的整体性能。遇到这种情况,本来共享的缓存空间,最后被某个虚信道独占使用权了,导致其它虚信道传输受阻。在处理实时数据通信和巨量数据场景下,对性能的要求很高,纯共享缓存空间的设计带来的阻塞问题显然不能很好满足这个要求。
因此,亟需一种片上网络传输报文的方法,能够减少传输信道的阻塞。
发明内容
本申请提供一种片上网络传输报文的方法,能够减少传输信道的阻塞。
第一方面,提供一种片上网络传输报文的方法,包括:第一模块的第一虚信道接收第二模块发送的第一报文;判断所第一模块的共享缓存是否存在空闲;当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
结合第一方面,在第一方面的第一种可能的实现方式中,所述方法还包括:当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于表征所述第一模块中的缓存空间得到释放。
结合第一方面及其上述实现方式,在第一方面的第二种可能的实现方式中,所述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
结合第一方面及其上述实现方式,在第一方面的第三种可能的实现方式中,所述方法还包括:当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
结合第一方面及其上述实现方式,在第一方面的第四种可能的实现方式中,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
第二方面,提供一种片上网络传输报文的装置,包括:收发单元,所述收发单元用于第一模块的第一虚信道接收第二模块发送的第一报文;处理单元,所述处理单元用于判断所第一模块的共享缓存是否存在空闲;所述处理单元还用于,当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
结合第二方面,在第二方面的第一种可能的实现方式中,所述收发单元还用于:当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于指示所述第一模块中的缓存空间得到释放。
结合第二方面,在第二方面的第二种可能的实现方式中,所述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
结合第二方面,在第二方面的第三种可能的实现方式中,所述收发单元还用于:
当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
结合第二方面,在第二方面的第四种可能的实现方式中,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
因此,为了解决共享缓存空间设计带来的虚信道独占使用而导致其它虚信道传输阻塞的问题,申请提出了一种片上网络的传输报文的方法,设计了两部分缓存空间,第一部分是所有虚信道的共享缓存空间,另一部分是为每个虚信道分别分配缓存空间,这种共享和独享缓存结合的设计可以很好的解决纯共享缓存带来的阻塞问题,同时不会增加很多芯片资源。对于传输状况良好的虚信道,给它分配一定数量的缓存空间,对于常发生阻塞传输状况不好的虚信道,也给它分配一定数量的缓存空间,也就是说,不同的虚信道都有各自的独享缓存空间,互相之间不影响。除了独享空间外,为了提高缓存的使用率和减少芯片面积,设计了共享的缓存空间为所有虚信道服务。该方法采用信用流程控制机制,且给每个虚信道设置固定的信用个数,同时该方法方便扩展,可以更高效的管理缓存,且提升片上网络的整体性能。
附图说明
图1示出了本申请一个实施例的方法的示意性流程图。
图2示出了本申请一个实施例的片上网络的装置的示意性框图。
图3示出了本申请一个实施例的缓存队列模块的示意性结构框图。
图4示出了本申请一个实施例的流控机制原理图。
图5示出了本申请一个实施例的虚拟信道的示意性框图。
图6示出了本申请一个实施例的缓存空间的示意性框图。
图7示出了本申请一个实施例的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
图1示出了本申请一个实施例的方法的示意性流程图,如图1所示,该片上网络传输报文的方法包括:
步骤110,第一模块的第一虚信道接收第二模块发送的第一报文。
步骤120,判断所第一模块的共享缓存是否存在空闲。
步骤130,当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
应理解,在本申请实施例中,第二模块为第一模块的上游模块,换句话说,第一模块为第二模块的下游模块。
可选地,作为本申请一个实施例,所述方法还包括:当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于指示所述第一模块中的缓存空间得到释放。
可选地,作为本申请一个实施例,述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
可选地,作为本申请一个实施例,所述方法还包括:当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
例如,当第二模块关于第一模块缓存空间的信用数初始值为5,当第二模块向第一模块发送一次报文,信用数值减小1,当减小到0时,第二模块不再向第一缓存模块发送报文,也就是说,此时第一模块已经没有缓存空间用于接收第二模块发送的报文。
相应地,当第一模块向第三模块发送一次报文,第一模块中有缓存空间释放,则向第二模块发送信用释放指示,第二模块根据该信用释放指示确定第一模块的缓存空间有释放,因此将信用数值增加1。
可选地,作为本申请一个实施例,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
也就是说,第一模块接收到第一报文后,能够确定该第一报文在第一虚信道对应的共享缓存或独享缓存中发送。
因此,为了解决共享缓存空间设计带来的虚信道独占使用而导致其它虚信道传输阻塞的问题,本文提出了一种片上网络的缓存管理方法,设计了两部分缓存空间,第一部分是所有虚信道的共享缓存空间,另一部分是为每个虚信道分别分配缓存空间,这种共享和独享缓存结合的设计可以很好的解决纯共享缓存带来的阻塞问题,同时不会增加很多芯片资源。对于传输状况良好的虚信道,给它分配一定数量的缓存空间,对于常发生阻塞传输状况不好的虚信道,也给它分配一定数量的缓存空间,也就是说,不同的虚信道都有各自的独享缓存空间,互相之间不影响。除了独享空间外,为了提高缓存的使用率和减少芯片面积,设计了共享的缓存空间为所有虚信道服务。该方法采用信用流程控制机制,且给每个虚信道设置固定的信用个数,同时该方法方便扩展,可以更高效的管理缓存,且提升片上网络的整体性能。
图2示出了本申请一个实施例的片上网络的装置的示意性框图。片上网络的总体架构是基于输入缓冲队列设计的,如图2所示,主要由输入缓冲队列模块、交换矩阵模块和仲裁器三部分组成。
这是一种缓存队列位于输入端口的交换结构。从输入端口接收到的报文首先存储在输入FIFO缓存中,然后经过仲裁器最终决定输入缓存中的报文如何通过交换开关转发到指定的输出端口传输给下游模块。
其中,片上网络的仲裁器具有n个输入端口和m个输出端口,支持报文的并行传输,并行传输的特征会引起各传输通道之间报文转发的竞争冲突。比如多个输入端口的报文同时请求相同的输出端口输出时,发生输出端口的竞争;还有多个输入虚信道同时请求相同的输出虚信道输出时,发生输出虚信道的竞争。仲裁器的设计就是为了解决这些竞争冲突,仲裁机制有很多种,比较常用的有固定优先级和轮询仲裁(Round-Robin)机制。
固定优先级仲裁机制比较简单,会给每一个传输通道设置一个固定的优先级,每次仲裁都按同样的优先级进行仲裁。缺点是公平性差,当其中一个高优先级的传输通道一直有报文请求时,其它低优先级的传输通道的请求将被挂起,一直得不到响应。Round-Robin轮询仲裁机制可以解决公平性差的问题,它的基本思想是当前仲裁成功的报文请求在下一轮仲裁时优先级将最低,且最高优先级赋予给与它相邻的下一个仲裁请求,依次轮询,这样每一个传输通道的报文都可以获得机会转发报文。
其中,输入缓存队列模块是指缓存放置的输入端口处,缓存是用来保存报文数据的单元。输入缓存队列采用了FIFO队列机制,且运用了虚信道技术。输入端口从上游模块接收到报文后先保存在输入缓存中,经过仲裁器的路由计算和仲裁算法,最终确定输入缓存中的报文将如何通过矩阵开关传输到输出端口。
虚信道技术将一个物理信道划分成逻辑上的多个虚信道,多个虚信道实现对物理信道的分时复用。通过对虚信道的合理分配和调度,当发生阻塞现象时,阻塞的报文被缓存在某一条虚信道的缓存队列中,而其它报文可以通过其它的虚信道继续进行传输,这样可以提高物理信道的利用率。
图3示出了本申请一个实施例的缓存队列模块的示意性结构框图。
如图3所示,包括VC0报文、VC1报文……VCx报文共同对应的共享缓存,也包括各自对应的独享缓存。共享和独享缓存(buffer)的设计和实现如下:输入队列缓存的设计采用FIFO队列缓存技术,存放报文的缓存空间分成两部分,第一部分是为每个虚信道分配的独立空间,每个虚信道都分配了N个独占的缓存空间;第二部分是为所有虚信道分配的共享缓存空间M,每一个虚信道都可以使用,且先到先用。
Buffer的使用顺序,如图3所示:(1)输入端口收到上游模块转发过来的报文后,先判断共享buffer是否还有空闲的地址空间,(2)如果有空闲,则把当前收到的报文记录在共享buffer中,反之,如果没有空闲,则把当前收到的报文记录在此虚信道对应的独享buffer中,比如当前报文是使用VC0虚信道传输,则报文记录在VC0的独享buffer。(3)如果出现共享buffer和虚信道对应的独享buffer都已写满的情况,则根据信用流程控制机制,上游模块的credit计数器会等于0,当前虚信道的信用不可用,此时上游会停止向下游转发当前虚信道的报文,而其它虚信道可用的话,还可以继续发送其它虚信道的报文。
这样的设计可以实现buffer复用,当交换开关是一个基于高阶的交换开关时,可以节省大量的芯片资源,同时可以解决纯共享buffer设计带来的buffer写满时出现所有虚信道被阻塞的问题,提高报文的转发效率。
为了防止在传输过程中出现报文丢失,设计了精确的流控机制,来防止当下行模块缓存空间满时,上行模块还在持续发送数据而产生丢失数据报文的现象。
基于credit的流程控制机制的设计和实现,图4示出了本申请一个实施例的流控机制原理图,如图4所示:在每个模块的输出端口处设置一个信用数counter,counter值表示下行模块输入端口中可用缓存的数目,默认值等于最大可用缓存空间大小。每当上行模块给下行模块发送一个微片,它自己的counter值减1,当counter值减到0时,表示下行模块输入端口的缓存队列已满,不能再继续发送,数据将在上行模块中等待。当下行模块中有数据发送出去时,意味着缓存被释放,就向上行模块反馈一个信用释放指示credit free,上行模块接收到credit free后,counter值加1,counter大于0时,上行模块继续给下行模块发送报文数据。
基于credit的流程控制机制通过判断counter值是否为0能清楚的知道下行模块缓存是否已满,上下行模块之间通过这种方式的握手交互可以防止报文丢失的现象,实现报文的正确转发。
图5示出了本申请一个实施例的虚拟信道的示意性框图。片上网络的矩阵开关具有多个输入端口和多个输出端口,是多对多的连接关系,为了提高物理信道的利用率,每一个物理通道又划分成四个虚信道传输,实现物理信道的分时复用,如图4所示,输入端口0接收到的报文可以通过四个虚信道来转发,具体使用哪一个虚信道转发需要解析报文头中的路由信息。
可使用的Buffer空间设计成两部分,第一部分是所有虚信道共享的buffer空间,所有的虚信道都可以使用;第二部分是为每个虚信道独立分配的独享buffer空间,互相之间不能使用。如图6所示,图6示出了本申请一个实施例的缓存空间的示意性框图,当前输入端口被划分成了四个虚信道传输报文,分别是VC0~VC3,它们共同拥有共享buffer。从VC0虚信道接收到的报文数据除了可以写入共享buffer外,当共享buffer已满时,可以写入VC0独享的buffer,同理,从VC1~VC3虚信道接收到的报文数据除了可以写入共享buffer外,当共享buffer已满时,可以分别写入VC1~VC3各自独享的buffer中。
图7示出了本申请一个实施例的装置的示意性结构图,如图7所示,该装置700包括:收发单元710,所述收发单元710用于第一模块的第一虚信道接收第二模块发送的第一报文;处理单元720,所述处理单元720用于判断所第一模块的共享缓存是否存在空闲;所述处理单元720还用于,当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
可选地,作为本申请一个实施例,所述收发单元710还用于:当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于指示所述第一模块中的缓存空间得到释放。
可选地,作为本申请一个实施例,所述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
可选地,作为本申请一个实施例,所述收发单元710还用于:当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
可选地,作为本申请一个实施例,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
因此,虚信道技术把物理信道从逻辑上划分成了多个虚信道,现有的缓存队列设计是多个虚信道完全共享缓存空间,这可以节省存储资源,但是会带来因某一条虚信道独占缓存空间而导致其它虚信道传输被阻塞的问题,影响报文数据的转发效率。本文提出了一种片上网络的缓存管理方法,设计了两部分缓存空间,第一部分是所有虚信道的共享缓存空间,另一部分是为每个虚信道分别分配独立缓存空间,这种共享和独享缓存结合的设计可以很好的解决纯共享缓存带来的阻塞问题,同时不会增加很多芯片资源。对于处理大量数据和实时性要求很高的数据,阻塞问题将严重的影响整个系统的性能,本文提出的缓存管理方法可以很好的解决虚信道间的阻塞现象,提高物理信道的利用率,和提升片上网络的报文转发效率。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者第二设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种片上网络传输报文的方法,其特征在于,包括:
第一模块的第一虚信道接收第二模块发送的第一报文;
判断所第一模块的共享缓存是否存在空闲;
当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;
当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于表征所述第一模块中的缓存空间得到释放。
3.根据权利要求2所述的方法,其特征在于,所述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
4.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
6.一种片上网络传输报文的装置,其特征在于,包括:
收发单元,所述收发单元用于第一模块的第一虚信道接收第二模块发送的第一报文;
处理单元,所述处理单元用于判断所第一模块的共享缓存是否存在空闲;
所述处理单元还用于,当所述共享缓存存在空闲时,将所述第一报文记录在所述共享缓存中;
当所述共享缓存不存在空闲时,将所述第一报文记录在所述第一虚信道对应的独享缓存中。
7.根据权利要求5所述的装置,其特征在于,所述收发单元还用于:
当所述第一模块向第三模块发送第二报文后,所述第一模块向所述第二模块发送信用释放指示,所述信用释放指示用于指示所述第一模块中的缓存空间得到释放。
8.根据权利要求7所述的装置,其特征在于,所述信用释放指示用于指示所述第二模块中关于所述第一模块的缓存空间的信用数增加1,当所述第二模块中关于所述第一模块缓存空间的信用数为0时,所述第二模块不再向所述第一模块发送报文。
9.根据权利要求7或8所述的装置,其特征在于,所述收发单元还用于:
当所述第一模块向所述第三模块发送所述第三报文后,所述第一模块中关于所述第三模块缓存空间的信用数减少1,当所述第一模块中关于所述第三模块缓存空间的信用数为0时,所述第一模块不再向所述第三模块发送报文。
10.根据权利要求6至9中任一项所述的装置,其特征在于,所述第一报文用于指示所述第一模块采用所述第一虚信道转发所述第一报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288950.7A CN108768898A (zh) | 2018-04-03 | 2018-04-03 | 一种片上网络传输报文的方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810288950.7A CN108768898A (zh) | 2018-04-03 | 2018-04-03 | 一种片上网络传输报文的方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108768898A true CN108768898A (zh) | 2018-11-06 |
Family
ID=63980803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810288950.7A Pending CN108768898A (zh) | 2018-04-03 | 2018-04-03 | 一种片上网络传输报文的方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108768898A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109617832A (zh) * | 2019-01-31 | 2019-04-12 | 新华三技术有限公司合肥分公司 | 报文缓存方法及装置 |
CN110661728A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
WO2020244498A1 (zh) * | 2019-06-04 | 2020-12-10 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
CN116340202A (zh) * | 2023-03-28 | 2023-06-27 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126507A1 (en) * | 2006-08-31 | 2008-05-29 | Keith Iain Wilkinson | Shared memory message switch and cache |
US20100070714A1 (en) * | 2008-09-18 | 2010-03-18 | International Business Machines Corporation | Network On Chip With Caching Restrictions For Pages Of Computer Memory |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
CN104508654A (zh) * | 2012-07-31 | 2015-04-08 | 华为技术有限公司 | 分组传输优先级信道分配 |
US20150180790A1 (en) * | 2013-12-20 | 2015-06-25 | Todd Rimmer | Method and system for flexible credit exchange within high performance fabrics |
CN105610729A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
CN105721355A (zh) * | 2016-01-29 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种片上网络路由传输报文的方法及片上网络路由 |
CN105955920A (zh) * | 2016-04-25 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种片上网络中基于Credit的流控机制的设计方法 |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
CN107347039A (zh) * | 2016-05-05 | 2017-11-14 | 深圳市中兴微电子技术有限公司 | 一种共享缓存空间的管理方法及装置 |
-
2018
- 2018-04-03 CN CN201810288950.7A patent/CN108768898A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126507A1 (en) * | 2006-08-31 | 2008-05-29 | Keith Iain Wilkinson | Shared memory message switch and cache |
US20100070714A1 (en) * | 2008-09-18 | 2010-03-18 | International Business Machines Corporation | Network On Chip With Caching Restrictions For Pages Of Computer Memory |
CN104508654A (zh) * | 2012-07-31 | 2015-04-08 | 华为技术有限公司 | 分组传输优先级信道分配 |
CN103729331A (zh) * | 2013-11-26 | 2014-04-16 | 西安电子科技大学 | 片上网络通信死锁避免方法、路由器及通信网络 |
US20150180790A1 (en) * | 2013-12-20 | 2015-06-25 | Todd Rimmer | Method and system for flexible credit exchange within high performance fabrics |
CN105610729A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
CN105721355A (zh) * | 2016-01-29 | 2016-06-29 | 浪潮(北京)电子信息产业有限公司 | 一种片上网络路由传输报文的方法及片上网络路由 |
CN105955920A (zh) * | 2016-04-25 | 2016-09-21 | 浪潮电子信息产业股份有限公司 | 一种片上网络中基于Credit的流控机制的设计方法 |
CN107347039A (zh) * | 2016-05-05 | 2017-11-14 | 深圳市中兴微电子技术有限公司 | 一种共享缓存空间的管理方法及装置 |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109617832A (zh) * | 2019-01-31 | 2019-04-12 | 新华三技术有限公司合肥分公司 | 报文缓存方法及装置 |
CN109617832B (zh) * | 2019-01-31 | 2022-07-08 | 新华三技术有限公司合肥分公司 | 报文缓存方法及装置 |
WO2020244498A1 (zh) * | 2019-06-04 | 2020-12-10 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
CN110661728A (zh) * | 2019-09-12 | 2020-01-07 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
CN110661728B (zh) * | 2019-09-12 | 2022-10-04 | 无锡江南计算技术研究所 | 多虚通道传输时共享与私有相结合的缓冲设计方法与装置 |
CN116340202A (zh) * | 2023-03-28 | 2023-06-27 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
CN116340202B (zh) * | 2023-03-28 | 2024-03-01 | 中科驭数(北京)科技有限公司 | 数据传输方法、装置、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | PicNIC: predictable virtualized NIC | |
US6084856A (en) | Method and apparatus for adjusting overflow buffers and flow control watermark levels | |
US6167054A (en) | Method and apparatus providing programmable thresholds for full-duplex flow control in a network switch | |
US9800513B2 (en) | Mapped FIFO buffering | |
CN108768898A (zh) | 一种片上网络传输报文的方法及其装置 | |
US9225668B2 (en) | Priority driven channel allocation for packet transferring | |
Duato et al. | A new scalable and cost-effective congestion management strategy for lossless multistage interconnection networks | |
US6910092B2 (en) | Chip to chip interface for interconnecting chips | |
US7227841B2 (en) | Packet input thresholding for resource distribution in a network switch | |
CN103823780B (zh) | 一种实时现场总线控制调度方法 | |
EP1384354B1 (en) | High speed network processor | |
US20170111283A1 (en) | CONGESTION CONTROL AND QoS IN NoC BY REGULATING THE INJECTION TRAFFIC | |
TWI482460B (zh) | 網路處理器單元及其相關方法 | |
CN113728593A (zh) | 用于在应用之间提供网络出口公平性的方法和系统 | |
CN104821887B (zh) | 通过具有不同延迟的存储器进行分组处理的设备和方法 | |
CN105721355A (zh) | 一种片上网络路由传输报文的方法及片上网络路由 | |
US11700209B2 (en) | Multi-path packet descriptor delivery scheme | |
US20070121499A1 (en) | Method of and system for physically distributed, logically shared, and data slice-synchronized shared memory switching | |
US20030107996A1 (en) | Fibre channel arbitrated loop bufferless switch circuitry to increase bandwidth without significant increase in cost | |
CN102047619B (zh) | 用于对异常分组的慢路径处理进行动态速率限制的方法、系统和计算机可读介质 | |
CN109861931B (zh) | 一种高速以太网交换芯片的存储冗余系统 | |
CN114531488B (zh) | 一种面向以太网交换器的高效缓存管理系统 | |
US11726928B2 (en) | Network interface device with bus segment width matching | |
US7688721B2 (en) | Distributed communication traffic control systems and methods | |
CN114936171A (zh) | 存储访问控制器架构 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181106 |