CN103283192A - 中继器、中继器的控制方法以及程序 - Google Patents

中继器、中继器的控制方法以及程序 Download PDF

Info

Publication number
CN103283192A
CN103283192A CN2012800039636A CN201280003963A CN103283192A CN 103283192 A CN103283192 A CN 103283192A CN 2012800039636 A CN2012800039636 A CN 2012800039636A CN 201280003963 A CN201280003963 A CN 201280003963A CN 103283192 A CN103283192 A CN 103283192A
Authority
CN
China
Prior art keywords
repeater
data
bypass
transmission
buffer
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
Application number
CN2012800039636A
Other languages
English (en)
Inventor
山口孝雄
吉田笃
石井友规
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN103283192A publication Critical patent/CN103283192A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/50Overload detection or protection within a single switching element
    • H04L49/505Corrective measures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明的中继器(600b)具备接收来自相邻中继器(600a)的流控单位并决定是保存在输入缓冲器(604)中还是进行旁路(612)的缓冲器选择部(603)。缓冲器选择部(603)执行第1控制以及第2控制的至少一个,其中,该第1控制是在进行了旁路的情况下基于自中继器的传输状态变更数据的传输路径以及传输流量的至少一个,第2控制是在所述旁路控制部没有执行所述旁路处理的情况下基于没有进行旁路处理的数据与由其他的第1中继器进行了旁路处理的数据进行合流的其他的第2中继器的传输状态来变更数据的传输路径以及传输流量的至少一个。由此,在半导体系统的数据传输中可实现业务流的低延迟传输。

Description

中继器、中继器的控制方法以及程序
技术领域
本发明涉及具备总线的半导体系统中的中继器、中继器的控制方法以及程序。
背景技术
具备总线的数据传输系统中的传输控制具有各种方式。图53A以及图53B是表示现有的半导体系统中的传输控制方式的例子的图。图53A表示现有的集中型的总线控制的例子。根据图示的集中型的总线控制,多个总线主控器和存储器之间经由1根总线910而连接,由判优器912来协调从各总线主控器向存储器的访问。通过这种的结构,能够一边防止多个总线主控器与存储器之间的业务流(traffic)干扰一边传输。但是,随着集成电路的高功能化以及因多核化而出现的电路规模的增大、以及传输通路中流动的业务流的变动复杂化,基于集中型的总线控制的集成电路设计变得越来越难。
另一方面,近年来,具有植入了并联计算机中的连接技术、ATM(Asynchronous Transfer Mode)网等的网络控制技术的分散型总线的半导体集成电路的开发正在进行。图53B表示分散型的总线控制的例子。具有分散型的总线的半导体集成电路具备多个中继器(路由器:R)以多个总线连接成网格状的结构。近年来,通过使用图53B所示的这种分散型的总线,将大规模化的集成电路内的业务流分散于多个总线进行传输的片上网络(Network on Chip:NoC)不断普及。
图54是表示NoC、并联计算机、ATM网等中利用的中继器920的结构例的图。被传输的数据(业务流数据)以分组或小区为单位进行分割,经由多个中继器而发送至发送目的地的节点。图54所示的中继器920具备多个输入端口0~3、多个输入缓冲器922、多个输出端口0~3、将各输入缓冲器以及各输出端口彼此连接的交叉总线交换器924、根据数据的发送目的地来切换交叉总线交换器的连接的判优器(arbiter)912。从输入端口0~3输入至中继器920的数据暂时保存在输入缓冲器922。
输入缓冲器922具有多个缓冲器队列。在图54所示的例子中,各输入缓冲器922具有2个虚拟信道(VC0、VC1)作为缓冲器队列。判优器912对接收到的数据进行解析,进行决定所利用的输出端口的路由处理。进而,还进行将传送目的地的中继器的输入缓冲器的缓冲器队列与输出端口之间的对应建立、以及用于从缓冲器队列发送数据的调度处理。再者,也可以是在交叉总线交换器924之后设置具有多个缓冲器队列的输出缓冲器的结构。在这种结构中,判优器912进行输出缓冲器的缓冲器队列和输出端口的对应建立。这些处理基于表示对数据规定的优先级的信息、或者按处理请求顺序通过将数据分配至缓冲器队列的循环(round robin)方式来进行。基于调度结果,数据被进行中继处理,被传输至传送目的地的中继器或总线主控器。各中继器920按照上述的调度处理来切换交叉总线交换器924的连接,将输入缓冲器922内保存的数据中继至发送目的地。
在中继器内,因各缓冲器中的等待、交叉总线交换器的处理延迟等原因,有时在业务流数据的传送处理中发生延迟。在要求将延迟抑制在最小限度的应用(例如紧急信息的通知)中,减少该延迟成为了课题。由于网络的规模越大,则中继器的个数越增加,因此延迟的问题更为深刻。
中继器中产生的延迟的课题,在例如影像数据那样、没有中断地数据连续传输的业务流(突发业务流)中尤为显著。图55表示突发业务流的一例。横轴表示时间,纵轴表示所传输的数据量。在图示的例子中,在一定期间持续的一系列的业务流发生之后,业务流暂时停止,之后再次发生一定期间持续的一系列的业务流。这种突发业务流容易占据中继器内的缓冲器队列,对其他业务流的影响较大。因此,在传输突发业务流时,容易发生业务流的拥挤,产生传输延迟。
作为具体例,设想通过基于循环的分配方式将分组化的突发业务流保存在各缓冲器队列的情况。在直至发送目的地的节点的路径上的其他的中继器中,因突发业务流与其他的业务流之间的干扰,而吞吐量下降的情况下,来自保存突发业务流的所有缓冲器队列的传输无法顺利地进行。由此,各缓冲器队列的吞吐量下降,系统整体的传输性能下降。
作为应对这种课题的对策,专利文献1中公开了将优先级高的业务流分配在设计时预先确定的缓冲器队列的方式。此外,非专利文献1以及非专利文献2中公开了针对因缓冲器队列的等待、交叉总线交换器中的处理延迟二者而产生的延迟的对策。非专利文献1中公开了通过使中继处理并行化、或者跳过一部分处理,由此使得中继器中的传送处理简略化或者高速化、以减少延迟的各种方式。此外,非专利文献2中公开了通过省略中继器内的传送处理由此减少传送处理的延迟的方式。
图56是表示非专利文献2所公开的中继器940的概略结构的图。在该中继器940中,输入端口中输入的一部分数据不经由输入缓冲器922以及交叉总线交换器924而通过旁路(bypass)用布线930从输出端口输出。通过这种的结构,由于中继器940内的传送处理被省略,因此通过旁路用布线930的数据较之以通常处理进行传送的数据可更快地被传送。
这样,通过省略中继处理的至少一部分、或者将一部分的业务流优先分配给缓冲器队列使中继处理并行化,从而能够减少中继器中的传输延迟。其结果,能够优先传送一部分的数据。在本说明书中,将通过如上述那样省略中继处理的至少一部分、或者将一部分的业务流优先分配给缓冲器队列、或者使中继处理并行化由此减少传送处理的延迟表述为“旁路”。此外,在本说明书中,将被旁路的业务流称为“旁路业务流”,将没有被旁路的业务流称为“非旁路业务流”。此外,将输入缓冲器或者输出缓冲器中的缓冲器队列称为“数据保存部”。
【在先技术文献】
【专利文献】
【专利文献1】JP特开2002-344509号公报
【非专利文献】
【非专利文献1】松谷宏紀,鯉渕道紘,天野英晴,吉永努,“低延迟ォンチップ网络のための预测路由器の评价”,第7回先進的计算基盤系统シンポジゥム(SACSIS’09)論文集,pp.209-218,May2009.
【非专利文献2】John Kim,“Low-Cost Router Microarchitecture forOn-Chip Networks”,MICRO′09,December12-16,2009
发明内容
【发明要解决的课题】
在进行旁路处理的现有的中继器中,通过使得一部分的业务流处于旁路,从而经由通常的中继处理进行传送的非旁路业务流的传送处理变得推迟。因此,产生非旁路业务流的传输延迟变大的这一问题。特别地,在传输通路的负荷高的状态下使一部分的业务流处于旁路时,输出目的地的缓冲器的大多数被旁路业务流占用的结果,非旁路业务流的传输延迟变得显著。此外,如非专利文献1所公开的方式那样,在采用预测旁路目的地或处理内容等的方式的情况下,由于预测失误,有可能在进行旁路的中继器中传输延迟会超出预想的大。
【用于解决课题的技术方案】
本发明的一实施方式的中继器,在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述中继器具备:输入部,其接受数据的输入;开关,其用于从多个路径之中选择被输入至所述输入部的数据的传输路径;旁路控制部,其基于所述输入部中输入的数据的种类,决定是否进行优先输出所述数据的旁路处理;和输出控制部,其变更不进行所述旁路处理的数据的传输路径以及传输流量的至少一个,从而控制所述数据的输出。所述输出控制部执行第1控制以及第2控制的至少一个,所述第1控制是在所述旁路控制部执行了所述旁路处理的情况下基于自中继器的传输状态来控制被设定与进行所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的输出,所述第2控制是在所述旁路控制部没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据与由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来控制没有进行所述旁路处理的数据的输出。
本发明的一实施方式的中继器的控制方法是用于控制在数据传输系统中使用的中继器的方法,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述方法包括:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
本发明的一实施方式的中继器的控制程序是用于控制在数据传输系统中使用的中继器的程序,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述控制程序使所述中继器中安装的计算机执行如下步骤:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
本发明的一实施方式的仿真程序是用于在数据传输系统中使用的中继器的程序,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述仿真程序使计算机执行如下步骤:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
【发明的效果】
根据本发明的实施方式,在半导体系统这种的数据传输系统中能够减低业务流的传输延迟。
附图说明
图1A是用于说明在中继器间进行旁路的情况下所产生的课题的第1图。
图1B是用于说明在中继器间进行旁路的情况下所产生的课题的第2图。
图2是表示实施方式1的中继器的动作的概要的图。
图3是表示实施方式1中的传输系统的结构例的图。
图4是用于说明本说明书中的中继器的表记的图。
图5A是实施方式1中的中继器的结构图。
图5B是实施方式1中的中继器的缓冲器选择部的结构图。
图6是表示分组的传输格式的例子的图。
图7是表示实施方式1中的中继器的动作的步骤的图。
图8是表示实施方式1中的缓冲器选择部判定是否进行旁路的处理的流程的图。
图9A是表示将实施方式1中的旁路通知向相邻的中继器进行通知的处理的图。
图9B是表示将实施方式1中的旁路通知向相邻的中继器进行通知的处理的其他例子的图。
图10是表示实施方式1中的旁路通知分组的结构例的图。
图11是表示蝶形网的结构例的图。
图12是用于说明简易网络模型的图。
图13A是表示实施方式1中的基于简易网络模型的旁路通知处理的流程的图。
图13B是表示中继器的路径信息的例子的图。
图14是表示接收到旁路通知的中继器的处理的例子的图。
图15A是表示在接收到旁路通知的中继器中针对不进行旁路处理的业务流所进行的处理的第1例子的图。
图15B是表示在接收到旁路通知的中继器中针对不进行旁路处理的业务流所进行的处理的第2例子的图。
图15C是表示在接收到旁路通知的中继器中针对不进行旁路处理的业务流所进行的处理的第3例子的图。
图16是表示在实施方式1中进行了旁路处理的情况下的针对没有被旁路的业务流的中继器的处理的流程的图。
图17A是表示在实施方式1中进行了旁路处理的情况下的针对没有被旁路的业务流的中继器的处理的流程图。
图17B是表示在实施方式1中决定是否切换路径的处理的流程图。
图18A是表示在实施方式1中针对不进行旁路处理的业务流的中继器的处理的第1例子的图。
图18B是表示在实施方式1中针对不进行旁路处理的业务流的中继器的处理的第2例子的图。
图19A是表示不具有输出缓冲器的中继器的结构例的图。
图19B是表示在外部布线来进行旁路的中继器的结构例的图。
图20是表示通过功能扩展追加了总线主控器以及旁路路径的情况下的例子的图。
图21A是表示因旁路布线而发生拥挤的图。
图21B是表示通过发送量调整能够解决旁路布线的课题的图。
图21C是表示通过发送目的地的变更从而能够解决旁路布线的课题的图。
图22A是表示将多个总线主控器经由分散型的总线进行连接而得到的环型的拓扑的例子的图。
图22B是表示将多个总线主控器经由分散型的总线进行连接而得到层次型的拓扑的例子的图。
图23是实施方式2中的中继器的结构图。
图24A是表示实施方式2中的基于简易网络模型的中继器的动作的例子的图。
图24B是表示中继器的路径信息的例子的图。
图25A是表示在实施方式2中传输高优先级业务流的情况下针对低优先级业务流的中继器的处理的流程的图。
图25B是表示在实施方式2中决定是否切换路径的处理的流程的图。
图26A是表示实施方式2中的针对低优先级业务流的中继器的处理的第1例子的图。
图26B是表示实施方式2中的针对低优先级业务流的中继器的处理的第2例子的图。
图27是表示实施方式3中的中继器的概略结构的框图。
图28A是表示由中继器进行的旁路判定处理的一例的流程图。
图28B是表示由中继器进行的旁路判定处理的其他例子的流程图。
图29是表示实施方式3中的传输系统的结构例的图。
图30是表示实施方式3中的中继器的处理的流程的概略的图。
图31是用于说明实施方式3中的中继器的动作的图。
图32是实施方式3中的中继器的缓冲器选择部的结构图。
图33是表示实施方式3中的缓冲器选择部的动作的步骤的图。
图34是表示实施方式3中的头部流控单位的详细构造的图。
图35是表示由实施方式3的头部流控单位解析部进行解析而得到的结果的图。
图36是表示实施方式3中的流控单位分选部的结构例的图。
图37是表示实施方式3中的流控单位分选部的处理的流程的图。
图38是表示实施方式3中的流控单位分选部的其他结构例的图。
图39是表示不具有实施方式3中的输出缓冲器的中继器的结构例的图。
图40是表示在实施方式3中的外部布线来进行旁路的中继器的结构例的图。
图41A是表示实施方式4中的中继器的概略结构的第1例子的图。
图41B是表示实施方式4中的中继器的概略结构的第2例子的图。
图42是表示实施方式4中的中继器的处理的流程的概略的图。
图43是实施方式4中的中继器的缓冲器选择部的结构图。
图44是表示实施方式4中的缓冲器选择部的动作的步骤的图。
图45是表示实施方式4中的旁路缓冲器发送管理部的处理的流程的图。
图46是表示由实施方式4中的流控单位分选部动态地修正选择基准的方法的图。
图47是表示实施方式4中的负荷值信息的配送例的图。
图48A是表示对实施方式4中的自中继器的旁路缓冲器的缓冲器队列分配突发业务流的情况下的结构例的图。
图48B是表示对实施方式4中的传送目的地的中继器内的输入缓冲器的缓冲器队列分配突发业务流的情况下的结构例的图。
图48C是表示实施方式4中的旁路缓冲器或者输入缓冲器内的结构例的图。
图49是表示实施方式4中的不具有旁路功能的中继器中的处理步骤的图。
图50是表示实施方式4中的根据优先级分配缓冲器队列的动作的例子的图。
图51是表示对中继器的存储器总线的利用例的图。
图52是表示中继器的多核处理器上的利用例的图。
图53A是表示现有的集中型的总线控制的例子的图。
图53B是表示现有的分散型的总线控制的例子的图。
图54是表示现有的中继器的概略结构的图。
图55是表示突发业务流的例子的图。
图56是现有的进行旁路的中继器的概略结构的图。
具体实施方式
本发明的一实施方式的中继器在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述中继器具备:输入部,其接受数据的输入;开关,其用于从多个路径之中选择被输入至所述输入部的数据的传输路径;旁路控制部,其基于所述输入部中输入的数据的种类,决定是否进行优先输出所述数据的旁路处理;和输出控制部,其变更不进行所述旁路处理的数据的传输路径以及传输流量的至少一个,从而控制所述数据的输出。所述输出控制部执行第1控制以及第2控制的至少一个,所述第1控制是在所述旁路控制部执行了所述旁路处理的情况下基于自中继器(本中继器)的传输状态来控制被设定与进行所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的输出,所述第2控制是在所述旁路控制部没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据与由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来控制没有进行所述旁路处理的数据的输出。
在某个实施方式中,所述中继器还具备:旁路通知部,在执行了所述旁路处理的情况下,将表示执行了所述旁路处理的信息通知给对所述输入部输入了数据的其他的中继器。
在某个实施方式中,所述中继器还具备:缓冲器部,其保存所述输入部中所输入的数据,所述旁路控制部基于所述输入的数据的种类,决定执行将所述输入部中所输入的数据经由所述缓冲器部进行输出的通常处理、以及将所述数据不经由所述缓冲器部进行输出的旁路处理的任意一个。
在某个实施方式中,所述旁路控制部基于表示所述输入部中输入的所述数据的突发性的信息,来决定进行将所述数据经由所述开关输出的通常处理、以及将所述数据不经由所述开关而经由旁路路径输出的旁路处理的任意一个。
在某个实施方式中,所述中继器还具备:缓冲器部,其具有用于保存所述输入部接收的所述数据的多个数据保存部,所述旁路控制部基于表示所述输入部接收的所述数据的突发性的信息,来决定将所述数据保存在所述多个数据保存部之中的预先被确保的特定的数据保存部、或者输出目的地的其他的中继器的缓冲器部中的多个数据保存部之中预先被确保的特定的数据保存部中,从而针对判断为具有突发性的数据执行所述旁路处理。
在某个实施方式中,表示所述突发性的信息是每单位时间的传输量、发送周期、发送间隔、连续传输的分组数、以及延迟时间的至少1个。
在某个实施方式中,表示所述突发性的信息是所述数据的容许吞吐量以及容许延迟时间的至少一个。表示所述突发性的信息是表示突发性的识别符、所述数据的优先级、表示所述数据的种类的识别符、以及确定所述第1节点的识别符的至少1个。
在某个实施方式中,在所述数据的每单位时间的传输量比预先确定的阈值多的情况下、所述数据的发送周期比预先确定的阈值短的情况下、所述数据的发送间隔比预先确定的阈值短的情况下、连续传输的分组数比预先确定的阈值大的情况下、所述数据的容许延迟时间比预先确定的阈值短的情况下中的至少1种情况下,所述旁路控制部将所述数据判断为具有突发性,并执行旁路处理。
在某个实施方式中,所述输入部接受表示所述其他的第2中继器的传输状态的信息,所述输出控制部基于所述信息来执行所述第2控制。
在某个实施方式中,所述传输状态是与所述开关连接的缓冲器的空置容量、所述缓冲器的使用量、等待时间、吞吐量、以及传输效率的至少1个。
在某个实施方式中,所述输出控制部具有对所述缓冲器的空置容量以及所述缓冲器的等待时间的至少一个进行计测的缓冲器计测部。
在某个实施方式中,所述输出控制部在所述缓冲器的空置容量为预先设定的阈值以上的情况下,使不进行所述旁路处理的数据的传输流量降低或者使传输中断,在所述缓冲器的空置容量低于所述阈值的情况下,变更不进行所述旁路处理的数据的传输路径。
在某个实施方式中,所述缓冲器是相邻的中继器的输入缓冲器。
在某个实施方式中,所述输入部接受的所述数据中记述了表示优先级、经过时间信息、分组长度、以及中继级数的至少1个的识别符,所述旁路控制部基于所述识别符,决定是否执行所述旁路处理。
在某个实施方式中,所述输入部接受的所述数据中记述了表示优先级的识别符,所述输出控制部在传输了所述优先级被设定为预先设定的阈值以上的高优先级业务流的情况下,针对所述优先级为所述阈值以下的低优先级业务流控制所述开关的输出。
本发明的一实施方式的中继器的装置方法是用于控制在数据传输系统中使用的中继器的方法,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述方法包括:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
本发明的一实施方式的中继器的控制程序是用于控制在数据传输系统中使用的中继器的程序,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述控制程序使所述中继器中安装的计算机执行如下步骤:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
本发明的一实施方式的仿真程序是用于在数据传输系统中使用的中继器的程序,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器。所述仿真程序使计算机执行如下步骤:接受所述数据的输入的步骤;从多个路径之中利用开关选择所述数据的传输路径的步骤;基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
以下,参照附图说明本发明的更为具体的实施方式。在以下的说明中,对于同一或者对应的结构要素赋予同一参照符号。
(实施方式1)
<1.本实施方式的概要>
首先,说明本发明的第1实施方式。本实施方式提供一种消除在执行旁路处理的情况下可能发生的业务流拥挤的问题的技术。首先,参照图1A以及图1B,说明伴随着旁路处理的课题。
<1.1.伴随着旁路处理的课题>
图1A表示经由多个中继器R1~R9在多个总线主控器(BM)与多个存储器(M)之间进行数据的收发的数据传输系统的结构例。在图示的结构例中,多个中继器R1~R9通过总线连接成网格状,各中继器与总线主控器或者存储器连接。在中继器R9与中继器R7之间设置旁路路径1d。
在该结构例中,从与中继器R9连接的总线主控器1a不通过旁路路径1d而经由中继器R9、R8、R7向存储器5发送数据。另一方面,从总线主控器1b通过旁路路径1d经由中继器R9、R7而向存储器5发送数据。在该情况下,在从总线主控器1b发生的旁路业务流和从总线主控器1a发生的非旁路业务流之间,在作为共同的发送目的地的存储器5所连接的中继器R7中发生了拥挤。因此,旁路业务流受到非旁路业务流的影响而延迟。此外,中继器R7中,若旁路业务流以高的优先级被处理,非旁路业务流以低的优先级被处理,则非旁路业务流进行等待直至旁路业务流的传输完成。因此,非旁路业务流的传输延迟成为问题。再有,由于等待的非旁路业务流占据路径上的各中继器的缓冲器,因此来自与路径上的各中继器连接的其他总线主控器的传输受到妨碍。
图1B是表示在中继器间进行旁路的情况下可能发生的课题的其他例子的图。在图示的结构中,表示了总线主控器1c与作为发送目的地的存储器5经由中继器R7利用旁路路径1e进行旁路的例子。在该例子中,由于从总线主控器1a传输的非旁路业务流与从总线主控器1c传输的旁路业务流的干扰,会在中继器R7发生拥挤。若在中继器R7中旁路业务流以高的优先级被处理,非旁路业务流以低的优先级被处理,则非旁路业务流进行等待直至旁路业务流的传输完成。因此,非旁路业务流的传输延迟成为问题。再有,由于进行等待的非旁路业务流占用路径上的各中继器的缓冲器,因此来自与路径上的各中继器连接的其他总线主控器的传输受到妨碍。
这样,若存在旁路业务流与非旁路业务流汇合的中继器,则经由该中继器的业务流的传输延迟成为问题。此外,并不限于该例子,一般来说如果对于某个业务流进行旁路处理,则由于其他的业务流的传输变得推迟,因此吞吐量下降。
<1.2.本实施方式的动作概要>
本实施方式的中继器为了应对上述课题,在进行旁路处理的情况下,将表示进行了旁路处理的通知(旁路通知)发送至相邻中继器。此外,执行与非旁路业务流对应的传输控制。以下,说明各处理的概要。
<1.2.1.旁路通知>
本实施方式的中继器具备在进行旁路处理的情况下将表示进行了旁路处理通知(旁路通知)发送至相邻中继器的功能。以下,参照图2说明本实施方式的旁路通知处理的基本概念。
图2表示在本实施方式中设想的数据传输系统的结构例以及中继器的动作的概要的图。图示的数据传输系统具备:发送数据的第1节点(发送节点)10、接收数据的第2节点(接收节点)20、在第1节点10以及第2节点20之间中继数据的多个中继器600a、600b、600c。图2(a)表示从第1节点10经由多个中继器600a、600b、600c向第2节点20传输数据的情况。再者,图示的数据传输系统的结构仅仅是一例,本发明并不限于这种结构。
各中继器通过进行旁路处理,能够优先传送优先级或紧急度高的业务流。在进行了旁路处理的情况下,能够根据传输通路的负荷状况向其他的中继器发送表示进行了旁路处理的旁路通知。由此,接收到旁路通知的其他的中继器能够执行用于减轻传输负荷的各种对策。旁路通知,可以说是用于将应该抑制没有被旁路处理的业务流的传输告知给其他的中继器的通知。
图2(b)表示1个中继器600b进行了旁路处理。图2(c)表示进行了旁路处理的中继器600b向前级的中继器600a发送旁路通知的情况。图2(d)表示接收到旁路通知的中继器600a改变数据的发送路径、或者限制流量由此进行避免中继器600b中的传输延迟的对策的例子。这样,进行了旁路处理的中继器600b通过将旁路通知发送给其他的中继器,由此能够减轻系统整体的传输负荷。
在本实施方式中,作为进行旁路的方法,如后述那样可采用在1中继器内或者2个中继器间设定旁路路径的方法、针对具有突发性的业务流这种的优先级高的业务流,在传输路径上的各中继器中分配专用的缓冲器队列的方法。
为了抑制因旁路通知的中继处理的开销(overhead),不需要所有的中继器具备进行旁路通知的功能,可以仅让一部分的中继器具备。例如,可以仅对作为发送目的地的第2节点20(例如存储器、I/O等的从动设备)所连接的中继器600c赋予该功能。即、可以仅在中继器600c进行旁路处理的情况下(例如、从中继器600c向第2节点20传送具有突发性的数据的情况下),向中继器600b进行旁路通知。此外,旁路通知也可以兼用于在相邻的中继器间进行的业务流的流控制。所谓流控制是指,发送源的中继器在数据传送前通知发送目的地的中继器的可否确保缓冲器的处理。
具体而言,设想利用旁路路径将突发业务流从中继器600c传送至第2节点20的过程中,因其影响而在中继器600c中非突发性的业务流的传输受到妨碍的情况。即、设想具有突发性的业务流较之不具有突发性的业务流以高优先级进行传输的情况。此时,在中继器600c中,由于非突发性的业务流热无法确保缓冲器。在该状况下,中继器600b在传送非突发性的业务流时,向中继器600c询问可否确保缓冲器。中继器600c将无法确保缓冲器的这一情况通知给中继器600b。该流控制中的通知实质上与表示从中继器600c向中继器600b进行旁路传输的通知相同。这样,可兼用旁路通知和流控制的通知处理。
同样,也可以构成为中继器600c以外的其他中继器600a、600b将来自中继器600c的旁路通知的中继兼用于与相邻的中继器或者第1节点10之间的流控制。由此,第1节点10(例如DSP、处理器等的总线主控器)作为与中继器600a之间的业务流的流控制的结果,而自适应地控制数据的发送定时、发送量。同样,中继器600a作为与中继器600b之间的业务流的流控制的结果,而可自适应地控制数据的发送定时、发送量。
<1.2.2.针对非旁路业务流的传输控制>
接下来,说明针对非旁路业务流的传输控制。在该传输控制中包括以下2个方式。
第1控制是在执行旁路处理的情况下基于自中继器的传输状态,对设定了与旁路业务流相同的发送目的地的非旁路业务流的输出进行的控制。该控制例如图1A所示的中继器R9那样,可以在向同一发送目的地(存储器5)发送被旁路的数据和没有被旁路的数据的中继器中执行。自中继器的传输状态例如是输入缓冲器、输出缓冲器的使用量(空置容量)之类的信息。通过考虑自中继器的传输状态,从而变更非旁路业务流的发送路径、或者抑制发送流量的这种方法,能够抑制传输延迟。关于第1控制的详细内容在后面叙述。
关于第2控制,在没有执行旁路处理的情况下,基于非旁路业务流和从其他的中继器送出的旁路业务流汇合的中继器的传输状态,针对非旁路业务流的输出来进行第2控制。该控制例如图1A、1B所示的中继器R9那样,在传输目的地的其他的中继器R7中在旁路业务流与非旁路业务流之间发生了拥挤时,在位于其上游(发送节点侧)的中继器中执行。通过根据旁路业务流和非旁路业务流汇合的中继器的拥挤状况来变更非旁路业务流的发送路径、或者抑制发送流量,由此能够抑制传输延迟。可构成为将拥挤状况例如在数据传输前进行的流控制之时通知给其他的中继器。关于第2控制的详细内容在后面叙述。
本实施方式的中继器未必执行第1控制以及第2控制这二者。只要构成为执行这些控制的至少一方,就能够获得某种程度的效果。
以下,说明本实施方式的具体的结构以及动作。
<2.系统结构>
图3是表示本实施方式的利用了中继器600的数据传输系统的结构例的图。图示的系统作为发送节点而具有多个总线主控器101(BM0~BM7),作为接收节点而具有多个存储器105(M0~M7)。多个总线主控器101以及多个存储器105经由多个中继器600利用总线进行多级连接。这样,图3所示的传输系统构成多级连接网(Multistage Interconnection Network:MIN)。本实施方式中,各个总线主控器101作为本发明中的第1节点发挥功能,各个存储器105作为本发明中的第2节点发挥功能。
本实施方式中的总线主控器101例如是CPU(Central ProcessingUnit)、DSP(Digital Signal Processor)等的处理器,是能够利用总线来进行数据的传送控制的设备。存储器105是例如DRAM、SRAM等的半导体存储器。中继器600是例如半导体电路,具备在多个总线主控器101以及多个存储器105之间对传输的数据进行中继的功能。
在图3所示的结构例中,8个总线主控器(BM0~BM7)、12个中继器(R0~R11)、8个存储器(存储器0~7)通过总线连接。12个中继器被分为3个群组。第1群组(G1)包括与8个总线主控器101连接的4个中继器(R0、R1、R2、R3)。第2群组(G2)包括与第1群组的后级连接的4个中继器(R4、R5、R6、R7)。第3群组(G3)与第2群组的后级连接,包括与8个存储器连接的4个中继器(R8、R9、R10、R11)。
从总线主控器101向存储器105的数据传输通过分组交换方式进行。各总线主控器如图3(a)所示那样,将要发送的分组分割成被称为流控单位(flit)的最小单位之后发送至相邻的中继器。对1个分组进行分割而得到的多个流控单位之中、最初被发送的流控单位被称为头部流控单位(head flit)。头部流控单位中记述了表示分组的开始的标记信息、分组的发送目的地的地址信息等。关于本实施方式中的分组以及流控单位的数据构造的详细在后面叙述。
构成图3所示的多级连接网的各中继器具备2输入2输出的交叉总线交换器605。各中继器如图3(b)所示那样,通过切换交叉总线交换器605,能够变更输入源和输出目的地的组合。因此,能够将业务流的流动在2个传输路径(传输路径1、2)之间进行切换。如果输出目的地的传输路径不同,则中继器能够将2种的业务流同时输出至各传输路径。根据这种的多级连接网,通过各中继器600中的开关的切换,在全部总线主控器101与全部存储器105之间必定能够构筑一个以上的传输路径。
一般来说,为了由交叉总线交换器将N个的总线主控器与M个的存储器的全部进行连接,需要N×M个开关。在此,所谓开关是指,被在某个方向并行的多个通信路与在其他方向并行的多个通信路的交点上设置、并通过切换ON/OFF从而能够动态地构筑通信线路的部件。通常,所需的开关的数目随着总线主控器以及存储器的数目增加而急剧增加。与此相对,在多级连接网中,将输入输出数少的交叉总线交换器按层次进行连接,由此能够使用少数的开关来切换总线主控器与存储器之间的连接。
作为图3所示的结构中的数据传输的一例,设想从总线主控器BM2向存储器M5传输数据的情况。此时,总线主控器BM2将存储器M5的地址(101)被描述为发送目的地地址的分组分割成多个流控单位,发送至中继器R1。被分割而得到的多个流控单位经由中继器R1、R7、R10而发送至存储器M5。存储器M5接收从中继器R10发送的多个流控单位,由这些的流控单位重构分组。通过以上的处理,从总线主控器BM2向存储器M5传输数据。
再者,本实施方式中的中继器600并不限于构成图3所示的这种多级连接网的集成电路,即便是具有其他的拓扑的集成电路也同样适用。此外,本实施方式中,设想通过分组交换方式经由多个中继器来进行从总线主控器101向存储器105的数据传送的这种情况进行了说明,但是数据传送方式也可以是其他的方式。本实施方式的中继器并不限于从总线主控器向存储器的数据传输,如果是在多个节点间传输数据的系统,则能够同样适用。例如,也可以如从存储器读出数据的情况那样,存储器是发送侧的节点,总线主控器是接收侧的节点。此外,与总线主控器进行收发的对方的节点并不限于存储器,例如也可以是与外置HDD这种的外部记录装置连接的输入输出端口。作为这种的输入输出端口的例子,列举出USB端口。
在图3所示的结构中,第1以及第3群组的各中继器(R0~R3、R8~R11)与第2群组的各中继器(R4~R7)同样,被描绘为1个功能模块。但是,实际上,在第1群组的各中继器与总线主控器之间、以及第3群组的各中继器与存储器之间,连接有NIC(Network Interface Controller)等的其他的功能部。
图4是表示本实施方式中的数据传输系统的一部分的框图。图4中,为了简单,仅示出了与1根传输路径上连接的1组的总线主控器101、第1群组的中继器600a、第2群组的中继器600b、第3群组的中继器600c、以及存储器105。
如图4(a)所示,在总线主控器101与第1群组的中继器600a之间连接NIC620a。NIC620a具备总线协议的变换处理、从多个存储器之中选择能够确保总线主控器101请求的存储器尺寸的存储器105并将选择的存储器105通知给总线主控器101的功能。
另一方面,在第3群组的中继器600c与存储器105之间,连接NIC620c以及存储器控制器630。NIC620c进行总线协议变换处理、数据传输的去路与回路的对应关系建立,将与去路对应的回路的应答返回至NIC620a。在此,所谓去路是指,从总线主控器101向存储器105的方向的传输路径,所谓回路是指,从存储器105向总线主控器101的方向的传输路径。存储器控制器630与NIC620c连接,进行对存储器105的访问顺序的控制等。
在本说明书中,为了简化表记,如图4(b)所示,省略了NIC620a、620c、以及存储器控制器630的表记。即、在以下的说明中,设想与总线主控器101等的发送节点直接连接的中继器包括了NIC。同样,设想与存储器105等的接收节点直接连接的中继器包括了NIC以及存储器控制器。
<3.中继器的结构>
<3.1.中继器的概略结构>
图5A是表示本实施方式中的中继器的概略结构的图。在以下的说明中,以第2群组的中继器600b为例进行了说明,但是对于第1以及第3群组的中继器,仅仅是传送源以及传送目的地不同,而基本的结构同样。以下,将第1群组的中继器600a称为“前级中继器”,将第3群组的中继器600c称为“后级中继器”。此外,将第1以及第3群组的中继器称为“相邻中继器”。中继器600b决定从前级中继器600a向后级中继器600c的目的地,并中继业务流。
中继器600b具备多个输入端口615以及输出端口617。从前级中继器600a经由输入端口615而接收流控单位,经由输出端口617向后级中继器600c发送流控单位。中继器600b具备:接收从前级中继器600a发送的流控单位,并决定是否进行旁路的缓冲器选择部603。此外,中继器600b具备暂时保存没有被旁路的流控单位的输入缓冲器604、切换输入源与输出目的地的连接的交叉总线交换器605、暂时保存从交叉总线交换器605输出的数据的输出缓冲器606。中继器600b还具备进行用于将没有被旁路的流控单位传送至发送目的地的处理的路由处理部607、缓冲器分配器(allocator)608、以及开关分配器609。
输入缓冲器604以及输出缓冲器606是例如SRAM或者寄存器等的一次存储区域。交叉总线交换器605是例如公知的开关电路。路由处理部607、缓冲器分配器608、以及开关分配器609由构成为能够执行后述的动作的逻辑电路构成。
再者,在图5A所示的例子中,中继器600b具备2个缓冲器选择部603、4个输入缓冲器604、2个输出缓冲器606,但本发明并不限于这种例子。在图5A所示的例子中,构成为2个缓冲器选择部603之中的仅一个进行旁路处理。
本实施方式中的输入缓冲器604以及输出缓冲器606由多个缓冲器队列构成。缓冲器队列可以由虚拟信道(Virtual Channel)构成。在由虚拟信道构成缓冲器队列的情况下,构成多个虚拟线路。在此,所谓虚拟线路是指对于在物理上为1根的通信线路,在逻辑上被视为多个通信线路的线路。
缓冲器选择部603基于头部流控单位中记述的信息,判断所接收的流控单位是否需要旁路。在判断为不需要旁路的情况下,缓冲器选择部603将该流控单位所属的业务流保存在输入缓冲器604。在判断为需要旁路的情况下,缓冲器选择部603将该业务流发送至旁路路径BP。
再者,旁路路径BP可以构成为将旁路业务流输入至输出缓冲器606(旁路BP1),还可以构成为不经由输出缓冲器606而输入至相邻中继器600c(旁路BP2)。在利用未经由输出缓冲器606的旁路路径BP2的情况下,虽然不会产生因缓冲引起的延迟,但是由于需要唯一地决定传输目的地的中继器600c的输入缓冲器,因此缓冲器选择没有自由度。另一方面,在经由输出缓冲器606的情况下,虽然发生因缓冲引起的延迟,但由于在输出缓冲器606中暂时保存,因此能够从传送目的地的中继器600c的输入缓冲器之中选择传送目的地的输入缓冲器。因此,经由输出缓冲器606的情况下的缓冲器选择的自由度,比不经由输出缓冲器606的情况下的缓冲器选择的自由度要高。
另一方面,由缓冲器选择部603判断为不进行旁路的业务流,基于由路由处理部607、缓冲器分配器608、以及开关分配器609决定的路径信息进行传送。路由处理部607基于流控单位中记述的发送目的地信息,决定流控单位的传送目的地的输出端口617。路由的算法可以采用动态地决定目的地的维序路由、在设计时基于发送源和发送目的地的关系而唯一决定目的地的静态路由。本发明并不限定于特定的路由算法。
此外,缓冲器分配器608从由路由处理部607决定的输出端口617所对应的输出缓冲器606之中选择空置的缓冲器,将输入缓冲器604的缓冲器队列和所使用的输出缓冲器606建立对应。
再有,开关分配器609为了传输业务流数据,从对应建立已完成的输入缓冲器604的缓冲器队列与输出缓冲器606的组中选择1组。开关分配器609经由交叉总线交换器605从所选择的输入缓冲器604的缓冲器队列向输出缓冲器606发送流控单位。之后,从输出缓冲器606经由输出端口617向对应的中继器600c传送流控单位。
再者,本实施方式的中继器600b具备输出缓冲器606,设想嵌入用途从而为了抑制存储器量,也存在不设置输出缓冲器606的情况。在该情况下,成为共用输出缓冲器606和传送目的地的中继器600c的输入缓冲器的结构。取代输出缓冲器606,使用传送目的地的中继器的输入缓冲器,也可以获得与本实施方式同样的效果。在不设置输出缓冲器606的情况下,缓冲器分配器608构成为将输入缓冲器604的缓冲器队列和传送目的地的中继器600c的输入缓冲器的缓冲器队列建立对应。
<3.2.缓冲器选择部的结构>
接下来,说明本实施方式中的缓冲器选择部603的结构。图5B是表示缓冲器选择部603的详细结构的框图。
缓冲器选择部603具备对头部流控单位的数据构造进行解析的头部流控单位解析部901、基于头部流控单位中记述的信息决定是否对接收的数据进行旁路的流控单位分选部902。流控单位分选部902对缓冲器选择部603具有的存储器(未图示)中保存的优先级阈值903或截止时刻904的信息、与头部流控单位中记述信息进行比较。流控单位分选部902判断为接收的数据的优先级或紧急度低的情况下,将数据发送至输入缓冲器604。在判定为接收的数据的优先级或紧急度高的情况下,对数据进行旁路。在本实施方式中,流控单位分选部902具有本发明中的旁路控制部以及输出控制部的功能。关于旁路处理的详细在后面叙述。
缓冲器选择部603还具备:对被旁路的业务流的传输量以及中继持续时间进行计测的高优先级业务流计测部1003、对输入缓冲器604以及/或者输出缓冲器606的缓冲器使用量以及缓冲器使用时间进行计测的缓冲器使用量计测部1002、基于旁路路径的传输负荷或缓冲器使用量等将旁路通知发送至相邻中继器600a的旁路通知判定部(旁路通知部)1001。旁路通知判定部1001基于未图示的存储器中保存的业务流阈值907以及缓冲器阈值905的信息、所计测的业务流信息以及缓冲器信息来进行旁路通知处理。旁路通知处理的详细在后面叙述。
再者,本实施方式的中继器600b具备进行旁路的布线以及旁路通知功能,但本发明的中继器在中继器内未必具备这些。不进行旁路布线而进行旁路的例子在实施方式2中说明。
<4.分组、流控单位的结构>
接下来,说明本实施方式中的分组以及流控单位的构造。
图6表示分组500的传输格式的一例、将分组500分割为多个流控单位的例子。分组500具有头字段501、数据字段502、以及控制代码字段503。
头字段501中记述了例如表示分组的开始的标记信息、发送目的地的地址、发送源的地址、表示分组的优先级的信息、以及表示从发送分组开始经过的时间的信息(经过时间信息)。经过时间信息的记述方法是任意的,只要是能够判断从发送开始经过的时间的值则可以是任意的记述方法。例如,可记述发送的时刻、从发送开始经过的时间、或者通过的中继器的个数(跳数)等。头字段501中可以记述上述以外的信息。基于头字段501的数据之中发送目的地的地址以及发送源的地址,进行分组500的中继处理、和接收侧的接收处理。
数据字段502中例如记述影像数据、声音数据等。控制代码字段503中记述例如预先确定的结束代码。根据结束代码的存在,判别分组500结束。控制代码字段503中也可以保存结束代码以外的信息。
总线主控器101如前述那样将分组500分解为被称为流控单位的小的单位进行传输。1流控单位的尺寸(size),是使用总线在1周期中能传输的尺寸,根据总线宽度而决定。分组500被分割为头部流控单位504、多个数据流控单位505、以及尾部流控单位505。头部流控单位504中包含在上述的头字段501中保存的标记信息、发送目的地地址信息等。再者,在本说明书中,只要没有特别的说明,将包含流控单位的数据列表述为分组。
在紧接着头部流控单位504的数据流控单位505以及尾部流控单位506中,没有保存用于确定发送目的地的地址信息。其原因在于,紧接着头部流控单位504的各流控单位被发送至与头部流控单位504相同的发送目的地。在根据头部流控单位504来确定发送目的地,输出该业务流的流控单位的输出缓冲器606决定时,后续的流控单位,利用与头部流控单位504相同的输出缓冲器606被传输至头部流控单位504表示的发送目的地。
尾部流控单位506中赋予了表示该流控单位是构成分组的最后的流控单位的标记信息(控制代码字段503中保存的结束代码)。此外,头部流控单位504和尾部流控单位506以外的多个数据流控单位505,是主要传输数据的流控单位,对应于分组500的数据字段502。
接收侧的存储器105检测出尾部流控单位506中记述的标记信息(结束代码)时,基于该结束代码,将传输的多个流控单位重构为分组。
1分组的尺寸为例如128字节,1流控单位的尺寸被设定为例如32比特或者64比特。不过,由于1分组的尺寸以及1流控单位的尺寸因应用而不同,因此上述的尺寸仅仅是一例。1流控单位的长度可以将能够记述发送目的地的地址、发送源的地址等的控制数据的长度作为基准。
各中继器600如上述那样,具备用于存储发送来的流控单位的输入缓冲器604。在通常处理(非旁路处理)中,流控单位被暂时存储在输入缓冲器604之后,通过交叉总线交换器605的切换被发送至紧接着发送目的地的存储器的中继器、或者发送目的地的存储器。
<5.中继器的动作>
<5.1.旁路动作的概要>
接下来,说明中继器600b的动作。图7是表示中继器600b的动作的概略的流程图。
首先,中继器600b的缓冲器选择部603从相邻的中继器600a接收流控单位(S801)。接下来,缓冲器选择部603判定是否应该进行旁路(S802)。在判断为应该进行旁路的情况下,缓冲器选择部603进行旁路,并且判定是否应该进行旁路通知(S807)。在判定为应该进行旁路通知的情况下,缓冲器选择部603将旁路通知发送至相邻的中继器600a(S808)。在没有判定为应该进行旁路通知的情况下,不发送旁路通知。进行了旁路的流控单位被发送至输出缓冲器606,被从作为对象的缓冲器队列传输(S806)。再者,对于是否进行旁路的具体的判定方法、发出旁路通知的动作的详细在后面叙述。
另一方面,在步骤S802中判定为缓冲器选择部603不进行旁路的情况下,路由处理部607对头部流控单位进行解析从而决定输出端口(S803)。接下来,缓冲器分配器608选择与由路由处理选出的输出端口对应的输出缓冲器606之中、处于空置空的输出缓冲器606,进行该输出缓冲器与自中继器600b的输入缓冲器604的缓冲器队列的对应建立(S804)。再者,在不设置输出缓冲器606的结构中,缓冲器分配器608取代输出缓冲器606,进行传送目的地的中继器600c的输入缓冲器与自中继器600b的输入缓冲器604的对应建立。接着,开关分配器609为了传输业务流数据从对应建立已完成的输入缓冲器604的缓冲器队列与输出缓冲器606的组中选择1组(S805),从作为对象的缓冲器队列以1流控单位为单位、或者以分组为单位传输数据(S806)。
根据以上的S803至S806的处理,中继器600b中输入的流控单位为了被从中继器600b输出最低耗费3周期。具体而言,需要以下的3周期。
(1)与步骤S803对应的处理。即,基于头部流控单位中记述的发送目的地地址,计算输出端口617(输出物理信道)(Routing computation:RC)。
(2)与步骤S804对应的处理。即,进行所使用的输出缓冲器606或者传送目的地的中继器600c的输入缓冲器的缓冲器队列(输出虚拟信道)的分配(Virtual channel allocation:VA)。
(3)与步骤S805以及S806对应的处理。即,进行交叉总线交换器605的仲裁(Switch allocation:SA),将流控单位发送至交叉总线交换器605上,使其通过(Switch traversal:ST)。再者,作为其他的实现方法,还存在将流控单位发送至交叉总线交换器605上,在第4周期进行使其通过的处理的方式。
相对于此,对于在步骤S802中被判定为应该进行旁路的流控单位,省略上述的步骤S803~S805的处理,仅进行与步骤S806对应的处理(ST)。其结果,被旁路的流控单位最低以1周期进行传输。
<5.2.旁路判定>
接下来,说明在步骤S802中进行的旁路判定的具体的处理。
图8是表示由缓冲器选择部603判定是否进行旁路的处理的流程的图。首先,图5B所示的头部流控单位解析部901读取头部流控单位的优先级的记述(S901)。接下来,流控单位分选部902比较存储器中保存的优先级阈值903的值与流控单位的优先级,判定流控单位的优先级是否在预先确定的优先级以上(S902)。在此,对于流控单位的优先级的值,例如低延迟传输的请求的程度越高则被设定为越高的值,作为优先级高的流控单位进行处理。
如果流控单位的优先级的值为预先确定的优先级以上,则流控单位分选部902将包含该流控单位的信息流(flow)判定为是进行旁路处理的信息流,使作为对象的业务流进行旁路(S905)。被旁路的业务流被发送至高优先级业务流计测部1003之后,进行传输。
另一方面,如果优先级的值小于预先确定的优先级,则头部流控单位解析部901读取头部流控单位的经过时间信息的记述(S903)。接下来,流控单位分选部902比较存储器中保存的截止时刻信息904和流控单位的经过时间信息,判定流控单位是否在截止时刻之前被传输(S904)。在经过了截止时刻的情况下判断为是紧急度高的数据,流控单位分选部902进行旁路传输(S905)。在没有经过截止时刻的情况下,判断为是紧急度低的数据,不进行旁路传输。
头部流控单位中记述的优先级的值可基于数据的紧急度、重要度在设计时决定。例如,如影像、声音之类的被要求低延迟传输的数据、通知用户所操作的指令或系统异常的信息那样,对紧急度高的数据赋予高的优先级。相反,对文件传送、后台进行处理的应用数据等,紧急性比较低的数据赋予低的优先级。
头部流控单位中记述的经过时间信息是由进行数据发送的总线主控器101赋予的。经过时间信息既可以是绝对的记述(例:○时△分×秒),也可以是相对的记述(例:○○秒以内)。
再者,也可以是不使用截止时刻而是每次通过中继器就变更优先级的结构。在各中继器中,对于截止时刻越近的数据,将优先级设定得越高,由此即便不使用截止时刻的信息,也能够使紧急度高的数据进行旁路。例如,将中继器内的滞留时间长的数据的优先级重新分配为高的优先级,从而不使用截止时刻,仅使用优先级的信息也能够获得与上述同样的效果。
此外,流控单位分选部902也可以构成为:仅在头部流控单位的优先级以及经过时间信息的双方分别超过优先级阈值903以及截止时刻904的情况下进行旁路。或者,也可以如图5A所示那样,设置2个种类的旁路的路径(旁路BP1、旁路BP2),按照根据优先级以及紧急度来选择其中一个的方式来构成流控单位分选部902。例如,也可以构成为:在优先级以及经过时间信息的双方超过阈值的情况下,选择不经由输出缓冲器606的旁路BP2,在优先级以及经过时间信息的任意一个超过阈值的情况下选择经由输出缓冲器606进行传输的旁路BP1。通过这种的结构,能够更为快速地传输紧急度、重要度高的数据。
在本实施方式中,优先级以及经过时间信息被用作表示流控单位的低延迟传输的请求度的高低的评价指标,本发明并不限于该例。也可以取代优先级、经过时间信息,将所传输的业务流的分组长、从发送节点至接收节点所通过的中继器数(中继级数)设为评价指标。例如,通过优先传输分组长较短、中继级数较少的分组,由此能够提高旁路的效果。此外,在总线主控器101或者中继器600中,也可以将表示进行旁路的分组的标记设置在头部流控单位,从而能够判断是否要旁路。
或者,也可以根据发送节点与接收节点的对应关系(例如,仅使特定的总线主控器的存储器访问进行旁路)、业务流的种类来判定是否进行旁路。使用这些信息来限定使其旁路的路径,不需要具有没必要的旁路路径,能够避免设计变得复杂。
在本实施方式中,设想了图5A所示的旁路方式,但中继器中的旁路方式并不限定于这种例子。既可以是动态地确保进行旁路的传输通路的方式,也可以是预先在设计时确保进行旁路的传输通路的方式。此外,也可以采用如图5A所示这种为了避免传送处理而在物理上使布线独立的方式以外的方式。具体而言,可以是非专利文献1中公开的、针对特定的收发节点间的业务流传输使路由处理等省略或者并行化从而实现低延迟化的方式。此外,作为中继器的结构,也可以是设置多个缓冲器,根据赋予分组的优先级信息、经过时间信息等对多个缓冲器分配分组,优选传输特定的缓冲器中所保存的分组的方式。再有,还可以是预约特定的期间、特定的缓冲器来确保传输路径实现低延迟化的方式。
<5.3.旁路通知判定>
接下来,说明图7的步骤S807中进行的是否进行旁路通知的判定的具体处理、以及步骤S808中的旁路通知的具体处理。
图9A是表示将旁路通知向相邻的中继器900a进行通知的处理的流程的图。再者,在以下的说明中,所谓“高优先级业务流”是指在图7所示的步骤S802中判定为应该进行旁路的业务流。
图5B所示的缓冲器选择部603的高优先级业务流计测部1003,对被旁路的高优先级业务流的传输量进行计测(S1001),将计测结果发送至旁路通知判定部1001。旁路通知判定部1001,判定业务流的每单位时间的传输量是否超过预先确定的传输量的阈值(S1004)。在判定为超过了传输量的阈值的情况下,旁路通知判定部1001判断为对没有旁路的业务流的影响变大,决定旁路通知范围和通知间隔,对其他的中继器进行旁路通知(S1007)。再者,传输量的阈值包含在业务流阈值907的信息中。
通过将旁路通知分组发送至前级的相邻中继器600a从而进行旁路通知。对于旁路通知分组的构造在后面叙述。
在此,考虑从图3的网络结构脱离、中继器600被进一步多级连接的结构。即、考虑在从总线主控器101至存储器105的各传输路径上,多个中继器600串行地中继业务流的结构。
在这种的结构中,在一个中继器判断为进行旁路通知的情况下,旁路通知范围例如由以下方法决定。将1万周期作为单位时间,在单位时间中旁路用的传输通路的物理频带之中1/4以上的频带被高优先级业务流占用的情况下,直至1跳跃(hop)目的地的中继器进行旁路通知。在1/2以上的频带被高优先级业务流占用的情况下,直至2跳跃目的地的中继器进行旁路通知。在3/4以上的频带被高优先级业务流占用的情况下,直至与总线主控器101连接的中继器进行旁路通知。通过以上的方法,根据进行了旁路处理的中继器中的旁路用的传输通路的传输负荷,能够灵活地改变旁路通知范围。其结果,接收到旁路通知的其他中继器能够实施发出了通知的中继器中的业务流干扰的缓解对策。再者。对于接收到旁路通知分组的中继器的动作,在后面叙述。
此外,关于通知间隔,例如由以下的方法决定。将1万周期作为单位时间,仅在单位时间内检测到通过旁路的高优先级业务流的情况下进行旁路通知。通过这种方法,在高优先级业务流被频繁检测到的情况下,以短的通知间隔进行旁路通知。相反,在高优先级业务流没有被频带检测的情况下,以长的通知间隔进行旁路通知。其结果,在业务流干扰的频度较高的情况下,能够立即进行抑制业务流干扰的处理。相反,在业务流干扰的频度较低的情况下,能够在减少旁路通知的消息的同时,抑制业务流干扰。
缓冲器选择部603中的高优先级业务流计测部1003,对高优先级业务流不中断地持续通过旁路的时间(中继持续时间)进行计测(S1002),将计测结果发送至旁路通知判定部1001。旁路通知判定部1001判定被旁路的业务流的中继持续时间是否超过预先确定的阈值(S1005)。在判定为中继持续时间超过了阈值的情况下,旁路通知判定部1001判断为对不进行旁路的业务流的影响变大,决定旁路通知范围和通知间隔,并对其他中继器进行旁路通知(S1007)。再者,中继持续时间的阈值也包含在业务流阈值907的信息中。
旁路通知范围例如由以下的方法决定。将1万周期设为单位时间,在单位时间中高优先级业务流通过旁路的时间超过了单位时间的1/4的情况下,直至1跳跃目的地的中继器进行旁路通知。在单位时间中高优先级业务流通过旁路的时间超过了单位时间的1/2的情况下,直至2跳跃目的地的中继器进行旁路通知。在单位时间中高优先级业务流通过旁路的时间超过了单位时间的3/4的情况下,直至与总线主控器连接的中继器进行旁路通知。通过以上的方法,能够根据进行了旁路处理的中继器中的旁路用的传输通路的传输负荷,灵活地改变旁路通知范围。其结果,接收到旁路通知的其他中继器能够实施发出了通知的中继器中的业务流干扰的缓解对策。
再者,对于通知间隔,只要通过与上述高优先级业务流的传输量超过了阈值的情况同样的方法来决定即可。
进而,缓冲器选择部603的缓冲器使用量计测部1002进行输入缓冲器604以及/或者输出缓冲器606的缓冲器使用量的计测(S1003),将计测结果发送至旁路通知判定部1001。旁路通知判定部1001判定缓冲器使用量是否超过预先确定的阈值(缓冲器阈值905)(S1006)。在判定为缓冲器使用量超过了预先确定的阈值的情况下,旁路通知判定部1001判断为因旁路的影响而对不进行旁路的业务流的影响变大,并且决定旁路通知范围和通知间隔,向其他中继器进行旁路通知(S1007)。
旁路通知范围例如由以下方法决定。将1万周期设为单位时间,如果输入缓冲器604(或者、输出缓冲器606)的空置容量为全体的3/4以上,则直至1跳跃目的地的中继器进行旁路通知。如果单位时间中的输入缓冲器(或者输出缓冲器)的空置容量为全体的1/2以上,则直至2跳跃目的地的中继器进行旁路通知。在单位时间中的输入缓冲器(或者输出缓冲器)的空置容量低于全体的1/2的情况下,直至与总线主控器连接的中继器进行旁路通知。通过以上的方法,能够根据输入缓冲器以及/或者输出缓冲器的空置容量来灵活地改变旁路通知范围。其结果,接收到旁路通知的其他中继器能够实施发出了通知的中继器中的没有被旁路的业务流的干扰的缓解对策。
对于通知间隔,以与上述的高优先级业务流的传输量超过了阈值的情况同样的方法来决定即可。
再者,也可以是根据缓冲器中的等待时间来进行判定的方法,而不是根据缓冲器的使用量。在缓冲器容量小的情况下,较之使用量,以等待时间进行评价的方式有时更容易反映出中继器中的拥挤状况。
旁路通知分组的通知范围的指定能够以例如以下的方法实现。首先,旁路通知判定部1001将通过上述方法决定的跳数作为“中继次数”记述在头部流控单位中发送至前级中继器。接收到旁路通知分组的中继器从中继次数的值中减去规定的值,进而向前级中继器传送旁路通知分组。这样,按照每次通过中继器对中继次数的值进行减法运算,在中继次数的值为0以下的阶段中止旁路通知分组的传送的方式来构成各中继器,由此能够实现通知范围的指定。此外,作为通知方向,在从总线主控器101向存储器105传输的去路的业务流中,如上述那样只要向作为发送源的总线主控器101侧发送旁路通知分组即可。另一方面,在从存储器105向总线主控器101传输的回路的业务流中,只要向作为发送目的地的存储器105侧发送旁路通知分组即可。这样,将通知方向限定为作为发送源的总线主控器101侧、或者作为发送目的地的存储器105侧,能够在与负荷高的中继器之间有效地进行消息通知,因此能够削减通知消息。
再者,在图9A所示的例子中,并行地进行高优先级业务流的传输量的计测、中继持续时间的计测、以及缓冲器使用量的计测,但是也可以串行地进行这些计测。在串行地进行的情况下,可以在任意的判定中超过了阈值的情况下发送旁路通知,也可以仅在全部的判定中超过了阈值的情况下发送旁路通知。
图9B是表示串行地进行各判定的情况下的处理的一例的图。在该例子中,旁路通知判定部1001在任意的判定中超过了阈值的情况下进行旁路通知。首先,旁路通知判定部1001从高优先级业务流计测部1003获取高优先级业务流的传输量的信息(S2001)。接下来,判定高优先级业务流的传输量是否超过阈值(S2002)。在判定为传输量超过了阈值的情况下,旁路通知判定部1001决定旁路通知范围(跳数)和通知间隔,对其他中继器进行旁路通知(S2007)。在判定为高优先级业务流的传输量没有超过阈值的情况下,旁路通知判定部1001从高优先级业务流计测部1003获取高优先级业务流的中继持续时间的信息(S2003)。接着,判定中继持续时间是否超过规定的阈值(S2004)。在判定为中继持续时间超过了阈值的情况下,旁路通知判定部1001对其他中继器进行旁路通知(S2007)。在判定为中继持续时间没有超过阈值的情况下,旁路通知判定部1001从缓冲器使用量计测部1002获取缓冲器使用量的信息(S2005),判定缓冲器使用量是否超过了阈值(S2006)。在判定为缓冲器使用量超过了阈值的情况下,进行旁路通知(S2007)。在判定为缓冲器使用量没有超过阈值的情况下,判定为传输负荷低,处理结束。这样,通过串行地进行各判定,在最初的判定处理中决定了进行旁路通知的情况下可省略其他的判定处理。
此外,如影像数据那样,振幅大、且连续的业务流有时瞬间传输。这种的业务流(突发业务流)对其他的业务流引起业务流干扰,因此影响较大。因此,除了上述的判定基准以外,还可以基于例如中继持续时间中的业务流的最大振幅、发送间隔来判断是否进行旁路通知。再者,所谓振幅是指每单位时间所传输的数据量,所谓发送间隔是指连续发送的分组间的时间间隔。是否进行旁路通知的判定方法、以及通知范围以及通知间隔的决定方法并不限于上述的例子,可以是任意的方法。
再者,在以上的说明中,示出了进行是否进行图7的S807所示的旁路通知的判定时的例子,但是在本发明中也可以省略相当于步骤S807的处理。即、在步骤S802中判定为进行旁路的情况下,可以始终进行旁路通知。
图10是表示旁路通知分组1100的结构例的图。如前述,在旁路通知分组1100的开头中记述发送源地址1101和发送目的地地址1102。此外,旁路通知分组1100具有表示是旁路通知的消息的识别符1103以及表示中继次数的信息1104。作为旁路通知分组的通知方法,既可以对相邻的中继器进行多播通知,也可以仅对发送业务流的中继器进行通知。再者,在图10所示的例子中,通过中继次数来指定通知范围,但也可以是直接记载时刻的方法、或者记述从发送开始的经过时间并以时间限制进行通知的中继器范围。
将这种旁路通知分组1100发送至周围的其他中继器,由此接收到旁路通知分组1100的其他中继器能够知道在传送目的地产生了旁路。其结果,为了避免延迟,例如能够进行改变传输路径等的应对。由此,能够缓和传输延迟。
<5.4.接收到旁路通知的中继器的动作>
接下来,说明接收到旁路通知的中继器所执行的动作的例子。在以下的说明中,为了容易理解,以图11的结构为例进行说明,而不是以图3的结构为例。
图11表示能够从多个总线主控器101经由多个中继器600来访问多个存储器105的蝶形网。蝶形网中,从总线主控器101至存储器105无论经由哪个中继器在逻辑上都是等距离的。在图11所示的例子中,仅从总线主控器101至存储器105直线前进的业务流(实线)成为旁路对象。在此,所谓直线前进的业务流是指,例如在各中继器中经由第1个输入输出端口进行传输的业务流。另一方面,在不是从总线主控器直行至存储器的传输路径中不进行旁路处理。根据这种的结构,能够削减中继器的旁路所需的布线。即便不采用蝶形网,而是采用网格状网这种的其他网络拓扑的情况下,也可以根据节点配置(总线主控器的配置以及存储器的配置)的关系来决定旁路的有无。
图12是用于说明以下的说明中利用的网络模型(简易网络模型)的图。在以下的说明中采用的网络模型是如图12(c)所示从发送源(节点A)至发送目的地(节点D)存在2个路径的网。节点B以及节点C是进行中继的节点。该网络模型中,能够根据需要选择2个传输路径之中的一个。
图12(a)是图11所示的蝶形网,与图12(c)建立对应来表示发送源、中继、发送目的地的各节点的对应关系的一例。再者,本实施方式的中继器并不限于图3、图11所示的网络,在图12(b)所示的这种网格状网中也同样适用。图12(b)表示网格状网的一例,同样与图12(c)建立对应表示发送源、中继、发送目的地的各节点的对应关系的例子。在以下的说明中,利用图12(c)所示的简易网络模型来简单地表示图12(a)、(b)这种的发送源、中继、发送目的地的关系。不过,本发明并不限定于这种简易网络模型。此外,发送源以及发送目的地并不限定于图12所示的例子,例如发送源可以是接收节点(例如存储器)。
图13A是基于简易网络模型来表示在本实施方式中的中继器接收到旁路通知的情况下所设想的路径的图。首先,在路径上的中继器(节点C)发生旁路处理时,((1)旁路发生),中继器(节点C)对作为业务流的发送源的中继器(节点A)发送旁路通知的消息((2)通知)。发送源的中继器(节点A)接收到旁路通知时,变更路径,经由中继器(节点B)向作为发送目的地的中继器(节点D)传输数据((3)迂回)。图13A表示节点A变更路径时的例子,但节点A也可以如后述那样不是路径的变更,而是通过调整发送流量来应对。
图13B是表示节点A的路由处理部607所管理的路径信息的图。在图示的路径信息中,记述了从发送源的中继器(节点A)至其他的各中继器(节点B、节点C、节点D)的传输路径。中继器(节点A)基于该路径信息来决定路径。各中继器的路由处理部607管理同样的路径信息。
图14是表示接收到旁路通知的中继器(节点A)的动作的流程图。首先,缓冲器选择部603读取所接收到的分组的识别符1103,判别该分组是旁路通知分组1100(S1201)。
接下来,缓冲器选择部603判断是否切换路径(使用迂回路径)(S1205)。在判断为使用与采用迂回路径进行旁路的业务流不同的路径的情况下,基于旁路通知分组1100中记述的发送源信息,路由处理部607选择迂回路径
Figure BDA00003282885400341
的路径)(S1202)。接下来,针对新设定的迂回路径,执行缓冲器分配器608、开关分配器609的传送处理,实施迂回传输((3)迂回)(S1203)。
在缓冲器选择部603判断为使用与不采用迂回路径进行旁路的业务流相同的路径的情况下,中继器(节点A)根据旁路通知分组的接收定时来控制来自输出缓冲器606的发送定时(S1204)。
接收到旁路通知的中继器(节点A)基于从执行了旁路处理的中继器(节点C)通知的旁路通知分组的接收间隔,来进行是否使用迂回路径的判定。具体而言,接收到旁路通知分组的节点A在头部流控单位解析部901中判断为该分组是旁路通知分组时,将其传送至旁路通知判定部1001。旁路通知判定部1001在旁路通知分组的接收间隔为规定阈值以上的情况下,判断为业务流干扰的影响不大,按照对于没有进行旁路的业务流使得从输出缓冲器606的发送间隔变大的方式来指示输出缓冲器606。由此,按照从节点A至节点C的发送流量变小的方式被控制(流量制限)。
相反,在旁路通知分组的接收间隔低于规定阈值的情况下,节点A的旁路通知判定部1001判定为没有进行旁路的业务流和进行旁路的业务流之间的业务流干扰的影响较大。进而,发送源(节点A)的旁路通知判定部1001使发送源(节点A)的路由处理部607搜索迂回路径。基于该迂回路径,使发送源(节点A)的缓冲器分配器608、发送源(节点A)的开关分配器609进行动作,改变没有进行旁路的业务流的传输路径从而防止业务流干扰。再者,接收间隔的阈值也可以在预先设计时凭借经验来决定。
如以上,接收到旁路通知分组的中继器根据其接收间隔通过路径的切换或者发送定时的调整来应对。由路径的切换带来的效果和由发送定时的调整带来的效果之间的差异如以下所示。在切换路径的情况下,由于路径的切换而发生延迟,但能够抑制被旁路的业务流和没有被旁路的业务流的业务流干扰的影响。相反,在进行发送定时的调整的情况下,不发生因路径的切换引起的延迟,但是有可能产生被旁路的业务流和没有被旁路的业务流的业务流干扰的影响。但是,即便使用迂回路径的情况下,也有可能存在切换之后的路径中的业务流干扰成为问题的情况。
再者,缓冲器选择部603也可以不是根据旁路通知分组的接收间隔来进行路径的切换或者发送定时的调整,而是通过其他的方法进行判断。例如,可以基于由缓冲器使用量计测部1002计测的输出缓冲器605的缓冲器使用量以及缓冲器使用时间的至少1个信息,来进行路径的变更或者流量的调整。
根据本实施方式,可以加入因切换路径所引起的风险(切换延迟、切换之后的路径中的业务流干扰),同时适当地抑制与被旁路的业务流之间的业务流干扰的影响。在应用切换路径的手段的情况下,在事先计测切换目的地的路径的传输负荷之后,仅在传输负荷小的情况下进行路径切换。这样,则能够抑制切换之后的路径中的业务流干扰的发生。再者,也可以不是进行切换路径的处理和调整流量的处理的其中一方,而是并用二者。
在以上的说明中,作为切换路径的处理,具体示出了切换至发送目的地相同的迂回路径的例子,但是也可以与传输路径一起变更发送目的地。例如,进行了旁路处理的中继器向发送节点进行旁路通知,发送节点选择新的发送目的地(例如成为数据写入目的地的存储器)。此外,也可以仅对正进行旁路处理的中继器中输入的预定的业务流进行路径的切换。换言之,将没有输入至正进行旁路处理的中继器的业务流从路径切换的对象中排除。再有,发送节点也可以根据旁路通知,针对经由正进行旁路处理的中继器的预定的业务流,变更路径或发送目的地,以回避发生了旁路的路径。
接下来,参照图15A~15C,说明本实施方式中的旁路通知的范围、接收到旁路通知的中继器的动作的具体例。在图15A~15C中,涂色进行表示的中继器1305表示进行旁路处理以及旁路通知处理的中继器,以斜线示出的中继器表示旁路通知的发送范围。
图15A表示从进行了旁路处理的中继器1305至相离1跳跃的中继器1306进行旁路通知的例子。在该例中,从中继器1301发生的业务流1302在中继器1305中被旁路,传输至存储器。此外,从中继器1303发生的业务流1304没有被旁路经由中继器1305而被传输至与业务流1302相同的存储器。在该情况下,从中继器1305接收到旁路通知的中继器1306,传输抑制了业务流1304的发送流量的业务流1307。业务流1307较之当初所预定的业务流1304,其流量受到制限,但能够降低与被旁路的业务流1302之间的干扰。
图15B示出了从进行旁路处理的中继器1305至相离2跳跃的中继器1306进行旁路通知的例子。在该例子中,从中继器1301发生的业务流1302在中继器1305被旁路,传输至存储器。此外,从中继器1303发生的业务流1304没有被旁路,经由中继器1305传输至与业务流1302相同的存储器。在该情况下,从中继器1305接收到旁路通知的中继器1306,选择不经由中继器1305而朝向相同目的的存储器的迂回路径来传输业务流1307。其结果,不会受到中继器1305中的旁路处理的影响,可将数据传输至目的的存储器。
图15C示出了直至与总线主控器连接的中继器1306进行旁路通知的例子。在该例中,从中继器1301发生的业务流1302在中继器1305被旁路,传输至存储器。此外,从中继器1303发生的业务流1304经由中继器1305,被传输至与业务流1302相同的存储器。在该情况下,从中继器1305接收到旁路通知的中继器1306(1303)向与传输业务流1302的存储器不同的存储器传输业务流1307(或者中断业务流的传输)。
如上述,也可以根据进行旁路处理的中继器1305和接收到旁路通知的中继器1306之间的距离(跳数),在设计时设定好接收到旁路通知的中继器1306的动作(发送流量的调整、迂回、发送目的地变更等)。
<5.4.针对没有被旁路的业务流的动作>
接下来,说明与没有进行旁路处理的业务流对应的中继器600的动作。
本实施方式中的中继器在针对一部分的业务流进行了旁路处理的情况下,为了防止业务流干扰,进行如下的控制(传输控制),变更设定了与没有被旁路的业务流相同的发送目的地的、没有被旁路的业务流的传输路径,或者调整发送流量等。该控制基于旁路业务流和非旁路业务流汇合的中继器的传输状态来执行。具体而言,在图3所示的结构中,在自中继器600b内的输出缓冲器606或者后级的相邻中继器600c的输入缓冲器中旁路业务流与非旁路业务流汇合。因此,基于自中继器600b或者后级的相邻中继器600c的传输状态来进行传输控制。该控制例如基于自中继器600b的输出缓冲器606或者相邻中继器600c的输入缓冲器的使用量(空置容量)、使用时间等的传输状态来执行。在本说明书中,所谓中继器的“传输状态”是指,缓冲器(输入缓冲器604或者输出缓冲器606)的空置容量、使用量、等待时间、吞吐量、传输效率这种的表示传输品质的信息。此外,也可以将旁路业务流的传输量作为传输状态来处理。
另一方面,在例如图1A所示的结构中,从总线主控器1a传输的非旁路业务流、和从总线主控器1b传输的旁路业务流在中继器R9中汇合。在该情况下,中继器R9只要基于自身的传输状态进行非旁路业务流的传输控制即可。在该例子中,中继器R9跳过直接连接的相邻中继器R8在更靠前的中继器R7中进行旁路。因此,在中继器R7中旁路业务流和非旁路业务流也汇合。因此,中继器R9也可以构成为还考虑中继器R7的传输状态来进行非旁路业务流的传输控制。在图1A所示的状况中,途中的路径上的中继器R8也可以基于中继器R7的传输状态来进行非旁路业务流的传输控制。
此外,在图1B所示的状况中,仅在与发送目的地的存储器5连接的中继器R7中,发生旁路业务流与非旁路业务流的汇合。因此,对非旁路业务流进行中继的中继器R8、R9,构成为基于传输目的地的中继器R7的传输状态进行针对非旁路业务流的传输控制。
在上述的图1A、1B所示的例子中,中继器R8、R9需要知道表示已发生拥挤的中继器R7的传输状态的信息。作为用于此的方法,例如可采用以下的方法。首先,发送源的总线主控器1a在向发送目的地的存储器5传输非旁路业务流的数据之前,向存储器5进行与存储器容量等的信息相关的询问,从存储器5接收与该信息相关的应答。此时,在传输路径上旁路业务流和非旁路业务流汇合的中继器R7,将表示自身的传输状态的信息附加于表示来自存储器5的应答的信息中,返回至总线主控器1a。接收到应答的总线主控器1a在判断为能够向存储器5发送数据的情况下,向要发送的数据附加表示中继器R7的传输状态的信息,向存储器5传输该数据。传输路径上的中继器R9、R8基于接收到数据中所附加的表示中继器R7的传输状态的信息,进行针对该数据的传输控制。这样一来,中继器R8、R9可基于被设想为发生了拥挤的中继器R7的传输状态,来进行非旁路业务流的传输控制。
再者,上述的方式是一例,只要是能够将表示旁路业务流与非旁路业务流汇合的中继器中的传输状态的信息通知给其他中继器的方式,可以采用任意的方式。例如,在旁路业务流与非旁路业务流汇合的中继器中发生了数据延迟的情况下,向该中继器传送数据的中继器由于无法确保传送目的地的缓冲器,因此在此也会发生数据的延迟。于是,由于连带地拥挤状况会传播至上游的中继器,因此各中继器能够知道在数据传输目的地的哪个中继器中发生了拥挤。在该例子中,可以说旁路业务流与非旁路业务流的汇合的影响,通过传送目的地的中继器的缓冲器无法确保这一状况来通知。
图16是用于说明与不进行旁路处理的业务流对应的中继器的处理的图。图16基于简易网络模型表示本实施方式中的中继器变更不进行旁路处理的业务流的传输路径的情况。首先,发送源的中继器A设想经由中继器C而向发送目的地的中继器D传输数据的状况((1)发送)。在数据传输中,中继器A使一部分的业务流进行旁路时((2)旁路发生),中继器A为了抑制业务流间的干扰,将没有使其旁路的业务流的传输路径变更为经由中继器B的路径((3)迂回)。再者,在该例子中,以发送目的地(中继器D)具备即便从2个路径同时传输业务流也能够同时接收业务流的能力为前提。因此,即便从2个路径同时传输,在发送目的地(中继器D)中也不会发生拥挤。
再者,图16表示中继器A变更非旁路业务流的路径的情况下的例子,如后述,还存在中继器A不变更路径而调整发送流量的情况。在本实施方式中,是变更路径还是调整发送流量,由缓冲器选择部603的旁路通知判定部1001基于输出缓冲器606的使用量来进行判断。作为调整发送流量的方法,例如,可进行直至旁路业务流的传输完成为止使发送开始定时延迟、或者使发送中断一定时间等的处理。
图17A是表示进行了旁路处理的中继器A对非旁路业务流进行的动作的流程图。首先,在业务流传输中,设想在发送中的路径上针对其他的业务流进行旁路处理(S1301)。于是,旁路通知判定部1001通过后述的方法判定针对非旁路业务流是切换路径(采用迂回路径)、还是调整发送流量(S1305)。在旁路通知判定部1001判定为切换路径的情况下,旁路通知判定部1001向路由处理部607发送用于指示路径切换的控制信号。路由处理部607接收控制信号来选择迂回路径
Figure BDA00003282885400391
的路径),决定与迂回路径对应的输出端口(S1302)。接下来,执行基于缓冲器分配器608、开关分配器609的传送处理,执行利用了迂回路径的传输((3)迂回)(S1303)。在旁路通知判定部1001判定为不使用迂回路径的情况下,旁路通知判定部1001向输入缓冲器604发送用于指示发送定时的控制信号。输入缓冲器604基于控制信号来调整发送流控单位的定时(S1304)。
是否使用迂回路径的判定(S1305)例如通过图17B所示的步骤来进行。首先,缓冲器使用量计测部1002计测输出缓冲器606的缓冲器使用量(S1306)。接着,旁路通知判定部1001基于所计测的输出缓冲器606的使用量(缓冲器使用量),来判定是否进行迂回(S1307)。具体而言,将1万周期设为单位时间,在缓冲器的空置容量多的情况下(例如输出缓冲器606的空置容量为物理容量的1/2以上的情况下),旁路通知判定部1001判断为业务流干扰的影响不大,不变更路径而调整发送定时。此时,旁路通知判定部1001针对输入缓冲器604按照从输入缓冲器604发送未旁路的业务流的间隔变大的方式进行指示。由此,从交叉总线交换器605以及输出端口617输出的业务流的发送间隔变大,业务流的传输流量被抑制。
另一方面,在缓冲器的空置容量少的情况下(例如输出缓冲器的空置容量低于物理容量的1/2的情况下),旁路通知判定部1001判断为业务流干扰的影响大。为了立即抑制业务流干扰的影响,旁路通知判定部1001使路由处理部607搜索迂回路径。在路由处理部607搜索出迂回路径时,基于该迂回路径,缓冲器分配器608以及开关分配器609执行传送处理。由此,没有被旁路的业务流的传输路径被变更,能够防止业务流干扰。
再者,上述判定仅仅是一例,判定方法可以根据设想的传输延迟来适当设计。例如,可以采用如下结构,即:在输出缓冲器的空置容量为物理容量的2/3以上的情况下不进行任何动作,在1/3以上低于2/3的情况下进行流量的调整,在低于1/3的情况下进行路径变更。再者,在上述的说明中表述为缓冲器的“空置容量”,但表述为缓冲器的“使用量”也是同样的。此外,由于计测每单位时间的缓冲器的使用量,因此可以基于“吞吐量”或者“传输效率”来进行判定。即便使用这些的任意表述,但仍表示与上述同样的处理内容。
此外,也可以不计测输出缓冲器606的使用量,而计测输出缓冲器606中的等待时间,利用该计测结果进行与上述同样的控制。在缓冲器容量小的情况下,较之以缓冲器使用量进行评价,有时以缓冲器的等待时间进行评价则更容易反映出中继器中的拥挤状况。
作为基于缓冲器的等待时间的例子,也可以采用如下的结构,即:在缓冲器的等待时间低于10周期的情况下,不进行任何动作,在10周期以上低于50周期的情况下进行流量的调整,在50周期以上的情况下进行路径变更。例如,从自中继器接收到头部流控单位504的时间点开始计数,在将尾部流控单位506发送至传送目的地的中继器之后进行复位,由此能够计测缓冲器的等待时间。为了简化处理,也可以构成为仅对高优先级业务流进行等待时间的计数。
这样,在本实施方式中,缓冲器选择部603按照基于自中继器的传输状态来变更非旁路业务流的传输路径以及传输流量的至少一方的方式控制交叉总线交换器605的输出。再者,本发明并不限于这种例子,只要如上述那样构成为基于旁路业务流与非旁路业务流汇合的中继器的传输状态来进行非旁路业务流的传输控制即可。在此,所谓“传输状态”如上述那样是指缓冲器的空置容量、使用量、等待时间、吞吐量、传输效率等。此外,也可以对旁路业务流的传输量进行计测,基于其传输量来进行针对非旁路业务流的上述控制。
由路径的切换带来的效果和由发送定时的调整带来的效果的差异如以下所示。在切换路径的情况下,尽管由于路径的切换而发生延迟,但是能够抑制被旁路的业务流和没有被旁路的业务流的业务流干扰的影响。相反,在进行发送定时调整的情况下,尽管没有发生因路径切换引起的延迟,但是有可能产生被旁路的业务流和没有被旁路的业务流的业务流干扰的影响。但是,在使用迂回路径的情况下,也可能存在切换之后的路径中的业务流干扰成为问题的情况。
根据本实施方式,可以加入因切换路径而引起的风险(切换延迟、切换的路径中的业务流干扰),同时适当地抑制旁路业务流与非旁路业务流之间的干扰的影响。在采用切换路径的手段的情况下,可以事先计测切换目的地的路径的传输负荷,并且仅在传输负荷小的情况下进行路径切换。这样,能够更为有效地抑制切换目的地的路径中的业务流干扰的发生。再者,也可以不是进行切换路径的处理和调整流量的处理的其中一方,而是并用双方。例如,在切换目的地的路径的传输负荷大的情况下,可以在切换后进一步将发送流量调整得变少。
在以上的说明中,示出了在切换路径的情况下切换至接收节点(例如成为数据的写入目的地的存储器)相同的迂回路径的例子,但是也可以与传输路径一起变更接收节点。例如,可以构成为:进行了旁路处理的中继器向发送节点通知进行了旁路处理,并且接收到通知的发送节点选择新的接收节点。此外,路径的切换或者流量的调整也可以仅针对正进行旁路处理的中继器中被输入的预定的业务流来进行。换言之,将没有输入至正进行旁路处理的中继器的业务流从路径切换或者流量调整的对象中排除。进而,发送节点可以针对经由正进行旁路处理的中继器的预定业务流,按照回避发生了旁路的路径的方式来变更路径、发送目的地。
图18A、18B是用于说明发送流量调整、迂回、以及发送目的地变更的具体例的图。图18A是表示在从1个总线主控器向1个存储器传输业务流13001~13003时,进行了旁路处理的中继器13004抑制发送流量的例子。在业务流13001被中继器13004进行了旁路的情况下,对于没有被旁路的业务流13002、13003,从中继器13004的输出缓冲器606输出的流量受到抑制。再者,在该例子中,以发送目的地具备即便从2个路径同时传输业务流也能同时接收业务流的能力为前提。因此,即便从2个路径同时传输业务流,在发送目的地也不会发生拥挤。
图18B是表示在从不同的多个总线主控器向同一存储器传输业务流13001~13003时,由进行了旁路处理的中继器13004进行迂回或发送目的地(存储器)的变更的例子的图。在业务流13001由中继器13004进行旁路时,没有旁路的业务流13002、13003的路径被变更。在此,对于业务流13003,其发送目的地的存储器也被变更。在进行发送目的地的变更的情况下,进行了旁路处理的中继器向发送源的总线主控器进行新的发送目的地的询问,反映出其结果来进行发送目的地的变更。进行了旁路处理的中继器13004进行路径变更、流量调整、发送目的地变更的哪一个的判断基准,可以在设计时对每个中继器来决定。
如以上,本实施方式的中继器600通过进行针对旁路通知处理以及非旁路业务流的传输控制,能够减少伴随着旁路处理的业务流的拥挤。在本实施方式中,进行旁路通知处理以及对非旁路业务流的传输控制的双方,但也可以按照仅进行其中一方的方式来构成中继器。即便是这种结构,也可以获得某种程度的效果。
在以上的说明中,中继器600的各结构要素表示为被模块化的单独的功能部,但也可以使中继器600中安装的处理器(计算机)执行规定这些功能部的处理的程序,从而实现中继器600的动作。这种程序的处理步骤例如图7、8、9A、9B、14、17A、17B的流程图中所记载那样。
<6.变形例>
<6.1.不设置输出缓冲器的结构>
在图5A所示的结构中,中继器600b具备输出缓冲器606,但也可以如上述那样不具备输出缓冲器606。图19A示出了中继器600b不具备输出缓冲器606,交叉总线交换器605的输出被输入至后级的相邻中继器600c的缓冲器选择部603c的结构例。根据这种的结构,由于能够抑制存储器量,因此在嵌入用途中是有效的。
在不设置输出缓冲器606的情况下,只要基于后级的相邻中继器600c中的输入缓冲器的使用状况进行上述传输控制即可。例如,由缓冲器使用量计测部1002计测后级的相邻中继器600c的输入缓冲器的使用量以及等待时间的至少一个,基于计测值来判断是变更路径还是调整流量。
<6.2.外部布线>
此外,在以上的说明中,如图5A所示,示出了在中继器600b内进行旁路的例子(内部布线),但也可以按照在中继器600b的外部传输旁路业务流的方式进行布线(外部布线)。图19B是表示在中继器600b的外部进行布线来旁路的结构例的图。在该例子中,缓冲器选择部603通过旁路路径BP3、BP4向中继器600b的外部的中继器或者存储器105传输业务流。
在基于内部布线的结构中,由于按每个中继器闭合旁路处理,因此作为中继器的处理模块的再利用性高。即,将各个中继器作为一个部件进行更换较为容易。但是,由于需要在直至发送目的地的中继器的全部进行中继,因此容易产生处理的开销。相反,在基于外部布线的结构中,较之基于内部布线的情况,作为中继器的处理模块的再利用性低。但是,由于无需直至发送目的地的全部中继器进行中继,因此能够减少处理的开销。
图20是表示利用外部布线进行旁路的具体的应用例的图。图20中,表示使用图12(b)所示的网格状型的网络结构的情况下的例子。在此,如图20(a)所示,由于功能扩展,因此考虑将新的总线主控器101a连接于网络的情况。此外,设想从总线主控器101a至存储器105a的延迟时间成为问题的情况等,为了减少进行中继的中继器数,考虑新追加旁路路径BP(b)。
从进行旁路的总线主控器101a发生的业务流,按照能够识别出是进行了旁路的业务流的方式,使头部流控单位的标记有效来进行传输。接收到该头部流控单位的中继器R7为了抑制向进行了旁路的总线主控器101a想要访问的存储器105a的流入量,对相邻的中继器R4、R8发送旁路通知的消息。接收到旁路通知的相邻中继器R4、R8读取消息中记述的通知范围,根据需要还向其他的中继器以及/或者总线主控器发送消息。
接收到旁路通知的中继器或者总线主控器,通过进行变更发送量或发送目的地存储器等的控制,从而能够抑制对作为对象的存储器105a的访问。这样,通过使用旁路通知,能够将可容许的延迟时间短的总线主控器101a简单追加至已存在的网络中。
再有,根据本实施方式的中继器,由于能够根据缓冲器的使用状况来进行非旁路业务流的流量的调整、路径的变更等,因此能够实现更高的性能。图21A~21C是用于说明在中继器间设置旁路布线时的课题、使用本实施方式的中继器所产生的效果的图。图21A表示由旁路布线产生的课题。向同一发送目的地(存储器105a)传输旁路业务流50a和非旁路业务流50b的情况下,在传送目的地的中继器R7中有可能总线频带不足而发生拥挤。因此,在本实施方式中,基于发送源的中继器R9的缓冲器的空置容量、等待时间,事先变更非旁路业务流的发送量、发送目的地。在判断为通过发送量的调整能够避免拥挤的情况下,如图21B所示,中继器R9调整非旁路业务流的发送量。判断通过变更发送目的地的存储器从而能够避免拥挤的情况下,如图21C所示,中继器R9将发送目的地从存储器105a变更至存储器105b。通过进行这种处理,能够以高的吞吐量以及低的传输延迟来传输业务流。
如以上,根据本实施方式,在不进行旁路处理的数据与旁路业务流汇合的中继器(图1A所示的例中为中继器R7以及R9、图1B所示的例中为中继器R7)中向与进行了旁路处理的数据同一发送目的地进行传输的情况下,基于与旁路业务流汇合的中继器的传输状态来进行发送量的调整、路径的变更等。因此,能够事先避免直至发送目的地的路径上可能发生的拥挤。
作为旁路的方式,如上述,既可以是在中继器内进行旁路的方式,也可以是在中继器间进行旁路的方式。特别地,通过在向同一发送目的地的旁路业务流与非旁路业务流汇合的中继器中掌握包含被旁路的数据的传输量在内的传输状态,由此能够更为正确地预测直至发送目的地的拥挤状态,因此能够事先避免拥挤。再者,在1个中继器中被旁路的数据的发送目的地与没有被旁路的数据的发送目的地不同的的情况下,由于不发生因两者的竞争而产生的拥挤,因此可以不进行针对未旁路的数据的发送量的调整、路径的变更。
通过本实施方式的结构,能够事先避免在直至发送目的地的传输通路上可能发生的拥挤,容易以高的吞吐量以及低的传输延迟来传输业务流。
<6.3.其他的拓扑>
在上述说明中,以集成电路的拓扑为多级连接网的情况(图3、11)、以及网格状型的情况(图20)为例进行了说明,但是本实施方式的中继器600并不限定于多级连接网或网格状型中的利用。例如,如图22A所示,可以是将中继器排列为方格状,将末端的中继器彼此相连接的环型拓扑。此外,也可以是如图22B所示那样将总线按层级连接的拓扑。只要是将多个总线主控器经由分散型的总线而连接的拓扑,就能够与上述同样应用本实施方式的中继器。
(实施方式2)
接下来,说明本发明的第2实施方式的中继器。
在实施方式1中,以在中继器内部或者中继器间设置了旁路布线的结构为前提,但本实施方式的中继器未设置旁路的布线。在以下的说明中,将与实施方式1中的旁路业务流对应的业务流称为“高优先级业务流”,将与非旁路业务流对应的业务流称为“低优先级业务流”。高优先级业务流是例如影像或声音这种的要求低延迟传输的业务流、如通知用户操作的指令或系统异常的信息这种紧急度高的业务流。低优先级业务流是例如文件传送或在后台进行处理的应用数据那样紧急性比较低的业务流。业务流是高优先级业务流还是低优先级业务流,可由头部流控单位中记述的表示优先级的识别符来规定。在本说明书中,设想将优先传输高优先级业务流也包含在“旁路”中。以下,关于本实施方式的中继器,主要说明与实施方式1的不同点,而对于重复的部分省略其说明。
根据本实施方式的中继器,能够持续进行高优先级业务流的传输,同时根据高优先级业务流与低优先级业务流汇合的中继器的传输状态(缓冲器的使用状况等)来进行低优先级业务流的传输路径的变更、或者传输流量的调整。由此,能够抑制低优先级业务流与高优先级业务流的干扰,可期待吞吐量的提高、低延迟传输。
以下,说明本实施方式中的中继器的结构例。
图23是表示本实施方式中的中继器700b的概略结构的图。中继器700b决定从前级的相邻中继器700a至后级的相邻中继器700c的目的地,对业务流进行中继。中继器700b的路由处理部707接收从前级的相邻中继器700a传送的流控单位,并基于流控单位中记述的发送目的地信息来决定传送目的地的输出端口717。路由的算法与实施方式1同样可以采用动态地决定目的地的维序路由、或在设计时根据发送源与目的地的关系而唯一决定的静态路由。本实施方式的各中继器并不限定于特定的路由算法。
此外,中继器700b具备对输出端口717和输出缓冲器706的缓冲器队列建立对应的缓冲器分配器708。还具备为了传输业务流数据而从完成对应建立的组中选择1组的开关分配器709,经由开关705向输出缓冲器706传送流控单位。流控单位从输出缓冲器706向对应的中继器传送。再者,在本实施方式中,以存在输出缓冲器706这一前提进行说明,但是输出缓冲器706也可以不存在。在不设置输出缓冲器706的情况下,可由后级的相邻中继器700c的输入缓冲器替代上述的输出缓冲器706。
本实施方式的中继器700b的特征之一在于具备输出控制部710,该输出控制部710一边持续进行高优先级业务流的传输,一边进行向同一发送目的地的低优先级业务流的传输控制。输出控制部710进行接收到的业务流的优先级的判定处理,较之低优先级业务流而优先传送高优先级业务流。这样,本实施方式的输出控制部710作为本发明中的旁路控制部而发挥功能。输出控制部710具备缓冲器计测部(未图示),基于输出缓冲器706(或者后级的相邻中继器700c的输入缓冲器)的使用状况来进行针对低优先级业务流的传输控制。具体而言,输出控制部710基于输出缓冲器706的空置容量、等待时间等,进行改变数据的传输路径以及传输流量的至少一方的控制。
输入缓冲器704、输出缓冲器706由多个缓冲器队列构成。该缓冲器队列也可以由虚拟信道(Virtual Channel)构成。此外,在本实施方式中,缓冲器队列是高优先级用和低优先级用的2种。输出控制部710通过分析所接收的头部流控单位,判定所接收的数据的优先级,以确定进行保存的缓冲器队列。
图24A、24B是用于说明本实施方式中的中继器的处理的图。图24A是基于简易网络模型表示本实施方式中的中继器变更低优先级业务流的传输路径的情况。首先,设想发送源的中继器A经由中继器C向发送目的地的中继器D传送高优先级业务流以及低优先级业务流的状况((1)传送)。在中继器A传送高优先级业务流时((2)高优先级业务流的传送),中继器A为了抑制业务流间的干扰,将低优先级业务流的传输路径变更为经由中继器B的路径((3)迂回)。
图24B是表示中继器A的路由处理部所管理的路径信息的一例的图。在图示的例子中,记述了从发送源的中继器A至各中继器(B、C、D)的传输路径。中继器A基于这种的路径信息来决定路径。在本实施方式中,设想在其他的中继器的路由处理部中也管理同样的路径信息。
再者,图24A表示中继器A变更低优先级业务流的路径的情况下的例子,但还存在中继器A如上述那样不变更路径而是调整发送流量来进行应对的情况。在本实施方式中,对于是变更路径还是调整发送流量,由输出控制部710基于输出缓冲器706(或者相邻中继器700c的输入缓冲器)的使用状况来判断。
图25A是表示中继器A对低优先级业务流进行的动作的流程图。首先,设想在业务流传输中,在发送中的路径上发生高优先级业务流(S2301)。例如根据头部流控单位中记述的表示优先级的识别符的值是否超过规定阈值,来判断是否传输高优先级业务流。输出控制部710针对低优先级业务流通过后述的方法来判定是切换路径(使用迂回路径)、还是调整发送流量(S2305)。在输出控制部710判定为切换路径的情况下,输出控制部710向路由处理部707发送用于指示路径切换的控制信号。路由处理部707接收控制信号来选择迂回路径
Figure BDA00003282885400471
的路径),决定与迂回路径对应的输出端口(S2302)。接下来,执行基于缓冲器分配器708、开关分配器709的传送处理,执行使用了迂回路径的传输((3)迂回)(S2303)。另一方面,在步骤S2305中输出控制部710判定为不使用迂回路径的情况下,输出控制部710向输入缓冲器704发送用于指示发送定时的控制信号。输入缓冲器704基于控制信号来调整发送流控单位的定时(S2304)。
是否使用迂回路径的判定(S2305)例如在图25B所示的步骤中进行。首先,输出控制部710计测输出缓冲器706的缓冲器使用量(S2306)。接着,输出控制部710基于所计测的输出缓冲器706的使用量(缓冲器使用量)来判定是否进行迂回(S2307)。具体而言,在将1万周期设为单位时间,缓冲器使用量较少的情况下(例如输出缓冲器706的空置容量为物理容量的1/2以上的情况下),输出控制部710判断为业务流干扰的影响不大,不变更路径来调整发送定时。此时,输出控制部710对输入缓冲器704进行指示,以便使得从输入缓冲器704发送低优先级业务流的间隔变大。由此,从开关705以及输出端口717输出的业务流的发送流量被抑制。
另一方面,在缓冲器使用量大的情况下(例如输出缓冲器的空置容量低于物理容量的1/2的情况下),输出控制部710判断为业务流干扰影响大。为了立即抑制业务流干扰的影响,输出控制部710使路由处理部707搜索迂回路径。在路由处理部707搜索出迂回路径时,基于该迂回路径,缓冲器分配器708以及开关分配器709执行传送处理。由此,没有被旁路的业务流的传输路径被变更,能够防止业务流干扰。
上述的判定仅仅是一例,上述的各阈值可根据设想的传输延迟而适当设计。例如,可以采用如下结构,即:在输出缓冲器的空置容量为物理容量的2/3以上的情况下不进行任何动作,在1/3以上低于2/3的情况下进行流量的调整,在低于1/3的情况下进行路径变更。
此外,也可以不计测输出缓冲器706的使用量,而是计测输出缓冲器706中的等待时间,使用等待时间来进行与上述同样的控制。在缓冲器容量小的情况下,较之以缓冲器使用量进行评价,以缓冲器的等待时间进行评价有时更容易反映出中继器的拥挤状况。
在本实施方式中,在切换传输路径的情况下,也可以与路径一起变更接收节点。例如,可构成为从进行了高优先级业务流传输的中继器向发送源的总线主控器进行新的发送目的地的询问,基于其结果来变更发送目的地。
图26A、26B表示发送流量调整、迂回、以及发送目的地变更的具体例的图。图26A表示在从1个总线主控器向1个存储器传输业务流23001~23003时,中继器23004抑制发送流量的例子。在业务流23001为高优先级业务流的情况下,对于低优先级业务流23002、23003,从中继器23004的输出缓冲器输出的流量被抑制。
图26B表示在从不同的多个总线主控器向同一存储器传输业务流23001~23003时,由中继器23004进行迂回、发送目的地(存储器)的变更的例子。在业务流23001为高优先级业务流时,低优先级业务流23002、23003的路径被变更。在此,对于业务流23003,其发送目的地的存储器也被变更。在进行发送目的地的变更的情况下,中继器23004对发送源的总线主控器进行新的发送目的地的询问,反映出其结果来进行发送目的地的变更。中继器23004进行路径变更、流量调整、发送目的地变更的哪一个的判断基准可以在设计时按每个中继器来决定。
在本实施方式中,示出了将业务流分类为高优先级业务流和低优先级业务流,在高优先级业务流传输时基于自中继器的传输状态对低优先级业务流进行传输控制的例子。但是,本发明并不限于这种方式,只要是在传输被优先处理的旁路业务流的情况下,基于旁路业务流与非旁路业务流汇合的中继器的传输状态,来进行向同一发送目的地的非旁路业务流的传输路径的变更或者传输流量的调整的结构即可。
(实施方式3)
接下来,说明本发明的第3实施方式。
在说明本实施方式的详细内容之前,首先说明本实施方式的基本原理。图27是表示本实施方式的中继器600的概略结构的框图。中继器600具备接收分组的输入部400、判定是执行优先输出被输入的数据传输单位(分组)的旁路处理以及不优先输出的通常处理的哪一个的旁路控制部200、和从多个路径之中选择被旁路的分组的传输路径的开关605。在图27所示的例子中,进行旁路处理的分组通过旁路路径300输出,不进行旁路处理的分组通过非旁路路径350输出。
旁路路径300相当于例如经由图56所示的旁路用布线930的路径,非旁路路径350相当于例如经由图56所示的交叉总线交换器924而输出的路径。不过,本发明并不限定于这种在物理上使布线独立的结构。如非专利文献1所公开的那样,关于特定收发节点间的业务流的传输通过省略路由处理等、或者使其并行化从而抑制传送延迟的处理也包含在旁路处理中。
图28A、28B是表示旁路控制部200进行的处理的流程的例子的流程图。旁路控制部200执行图28A以及图28B所示的处理的至少一方,由此判定接收到的分组是否要进行旁路,如果判断为需要则进行旁路处理。
在图28A所示的处理中,旁路控制部200基于与赋予分组的时间相关的信息(时间信息),判断是否要旁路,判定是否进行旁路处理。旁路控制部200首先在步骤S10中接收到分组时,在步骤S11中,根据分组所具有的时间信息求出能够容许的剩余时间(容许剩余时间)。接下来,在步骤S12中,判定容许剩余时间是否小于预先确定的时间。在容许剩余时间小于预先确定的时间的情况下,旁路控制部200判断为需要旁路,对于该分组执行旁路处理。在容许剩余时间为预先确定的时间以上的情况下,旁路控制部200判断为不需要旁路,针对该分组执行通常处理。
另一方面,在图28B所示的处理中,旁路控制部200基于接收到分组时的业务流的传输状态,决定该分组是否要进行旁路。首先,在步骤S20中接收分组时,旁路控制部200在步骤S21中检测业务流的传输状态。在此,所谓“业务流的传输状态”是指由接收到的分组的前后所传输的多个分组的集合规定的振幅、发送间隔等。再者,所谓振幅是指每单位时间所传输的数据量,所谓发送间隔是指连续发送的分组间的时间间隔。在接下来的步骤S22中,旁路控制部200基于业务流的传输状态,判定传输负荷是否高。例如通过将业务流的振幅、发送间隔与预先确定的阈值比较从而可进行传输负荷的判定。在判定为传输负荷高的情况下,旁路控制部200在步骤S23中对接收到的分组进行旁路处理。在判定为传输负荷不高的情况下,进入步骤S24,进行通常处理。再者,也与该例相反,可以设计成在步骤S22中判定为传输负荷高的情况下进行通常处理,在判定为传输负荷低的情况下进行旁路处理。
中继器600通过进行例如图28A、28B的至少一个处理,由此判断接收到的分组是否要进行旁路。由此,能够根据可容许的剩余时间以及被传输的业务流的特性来适当地分选旁路的业务流,能够抑制业务流的传送延迟。再者,上述的处理步骤仅仅是一例,本实施方式中的中继器的旁路判定方法也可以是后述那样的多种方式。中继器只要构成为基于利用与所输入的分组具有的时间相关的信息得到的容许剩余时间、以及业务流的传输状态的至少一方来判定是否进行旁路处理即可。
以下,说明本实施方式的具体的结构以及动作。在以下的说明中,主要说明与实施方式1的不同点,对于重复的事项省略其说明。
<1.中继器的结构以及动作>
<1.1.中继器的概略结构>
图29是表示本实施方式中的中继器的概略结构的图。在本实施方式中,也设想具有图3所示的多元连接网的结构的系统。在本实施方式中也以第2群组的中继器600b为例进行说明,但对于第1以及第3群组的中继器而言仅发送目的地以及接收源不同,基本的结构相同。
本实施方式中的中继器600b除了图5A所示的结构要素以外,还具备蓄积被旁路的流控单位的旁路缓冲器612。旁路缓冲器612中保存的数据被调整了发送调度(schedule)后,经由旁路路径BP1而传输至输出缓冲器606。再者,也可以不调整发送调度,按到达的顺序输出分组。在本实施方式中,旁路缓冲器612的缓冲器队列数是2个,但并不限于该例子,缓冲器队列的个数可根据业务流的传输量适当设计。旁路缓冲器612与输入缓冲器604、输出缓冲器606同样,由多个缓冲器队列构成。缓冲器队列也可以由虚拟信道构成。
缓冲器选择部603基于头部流控单位所记述的信息,判断接收的流控单位是否要进行旁路。在判断为不需要旁路的情况下,缓冲器选择部603将该流控单位所属的业务流保存在输入缓冲器604中。在判断为需要旁路的情况下,缓冲器选择部603将其业务流发送至旁路缓冲器612。
在本实施方式中,是否进行旁路的判定方法与实施方式1不同。另一方面,不进行旁路的情况下的处理与实施方式1同样。
<1.2.中继器的动作的概略>
图30是表示中继器600b接收流控单位时的动作的流程图。中继器600b的缓冲器选择部603首先在步骤S3001中从相邻的中继器600a接收流控单位。并且,在步骤S3002中,由缓冲器选择部603判定是否要进行旁路。
缓冲器选择部603针对接收到流控单位判定为是属于进行旁路的信息流的流控单位的情况下,向旁路缓冲器612发送该流控单位。旁路缓冲器612中保存的流控单位在步骤S3007中由旁路缓冲器612进行调度。之后,在步骤S3006中,被发送至输出缓冲器606。再者,关于由缓冲器选择部603进行的旁路的具体判定方法,参照图33~图35在后面叙述。
另一方面,在不进行旁路的情况下,在步骤S3003中,由路由处理部607对头部流控单位进行解析来决定输出端口613。接下来,在步骤S3004中,由缓冲器分配器608进行输出端口与发送目的地的中继器的输入缓冲器的缓冲器队列的对应建立。接下来,在步骤S3005中,由开关分配器609从为了传输业务流数据而完成对应建立的组中选出1组。然后,在步骤S3006中,从作为对象的缓冲器队列以1流控单位为单位或者以分组为单位传输数据。
图31中表示不进行旁路处理的一般的中继器的处理的步骤。一般的中继器中的结构、处理步骤基本上与上述的不进行旁路的情况下图29的结构、图30的处理步骤相同。
首先,(1)对头部流控单位进行解析根据发送目的地地址来决定输出端口(Routing computation:RC)。该处理在本实施方式中由路由处理部607进行,与S3003的处理步骤对应。
接着,(2)决定传送目的地的相邻中继器的输入缓冲器的缓冲器队列(或者输出缓冲器606的缓冲器队列)(Virtual channel allocation:VA)。该处理在本实施方式中由缓冲器分配器608进行,与S3004的处理步骤对应。作为对输出端口与缓冲器队列建立对应的顺序,能够基于循环、分组的到达顺序、截止时间顺序等的选择基准来决定。
接着,(3)为了传输业务流数据而从完成对应建立的组中选出1组(Switch allocation:SA)。在该步骤中也同样,作为从完成对应建立的组中选出1组的选择方法,可基于循环、分组的到达顺序、截止时间顺序、中继处理的优先级或业务流的突发性等的选择基准来决定。通过区别业务流的突发性,优先选择具有突发性的业务流,使得突发业务流的传输性能的确保、即容许延迟时间内的低延迟传输和容许吞吐量内的高吞吐量传输变得容易。但是,即便被选择,但是如果传送目的地的中继器600c不能接受,则无法传输数据。因此,仅在能够判断出传送目的地的中继器600c能接受的情况下,传输数据。该处理在本实施方式中由开关分配器609进行,与S3005的处理步骤对应。
然后,(4)从作为对象的缓冲器队列以1流控单位为单位传输数据(Switch traversal:ST)。该处理在本实施方式中由开关分配器609进行,与S3006的处理步骤对应。进行传输的数据的尺寸也可以如上述那样不是以1流控单位为单位,而是以分组为单位。
再者,表示突发性的业务流数据的特征可由每单位时间的传输量、发送周期、发送间隔、连续传输的分组数、以及延迟时间的至少1个表述。具体而言,在数据的每单位时间的传输量比预先确定的阈值多的情况、在数据的发送周期比预先确定的阈值短的情况、及数据的发送间隔比预先确定的阈值短的情况、连续传输的分组数比预先确定的阈值大的情况、数据的容许延迟时间比预先确定的阈值短的情况的至少1个的情况下,判断为该数据具有突发性。对于业务流的突发性,例如根据上述观点判定是否具有突发性,可将其结果表述为表示处理的优先级的信息。或者,也可以将突发性的有无或者程度作为识别符(例如表示突发性的信息、能够识别发送突发业务流的总线主控器的信息)而记述在分组的头部。通过这种的信息,能够将突发业务流与不具备突发性的业务流相区别。
作为具体的实现例,由图4所示的总线主控器侧的NIC620a判断总线主控器发送的数据的突发性的有无(或者优先级),对图6所示的头部流控单位504赋予表示突发性有无的信息(或者优先级)。由此,各中继器的头部流控单位解析部901能够根据头部流控单位判断突发性的有无,能够进行与突发性的有无(或者优先级)相应的中继处理。
<1.3.缓冲器选择部的结构以及动作>
图32是表示本实施方式中的缓冲器选择部603的结构的框图。由缓冲器选择部603决定对中继器600b所接收的业务流进行旁路、还是通过通常处理进行传送。缓冲器选择部603具备解析图6所示的流控单位的构造的头部流控单位解析部901、将业务流数据分配至旁路缓冲器612或者输入缓冲器604的其中一个的流控单位分选部902、对从旁路缓冲器612输出的业务流数据的发送进行管理的旁路缓冲器发送管理部903。
流控单位分选部902基于解析出的业务流数据的构造,决定是否对接收到的业务流数据进行旁路。在对接收到的业务流数据进行旁路的情况下,将业务流数据传送至旁路缓冲器612。
被传送至旁路缓冲器612的数据基于头部流控单位解析部901的解析结果,由旁路缓冲器发送管理部903调整了调度后,从旁路缓冲器612发送。由旁路缓冲器发送管理部903实施的调度例如基于循环、截止时间、优先信息来进行。
此外,在不对接收到的业务流数据进行旁路的情况下,流控单位分选部902将业务流数据发送至输入缓冲器604。各部的处理的详细在后面叙述。
图33是表示缓冲器选择部603的动作流程的流程图。首先,由头部流控单位解析部901对业务流信息进行收集、并解析(S3301)。接着,基于由头部流控单位解析部901解析的业务流信息,流控单位分选部902从传输中剩余的时间(剩余时间)以及传输的内容的特性之中的至少其中一个角度,分类为进行旁路的业务流、不进行旁路的业务流(S3302)。进行旁路的业务流被发送至旁路缓冲器612,由旁路缓冲器发送管理部903控制发送流量。不进行旁路的业务流被发送至输入缓冲器604,经由图30所示的S3003至S3005的处理,被发送至输出缓冲器606(S3303)。
<1.4.头部流控单位的详细构造>
图34是表示本实施方式中的头部流控单位504的详细构造的图。头部流控单位504由以下构造构成。即,记述收发节点间的发送源1101和发送目的地1102的字段、记述用于识别各个业务流数据的流ID的字段1103、记述对业务流数据的重要度进行定义的优先级的字段1104、记述业务流数据的截止时间的字段1105、记述业务流数据被中继器中继的次数的字段1106、记述业务流数据的数据尺寸的字段1107、记述业务流数据进行旁路的次数的字段1108、以及记述业务流数据在旁路缓冲器中滞留的时间的字段1109。
图35是用于说明头部流控单位解析部901进行解析的结果的图。流ID是用于在系统上唯一地确定业务流数据的ID。流ID由总线主控器所连接的中继器赋予。按分配流ID的中继器的每一个来定义ID的分配范围,由此能够在系统上分配唯一的ID。
优先级表示所发送的业务流数据的重要度。例如,对低延迟要求高的影像或声音、控制数据等分配高的优先级。相反,对低延迟要求低的文本或图像等的数据分配低优先级。
截止时间记录从发送源直至到达发送目的地能够容许的时间。作为时间的表述形式,例如由时钟数、μ秒等的单位表示。此外,既可以由系统上的绝对时刻来表述时刻,也可以由相距预先确定的基准时刻的相对时间来表述。在图35所示的例子中,流ID321的截止时间比流ID234短(1201)。
中继次数记录从发送源至发送目的地所通过的中继器的个数。通过在业务流数据每次通过中继器时对头部流控单位的中继次数的字段进行相加运算从而实现个数的计数。在图35所示的例子中,流ID456的中继器次数比流ID567多(1204)。认为中继次数多的信息流因中继延迟的影响而传输延迟变大。
数据尺寸记录所发送的数据的数据尺寸。一般来说,控制数据的尺寸小,而影像、声音数据的尺寸大(1205)。作为表示业务流数据的特征的参数,在此示出了数据尺寸,但也可以将数据尺寸以外的信息记录在头部流控单位。如影像数据那样,业务流数据的振幅强烈、业务流数据瞬间(短的发送间隔)连续传输的业务流(突发业务流)对其他的业务流数据带来的影响(例如业务流干扰)大。因此,优选设计成记录业务流数据的最大振幅值、数据的发送间隔、发送周期,使其尽量不会在同一传输路径、同一中继器中汇合。通过这种设计,能够期待传输性能的提高。关于这些具体的应用,参照图36在后面叙述。
旁路次数记录在从发送源传输至发送目的地的期间通过中继器的旁路的次数(1203)。对于旁路次数,每当业务流数据通过中继器的旁路,各中继器对头部流控单位的旁路次数的字段进行增加,从而实现上述旁路次数。
旁路缓冲器滞留时间表示在中继器的旁路缓冲器中等待的时间的累计。对从发送源至发送目的地在各中继器的旁路缓冲器中等待的时间进行累计。作为时刻的表现形式,可由时钟数、μ秒等的单位表示。此外,既可以由系统上的绝对时刻表述时刻,也可以由相距预先确定的基准时刻的相对时间来表述。在图35的例子中,流ID123为0,流ID321在旁路缓冲器中等待了200(1202)。再者,旁路缓冲器滞留时间也可以不是经由的全部中继器中的旁路缓冲器的滞留时间的累计,而是其中一部分的中继器中的旁路缓冲器的滞留时间的累计。可基于自中继器的旁路缓冲器中的等待时间,来决定成为这些信息的收集对象的其他中继器的范围、收集间隔(对作为对象的中继器的旁路缓冲器中的滞留时间进行收集的时间间隔)。此外,也可以不是累计,而是将平均值或峰值用作旁路缓冲器滞留时间。
头部流控单位解析部901将表示图35所示的解析结果的信息作为解析数据,与业务流数据独立地发送至流控单位分选部902。
<1.5.基于流控单位分选部的旁路判定处理>
<1.5.1.基于优先级、剩余时间、其他评价项目的旁路判定处理>
接下来,说明基于成为中继对象的业务流的容许剩余时间来判定是否进行旁路处理的处理。再者,在本实施方式中,不仅仅是基于剩余时间的判定处理,还进行基于表示分组(流控单位)被赋予的优先级的信息以及其他评价项目的判定处理。
图36是表示流控单位分选部902的结构的框图。流控单位分选部902基于由头部流控单位解析部901得到的头部流控单位的解析结果,对流控单位进行分选。如图36所示,流控单位分选部902中从头部流控单位解析部901输入解析数据和业务流数据。流控单位分选部902具备基于头部流控单位中记述的表示优先级的信息来判定是否进行旁路的优先级判定部3601、基于各业务流数据能够容许的剩余时间(详细后述)来判定是否进行旁路的剩余时间比较部3601、基于所关注的评价项目(详细后述)来判定是否进行旁路的评价项目比较部3603、基于这些各部的判定结果向旁路缓冲器612或者输入缓冲器604的任意一个发送分组的传送目的地选择部3604。
图37是表示流控单位分选部902的处理的流程的流程图。流控单位分选部902首先判断接收到流控单位的头部所记述的优先级的值是否为预先确定的优先级以上(S3701)。在优先级的值为预先确定的优先级以上的情况下,传送目的地选择部3604向旁路缓冲器612发送业务流数据(S3707)。在此,设想优先级越高,则低延迟要求的程度也越高。在优先级的值低于预先确定的优先级的情况下,剩余时间比较部3602求出旁路缓冲器612中保存的各业务流数据能够容许的剩余时间(S3702)。作为剩余时间的求取方法,例如通过以下的任意方法来求出。
(1)剩余时间=截止时刻-当前时刻
(2)剩余时间=容许延迟时间-(滞留时间+中继延迟×中继次数)
在此,截止时刻以及滞留时间(旁路缓冲器滞留时间)是图34所示的头部流控单位的要素。当前时刻是自中继器接收到业务流数据的时刻。容许延迟时间是在收发节点间定义的应用中能够容许的最大延迟时间。容许延迟时间既可以记述在头部流控单位,也可以在设计时在各中继器中进度定义、登记。此外,中继延迟是每当经由中继器因所需的中继处理而产生的延迟时间。具体而言,固定值(例如4周期)被设定为每个中继器的中继延迟。根据这些信息,利用上述(1)、(2)的任意公式来计算剩余时间。式(2)中的滞留时间如上述那样表示该流控单位达到自中继器为止所经过的各中继器的旁路缓冲器中产生的延迟时间的累计。中继延迟×中继次数,表示从自中继器至作为目的地的接收节点通过经由输入缓冲器的通常处理进行传输的情况下的延迟时间(传送处理以及缓冲器中的等待时间的合计)。将滞留时间与(中继延迟×中继次数)之和定义为在从发送节点至接收节点进行传输的期间因中继处理而产生的延迟。再者,从由发送节点至接收节点所通过的中继器的个数中减去头部流控单位所记述的已通过的中继次数,由此求出从自中继器至接收节点的中继次数。
也可以取代上述的式(1)、(2),将从利用上述式(1)或者(2)所计算出的剩余时间中减去根据分组长而决定的规定时间所得到的值作为剩余时间。由此,即便长的分组与短的分组混合存在,也能够求出更为正确的剩余时间。
在图37所示的步骤S3703中,剩余时间比较部3602判定通过上述的任意一个方法求出的剩余时间是否低于预先确定的剩余时间。在低于预先确定的时间的情况下,传送目的地选择部3604判断出剩余时间中没有富余,在步骤S3707中,向旁路缓冲器612发送数据。如果剩余时间为预先确定的时间以上,则判断为剩余时间有富余,处理进入步骤S3704。
在步骤S3704中,评价项目比较部3603针对所关注的评价项目按评价对象的每个信息流比较预先确定的阈值和接收到的数据的实际值。在此,所谓关注的评价项目,是例如图34所示的旁路缓冲器滞留时间、旁路次数、中继次数等的各项目。在系统设计时能够任意决定关注于哪个评价项目。阈值是在系统设计时以平均值提供的。例如,对于旁路次数,阈值设定为“2次”、对于中继次数,阈值设定为“5次”这种的数值。
接下来,在步骤S3705中,评价项目比较部3603判断中继器的进行旁路的传输通路的传输负荷(例如旁路缓冲器612的空置容量、或者旁路缓冲器612中的等待时间)是否小于容许值。在此,所谓旁路缓冲器612中的等待时间是指,从分组到达旁路缓冲器612直至被发送为止所需的时间。传输负荷通过例如未图示的计测部进行计测。在传输负荷比预先确定的容许值小、且对于上述的评价项目根据与作为对象的信息流的阈值之间的比较结果判断为需要旁路的情况下,在步骤S3707中,传送目的地选择部3604向旁路缓冲器612发送数据。否则,在步骤S3706中,传送目的地选择部3604将数据发送至输入缓冲器604。
通过以上的处理,在旁路的传输能力有富余的情况下(例如旁路缓冲器的占用率低于50%、旁路缓冲器612中的等待时间低于100周期的情况下),对于所关注的评价项目,能够减小使其旁路的多个信息流间的传输品质的差异。例如,在将与旁路次数相关的信息用作评价项目的情况下,优先传输旁路次数少的信息流,由此能够防止仅特定的流被旁路。由此,能够消除信息流间的传输性能(传输延迟、吞吐量)的偏差。
再者,中继器并不限于图37所示的处理流程,只要构成为至少基于步骤S3702中求出的可容许的剩余时间来决定是否进行旁路处理即可。
<1.5.2.基于业务流特性的旁路判定处理>
图38是表示流控单位分选部902的其他例子的图。在该例子中,流控单位分选部902具备:接收头部流控单位解析部901的头部流控单位的解析结果并基于业务流的特性来判定是否进行旁路的业务流特性判定部3605、基于该判定结果向旁路缓冲器612或者输入缓冲器604发送数据的传送目的地选择部3604。
也可以基于所传输的数据的特性来判断是否要旁路,而不仅仅是旁路缓冲器612的空置容量或者旁路缓冲器612中的等待时间。具体而言,业务流特性判定部3605也可以基于传输中的突发业务流的有无或程度,来判断是否进行旁路。例如,业务流特性判定部3605针对影像这种的突发性强的业务流,根据头部流控单位解析部901的解析结果取得与业务流数据的最大振幅值、分组的发送间隔、发送周期相关的信息等。如果这些信息为预先设计时确定的阈值以上,则判断为业务流干扰的影响强,能够判断为不进行作为对象的信息流的旁路。相反,在使突发性强的业务流进行旁路的情况下,由于与其他业务流之间的干扰变强,因此也可以判定为突发性弱的业务流不进行旁路。基于判定结果,传送目的地选择部3604将业务流数据传送至旁路缓冲器612或者输入缓冲器604。
一般来说,在业务流的突发性强的情况下,业务流的最大振幅值大,且分组的发送间隔、发送周期短。也可以将分组的发送间隔或发送周期比规定阈值短的业务流定义为突发业务流。定义突发性的阈值例如可在设计时通过仿真以实验的方式求出。再者,与业务流数据的最大振幅值、分组的发送间隔、发送周期相关的信息等的信息既可以由头部流控单位解析部901按每个信息流在中继器中进行计测来获取,也可以预先在图35所示的头部流控单位中记述好,而由头部流控单位解析部901进行解析。
通过将具有突发性的业务流与非突发性的业务流分离,以旁路路径来传输具有突发性的业务流,以通常的传输路径传输非突发性的业务流,由此能够防止具有突发性的业务流与非突发性的业务流的业务流干扰。由此,能够确保突发业务流所要求的传输性能、即容许延迟时间内的低延迟传输、高的吞吐量。
作为将具有突发性的业务流与非突发性的业务流相分离的方法,如上述那样具有在中继器的内部设定进行旁路的路径的方法、在中继器的外部设置总线路径的方法。通过这种的方法,能够防止因中继器内的缓冲器的共用而引起的业务流干扰,并且能够消除因中继器内的交叉总线交换器引起的处理竞争。再者,在中继器内进行旁路的情况下,可以按照是否进行旁路的判定仅在与总线主控器连接的中继器中进行,而没有与总线主控器连接的途中的中继器中不进行是否旁路的判定的方式来构成系统。通过这种结构,能够防止因是否进行旁路的判定处理引起的突发业务流与非突发性的业务流之间的业务流干扰。在该情况下,需要在与总线主控器连接的中继器和与存储器连接的中继器之间进行通常在相邻的中继器间进行的流控制。此外,在长距离布线的情况下,需要将总线缓冲器(分割长布线的转发器)设置在旁路路径。再有,在存在多个具有突发性的业务流的情况下,与在中继器的外部设置旁路路径的方法同样,按具有突发性的每个业务流独立地设置进行旁路的传输路径是有效的。在这种的结构中,由于产生业务流干扰的位置少,因此改善突发业务流的传输性能的效果显著。
也可以仅对具有突发性的业务流在中继器内分配专用的缓冲器,详细内容后述。通过这样,尽管业务流干扰的影响残留,但是较之设置旁路路径的方法,能够简单地防止业务流干扰。在具有突发性的业务流存在多个的情况下,按具有突发性的每个业务流在传输路径上的各中继器中分配专用的缓冲器是有效的。由此,由于减少产生业务流干扰的机会,因此改善突发业务流的传输性能的效果显著。具体的缓冲器的构成方法在实施方式4进行说明。
再者,在本说明书中,对具有突发性的每个业务流在传输路径上的各中继器中分配专用的缓冲器的方法,也确立为实现独立的旁路路径的1个方法。即,针对具有突发性的业务流,将对传输路径上的各中继器分配的缓冲器与进行旁路的传输路径建立对应。也可以根据业务流的特性(容许延迟时间、要保证的吞吐量、突发的业务流的个数、业务流数等),结合上述的手法来设计传输通路。
此外,也可以对声音数据或控制数据这种尺寸小的数据、最大振幅值小的数据、发送间隔或发送周期长的数据优先进行旁路。由此,能够减小被旁路的传输通路中的业务流间的干扰。
再者,作为业务流的传输状态的其他表述方法,也可以在头部流控单位设置表示是应该旁路的业务流的识别符。设计者可以从业务流的突发性或实时性等的业务流特性的角度、或传输路径中产生的业务流干扰的影响等的角度出发来进行判断,在设计时对对象业务流的头部流控单位预先记述表示是否进行旁路的信息。在该情况下,各中继器的头部流控单位解析部901可以对有无旁路的识别符进行解析,来判断有无旁路动作。
再者,在本实施方式中,流控单位分选部902具有图36或者图38的结构,但并不限定于这些结构。例如,也可以具有这两者的结构。在该情况下,从根据分组被赋予的信息求出的时间信息、和业务流负荷这二者的角度出发来判断是否要旁路。
<1.6.基于旁路缓冲器发送管理部的调度>
接下来,说明图30所示的步骤S3007中的旁路缓冲器612进行的发送调度的例子。图32所示的旁路缓冲器发送管理部903,基于由图36所示的剩余时间比较部3602求出的容许剩余时间,决定从旁路缓冲器612输出的数据的发送顺序或者发送时间(进行发送的间隔、发送定时)。发送顺序或发送时间并不限于容许剩余时间,也可以基于其他信息来决定。例如,可以适当组合所输入的分组的截止时间、输入分组时的业务流在旁路缓冲器612中的滞留时间、中继次数等的信息来决定。通过进行这种调度,由于越是需要迅速传送的分组则被尽早发送,因此能够进一步减少旁路业务流的延迟。
在以上的说明中,中继器600的各结构要素表示为被模块化的单独的功能部,但是使安装于中继器600的处理器(计算机)执行规定了这些功能部的处理的程序从而也可以实现中继器600的动作。这种程序的处理步骤例如图30、33、37的流程图所记载的那样。
<2.变形例>
<2.1.不设置输出缓冲器的结构>
在图29所示的结构中,中继器600b具备输出缓冲器606,但可以如上述那样不具备输出缓冲器606。图39是表示中继器600b不具备输出缓冲器606、交叉总线交换器605的输出被输入至后级的相邻中继器600c的缓冲器选择部603c的结构例。根据这种的结构,由于能够抑制存储器量,因此在嵌入用途中是有效的。
<2.2.外部布线>
此外,在以上的说明中,如图29所示,示出了在中继器600b内进行旁路的例子(内部布线),但也可以与实施方式1同样,按照在中继器600b的外部传输旁路业务流的方式进行布线(外部布线)。图40是表示在中继器600b的外部布线来进行旁路的结构例的图。该例子中,缓冲器选择部603通过旁路路径BP3、BP4向中继器600b的外部的中继器或者存储器105传输业务流。
在基于内部布线的结构中,按每个中继器闭合旁路处理,因此作为中继器的处理模块的再利用性高。即,容易将各个中继器作为一个部件更换。但是,由于需要在直至发送目的地的全部中继器中进行中继,因此容易产生处理开销。相反,在基于外部布线的结构中,较之内部布线的情况,作为中继器的处理模块的再利用性低。但是,由于不需要在直至发送目的地的全部中继器中进行中继,因此能够降低处理开销。
在本实施方式中,也可进行参照图20所说明的应用。对于从图20所示的总线主控器101a发生的业务流,中继器R9基于利用所输入的分组具有的时间相关的信息而得到的容许剩余时间、以及分组被输入时的业务流的传输状态的至少一方,来进行优先输出分组的旁路处理。在此,总线主控器也可以输出多种的业务流。具体而言,也可以使截止时刻或优先级不同的业务流、振幅或发送间隔不同的业务流混合存在进行发送。此外,也可以组合外部布线和内部布线来构筑网络。例如,通过由内部布线来构成中继器R9,较之仅由外部布线或者内部布线构筑,能够容易实现低延迟化。
<2.3.其他拓扑>
在上述说明中,以集成电路的拓扑为多级连接网的情况(图3)为例进行了说明,但是本实施方式的中继器600也可以与实施方式1同样,并不限定于多级连接网中的利用。例如,也可以是图12(b)所示的这种将中继器排列成方格状的网格状型的拓扑、图22A所示的这种环型的拓扑、图22B所示的这种将总线按层次连接的拓扑。只要是将多个总线主控器经由分散型的总线而进行连接拓扑,则能够同样地应用本实施方式的中继器。
(实施方式4)
接下来,说明本发明的第4实施方式。在说明本实施方式的具体的结构以及动作之前,说明本实施方式的基本概念。
本实施方式的中继器针对突发业务流适当地分配缓冲器队列(数据保存部),由此提高缓冲器队列的利用效率,同时抑制业务流干扰,实现低延迟传输。一般来说,对于突发性高的业务流,由于业务流数据的最大振幅值大,且分组的发送间隔或发送周期短,因此容易发生业务流干扰,容易产生传输延迟。在此,本实施方式的中继器针对突发业务流以占用的方式分配特定的缓冲器队列使其保存,由此可提高缓冲器队列的利用效率,抑制业务流干扰。
图41A是表示本实施方式的中继器600的概略结构的例子的图。如图41A所示,本实施方式的中继器600具备:接收数据的输入部400、包含暂时保存数据的多个数据保存部31在内的缓冲器部30、依次输出缓冲器部30中保存的数据的输出部450、基于表示接收到的数据的突发性的信息对任意的数据保存部31分配数据的分配处理部1404。
分配处理部1404基于表示由输入部400接收到的业务流数据的突发性的信息,决定将该数据是否分配至预先被确保的特定的数据保存部。例如,在接收到的业务流数据的最大振幅值大于预先设定的阈值的情况下,发送周期或发送间隔比预先设定的阈值短的情况下,确保空出的1个数据保存部31,并将该数据保存在该数据保存部31。
中继器600也可以具有图41B所示的结构。在图41B所示的结构中,分配处理部1404并不是对自中继器600-1分配,而是对数据的传送目的地的中继器600-2中的多个数据保存部31-2分配该数据。例如在不经由自中继器600-1内的缓冲器部30-1而在传送目的地的中继器600-2内的缓冲器部30-2使数据旁路的这种情况下可采用该结构。分配处理部1404-1与上述例子同样,基于接收到的数据的突发性,向传送目的地的中继器600-2中预先确保的特定数据保存部31-2分配该数据。
通过以上的结构,由于突发性高的业务流数据利用特定的数据保存部31,因此与其他业务流的干扰得到抑制。作为结果,能够降低业务流的传输延迟。
在本实施方式中,作为表示突发性的信息,并不限定于上述的业务流数据的振幅、发送周期、发送间隔,也可以使用其他指标。例如,也可以将特定种类的数据(例如特定的影像、声音数据)作为突发业务流来处理。表示突发性的信息既可以在自中继器内的计测部中进行计测,也可以赋予被发送的数据。例如,也可以是发送源的总线主控器将表示突发性高的标记赋予数据来进行发送的方式。具体而言,表示业务流数据的突发性的信息可以基于之前叙述的业务流特性,在设计时赋予头部流控单位。通过对头部流控单位设置表示是否为突发业务流的识别符,能够与其他业务流数据相区别,在各中继器中不进行业务流特性的观测,就能够简单地在各中继器中处理突发业务流。
在以下的说明中,说明具备旁路功能的中继器的具体结构,并且说明在具有旁路功能的中继器中对突发业务流以占用的方式分配特定缓冲器队列的实施方式。接下来,说明对不具备旁路功能的一般的中继器中突发业务流以占用方式分配特定缓冲器队列的实施方式。如后者的例子所示那样,本发明的中继器未必具备旁路布线。
以下,说明本实施方式的具体的结构以及动作。本实施方式与实施方式3的主要不同点在于,旁路缓冲器612以及旁路缓冲器发送管理部903的结构以及动作。在以下的说明中,主要说明与实施方式3的不同点,对于重复的事项省略其说明。
<1.中继器的结构以及动作>
<1.1.中继器的概略结构>
本实施方式中的中继器的物理结构与图29所示的结构同样。此外,在本实施方式中,设想具有图3所示的多元连接网的结构的系统。再有,参照图30~35所说明的结构以及动作被直接适用于本实施方式。
再者,本实施方式中的旁路缓冲器612、输入缓冲器604、以及输出缓冲器606具有包含多个缓冲器队列在内的缓冲器部。缓冲器部也可以由虚拟信道(Virtual Channel)构成。在由虚拟信道构成缓冲器的情况下,构筑多个虚拟线路。在本实施方式中,缓冲器队列、虚拟信道具有本发明的数据保存部的功能。
<1.2.流控单位分选部的动作>
图42是表示本实施方式中的流控单位分选部902的处理的例子的流程图。与实施方式3同样,流控单位分选部902基于由头部流控单位解析部901解析而得到的结果,判断是否进行旁路。流控单位分选部902首先在步骤S4201中,判定接收到的流控单位被赋予的优先级是否为预先确定的阈值以上。在优先级为阈值以上的情况下,进入步骤S4206,流控单位分选部902将流控单位发送至旁路缓冲器612。在优先级低于阈值的情况下,进入步骤S4202,流控单位分选部902求出直至发送完成所能容许的剩余时间。例如从根据头部流控单位中记述的截止时间的信息而得到的截止时刻减去当前时刻,由此求出剩余时间。接下来,在步骤S4203中,流控单位分选部902判定剩余时间是否小于预先确定的阈值。在剩余时间小于预先确定的阈值的情况下,进入步骤S4206,该流控单位被发送至旁路缓冲器。在剩余时间为预先确定的阈值以上的情况下,在步骤S4204中,流控单位分选部902判定该流控单位的中继次数或者旁路次数是否比预先确定的阈值多。在中继次数或者旁路次数大于预先确定的阈值的情况下,进入步骤S4206,该流控单位被发送至旁路缓冲器。在中继次数以及旁路次数为预先确定的阈值以下的情况下,进入步骤S4205,该流控单位被发送至输入缓冲器604。
再者,图42所示的流控单位分选部902的动作仅仅是一例,可以不按照图示的流程进行动作。例如,也可以仅进行步骤S4201、S4203、S4204的任意一个的判定,还可以基于图34所示的其他的信息进行判定。
<1.3.旁路缓冲器、旁路缓冲器发送管理部的结构/动作>
<1.3.1.旁路缓冲器、旁路缓冲器发送管理部的结构>
接下来,说明旁路缓冲器发送管理部903以及旁路缓冲器612的结构。
图43是表示图32所示的旁路缓冲器发送管理部903以及旁路缓冲器612的详细结构的框图。旁路缓冲器612具有分配处理部1404、包括多个缓冲器队列的缓冲器部1405。再者,在本实施方式中,缓冲器选择部603以及分配处理部1404协作来实现旁路控制部的功能。
由流控单位分选部902分配给旁路缓冲器612的业务流数据被输入至分配处理部1404。分配处理部1404将接收到的业务流数据基于表示其突发性的信息而分配给多个缓冲器队列。再者,在本实施方式中,分配处理部1404被设置在旁路缓冲器612的内部,但也可以设置在外部。此外,缓冲器部1405并不限于图43所示的结构,既可以是在旁路目的地的其他中继器内独立设置缓冲器队列的结构,也可以是与没有旁路的其他业务流共用旁路目的地的其他中继器的输入缓冲器的缓冲器队列的结构。
在突发性高的业务流中,业务流数据的最大振幅值大,且分组的发送间隔、发送周期短。因此,在传输突发业务流时,容易发生业务流干扰,引起传输延迟的可能性高。为此,本实施方式的中继器关注于旁路业务流的突发性而适当进行对多个缓冲器队列的分配,由此抑制业务流干扰。有关业务流特性的信息可以由自中继器计测,也可以如图34所示的各信息那样在从总线主控器发送时记述在头部流控单位而由自中继器进行解析。
表示突发性的信息可以是例如每单位时间的传输量、发送周期、发送间隔、连续传输的分组数、以及延迟时间的至少1个。此外,表示突发性的信息可以是数据的容许吞吐量、容许延迟时间的至少1个。容许吞吐量还表述为每单位时间的传输量、发送周期、发送间隔、连续传输的分组数,被定义为在设计时对每个总线主控器作为设计要求值必需满足的值。容许延迟时间也表述为包含中继延迟、处理延迟等在内的传输通路的单程或者往复的传输延迟时间,被定义为对每个总线主控器作为设计要求值必需满足的值。
如上述,在数据的每单位时间的传输量比预先确定的阈值多的情况、数据的发送周期比预先确定的阈值短的情况、以及数据的发送间隔比预先确定的阈值短的情况、连续传输的分组数比预先确定的阈值大的情况、数据的容许延迟时间比预先确定的阈值短的情况的至少1种情况下,能够判断为该数据具有突发性。在具有突发性的数据被发送的状况中具有例如影像、声音或控制数据等那样容许延迟时间小的数据被分组化,作为多个连续的分组而从同一总线主控器发送的情况。
总线主控器所发送的数据有无突发性基于上述的判断基准,由图4所示的总线主控器侧的NIC620a进行判断,对头部流控单位赋予表示有无突发性的信息后向发送目的地传输。由此,由于头部流控单位解析部901能够基于头部流控单位的内容来判断有无突发性,因此能够由各中继器进行与突发性的有无相应的中继处理。
表示突发性的信息未必作为表示容许吞吐量、容许延迟时间的信息而与数据一起发送。例如,也可按照表示突发性的识别符、能够确定数据的优先级、发送节点的识别符的任意一种表述形式,来与数据一起传输。例如,也可以将数据的优先级设定为特异的值(例如高的值)来进行区别、或者赋予用于确定对具有突发性的业务流进行发送的发送节点(总线主控器)的识别符来进行区别。在本实施方式中,表示突发性的信息的表述方法并不限定于特定的方法。
旁路缓冲器发送管理部903具有:计算业务流数据的传输中剩余的时间的剩余时间计算部1401、根据所计算的剩余时间对来自缓冲器部1405的各缓冲器队列的业务流数据的发送频度进行计算的发送频度计算部1402、根据所计算的发送频度控制来自缓冲器部1405的各缓冲器队列的发送间隔的发送间隔控制部1403。在本实施方式中,旁路缓冲器发送管理部903具有本发明中的发送管理部以及计测部的功能。关于旁路缓冲器发送管理部903中的各部的具体的动作,在后面叙述。
<1.3.2.对缓冲器队列的业务流分配动作>
图44是表示对多个缓冲器队列的数据分配动作的流程图。分配处理部1404基于接收到的业务流数据的突发性,将该数据分配至缓冲器部1405的各缓冲器队列。
首先,在步骤S1401中,分配处理部1404判断被旁路的业务流是否为突发性强的业务流(突发业务流)。关于突发性是否强,基于由头部流控单位解析部901解析出的头部流控单位的信息(图35)、或者业务流的最大振幅值等的计测结果来进行判断。在利用头部流控单位的信息的情况下,分配处理部1404基于由头部流控单位解析部901得到的解析结果进行判断即可。另一方面,在利用计测结果的情况下,例如旁路缓冲器发送管理部903只要构成为计测业务流的振幅(每单位时间的发送数据量)、发送周期、发送间隔等并由分配处理部1404接收其结果即可。或者,分配处理部1404自身也可以具备这些的计测功能。分配处理部1404构成为比较预先设定的阈值与计测结果,并基于其结果来判断所接收的业务流是否为突发业务流即可。
在判断为该业务流不是突发业务流的情况下,进入步骤S1405,分配处理部1404向没有面向突发业务流分配的缓冲器队列分配该数据。另一方面,在突发性强的业务流被旁路的情况下,进入步骤S1402,分配处理部1404判断接收到的突发业务流是否为新接收的突发业务流。在该业务流是已完成接收的突发业务流的情况下,进入步骤S1403,向过去所分配的缓冲器队列分配该业务流。在接收到的突发业务流是新接收的突发业务流的情况下,进入步骤S1406。
对缓冲器队列的业务流分配例如按照以下方式进行管理。分配处理部1404保存有表示将哪个突发业务流分配给哪个缓冲器队列的缓冲器队列表(数据保存部利用信息)。图44(a)表示某个时间点的缓冲器队列表的内容的例子。由缓冲器队列表管理业务流的流ID和分配目标缓冲器队列的对应建立。参照缓冲器队列表,分配处理部1404判断该业务流是否为新接收的突发业务流。此外,缓冲器队列表中还登记表示最终接收时刻的信息。最终接收时刻被用于如后述那样释放缓冲器队列表的动作。再者,在图44(a)所示的缓冲器队列表的例子中,以相距基准时刻的相对时间来表示最终接收时刻,但最终接收时刻的表现形式可以是任意的形式。
在步骤S1406中,分配处理部1404向接收到的新的业务流分配空的缓冲器队列,重新进行对缓冲器队列表的登记。再者,也可以按照如下方式构成各中继器,即:在所有缓冲器队列已分配完毕的情况下,直至缓冲器队列能够空出为止在前级的相邻中继器中处于等待状态。
在S1403、S1405、S1406的任意的步骤中,在完成接收到的业务流对缓冲器队列的分配时,进入步骤S1407,接收到业务流的时刻被在缓冲器队列表中进行登记或者更新。之后,在步骤S1408中,判断各突发业务流的发送是否停止。具体而言,比较缓冲器队列表中登记的各信息流的最终发送时刻和当前时刻,从而判断是否存在预先确定的期间仍未被传输的突发业务流。如果最终接收时刻在预先确定的阈值之前(例如比当前时刻超前1万周期以上)的业务流存在于缓冲器队列表中,则判断为该突发业务流已停止发送。在该情况下,在步骤S1409中,分配处理部1404为了其他业务流而释放对判断为已停止传输的突发业务流分配的缓冲器队列。具体而言,从缓冲器队列表中删除与已停止的业务流相应的流信息。在预先确定的期间仍未被传输的突发业务流不存在的情况下,判断为哪个突发业务流也没有停止发送,缓冲器队列不被释放而结束处理。
再者,在上述的说明中,设想各中继器自主地释放缓冲器队列,但缓冲器队列的释放动作并不限于上述的例子。例如,也可以是发送侧的NIC或者总线主控器将作为对象的突发业务流的发送已结束通知给各中继器,接收到通知的各中继器从缓冲器队列表中删除成为对象的流的方式。
此外,关于业务流有无突发性的判断并不限于上述例子,也可以例如在设计时加入对其他业务流的影响来决定有无突发性。例如,对于如声音数据那样业务流数据的最大振幅值小但是分组的发送间隔或发送周期短的业务流,也可以作为突发业务流来应用上述处理。再有,即便不发送业务流的振幅等表示业务流特性的信息,只要是能够区别突发业务流的方法则也可以是任意的方法。例如,也可以将表示是突发业务流的比特标记、表示优先级的信息赋予头部流控单位,基于该值来区别是否为突发业务流。
根据以上结构,与现有的循环方式那样利用对全部的缓冲器队列依次分配突发分组的现有算法的结构不同,能够将突发业务流所引起的影响限定在特定的缓冲器队列。其结果,即便在突发业务流遭遇拥挤而传输延迟上升的情况下,也能够抑制系统整体的传输延迟的上升。此外,根据本实施方式,与以往方式不同,不进行缓冲器队列的稳定的确保,仅在突发业务流流过时以占用的方式确保特定的缓冲器队列,如果流动停止则释放缓冲器队列。因此,缓冲器队列的利用效率提高,系统的传输效率得到提高。
<1.3.3.旁路缓冲器发送管理部的动作>
接下来,说明旁路缓冲器发送管理部903的动作。图45是表示旁路缓冲器发送管理部903的动作流程的流程图。旁路缓冲器发送管理部903对于成为中继对象的业务流的传输,基于能够容许的剩余的时间,进行来自旁路缓冲器612的各缓冲器队列的发送调度。
旁路缓冲器发送管理部903在多个缓冲器队列中保存彼此不同的业务流数据的情况下,决定从哪个缓冲器队列发送数据。旁路缓冲器发送管理部903例如基于表示业务流数据的优先级或紧急度的信息,选择输出数据的缓冲器队列,并且决定从各缓冲器队列的数据的输出顺序。旁路缓冲器发送管理部903也可以从突发性强的业务流开始依次输出。在以下说明中,说明基于各数据的能够容许的剩余时间来决定数据的输出顺序的例子。
如前述,旁路缓冲器612具有多个缓冲器队列,业务流数据暂时保存在旁路缓冲器612的各缓冲器队列中。在旁路缓冲器612中,基于直至到达发送目的地的剩余时间,业务流数据被调整发送调度之后发送至输出缓冲器606。关于发送调度调整的具体的步骤如以下所示。
图43所示的剩余时间计算部1401,针对旁路缓冲器612中保存的各业务流数据的流传输,求出能够容许的剩余时间(S1501)。剩余时间是按照例如以下的任意方法求出的。
(1)剩余时间=截止时刻-当前时刻、
(2)剩余时间=容许延迟时间-(滞留时间+中继延迟×中继次数)
在此,截止时刻以及滞留时间(旁路缓冲器的各缓冲器队列中的滞留时间)是图35所示的头部流控单位的要素。当前时刻是自中继器接收到业务流数据的时刻。容许延迟时间是在收发节点间定义的应用中能够容许的最大延迟时间。容许延迟时间既可以记述在头部流控单位,也可以设计时在各中继器中进行定义、登记。此外,中继延迟是每次中继因所需的中继处理而产生的延迟时间。具体而言,作为每1个中继器的中继延迟,可设定为固定值(例如4周期)。根据这些信息,利用上述(1)、(2)的任意公式,来计算剩余时间。式(2)中的滞留时间如上述表示直至该流控单位到达自中继器为止所经过的各中继器的旁路缓冲器的各缓冲器队列中产生的延迟时间的累计。中继延迟×中继次数表示从自中继器至作为目的地的接收节点为止通过经由输入缓冲器的通常处理进行传输的情况下的延迟时间(传送处理以及缓冲器队列中的等待时间的合计)。将滞留时间与(中继延迟×中继次数)之和定义为在发送节点至接收节点进行传输的期间因中继处理而产生的延迟。再者,从由发送节点至发送节点所通过的中继器的个数中减去头部流控单位所记述的已通过的中继次数,由此可求出从自中继器至接收节点的中继次数。
取代上述的式(1)、(2),也可以将从利用上述式(1)或者(2)所计算的剩余时间中减去根据分组长所确定的规定时间而得到的值作为剩余时间。由此,即便长的分组与短的分组混合存在,也能够求出更为正确的剩余时间。
接下来,发送频度计算部1402基于每个缓冲器队列的剩余时间(Tn),来计算发送频度(Wn)(S1502)。在此,n为缓冲器队列的编号。旁路缓冲器612具有4个缓冲器队列的情况下,求出Wn的计算式只要按照例如以下的式(3)进行定义即可。
(3)Wn=1-Tn/(T1+T2+T3+T4)
如果这样进行定义,剩余时间越少的缓冲器队列发送频度越高。
此外,将缓冲器队列1至缓冲器队列4的整个发送时间设为L。将从缓冲器队列1至缓冲器队列4的传输处理所需的时间设为1周期,将1周期中对各缓冲器队列的发送所分配的发送时间Fn由如下的式(4)定义。
(4)Fn=L×Wn
发送间隔控制部1403基于上述式(4),从缓冲器队列1开始依次计算分配时间Fn,在分配时间Fn的期间发送各缓冲器队列内的数据(S1503)。
在本实施方式中,从在预先确定的时间内完成数据传输的这一保证性能的角度出发,进行上述的调度。作为其他的调度方法,也可以关注于图35所示的评价项目的任意一个来进行调度。具体而言,也可以按照截止时间由短到长的顺序、旁路缓冲器滞留时间由长到短的顺序、中继次数由多到少的顺序进行发送。通过这种方法也能够消除信息流间的传输延迟的偏差。此外,也可以取代上述Tn,而置换为截止时间、滞留时间、中继次数,求出每个业务流的发送时间。其中,在利用截止时间的情况下,如上述那样,求出与当前时刻的差,作为剩余时间进行评价。
图46是说明动态地修正流控单位分选部902的选择基准的方法的图。图46表示不使用自中继器中的等待时间,而是使用其他中继器的旁路缓冲器中的等待时间来计算剩余时间,从而加入了中继器间的拥挤的偏重来计算剩余时间的方法。
首先,与图45所示的例子同样,针对缓冲器中所保存的流传输求出能够容许的剩余时间(S1601)。接着,收集相邻的中继器的缓冲器的负荷值,反映于剩余时间(S1602)。具体而言,收集与相邻的中继器的旁路缓冲器的等待时间相关的信息,将其平均值作为相邻的中继器的缓冲器的负荷值。于是,相邻的中继器的缓冲器的负荷值由以下的式(5)表示。
(5)相邻的中继器的缓冲器饿负荷值
=∑相邻的负荷值/所收集的中继器数
此外,将图46所示的例子中求出的剩余时间作为剩余时间(反映前)。对于剩余时间(反映前),求出以自中继器的负荷值对自中继器的负荷值与相邻的中继器的负荷值的差值进行标准化之后的值的和,除以相邻的中继器数,进行平均。对该值乘以剩余时间(反映前),计算加入了系统整体的负荷量的剩余时间(反映后)。于是,剩余时间(反映后)由如下的式(6)表示。
(6)剩余时间(反映后)
=剩余时间(反映前)
+剩余时间(反映前)×∑(自中继器的负荷值-相邻的中继器的负荷值)/(自中继器的负荷值×相邻的中继器数)
在此,作为从其他中继器收集的负荷值信息,可以取代缓冲器中的等待时间,而使用缓冲器的空置容量或使用量。旁路缓冲器的等待时间只要以平均值或者峰值来收集信息即可。此外,在上述说明中,设想从相邻的中继器收集负荷信息,但也可以从不相邻的其他中继器收集负荷信息。
图47是用于说明负荷值信息的配送例的图。在此,为了说明,设想基于蝶形网的系统结构。各中继器向所连接的各中继器通知自身的旁路缓冲器的等待时间的信息(自中继器的负荷值)。通知间隔可以是一定的,也可以基于自中继器的负荷的大小来决定通知间隔。可以在自中继器的负荷高的情况下,判断为系统整体中的旁路缓冲器的负荷量变高,缩短通知间隔。另一方面,也可以在自中继器的负荷低的情况下,为了抑制通知带来的开销,而延长通知间隔。
此外,对于通知范围,也优选设计成在自中继器的负荷高的情况下,为了尽快降低系统整体的旁路缓冲器的负荷量而向宽范围进行通知。另一方面,优选在自中继器的负荷低的情况下,为了抑制通知带来的开销,而减小通知范围。对于通知范围的指定方法,例如发出通知的中继器将通知对象的中继器数记述在头部流控单位,每次通过中继器对中继器数的值进行相减运算,从而能够实现。
再有,作为通知方向,通过限定为作为发送源的总线主控器侧、或作为发送目的地的存储器侧,从而在负荷值高的中继器之间能够有效地通知消息,因此能够实现通知消息的有效削减。
在上述例子中,示出了从自中继器向其他中继器通知消息的方法,但也可以从自中继器对其他中继器收集负荷状态的形式。通过收集其他中继器的缓冲器的负荷值,并利用所收集的负荷值来修正自中继器的业务流的容许剩余时间,从而能够减少中继器间的拥挤的偏重,能够提高系统整体的传输性能提高。由此,能够期待实现吞吐量、低延迟传输。
在以上的说明中,中继器600的各结构要素表示为被模块化的单独的功能部,但由安装于中继器600的处理器(计算机)执行规定了这些功能部的处理的程序由此实现中继器600的动作。这种程序的处理步骤例如图42、44、45、46的流程图所记载的那样。
<2.变形例>
<2.1.不设置输出缓冲器的结构>
在本实施方式中,中继器600b也可以不具备输出缓冲器606。如图39所示,也可以采用中继器600b不具备输出缓冲器606,交叉总线交换器605的输出被输入至后级的相邻中继器600c的缓冲器选择部603c的结构。根据这种结构,由于能够抑制存储器量,例如在嵌入用途中是有效的。
<2.2.外部布线>
此外,在本实施方式中,如图40所示,也可以按照在中继器600b的外部传输旁路业务流的方式来设置布线(外部布线)。在基于内部布线的结构中,按每个中继器封闭旁路处理,因此作为中继器的处理模块的再利用性高。即,将各个中继器作为一个部件进行更换较为容易。但是,由于需要在直至发送目的地的全部中继器进行中继,因此容易产生处理开销。相反,在基于外部布线的结构中,较之基于内部布线的情况,作为中继器的处理模块的再利用性低。但是,由于无需在直至发送目的地的全部中继器进行中继,因此能够降低处理的开销。
<2.3.不设置旁路缓冲器的结构>
在本实施方式中,设想各中继器具备旁路缓冲器612,但旁路缓冲器612也不是必需的结构要素。在不设置旁路缓冲器612的情况下,只要构成为在旁路目的地的中继器的输入缓冲器设置用于旁路业务流的缓冲器队列即可。图48A~48C是表示设置旁路缓冲器612的情况下的概略结构以及不设置的情况下的概略结构的图。
图48A表示上述的说明中作为前提的各中继器单独具备旁路缓冲器612的情况下、经由旁路路径BP而彼此连接的2个中继器600-1、600-2的概略结构。在图中,对于中继器600-1的结构要素,对参照符号赋予“-1”,对于中继器600-2的结构要素,对参照符号赋予“-2”。如上述,旁路业务流被保存在自中继器600-1的旁路缓冲器612-1的缓冲器队列中之后,输入至传送目的地的中继器600-2。
图48B表示不设置旁路缓冲器612,旁路业务流和非旁路业务流共用中继器600-2的输入缓冲器604-2的情况下的结构例。在该结构例中,自中继器600-1中被旁路处理的业务流,保存在传送目的地的中继器600-2的输入缓冲器604-2的缓冲器队列。这样,各中继器可以取代在自中继器600-1中设置输出缓冲器而使用旁路目的地的中继器600-2的输入缓冲器。
图48C是表示保存旁路业务流的旁路缓冲器612-1或者输入缓冲器604-2的结构的图。在图48A所示的结构中,如上述,在旁路缓冲器612-1内设置分配处理部1404以及包含多个缓冲器队列的缓冲器部1405。另一方面,在采用图48B的结构的情况下,如果在输入缓冲器604-2内设置分配处理部1404以及包含多个缓冲器队列的缓冲器部1405,则能够实现上述的分配处理。
在图48A所示的结构的情况下,作为中继器的通用性变高,但缓冲器使用量较高。相反,在图48B所示的结构的情况下,作为中继器的通用性较低,但缓冲器使用量变小。
<2.4.不进行旁路处理的结构>
在以上的说明中,各中继器通过例如图42所示的旁路判定处理进行将一部分业务流优先处理的旁路处理,但本实施方式的中继器也可以不进行这种的旁路处理。即便在采用不具有旁路布线以及旁路缓冲器612的一般的中继器的结构的情况下,只要构成为基于接收到的业务流的突发性对特定的缓冲器队列以占用的方式分配业务流即可。以下,对不具有旁路布线以及旁路缓冲器612的一般的中继器,应用上述的说明中的分配处理部1404以及发送间隔控制部1403的处理的例子进行说明。
即便是一般的中继器也与图29所示的结构同样具有:解析头部流控单位来决定输出端口的路由处理部607、决定传送目的地的相邻中继器中的输入缓冲器的缓冲器队列(或者自中继器中的输出缓冲器的缓冲器队列)的缓冲器分配器部608、为了传输业务流数据而从已完成对应建立的组中选出1组的开关分配器部609。此外,具备保存从相邻中继器600a接收的数据的输入缓冲器604、和向相邻中继器600c输出数据的输出端口617。其中,不具备旁路缓冲器612、旁路布线BP1、BP2。
在这种的中继器中,为了适用上述的分配处理以及调度处理,以如下方式构成即可。首先,将图43所示的分配处理部1404的功能追加至图29所示的缓冲器分配器部608。此外,将图43所示的发送间隔控制部1403的功能追加至图29所示的开关分配器部609。也可以由缓冲器分配器部608如在图46的步骤S1602中进行求解那样,求出剩余时间,按剩余时间从小到大的顺序进行输出端口与缓冲器队列的对应建立。此外,开关分配器部609也可以从突发性强的业务流开始按顺序处理。
图49是表示这种中继器的动作的一例的流程图。中继器600b首先从相邻中继器600a接收流控单位(S101)。接着,由路由处理部607解析头部流控单位来决定输出端口617(S102)。接下来,由缓冲器分配器部608决定输出端口617与传送目的地的相邻中继器600c的输入缓冲器的缓冲器队列(或者自中继器600b的输出缓冲器606的缓冲器队列)的对应建立(S103)。作为缓冲器队列的分配方法,如参照图44所说明那样,利用对突发业务流以占用方式分配特定的缓冲器队列的方法。接下来,由开关分配器部609为了传输业务流数据而从完成对应建立的组中选出1组(S104)。作为选择方法,可以是越是突发性高的业务流则越是优先选择。此外,作为其他的方法,如参照图45所说明的那样,可以基于能够容许的剩余时间选择进行发送的1组。再有,也可以使用头部流控单位被赋予的截止时间、滞留时间、中继次数等的信息来选择进行发送的1组。最后,从选择的缓冲器队列以流控单位为单位或者以分组为单位传输数据(S105)。
接下来,参照图50。图50是表示多个总线主控器BM1~BM4经由多个中继器600a~600d而与存储器M连接的具体例。在此,设想按每个具有突发性的业务流对传输路径上的各中继器分配专用的缓冲器(输入缓冲器604),由此来设定旁路路径。由处在总线主控器至存储器的传输路径上的各中继器所分配的输入缓冲器604的缓冲器队列与旁路路径对应。
在图50所示的结构例中,设置了4个总线主控器、即传输突发业务流TB的总线主控器BM1、传输高优先级的业务流TH的总线主控器BM2以及BM3、传输低优先级的业务流TL的总线主控器BM4。各中继器的输入缓冲器604具备面向突发业务流的缓冲器队列5001、面向高优先级业务流的缓冲器队列5002、面向低优先级业务流的缓冲器队列5003。再者,该例子中突发业务流为1种,但在突发业务流存在多个的情况下,可以在各中继器独立地设置多个面向突发业务流的缓冲器队列,也可以由多个突发业务流共用1个缓冲器队列。此外,为了抑制多个突发业务流间的业务流干扰,也可以准备物理上独立的传输通路来构筑传输路径。
在各中继器中,从优先级最高的突发业务流开始依次按照突发性、高优先级、低优先级的顺序分配缓冲器队列。具体的输入缓冲器604的分配是参照图30所说明的决定传送目的地的相邻中继器的输入缓冲器的缓冲器队列(或者自中继器的输出缓冲器的缓冲器队列)的处理(VA),基于上述优先级由缓冲器分配器部608执行。
这些的缓冲器队列基于优先级(priority)队列/优先级·调度而构成,优先传输高优先级的缓冲器队列的数据,低优先级的缓冲器队列的数据在高优先级的缓冲器队列中存在数据时无法进行数据传输。具体的数据传输步骤是参照图30所说明的为了传输业务流数据而从已完成对应建立的组中选出1组的处理(SA),基于上述的优先级由开关分配器部609执行。
突发业务流TB在直至存储器M的各中继器的缓冲器队列中最优先被分配,最优先被传输至存储器。另一方面,对于较之突发业务流TB而优先级低的高优先级业务流TH以及低优先级业务流TL,基于上述的优先级·调度,直至突发业务流TB的传输完成为止被抑制传输。该状态具体而言与参照图30所说明的由缓冲器分配器部608进行的对传送目的地的中继器发出输入缓冲器的分配请求时、从传送目的地的中继器拒绝缓冲器分配的情况对应。
在图50所示的例子中,在从中继器600c的突发业务流用的缓冲器队列5001传输数据时,高优先级和低优先级的业务流传输受到抑制。此外,高优先级的缓冲器队列5002以及低优先级的缓冲器队列5003已满的情况下,可向刚刚之前的中继器、作为数据的发送源的中继器或者总线主控器依次传达,以抑制数据传输。被通知抑制数据传输的中继器或总线主控器通过停止数据发送、减少数据的流量、或者变更数据传输的发送目的地存储器,从而能够实现拥挤的消除。该状态与如上述那样由缓冲器分配器部608进行的对传送目的地的中继器发出输入缓冲器的分配请求时,由传送目的地的中继器拒绝缓冲器分配的情况对应。
例如基于根据与分组具有的时间相关的信息所得到的容许剩余时间、中继处理的优先级、以及表示突发性的信息的至少一个,能够判断是否为具有突发性的业务流。作为各中继器进行解析的分组信息,如上述表述为表示突发性的识别符、能够确定数据的优先级、发送突发业务流的发送节点的识别符(设计时确定)。
此外,基于每单位时间的传输量、发送周期、发送间隔、连续传输的分组数、以及延迟时间的至少1个,能够决定表示突发性的特征。具体而言,如上述那样,在数据的每单位时间的传输量比预先确定的阈值多的情况,数据的发送周期比预先确定的阈值短的情况,以及数据的发送间隔比预先确定的阈值短的情况,连续传输的分组数比预先确定的阈值大的情况,数据的容许延迟时间比预先确定的阈值短的情况的至少1个的情况下,对具有突发性的数据赋予特征。再有,表示突发性的信息作为设计时的请求规格,也可以使用各总线主控器的数据的容许吞吐、容许延迟时间来表述。
接下来,说明作为缓冲器分配器部608的输入缓冲器的确保动作而发生的业务流的流控制(发送源的中继器在数据传送前通知能否确保发送目的地的中继器的缓冲器的处理)、与表示进行旁路传输的通知功能之间的关系。设想在具有突发性的业务流从处于存储器M之前的中继器600c传送至存储器M的期间,受其影响如上述那样中继器600c中非突发性的业务流的传输受到妨碍的情况。在该情况下,在中继器600c中,无法确保面向非突发性的业务流的缓冲器。在该状况下,考虑靠近于总线主控器侧的中继器600b(或者中继器600d)在传送非突发性的业务流时,向处于存储器之前的中继器600c询问可否确保缓冲器的情况。在该情况下,在从中继器600c向靠近总线主控器侧的中继器600b(或者中继器600d)通知的业务流的流控制的通知处理时通知无法确保缓冲器这一情况。意味着该通知处理,与表示从处于存储器之前的中继器600c向靠近总线主控器侧的中继器600b(或者中继器600d)、在中继器600c中进行了旁路传输的通知处理相同。即,如实施方式1中所说明,能够兼作流控制的通知处理和表示因突发业务流而无法传输的信息的通知(广义的旁路通知)。再者,在突发业务流的传输中(或者进行旁路的传输路径的使用中),非突发性的业务流数据的传输受到妨碍。因此,在图50的结构中,中继器600c将针对非突发性的业务流数据的流控制的结果(表示无法确保面向无突发性的业务流的缓冲器队列的通知)依次传达至作为数据的发送源的中继器或总线主控器,以便抑制数据传输。最终,在总线主控器中能够判断非突发性的业务流数据的发送量或是否进行发送的停止/中断。中继器600d以及中继器600c中的上述功能一般可作为控制DRAM或SRAM等的存储器的存储器控制器的处理的一部分来实现。
再者,通过从传送源的中继器的缓冲器分配器部608向传送目的地的中继器的缓冲器分配器部608发出输入缓冲器的分配请求,并从传送目的地的中继器的缓冲器分配器部608向传送源的中继器的缓冲器分配器部608返回是否可以分配传送目的地的中继器中的输入缓冲器,由此能够实现相邻的中继器间的业务流的流控制。此外,中继器间的业务流的传输量例如可在输入缓冲器的分配请求或输入缓冲器的分配可否的通知的定时被调整。
通过以上的处理,即便在不设置旁路布线的中继器中,也能够实现与业务流特性相应的缓冲器队列的利用、以及加入了分组传输的容许时间的传输。再者,在这种中继器中,也可以应用动态修正流控单位分选部902的选择基准的方法。此外,可以对突发业务流的种类(例如声音、影像、发送节点与接收节点的对应关系)进行区别,对输出端口与传送目的地的中继器的缓冲器队列建立对应,也可以不进行区别而对输出端口与传送目的地的中继器的特定的缓冲器队列建立对应。
<2.5.其他拓扑>
在以上说明中,以集成电路的拓扑为多级连接网的情况(图3)为例进行了说明,但本实施方式的中继器600并不限定于多级连接网中的利用。例如,也可以是图12(b)所示的将中继器排列成方格状的网格状型的拓扑、图22A所示的环型的拓扑、图22B所示的将总线按层级连接的拓扑。只要是将多个总线主控器经由分散型的总线进行连接的拓扑,则同样能够使用本实施方式的中继器。
(利用例1)
以下,说明上述的各实施方式的中继器在实际设备的利用例。图51是表示将半导体电路上的多个总线主控器与多个存储器以及用于与外部进行数据通信的共用的输入输出端口(I/O端口)利用分散型的总线进行连接的例子。这种半导体电路例如可在便携电话、PDA(Personal DigitalAssistants)、电子书阅读器等的便携终端、TV、视频记录器、摄像机、监视摄像机等的设备中使用。总线主控器例如是CUP、DSP、传输处理部、图像处理部等。存储器既可以是易失性的DRAM,也可以是不易失性的闪存。此外,也可以是易失性存储器以及不易失性存储器混合存在。输入输出端口可以是与外设的硬盘驱动器(HDD)、固态硬盘(SSD)、DVD驱动器这种的记录装置连接的USB或以太网(注册商标)等的通信接口。
在同时利用多个影像或音乐等的再生、记录、转换代码、以及书籍、照片、地图数据等的阅览或编辑、玩游戏等多个应用或服务的情况下,从各总线主控器对存储器的访问增加。因此,在存储器的个数仅仅是1个的情况下,访问集中于一处。为了解决该情况,需要拓宽存储器侧的输入输出的传输频带,从而成本将变高。
作为避免存储器访问的集中的方法,通过采用根据应用或服务等的种类而在物理上划分总线主控器所利用的存储器的方法、或利用外置的HDD等的外部记录装置的方法,由此可有效地将这些总线主控器和存储器以分散型的总线进行连接。
但是,例如在某个总线主控器为了保存影像数据而对存储器A以高速率发送了数据分组的情况下,传输路径上的缓冲器全部被发往存储器A的分组占用的频度变多。其结果,发送至其他存储器的数据难以流过,其他的应用或服务的性能下降,或者处理时间增加。因单纯地维持各中继器发送来的数据分组的顺序的情况下进行中继,会发生该问题。
对于此,在利用本发明的实施方式的中继器的情况下,由于紧急度或重要度高的分组被优先传输,因此避免面向特定存储器的分组引起的缓冲器占用。由此,能够将应用或服务中重要的数据在截止时刻之前进行传输。其结果,能够确保应用或服务的用户应答性、影像/声音的品质确保等。再有,对于优先级低的数据,也能够抑制与优先级高的数据的业务流干扰,因此可改善系统整体的传输效率,并且能够期待省电。特别地,在发生了设计时设想以上的数据传输延迟的情况下,由于能够优先传输紧急的重要数据,因此作为系统处于设想外的超负荷的情况下的应对方法也是有效的。
(利用例2)
接下来,说明上述各实施方式的中继器对多核处理器(multi-coreprocessor)的利用例。
图52是表示为了提高CPU或GPU、DSP等的核处理器的处理能力而将多个核处理器排列成网格状将其以分散总线进行连接而成的多核处理器。在该结构中,各核处理器作为本发明中的第1节点而发挥功能,也可作为第2节点发挥功能。
在多核处理器上,各核处理器间进行通信。例如,各核处理器中具备对运算处理所需的数据进行存储的高速缓存,能够在核处理器间进行彼此的高速缓存的信息交互。由此,能够实现信息共享,提高处理性能。
但是,多核处理器上发生的核处理器间的通信,其各自的位置关系、距离(中继跳数)、通信频度不同。因此,若单纯地维持数据分组的顺序的情况下进行中继,则缓冲器全部被发往特定核处理器的分组占用,产生分组数据难以流过的中继器。其结果,引起多核处理器的性能下降、处理时间的增加。
相对于此,在使用上述各实施方式的中继器的情况下,由于紧急度或重要度高的分组被优先传输,因此避免面向特定存储器的分组引起的缓冲器占用。因此,能够将重要的数据在截止时刻之前进行传输。同样,能够确保应用或服务的用户应答性、影像/声音的品质确保等。此外,针对优先级低的数据传输,也能够抑制业务流干扰,因此能够改善系统整体的传输效率,并且期待省电化。特别地,在数据传输中发生了设计时设想以上的延迟的情况下,由于优先传输紧急的重要数据,因此作为系统处于设想以外的超负荷的情况下的应对方法也是有效的。
(利用例3)
在上述的实施方式以及利用例中,说明了本申请在片上被安装时的结构。本申请发明不仅可以安装在片上,还可以作为进行用于安装在片上的设计以及验证的仿真程序来实施。这种仿真程序由计算机执行。例如图5A、5B所示的各结构要素作为仿真程序上的被对象化的类而安装。各类通过读入预先确定的仿真脚本,由此在计算机上实现与各结构要素对应的动作。换言之,与各结构要素对应的动作作为计算机的处理步骤而被串行或并行地执行。
作为中继器而被安装的类通过读取模拟器中定义的仿真脚本,由此决定优先级阈值、截止时刻、业务流阈值、缓冲器阈值等的条件。此外,决定从其他中继器的类发送的分组的发送定时、发送目的地、优先级、经过时间信息等的条件。
作为具备旁路布线的中继器而被安装的类在各个仿真脚本中从其他中继器的类接收数据的输入,根据该数据是否为应该进行旁路的数据,选择性地执行旁路处理以及通常处理的任意一个。在执行旁路处理的情况下,如上述实施方式1那样,可以根据业务流状态或缓冲器状态对其他中继器的类通知旁路通知分组。
被通知旁路通知分组的中继器的类,基于输出缓冲器或者后级的相邻中继器中的输入缓冲器的使用状况等的、与旁路业务流汇合的中继器的传输状态,来进行流量的调整或传输路径的变更,从而实现传输负荷的降低。此外,在旁路通知分组的中继次数为规定值以下的情况下,还向其他中继器的类通知旁路通知分组。
此外,作为不具备旁路布线的中继器而被安装的类,在各个仿真脚本中,在高优先级业务流传输时,基于输出缓冲器或者后级的相邻中继器中的输入缓冲器的使用状况等的、与旁路业务流汇合的中继器中的传输状态,对低优先级业务流进行流量的调整、路径的变更。
作为中继器而安装的类,在仿真脚本所记述的仿真的结束条件成立为止的期间,进行动作。计算动作中的吞吐量、等待时间、总线的流量的变动、动作频率、消耗电力的估计值等并提供给程序的利用者。基于这些,程序的利用者进行拓扑、性能的评价,进行设计及验证。
在仿真脚本的各行,通常记述例如发送源节点的ID、发送目的地节点的ID、发送的分组的尺寸、进行发送的定时等的信息。此外,通过批处理的方式对多个仿真脚本进行评价,从而能够有效地验证以设想的全部脚本能否保证所希望的性能。此外,通过改变总线的拓扑、节点数、发送节点、中继器、发送目的地节点的配置来进行性能比较,也能够确定最合适于仿真脚本的网络结构。上述实施方式的任意一个可用作本方式的设计及验证工具。这样,本申请发明在作为设计及验证工具来实施时也能适用。
在将以上各实施方式中的中继器应用于实际设备时,并不限定于单独地应用各实施方式的处理的情况,也可以对其进行组合。例如,可以按照进行实施方式3中的基于数据的突发性的有无旁路处理的判定处理、并且进行实施方式1中的针对旁路通知或非旁路业务流的传输控制的方式来构成中继器。此外,也可以进行实施方式4中的基于数据的突发性的缓冲器队列的分配处理,并且进行实施方式1中的旁路通知、和针对非旁路业务流的传输控制。此外,也可以组合例如实施方式2的处理和实施方式3或者实施方式4的处理。这样,能够在可能的范围组合上述各实施方式中的处理,通过组合这些实施方式的处理,由此期待相乘的效果。
【产业上的可利用性】
本发明涉及的中继器能够用于系统LSI等的数据传输系统上的数据传输。
【符号说明】
1a、1b  总线主控器
5  存储器
10  第1节点
20  第2节点
50a、50b  旁路路径
101  总线主控器
105  存储器
200  旁路控制部
300  旁路
350  非旁路
400  输入部
500  分组
501  头字段
502  数据字段
503  控制代码字段
504  头部流控单位
505  数据流控单位
506  尾部流控单位
600、600a、600b、600c、600d  中继器
603、603c  缓冲器选择部
604、604c  输入缓冲器
605  交叉总线交换器
606  输出缓冲器
607  路由处理部
608  缓冲器分配器
609  开关分配器
BP、BP1、BP2、BP3、BP4  旁路布线
615  输入端口
617  输出端口
620a、620c  NIC
630  存储器控制器
700a、700b、700c  中继器
704  输入缓冲器
705  交叉总线交换器
706  输出缓冲器
707  路由处理部
708  缓冲器分配器
709  开关分配器
710  输出控制部
715  输入端口
717  输出端口
901  头部流控单位解析部
902  流控单位分选部
903  优先级阈值
904  截止时刻
905  缓冲器阈值
907  业务流阈值
1001  旁路通知判定部
1002  缓冲器使用量计测部
1003  高优先级业务流计测部
1100  旁路通知分组
1101  发送源
1102  发送目的地
1103  识别符
1104  中继次数
13001  旁路业务流
13002、13003  非旁路业务流
13004  中继器
23001  高优先级业务流
23002、23003  低优先级业务流
23004  中继器

Claims (19)

1.一种中继器,在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器,其中,所述中继器具备:
输入部,其接受数据的输入;
开关,其用于从多个路径之中选择被输入至所述输入部的数据的传输路径;
旁路控制部,其基于所述输入部中输入的数据的种类,决定是否进行优先输出所述数据的旁路处理;和
输出控制部,其变更不进行所述旁路处理的数据的传输路径以及传输流量的至少一个,从而控制所述数据的输出,
所述输出控制部执行第1控制以及第2控制的至少一个,所述第1控制是在所述旁路控制部执行了所述旁路处理的情况下,基于自中继器的传输状态来控制被设定与进行了所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的输出,所述第2控制是在所述旁路控制部没有执行所述旁路处理的情况下,基于让没有进行所述旁路处理的数据与由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来控制没有进行所述旁路处理的数据的输出。
2.根据权利要求1所述的中继器,其中,
还具备:旁路通知部,在执行了所述旁路处理的情况下,将表示执行了所述旁路处理的信息通知给对所述输入部输入了数据的其他的中继器。
3.根据权利要求1或2所述的中继器,其中,
还具备:缓冲器部,其保存所述输入部中所输入的数据,
所述旁路控制部基于所述输入的数据的种类,决定执行将所述输入部中所输入的数据经由所述缓冲器部进行输出的通常处理、以及将所述数据不经由所述缓冲器部进行输出的旁路处理的任意一个。
4.根据权利要求1至3任一项所述的中继器,其中,
所述旁路控制部基于表示所述输入部中输入的所述数据的突发性的信息,来决定进行将所述数据经由所述开关输出的通常处理、以及将所述数据不经由所述开关而经由旁路路径输出的旁路处理的任意一个。
5.根据权利要求1或2所述的中继器,其中,
还具备:缓冲器部,其具有用于保存所述输入部接收的所述数据的多个数据保存部,
所述旁路控制部基于表示所述输入部接收的所述数据的突发性的信息,来决定将所述数据保存在所述多个数据保存部之中的预先被确保的特定的数据保存部、或者输出目的地的其他的中继器的缓冲器部中的多个数据保存部之中预先被确保的特定的数据保存部中,从而针对判断为具有突发性的数据执行所述旁路处理。
6.根据权利要求4或5所述的中继器,其中,
表示所述突发性的信息是每单位时间的传输量、发送周期、发送间隔、连续传输的分组数、以及延迟时间的至少1个。
7.根据权利要求4或5所述的中继器,其中,
表示所述突发性的信息是所述数据的容许吞吐量以及容许延迟时间的至少一个。
8.根据权利要求4或5所述的中继器,其中,
表示所述突发性的信息是表示突发性的识别符、所述数据的优先级、表示所述数据的种类的识别符、以及确定所述第1节点的识别符的至少1个。
9.根据权利要求4或5所述的中继器,其中,
在所述数据的每单位时间的传输量比预先确定的阈值多的情况下、所述数据的发送周期比预先确定的阈值短的情况下、所述数据的发送间隔比预先确定的阈值短的情况下、连续传输的分组数比预先确定的阈值大的情况下、所述数据的容许延迟时间比预先确定的阈值短的情况下中的至少1种情况下,所述旁路控制部将所述数据判断为具有突发性,并执行旁路处理。
10.根据权利要求1所述的中继器,其中,
所述输入部接受表示所述其他的第2中继器的传输状态的信息,所述输出控制部基于所述信息来执行所述第2控制。
11.根据权利要求1所述的中继器,其中,
所述传输状态是与所述开关连接的缓冲器的空置容量、所述缓冲器的使用量、等待时间、吞吐量、以及传输效率的至少1个。
12.根据权利要求11所述的中继器,其中,
所述输出控制部具有对所述缓冲器的空置容量以及所述缓冲器的等待时间的至少一个进行计测的缓冲器计测部。
13.根据权利要求12所述的中继器,其中,
所述输出控制部在所述缓冲器的空置容量为预先设定的阈值以上的情况下,使不进行所述旁路处理的数据的传输流量降低或者使传输中断,在所述缓冲器的空置容量低于所述阈值的情况下,变更不进行所述旁路处理的数据的传输路径。
14.根据权利要求12或13所述的中继器,其中,
所述缓冲器是相邻的中继器的输入缓冲器。
15.根据权利要求1所述的中继器,其中,
所述输入部接受的所述数据中记述了表示优先级、经过时间信息、分组长度、以及中继级数的至少1个的识别符,
所述旁路控制部基于所述识别符,决定是否执行所述旁路处理。
16.根据权利要求1所述的中继器,其中,
所述输入部接受的所述数据中记述了表示优先级的识别符,
所述输出控制部在传输了所述优先级被设定为预先设定的阈值以上的高优先级业务流的情况下,针对所述优先级为所述阈值以下的低优先级业务流控制所述开关的输出。
17.一种中继器的控制方法,该中继器在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器,所述中继器的控制方法包括:
接受所述数据的输入的步骤;
从多个路径之中利用开关选择所述数据的传输路径的步骤;
基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和
执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下,基于自中继器的传输状态变更被设定为与进行了所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下,基于让没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
18.一种中继器的控制程序,该中继器在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器,所述控制程序使所述中继器中安装的计算机执行如下步骤:
接受所述数据的输入的步骤;
从多个路径之中利用开关选择所述数据的传输路径的步骤;
基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和
执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下,基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下,基于将没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据进行合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
19.一种用于中继器的仿真程序,该中继器在数据传输系统中使用,该数据传输系统具备发送数据的第1节点、接收从所述第1节点发送的所述数据的第2节点、和经由总线对在所述第1节点以及所述第2节点之间传输的所述数据进行中继的多个中继器,
该仿真程序使计算机执行如下步骤:
接受所述数据的输入的步骤;
从多个路径之中利用开关选择所述数据的传输路径的步骤;
基于所述数据的种类决定是否进行优先输出所述数据的旁路处理的步骤;和
执行第1控制以及第2控制的至少一个的步骤,其中,第1控制是在执行了所述旁路处理的情况下,基于自中继器的传输状态变更被设定为与进行所述旁路处理的数据同一发送目的地的、没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个,第2控制是在没有执行所述旁路处理的情况下,基于将没有进行所述旁路处理的数据和由其他的第1中继器进行了旁路处理的数据进行合流的其他的第2中继器的传输状态来变更没有进行所述旁路处理的数据的传输路径以及传输流量的至少一个。
CN2012800039636A 2011-03-28 2012-03-09 中继器、中继器的控制方法以及程序 Pending CN103283192A (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
JP2011070637 2011-03-28
JP2011070638 2011-03-28
JP2011070639 2011-03-28
JP2011-070640 2011-03-28
JP2011-070639 2011-03-28
JP2011-070638 2011-03-28
JP2011070640 2011-03-28
JP2011-070637 2011-03-28
PCT/JP2012/001624 WO2012132263A1 (ja) 2011-03-28 2012-03-09 中継器、中継器の制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
CN103283192A true CN103283192A (zh) 2013-09-04

Family

ID=46930058

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2012800039636A Pending CN103283192A (zh) 2011-03-28 2012-03-09 中继器、中继器的控制方法以及程序
CN201280003958.5A Expired - Fee Related CN103238302B (zh) 2011-03-28 2012-03-09 中继器、中继器的控制方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280003958.5A Expired - Fee Related CN103238302B (zh) 2011-03-28 2012-03-09 中继器、中继器的控制方法

Country Status (4)

Country Link
US (2) US9444740B2 (zh)
JP (2) JP5200197B2 (zh)
CN (2) CN103283192A (zh)
WO (2) WO2012132263A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595627A (zh) * 2013-11-28 2014-02-19 合肥工业大学 基于多播维序路由算法的NoC路由器及其路由算法
CN105830416A (zh) * 2014-11-28 2016-08-03 华为技术有限公司 一种片上网络、通信控制方法及控制器

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013054497A1 (ja) * 2011-10-14 2013-04-18 パナソニック株式会社 中継器、中継器の制御方法、およびコンピュータプログラム
JP5838365B2 (ja) * 2012-07-24 2016-01-06 パナソニックIpマネジメント株式会社 バスシステムおよび中継器
JP5834178B2 (ja) * 2012-11-08 2015-12-16 パナソニックIpマネジメント株式会社 半導体回路のバスシステム
US9319310B2 (en) * 2012-11-15 2016-04-19 Compass Electro Optical Systems Ltd. Distributed switchless interconnect
US9823951B2 (en) * 2013-02-27 2017-11-21 International Business Machines Corporation Link optimization for callout request messages
JP6229985B2 (ja) 2013-03-12 2017-11-15 パナソニックIpマネジメント株式会社 バスシステムおよびコンピュータプログラム
US9571402B2 (en) * 2013-05-03 2017-02-14 Netspeed Systems Congestion control and QoS in NoC by regulating the injection traffic
EP3042304A4 (en) * 2013-09-06 2017-06-07 Intel Corporation Architecture and method for hybrid circuit-switched and packet-switched router
JP2015061195A (ja) * 2013-09-18 2015-03-30 ソニー株式会社 送信装置及び送信方法、受信装置及び受信方法、並びにコンピューター・プログラム
US10601713B1 (en) * 2013-10-15 2020-03-24 Marvell Israel (M.I.S.L) Ltd. Methods and network device for performing cut-through
US9722954B2 (en) * 2013-10-21 2017-08-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Dynamically tunable heterogeneous latencies in switch or router chips
US9832030B2 (en) 2014-01-21 2017-11-28 International Business Machines Corporation Multicast packet routing via crossbar bypass paths
JP6295767B2 (ja) * 2014-03-25 2018-03-20 富士通株式会社 スイッチ装置、情報処理システムおよびスイッチ装置の制御方法
CN105306382B (zh) * 2014-07-28 2019-06-11 华为技术有限公司 一种无缓存noc数据处理方法及noc电子元件
US9614766B2 (en) 2014-12-16 2017-04-04 Cisco Technology, Inc. System and method to analyze congestion in low latency network
US9838338B2 (en) 2014-12-29 2017-12-05 Oracle International Corporation System and method for supporting efficient virtual output queue (VOQ) resource utilization in a networking device
US9838330B2 (en) 2014-12-29 2017-12-05 Oracle International Corporation System and method for supporting credit management for output ports in a networking device
US9832143B2 (en) * 2014-12-29 2017-11-28 Oracle International Corporation System and method for supporting efficient virtual output queue (VOQ) packet flushing scheme in a networking device
US9621484B2 (en) 2014-12-29 2017-04-11 Oracle International Corporation System and method for supporting efficient buffer reallocation in a networking device
JP6511875B2 (ja) * 2015-03-09 2019-05-15 富士通株式会社 情報処理システム、スイッチ装置及び情報処理システムの制御方法
WO2017002244A1 (ja) * 2015-07-01 2017-01-05 三菱電機株式会社 スレーブ装置及び通信方法及び通信プログラム
US11736405B2 (en) * 2015-08-31 2023-08-22 Comcast Cable Communications, Llc Network packet latency management
US10547559B2 (en) 2015-12-26 2020-01-28 Intel Corporation Application-level network queueing
SG10201600224SA (en) * 2016-01-12 2017-08-30 Huawei Int Pte Ltd Dedicated ssr pipeline stage of router for express traversal (extra) noc
US10142258B2 (en) * 2016-04-08 2018-11-27 Advanced Micro Devices, Inc. Methods and apparatus for processing in a network on chip (NOC)
US10496578B2 (en) * 2017-01-06 2019-12-03 Samsung Electronics Co., Ltd. Central arbitration scheme for a highly efficient interconnection topology in a GPU
US10469386B2 (en) * 2017-05-17 2019-11-05 General Electric Company Network shunt with bypass
JP6873001B2 (ja) * 2017-07-28 2021-05-19 富士通セミコンダクターメモリソリューション株式会社 無線通信機能を備えた半導体記憶装置及び書き込み制御方法
JP7336991B2 (ja) 2017-10-26 2023-09-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 通信システム及び通信方法
US11502934B2 (en) * 2018-08-21 2022-11-15 The George Washington Univesity EZ-pass: an energy performance-efficient power-gating router architecture for scalable on-chip interconnect architecture
US11108704B2 (en) * 2018-12-04 2021-08-31 Nvidia Corp. Use of stashing buffers to improve the efficiency of crossbar switches
US10936511B2 (en) * 2018-12-26 2021-03-02 Intel Corporation Addressable distributed memory in a programmable logic device
US11281830B2 (en) * 2019-03-11 2022-03-22 Intel Corporation Method and apparatus for performing profile guided optimization for first in first out sizing
US20220231962A1 (en) 2019-05-23 2022-07-21 Hewlett Packard Enterprise Development Lp System and method for facilitating data request management in a network interface controller (nic)
US11398980B2 (en) 2019-11-19 2022-07-26 Advanced Micro Devices, Inc. Packet router with virtual channel hop buffer control
US11455268B2 (en) * 2020-02-13 2022-09-27 Arm Limited Method, system and device for electronic interconnect delay bound determination
JP7338586B2 (ja) * 2020-08-07 2023-09-05 トヨタ自動車株式会社 車載ネットワークシステム
US11412075B2 (en) 2020-08-31 2022-08-09 Micron Technology, Inc. Multiple protocol header processing
US11360920B2 (en) 2020-08-31 2022-06-14 Micron Technology, Inc. Mapping high-speed, point-to-point interface channels to packet virtual channels
US11296995B2 (en) 2020-08-31 2022-04-05 Micron Technology, Inc. Reduced sized encoding of packet length field
US11418455B2 (en) 2020-08-31 2022-08-16 Micron Technology, Inc. Transparent packet splitting and recombining
US11539623B2 (en) 2020-08-31 2022-12-27 Micron Technology, Inc. Single field for encoding multiple elements
KR20220102160A (ko) * 2021-01-11 2022-07-20 삼성전자주식회사 패킷 전송을 위한 스위치, 그것을 갖는 네트워크 온 칩, 및 그것의 동작 방법
US20220029936A1 (en) * 2021-06-01 2022-01-27 Fujitsu Limited Packet transmission device and packet transmission method
CN116806417A (zh) * 2022-01-25 2023-09-26 华为技术有限公司 中继器的旁路电路及测试方法
US11770215B2 (en) 2022-02-17 2023-09-26 Nvidia Corp. Transceiver system with end-to-end reliability and ordering protocols

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6347094B1 (en) * 1998-07-21 2002-02-12 Microsoft Corporation Data rate smoothing
US20050058149A1 (en) * 1998-08-19 2005-03-17 Howe Wayne Richard Time-scheduled and time-reservation packet switching
JP2000201158A (ja) * 1999-01-08 2000-07-18 Hitachi Ltd Atm交換機
JP2000269969A (ja) * 1999-03-17 2000-09-29 Matsushita Electric Ind Co Ltd Atm通信の送出帯域保証制御方法およびatm通信装置
US6959151B1 (en) 1999-05-11 2005-10-25 British Telecommunications Public Limited Company Communication network
JP4294821B2 (ja) * 2000-01-26 2009-07-15 株式会社日立製作所 ネットワーク中継装置
JP2002344509A (ja) 2001-05-17 2002-11-29 Nippon Telegr & Teleph Corp <Ntt> ルータとパケットの読み出しレート制御方法およびその処理プログラム
JP4007942B2 (ja) * 2003-05-28 2007-11-14 日本電信電話株式会社 スケーラブルノード
US20070081515A1 (en) * 2003-10-31 2007-04-12 Koninklijke Philips Electronics N.V. Integrated circuit and method for avoiding starvation of data
WO2006126142A2 (en) * 2005-05-23 2006-11-30 Nxp B.V. Integrated circuit with internal communication network
US7809009B2 (en) 2006-02-21 2010-10-05 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
JP4729413B2 (ja) * 2006-02-22 2011-07-20 古野電気株式会社 パケット通信装置
US7826468B2 (en) 2006-08-04 2010-11-02 Fujitsu Limited System and method for bypassing an output queue structure of a switch
US8121977B2 (en) * 2006-08-30 2012-02-21 Iwmage Systems, Inc. Ensuring data persistence and consistency in enterprise storage backup systems
JP2008294586A (ja) 2007-05-22 2008-12-04 Research Organization Of Information & Systems ルータおよび並列分散システム
US8432913B2 (en) 2008-04-22 2013-04-30 Nec Corporation Relay device, network system, route switching method, and recording medium
JP2010114592A (ja) 2008-11-05 2010-05-20 Toyota Motor Corp データ転送装置、及びデータ転送方法
US8009567B2 (en) * 2009-02-05 2011-08-30 Cisco Technology, Inc. System and method for improved data transmission reliability over a network
US8874808B2 (en) * 2010-09-07 2014-10-28 International Business Machines Corporation Hierarchical buffer system enabling precise data delivery through an asynchronous boundary

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103595627A (zh) * 2013-11-28 2014-02-19 合肥工业大学 基于多播维序路由算法的NoC路由器及其路由算法
CN105830416A (zh) * 2014-11-28 2016-08-03 华为技术有限公司 一种片上网络、通信控制方法及控制器
US10554581B2 (en) 2014-11-28 2020-02-04 Huawei Technologies Co., Ltd. Network on chip, communication control method, and controller
CN105830416B (zh) * 2014-11-28 2020-06-02 华为技术有限公司 一种片上网络、通信控制方法及控制器

Also Published As

Publication number Publication date
CN103238302B (zh) 2016-07-06
WO2012132264A1 (ja) 2012-10-04
US9444740B2 (en) 2016-09-13
JP5320512B2 (ja) 2013-10-23
JP5200197B2 (ja) 2013-05-15
WO2012132263A1 (ja) 2012-10-04
CN103238302A (zh) 2013-08-07
US20130194927A1 (en) 2013-08-01
US9294402B2 (en) 2016-03-22
JPWO2012132264A1 (ja) 2014-07-24
US20130142066A1 (en) 2013-06-06
JPWO2012132263A1 (ja) 2014-07-24

Similar Documents

Publication Publication Date Title
CN103283192A (zh) 中继器、中继器的控制方法以及程序
CN103348640B (zh) 中继装置
CN102523764B (zh) 中继装置
US8223650B2 (en) Express virtual channels in a packet switched on-chip interconnection network
JP5036920B1 (ja) 中継装置、中継装置の制御方法、およびプログラム
CN103460654B (zh) 中继装置、中继装置的控制方法
CN110493145A (zh) 一种缓存方法及装置
CN101098274B (zh) 时隙环通信网络和操作时隙环通信网络接口的方法
CN1614956B (zh) 调度高优先级分组的方法和设备
Ghosh et al. Inefficiency in stochastic queueing systems with strategic customers
CN101129033B (zh) 控制对共享资源的访问的方法和系统
Molkenthin et al. Topological universality of on-demand ride-sharing efficiency
Aziz et al. An analytical framework for vehicular traffic signal control integrated with dynamic traffic assignment using cell transmission model
Abdallah Worst-case delay analysis of core-to-IO flows over many-cores architectures
Mohammed et al. Buffer Occupancy Threshold Selection Strategy for Optimal Traffic Distribution Across a Hierarchical Network Onchip Structure
Liu et al. On service replication strategy for service overlay networks
Kovács et al. Ramp and signal control: Where motorways and urban roads meet
Hassan Managing service disruption in moving networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130904